@strapi/core 0.0.0-experimental.a28002c793bc4de2a8b3c6c5b9c2336c5a6db7a9 → 0.0.0-experimental.a40985766ab04e433896342630dbc2832adeb389

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