@strapi/core 0.0.0-experimental.d23c1d5b0e45dd06ef09977f526c85468be05403 → 0.0.0-experimental.d2a56e52af31fcf0f0c582a5a2e58e310966e96b

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (731) 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/configuration/index.d.ts.map +1 -1
  5. package/dist/core-api/controller/collection-type.d.ts.map +1 -1
  6. package/dist/core-api/controller/single-type.d.ts.map +1 -1
  7. package/dist/core-api/service/collection-type.d.ts +3 -9
  8. package/dist/core-api/service/collection-type.d.ts.map +1 -1
  9. package/dist/core-api/service/pagination.d.ts +4 -11
  10. package/dist/core-api/service/pagination.d.ts.map +1 -1
  11. package/dist/core-api/service/single-type.d.ts.map +1 -1
  12. package/dist/ee/index.d.ts.map +1 -1
  13. package/dist/index.d.ts +14 -0
  14. package/dist/index.d.ts.map +1 -1
  15. package/dist/index.js +10110 -27
  16. package/dist/index.js.map +1 -1
  17. package/dist/index.mjs +10088 -29
  18. package/dist/index.mjs.map +1 -1
  19. package/dist/loaders/apis.d.ts.map +1 -1
  20. package/dist/loaders/plugins/get-enabled-plugins.d.ts.map +1 -1
  21. package/dist/loaders/plugins/index.d.ts.map +1 -1
  22. package/dist/middlewares/body.d.ts.map +1 -1
  23. package/dist/middlewares/cors.d.ts.map +1 -1
  24. package/dist/middlewares/query.d.ts.map +1 -1
  25. package/dist/middlewares/security.d.ts.map +1 -1
  26. package/dist/migrations/database/5.0.0-discard-drafts.d.ts +33 -0
  27. package/dist/migrations/database/5.0.0-discard-drafts.d.ts.map +1 -0
  28. package/dist/migrations/draft-publish.d.ts +2 -2
  29. package/dist/migrations/draft-publish.d.ts.map +1 -1
  30. package/dist/migrations/i18n.d.ts +5 -0
  31. package/dist/migrations/i18n.d.ts.map +1 -0
  32. package/dist/migrations/index.d.ts +5 -0
  33. package/dist/migrations/index.d.ts.map +1 -0
  34. package/dist/providers/admin.d.ts.map +1 -1
  35. package/dist/providers/registries.d.ts.map +1 -1
  36. package/dist/registries/policies.d.ts +1 -1
  37. package/dist/registries/policies.d.ts.map +1 -1
  38. package/dist/services/content-api/index.d.ts +10 -12
  39. package/dist/services/content-api/index.d.ts.map +1 -1
  40. package/dist/services/content-api/permissions/index.d.ts +10 -12
  41. package/dist/services/content-api/permissions/index.d.ts.map +1 -1
  42. package/dist/services/content-api/permissions/providers/action.d.ts +5 -6
  43. package/dist/services/content-api/permissions/providers/action.d.ts.map +1 -1
  44. package/dist/services/content-api/permissions/providers/condition.d.ts +5 -6
  45. package/dist/services/content-api/permissions/providers/condition.d.ts.map +1 -1
  46. package/dist/services/cron.d.ts +3 -3
  47. package/dist/services/cron.d.ts.map +1 -1
  48. package/dist/services/document-service/common.d.ts +1 -1
  49. package/dist/services/document-service/common.d.ts.map +1 -1
  50. package/dist/services/document-service/components.d.ts.map +1 -1
  51. package/dist/services/document-service/draft-and-publish.d.ts +1 -1
  52. package/dist/services/document-service/draft-and-publish.d.ts.map +1 -1
  53. package/dist/services/document-service/entries.d.ts +3 -3
  54. package/dist/services/document-service/entries.d.ts.map +1 -1
  55. package/dist/services/document-service/events.d.ts +25 -0
  56. package/dist/services/document-service/events.d.ts.map +1 -0
  57. package/dist/services/document-service/index.d.ts +2 -1
  58. package/dist/services/document-service/index.d.ts.map +1 -1
  59. package/dist/services/document-service/internationalization.d.ts.map +1 -1
  60. package/dist/services/document-service/repository.d.ts.map +1 -1
  61. package/dist/services/document-service/transform/id-map.d.ts +1 -1
  62. package/dist/services/document-service/transform/id-map.d.ts.map +1 -1
  63. package/dist/services/document-service/transform/id-transform.d.ts +1 -1
  64. package/dist/services/document-service/transform/id-transform.d.ts.map +1 -1
  65. package/dist/services/document-service/transform/relations/extract/data-ids.d.ts +1 -1
  66. package/dist/services/document-service/transform/relations/extract/data-ids.d.ts.map +1 -1
  67. package/dist/services/document-service/transform/relations/transform/data-ids.d.ts.map +1 -1
  68. package/dist/services/document-service/transform/relations/utils/dp.d.ts +1 -1
  69. package/dist/services/document-service/transform/relations/utils/dp.d.ts.map +1 -1
  70. package/dist/services/document-service/transform/relations/utils/i18n.d.ts +1 -1
  71. package/dist/services/document-service/transform/relations/utils/i18n.d.ts.map +1 -1
  72. package/dist/services/document-service/transform/relations/utils/map-relation.d.ts.map +1 -1
  73. package/dist/services/document-service/utils/bidirectional-relations.d.ts +95 -0
  74. package/dist/services/document-service/utils/bidirectional-relations.d.ts.map +1 -0
  75. package/dist/services/document-service/utils/populate.d.ts +1 -1
  76. package/dist/services/document-service/utils/populate.d.ts.map +1 -1
  77. package/dist/services/document-service/utils/unidirectional-relations.d.ts +36 -0
  78. package/dist/services/document-service/utils/unidirectional-relations.d.ts.map +1 -0
  79. package/dist/services/entity-validator/blocks-validator.d.ts +1 -2
  80. package/dist/services/entity-validator/blocks-validator.d.ts.map +1 -1
  81. package/dist/services/entity-validator/index.d.ts +15 -1
  82. package/dist/services/entity-validator/index.d.ts.map +1 -1
  83. package/dist/services/entity-validator/validators.d.ts +36 -25
  84. package/dist/services/entity-validator/validators.d.ts.map +1 -1
  85. package/dist/services/event-hub.d.ts +1 -0
  86. package/dist/services/event-hub.d.ts.map +1 -1
  87. package/dist/services/metrics/middleware.d.ts.map +1 -1
  88. package/dist/services/metrics/rate-limiter.d.ts.map +1 -1
  89. package/dist/services/server/koa.d.ts.map +1 -1
  90. package/dist/services/webhook-runner.d.ts +2 -1
  91. package/dist/services/webhook-runner.d.ts.map +1 -1
  92. package/dist/services/webhook-store.d.ts +2 -8
  93. package/dist/services/webhook-store.d.ts.map +1 -1
  94. package/dist/utils/fetch.d.ts.map +1 -1
  95. package/dist/utils/filepath-to-prop-path.d.ts +1 -1
  96. package/dist/utils/filepath-to-prop-path.d.ts.map +1 -1
  97. package/dist/utils/startup-logger.d.ts.map +1 -1
  98. package/dist/utils/transform-content-types-to-models.d.ts +355 -23
  99. package/dist/utils/transform-content-types-to-models.d.ts.map +1 -1
  100. package/dist/utils/update-notifier/index.d.ts.map +1 -1
  101. package/package.json +38 -35
  102. package/dist/Strapi.js +0 -387
  103. package/dist/Strapi.js.map +0 -1
  104. package/dist/Strapi.mjs +0 -385
  105. package/dist/Strapi.mjs.map +0 -1
  106. package/dist/compile.js +0 -18
  107. package/dist/compile.js.map +0 -1
  108. package/dist/compile.mjs +0 -17
  109. package/dist/compile.mjs.map +0 -1
  110. package/dist/configuration/config-loader.js +0 -106
  111. package/dist/configuration/config-loader.js.map +0 -1
  112. package/dist/configuration/config-loader.mjs +0 -104
  113. package/dist/configuration/config-loader.mjs.map +0 -1
  114. package/dist/configuration/get-dirs.js +0 -31
  115. package/dist/configuration/get-dirs.js.map +0 -1
  116. package/dist/configuration/get-dirs.mjs +0 -31
  117. package/dist/configuration/get-dirs.mjs.map +0 -1
  118. package/dist/configuration/index.js +0 -80
  119. package/dist/configuration/index.js.map +0 -1
  120. package/dist/configuration/index.mjs +0 -75
  121. package/dist/configuration/index.mjs.map +0 -1
  122. package/dist/configuration/urls.js +0 -68
  123. package/dist/configuration/urls.js.map +0 -1
  124. package/dist/configuration/urls.mjs +0 -66
  125. package/dist/configuration/urls.mjs.map +0 -1
  126. package/dist/container.js +0 -30
  127. package/dist/container.js.map +0 -1
  128. package/dist/container.mjs +0 -30
  129. package/dist/container.mjs.map +0 -1
  130. package/dist/core-api/controller/collection-type.js +0 -82
  131. package/dist/core-api/controller/collection-type.js.map +0 -1
  132. package/dist/core-api/controller/collection-type.mjs +0 -82
  133. package/dist/core-api/controller/collection-type.mjs.map +0 -1
  134. package/dist/core-api/controller/index.js +0 -52
  135. package/dist/core-api/controller/index.js.map +0 -1
  136. package/dist/core-api/controller/index.mjs +0 -52
  137. package/dist/core-api/controller/index.mjs.map +0 -1
  138. package/dist/core-api/controller/single-type.js +0 -45
  139. package/dist/core-api/controller/single-type.js.map +0 -1
  140. package/dist/core-api/controller/single-type.mjs +0 -45
  141. package/dist/core-api/controller/single-type.mjs.map +0 -1
  142. package/dist/core-api/controller/transform.js +0 -76
  143. package/dist/core-api/controller/transform.js.map +0 -1
  144. package/dist/core-api/controller/transform.mjs +0 -76
  145. package/dist/core-api/controller/transform.mjs.map +0 -1
  146. package/dist/core-api/routes/index.js +0 -67
  147. package/dist/core-api/routes/index.js.map +0 -1
  148. package/dist/core-api/routes/index.mjs +0 -67
  149. package/dist/core-api/routes/index.mjs.map +0 -1
  150. package/dist/core-api/service/collection-type.js +0 -65
  151. package/dist/core-api/service/collection-type.js.map +0 -1
  152. package/dist/core-api/service/collection-type.mjs +0 -65
  153. package/dist/core-api/service/collection-type.mjs.map +0 -1
  154. package/dist/core-api/service/core-service.js +0 -12
  155. package/dist/core-api/service/core-service.js.map +0 -1
  156. package/dist/core-api/service/core-service.mjs +0 -12
  157. package/dist/core-api/service/core-service.mjs.map +0 -1
  158. package/dist/core-api/service/index.js +0 -16
  159. package/dist/core-api/service/index.js.map +0 -1
  160. package/dist/core-api/service/index.mjs +0 -16
  161. package/dist/core-api/service/index.mjs.map +0 -1
  162. package/dist/core-api/service/pagination.js +0 -78
  163. package/dist/core-api/service/pagination.js.map +0 -1
  164. package/dist/core-api/service/pagination.mjs +0 -78
  165. package/dist/core-api/service/pagination.mjs.map +0 -1
  166. package/dist/core-api/service/single-type.js +0 -45
  167. package/dist/core-api/service/single-type.js.map +0 -1
  168. package/dist/core-api/service/single-type.mjs +0 -45
  169. package/dist/core-api/service/single-type.mjs.map +0 -1
  170. package/dist/domain/content-type/index.js +0 -111
  171. package/dist/domain/content-type/index.js.map +0 -1
  172. package/dist/domain/content-type/index.mjs +0 -109
  173. package/dist/domain/content-type/index.mjs.map +0 -1
  174. package/dist/domain/content-type/validator.js +0 -77
  175. package/dist/domain/content-type/validator.js.map +0 -1
  176. package/dist/domain/content-type/validator.mjs +0 -75
  177. package/dist/domain/content-type/validator.mjs.map +0 -1
  178. package/dist/domain/module/index.js +0 -107
  179. package/dist/domain/module/index.js.map +0 -1
  180. package/dist/domain/module/index.mjs +0 -105
  181. package/dist/domain/module/index.mjs.map +0 -1
  182. package/dist/domain/module/validation.js +0 -25
  183. package/dist/domain/module/validation.js.map +0 -1
  184. package/dist/domain/module/validation.mjs +0 -25
  185. package/dist/domain/module/validation.mjs.map +0 -1
  186. package/dist/ee/index.js +0 -153
  187. package/dist/ee/index.js.map +0 -1
  188. package/dist/ee/index.mjs +0 -154
  189. package/dist/ee/index.mjs.map +0 -1
  190. package/dist/ee/license.js +0 -91
  191. package/dist/ee/license.js.map +0 -1
  192. package/dist/ee/license.mjs +0 -88
  193. package/dist/ee/license.mjs.map +0 -1
  194. package/dist/factories.js +0 -80
  195. package/dist/factories.js.map +0 -1
  196. package/dist/factories.mjs +0 -80
  197. package/dist/factories.mjs.map +0 -1
  198. package/dist/loaders/admin.js +0 -26
  199. package/dist/loaders/admin.js.map +0 -1
  200. package/dist/loaders/admin.mjs +0 -25
  201. package/dist/loaders/admin.mjs.map +0 -1
  202. package/dist/loaders/apis.js +0 -137
  203. package/dist/loaders/apis.js.map +0 -1
  204. package/dist/loaders/apis.mjs +0 -135
  205. package/dist/loaders/apis.mjs.map +0 -1
  206. package/dist/loaders/components.js +0 -38
  207. package/dist/loaders/components.js.map +0 -1
  208. package/dist/loaders/components.mjs +0 -37
  209. package/dist/loaders/components.mjs.map +0 -1
  210. package/dist/loaders/index.js +0 -24
  211. package/dist/loaders/index.js.map +0 -1
  212. package/dist/loaders/index.mjs +0 -24
  213. package/dist/loaders/index.mjs.map +0 -1
  214. package/dist/loaders/middlewares.js +0 -31
  215. package/dist/loaders/middlewares.js.map +0 -1
  216. package/dist/loaders/middlewares.mjs +0 -30
  217. package/dist/loaders/middlewares.mjs.map +0 -1
  218. package/dist/loaders/plugins/get-enabled-plugins.js +0 -113
  219. package/dist/loaders/plugins/get-enabled-plugins.js.map +0 -1
  220. package/dist/loaders/plugins/get-enabled-plugins.mjs +0 -111
  221. package/dist/loaders/plugins/get-enabled-plugins.mjs.map +0 -1
  222. package/dist/loaders/plugins/get-user-plugins-config.js +0 -27
  223. package/dist/loaders/plugins/get-user-plugins-config.js.map +0 -1
  224. package/dist/loaders/plugins/get-user-plugins-config.mjs +0 -25
  225. package/dist/loaders/plugins/get-user-plugins-config.mjs.map +0 -1
  226. package/dist/loaders/plugins/index.js +0 -118
  227. package/dist/loaders/plugins/index.js.map +0 -1
  228. package/dist/loaders/plugins/index.mjs +0 -117
  229. package/dist/loaders/plugins/index.mjs.map +0 -1
  230. package/dist/loaders/policies.js +0 -25
  231. package/dist/loaders/policies.js.map +0 -1
  232. package/dist/loaders/policies.mjs +0 -24
  233. package/dist/loaders/policies.mjs.map +0 -1
  234. package/dist/loaders/sanitizers.js +0 -6
  235. package/dist/loaders/sanitizers.js.map +0 -1
  236. package/dist/loaders/sanitizers.mjs +0 -7
  237. package/dist/loaders/sanitizers.mjs.map +0 -1
  238. package/dist/loaders/src-index.js +0 -33
  239. package/dist/loaders/src-index.js.map +0 -1
  240. package/dist/loaders/src-index.mjs +0 -34
  241. package/dist/loaders/src-index.mjs.map +0 -1
  242. package/dist/loaders/validators.js +0 -6
  243. package/dist/loaders/validators.js.map +0 -1
  244. package/dist/loaders/validators.mjs +0 -7
  245. package/dist/loaders/validators.mjs.map +0 -1
  246. package/dist/middlewares/body.js +0 -65
  247. package/dist/middlewares/body.js.map +0 -1
  248. package/dist/middlewares/body.mjs +0 -61
  249. package/dist/middlewares/body.mjs.map +0 -1
  250. package/dist/middlewares/compression.js +0 -8
  251. package/dist/middlewares/compression.js.map +0 -1
  252. package/dist/middlewares/compression.mjs +0 -6
  253. package/dist/middlewares/compression.mjs.map +0 -1
  254. package/dist/middlewares/cors.js +0 -51
  255. package/dist/middlewares/cors.js.map +0 -1
  256. package/dist/middlewares/cors.mjs +0 -49
  257. package/dist/middlewares/cors.mjs.map +0 -1
  258. package/dist/middlewares/errors.js +0 -33
  259. package/dist/middlewares/errors.js.map +0 -1
  260. package/dist/middlewares/errors.mjs +0 -33
  261. package/dist/middlewares/errors.mjs.map +0 -1
  262. package/dist/middlewares/favicon.js +0 -22
  263. package/dist/middlewares/favicon.js.map +0 -1
  264. package/dist/middlewares/favicon.mjs +0 -20
  265. package/dist/middlewares/favicon.mjs.map +0 -1
  266. package/dist/middlewares/index.js +0 -34
  267. package/dist/middlewares/index.js.map +0 -1
  268. package/dist/middlewares/index.mjs +0 -34
  269. package/dist/middlewares/index.mjs.map +0 -1
  270. package/dist/middlewares/ip.js +0 -8
  271. package/dist/middlewares/ip.js.map +0 -1
  272. package/dist/middlewares/ip.mjs +0 -6
  273. package/dist/middlewares/ip.mjs.map +0 -1
  274. package/dist/middlewares/logger.js +0 -12
  275. package/dist/middlewares/logger.js.map +0 -1
  276. package/dist/middlewares/logger.mjs +0 -12
  277. package/dist/middlewares/logger.mjs.map +0 -1
  278. package/dist/middlewares/powered-by.js +0 -14
  279. package/dist/middlewares/powered-by.js.map +0 -1
  280. package/dist/middlewares/powered-by.mjs +0 -14
  281. package/dist/middlewares/powered-by.mjs.map +0 -1
  282. package/dist/middlewares/public.js +0 -34
  283. package/dist/middlewares/public.js.map +0 -1
  284. package/dist/middlewares/public.mjs +0 -32
  285. package/dist/middlewares/public.mjs.map +0 -1
  286. package/dist/middlewares/query.js +0 -40
  287. package/dist/middlewares/query.js.map +0 -1
  288. package/dist/middlewares/query.mjs +0 -38
  289. package/dist/middlewares/query.mjs.map +0 -1
  290. package/dist/middlewares/response-time.js +0 -12
  291. package/dist/middlewares/response-time.js.map +0 -1
  292. package/dist/middlewares/response-time.mjs +0 -12
  293. package/dist/middlewares/response-time.mjs.map +0 -1
  294. package/dist/middlewares/responses.js +0 -15
  295. package/dist/middlewares/responses.js.map +0 -1
  296. package/dist/middlewares/responses.mjs +0 -15
  297. package/dist/middlewares/responses.mjs.map +0 -1
  298. package/dist/middlewares/security.js +0 -71
  299. package/dist/middlewares/security.js.map +0 -1
  300. package/dist/middlewares/security.mjs +0 -69
  301. package/dist/middlewares/security.mjs.map +0 -1
  302. package/dist/middlewares/session.js +0 -30
  303. package/dist/middlewares/session.js.map +0 -1
  304. package/dist/middlewares/session.mjs +0 -28
  305. package/dist/middlewares/session.mjs.map +0 -1
  306. package/dist/migrations/draft-publish.js +0 -59
  307. package/dist/migrations/draft-publish.js.map +0 -1
  308. package/dist/migrations/draft-publish.mjs +0 -59
  309. package/dist/migrations/draft-publish.mjs.map +0 -1
  310. package/dist/providers/admin.js +0 -20
  311. package/dist/providers/admin.js.map +0 -1
  312. package/dist/providers/admin.mjs +0 -21
  313. package/dist/providers/admin.mjs.map +0 -1
  314. package/dist/providers/coreStore.js +0 -11
  315. package/dist/providers/coreStore.js.map +0 -1
  316. package/dist/providers/coreStore.mjs +0 -12
  317. package/dist/providers/coreStore.mjs.map +0 -1
  318. package/dist/providers/cron.js +0 -20
  319. package/dist/providers/cron.js.map +0 -1
  320. package/dist/providers/cron.mjs +0 -21
  321. package/dist/providers/cron.mjs.map +0 -1
  322. package/dist/providers/index.js +0 -11
  323. package/dist/providers/index.js.map +0 -1
  324. package/dist/providers/index.mjs +0 -11
  325. package/dist/providers/index.mjs.map +0 -1
  326. package/dist/providers/provider.js +0 -5
  327. package/dist/providers/provider.js.map +0 -1
  328. package/dist/providers/provider.mjs +0 -5
  329. package/dist/providers/provider.mjs.map +0 -1
  330. package/dist/providers/registries.js +0 -33
  331. package/dist/providers/registries.js.map +0 -1
  332. package/dist/providers/registries.mjs +0 -34
  333. package/dist/providers/registries.mjs.map +0 -1
  334. package/dist/providers/telemetry.js +0 -19
  335. package/dist/providers/telemetry.js.map +0 -1
  336. package/dist/providers/telemetry.mjs +0 -20
  337. package/dist/providers/telemetry.mjs.map +0 -1
  338. package/dist/providers/webhooks.js +0 -30
  339. package/dist/providers/webhooks.js.map +0 -1
  340. package/dist/providers/webhooks.mjs +0 -31
  341. package/dist/providers/webhooks.mjs.map +0 -1
  342. package/dist/registries/apis.js +0 -23
  343. package/dist/registries/apis.js.map +0 -1
  344. package/dist/registries/apis.mjs +0 -24
  345. package/dist/registries/apis.mjs.map +0 -1
  346. package/dist/registries/components.js +0 -45
  347. package/dist/registries/components.js.map +0 -1
  348. package/dist/registries/components.mjs +0 -46
  349. package/dist/registries/components.mjs.map +0 -1
  350. package/dist/registries/content-types.js +0 -70
  351. package/dist/registries/content-types.js.map +0 -1
  352. package/dist/registries/content-types.mjs +0 -71
  353. package/dist/registries/content-types.mjs.map +0 -1
  354. package/dist/registries/controllers.js +0 -80
  355. package/dist/registries/controllers.js.map +0 -1
  356. package/dist/registries/controllers.mjs +0 -81
  357. package/dist/registries/controllers.mjs.map +0 -1
  358. package/dist/registries/custom-fields.js +0 -71
  359. package/dist/registries/custom-fields.js.map +0 -1
  360. package/dist/registries/custom-fields.mjs +0 -72
  361. package/dist/registries/custom-fields.mjs.map +0 -1
  362. package/dist/registries/hooks.js +0 -58
  363. package/dist/registries/hooks.js.map +0 -1
  364. package/dist/registries/hooks.mjs +0 -59
  365. package/dist/registries/hooks.mjs.map +0 -1
  366. package/dist/registries/middlewares.js +0 -60
  367. package/dist/registries/middlewares.js.map +0 -1
  368. package/dist/registries/middlewares.mjs +0 -61
  369. package/dist/registries/middlewares.mjs.map +0 -1
  370. package/dist/registries/models.js +0 -16
  371. package/dist/registries/models.js.map +0 -1
  372. package/dist/registries/models.mjs +0 -16
  373. package/dist/registries/models.mjs.map +0 -1
  374. package/dist/registries/modules.js +0 -39
  375. package/dist/registries/modules.js.map +0 -1
  376. package/dist/registries/modules.mjs +0 -40
  377. package/dist/registries/modules.mjs.map +0 -1
  378. package/dist/registries/namespace.js +0 -27
  379. package/dist/registries/namespace.js.map +0 -1
  380. package/dist/registries/namespace.mjs +0 -27
  381. package/dist/registries/namespace.mjs.map +0 -1
  382. package/dist/registries/plugins.js +0 -23
  383. package/dist/registries/plugins.js.map +0 -1
  384. package/dist/registries/plugins.mjs +0 -24
  385. package/dist/registries/plugins.mjs.map +0 -1
  386. package/dist/registries/policies.js +0 -108
  387. package/dist/registries/policies.js.map +0 -1
  388. package/dist/registries/policies.mjs +0 -109
  389. package/dist/registries/policies.mjs.map +0 -1
  390. package/dist/registries/sanitizers.js +0 -25
  391. package/dist/registries/sanitizers.js.map +0 -1
  392. package/dist/registries/sanitizers.mjs +0 -24
  393. package/dist/registries/sanitizers.mjs.map +0 -1
  394. package/dist/registries/services.js +0 -80
  395. package/dist/registries/services.js.map +0 -1
  396. package/dist/registries/services.mjs +0 -81
  397. package/dist/registries/services.mjs.map +0 -1
  398. package/dist/registries/validators.js +0 -25
  399. package/dist/registries/validators.js.map +0 -1
  400. package/dist/registries/validators.mjs +0 -24
  401. package/dist/registries/validators.mjs.map +0 -1
  402. package/dist/services/auth/index.js +0 -81
  403. package/dist/services/auth/index.js.map +0 -1
  404. package/dist/services/auth/index.mjs +0 -80
  405. package/dist/services/auth/index.mjs.map +0 -1
  406. package/dist/services/config.js +0 -47
  407. package/dist/services/config.js.map +0 -1
  408. package/dist/services/config.mjs +0 -47
  409. package/dist/services/config.mjs.map +0 -1
  410. package/dist/services/content-api/index.js +0 -85
  411. package/dist/services/content-api/index.js.map +0 -1
  412. package/dist/services/content-api/index.mjs +0 -84
  413. package/dist/services/content-api/index.mjs.map +0 -1
  414. package/dist/services/content-api/permissions/engine.js +0 -7
  415. package/dist/services/content-api/permissions/engine.js.map +0 -1
  416. package/dist/services/content-api/permissions/engine.mjs +0 -6
  417. package/dist/services/content-api/permissions/engine.mjs.map +0 -1
  418. package/dist/services/content-api/permissions/index.js +0 -87
  419. package/dist/services/content-api/permissions/index.js.map +0 -1
  420. package/dist/services/content-api/permissions/index.mjs +0 -86
  421. package/dist/services/content-api/permissions/index.mjs.map +0 -1
  422. package/dist/services/content-api/permissions/providers/action.js +0 -16
  423. package/dist/services/content-api/permissions/providers/action.js.map +0 -1
  424. package/dist/services/content-api/permissions/providers/action.mjs +0 -17
  425. package/dist/services/content-api/permissions/providers/action.mjs.map +0 -1
  426. package/dist/services/content-api/permissions/providers/condition.js +0 -16
  427. package/dist/services/content-api/permissions/providers/condition.js.map +0 -1
  428. package/dist/services/content-api/permissions/providers/condition.mjs +0 -17
  429. package/dist/services/content-api/permissions/providers/condition.mjs.map +0 -1
  430. package/dist/services/core-store.js +0 -107
  431. package/dist/services/core-store.js.map +0 -1
  432. package/dist/services/core-store.mjs +0 -107
  433. package/dist/services/core-store.mjs.map +0 -1
  434. package/dist/services/cron.js +0 -63
  435. package/dist/services/cron.js.map +0 -1
  436. package/dist/services/cron.mjs +0 -64
  437. package/dist/services/cron.mjs.map +0 -1
  438. package/dist/services/custom-fields.js +0 -10
  439. package/dist/services/custom-fields.js.map +0 -1
  440. package/dist/services/custom-fields.mjs +0 -11
  441. package/dist/services/custom-fields.mjs.map +0 -1
  442. package/dist/services/document-service/attributes/index.js +0 -22
  443. package/dist/services/document-service/attributes/index.js.map +0 -1
  444. package/dist/services/document-service/attributes/index.mjs +0 -22
  445. package/dist/services/document-service/attributes/index.mjs.map +0 -1
  446. package/dist/services/document-service/attributes/transforms.js +0 -20
  447. package/dist/services/document-service/attributes/transforms.js.map +0 -1
  448. package/dist/services/document-service/attributes/transforms.mjs +0 -19
  449. package/dist/services/document-service/attributes/transforms.mjs.map +0 -1
  450. package/dist/services/document-service/common.js +0 -7
  451. package/dist/services/document-service/common.js.map +0 -1
  452. package/dist/services/document-service/common.mjs +0 -7
  453. package/dist/services/document-service/common.mjs.map +0 -1
  454. package/dist/services/document-service/components.js +0 -288
  455. package/dist/services/document-service/components.js.map +0 -1
  456. package/dist/services/document-service/components.mjs +0 -286
  457. package/dist/services/document-service/components.mjs.map +0 -1
  458. package/dist/services/document-service/document-engine.d.ts +0 -1
  459. package/dist/services/document-service/document-engine.d.ts.map +0 -1
  460. package/dist/services/document-service/draft-and-publish.js +0 -69
  461. package/dist/services/document-service/draft-and-publish.js.map +0 -1
  462. package/dist/services/document-service/draft-and-publish.mjs +0 -69
  463. package/dist/services/document-service/draft-and-publish.mjs.map +0 -1
  464. package/dist/services/document-service/entries.js +0 -95
  465. package/dist/services/document-service/entries.js.map +0 -1
  466. package/dist/services/document-service/entries.mjs +0 -95
  467. package/dist/services/document-service/entries.mjs.map +0 -1
  468. package/dist/services/document-service/index.js +0 -35
  469. package/dist/services/document-service/index.js.map +0 -1
  470. package/dist/services/document-service/index.mjs +0 -35
  471. package/dist/services/document-service/index.mjs.map +0 -1
  472. package/dist/services/document-service/internationalization.js +0 -54
  473. package/dist/services/document-service/internationalization.js.map +0 -1
  474. package/dist/services/document-service/internationalization.mjs +0 -54
  475. package/dist/services/document-service/internationalization.mjs.map +0 -1
  476. package/dist/services/document-service/middlewares/errors.js +0 -25
  477. package/dist/services/document-service/middlewares/errors.js.map +0 -1
  478. package/dist/services/document-service/middlewares/errors.mjs +0 -25
  479. package/dist/services/document-service/middlewares/errors.mjs.map +0 -1
  480. package/dist/services/document-service/middlewares/middleware-manager.js +0 -49
  481. package/dist/services/document-service/middlewares/middleware-manager.js.map +0 -1
  482. package/dist/services/document-service/middlewares/middleware-manager.mjs +0 -49
  483. package/dist/services/document-service/middlewares/middleware-manager.mjs.map +0 -1
  484. package/dist/services/document-service/params.js +0 -8
  485. package/dist/services/document-service/params.js.map +0 -1
  486. package/dist/services/document-service/params.mjs +0 -8
  487. package/dist/services/document-service/params.mjs.map +0 -1
  488. package/dist/services/document-service/repository.js +0 -250
  489. package/dist/services/document-service/repository.js.map +0 -1
  490. package/dist/services/document-service/repository.mjs +0 -250
  491. package/dist/services/document-service/repository.mjs.map +0 -1
  492. package/dist/services/document-service/transform/data.js +0 -15
  493. package/dist/services/document-service/transform/data.js.map +0 -1
  494. package/dist/services/document-service/transform/data.mjs +0 -15
  495. package/dist/services/document-service/transform/data.mjs.map +0 -1
  496. package/dist/services/document-service/transform/fields.js +0 -24
  497. package/dist/services/document-service/transform/fields.js.map +0 -1
  498. package/dist/services/document-service/transform/fields.mjs +0 -24
  499. package/dist/services/document-service/transform/fields.mjs.map +0 -1
  500. package/dist/services/document-service/transform/id-map.js +0 -78
  501. package/dist/services/document-service/transform/id-map.js.map +0 -1
  502. package/dist/services/document-service/transform/id-map.mjs +0 -78
  503. package/dist/services/document-service/transform/id-map.mjs.map +0 -1
  504. package/dist/services/document-service/transform/id-transform.js +0 -33
  505. package/dist/services/document-service/transform/id-transform.js.map +0 -1
  506. package/dist/services/document-service/transform/id-transform.mjs +0 -33
  507. package/dist/services/document-service/transform/id-transform.mjs.map +0 -1
  508. package/dist/services/document-service/transform/populate.js +0 -21
  509. package/dist/services/document-service/transform/populate.js.map +0 -1
  510. package/dist/services/document-service/transform/populate.mjs +0 -21
  511. package/dist/services/document-service/transform/populate.mjs.map +0 -1
  512. package/dist/services/document-service/transform/query.js +0 -9
  513. package/dist/services/document-service/transform/query.js.map +0 -1
  514. package/dist/services/document-service/transform/query.mjs +0 -9
  515. package/dist/services/document-service/transform/query.mjs.map +0 -1
  516. package/dist/services/document-service/transform/relations/extract/data-ids.js +0 -54
  517. package/dist/services/document-service/transform/relations/extract/data-ids.js.map +0 -1
  518. package/dist/services/document-service/transform/relations/extract/data-ids.mjs +0 -54
  519. package/dist/services/document-service/transform/relations/extract/data-ids.mjs.map +0 -1
  520. package/dist/services/document-service/transform/relations/transform/data-ids.js +0 -73
  521. package/dist/services/document-service/transform/relations/transform/data-ids.js.map +0 -1
  522. package/dist/services/document-service/transform/relations/transform/data-ids.mjs +0 -73
  523. package/dist/services/document-service/transform/relations/transform/data-ids.mjs.map +0 -1
  524. package/dist/services/document-service/transform/relations/transform/default-locale.js +0 -32
  525. package/dist/services/document-service/transform/relations/transform/default-locale.js.map +0 -1
  526. package/dist/services/document-service/transform/relations/transform/default-locale.mjs +0 -32
  527. package/dist/services/document-service/transform/relations/transform/default-locale.mjs.map +0 -1
  528. package/dist/services/document-service/transform/relations/utils/dp.js +0 -30
  529. package/dist/services/document-service/transform/relations/utils/dp.js.map +0 -1
  530. package/dist/services/document-service/transform/relations/utils/dp.mjs +0 -30
  531. package/dist/services/document-service/transform/relations/utils/dp.mjs.map +0 -1
  532. package/dist/services/document-service/transform/relations/utils/i18n.js +0 -25
  533. package/dist/services/document-service/transform/relations/utils/i18n.js.map +0 -1
  534. package/dist/services/document-service/transform/relations/utils/i18n.mjs +0 -25
  535. package/dist/services/document-service/transform/relations/utils/i18n.mjs.map +0 -1
  536. package/dist/services/document-service/transform/relations/utils/map-relation.js +0 -87
  537. package/dist/services/document-service/transform/relations/utils/map-relation.js.map +0 -1
  538. package/dist/services/document-service/transform/relations/utils/map-relation.mjs +0 -87
  539. package/dist/services/document-service/transform/relations/utils/map-relation.mjs.map +0 -1
  540. package/dist/services/document-service/utils/populate.js +0 -41
  541. package/dist/services/document-service/utils/populate.js.map +0 -1
  542. package/dist/services/document-service/utils/populate.mjs +0 -41
  543. package/dist/services/document-service/utils/populate.mjs.map +0 -1
  544. package/dist/services/entity-service/index.js +0 -169
  545. package/dist/services/entity-service/index.js.map +0 -1
  546. package/dist/services/entity-service/index.mjs +0 -167
  547. package/dist/services/entity-service/index.mjs.map +0 -1
  548. package/dist/services/entity-validator/blocks-validator.js +0 -127
  549. package/dist/services/entity-validator/blocks-validator.js.map +0 -1
  550. package/dist/services/entity-validator/blocks-validator.mjs +0 -128
  551. package/dist/services/entity-validator/blocks-validator.mjs.map +0 -1
  552. package/dist/services/entity-validator/index.js +0 -333
  553. package/dist/services/entity-validator/index.js.map +0 -1
  554. package/dist/services/entity-validator/index.mjs +0 -332
  555. package/dist/services/entity-validator/index.mjs.map +0 -1
  556. package/dist/services/entity-validator/validators.js +0 -126
  557. package/dist/services/entity-validator/validators.js.map +0 -1
  558. package/dist/services/entity-validator/validators.mjs +0 -124
  559. package/dist/services/entity-validator/validators.mjs.map +0 -1
  560. package/dist/services/errors.js +0 -76
  561. package/dist/services/errors.js.map +0 -1
  562. package/dist/services/errors.mjs +0 -74
  563. package/dist/services/errors.mjs.map +0 -1
  564. package/dist/services/event-hub.js +0 -67
  565. package/dist/services/event-hub.js.map +0 -1
  566. package/dist/services/event-hub.mjs +0 -68
  567. package/dist/services/event-hub.mjs.map +0 -1
  568. package/dist/services/features.js +0 -17
  569. package/dist/services/features.js.map +0 -1
  570. package/dist/services/features.mjs +0 -17
  571. package/dist/services/features.mjs.map +0 -1
  572. package/dist/services/fs.js +0 -51
  573. package/dist/services/fs.js.map +0 -1
  574. package/dist/services/fs.mjs +0 -49
  575. package/dist/services/fs.mjs.map +0 -1
  576. package/dist/services/metrics/admin-user-hash.js +0 -14
  577. package/dist/services/metrics/admin-user-hash.js.map +0 -1
  578. package/dist/services/metrics/admin-user-hash.mjs +0 -12
  579. package/dist/services/metrics/admin-user-hash.mjs.map +0 -1
  580. package/dist/services/metrics/index.js +0 -45
  581. package/dist/services/metrics/index.js.map +0 -1
  582. package/dist/services/metrics/index.mjs +0 -46
  583. package/dist/services/metrics/index.mjs.map +0 -1
  584. package/dist/services/metrics/is-truthy.js +0 -9
  585. package/dist/services/metrics/is-truthy.js.map +0 -1
  586. package/dist/services/metrics/is-truthy.mjs +0 -8
  587. package/dist/services/metrics/is-truthy.mjs.map +0 -1
  588. package/dist/services/metrics/middleware.js +0 -25
  589. package/dist/services/metrics/middleware.js.map +0 -1
  590. package/dist/services/metrics/middleware.mjs +0 -26
  591. package/dist/services/metrics/middleware.mjs.map +0 -1
  592. package/dist/services/metrics/rate-limiter.js +0 -21
  593. package/dist/services/metrics/rate-limiter.js.map +0 -1
  594. package/dist/services/metrics/rate-limiter.mjs +0 -22
  595. package/dist/services/metrics/rate-limiter.mjs.map +0 -1
  596. package/dist/services/metrics/sender.js +0 -76
  597. package/dist/services/metrics/sender.js.map +0 -1
  598. package/dist/services/metrics/sender.mjs +0 -70
  599. package/dist/services/metrics/sender.mjs.map +0 -1
  600. package/dist/services/query-params.js +0 -12
  601. package/dist/services/query-params.js.map +0 -1
  602. package/dist/services/query-params.mjs +0 -13
  603. package/dist/services/query-params.mjs.map +0 -1
  604. package/dist/services/reloader.js +0 -36
  605. package/dist/services/reloader.js.map +0 -1
  606. package/dist/services/reloader.mjs +0 -36
  607. package/dist/services/reloader.mjs.map +0 -1
  608. package/dist/services/request-context.js +0 -13
  609. package/dist/services/request-context.js.map +0 -1
  610. package/dist/services/request-context.mjs +0 -14
  611. package/dist/services/request-context.mjs.map +0 -1
  612. package/dist/services/server/admin-api.js +0 -13
  613. package/dist/services/server/admin-api.js.map +0 -1
  614. package/dist/services/server/admin-api.mjs +0 -13
  615. package/dist/services/server/admin-api.mjs.map +0 -1
  616. package/dist/services/server/api.js +0 -30
  617. package/dist/services/server/api.js.map +0 -1
  618. package/dist/services/server/api.mjs +0 -28
  619. package/dist/services/server/api.mjs.map +0 -1
  620. package/dist/services/server/compose-endpoint.js +0 -117
  621. package/dist/services/server/compose-endpoint.js.map +0 -1
  622. package/dist/services/server/compose-endpoint.mjs +0 -116
  623. package/dist/services/server/compose-endpoint.mjs.map +0 -1
  624. package/dist/services/server/content-api.js +0 -12
  625. package/dist/services/server/content-api.js.map +0 -1
  626. package/dist/services/server/content-api.mjs +0 -12
  627. package/dist/services/server/content-api.mjs.map +0 -1
  628. package/dist/services/server/http-server.js +0 -50
  629. package/dist/services/server/http-server.js.map +0 -1
  630. package/dist/services/server/http-server.mjs +0 -48
  631. package/dist/services/server/http-server.mjs.map +0 -1
  632. package/dist/services/server/index.js +0 -87
  633. package/dist/services/server/index.js.map +0 -1
  634. package/dist/services/server/index.mjs +0 -85
  635. package/dist/services/server/index.mjs.map +0 -1
  636. package/dist/services/server/koa.js +0 -52
  637. package/dist/services/server/koa.js.map +0 -1
  638. package/dist/services/server/koa.mjs +0 -48
  639. package/dist/services/server/koa.mjs.map +0 -1
  640. package/dist/services/server/middleware.js +0 -92
  641. package/dist/services/server/middleware.js.map +0 -1
  642. package/dist/services/server/middleware.mjs +0 -90
  643. package/dist/services/server/middleware.mjs.map +0 -1
  644. package/dist/services/server/policy.js +0 -20
  645. package/dist/services/server/policy.js.map +0 -1
  646. package/dist/services/server/policy.mjs +0 -20
  647. package/dist/services/server/policy.mjs.map +0 -1
  648. package/dist/services/server/register-middlewares.js +0 -72
  649. package/dist/services/server/register-middlewares.js.map +0 -1
  650. package/dist/services/server/register-middlewares.mjs +0 -73
  651. package/dist/services/server/register-middlewares.mjs.map +0 -1
  652. package/dist/services/server/register-routes.js +0 -76
  653. package/dist/services/server/register-routes.js.map +0 -1
  654. package/dist/services/server/register-routes.mjs +0 -75
  655. package/dist/services/server/register-routes.mjs.map +0 -1
  656. package/dist/services/server/routing.js +0 -91
  657. package/dist/services/server/routing.js.map +0 -1
  658. package/dist/services/server/routing.mjs +0 -89
  659. package/dist/services/server/routing.mjs.map +0 -1
  660. package/dist/services/utils/dynamic-zones.js +0 -17
  661. package/dist/services/utils/dynamic-zones.js.map +0 -1
  662. package/dist/services/utils/dynamic-zones.mjs +0 -18
  663. package/dist/services/utils/dynamic-zones.mjs.map +0 -1
  664. package/dist/services/webhook-runner.js +0 -133
  665. package/dist/services/webhook-runner.js.map +0 -1
  666. package/dist/services/webhook-runner.mjs +0 -131
  667. package/dist/services/webhook-runner.mjs.map +0 -1
  668. package/dist/services/webhook-store.js +0 -103
  669. package/dist/services/webhook-store.js.map +0 -1
  670. package/dist/services/webhook-store.mjs +0 -103
  671. package/dist/services/webhook-store.mjs.map +0 -1
  672. package/dist/services/worker-queue.js +0 -56
  673. package/dist/services/worker-queue.js.map +0 -1
  674. package/dist/services/worker-queue.mjs +0 -55
  675. package/dist/services/worker-queue.mjs.map +0 -1
  676. package/dist/utils/convert-custom-field-type.js +0 -24
  677. package/dist/utils/convert-custom-field-type.js.map +0 -1
  678. package/dist/utils/convert-custom-field-type.mjs +0 -24
  679. package/dist/utils/convert-custom-field-type.mjs.map +0 -1
  680. package/dist/utils/cron.js +0 -38
  681. package/dist/utils/cron.js.map +0 -1
  682. package/dist/utils/cron.mjs +0 -38
  683. package/dist/utils/cron.mjs.map +0 -1
  684. package/dist/utils/fetch.js +0 -20
  685. package/dist/utils/fetch.js.map +0 -1
  686. package/dist/utils/fetch.mjs +0 -20
  687. package/dist/utils/fetch.mjs.map +0 -1
  688. package/dist/utils/filepath-to-prop-path.js +0 -12
  689. package/dist/utils/filepath-to-prop-path.js.map +0 -1
  690. package/dist/utils/filepath-to-prop-path.mjs +0 -10
  691. package/dist/utils/filepath-to-prop-path.mjs.map +0 -1
  692. package/dist/utils/is-initialized.js +0 -16
  693. package/dist/utils/is-initialized.js.map +0 -1
  694. package/dist/utils/is-initialized.mjs +0 -16
  695. package/dist/utils/is-initialized.mjs.map +0 -1
  696. package/dist/utils/lifecycles.js +0 -9
  697. package/dist/utils/lifecycles.js.map +0 -1
  698. package/dist/utils/lifecycles.mjs +0 -9
  699. package/dist/utils/lifecycles.mjs.map +0 -1
  700. package/dist/utils/load-config-file.js +0 -45
  701. package/dist/utils/load-config-file.js.map +0 -1
  702. package/dist/utils/load-config-file.mjs +0 -42
  703. package/dist/utils/load-config-file.mjs.map +0 -1
  704. package/dist/utils/load-files.js +0 -39
  705. package/dist/utils/load-files.js.map +0 -1
  706. package/dist/utils/load-files.mjs +0 -35
  707. package/dist/utils/load-files.mjs.map +0 -1
  708. package/dist/utils/open-browser.js +0 -11
  709. package/dist/utils/open-browser.js.map +0 -1
  710. package/dist/utils/open-browser.mjs +0 -9
  711. package/dist/utils/open-browser.mjs.map +0 -1
  712. package/dist/utils/resolve-working-dirs.js +0 -13
  713. package/dist/utils/resolve-working-dirs.js.map +0 -1
  714. package/dist/utils/resolve-working-dirs.mjs +0 -11
  715. package/dist/utils/resolve-working-dirs.mjs.map +0 -1
  716. package/dist/utils/signals.js +0 -17
  717. package/dist/utils/signals.js.map +0 -1
  718. package/dist/utils/signals.mjs +0 -17
  719. package/dist/utils/signals.mjs.map +0 -1
  720. package/dist/utils/startup-logger.js +0 -81
  721. package/dist/utils/startup-logger.js.map +0 -1
  722. package/dist/utils/startup-logger.mjs +0 -77
  723. package/dist/utils/startup-logger.mjs.map +0 -1
  724. package/dist/utils/transform-content-types-to-models.js +0 -275
  725. package/dist/utils/transform-content-types-to-models.js.map +0 -1
  726. package/dist/utils/transform-content-types-to-models.mjs +0 -272
  727. package/dist/utils/transform-content-types-to-models.mjs.map +0 -1
  728. package/dist/utils/update-notifier/index.js +0 -85
  729. package/dist/utils/update-notifier/index.js.map +0 -1
  730. package/dist/utils/update-notifier/index.mjs +0 -78
  731. package/dist/utils/update-notifier/index.mjs.map +0 -1
