@strapi/core 0.0.0-experimental.d53e940834bf72ddc725f1d2fd36dac9abec30cb → 0.0.0-experimental.d5e2ac04fc211c528d0d69acd705f180e404f04a

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

Potentially problematic release.


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

Files changed (760) hide show
  1. package/LICENSE +18 -3
  2. package/dist/Strapi.d.ts +3 -1
  3. package/dist/Strapi.d.ts.map +1 -1
  4. package/dist/Strapi.js +439 -369
  5. package/dist/Strapi.js.map +1 -1
  6. package/dist/Strapi.mjs +428 -377
  7. package/dist/Strapi.mjs.map +1 -1
  8. package/dist/compile.js +23 -14
  9. package/dist/compile.js.map +1 -1
  10. package/dist/compile.mjs +22 -14
  11. package/dist/compile.mjs.map +1 -1
  12. package/dist/configuration/config-loader.js +110 -97
  13. package/dist/configuration/config-loader.js.map +1 -1
  14. package/dist/configuration/config-loader.mjs +109 -96
  15. package/dist/configuration/config-loader.mjs.map +1 -1
  16. package/dist/configuration/get-dirs.js +31 -29
  17. package/dist/configuration/get-dirs.js.map +1 -1
  18. package/dist/configuration/get-dirs.mjs +30 -30
  19. package/dist/configuration/get-dirs.mjs.map +1 -1
  20. package/dist/configuration/index.d.ts +1 -0
  21. package/dist/configuration/index.d.ts.map +1 -1
  22. package/dist/configuration/index.js +85 -73
  23. package/dist/configuration/index.js.map +1 -1
  24. package/dist/configuration/index.mjs +84 -69
  25. package/dist/configuration/index.mjs.map +1 -1
  26. package/dist/configuration/urls.d.ts.map +1 -1
  27. package/dist/configuration/urls.js +74 -61
  28. package/dist/configuration/urls.js.map +1 -1
  29. package/dist/configuration/urls.mjs +73 -62
  30. package/dist/configuration/urls.mjs.map +1 -1
  31. package/dist/container.js +27 -23
  32. package/dist/container.js.map +1 -1
  33. package/dist/container.mjs +26 -24
  34. package/dist/container.mjs.map +1 -1
  35. package/dist/core-api/controller/collection-type.js +77 -76
  36. package/dist/core-api/controller/collection-type.js.map +1 -1
  37. package/dist/core-api/controller/collection-type.mjs +76 -77
  38. package/dist/core-api/controller/collection-type.mjs.map +1 -1
  39. package/dist/core-api/controller/index.js +63 -48
  40. package/dist/core-api/controller/index.js.map +1 -1
  41. package/dist/core-api/controller/index.mjs +62 -49
  42. package/dist/core-api/controller/index.mjs.map +1 -1
  43. package/dist/core-api/controller/single-type.js +41 -40
  44. package/dist/core-api/controller/single-type.js.map +1 -1
  45. package/dist/core-api/controller/single-type.mjs +40 -41
  46. package/dist/core-api/controller/single-type.mjs.map +1 -1
  47. package/dist/core-api/controller/transform.js +72 -63
  48. package/dist/core-api/controller/transform.js.map +1 -1
  49. package/dist/core-api/controller/transform.mjs +71 -64
  50. package/dist/core-api/controller/transform.mjs.map +1 -1
  51. package/dist/core-api/routes/index.js +64 -62
  52. package/dist/core-api/routes/index.js.map +1 -1
  53. package/dist/core-api/routes/index.mjs +62 -62
  54. package/dist/core-api/routes/index.mjs.map +1 -1
  55. package/dist/core-api/service/collection-type.d.ts +2 -2
  56. package/dist/core-api/service/collection-type.js +73 -60
  57. package/dist/core-api/service/collection-type.js.map +1 -1
  58. package/dist/core-api/service/collection-type.mjs +72 -62
  59. package/dist/core-api/service/collection-type.mjs.map +1 -1
  60. package/dist/core-api/service/core-service.js +9 -8
  61. package/dist/core-api/service/core-service.js.map +1 -1
  62. package/dist/core-api/service/core-service.mjs +8 -9
  63. package/dist/core-api/service/core-service.mjs.map +1 -1
  64. package/dist/core-api/service/index.js +13 -13
  65. package/dist/core-api/service/index.js.map +1 -1
  66. package/dist/core-api/service/index.mjs +12 -14
  67. package/dist/core-api/service/index.mjs.map +1 -1
  68. package/dist/core-api/service/pagination.js +69 -43
  69. package/dist/core-api/service/pagination.js.map +1 -1
  70. package/dist/core-api/service/pagination.mjs +68 -47
  71. package/dist/core-api/service/pagination.mjs.map +1 -1
  72. package/dist/core-api/service/single-type.js +43 -39
  73. package/dist/core-api/service/single-type.js.map +1 -1
  74. package/dist/core-api/service/single-type.mjs +42 -41
  75. package/dist/core-api/service/single-type.mjs.map +1 -1
  76. package/dist/domain/content-type/index.js +95 -100
  77. package/dist/domain/content-type/index.js.map +1 -1
  78. package/dist/domain/content-type/index.mjs +94 -100
  79. package/dist/domain/content-type/index.mjs.map +1 -1
  80. package/dist/domain/content-type/validator.js +84 -69
  81. package/dist/domain/content-type/validator.js.map +1 -1
  82. package/dist/domain/content-type/validator.mjs +83 -68
  83. package/dist/domain/content-type/validator.mjs.map +1 -1
  84. package/dist/domain/module/index.js +109 -100
  85. package/dist/domain/module/index.js.map +1 -1
  86. package/dist/domain/module/index.mjs +108 -99
  87. package/dist/domain/module/index.mjs.map +1 -1
  88. package/dist/domain/module/validation.js +25 -20
  89. package/dist/domain/module/validation.js.map +1 -1
  90. package/dist/domain/module/validation.mjs +24 -21
  91. package/dist/domain/module/validation.mjs.map +1 -1
  92. package/dist/ee/index.d.ts +7 -0
  93. package/dist/ee/index.d.ts.map +1 -1
  94. package/dist/ee/index.js +197 -132
  95. package/dist/ee/index.js.map +1 -1
  96. package/dist/ee/index.mjs +196 -134
  97. package/dist/ee/index.mjs.map +1 -1
  98. package/dist/ee/license.d.ts +3 -1
  99. package/dist/ee/license.d.ts.map +1 -1
  100. package/dist/ee/license.js +105 -75
  101. package/dist/ee/license.js.map +1 -1
  102. package/dist/ee/license.mjs +103 -76
  103. package/dist/ee/license.mjs.map +1 -1
  104. package/dist/factories.js +72 -67
  105. package/dist/factories.js.map +1 -1
  106. package/dist/factories.mjs +71 -71
  107. package/dist/factories.mjs.map +1 -1
  108. package/dist/index.d.ts +14 -0
  109. package/dist/index.d.ts.map +1 -1
  110. package/dist/index.js +29 -26
  111. package/dist/index.js.map +1 -1
  112. package/dist/index.mjs +29 -29
  113. package/dist/index.mjs.map +1 -1
  114. package/dist/loaders/admin.d.ts.map +1 -1
  115. package/dist/loaders/admin.js +21 -20
  116. package/dist/loaders/admin.js.map +1 -1
  117. package/dist/loaders/admin.mjs +20 -20
  118. package/dist/loaders/admin.mjs.map +1 -1
  119. package/dist/loaders/apis.js +143 -120
  120. package/dist/loaders/apis.js.map +1 -1
  121. package/dist/loaders/apis.mjs +142 -119
  122. package/dist/loaders/apis.mjs.map +1 -1
  123. package/dist/loaders/components.js +33 -34
  124. package/dist/loaders/components.js.map +1 -1
  125. package/dist/loaders/components.mjs +32 -34
  126. package/dist/loaders/components.mjs.map +1 -1
  127. package/dist/loaders/index.js +22 -20
  128. package/dist/loaders/index.js.map +1 -1
  129. package/dist/loaders/index.mjs +21 -21
  130. package/dist/loaders/index.mjs.map +1 -1
  131. package/dist/loaders/middlewares.js +29 -25
  132. package/dist/loaders/middlewares.js.map +1 -1
  133. package/dist/loaders/middlewares.mjs +28 -25
  134. package/dist/loaders/middlewares.mjs.map +1 -1
  135. package/dist/loaders/plugins/get-enabled-plugins.d.ts.map +1 -1
  136. package/dist/loaders/plugins/get-enabled-plugins.js +125 -102
  137. package/dist/loaders/plugins/get-enabled-plugins.js.map +1 -1
  138. package/dist/loaders/plugins/get-enabled-plugins.mjs +124 -101
  139. package/dist/loaders/plugins/get-enabled-plugins.mjs.map +1 -1
  140. package/dist/loaders/plugins/get-user-plugins-config.js +25 -24
  141. package/dist/loaders/plugins/get-user-plugins-config.js.map +1 -1
  142. package/dist/loaders/plugins/get-user-plugins-config.mjs +24 -23
  143. package/dist/loaders/plugins/get-user-plugins-config.mjs.map +1 -1
  144. package/dist/loaders/plugins/index.d.ts.map +1 -1
  145. package/dist/loaders/plugins/index.js +141 -104
  146. package/dist/loaders/plugins/index.js.map +1 -1
  147. package/dist/loaders/plugins/index.mjs +121 -104
  148. package/dist/loaders/plugins/index.mjs.map +1 -1
  149. package/dist/loaders/policies.js +24 -20
  150. package/dist/loaders/policies.js.map +1 -1
  151. package/dist/loaders/policies.mjs +23 -20
  152. package/dist/loaders/policies.mjs.map +1 -1
  153. package/dist/loaders/sanitizers.js +10 -4
  154. package/dist/loaders/sanitizers.js.map +1 -1
  155. package/dist/loaders/sanitizers.mjs +9 -6
  156. package/dist/loaders/sanitizers.mjs.map +1 -1
  157. package/dist/loaders/src-index.js +35 -27
  158. package/dist/loaders/src-index.js.map +1 -1
  159. package/dist/loaders/src-index.mjs +34 -29
  160. package/dist/loaders/src-index.mjs.map +1 -1
  161. package/dist/loaders/validators.js +9 -4
  162. package/dist/loaders/validators.js.map +1 -1
  163. package/dist/loaders/validators.mjs +8 -6
  164. package/dist/loaders/validators.mjs.map +1 -1
  165. package/dist/middlewares/body.d.ts.map +1 -1
  166. package/dist/middlewares/body.js +58 -54
  167. package/dist/middlewares/body.js.map +1 -1
  168. package/dist/middlewares/body.mjs +57 -51
  169. package/dist/middlewares/body.mjs.map +1 -1
  170. package/dist/middlewares/compression.js +6 -6
  171. package/dist/middlewares/compression.js.map +1 -1
  172. package/dist/middlewares/compression.mjs +5 -5
  173. package/dist/middlewares/compression.mjs.map +1 -1
  174. package/dist/middlewares/cors.d.ts.map +1 -1
  175. package/dist/middlewares/cors.js +59 -44
  176. package/dist/middlewares/cors.js.map +1 -1
  177. package/dist/middlewares/cors.mjs +58 -43
  178. package/dist/middlewares/cors.mjs.map +1 -1
  179. package/dist/middlewares/errors.js +32 -30
  180. package/dist/middlewares/errors.js.map +1 -1
  181. package/dist/middlewares/errors.mjs +31 -31
  182. package/dist/middlewares/errors.mjs.map +1 -1
  183. package/dist/middlewares/favicon.js +27 -17
  184. package/dist/middlewares/favicon.js.map +1 -1
  185. package/dist/middlewares/favicon.mjs +26 -16
  186. package/dist/middlewares/favicon.mjs.map +1 -1
  187. package/dist/middlewares/index.js +32 -30
  188. package/dist/middlewares/index.js.map +1 -1
  189. package/dist/middlewares/index.mjs +31 -31
  190. package/dist/middlewares/index.mjs.map +1 -1
  191. package/dist/middlewares/ip.js +6 -6
  192. package/dist/middlewares/ip.js.map +1 -1
  193. package/dist/middlewares/ip.mjs +5 -5
  194. package/dist/middlewares/ip.mjs.map +1 -1
  195. package/dist/middlewares/logger.js +10 -9
  196. package/dist/middlewares/logger.js.map +1 -1
  197. package/dist/middlewares/logger.mjs +9 -10
  198. package/dist/middlewares/logger.mjs.map +1 -1
  199. package/dist/middlewares/powered-by.js +13 -9
  200. package/dist/middlewares/powered-by.js.map +1 -1
  201. package/dist/middlewares/powered-by.mjs +12 -10
  202. package/dist/middlewares/powered-by.mjs.map +1 -1
  203. package/dist/middlewares/public.js +33 -29
  204. package/dist/middlewares/public.js.map +1 -1
  205. package/dist/middlewares/public.mjs +32 -28
  206. package/dist/middlewares/public.mjs.map +1 -1
  207. package/dist/middlewares/query.d.ts.map +1 -1
  208. package/dist/middlewares/query.js +35 -32
  209. package/dist/middlewares/query.js.map +1 -1
  210. package/dist/middlewares/query.mjs +34 -31
  211. package/dist/middlewares/query.mjs.map +1 -1
  212. package/dist/middlewares/response-time.js +10 -9
  213. package/dist/middlewares/response-time.js.map +1 -1
  214. package/dist/middlewares/response-time.mjs +9 -10
  215. package/dist/middlewares/response-time.mjs.map +1 -1
  216. package/dist/middlewares/responses.js +14 -12
  217. package/dist/middlewares/responses.js.map +1 -1
  218. package/dist/middlewares/responses.mjs +13 -13
  219. package/dist/middlewares/responses.mjs.map +1 -1
  220. package/dist/middlewares/security.d.ts.map +1 -1
  221. package/dist/middlewares/security.js +109 -71
  222. package/dist/middlewares/security.js.map +1 -1
  223. package/dist/middlewares/security.mjs +108 -70
  224. package/dist/middlewares/security.mjs.map +1 -1
  225. package/dist/middlewares/session.js +26 -25
  226. package/dist/middlewares/session.js.map +1 -1
  227. package/dist/middlewares/session.mjs +25 -24
  228. package/dist/middlewares/session.mjs.map +1 -1
  229. package/dist/migrations/database/5.0.0-discard-drafts.d.ts +14 -11
  230. package/dist/migrations/database/5.0.0-discard-drafts.d.ts.map +1 -1
  231. package/dist/migrations/database/5.0.0-discard-drafts.js +153 -35
  232. package/dist/migrations/database/5.0.0-discard-drafts.js.map +1 -1
  233. package/dist/migrations/database/5.0.0-discard-drafts.mjs +152 -37
  234. package/dist/migrations/database/5.0.0-discard-drafts.mjs.map +1 -1
  235. package/dist/migrations/draft-publish.d.ts +2 -2
  236. package/dist/migrations/draft-publish.d.ts.map +1 -1
  237. package/dist/migrations/draft-publish.js +61 -34
  238. package/dist/migrations/draft-publish.js.map +1 -1
  239. package/dist/migrations/draft-publish.mjs +60 -36
  240. package/dist/migrations/draft-publish.mjs.map +1 -1
  241. package/dist/migrations/i18n.d.ts +5 -0
  242. package/dist/migrations/i18n.d.ts.map +1 -0
  243. package/dist/migrations/i18n.js +71 -0
  244. package/dist/migrations/i18n.js.map +1 -0
  245. package/dist/migrations/i18n.mjs +68 -0
  246. package/dist/migrations/i18n.mjs.map +1 -0
  247. package/dist/migrations/index.d.ts +5 -0
  248. package/dist/migrations/index.d.ts.map +1 -0
  249. package/dist/migrations/index.js +29 -0
  250. package/dist/migrations/index.js.map +1 -0
  251. package/dist/migrations/index.mjs +26 -0
  252. package/dist/migrations/index.mjs.map +1 -0
  253. package/dist/package.json.js +184 -0
  254. package/dist/package.json.js.map +1 -0
  255. package/dist/package.json.mjs +161 -0
  256. package/dist/package.json.mjs.map +1 -0
  257. package/dist/providers/admin.d.ts.map +1 -1
  258. package/dist/providers/admin.js +27 -17
  259. package/dist/providers/admin.js.map +1 -1
  260. package/dist/providers/admin.mjs +26 -19
  261. package/dist/providers/admin.mjs.map +1 -1
  262. package/dist/providers/coreStore.js +13 -8
  263. package/dist/providers/coreStore.js.map +1 -1
  264. package/dist/providers/coreStore.mjs +12 -10
  265. package/dist/providers/coreStore.mjs.map +1 -1
  266. package/dist/providers/cron.js +19 -16
  267. package/dist/providers/cron.js.map +1 -1
  268. package/dist/providers/cron.mjs +18 -18
  269. package/dist/providers/cron.mjs.map +1 -1
  270. package/dist/providers/index.js +18 -9
  271. package/dist/providers/index.js.map +1 -1
  272. package/dist/providers/index.mjs +17 -10
  273. package/dist/providers/index.mjs.map +1 -1
  274. package/dist/providers/provider.js +4 -3
  275. package/dist/providers/provider.js.map +1 -1
  276. package/dist/providers/provider.mjs +3 -4
  277. package/dist/providers/provider.mjs.map +1 -1
  278. package/dist/providers/registries.js +37 -32
  279. package/dist/providers/registries.js.map +1 -1
  280. package/dist/providers/registries.mjs +36 -34
  281. package/dist/providers/registries.mjs.map +1 -1
  282. package/dist/providers/telemetry.js +19 -16
  283. package/dist/providers/telemetry.js.map +1 -1
  284. package/dist/providers/telemetry.mjs +18 -18
  285. package/dist/providers/telemetry.mjs.map +1 -1
  286. package/dist/providers/webhooks.js +28 -26
  287. package/dist/providers/webhooks.js.map +1 -1
  288. package/dist/providers/webhooks.mjs +27 -28
  289. package/dist/providers/webhooks.mjs.map +1 -1
  290. package/dist/registries/apis.js +23 -20
  291. package/dist/registries/apis.js.map +1 -1
  292. package/dist/registries/apis.mjs +22 -22
  293. package/dist/registries/apis.mjs.map +1 -1
  294. package/dist/registries/components.js +35 -37
  295. package/dist/registries/components.js.map +1 -1
  296. package/dist/registries/components.mjs +34 -39
  297. package/dist/registries/components.mjs.map +1 -1
  298. package/dist/registries/content-types.js +54 -59
  299. package/dist/registries/content-types.js.map +1 -1
  300. package/dist/registries/content-types.mjs +53 -61
  301. package/dist/registries/content-types.mjs.map +1 -1
  302. package/dist/registries/controllers.js +70 -71
  303. package/dist/registries/controllers.js.map +1 -1
  304. package/dist/registries/controllers.mjs +69 -73
  305. package/dist/registries/controllers.mjs.map +1 -1
  306. package/dist/registries/custom-fields.js +75 -65
  307. package/dist/registries/custom-fields.js.map +1 -1
  308. package/dist/registries/custom-fields.mjs +74 -67
  309. package/dist/registries/custom-fields.mjs.map +1 -1
  310. package/dist/registries/hooks.js +46 -49
  311. package/dist/registries/hooks.js.map +1 -1
  312. package/dist/registries/hooks.mjs +45 -51
  313. package/dist/registries/hooks.mjs.map +1 -1
  314. package/dist/registries/middlewares.js +49 -51
  315. package/dist/registries/middlewares.js.map +1 -1
  316. package/dist/registries/middlewares.mjs +48 -53
  317. package/dist/registries/middlewares.mjs.map +1 -1
  318. package/dist/registries/models.js +14 -13
  319. package/dist/registries/models.js.map +1 -1
  320. package/dist/registries/models.mjs +13 -14
  321. package/dist/registries/models.mjs.map +1 -1
  322. package/dist/registries/modules.js +39 -36
  323. package/dist/registries/modules.js.map +1 -1
  324. package/dist/registries/modules.mjs +38 -38
  325. package/dist/registries/modules.mjs.map +1 -1
  326. package/dist/registries/namespace.js +21 -20
  327. package/dist/registries/namespace.js.map +1 -1
  328. package/dist/registries/namespace.mjs +20 -23
  329. package/dist/registries/namespace.mjs.map +1 -1
  330. package/dist/registries/plugins.js +23 -20
  331. package/dist/registries/plugins.js.map +1 -1
  332. package/dist/registries/plugins.mjs +22 -22
  333. package/dist/registries/plugins.mjs.map +1 -1
  334. package/dist/registries/policies.d.ts +1 -1
  335. package/dist/registries/policies.d.ts.map +1 -1
  336. package/dist/registries/policies.js +103 -96
  337. package/dist/registries/policies.js.map +1 -1
  338. package/dist/registries/policies.mjs +102 -98
  339. package/dist/registries/policies.mjs.map +1 -1
  340. package/dist/registries/sanitizers.js +23 -22
  341. package/dist/registries/sanitizers.js.map +1 -1
  342. package/dist/registries/sanitizers.mjs +22 -22
  343. package/dist/registries/sanitizers.mjs.map +1 -1
  344. package/dist/registries/services.js +71 -71
  345. package/dist/registries/services.js.map +1 -1
  346. package/dist/registries/services.mjs +70 -73
  347. package/dist/registries/services.mjs.map +1 -1
  348. package/dist/registries/validators.js +23 -22
  349. package/dist/registries/validators.js.map +1 -1
  350. package/dist/registries/validators.mjs +22 -22
  351. package/dist/registries/validators.mjs.map +1 -1
  352. package/dist/services/auth/index.js +74 -74
  353. package/dist/services/auth/index.js.map +1 -1
  354. package/dist/services/auth/index.mjs +73 -74
  355. package/dist/services/auth/index.mjs.map +1 -1
  356. package/dist/services/config.js +47 -43
  357. package/dist/services/config.js.map +1 -1
  358. package/dist/services/config.mjs +46 -44
  359. package/dist/services/config.mjs.map +1 -1
  360. package/dist/services/content-api/index.d.ts +10 -12
  361. package/dist/services/content-api/index.d.ts.map +1 -1
  362. package/dist/services/content-api/index.js +80 -79
  363. package/dist/services/content-api/index.js.map +1 -1
  364. package/dist/services/content-api/index.mjs +79 -79
  365. package/dist/services/content-api/index.mjs.map +1 -1
  366. package/dist/services/content-api/permissions/engine.js +8 -5
  367. package/dist/services/content-api/permissions/engine.js.map +1 -1
  368. package/dist/services/content-api/permissions/engine.mjs +7 -5
  369. package/dist/services/content-api/permissions/engine.mjs.map +1 -1
  370. package/dist/services/content-api/permissions/index.d.ts +10 -12
  371. package/dist/services/content-api/permissions/index.d.ts.map +1 -1
  372. package/dist/services/content-api/permissions/index.js +101 -81
  373. package/dist/services/content-api/permissions/index.js.map +1 -1
  374. package/dist/services/content-api/permissions/index.mjs +100 -81
  375. package/dist/services/content-api/permissions/index.mjs.map +1 -1
  376. package/dist/services/content-api/permissions/providers/action.d.ts +5 -6
  377. package/dist/services/content-api/permissions/providers/action.d.ts.map +1 -1
  378. package/dist/services/content-api/permissions/providers/action.js +17 -14
  379. package/dist/services/content-api/permissions/providers/action.js.map +1 -1
  380. package/dist/services/content-api/permissions/providers/action.mjs +16 -16
  381. package/dist/services/content-api/permissions/providers/action.mjs.map +1 -1
  382. package/dist/services/content-api/permissions/providers/condition.d.ts +5 -6
  383. package/dist/services/content-api/permissions/providers/condition.d.ts.map +1 -1
  384. package/dist/services/content-api/permissions/providers/condition.js +17 -14
  385. package/dist/services/content-api/permissions/providers/condition.js.map +1 -1
  386. package/dist/services/content-api/permissions/providers/condition.mjs +16 -16
  387. package/dist/services/content-api/permissions/providers/condition.mjs.map +1 -1
  388. package/dist/services/core-store.d.ts +2 -2
  389. package/dist/services/core-store.d.ts.map +1 -1
  390. package/dist/services/core-store.js +115 -95
  391. package/dist/services/core-store.js.map +1 -1
  392. package/dist/services/core-store.mjs +114 -97
  393. package/dist/services/core-store.mjs.map +1 -1
  394. package/dist/services/cron.d.ts +3 -3
  395. package/dist/services/cron.d.ts.map +1 -1
  396. package/dist/services/cron.js +74 -60
  397. package/dist/services/cron.js.map +1 -1
  398. package/dist/services/cron.mjs +73 -62
  399. package/dist/services/cron.mjs.map +1 -1
  400. package/dist/services/custom-fields.js +9 -7
  401. package/dist/services/custom-fields.js.map +1 -1
  402. package/dist/services/custom-fields.mjs +8 -9
  403. package/dist/services/custom-fields.mjs.map +1 -1
  404. package/dist/services/document-service/attributes/index.js +23 -18
  405. package/dist/services/document-service/attributes/index.js.map +1 -1
  406. package/dist/services/document-service/attributes/index.mjs +22 -19
  407. package/dist/services/document-service/attributes/index.mjs.map +1 -1
  408. package/dist/services/document-service/attributes/transforms.js +16 -15
  409. package/dist/services/document-service/attributes/transforms.js.map +1 -1
  410. package/dist/services/document-service/attributes/transforms.mjs +15 -15
  411. package/dist/services/document-service/attributes/transforms.mjs.map +1 -1
  412. package/dist/services/document-service/common.d.ts +1 -1
  413. package/dist/services/document-service/common.d.ts.map +1 -1
  414. package/dist/services/document-service/common.js +5 -4
  415. package/dist/services/document-service/common.js.map +1 -1
  416. package/dist/services/document-service/common.mjs +4 -5
  417. package/dist/services/document-service/common.mjs.map +1 -1
  418. package/dist/services/document-service/components.d.ts.map +1 -1
  419. package/dist/services/document-service/components.js +257 -259
  420. package/dist/services/document-service/components.js.map +1 -1
  421. package/dist/services/document-service/components.mjs +254 -262
  422. package/dist/services/document-service/components.mjs.map +1 -1
  423. package/dist/services/document-service/draft-and-publish.d.ts +1 -1
  424. package/dist/services/document-service/draft-and-publish.d.ts.map +1 -1
  425. package/dist/services/document-service/draft-and-publish.js +94 -54
  426. package/dist/services/document-service/draft-and-publish.js.map +1 -1
  427. package/dist/services/document-service/draft-and-publish.mjs +87 -54
  428. package/dist/services/document-service/draft-and-publish.mjs.map +1 -1
  429. package/dist/services/document-service/entries.d.ts +2 -2
  430. package/dist/services/document-service/entries.d.ts.map +1 -1
  431. package/dist/services/document-service/entries.js +151 -92
  432. package/dist/services/document-service/entries.js.map +1 -1
  433. package/dist/services/document-service/entries.mjs +150 -93
  434. package/dist/services/document-service/entries.mjs.map +1 -1
  435. package/dist/services/document-service/events.d.ts +1 -1
  436. package/dist/services/document-service/events.d.ts.map +1 -1
  437. package/dist/services/document-service/events.js +52 -40
  438. package/dist/services/document-service/events.js.map +1 -1
  439. package/dist/services/document-service/events.mjs +51 -41
  440. package/dist/services/document-service/events.mjs.map +1 -1
  441. package/dist/services/document-service/index.d.ts +2 -1
  442. package/dist/services/document-service/index.d.ts.map +1 -1
  443. package/dist/services/document-service/index.js +53 -32
  444. package/dist/services/document-service/index.js.map +1 -1
  445. package/dist/services/document-service/index.mjs +52 -33
  446. package/dist/services/document-service/index.mjs.map +1 -1
  447. package/dist/services/document-service/internationalization.d.ts +6 -1
  448. package/dist/services/document-service/internationalization.d.ts.map +1 -1
  449. package/dist/services/document-service/internationalization.js +98 -50
  450. package/dist/services/document-service/internationalization.js.map +1 -1
  451. package/dist/services/document-service/internationalization.mjs +92 -50
  452. package/dist/services/document-service/internationalization.mjs.map +1 -1
  453. package/dist/services/document-service/middlewares/errors.js +23 -19
  454. package/dist/services/document-service/middlewares/errors.js.map +1 -1
  455. package/dist/services/document-service/middlewares/errors.mjs +22 -20
  456. package/dist/services/document-service/middlewares/errors.mjs.map +1 -1
  457. package/dist/services/document-service/middlewares/middleware-manager.js +46 -44
  458. package/dist/services/document-service/middlewares/middleware-manager.js.map +1 -1
  459. package/dist/services/document-service/middlewares/middleware-manager.mjs +45 -45
  460. package/dist/services/document-service/middlewares/middleware-manager.mjs.map +1 -1
  461. package/dist/services/document-service/params.js +11 -5
  462. package/dist/services/document-service/params.js.map +1 -1
  463. package/dist/services/document-service/params.mjs +10 -6
  464. package/dist/services/document-service/params.mjs.map +1 -1
  465. package/dist/services/document-service/repository.d.ts.map +1 -1
  466. package/dist/services/document-service/repository.js +356 -269
  467. package/dist/services/document-service/repository.js.map +1 -1
  468. package/dist/services/document-service/repository.mjs +355 -270
  469. package/dist/services/document-service/repository.mjs.map +1 -1
  470. package/dist/services/document-service/transform/data.js +22 -12
  471. package/dist/services/document-service/transform/data.js.map +1 -1
  472. package/dist/services/document-service/transform/data.mjs +21 -13
  473. package/dist/services/document-service/transform/data.mjs.map +1 -1
  474. package/dist/services/document-service/transform/fields.js +26 -17
  475. package/dist/services/document-service/transform/fields.js.map +1 -1
  476. package/dist/services/document-service/transform/fields.mjs +25 -18
  477. package/dist/services/document-service/transform/fields.mjs.map +1 -1
  478. package/dist/services/document-service/transform/id-map.d.ts +1 -1
  479. package/dist/services/document-service/transform/id-map.d.ts.map +1 -1
  480. package/dist/services/document-service/transform/id-map.js +116 -69
  481. package/dist/services/document-service/transform/id-map.js.map +1 -1
  482. package/dist/services/document-service/transform/id-map.mjs +115 -70
  483. package/dist/services/document-service/transform/id-map.mjs.map +1 -1
  484. package/dist/services/document-service/transform/id-transform.d.ts +1 -1
  485. package/dist/services/document-service/transform/id-transform.d.ts.map +1 -1
  486. package/dist/services/document-service/transform/id-transform.js +38 -30
  487. package/dist/services/document-service/transform/id-transform.js.map +1 -1
  488. package/dist/services/document-service/transform/id-transform.mjs +36 -30
  489. package/dist/services/document-service/transform/id-transform.mjs.map +1 -1
  490. package/dist/services/document-service/transform/populate.js +23 -18
  491. package/dist/services/document-service/transform/populate.js.map +1 -1
  492. package/dist/services/document-service/transform/populate.mjs +22 -19
  493. package/dist/services/document-service/transform/populate.mjs.map +1 -1
  494. package/dist/services/document-service/transform/query.js +11 -6
  495. package/dist/services/document-service/transform/query.js.map +1 -1
  496. package/dist/services/document-service/transform/query.mjs +10 -7
  497. package/dist/services/document-service/transform/query.mjs.map +1 -1
  498. package/dist/services/document-service/transform/relations/extract/data-ids.d.ts +1 -1
  499. package/dist/services/document-service/transform/relations/extract/data-ids.d.ts.map +1 -1
  500. package/dist/services/document-service/transform/relations/extract/data-ids.js +71 -48
  501. package/dist/services/document-service/transform/relations/extract/data-ids.js.map +1 -1
  502. package/dist/services/document-service/transform/relations/extract/data-ids.mjs +70 -49
  503. package/dist/services/document-service/transform/relations/extract/data-ids.mjs.map +1 -1
  504. package/dist/services/document-service/transform/relations/transform/data-ids.d.ts.map +1 -1
  505. package/dist/services/document-service/transform/relations/transform/data-ids.js +97 -63
  506. package/dist/services/document-service/transform/relations/transform/data-ids.js.map +1 -1
  507. package/dist/services/document-service/transform/relations/transform/data-ids.mjs +96 -64
  508. package/dist/services/document-service/transform/relations/transform/data-ids.mjs.map +1 -1
  509. package/dist/services/document-service/transform/relations/transform/default-locale.js +47 -29
  510. package/dist/services/document-service/transform/relations/transform/default-locale.js.map +1 -1
  511. package/dist/services/document-service/transform/relations/transform/default-locale.mjs +46 -30
  512. package/dist/services/document-service/transform/relations/transform/default-locale.mjs.map +1 -1
  513. package/dist/services/document-service/transform/relations/utils/dp.d.ts +1 -1
  514. package/dist/services/document-service/transform/relations/utils/dp.d.ts.map +1 -1
  515. package/dist/services/document-service/transform/relations/utils/dp.js +52 -26
  516. package/dist/services/document-service/transform/relations/utils/dp.js.map +1 -1
  517. package/dist/services/document-service/transform/relations/utils/dp.mjs +51 -27
  518. package/dist/services/document-service/transform/relations/utils/dp.mjs.map +1 -1
  519. package/dist/services/document-service/transform/relations/utils/i18n.d.ts +1 -1
  520. package/dist/services/document-service/transform/relations/utils/i18n.d.ts.map +1 -1
  521. package/dist/services/document-service/transform/relations/utils/i18n.js +20 -18
  522. package/dist/services/document-service/transform/relations/utils/i18n.js.map +1 -1
  523. package/dist/services/document-service/transform/relations/utils/i18n.mjs +19 -21
  524. package/dist/services/document-service/transform/relations/utils/i18n.mjs.map +1 -1
  525. package/dist/services/document-service/transform/relations/utils/map-relation.d.ts.map +1 -1
  526. package/dist/services/document-service/transform/relations/utils/map-relation.js +118 -79
  527. package/dist/services/document-service/transform/relations/utils/map-relation.js.map +1 -1
  528. package/dist/services/document-service/transform/relations/utils/map-relation.mjs +115 -79
  529. package/dist/services/document-service/transform/relations/utils/map-relation.mjs.map +1 -1
  530. package/dist/services/document-service/utils/bidirectional-relations.d.ts +95 -0
  531. package/dist/services/document-service/utils/bidirectional-relations.d.ts.map +1 -0
  532. package/dist/services/document-service/utils/bidirectional-relations.js +148 -0
  533. package/dist/services/document-service/utils/bidirectional-relations.js.map +1 -0
  534. package/dist/services/document-service/utils/bidirectional-relations.mjs +145 -0
  535. package/dist/services/document-service/utils/bidirectional-relations.mjs.map +1 -0
  536. package/dist/services/document-service/utils/populate.d.ts +1 -1
  537. package/dist/services/document-service/utils/populate.d.ts.map +1 -1
  538. package/dist/services/document-service/utils/populate.js +67 -37
  539. package/dist/services/document-service/utils/populate.js.map +1 -1
  540. package/dist/services/document-service/utils/populate.mjs +66 -38
  541. package/dist/services/document-service/utils/populate.mjs.map +1 -1
  542. package/dist/services/document-service/utils/unidirectional-relations.d.ts +36 -0
  543. package/dist/services/document-service/utils/unidirectional-relations.d.ts.map +1 -0
  544. package/dist/services/document-service/utils/unidirectional-relations.js +116 -0
  545. package/dist/services/document-service/utils/unidirectional-relations.js.map +1 -0
  546. package/dist/services/document-service/utils/unidirectional-relations.mjs +113 -0
  547. package/dist/services/document-service/utils/unidirectional-relations.mjs.map +1 -0
  548. package/dist/services/entity-service/index.js +230 -161
  549. package/dist/services/entity-service/index.js.map +1 -1
  550. package/dist/services/entity-service/index.mjs +229 -160
  551. package/dist/services/entity-service/index.mjs.map +1 -1
  552. package/dist/services/entity-validator/blocks-validator.d.ts +1 -2
  553. package/dist/services/entity-validator/blocks-validator.d.ts.map +1 -1
  554. package/dist/services/entity-validator/blocks-validator.js +137 -104
  555. package/dist/services/entity-validator/blocks-validator.js.map +1 -1
  556. package/dist/services/entity-validator/blocks-validator.mjs +135 -105
  557. package/dist/services/entity-validator/blocks-validator.mjs.map +1 -1
  558. package/dist/services/entity-validator/index.d.ts +15 -1
  559. package/dist/services/entity-validator/index.d.ts.map +1 -1
  560. package/dist/services/entity-validator/index.js +370 -310
  561. package/dist/services/entity-validator/index.js.map +1 -1
  562. package/dist/services/entity-validator/index.mjs +366 -307
  563. package/dist/services/entity-validator/index.mjs.map +1 -1
  564. package/dist/services/entity-validator/validators.d.ts +37 -25
  565. package/dist/services/entity-validator/validators.d.ts.map +1 -1
  566. package/dist/services/entity-validator/validators.js +286 -110
  567. package/dist/services/entity-validator/validators.js.map +1 -1
  568. package/dist/services/entity-validator/validators.mjs +277 -108
  569. package/dist/services/entity-validator/validators.mjs.map +1 -1
  570. package/dist/services/errors.js +65 -65
  571. package/dist/services/errors.js.map +1 -1
  572. package/dist/services/errors.mjs +64 -66
  573. package/dist/services/errors.mjs.map +1 -1
  574. package/dist/services/event-hub.js +82 -69
  575. package/dist/services/event-hub.js.map +1 -1
  576. package/dist/services/event-hub.mjs +81 -71
  577. package/dist/services/event-hub.mjs.map +1 -1
  578. package/dist/services/features.js +19 -14
  579. package/dist/services/features.js.map +1 -1
  580. package/dist/services/features.mjs +18 -15
  581. package/dist/services/features.mjs.map +1 -1
  582. package/dist/services/fs.js +41 -40
  583. package/dist/services/fs.js.map +1 -1
  584. package/dist/services/fs.mjs +40 -39
  585. package/dist/services/fs.mjs.map +1 -1
  586. package/dist/services/metrics/admin-user-hash.d.ts.map +1 -1
  587. package/dist/services/metrics/admin-user-hash.js +13 -11
  588. package/dist/services/metrics/admin-user-hash.js.map +1 -1
  589. package/dist/services/metrics/admin-user-hash.mjs +12 -10
  590. package/dist/services/metrics/admin-user-hash.mjs.map +1 -1
  591. package/dist/services/metrics/index.js +46 -40
  592. package/dist/services/metrics/index.js.map +1 -1
  593. package/dist/services/metrics/index.mjs +45 -42
  594. package/dist/services/metrics/index.mjs.map +1 -1
  595. package/dist/services/metrics/is-truthy.js +13 -6
  596. package/dist/services/metrics/is-truthy.js.map +1 -1
  597. package/dist/services/metrics/is-truthy.mjs +12 -6
  598. package/dist/services/metrics/is-truthy.mjs.map +1 -1
  599. package/dist/services/metrics/middleware.d.ts.map +1 -1
  600. package/dist/services/metrics/middleware.js +37 -22
  601. package/dist/services/metrics/middleware.js.map +1 -1
  602. package/dist/services/metrics/middleware.mjs +36 -24
  603. package/dist/services/metrics/middleware.mjs.map +1 -1
  604. package/dist/services/metrics/rate-limiter.d.ts.map +1 -1
  605. package/dist/services/metrics/rate-limiter.js +24 -19
  606. package/dist/services/metrics/rate-limiter.js.map +1 -1
  607. package/dist/services/metrics/rate-limiter.mjs +23 -21
  608. package/dist/services/metrics/rate-limiter.mjs.map +1 -1
  609. package/dist/services/metrics/sender.d.ts.map +1 -1
  610. package/dist/services/metrics/sender.js +78 -69
  611. package/dist/services/metrics/sender.js.map +1 -1
  612. package/dist/services/metrics/sender.mjs +77 -64
  613. package/dist/services/metrics/sender.mjs.map +1 -1
  614. package/dist/services/query-params.js +13 -10
  615. package/dist/services/query-params.js.map +1 -1
  616. package/dist/services/query-params.mjs +12 -12
  617. package/dist/services/query-params.mjs.map +1 -1
  618. package/dist/services/reloader.js +35 -32
  619. package/dist/services/reloader.js.map +1 -1
  620. package/dist/services/reloader.mjs +34 -33
  621. package/dist/services/reloader.mjs.map +1 -1
  622. package/dist/services/request-context.js +11 -8
  623. package/dist/services/request-context.js.map +1 -1
  624. package/dist/services/request-context.mjs +10 -10
  625. package/dist/services/request-context.mjs.map +1 -1
  626. package/dist/services/server/admin-api.js +11 -10
  627. package/dist/services/server/admin-api.js.map +1 -1
  628. package/dist/services/server/admin-api.mjs +10 -11
  629. package/dist/services/server/admin-api.mjs.map +1 -1
  630. package/dist/services/server/api.js +33 -27
  631. package/dist/services/server/api.js.map +1 -1
  632. package/dist/services/server/api.mjs +32 -26
  633. package/dist/services/server/api.mjs.map +1 -1
  634. package/dist/services/server/compose-endpoint.js +116 -105
  635. package/dist/services/server/compose-endpoint.js.map +1 -1
  636. package/dist/services/server/compose-endpoint.mjs +115 -105
  637. package/dist/services/server/compose-endpoint.mjs.map +1 -1
  638. package/dist/services/server/content-api.js +11 -9
  639. package/dist/services/server/content-api.js.map +1 -1
  640. package/dist/services/server/content-api.mjs +10 -10
  641. package/dist/services/server/content-api.mjs.map +1 -1
  642. package/dist/services/server/http-server.js +48 -44
  643. package/dist/services/server/http-server.js.map +1 -1
  644. package/dist/services/server/http-server.mjs +47 -43
  645. package/dist/services/server/http-server.mjs.map +1 -1
  646. package/dist/services/server/index.js +85 -82
  647. package/dist/services/server/index.js.map +1 -1
  648. package/dist/services/server/index.mjs +84 -81
  649. package/dist/services/server/index.mjs.map +1 -1
  650. package/dist/services/server/koa.js +49 -47
  651. package/dist/services/server/koa.js.map +1 -1
  652. package/dist/services/server/koa.mjs +48 -44
  653. package/dist/services/server/koa.mjs.map +1 -1
  654. package/dist/services/server/middleware.js +86 -82
  655. package/dist/services/server/middleware.js.map +1 -1
  656. package/dist/services/server/middleware.mjs +85 -82
  657. package/dist/services/server/middleware.mjs.map +1 -1
  658. package/dist/services/server/policy.js +24 -17
  659. package/dist/services/server/policy.js.map +1 -1
  660. package/dist/services/server/policy.mjs +23 -18
  661. package/dist/services/server/policy.mjs.map +1 -1
  662. package/dist/services/server/register-middlewares.js +68 -61
  663. package/dist/services/server/register-middlewares.js.map +1 -1
  664. package/dist/services/server/register-middlewares.mjs +67 -63
  665. package/dist/services/server/register-middlewares.mjs.map +1 -1
  666. package/dist/services/server/register-routes.js +90 -67
  667. package/dist/services/server/register-routes.js.map +1 -1
  668. package/dist/services/server/register-routes.mjs +89 -67
  669. package/dist/services/server/register-routes.mjs.map +1 -1
  670. package/dist/services/server/routing.js +94 -81
  671. package/dist/services/server/routing.js.map +1 -1
  672. package/dist/services/server/routing.mjs +93 -81
  673. package/dist/services/server/routing.mjs.map +1 -1
  674. package/dist/services/utils/conditional-fields.d.ts +3 -0
  675. package/dist/services/utils/conditional-fields.d.ts.map +1 -0
  676. package/dist/services/utils/conditional-fields.js +22 -0
  677. package/dist/services/utils/conditional-fields.js.map +1 -0
  678. package/dist/services/utils/conditional-fields.mjs +20 -0
  679. package/dist/services/utils/conditional-fields.mjs.map +1 -0
  680. package/dist/services/utils/dynamic-zones.js +13 -14
  681. package/dist/services/utils/dynamic-zones.js.map +1 -1
  682. package/dist/services/utils/dynamic-zones.mjs +12 -16
  683. package/dist/services/utils/dynamic-zones.mjs.map +1 -1
  684. package/dist/services/webhook-runner.js +124 -122
  685. package/dist/services/webhook-runner.js.map +1 -1
  686. package/dist/services/webhook-runner.mjs +123 -121
  687. package/dist/services/webhook-runner.mjs.map +1 -1
  688. package/dist/services/webhook-store.js +132 -99
  689. package/dist/services/webhook-store.js.map +1 -1
  690. package/dist/services/webhook-store.mjs +131 -101
  691. package/dist/services/webhook-store.mjs.map +1 -1
  692. package/dist/services/worker-queue.js +44 -49
  693. package/dist/services/worker-queue.js.map +1 -1
  694. package/dist/services/worker-queue.mjs +43 -49
  695. package/dist/services/worker-queue.mjs.map +1 -1
  696. package/dist/utils/convert-custom-field-type.js +17 -20
  697. package/dist/utils/convert-custom-field-type.js.map +1 -1
  698. package/dist/utils/convert-custom-field-type.mjs +16 -21
  699. package/dist/utils/convert-custom-field-type.mjs.map +1 -1
  700. package/dist/utils/cron.js +64 -30
  701. package/dist/utils/cron.js.map +1 -1
  702. package/dist/utils/cron.mjs +63 -31
  703. package/dist/utils/cron.mjs.map +1 -1
  704. package/dist/utils/fetch.d.ts +5 -1
  705. package/dist/utils/fetch.d.ts.map +1 -1
  706. package/dist/utils/fetch.js +28 -17
  707. package/dist/utils/fetch.js.map +1 -1
  708. package/dist/utils/fetch.mjs +27 -18
  709. package/dist/utils/fetch.mjs.map +1 -1
  710. package/dist/utils/filepath-to-prop-path.d.ts +1 -1
  711. package/dist/utils/filepath-to-prop-path.d.ts.map +1 -1
  712. package/dist/utils/filepath-to-prop-path.js +22 -9
  713. package/dist/utils/filepath-to-prop-path.js.map +1 -1
  714. package/dist/utils/filepath-to-prop-path.mjs +20 -7
  715. package/dist/utils/filepath-to-prop-path.mjs.map +1 -1
  716. package/dist/utils/is-initialized.js +21 -12
  717. package/dist/utils/is-initialized.js.map +1 -1
  718. package/dist/utils/is-initialized.mjs +20 -13
  719. package/dist/utils/is-initialized.mjs.map +1 -1
  720. package/dist/utils/lifecycles.js +6 -5
  721. package/dist/utils/lifecycles.js.map +1 -1
  722. package/dist/utils/lifecycles.mjs +5 -6
  723. package/dist/utils/lifecycles.mjs.map +1 -1
  724. package/dist/utils/load-config-file.js +40 -38
  725. package/dist/utils/load-config-file.js.map +1 -1
  726. package/dist/utils/load-config-file.mjs +39 -36
  727. package/dist/utils/load-config-file.mjs.map +1 -1
  728. package/dist/utils/load-files.js +40 -35
  729. package/dist/utils/load-files.js.map +1 -1
  730. package/dist/utils/load-files.mjs +39 -32
  731. package/dist/utils/load-files.mjs.map +1 -1
  732. package/dist/utils/open-browser.js +8 -8
  733. package/dist/utils/open-browser.js.map +1 -1
  734. package/dist/utils/open-browser.mjs +7 -7
  735. package/dist/utils/open-browser.mjs.map +1 -1
  736. package/dist/utils/resolve-working-dirs.js +23 -10
  737. package/dist/utils/resolve-working-dirs.js.map +1 -1
  738. package/dist/utils/resolve-working-dirs.mjs +22 -9
  739. package/dist/utils/resolve-working-dirs.mjs.map +1 -1
  740. package/dist/utils/signals.js +20 -14
  741. package/dist/utils/signals.js.map +1 -1
  742. package/dist/utils/signals.mjs +19 -15
  743. package/dist/utils/signals.mjs.map +1 -1
  744. package/dist/utils/startup-logger.d.ts.map +1 -1
  745. package/dist/utils/startup-logger.js +107 -78
  746. package/dist/utils/startup-logger.js.map +1 -1
  747. package/dist/utils/startup-logger.mjs +106 -75
  748. package/dist/utils/startup-logger.mjs.map +1 -1
  749. package/dist/utils/transform-content-types-to-models.d.ts +552 -23
  750. package/dist/utils/transform-content-types-to-models.d.ts.map +1 -1
  751. package/dist/utils/transform-content-types-to-models.js +350 -258
  752. package/dist/utils/transform-content-types-to-models.js.map +1 -1
  753. package/dist/utils/transform-content-types-to-models.mjs +349 -266
  754. package/dist/utils/transform-content-types-to-models.mjs.map +1 -1
  755. package/dist/utils/update-notifier/index.d.ts.map +1 -1
  756. package/dist/utils/update-notifier/index.js +68 -73
  757. package/dist/utils/update-notifier/index.js.map +1 -1
  758. package/dist/utils/update-notifier/index.mjs +67 -67
  759. package/dist/utils/update-notifier/index.mjs.map +1 -1
  760. package/package.json +34 -31
@@ -1 +1 @@
1
- {"version":3,"file":"apis.mjs","sources":["../../src/loaders/apis.ts"],"sourcesContent":["import { join, extname, basename } from 'path';\nimport fse, { existsSync } from 'fs-extra';\nimport _ from 'lodash';\nimport { strings, importDefault } from '@strapi/utils';\nimport { isEmpty } from 'lodash/fp';\nimport type { Core, Struct } from '@strapi/types';\nimport { getGlobalId, type ContentTypeDefinition } from '../domain/content-type';\n\ninterface API {\n bootstrap: () => void | Promise<void>;\n destroy: () => void | Promise<void>;\n register: () => void | Promise<void>;\n config: Record<string, unknown>;\n routes: Record<string, Core.Router>;\n controllers: Record<string, Core.Controller>;\n services: Record<string, Core.Service>;\n policies: Record<string, Core.Policy>;\n middlewares: Record<string, Core.Middleware>;\n contentTypes: Record<string, { schema: Struct.ContentTypeSchema }>;\n}\n\ninterface APIs {\n [key: string]: API;\n}\n\nconst DEFAULT_CONTENT_TYPE = {\n schema: {},\n actions: {},\n lifecycles: {},\n};\n\n// to handle names with numbers in it we first check if it is already in kebabCase\nconst normalizeName = (name: string) => (strings.isKebabCase(name) ? name : _.kebabCase(name));\n\nconst isDirectory = (fd: fse.Dirent) => fd.isDirectory();\nconst isDotFile = (fd: fse.Dirent) => fd.name.startsWith('.');\n\nexport default async function loadAPIs(strapi: Core.Strapi) {\n if (!existsSync(strapi.dirs.dist.api)) {\n return;\n }\n\n const apisFDs = await (await fse.readdir(strapi.dirs.dist.api, { withFileTypes: true }))\n .filter(isDirectory)\n .filter(_.negate(isDotFile));\n\n const apis: APIs = {};\n\n // only load folders\n for (const apiFD of apisFDs) {\n const apiName = normalizeName(apiFD.name);\n const api = await loadAPI(apiName, join(strapi.dirs.dist.api, apiFD.name));\n\n // @ts-expect-error TODO verify that it's a valid api, not missing bootstrap, register, and destroy\n apis[apiName] = api;\n }\n\n validateContentTypesUnicity(apis);\n\n for (const apiName of Object.keys(apis)) {\n strapi.get('apis').add(apiName, apis[apiName]);\n }\n}\n\nconst validateContentTypesUnicity = (apis: APIs) => {\n const allApisSchemas = Object.values(apis).flatMap((api) => Object.values(api.contentTypes));\n\n const names: string[] = [];\n allApisSchemas.forEach(({ schema }) => {\n if (schema.info.singularName) {\n const singularName = _.kebabCase(schema.info.singularName);\n if (names.includes(singularName)) {\n throw new Error(`The singular name \"${schema.info.singularName}\" should be unique`);\n }\n names.push(singularName);\n }\n\n if (schema.info.pluralName) {\n const pluralName = _.kebabCase(schema.info.pluralName);\n if (names.includes(pluralName)) {\n throw new Error(`The plural name \"${schema.info.pluralName}\" should be unique`);\n }\n names.push(pluralName);\n }\n });\n};\n\nconst loadAPI = async (apiName: string, dir: string) => {\n const [index, config, routes, controllers, services, policies, middlewares, contentTypes] = (\n await Promise.all([\n loadIndex(dir),\n loadDir(join(dir, 'config')),\n loadDir(join(dir, 'routes')),\n loadDir(join(dir, 'controllers')),\n loadDir(join(dir, 'services')),\n loadDir(join(dir, 'policies')),\n loadDir(join(dir, 'middlewares')),\n loadContentTypes(apiName, join(dir, 'content-types')),\n ])\n ).map((result) => result?.result);\n\n return {\n ...(index || {}),\n config: config || {},\n routes: routes || [],\n controllers: controllers || {},\n services: services || {},\n policies: policies || {},\n middlewares: middlewares || {},\n contentTypes: contentTypes || {},\n };\n};\n\nconst loadIndex = async (dir: string) => {\n if (await fse.pathExists(join(dir, 'index.js'))) {\n return loadFile(join(dir, 'index.js'));\n }\n};\n\n// because this is async and its contents are dynamic, we must return it within an object to avoid a property called `then` being interpreted as a Promise\nconst loadContentTypes = async (apiName: string, dir: string) => {\n if (!(await fse.pathExists(dir))) {\n return;\n }\n\n const fds = await fse.readdir(dir, { withFileTypes: true });\n const contentTypes: API['contentTypes'] = {};\n\n // only load folders\n for (const fd of fds) {\n if (fd.isFile()) {\n continue;\n }\n\n const contentTypeName = normalizeName(fd.name);\n const loadedContentType = (await loadDir(join(dir, fd.name)))?.result;\n\n if (isEmpty(loadedContentType) || isEmpty(loadedContentType.schema)) {\n throw new Error(`Could not load content type found at ${dir}`);\n }\n\n const contentType = {\n ...DEFAULT_CONTENT_TYPE,\n ...loadedContentType,\n } as ContentTypeDefinition;\n\n Object.assign(contentType.schema, {\n apiName,\n collectionName: contentType.schema.collectionName || contentType.schema.info.singularName,\n globalId: getGlobalId(contentType.schema),\n });\n\n contentTypes[normalizeName(contentTypeName)] = contentType;\n }\n\n return { result: contentTypes };\n};\n\n// because this is async and its contents are dynamic, we must return it within an object to avoid a property called `then` being interpreted as a Promise\nconst loadDir = async (dir: string) => {\n if (!(await fse.pathExists(dir))) {\n return;\n }\n\n const fds = await fse.readdir(dir, { withFileTypes: true });\n\n const root: Record<string, unknown> = {};\n for (const fd of fds) {\n if (!fd.isFile() || extname(fd.name) === '.map') {\n continue;\n }\n\n const key = basename(fd.name, extname(fd.name));\n\n root[normalizeName(key)] = (await loadFile(join(dir, fd.name))).result;\n }\n\n return { result: root };\n};\n\n// because this is async and its contents are dynamic, we must return it as an array to avoid a property called `then` being interpreted as a Promise\nconst loadFile = async (file: string): Promise<{ result: unknown }> => {\n const ext = extname(file);\n\n switch (ext) {\n case '.js':\n return { result: importDefault(file) };\n case '.json':\n return { result: await fse.readJSON(file) };\n default:\n return { result: {} };\n }\n};\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"apis.mjs","sources":["../../src/loaders/apis.ts"],"sourcesContent":["import { join, extname, basename } from 'path';\nimport fse, { existsSync } from 'fs-extra';\nimport _ from 'lodash';\nimport { strings, importDefault } from '@strapi/utils';\nimport { isEmpty } from 'lodash/fp';\nimport type { Core, Struct } from '@strapi/types';\nimport { getGlobalId, type ContentTypeDefinition } from '../domain/content-type';\n\ninterface API {\n bootstrap: () => void | Promise<void>;\n destroy: () => void | Promise<void>;\n register: () => void | Promise<void>;\n config: Record<string, unknown>;\n routes: Record<string, Core.Router>;\n controllers: Record<string, Core.Controller>;\n services: Record<string, Core.Service>;\n policies: Record<string, Core.Policy>;\n middlewares: Record<string, Core.Middleware>;\n contentTypes: Record<string, { schema: Struct.ContentTypeSchema }>;\n}\n\ninterface APIs {\n [key: string]: API;\n}\n\nconst DEFAULT_CONTENT_TYPE = {\n schema: {},\n actions: {},\n lifecycles: {},\n};\n\n// to handle names with numbers in it we first check if it is already in kebabCase\nconst normalizeName = (name: string) => (strings.isKebabCase(name) ? name : _.kebabCase(name));\n\nconst isDirectory = (fd: fse.Dirent) => fd.isDirectory();\nconst isDotFile = (fd: fse.Dirent) => fd.name.startsWith('.');\n\nexport default async function loadAPIs(strapi: Core.Strapi) {\n if (!existsSync(strapi.dirs.dist.api)) {\n return;\n }\n\n const apisFDs = await (await fse.readdir(strapi.dirs.dist.api, { withFileTypes: true }))\n .filter(isDirectory)\n .filter(_.negate(isDotFile));\n\n const apis: APIs = {};\n\n // only load folders\n for (const apiFD of apisFDs) {\n const apiName = normalizeName(apiFD.name);\n const api = await loadAPI(apiName, join(strapi.dirs.dist.api, apiFD.name));\n\n // @ts-expect-error TODO verify that it's a valid api, not missing bootstrap, register, and destroy\n apis[apiName] = api;\n }\n\n validateContentTypesUnicity(apis);\n\n for (const apiName of Object.keys(apis)) {\n strapi.get('apis').add(apiName, apis[apiName]);\n }\n}\n\nconst validateContentTypesUnicity = (apis: APIs) => {\n const allApisSchemas = Object.values(apis).flatMap((api) => Object.values(api.contentTypes));\n\n const names: string[] = [];\n allApisSchemas.forEach(({ schema }) => {\n if (schema.info.singularName) {\n const singularName = _.kebabCase(schema.info.singularName);\n if (names.includes(singularName)) {\n throw new Error(`The singular name \"${schema.info.singularName}\" should be unique`);\n }\n names.push(singularName);\n }\n\n if (schema.info.pluralName) {\n const pluralName = _.kebabCase(schema.info.pluralName);\n if (names.includes(pluralName)) {\n throw new Error(`The plural name \"${schema.info.pluralName}\" should be unique`);\n }\n names.push(pluralName);\n }\n });\n};\n\nconst loadAPI = async (apiName: string, dir: string) => {\n const [index, config, routes, controllers, services, policies, middlewares, contentTypes] = (\n await Promise.all([\n loadIndex(dir),\n loadDir(join(dir, 'config')),\n loadDir(join(dir, 'routes')),\n loadDir(join(dir, 'controllers')),\n loadDir(join(dir, 'services')),\n loadDir(join(dir, 'policies')),\n loadDir(join(dir, 'middlewares')),\n loadContentTypes(apiName, join(dir, 'content-types')),\n ])\n ).map((result) => result?.result);\n\n return {\n ...(index || {}),\n config: config || {},\n routes: routes || [],\n controllers: controllers || {},\n services: services || {},\n policies: policies || {},\n middlewares: middlewares || {},\n contentTypes: contentTypes || {},\n };\n};\n\nconst loadIndex = async (dir: string) => {\n if (await fse.pathExists(join(dir, 'index.js'))) {\n return loadFile(join(dir, 'index.js'));\n }\n};\n\n// because this is async and its contents are dynamic, we must return it within an object to avoid a property called `then` being interpreted as a Promise\nconst loadContentTypes = async (apiName: string, dir: string) => {\n if (!(await fse.pathExists(dir))) {\n return;\n }\n\n const fds = await fse.readdir(dir, { withFileTypes: true });\n const contentTypes: API['contentTypes'] = {};\n\n // only load folders\n for (const fd of fds) {\n if (fd.isFile()) {\n continue;\n }\n\n const contentTypeName = normalizeName(fd.name);\n const loadedContentType = (await loadDir(join(dir, fd.name)))?.result;\n\n if (isEmpty(loadedContentType) || isEmpty(loadedContentType.schema)) {\n throw new Error(`Could not load content type found at ${dir}`);\n }\n\n const contentType = {\n ...DEFAULT_CONTENT_TYPE,\n ...loadedContentType,\n } as ContentTypeDefinition;\n\n Object.assign(contentType.schema, {\n apiName,\n collectionName: contentType.schema.collectionName || contentType.schema.info.singularName,\n globalId: getGlobalId(contentType.schema),\n });\n\n contentTypes[normalizeName(contentTypeName)] = contentType;\n }\n\n return { result: contentTypes };\n};\n\n// because this is async and its contents are dynamic, we must return it within an object to avoid a property called `then` being interpreted as a Promise\nconst loadDir = async (dir: string) => {\n if (!(await fse.pathExists(dir))) {\n return;\n }\n\n const fds = await fse.readdir(dir, { withFileTypes: true });\n\n const root: Record<string, unknown> = {};\n for (const fd of fds) {\n if (!fd.isFile() || extname(fd.name) === '.map') {\n continue;\n }\n\n const key = basename(fd.name, extname(fd.name));\n\n root[normalizeName(key)] = (await loadFile(join(dir, fd.name))).result;\n }\n\n return { result: root };\n};\n\n// because this is async and its contents are dynamic, we must return it as an array to avoid a property called `then` being interpreted as a Promise\nconst loadFile = async (file: string): Promise<{ result: unknown }> => {\n const ext = extname(file);\n\n switch (ext) {\n case '.js':\n return { result: importDefault(file) };\n case '.json':\n return { result: await fse.readJSON(file) };\n default:\n return { result: {} };\n }\n};\n"],"names":["DEFAULT_CONTENT_TYPE","schema","actions","lifecycles","normalizeName","name","strings","isKebabCase","_","kebabCase","isDirectory","fd","isDotFile","startsWith","loadAPIs","strapi","existsSync","dirs","dist","api","apisFDs","fse","readdir","withFileTypes","filter","negate","apis","apiFD","apiName","loadAPI","join","validateContentTypesUnicity","Object","keys","get","add","allApisSchemas","values","flatMap","contentTypes","names","forEach","info","singularName","includes","Error","push","pluralName","dir","index","config","routes","controllers","services","policies","middlewares","Promise","all","loadIndex","loadDir","loadContentTypes","map","result","pathExists","loadFile","fds","isFile","contentTypeName","loadedContentType","isEmpty","contentType","assign","collectionName","globalId","getGlobalId","root","extname","key","basename","file","ext","importDefault","readJSON"],"mappings":"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"}
@@ -1,38 +1,37 @@
1
- "use strict";
2
- const path = require("path");
3
- const _ = require("lodash");
4
- const fse = require("fs-extra");
5
- const loadFiles = require("../utils/load-files.js");
6
- const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
7
- const ___default = /* @__PURE__ */ _interopDefault(_);
1
+ 'use strict';
2
+
3
+ var path = require('path');
4
+ var _ = require('lodash');
5
+ var fse = require('fs-extra');
6
+ var loadFiles = require('../utils/load-files.js');
7
+
8
8
  async function loadComponents(strapi) {
9
- if (!await fse.pathExists(strapi.dirs.dist.components)) {
10
- return {};
11
- }
12
- const map = await loadFiles.loadFiles(strapi.dirs.dist.components, "*/*.*(js|json)");
13
- const components = Object.keys(map).reduce((acc, category) => {
14
- Object.keys(map[category]).forEach((key) => {
15
- const schema = map[category][key];
16
- if (!schema.collectionName) {
17
- const filePath = path.join(strapi.dirs.app.components, category, schema.__filename__);
18
- return strapi.stopWithError(
19
- `Component ${key} is missing a "collectionName" property.
20
- Verify file ${filePath}.`
21
- );
22
- }
23
- const uid = `${category}.${key}`;
24
- acc[uid] = Object.assign(schema, {
25
- __schema__: ___default.default.cloneDeep(schema),
26
- uid,
27
- category,
28
- modelType: "component",
29
- modelName: key,
30
- globalId: schema.globalId || ___default.default.upperFirst(___default.default.camelCase(`component_${uid}`))
31
- });
32
- });
33
- return acc;
34
- }, {});
35
- strapi.get("components").add(components);
9
+ if (!await fse.pathExists(strapi.dirs.dist.components)) {
10
+ return {};
11
+ }
12
+ const map = await loadFiles.loadFiles(strapi.dirs.dist.components, '*/*.*(js|json)');
13
+ const components = Object.keys(map).reduce((acc, category)=>{
14
+ Object.keys(map[category]).forEach((key)=>{
15
+ const schema = map[category][key];
16
+ if (!schema.collectionName) {
17
+ // NOTE: We're using the filepath from the app directory instead of the dist for information purpose
18
+ const filePath = path.join(strapi.dirs.app.components, category, schema.__filename__);
19
+ return strapi.stopWithError(`Component ${key} is missing a "collectionName" property.\nVerify file ${filePath}.`);
20
+ }
21
+ const uid = `${category}.${key}`;
22
+ acc[uid] = Object.assign(schema, {
23
+ __schema__: _.cloneDeep(schema),
24
+ uid,
25
+ category,
26
+ modelType: 'component',
27
+ modelName: key,
28
+ globalId: schema.globalId || _.upperFirst(_.camelCase(`component_${uid}`))
29
+ });
30
+ });
31
+ return acc;
32
+ }, {});
33
+ strapi.get('components').add(components);
36
34
  }
35
+
37
36
  module.exports = loadComponents;
38
37
  //# sourceMappingURL=components.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"components.js","sources":["../../src/loaders/components.ts"],"sourcesContent":["import { join } from 'path';\nimport _ from 'lodash';\nimport { pathExists } from 'fs-extra';\nimport type { Core, Struct, UID } from '@strapi/types';\nimport { loadFiles } from '../utils/load-files';\n\ntype LoadedComponent = {\n collectionName: string;\n __filename__: string;\n __schema__: LoadedComponent;\n uid: string;\n category: string;\n modelName: string;\n globalId: string;\n info: any;\n attributes: any;\n};\n\ntype LoadedComponents = {\n [category: string]: {\n [key: string]: LoadedComponent;\n };\n};\n\ntype ComponentMap = {\n [uid in UID.Component]: Struct.ComponentSchema;\n};\n\nexport default async function loadComponents(strapi: Core.Strapi) {\n if (!(await pathExists(strapi.dirs.dist.components))) {\n return {};\n }\n\n const map = await loadFiles<LoadedComponents>(strapi.dirs.dist.components, '*/*.*(js|json)');\n\n const components = Object.keys(map).reduce((acc, category) => {\n Object.keys(map[category]).forEach((key) => {\n const schema = map[category][key];\n\n if (!schema.collectionName) {\n // NOTE: We're using the filepath from the app directory instead of the dist for information purpose\n const filePath = join(strapi.dirs.app.components, category, schema.__filename__);\n\n return strapi.stopWithError(\n `Component ${key} is missing a \"collectionName\" property.\\nVerify file ${filePath}.`\n );\n }\n\n const uid: UID.Component = `${category}.${key}`;\n\n acc[uid] = Object.assign(schema, {\n __schema__: _.cloneDeep(schema),\n uid,\n category,\n modelType: 'component' as const,\n modelName: key,\n globalId: schema.globalId || _.upperFirst(_.camelCase(`component_${uid}`)),\n });\n });\n\n return acc;\n }, {} as ComponentMap);\n\n strapi.get('components').add(components);\n}\n"],"names":["pathExists","loadFiles","join","_"],"mappings":";;;;;;;AA4BA,eAA8B,eAAe,QAAqB;AAChE,MAAI,CAAE,MAAMA,IAAAA,WAAW,OAAO,KAAK,KAAK,UAAU,GAAI;AACpD,WAAO;EACT;AAEA,QAAM,MAAM,MAAMC,UAAAA,UAA4B,OAAO,KAAK,KAAK,YAAY,gBAAgB;AAErF,QAAA,aAAa,OAAO,KAAK,GAAG,EAAE,OAAO,CAAC,KAAK,aAAa;AAC5D,WAAO,KAAK,IAAI,QAAQ,CAAC,EAAE,QAAQ,CAAC,QAAQ;AAC1C,YAAM,SAAS,IAAI,QAAQ,EAAE,GAAG;AAE5B,UAAA,CAAC,OAAO,gBAAgB;AAEpB,cAAA,WAAWC,UAAK,OAAO,KAAK,IAAI,YAAY,UAAU,OAAO,YAAY;AAE/E,eAAO,OAAO;AAAA,UACZ,aAAa,GAAG;AAAA,cAAyD,QAAQ;AAAA,QAAA;AAAA,MAErF;AAEA,YAAM,MAAqB,GAAG,QAAQ,IAAI,GAAG;AAE7C,UAAI,GAAG,IAAI,OAAO,OAAO,QAAQ;AAAA,QAC/B,YAAYC,WAAAA,QAAE,UAAU,MAAM;AAAA,QAC9B;AAAA,QACA;AAAA,QACA,WAAW;AAAA,QACX,WAAW;AAAA,QACX,UAAU,OAAO,YAAYA,WAAAA,QAAE,WAAWA,mBAAE,UAAU,aAAa,GAAG,EAAE,CAAC;AAAA,MAAA,CAC1E;AAAA,IAAA,CACF;AAEM,WAAA;AAAA,EACT,GAAG,CAAkB,CAAA;AAErB,SAAO,IAAI,YAAY,EAAE,IAAI,UAAU;AACzC;;"}
1
+ {"version":3,"file":"components.js","sources":["../../src/loaders/components.ts"],"sourcesContent":["import { join } from 'path';\nimport _ from 'lodash';\nimport { pathExists } from 'fs-extra';\nimport type { Core, Struct, UID } from '@strapi/types';\nimport { loadFiles } from '../utils/load-files';\n\ntype LoadedComponent = {\n collectionName: string;\n __filename__: string;\n __schema__: LoadedComponent;\n uid: string;\n category: string;\n modelName: string;\n globalId: string;\n info: any;\n attributes: any;\n};\n\ntype LoadedComponents = {\n [category: string]: {\n [key: string]: LoadedComponent;\n };\n};\n\ntype ComponentMap = {\n [uid in UID.Component]: Struct.ComponentSchema;\n};\n\nexport default async function loadComponents(strapi: Core.Strapi) {\n if (!(await pathExists(strapi.dirs.dist.components))) {\n return {};\n }\n\n const map = await loadFiles<LoadedComponents>(strapi.dirs.dist.components, '*/*.*(js|json)');\n\n const components = Object.keys(map).reduce((acc, category) => {\n Object.keys(map[category]).forEach((key) => {\n const schema = map[category][key];\n\n if (!schema.collectionName) {\n // NOTE: We're using the filepath from the app directory instead of the dist for information purpose\n const filePath = join(strapi.dirs.app.components, category, schema.__filename__);\n\n return strapi.stopWithError(\n `Component ${key} is missing a \"collectionName\" property.\\nVerify file ${filePath}.`\n );\n }\n\n const uid: UID.Component = `${category}.${key}`;\n\n acc[uid] = Object.assign(schema, {\n __schema__: _.cloneDeep(schema),\n uid,\n category,\n modelType: 'component' as const,\n modelName: key,\n globalId: schema.globalId || _.upperFirst(_.camelCase(`component_${uid}`)),\n });\n });\n\n return acc;\n }, {} as ComponentMap);\n\n strapi.get('components').add(components);\n}\n"],"names":["loadComponents","strapi","pathExists","dirs","dist","components","map","loadFiles","Object","keys","reduce","acc","category","forEach","key","schema","collectionName","filePath","join","app","__filename__","stopWithError","uid","assign","__schema__","_","cloneDeep","modelType","modelName","globalId","upperFirst","camelCase","get","add"],"mappings":";;;;;;;AA4Be,eAAeA,eAAeC,MAAmB,EAAA;IAC9D,IAAI,CAAE,MAAMC,cAAWD,CAAAA,MAAAA,CAAOE,IAAI,CAACC,IAAI,CAACC,UAAU,CAAI,EAAA;AACpD,QAAA,OAAO,EAAC;AACV;IAEA,MAAMC,GAAAA,GAAM,MAAMC,mBAA4BN,CAAAA,MAAAA,CAAOE,IAAI,CAACC,IAAI,CAACC,UAAU,EAAE,gBAAA,CAAA;IAE3E,MAAMA,UAAAA,GAAaG,OAAOC,IAAI,CAACH,KAAKI,MAAM,CAAC,CAACC,GAAKC,EAAAA,QAAAA,GAAAA;QAC/CJ,MAAOC,CAAAA,IAAI,CAACH,GAAG,CAACM,SAAS,CAAEC,CAAAA,OAAO,CAAC,CAACC,GAAAA,GAAAA;AAClC,YAAA,MAAMC,MAAST,GAAAA,GAAG,CAACM,QAAAA,CAAS,CAACE,GAAI,CAAA;YAEjC,IAAI,CAACC,MAAOC,CAAAA,cAAc,EAAE;;gBAE1B,MAAMC,QAAAA,GAAWC,SAAKjB,CAAAA,MAAAA,CAAOE,IAAI,CAACgB,GAAG,CAACd,UAAU,EAAEO,QAAUG,EAAAA,MAAAA,CAAOK,YAAY,CAAA;gBAE/E,OAAOnB,MAAAA,CAAOoB,aAAa,CACzB,CAAC,UAAU,EAAEP,GAAAA,CAAI,sDAAsD,EAAEG,QAAS,CAAA,CAAC,CAAC,CAAA;AAExF;AAEA,YAAA,MAAMK,MAAqB,CAAC,EAAEV,SAAS,CAAC,EAAEE,IAAI,CAAC;AAE/CH,YAAAA,GAAG,CAACW,GAAI,CAAA,GAAGd,MAAOe,CAAAA,MAAM,CAACR,MAAQ,EAAA;gBAC/BS,UAAYC,EAAAA,CAAAA,CAAEC,SAAS,CAACX,MAAAA,CAAAA;AACxBO,gBAAAA,GAAAA;AACAV,gBAAAA,QAAAA;gBACAe,SAAW,EAAA,WAAA;gBACXC,SAAWd,EAAAA,GAAAA;AACXe,gBAAAA,QAAAA,EAAUd,MAAOc,CAAAA,QAAQ,IAAIJ,CAAAA,CAAEK,UAAU,CAACL,CAAEM,CAAAA,SAAS,CAAC,CAAC,UAAU,EAAET,IAAI,CAAC,CAAA;AAC1E,aAAA,CAAA;AACF,SAAA,CAAA;QAEA,OAAOX,GAAAA;AACT,KAAA,EAAG,EAAC,CAAA;AAEJV,IAAAA,MAAAA,CAAO+B,GAAG,CAAC,YAAcC,CAAAA,CAAAA,GAAG,CAAC5B,UAAAA,CAAAA;AAC/B;;;;"}
@@ -1,37 +1,35 @@
1
- import { join } from "path";
2
- import _ from "lodash";
3
- import { pathExists } from "fs-extra";
4
- import { loadFiles } from "../utils/load-files.mjs";
1
+ import { join } from 'path';
2
+ import _ from 'lodash';
3
+ import { pathExists } from 'fs-extra';
4
+ import { loadFiles } from '../utils/load-files.mjs';
5
+
5
6
  async function loadComponents(strapi) {
6
- if (!await pathExists(strapi.dirs.dist.components)) {
7
- return {};
8
- }
9
- const map = await loadFiles(strapi.dirs.dist.components, "*/*.*(js|json)");
10
- const components = Object.keys(map).reduce((acc, category) => {
11
- Object.keys(map[category]).forEach((key) => {
12
- const schema = map[category][key];
13
- if (!schema.collectionName) {
14
- const filePath = join(strapi.dirs.app.components, category, schema.__filename__);
15
- return strapi.stopWithError(
16
- `Component ${key} is missing a "collectionName" property.
17
- Verify file ${filePath}.`
18
- );
19
- }
20
- const uid = `${category}.${key}`;
21
- acc[uid] = Object.assign(schema, {
22
- __schema__: _.cloneDeep(schema),
23
- uid,
24
- category,
25
- modelType: "component",
26
- modelName: key,
27
- globalId: schema.globalId || _.upperFirst(_.camelCase(`component_${uid}`))
28
- });
29
- });
30
- return acc;
31
- }, {});
32
- strapi.get("components").add(components);
7
+ if (!await pathExists(strapi.dirs.dist.components)) {
8
+ return {};
9
+ }
10
+ const map = await loadFiles(strapi.dirs.dist.components, '*/*.*(js|json)');
11
+ const components = Object.keys(map).reduce((acc, category)=>{
12
+ Object.keys(map[category]).forEach((key)=>{
13
+ const schema = map[category][key];
14
+ if (!schema.collectionName) {
15
+ // NOTE: We're using the filepath from the app directory instead of the dist for information purpose
16
+ const filePath = join(strapi.dirs.app.components, category, schema.__filename__);
17
+ return strapi.stopWithError(`Component ${key} is missing a "collectionName" property.\nVerify file ${filePath}.`);
18
+ }
19
+ const uid = `${category}.${key}`;
20
+ acc[uid] = Object.assign(schema, {
21
+ __schema__: _.cloneDeep(schema),
22
+ uid,
23
+ category,
24
+ modelType: 'component',
25
+ modelName: key,
26
+ globalId: schema.globalId || _.upperFirst(_.camelCase(`component_${uid}`))
27
+ });
28
+ });
29
+ return acc;
30
+ }, {});
31
+ strapi.get('components').add(components);
33
32
  }
34
- export {
35
- loadComponents as default
36
- };
33
+
34
+ export { loadComponents as default };
37
35
  //# sourceMappingURL=components.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"components.mjs","sources":["../../src/loaders/components.ts"],"sourcesContent":["import { join } from 'path';\nimport _ from 'lodash';\nimport { pathExists } from 'fs-extra';\nimport type { Core, Struct, UID } from '@strapi/types';\nimport { loadFiles } from '../utils/load-files';\n\ntype LoadedComponent = {\n collectionName: string;\n __filename__: string;\n __schema__: LoadedComponent;\n uid: string;\n category: string;\n modelName: string;\n globalId: string;\n info: any;\n attributes: any;\n};\n\ntype LoadedComponents = {\n [category: string]: {\n [key: string]: LoadedComponent;\n };\n};\n\ntype ComponentMap = {\n [uid in UID.Component]: Struct.ComponentSchema;\n};\n\nexport default async function loadComponents(strapi: Core.Strapi) {\n if (!(await pathExists(strapi.dirs.dist.components))) {\n return {};\n }\n\n const map = await loadFiles<LoadedComponents>(strapi.dirs.dist.components, '*/*.*(js|json)');\n\n const components = Object.keys(map).reduce((acc, category) => {\n Object.keys(map[category]).forEach((key) => {\n const schema = map[category][key];\n\n if (!schema.collectionName) {\n // NOTE: We're using the filepath from the app directory instead of the dist for information purpose\n const filePath = join(strapi.dirs.app.components, category, schema.__filename__);\n\n return strapi.stopWithError(\n `Component ${key} is missing a \"collectionName\" property.\\nVerify file ${filePath}.`\n );\n }\n\n const uid: UID.Component = `${category}.${key}`;\n\n acc[uid] = Object.assign(schema, {\n __schema__: _.cloneDeep(schema),\n uid,\n category,\n modelType: 'component' as const,\n modelName: key,\n globalId: schema.globalId || _.upperFirst(_.camelCase(`component_${uid}`)),\n });\n });\n\n return acc;\n }, {} as ComponentMap);\n\n strapi.get('components').add(components);\n}\n"],"names":[],"mappings":";;;;AA4BA,eAA8B,eAAe,QAAqB;AAChE,MAAI,CAAE,MAAM,WAAW,OAAO,KAAK,KAAK,UAAU,GAAI;AACpD,WAAO;EACT;AAEA,QAAM,MAAM,MAAM,UAA4B,OAAO,KAAK,KAAK,YAAY,gBAAgB;AAErF,QAAA,aAAa,OAAO,KAAK,GAAG,EAAE,OAAO,CAAC,KAAK,aAAa;AAC5D,WAAO,KAAK,IAAI,QAAQ,CAAC,EAAE,QAAQ,CAAC,QAAQ;AAC1C,YAAM,SAAS,IAAI,QAAQ,EAAE,GAAG;AAE5B,UAAA,CAAC,OAAO,gBAAgB;AAEpB,cAAA,WAAW,KAAK,OAAO,KAAK,IAAI,YAAY,UAAU,OAAO,YAAY;AAE/E,eAAO,OAAO;AAAA,UACZ,aAAa,GAAG;AAAA,cAAyD,QAAQ;AAAA,QAAA;AAAA,MAErF;AAEA,YAAM,MAAqB,GAAG,QAAQ,IAAI,GAAG;AAE7C,UAAI,GAAG,IAAI,OAAO,OAAO,QAAQ;AAAA,QAC/B,YAAY,EAAE,UAAU,MAAM;AAAA,QAC9B;AAAA,QACA;AAAA,QACA,WAAW;AAAA,QACX,WAAW;AAAA,QACX,UAAU,OAAO,YAAY,EAAE,WAAW,EAAE,UAAU,aAAa,GAAG,EAAE,CAAC;AAAA,MAAA,CAC1E;AAAA,IAAA,CACF;AAEM,WAAA;AAAA,EACT,GAAG,CAAkB,CAAA;AAErB,SAAO,IAAI,YAAY,EAAE,IAAI,UAAU;AACzC;"}
1
+ {"version":3,"file":"components.mjs","sources":["../../src/loaders/components.ts"],"sourcesContent":["import { join } from 'path';\nimport _ from 'lodash';\nimport { pathExists } from 'fs-extra';\nimport type { Core, Struct, UID } from '@strapi/types';\nimport { loadFiles } from '../utils/load-files';\n\ntype LoadedComponent = {\n collectionName: string;\n __filename__: string;\n __schema__: LoadedComponent;\n uid: string;\n category: string;\n modelName: string;\n globalId: string;\n info: any;\n attributes: any;\n};\n\ntype LoadedComponents = {\n [category: string]: {\n [key: string]: LoadedComponent;\n };\n};\n\ntype ComponentMap = {\n [uid in UID.Component]: Struct.ComponentSchema;\n};\n\nexport default async function loadComponents(strapi: Core.Strapi) {\n if (!(await pathExists(strapi.dirs.dist.components))) {\n return {};\n }\n\n const map = await loadFiles<LoadedComponents>(strapi.dirs.dist.components, '*/*.*(js|json)');\n\n const components = Object.keys(map).reduce((acc, category) => {\n Object.keys(map[category]).forEach((key) => {\n const schema = map[category][key];\n\n if (!schema.collectionName) {\n // NOTE: We're using the filepath from the app directory instead of the dist for information purpose\n const filePath = join(strapi.dirs.app.components, category, schema.__filename__);\n\n return strapi.stopWithError(\n `Component ${key} is missing a \"collectionName\" property.\\nVerify file ${filePath}.`\n );\n }\n\n const uid: UID.Component = `${category}.${key}`;\n\n acc[uid] = Object.assign(schema, {\n __schema__: _.cloneDeep(schema),\n uid,\n category,\n modelType: 'component' as const,\n modelName: key,\n globalId: schema.globalId || _.upperFirst(_.camelCase(`component_${uid}`)),\n });\n });\n\n return acc;\n }, {} as ComponentMap);\n\n strapi.get('components').add(components);\n}\n"],"names":["loadComponents","strapi","pathExists","dirs","dist","components","map","loadFiles","Object","keys","reduce","acc","category","forEach","key","schema","collectionName","filePath","join","app","__filename__","stopWithError","uid","assign","__schema__","_","cloneDeep","modelType","modelName","globalId","upperFirst","camelCase","get","add"],"mappings":";;;;;AA4Be,eAAeA,eAAeC,MAAmB,EAAA;IAC9D,IAAI,CAAE,MAAMC,UAAWD,CAAAA,MAAAA,CAAOE,IAAI,CAACC,IAAI,CAACC,UAAU,CAAI,EAAA;AACpD,QAAA,OAAO,EAAC;AACV;IAEA,MAAMC,GAAAA,GAAM,MAAMC,SAA4BN,CAAAA,MAAAA,CAAOE,IAAI,CAACC,IAAI,CAACC,UAAU,EAAE,gBAAA,CAAA;IAE3E,MAAMA,UAAAA,GAAaG,OAAOC,IAAI,CAACH,KAAKI,MAAM,CAAC,CAACC,GAAKC,EAAAA,QAAAA,GAAAA;QAC/CJ,MAAOC,CAAAA,IAAI,CAACH,GAAG,CAACM,SAAS,CAAEC,CAAAA,OAAO,CAAC,CAACC,GAAAA,GAAAA;AAClC,YAAA,MAAMC,MAAST,GAAAA,GAAG,CAACM,QAAAA,CAAS,CAACE,GAAI,CAAA;YAEjC,IAAI,CAACC,MAAOC,CAAAA,cAAc,EAAE;;gBAE1B,MAAMC,QAAAA,GAAWC,IAAKjB,CAAAA,MAAAA,CAAOE,IAAI,CAACgB,GAAG,CAACd,UAAU,EAAEO,QAAUG,EAAAA,MAAAA,CAAOK,YAAY,CAAA;gBAE/E,OAAOnB,MAAAA,CAAOoB,aAAa,CACzB,CAAC,UAAU,EAAEP,GAAAA,CAAI,sDAAsD,EAAEG,QAAS,CAAA,CAAC,CAAC,CAAA;AAExF;AAEA,YAAA,MAAMK,MAAqB,CAAC,EAAEV,SAAS,CAAC,EAAEE,IAAI,CAAC;AAE/CH,YAAAA,GAAG,CAACW,GAAI,CAAA,GAAGd,MAAOe,CAAAA,MAAM,CAACR,MAAQ,EAAA;gBAC/BS,UAAYC,EAAAA,CAAAA,CAAEC,SAAS,CAACX,MAAAA,CAAAA;AACxBO,gBAAAA,GAAAA;AACAV,gBAAAA,QAAAA;gBACAe,SAAW,EAAA,WAAA;gBACXC,SAAWd,EAAAA,GAAAA;AACXe,gBAAAA,QAAAA,EAAUd,MAAOc,CAAAA,QAAQ,IAAIJ,CAAAA,CAAEK,UAAU,CAACL,CAAEM,CAAAA,SAAS,CAAC,CAAC,UAAU,EAAET,IAAI,CAAC,CAAA;AAC1E,aAAA,CAAA;AACF,SAAA,CAAA;QAEA,OAAOX,GAAAA;AACT,KAAA,EAAG,EAAC,CAAA;AAEJV,IAAAA,MAAAA,CAAO+B,GAAG,CAAC,YAAcC,CAAAA,CAAAA,GAAG,CAAC5B,UAAAA,CAAAA;AAC/B;;;;"}
@@ -1,24 +1,26 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const srcIndex = require("./src-index.js");
4
- const apis = require("./apis.js");
5
- const middlewares = require("./middlewares.js");
6
- const components = require("./components.js");
7
- const policies = require("./policies.js");
8
- const index = require("./plugins/index.js");
9
- const sanitizers = require("./sanitizers.js");
10
- const validators = require("./validators.js");
1
+ 'use strict';
2
+
3
+ var srcIndex = require('./src-index.js');
4
+ var apis = require('./apis.js');
5
+ var middlewares = require('./middlewares.js');
6
+ var components = require('./components.js');
7
+ var policies = require('./policies.js');
8
+ var index = require('./plugins/index.js');
9
+ var sanitizers = require('./sanitizers.js');
10
+ var validators = require('./validators.js');
11
+
11
12
  async function loadApplicationContext(strapi) {
12
- await Promise.all([
13
- srcIndex(strapi),
14
- sanitizers(strapi),
15
- validators(strapi),
16
- index(strapi),
17
- apis(strapi),
18
- components(strapi),
19
- middlewares(strapi),
20
- policies(strapi)
21
- ]);
13
+ await Promise.all([
14
+ srcIndex(strapi),
15
+ sanitizers(strapi),
16
+ validators(strapi),
17
+ index(strapi),
18
+ apis(strapi),
19
+ components(strapi),
20
+ middlewares(strapi),
21
+ policies(strapi)
22
+ ]);
22
23
  }
24
+
23
25
  exports.loadApplicationContext = loadApplicationContext;
24
26
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/loaders/index.ts"],"sourcesContent":["import type { Core } from '@strapi/types';\n\nimport loadSrcIndex from './src-index';\nimport loadAPIs from './apis';\nimport loadMiddlewares from './middlewares';\nimport loadComponents from './components';\nimport loadPolicies from './policies';\nimport loadPlugins from './plugins';\nimport loadSanitizers from './sanitizers';\nimport loadValidators from './validators';\n\nexport async function loadApplicationContext(strapi: Core.Strapi) {\n await Promise.all([\n loadSrcIndex(strapi),\n loadSanitizers(strapi),\n loadValidators(strapi),\n loadPlugins(strapi),\n loadAPIs(strapi),\n loadComponents(strapi),\n loadMiddlewares(strapi),\n loadPolicies(strapi),\n ]);\n}\n"],"names":["loadSrcIndex","loadSanitizers","loadValidators","loadPlugins","loadAPIs","loadComponents","loadMiddlewares","loadPolicies"],"mappings":";;;;;;;;;;AAWA,eAAsB,uBAAuB,QAAqB;AAChE,QAAM,QAAQ,IAAI;AAAA,IAChBA,SAAa,MAAM;AAAA,IACnBC,WAAe,MAAM;AAAA,IACrBC,WAAe,MAAM;AAAA,IACrBC,MAAY,MAAM;AAAA,IAClBC,KAAS,MAAM;AAAA,IACfC,WAAe,MAAM;AAAA,IACrBC,YAAgB,MAAM;AAAA,IACtBC,SAAa,MAAM;AAAA,EAAA,CACpB;AACH;;"}
1
+ {"version":3,"file":"index.js","sources":["../../src/loaders/index.ts"],"sourcesContent":["import type { Core } from '@strapi/types';\n\nimport loadSrcIndex from './src-index';\nimport loadAPIs from './apis';\nimport loadMiddlewares from './middlewares';\nimport loadComponents from './components';\nimport loadPolicies from './policies';\nimport loadPlugins from './plugins';\nimport loadSanitizers from './sanitizers';\nimport loadValidators from './validators';\n\nexport async function loadApplicationContext(strapi: Core.Strapi) {\n await Promise.all([\n loadSrcIndex(strapi),\n loadSanitizers(strapi),\n loadValidators(strapi),\n loadPlugins(strapi),\n loadAPIs(strapi),\n loadComponents(strapi),\n loadMiddlewares(strapi),\n loadPolicies(strapi),\n ]);\n}\n"],"names":["loadApplicationContext","strapi","Promise","all","loadSrcIndex","loadSanitizers","loadValidators","loadPlugins","loadAPIs","loadComponents","loadMiddlewares","loadPolicies"],"mappings":";;;;;;;;;;;AAWO,eAAeA,uBAAuBC,MAAmB,EAAA;IAC9D,MAAMC,OAAAA,CAAQC,GAAG,CAAC;QAChBC,QAAaH,CAAAA,MAAAA,CAAAA;QACbI,UAAeJ,CAAAA,MAAAA,CAAAA;QACfK,UAAeL,CAAAA,MAAAA,CAAAA;QACfM,KAAYN,CAAAA,MAAAA,CAAAA;QACZO,IAASP,CAAAA,MAAAA,CAAAA;QACTQ,UAAeR,CAAAA,MAAAA,CAAAA;QACfS,WAAgBT,CAAAA,MAAAA,CAAAA;QAChBU,QAAaV,CAAAA,MAAAA;AACd,KAAA,CAAA;AACH;;;;"}
@@ -1,24 +1,24 @@
1
- import loadSrcIndex from "./src-index.mjs";
2
- import loadAPIs from "./apis.mjs";
3
- import loadMiddlewares from "./middlewares.mjs";
4
- import loadComponents from "./components.mjs";
5
- import loadPolicies from "./policies.mjs";
6
- import loadPlugins from "./plugins/index.mjs";
7
- import loadSanitizers from "./sanitizers.mjs";
8
- import loadValidators from "./validators.mjs";
1
+ import loadSrcIndex from './src-index.mjs';
2
+ import loadAPIs from './apis.mjs';
3
+ import loadMiddlewares from './middlewares.mjs';
4
+ import loadComponents from './components.mjs';
5
+ import loadPolicies from './policies.mjs';
6
+ import loadPlugins from './plugins/index.mjs';
7
+ import loadSanitizers from './sanitizers.mjs';
8
+ import loadValidators from './validators.mjs';
9
+
9
10
  async function loadApplicationContext(strapi) {
10
- await Promise.all([
11
- loadSrcIndex(strapi),
12
- loadSanitizers(strapi),
13
- loadValidators(strapi),
14
- loadPlugins(strapi),
15
- loadAPIs(strapi),
16
- loadComponents(strapi),
17
- loadMiddlewares(strapi),
18
- loadPolicies(strapi)
19
- ]);
11
+ await Promise.all([
12
+ loadSrcIndex(strapi),
13
+ loadSanitizers(strapi),
14
+ loadValidators(strapi),
15
+ loadPlugins(strapi),
16
+ loadAPIs(strapi),
17
+ loadComponents(strapi),
18
+ loadMiddlewares(strapi),
19
+ loadPolicies(strapi)
20
+ ]);
20
21
  }
21
- export {
22
- loadApplicationContext
23
- };
22
+
23
+ export { loadApplicationContext };
24
24
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../src/loaders/index.ts"],"sourcesContent":["import type { Core } from '@strapi/types';\n\nimport loadSrcIndex from './src-index';\nimport loadAPIs from './apis';\nimport loadMiddlewares from './middlewares';\nimport loadComponents from './components';\nimport loadPolicies from './policies';\nimport loadPlugins from './plugins';\nimport loadSanitizers from './sanitizers';\nimport loadValidators from './validators';\n\nexport async function loadApplicationContext(strapi: Core.Strapi) {\n await Promise.all([\n loadSrcIndex(strapi),\n loadSanitizers(strapi),\n loadValidators(strapi),\n loadPlugins(strapi),\n loadAPIs(strapi),\n loadComponents(strapi),\n loadMiddlewares(strapi),\n loadPolicies(strapi),\n ]);\n}\n"],"names":[],"mappings":";;;;;;;;AAWA,eAAsB,uBAAuB,QAAqB;AAChE,QAAM,QAAQ,IAAI;AAAA,IAChB,aAAa,MAAM;AAAA,IACnB,eAAe,MAAM;AAAA,IACrB,eAAe,MAAM;AAAA,IACrB,YAAY,MAAM;AAAA,IAClB,SAAS,MAAM;AAAA,IACf,eAAe,MAAM;AAAA,IACrB,gBAAgB,MAAM;AAAA,IACtB,aAAa,MAAM;AAAA,EAAA,CACpB;AACH;"}
1
+ {"version":3,"file":"index.mjs","sources":["../../src/loaders/index.ts"],"sourcesContent":["import type { Core } from '@strapi/types';\n\nimport loadSrcIndex from './src-index';\nimport loadAPIs from './apis';\nimport loadMiddlewares from './middlewares';\nimport loadComponents from './components';\nimport loadPolicies from './policies';\nimport loadPlugins from './plugins';\nimport loadSanitizers from './sanitizers';\nimport loadValidators from './validators';\n\nexport async function loadApplicationContext(strapi: Core.Strapi) {\n await Promise.all([\n loadSrcIndex(strapi),\n loadSanitizers(strapi),\n loadValidators(strapi),\n loadPlugins(strapi),\n loadAPIs(strapi),\n loadComponents(strapi),\n loadMiddlewares(strapi),\n loadPolicies(strapi),\n ]);\n}\n"],"names":["loadApplicationContext","strapi","Promise","all","loadSrcIndex","loadSanitizers","loadValidators","loadPlugins","loadAPIs","loadComponents","loadMiddlewares","loadPolicies"],"mappings":";;;;;;;;;AAWO,eAAeA,uBAAuBC,MAAmB,EAAA;IAC9D,MAAMC,OAAAA,CAAQC,GAAG,CAAC;QAChBC,YAAaH,CAAAA,MAAAA,CAAAA;QACbI,cAAeJ,CAAAA,MAAAA,CAAAA;QACfK,cAAeL,CAAAA,MAAAA,CAAAA;QACfM,WAAYN,CAAAA,MAAAA,CAAAA;QACZO,QAASP,CAAAA,MAAAA,CAAAA;QACTQ,cAAeR,CAAAA,MAAAA,CAAAA;QACfS,eAAgBT,CAAAA,MAAAA,CAAAA;QAChBU,YAAaV,CAAAA,MAAAA;AACd,KAAA,CAAA;AACH;;;;"}
@@ -1,31 +1,35 @@
1
- "use strict";
2
- const path = require("path");
3
- const fse = require("fs-extra");
4
- const strapiUtils = require("@strapi/utils");
5
- const index = require("../middlewares/index.js");
6
- const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
7
- const fse__default = /* @__PURE__ */ _interopDefault(fse);
1
+ 'use strict';
2
+
3
+ var path = require('path');
4
+ var fse = require('fs-extra');
5
+ var strapiUtils = require('@strapi/utils');
6
+ var index = require('../middlewares/index.js');
7
+
8
+ // TODO:: allow folders with index.js inside for bigger policies
8
9
  async function loadMiddlewares(strapi) {
9
- const localMiddlewares = await loadLocalMiddlewares(strapi);
10
- strapi.get("middlewares").add(`global::`, localMiddlewares);
11
- strapi.get("middlewares").add(`strapi::`, index.middlewares);
10
+ const localMiddlewares = await loadLocalMiddlewares(strapi);
11
+ strapi.get('middlewares').add(`global::`, localMiddlewares);
12
+ strapi.get('middlewares').add(`strapi::`, index.middlewares);
12
13
  }
13
- const loadLocalMiddlewares = async (strapi) => {
14
- const dir = strapi.dirs.dist.middlewares;
15
- if (!await fse__default.default.pathExists(dir)) {
16
- return {};
17
- }
18
- const middlewares = {};
19
- const paths = await fse__default.default.readdir(dir, { withFileTypes: true });
20
- for (const fd of paths) {
21
- const { name } = fd;
22
- const fullPath = path.join(dir, name);
23
- if (fd.isFile() && path.extname(name) === ".js") {
24
- const key = path.basename(name, ".js");
25
- middlewares[key] = strapiUtils.importDefault(fullPath);
14
+ const loadLocalMiddlewares = async (strapi)=>{
15
+ const dir = strapi.dirs.dist.middlewares;
16
+ if (!await fse.pathExists(dir)) {
17
+ return {};
26
18
  }
27
- }
28
- return middlewares;
19
+ const middlewares = {};
20
+ const paths = await fse.readdir(dir, {
21
+ withFileTypes: true
22
+ });
23
+ for (const fd of paths){
24
+ const { name } = fd;
25
+ const fullPath = path.join(dir, name);
26
+ if (fd.isFile() && path.extname(name) === '.js') {
27
+ const key = path.basename(name, '.js');
28
+ middlewares[key] = strapiUtils.importDefault(fullPath);
29
+ }
30
+ }
31
+ return middlewares;
29
32
  };
33
+
30
34
  module.exports = loadMiddlewares;
31
35
  //# sourceMappingURL=middlewares.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"middlewares.js","sources":["../../src/loaders/middlewares.ts"],"sourcesContent":["import { join, extname, basename } from 'path';\nimport fse from 'fs-extra';\nimport { importDefault } from '@strapi/utils';\nimport type { Core } from '@strapi/types';\nimport { middlewares as internalMiddlewares } from '../middlewares';\n\n// TODO:: allow folders with index.js inside for bigger policies\nexport default async function loadMiddlewares(strapi: Core.Strapi) {\n const localMiddlewares = await loadLocalMiddlewares(strapi);\n\n strapi.get('middlewares').add(`global::`, localMiddlewares);\n strapi.get('middlewares').add(`strapi::`, internalMiddlewares);\n}\n\nconst loadLocalMiddlewares = async (strapi: Core.Strapi) => {\n const dir = strapi.dirs.dist.middlewares;\n\n if (!(await fse.pathExists(dir))) {\n return {};\n }\n\n const middlewares: Record<string, Core.MiddlewareFactory> = {};\n const paths = await fse.readdir(dir, { withFileTypes: true });\n\n for (const fd of paths) {\n const { name } = fd;\n const fullPath = join(dir, name);\n\n if (fd.isFile() && extname(name) === '.js') {\n const key = basename(name, '.js');\n middlewares[key] = importDefault(fullPath);\n }\n }\n\n return middlewares;\n};\n"],"names":["internalMiddlewares","fse","join","extname","basename","importDefault"],"mappings":";;;;;;;AAOA,eAA8B,gBAAgB,QAAqB;AAC3D,QAAA,mBAAmB,MAAM,qBAAqB,MAAM;AAE1D,SAAO,IAAI,aAAa,EAAE,IAAI,YAAY,gBAAgB;AAC1D,SAAO,IAAI,aAAa,EAAE,IAAI,YAAYA,MAAAA,WAAmB;AAC/D;AAEA,MAAM,uBAAuB,OAAO,WAAwB;AACpD,QAAA,MAAM,OAAO,KAAK,KAAK;AAE7B,MAAI,CAAE,MAAMC,aAAAA,QAAI,WAAW,GAAG,GAAI;AAChC,WAAO;EACT;AAEA,QAAM,cAAsD,CAAA;AACtD,QAAA,QAAQ,MAAMA,aAAAA,QAAI,QAAQ,KAAK,EAAE,eAAe,MAAM;AAE5D,aAAW,MAAM,OAAO;AAChB,UAAA,EAAE,KAAS,IAAA;AACX,UAAA,WAAWC,KAAAA,KAAK,KAAK,IAAI;AAE/B,QAAI,GAAG,OAAO,KAAKC,KAAQ,QAAA,IAAI,MAAM,OAAO;AACpC,YAAA,MAAMC,KAAAA,SAAS,MAAM,KAAK;AACpB,kBAAA,GAAG,IAAIC,YAAA,cAAc,QAAQ;AAAA,IAC3C;AAAA,EACF;AAEO,SAAA;AACT;;"}
1
+ {"version":3,"file":"middlewares.js","sources":["../../src/loaders/middlewares.ts"],"sourcesContent":["import { join, extname, basename } from 'path';\nimport fse from 'fs-extra';\nimport { importDefault } from '@strapi/utils';\nimport type { Core } from '@strapi/types';\nimport { middlewares as internalMiddlewares } from '../middlewares';\n\n// TODO:: allow folders with index.js inside for bigger policies\nexport default async function loadMiddlewares(strapi: Core.Strapi) {\n const localMiddlewares = await loadLocalMiddlewares(strapi);\n\n strapi.get('middlewares').add(`global::`, localMiddlewares);\n strapi.get('middlewares').add(`strapi::`, internalMiddlewares);\n}\n\nconst loadLocalMiddlewares = async (strapi: Core.Strapi) => {\n const dir = strapi.dirs.dist.middlewares;\n\n if (!(await fse.pathExists(dir))) {\n return {};\n }\n\n const middlewares: Record<string, Core.MiddlewareFactory> = {};\n const paths = await fse.readdir(dir, { withFileTypes: true });\n\n for (const fd of paths) {\n const { name } = fd;\n const fullPath = join(dir, name);\n\n if (fd.isFile() && extname(name) === '.js') {\n const key = basename(name, '.js');\n middlewares[key] = importDefault(fullPath);\n }\n }\n\n return middlewares;\n};\n"],"names":["loadMiddlewares","strapi","localMiddlewares","loadLocalMiddlewares","get","add","internalMiddlewares","dir","dirs","dist","middlewares","fse","pathExists","paths","readdir","withFileTypes","fd","name","fullPath","join","isFile","extname","key","basename","importDefault"],"mappings":";;;;;;;AAMA;AACe,eAAeA,gBAAgBC,MAAmB,EAAA;IAC/D,MAAMC,gBAAAA,GAAmB,MAAMC,oBAAqBF,CAAAA,MAAAA,CAAAA;IAEpDA,MAAOG,CAAAA,GAAG,CAAC,aAAeC,CAAAA,CAAAA,GAAG,CAAC,CAAC,QAAQ,CAAC,EAAEH,gBAAAA,CAAAA;IAC1CD,MAAOG,CAAAA,GAAG,CAAC,aAAeC,CAAAA,CAAAA,GAAG,CAAC,CAAC,QAAQ,CAAC,EAAEC,iBAAAA,CAAAA;AAC5C;AAEA,MAAMH,uBAAuB,OAAOF,MAAAA,GAAAA;AAClC,IAAA,MAAMM,MAAMN,MAAOO,CAAAA,IAAI,CAACC,IAAI,CAACC,WAAW;AAExC,IAAA,IAAI,CAAE,MAAMC,GAAIC,CAAAA,UAAU,CAACL,GAAO,CAAA,EAAA;AAChC,QAAA,OAAO,EAAC;AACV;AAEA,IAAA,MAAMG,cAAsD,EAAC;AAC7D,IAAA,MAAMG,KAAQ,GAAA,MAAMF,GAAIG,CAAAA,OAAO,CAACP,GAAK,EAAA;QAAEQ,aAAe,EAAA;AAAK,KAAA,CAAA;IAE3D,KAAK,MAAMC,MAAMH,KAAO,CAAA;QACtB,MAAM,EAAEI,IAAI,EAAE,GAAGD,EAAAA;QACjB,MAAME,QAAAA,GAAWC,UAAKZ,GAAKU,EAAAA,IAAAA,CAAAA;AAE3B,QAAA,IAAID,EAAGI,CAAAA,MAAM,EAAMC,IAAAA,YAAAA,CAAQJ,UAAU,KAAO,EAAA;YAC1C,MAAMK,GAAAA,GAAMC,cAASN,IAAM,EAAA,KAAA,CAAA;YAC3BP,WAAW,CAACY,GAAI,CAAA,GAAGE,yBAAcN,CAAAA,QAAAA,CAAAA;AACnC;AACF;IAEA,OAAOR,WAAAA;AACT,CAAA;;;;"}
@@ -1,30 +1,33 @@
1
- import { join, extname, basename } from "path";
2
- import fse from "fs-extra";
3
- import { importDefault } from "@strapi/utils";
4
- import { middlewares } from "../middlewares/index.mjs";
1
+ import { join, extname, basename } from 'path';
2
+ import fse from 'fs-extra';
3
+ import { importDefault } from '@strapi/utils';
4
+ import { middlewares } from '../middlewares/index.mjs';
5
+
6
+ // TODO:: allow folders with index.js inside for bigger policies
5
7
  async function loadMiddlewares(strapi) {
6
- const localMiddlewares = await loadLocalMiddlewares(strapi);
7
- strapi.get("middlewares").add(`global::`, localMiddlewares);
8
- strapi.get("middlewares").add(`strapi::`, middlewares);
8
+ const localMiddlewares = await loadLocalMiddlewares(strapi);
9
+ strapi.get('middlewares').add(`global::`, localMiddlewares);
10
+ strapi.get('middlewares').add(`strapi::`, middlewares);
9
11
  }
10
- const loadLocalMiddlewares = async (strapi) => {
11
- const dir = strapi.dirs.dist.middlewares;
12
- if (!await fse.pathExists(dir)) {
13
- return {};
14
- }
15
- const middlewares2 = {};
16
- const paths = await fse.readdir(dir, { withFileTypes: true });
17
- for (const fd of paths) {
18
- const { name } = fd;
19
- const fullPath = join(dir, name);
20
- if (fd.isFile() && extname(name) === ".js") {
21
- const key = basename(name, ".js");
22
- middlewares2[key] = importDefault(fullPath);
12
+ const loadLocalMiddlewares = async (strapi)=>{
13
+ const dir = strapi.dirs.dist.middlewares;
14
+ if (!await fse.pathExists(dir)) {
15
+ return {};
23
16
  }
24
- }
25
- return middlewares2;
26
- };
27
- export {
28
- loadMiddlewares as default
17
+ const middlewares = {};
18
+ const paths = await fse.readdir(dir, {
19
+ withFileTypes: true
20
+ });
21
+ for (const fd of paths){
22
+ const { name } = fd;
23
+ const fullPath = join(dir, name);
24
+ if (fd.isFile() && extname(name) === '.js') {
25
+ const key = basename(name, '.js');
26
+ middlewares[key] = importDefault(fullPath);
27
+ }
28
+ }
29
+ return middlewares;
29
30
  };
31
+
32
+ export { loadMiddlewares as default };
30
33
  //# sourceMappingURL=middlewares.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"middlewares.mjs","sources":["../../src/loaders/middlewares.ts"],"sourcesContent":["import { join, extname, basename } from 'path';\nimport fse from 'fs-extra';\nimport { importDefault } from '@strapi/utils';\nimport type { Core } from '@strapi/types';\nimport { middlewares as internalMiddlewares } from '../middlewares';\n\n// TODO:: allow folders with index.js inside for bigger policies\nexport default async function loadMiddlewares(strapi: Core.Strapi) {\n const localMiddlewares = await loadLocalMiddlewares(strapi);\n\n strapi.get('middlewares').add(`global::`, localMiddlewares);\n strapi.get('middlewares').add(`strapi::`, internalMiddlewares);\n}\n\nconst loadLocalMiddlewares = async (strapi: Core.Strapi) => {\n const dir = strapi.dirs.dist.middlewares;\n\n if (!(await fse.pathExists(dir))) {\n return {};\n }\n\n const middlewares: Record<string, Core.MiddlewareFactory> = {};\n const paths = await fse.readdir(dir, { withFileTypes: true });\n\n for (const fd of paths) {\n const { name } = fd;\n const fullPath = join(dir, name);\n\n if (fd.isFile() && extname(name) === '.js') {\n const key = basename(name, '.js');\n middlewares[key] = importDefault(fullPath);\n }\n }\n\n return middlewares;\n};\n"],"names":["internalMiddlewares","middlewares"],"mappings":";;;;AAOA,eAA8B,gBAAgB,QAAqB;AAC3D,QAAA,mBAAmB,MAAM,qBAAqB,MAAM;AAE1D,SAAO,IAAI,aAAa,EAAE,IAAI,YAAY,gBAAgB;AAC1D,SAAO,IAAI,aAAa,EAAE,IAAI,YAAYA,WAAmB;AAC/D;AAEA,MAAM,uBAAuB,OAAO,WAAwB;AACpD,QAAA,MAAM,OAAO,KAAK,KAAK;AAE7B,MAAI,CAAE,MAAM,IAAI,WAAW,GAAG,GAAI;AAChC,WAAO;EACT;AAEA,QAAMC,eAAsD,CAAA;AACtD,QAAA,QAAQ,MAAM,IAAI,QAAQ,KAAK,EAAE,eAAe,MAAM;AAE5D,aAAW,MAAM,OAAO;AAChB,UAAA,EAAE,KAAS,IAAA;AACX,UAAA,WAAW,KAAK,KAAK,IAAI;AAE/B,QAAI,GAAG,OAAO,KAAK,QAAQ,IAAI,MAAM,OAAO;AACpC,YAAA,MAAM,SAAS,MAAM,KAAK;AACpB,MAAAA,aAAA,GAAG,IAAI,cAAc,QAAQ;AAAA,IAC3C;AAAA,EACF;AAEO,SAAAA;AACT;"}
1
+ {"version":3,"file":"middlewares.mjs","sources":["../../src/loaders/middlewares.ts"],"sourcesContent":["import { join, extname, basename } from 'path';\nimport fse from 'fs-extra';\nimport { importDefault } from '@strapi/utils';\nimport type { Core } from '@strapi/types';\nimport { middlewares as internalMiddlewares } from '../middlewares';\n\n// TODO:: allow folders with index.js inside for bigger policies\nexport default async function loadMiddlewares(strapi: Core.Strapi) {\n const localMiddlewares = await loadLocalMiddlewares(strapi);\n\n strapi.get('middlewares').add(`global::`, localMiddlewares);\n strapi.get('middlewares').add(`strapi::`, internalMiddlewares);\n}\n\nconst loadLocalMiddlewares = async (strapi: Core.Strapi) => {\n const dir = strapi.dirs.dist.middlewares;\n\n if (!(await fse.pathExists(dir))) {\n return {};\n }\n\n const middlewares: Record<string, Core.MiddlewareFactory> = {};\n const paths = await fse.readdir(dir, { withFileTypes: true });\n\n for (const fd of paths) {\n const { name } = fd;\n const fullPath = join(dir, name);\n\n if (fd.isFile() && extname(name) === '.js') {\n const key = basename(name, '.js');\n middlewares[key] = importDefault(fullPath);\n }\n }\n\n return middlewares;\n};\n"],"names":["loadMiddlewares","strapi","localMiddlewares","loadLocalMiddlewares","get","add","internalMiddlewares","dir","dirs","dist","middlewares","fse","pathExists","paths","readdir","withFileTypes","fd","name","fullPath","join","isFile","extname","key","basename","importDefault"],"mappings":";;;;;AAMA;AACe,eAAeA,gBAAgBC,MAAmB,EAAA;IAC/D,MAAMC,gBAAAA,GAAmB,MAAMC,oBAAqBF,CAAAA,MAAAA,CAAAA;IAEpDA,MAAOG,CAAAA,GAAG,CAAC,aAAeC,CAAAA,CAAAA,GAAG,CAAC,CAAC,QAAQ,CAAC,EAAEH,gBAAAA,CAAAA;IAC1CD,MAAOG,CAAAA,GAAG,CAAC,aAAeC,CAAAA,CAAAA,GAAG,CAAC,CAAC,QAAQ,CAAC,EAAEC,WAAAA,CAAAA;AAC5C;AAEA,MAAMH,uBAAuB,OAAOF,MAAAA,GAAAA;AAClC,IAAA,MAAMM,MAAMN,MAAOO,CAAAA,IAAI,CAACC,IAAI,CAACC,WAAW;AAExC,IAAA,IAAI,CAAE,MAAMC,GAAIC,CAAAA,UAAU,CAACL,GAAO,CAAA,EAAA;AAChC,QAAA,OAAO,EAAC;AACV;AAEA,IAAA,MAAMG,cAAsD,EAAC;AAC7D,IAAA,MAAMG,KAAQ,GAAA,MAAMF,GAAIG,CAAAA,OAAO,CAACP,GAAK,EAAA;QAAEQ,aAAe,EAAA;AAAK,KAAA,CAAA;IAE3D,KAAK,MAAMC,MAAMH,KAAO,CAAA;QACtB,MAAM,EAAEI,IAAI,EAAE,GAAGD,EAAAA;QACjB,MAAME,QAAAA,GAAWC,KAAKZ,GAAKU,EAAAA,IAAAA,CAAAA;AAE3B,QAAA,IAAID,EAAGI,CAAAA,MAAM,EAAMC,IAAAA,OAAAA,CAAQJ,UAAU,KAAO,EAAA;YAC1C,MAAMK,GAAAA,GAAMC,SAASN,IAAM,EAAA,KAAA,CAAA;YAC3BP,WAAW,CAACY,GAAI,CAAA,GAAGE,aAAcN,CAAAA,QAAAA,CAAAA;AACnC;AACF;IAEA,OAAOR,WAAAA;AACT,CAAA;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"get-enabled-plugins.d.ts","sourceRoot":"","sources":["../../../src/loaders/plugins/get-enabled-plugins.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAiF1C,eAAO,MAAM,iBAAiB,WAAkB,KAAK,MAAM;;kBA2E1D,CAAC"}
1
+ {"version":3,"file":"get-enabled-plugins.d.ts","sourceRoot":"","sources":["../../../src/loaders/plugins/get-enabled-plugins.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAkF1C,eAAO,MAAM,iBAAiB,WAAkB,KAAK,MAAM;;kBAoF1D,CAAC"}