@@ -1 +0,0 @@
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 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\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\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));\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 contentTypes;\n};\n\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));\n }\n\n return root;\n};\n\nconst loadFile = (file: string) => {\n const ext = extname(file);\n\n switch (ext) {\n case '.js':\n return importDefault(file);\n case '.json':\n return fse.readJSON(file);\n default:\n return {};\n }\n};\n"],"names":[],"mappings":"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"}
@@ -1,38 +0,0 @@
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(_);
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);
36
- }
37
- module.exports = loadComponents;
38
- //# sourceMappingURL=components.js.map
@@ -1 +0,0 @@
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,37 +0,0 @@
1
- import { join } from "path";
2
- import _ from "lodash";
3
- import { pathExists } from "fs-extra";
4
- import { loadFiles } from "../utils/load-files.mjs";
5
- 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);
33
- }
34
- export {
35
- loadComponents as default
36
- };
37
- //# sourceMappingURL=components.mjs.map
@@ -1 +0,0 @@
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,24 +0,0 @@
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");
11
- 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
- ]);
22
- }
23
- exports.loadApplicationContext = loadApplicationContext;
24
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
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,24 +0,0 @@
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
- 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
- ]);
20
- }
21
- export {
22
- loadApplicationContext
23
- };
24
- //# sourceMappingURL=index.mjs.map
@@ -1 +0,0 @@
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,31 +0,0 @@
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);
8
- 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);
12
- }
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);
26
- }
27
- }
28
- return middlewares;
29
- };
30
- module.exports = loadMiddlewares;
31
- //# sourceMappingURL=middlewares.js.map
@@ -1 +0,0 @@
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,30 +0,0 @@
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
- async function loadMiddlewares(strapi) {
6
- const localMiddlewares = await loadLocalMiddlewares(strapi);
7
- strapi.get("middlewares").add(`global::`, localMiddlewares);
8
- strapi.get("middlewares").add(`strapi::`, middlewares);
9
- }
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);
23
- }
24
- }
25
- return middlewares2;
26
- };
27
- export {
28
- loadMiddlewares as default
29
- };
30
- //# sourceMappingURL=middlewares.mjs.map
@@ -1 +0,0 @@
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,113 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const path = require("path");
4
- const fs = require("fs");
5
- const _ = require("lodash");
6
- const _$1 = require("lodash/fp");
7
- const strapiUtils = require("@strapi/utils");
8
- const getUserPluginsConfig = require("./get-user-plugins-config.js");
9
- const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
10
- const ___default = /* @__PURE__ */ _interopDefault(_);
11
- const INTERNAL_PLUGINS = [
12
- "@strapi/plugin-content-manager",
13
- "@strapi/plugin-content-type-builder",
14
- "@strapi/plugin-email",
15
- "@strapi/plugin-upload",
16
- "@strapi/plugin-i18n",
17
- "@strapi/content-releases",
18
- "@strapi/review-workflows"
19
- ];
20
- const isStrapiPlugin = (info) => _$1.get("strapi.kind", info) === "plugin";
21
- const validatePluginName = (pluginName) => {
22
- if (!strapiUtils.strings.isKebabCase(pluginName)) {
23
- throw new Error(`Plugin name "${pluginName}" is not in kebab (an-example-of-kebab-case)`);
24
- }
25
- };
26
- const toDetailedDeclaration = (declaration) => {
27
- if (typeof declaration === "boolean") {
28
- return { enabled: declaration };
29
- }
30
- const detailedDeclaration = {
31
- enabled: declaration.enabled
32
- };
33
- if (declaration?.resolve) {
34
- let pathToPlugin = "";
35
- if (declaration.isModule) {
36
- pathToPlugin = path.join(declaration.resolve, "..");
37
- } else {
38
- try {
39
- pathToPlugin = path.dirname(require.resolve(declaration.resolve));
40
- } catch (e) {
41
- pathToPlugin = path.resolve(strapi.dirs.app.root, declaration.resolve);
42
- if (!fs.existsSync(pathToPlugin) || !fs.statSync(pathToPlugin).isDirectory()) {
43
- throw new Error(`${declaration.resolve} couldn't be resolved`);
44
- }
45
- }
46
- }
47
- detailedDeclaration.pathToPlugin = pathToPlugin;
48
- }
49
- return detailedDeclaration;
50
- };
51
- const getEnabledPlugins = async (strapi2, { client } = { client: false }) => {
52
- const internalPlugins = {};
53
- for (const dep of INTERNAL_PLUGINS) {
54
- const packagePath = path.join(dep, "package.json");
55
- const packageInfo = require(packagePath);
56
- validatePluginName(packageInfo.strapi.name);
57
- internalPlugins[packageInfo.strapi.name] = {
58
- ...toDetailedDeclaration({ enabled: true, resolve: packagePath, isModule: client }),
59
- info: packageInfo.strapi
60
- };
61
- }
62
- const installedPlugins = {};
63
- const dependencies = strapi2.config.get("info.dependencies", {});
64
- for (const dep of Object.keys(dependencies)) {
65
- const packagePath = path.join(dep, "package.json");
66
- let packageInfo;
67
- try {
68
- packageInfo = require(packagePath);
69
- } catch {
70
- continue;
71
- }
72
- if (isStrapiPlugin(packageInfo)) {
73
- validatePluginName(packageInfo.strapi.name);
74
- installedPlugins[packageInfo.strapi.name] = {
75
- ...toDetailedDeclaration({ enabled: true, resolve: packagePath, isModule: client }),
76
- info: {
77
- ...packageInfo.strapi,
78
- packageName: packageInfo.name
79
- }
80
- };
81
- }
82
- }
83
- const declaredPlugins = {};
84
- const userPluginsConfig = await getUserPluginsConfig.getUserPluginsConfig();
85
- ___default.default.forEach(userPluginsConfig, (declaration, pluginName) => {
86
- validatePluginName(pluginName);
87
- declaredPlugins[pluginName] = {
88
- ...toDetailedDeclaration(declaration),
89
- info: {}
90
- };
91
- const { pathToPlugin } = declaredPlugins[pluginName];
92
- if (pathToPlugin) {
93
- const packagePath = path.join(pathToPlugin, "package.json");
94
- const packageInfo = require(packagePath);
95
- if (isStrapiPlugin(packageInfo)) {
96
- declaredPlugins[pluginName].info = packageInfo.strapi || {};
97
- }
98
- }
99
- });
100
- const declaredPluginsResolves = _$1.map(_$1.prop("pathToPlugin"), declaredPlugins);
101
- const installedPluginsNotAlreadyUsed = _$1.pickBy(
102
- (p) => !declaredPluginsResolves.includes(p.pathToPlugin),
103
- installedPlugins
104
- );
105
- const enabledPlugins = _$1.pipe(
106
- _$1.defaultsDeep(declaredPlugins),
107
- _$1.defaultsDeep(installedPluginsNotAlreadyUsed),
108
- _$1.pickBy((p) => p.enabled)
109
- )(internalPlugins);
110
- return enabledPlugins;
111
- };
112
- exports.getEnabledPlugins = getEnabledPlugins;
113
- //# sourceMappingURL=get-enabled-plugins.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-enabled-plugins.js","sources":["../../../src/loaders/plugins/get-enabled-plugins.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-var-requires */\nimport { dirname, join, resolve } from 'path';\nimport { statSync, existsSync } from 'fs';\nimport _ from 'lodash';\nimport { get, pickBy, defaultsDeep, map, prop, pipe } from 'lodash/fp';\nimport { strings } from '@strapi/utils';\nimport type { Core } from '@strapi/types';\nimport { getUserPluginsConfig } from './get-user-plugins-config';\n\ninterface PluginMeta {\n enabled: boolean;\n pathToPlugin?: string;\n info: Record<string, unknown>;\n}\n\ntype PluginMetas = Record<string, PluginMeta>;\n\ninterface PluginInfo {\n name: string;\n kind: string;\n}\n\ninterface PluginDeclaration {\n enabled: boolean;\n resolve: string;\n isModule: boolean;\n}\n\n/**\n * otherwise known as \"core features\"\n */\nconst INTERNAL_PLUGINS = [\n '@strapi/plugin-content-manager',\n '@strapi/plugin-content-type-builder',\n '@strapi/plugin-email',\n '@strapi/plugin-upload',\n '@strapi/plugin-i18n',\n '@strapi/content-releases',\n '@strapi/review-workflows',\n];\n\nconst isStrapiPlugin = (info: PluginInfo) => get('strapi.kind', info) === 'plugin';\n\nconst validatePluginName = (pluginName: string) => {\n if (!strings.isKebabCase(pluginName)) {\n throw new Error(`Plugin name \"${pluginName}\" is not in kebab (an-example-of-kebab-case)`);\n }\n};\n\nconst toDetailedDeclaration = (declaration: boolean | PluginDeclaration) => {\n if (typeof declaration === 'boolean') {\n return { enabled: declaration };\n }\n\n const detailedDeclaration: { enabled: boolean; pathToPlugin?: string } = {\n enabled: declaration.enabled,\n };\n\n if (declaration?.resolve) {\n let pathToPlugin = '';\n\n if (declaration.isModule) {\n /**\n * we only want the node_module here, not the package.json\n */\n pathToPlugin = join(declaration.resolve, '..');\n } else {\n try {\n pathToPlugin = dirname(require.resolve(declaration.resolve));\n } catch (e) {\n pathToPlugin = resolve(strapi.dirs.app.root, declaration.resolve);\n\n if (!existsSync(pathToPlugin) || !statSync(pathToPlugin).isDirectory()) {\n throw new Error(`${declaration.resolve} couldn't be resolved`);\n }\n }\n }\n\n detailedDeclaration.pathToPlugin = pathToPlugin;\n }\n\n return detailedDeclaration;\n};\n\nexport const getEnabledPlugins = async (strapi: Core.Strapi, { client } = { client: false }) => {\n const internalPlugins: PluginMetas = {};\n\n for (const dep of INTERNAL_PLUGINS) {\n const packagePath = join(dep, 'package.json');\n const packageInfo = require(packagePath);\n\n validatePluginName(packageInfo.strapi.name);\n internalPlugins[packageInfo.strapi.name] = {\n ...toDetailedDeclaration({ enabled: true, resolve: packagePath, isModule: client }),\n info: packageInfo.strapi,\n };\n }\n\n const installedPlugins: PluginMetas = {};\n const dependencies = strapi.config.get('info.dependencies', {});\n\n for (const dep of Object.keys(dependencies)) {\n const packagePath = join(dep, 'package.json');\n let packageInfo;\n try {\n packageInfo = require(packagePath);\n } catch {\n continue;\n }\n\n if (isStrapiPlugin(packageInfo)) {\n validatePluginName(packageInfo.strapi.name);\n installedPlugins[packageInfo.strapi.name] = {\n ...toDetailedDeclaration({ enabled: true, resolve: packagePath, isModule: client }),\n info: {\n ...packageInfo.strapi,\n packageName: packageInfo.name,\n },\n };\n }\n }\n\n const declaredPlugins: PluginMetas = {};\n const userPluginsConfig = await getUserPluginsConfig();\n\n _.forEach(userPluginsConfig, (declaration, pluginName) => {\n validatePluginName(pluginName);\n\n declaredPlugins[pluginName] = {\n ...toDetailedDeclaration(declaration),\n info: {},\n };\n\n const { pathToPlugin } = declaredPlugins[pluginName];\n\n // for manually resolved plugins\n if (pathToPlugin) {\n const packagePath = join(pathToPlugin, 'package.json');\n const packageInfo = require(packagePath);\n\n if (isStrapiPlugin(packageInfo)) {\n declaredPlugins[pluginName].info = packageInfo.strapi || {};\n }\n }\n });\n\n const declaredPluginsResolves = map(prop('pathToPlugin'), declaredPlugins);\n const installedPluginsNotAlreadyUsed = pickBy(\n (p) => !declaredPluginsResolves.includes(p.pathToPlugin),\n installedPlugins\n );\n\n const enabledPlugins = pipe(\n defaultsDeep(declaredPlugins),\n defaultsDeep(installedPluginsNotAlreadyUsed),\n pickBy((p: PluginMeta) => p.enabled)\n )(internalPlugins);\n\n return enabledPlugins;\n};\n"],"names":["get","strings","join","dirname","resolve","existsSync","statSync","strapi","getUserPluginsConfig","_","map","prop","pickBy","pipe","defaultsDeep"],"mappings":"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"}
@@ -1,111 +0,0 @@
1
- import { join, dirname, resolve } from "path";
2
- import { existsSync, statSync } from "fs";
3
- import _ from "lodash";
4
- import { map, prop, pickBy, pipe, defaultsDeep, get } from "lodash/fp";
5
- import { strings } from "@strapi/utils";
6
- import { getUserPluginsConfig } from "./get-user-plugins-config.mjs";
7
- const INTERNAL_PLUGINS = [
8
- "@strapi/plugin-content-manager",
9
- "@strapi/plugin-content-type-builder",
10
- "@strapi/plugin-email",
11
- "@strapi/plugin-upload",
12
- "@strapi/plugin-i18n",
13
- "@strapi/content-releases",
14
- "@strapi/review-workflows"
15
- ];
16
- const isStrapiPlugin = (info) => get("strapi.kind", info) === "plugin";
17
- const validatePluginName = (pluginName) => {
18
- if (!strings.isKebabCase(pluginName)) {
19
- throw new Error(`Plugin name "${pluginName}" is not in kebab (an-example-of-kebab-case)`);
20
- }
21
- };
22
- const toDetailedDeclaration = (declaration) => {
23
- if (typeof declaration === "boolean") {
24
- return { enabled: declaration };
25
- }
26
- const detailedDeclaration = {
27
- enabled: declaration.enabled
28
- };
29
- if (declaration?.resolve) {
30
- let pathToPlugin = "";
31
- if (declaration.isModule) {
32
- pathToPlugin = join(declaration.resolve, "..");
33
- } else {
34
- try {
35
- pathToPlugin = dirname(require.resolve(declaration.resolve));
36
- } catch (e) {
37
- pathToPlugin = resolve(strapi.dirs.app.root, declaration.resolve);
38
- if (!existsSync(pathToPlugin) || !statSync(pathToPlugin).isDirectory()) {
39
- throw new Error(`${declaration.resolve} couldn't be resolved`);
40
- }
41
- }
42
- }
43
- detailedDeclaration.pathToPlugin = pathToPlugin;
44
- }
45
- return detailedDeclaration;
46
- };
47
- const getEnabledPlugins = async (strapi2, { client } = { client: false }) => {
48
- const internalPlugins = {};
49
- for (const dep of INTERNAL_PLUGINS) {
50
- const packagePath = join(dep, "package.json");
51
- const packageInfo = require(packagePath);
52
- validatePluginName(packageInfo.strapi.name);
53
- internalPlugins[packageInfo.strapi.name] = {
54
- ...toDetailedDeclaration({ enabled: true, resolve: packagePath, isModule: client }),
55
- info: packageInfo.strapi
56
- };
57
- }
58
- const installedPlugins = {};
59
- const dependencies = strapi2.config.get("info.dependencies", {});
60
- for (const dep of Object.keys(dependencies)) {
61
- const packagePath = join(dep, "package.json");
62
- let packageInfo;
63
- try {
64
- packageInfo = require(packagePath);
65
- } catch {
66
- continue;
67
- }
68
- if (isStrapiPlugin(packageInfo)) {
69
- validatePluginName(packageInfo.strapi.name);
70
- installedPlugins[packageInfo.strapi.name] = {
71
- ...toDetailedDeclaration({ enabled: true, resolve: packagePath, isModule: client }),
72
- info: {
73
- ...packageInfo.strapi,
74
- packageName: packageInfo.name
75
- }
76
- };
77
- }
78
- }
79
- const declaredPlugins = {};
80
- const userPluginsConfig = await getUserPluginsConfig();
81
- _.forEach(userPluginsConfig, (declaration, pluginName) => {
82
- validatePluginName(pluginName);
83
- declaredPlugins[pluginName] = {
84
- ...toDetailedDeclaration(declaration),
85
- info: {}
86
- };
87
- const { pathToPlugin } = declaredPlugins[pluginName];
88
- if (pathToPlugin) {
89
- const packagePath = join(pathToPlugin, "package.json");
90
- const packageInfo = require(packagePath);
91
- if (isStrapiPlugin(packageInfo)) {
92
- declaredPlugins[pluginName].info = packageInfo.strapi || {};
93
- }
94
- }
95
- });
96
- const declaredPluginsResolves = map(prop("pathToPlugin"), declaredPlugins);
97
- const installedPluginsNotAlreadyUsed = pickBy(
98
- (p) => !declaredPluginsResolves.includes(p.pathToPlugin),
99
- installedPlugins
100
- );
101
- const enabledPlugins = pipe(
102
- defaultsDeep(declaredPlugins),
103
- defaultsDeep(installedPluginsNotAlreadyUsed),
104
- pickBy((p) => p.enabled)
105
- )(internalPlugins);
106
- return enabledPlugins;
107
- };
108
- export {
109
- getEnabledPlugins
110
- };
111
- //# sourceMappingURL=get-enabled-plugins.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-enabled-plugins.mjs","sources":["../../../src/loaders/plugins/get-enabled-plugins.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-var-requires */\nimport { dirname, join, resolve } from 'path';\nimport { statSync, existsSync } from 'fs';\nimport _ from 'lodash';\nimport { get, pickBy, defaultsDeep, map, prop, pipe } from 'lodash/fp';\nimport { strings } from '@strapi/utils';\nimport type { Core } from '@strapi/types';\nimport { getUserPluginsConfig } from './get-user-plugins-config';\n\ninterface PluginMeta {\n enabled: boolean;\n pathToPlugin?: string;\n info: Record<string, unknown>;\n}\n\ntype PluginMetas = Record<string, PluginMeta>;\n\ninterface PluginInfo {\n name: string;\n kind: string;\n}\n\ninterface PluginDeclaration {\n enabled: boolean;\n resolve: string;\n isModule: boolean;\n}\n\n/**\n * otherwise known as \"core features\"\n */\nconst INTERNAL_PLUGINS = [\n '@strapi/plugin-content-manager',\n '@strapi/plugin-content-type-builder',\n '@strapi/plugin-email',\n '@strapi/plugin-upload',\n '@strapi/plugin-i18n',\n '@strapi/content-releases',\n '@strapi/review-workflows',\n];\n\nconst isStrapiPlugin = (info: PluginInfo) => get('strapi.kind', info) === 'plugin';\n\nconst validatePluginName = (pluginName: string) => {\n if (!strings.isKebabCase(pluginName)) {\n throw new Error(`Plugin name \"${pluginName}\" is not in kebab (an-example-of-kebab-case)`);\n }\n};\n\nconst toDetailedDeclaration = (declaration: boolean | PluginDeclaration) => {\n if (typeof declaration === 'boolean') {\n return { enabled: declaration };\n }\n\n const detailedDeclaration: { enabled: boolean; pathToPlugin?: string } = {\n enabled: declaration.enabled,\n };\n\n if (declaration?.resolve) {\n let pathToPlugin = '';\n\n if (declaration.isModule) {\n /**\n * we only want the node_module here, not the package.json\n */\n pathToPlugin = join(declaration.resolve, '..');\n } else {\n try {\n pathToPlugin = dirname(require.resolve(declaration.resolve));\n } catch (e) {\n pathToPlugin = resolve(strapi.dirs.app.root, declaration.resolve);\n\n if (!existsSync(pathToPlugin) || !statSync(pathToPlugin).isDirectory()) {\n throw new Error(`${declaration.resolve} couldn't be resolved`);\n }\n }\n }\n\n detailedDeclaration.pathToPlugin = pathToPlugin;\n }\n\n return detailedDeclaration;\n};\n\nexport const getEnabledPlugins = async (strapi: Core.Strapi, { client } = { client: false }) => {\n const internalPlugins: PluginMetas = {};\n\n for (const dep of INTERNAL_PLUGINS) {\n const packagePath = join(dep, 'package.json');\n const packageInfo = require(packagePath);\n\n validatePluginName(packageInfo.strapi.name);\n internalPlugins[packageInfo.strapi.name] = {\n ...toDetailedDeclaration({ enabled: true, resolve: packagePath, isModule: client }),\n info: packageInfo.strapi,\n };\n }\n\n const installedPlugins: PluginMetas = {};\n const dependencies = strapi.config.get('info.dependencies', {});\n\n for (const dep of Object.keys(dependencies)) {\n const packagePath = join(dep, 'package.json');\n let packageInfo;\n try {\n packageInfo = require(packagePath);\n } catch {\n continue;\n }\n\n if (isStrapiPlugin(packageInfo)) {\n validatePluginName(packageInfo.strapi.name);\n installedPlugins[packageInfo.strapi.name] = {\n ...toDetailedDeclaration({ enabled: true, resolve: packagePath, isModule: client }),\n info: {\n ...packageInfo.strapi,\n packageName: packageInfo.name,\n },\n };\n }\n }\n\n const declaredPlugins: PluginMetas = {};\n const userPluginsConfig = await getUserPluginsConfig();\n\n _.forEach(userPluginsConfig, (declaration, pluginName) => {\n validatePluginName(pluginName);\n\n declaredPlugins[pluginName] = {\n ...toDetailedDeclaration(declaration),\n info: {},\n };\n\n const { pathToPlugin } = declaredPlugins[pluginName];\n\n // for manually resolved plugins\n if (pathToPlugin) {\n const packagePath = join(pathToPlugin, 'package.json');\n const packageInfo = require(packagePath);\n\n if (isStrapiPlugin(packageInfo)) {\n declaredPlugins[pluginName].info = packageInfo.strapi || {};\n }\n }\n });\n\n const declaredPluginsResolves = map(prop('pathToPlugin'), declaredPlugins);\n const installedPluginsNotAlreadyUsed = pickBy(\n (p) => !declaredPluginsResolves.includes(p.pathToPlugin),\n installedPlugins\n );\n\n const enabledPlugins = pipe(\n defaultsDeep(declaredPlugins),\n defaultsDeep(installedPluginsNotAlreadyUsed),\n pickBy((p: PluginMeta) => p.enabled)\n )(internalPlugins);\n\n return enabledPlugins;\n};\n"],"names":["strapi"],"mappings":"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"}
@@ -1,27 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const path = require("path");
4
- const fse = require("fs-extra");
5
- const _ = require("lodash/fp");
6
- const loadConfigFile = require("../../utils/load-config-file.js");
7
- const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
8
- const fse__default = /* @__PURE__ */ _interopDefault(fse);
9
- const getUserPluginsConfig = async () => {
10
- const globalUserConfigPath = path.join(strapi.dirs.dist.config, "plugins.js");
11
- const currentEnvUserConfigPath = path.join(
12
- strapi.dirs.dist.config,
13
- "env",
14
- process.env.NODE_ENV,
15
- "plugins.js"
16
- );
17
- let config = {};
18
- if (await fse__default.default.pathExists(globalUserConfigPath)) {
19
- config = loadConfigFile.loadConfigFile(globalUserConfigPath);
20
- }
21
- if (await fse__default.default.pathExists(currentEnvUserConfigPath)) {
22
- config = _.merge(config, loadConfigFile.loadConfigFile(currentEnvUserConfigPath));
23
- }
24
- return config;
25
- };
26
- exports.getUserPluginsConfig = getUserPluginsConfig;
27
- //# sourceMappingURL=get-user-plugins-config.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-user-plugins-config.js","sources":["../../../src/loaders/plugins/get-user-plugins-config.ts"],"sourcesContent":["import { join } from 'path';\nimport fse from 'fs-extra';\nimport { merge } from 'lodash/fp';\nimport { loadConfigFile } from '../../utils/load-config-file';\n\n/**\n * Return user defined plugins' config\n * first load config from `config/plugins.js`\n * and then merge config from `config/env/{env}/plugins.js`\n */\nexport const getUserPluginsConfig = async () => {\n const globalUserConfigPath = join(strapi.dirs.dist.config, 'plugins.js');\n const currentEnvUserConfigPath = join(\n strapi.dirs.dist.config,\n 'env',\n process.env.NODE_ENV as string,\n 'plugins.js'\n );\n let config = {};\n\n // assign global user config if exists\n if (await fse.pathExists(globalUserConfigPath)) {\n config = loadConfigFile(globalUserConfigPath);\n }\n\n // and merge user config by environment if exists\n if (await fse.pathExists(currentEnvUserConfigPath)) {\n config = merge(config, loadConfigFile(currentEnvUserConfigPath));\n }\n\n return config;\n};\n"],"names":["join","fse","loadConfigFile","merge"],"mappings":";;;;;;;;AAUO,MAAM,uBAAuB,YAAY;AAC9C,QAAM,uBAAuBA,KAAAA,KAAK,OAAO,KAAK,KAAK,QAAQ,YAAY;AACvE,QAAM,2BAA2BA,KAAA;AAAA,IAC/B,OAAO,KAAK,KAAK;AAAA,IACjB;AAAA,IACA,QAAQ,IAAI;AAAA,IACZ;AAAA,EAAA;AAEF,MAAI,SAAS,CAAA;AAGb,MAAI,MAAMC,aAAA,QAAI,WAAW,oBAAoB,GAAG;AAC9C,aAASC,eAAAA,eAAe,oBAAoB;AAAA,EAC9C;AAGA,MAAI,MAAMD,aAAA,QAAI,WAAW,wBAAwB,GAAG;AAClD,aAASE,EAAAA,MAAM,QAAQD,eAAAA,eAAe,wBAAwB,CAAC;AAAA,EACjE;AAEO,SAAA;AACT;;"}
@@ -1,25 +0,0 @@
1
- import { join } from "path";
2
- import fse from "fs-extra";
3
- import { merge } from "lodash/fp";
4
- import { loadConfigFile } from "../../utils/load-config-file.mjs";
5
- const getUserPluginsConfig = async () => {
6
- const globalUserConfigPath = join(strapi.dirs.dist.config, "plugins.js");
7
- const currentEnvUserConfigPath = join(
8
- strapi.dirs.dist.config,
9
- "env",
10
- process.env.NODE_ENV,
11
- "plugins.js"
12
- );
13
- let config = {};
14
- if (await fse.pathExists(globalUserConfigPath)) {
15
- config = loadConfigFile(globalUserConfigPath);
16
- }
17
- if (await fse.pathExists(currentEnvUserConfigPath)) {
18
- config = merge(config, loadConfigFile(currentEnvUserConfigPath));
19
- }
20
- return config;
21
- };
22
- export {
23
- getUserPluginsConfig
24
- };
25
- //# sourceMappingURL=get-user-plugins-config.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-user-plugins-config.mjs","sources":["../../../src/loaders/plugins/get-user-plugins-config.ts"],"sourcesContent":["import { join } from 'path';\nimport fse from 'fs-extra';\nimport { merge } from 'lodash/fp';\nimport { loadConfigFile } from '../../utils/load-config-file';\n\n/**\n * Return user defined plugins' config\n * first load config from `config/plugins.js`\n * and then merge config from `config/env/{env}/plugins.js`\n */\nexport const getUserPluginsConfig = async () => {\n const globalUserConfigPath = join(strapi.dirs.dist.config, 'plugins.js');\n const currentEnvUserConfigPath = join(\n strapi.dirs.dist.config,\n 'env',\n process.env.NODE_ENV as string,\n 'plugins.js'\n );\n let config = {};\n\n // assign global user config if exists\n if (await fse.pathExists(globalUserConfigPath)) {\n config = loadConfigFile(globalUserConfigPath);\n }\n\n // and merge user config by environment if exists\n if (await fse.pathExists(currentEnvUserConfigPath)) {\n config = merge(config, loadConfigFile(currentEnvUserConfigPath));\n }\n\n return config;\n};\n"],"names":[],"mappings":";;;;AAUO,MAAM,uBAAuB,YAAY;AAC9C,QAAM,uBAAuB,KAAK,OAAO,KAAK,KAAK,QAAQ,YAAY;AACvE,QAAM,2BAA2B;AAAA,IAC/B,OAAO,KAAK,KAAK;AAAA,IACjB;AAAA,IACA,QAAQ,IAAI;AAAA,IACZ;AAAA,EAAA;AAEF,MAAI,SAAS,CAAA;AAGb,MAAI,MAAM,IAAI,WAAW,oBAAoB,GAAG;AAC9C,aAAS,eAAe,oBAAoB;AAAA,EAC9C;AAGA,MAAI,MAAM,IAAI,WAAW,wBAAwB,GAAG;AAClD,aAAS,MAAM,QAAQ,eAAe,wBAAwB,CAAC;AAAA,EACjE;AAEO,SAAA;AACT;"}