@strapi/strapi 4.14.5 → 4.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (697) hide show
  1. package/README.md +1 -0
  2. package/bin/strapi.js +1 -6
  3. package/dist/Strapi.js +454 -532
  4. package/dist/Strapi.js.map +1 -1
  5. package/dist/Strapi.mjs +464 -0
  6. package/dist/Strapi.mjs.map +1 -0
  7. package/dist/cli.d.ts +2 -0
  8. package/dist/cli.d.ts.map +1 -0
  9. package/dist/cli.js +4 -0
  10. package/dist/cli.js.map +1 -0
  11. package/dist/commands/actions/admin/create-user/action.js +75 -94
  12. package/dist/commands/actions/admin/create-user/action.js.map +1 -1
  13. package/dist/commands/actions/admin/create-user/command.d.ts.map +1 -1
  14. package/dist/commands/actions/admin/create-user/command.js +6 -17
  15. package/dist/commands/actions/admin/create-user/command.js.map +1 -1
  16. package/dist/commands/actions/admin/reset-user-password/action.js +33 -36
  17. package/dist/commands/actions/admin/reset-user-password/action.js.map +1 -1
  18. package/dist/commands/actions/admin/reset-user-password/command.d.ts.map +1 -1
  19. package/dist/commands/actions/admin/reset-user-password/command.js +6 -15
  20. package/dist/commands/actions/admin/reset-user-password/command.js.map +1 -1
  21. package/dist/commands/actions/build-command/action.js +15 -18
  22. package/dist/commands/actions/build-command/action.js.map +1 -1
  23. package/dist/commands/actions/build-command/command.d.ts.map +1 -1
  24. package/dist/commands/actions/build-command/command.js +6 -13
  25. package/dist/commands/actions/build-command/command.js.map +1 -1
  26. package/dist/commands/actions/components/list/action.js +18 -18
  27. package/dist/commands/actions/components/list/action.js.map +1 -1
  28. package/dist/commands/actions/components/list/command.d.ts.map +1 -1
  29. package/dist/commands/actions/components/list/command.js +6 -12
  30. package/dist/commands/actions/components/list/command.js.map +1 -1
  31. package/dist/commands/actions/configuration/dump/action.js +33 -43
  32. package/dist/commands/actions/configuration/dump/action.js.map +1 -1
  33. package/dist/commands/actions/configuration/dump/command.d.ts.map +1 -1
  34. package/dist/commands/actions/configuration/dump/command.js +6 -15
  35. package/dist/commands/actions/configuration/dump/command.js.map +1 -1
  36. package/dist/commands/actions/configuration/restore/action.js +122 -139
  37. package/dist/commands/actions/configuration/restore/action.js.map +1 -1
  38. package/dist/commands/actions/configuration/restore/command.d.ts.map +1 -1
  39. package/dist/commands/actions/configuration/restore/command.js +6 -15
  40. package/dist/commands/actions/configuration/restore/command.js.map +1 -1
  41. package/dist/commands/actions/console/action.js +19 -23
  42. package/dist/commands/actions/console/action.js.map +1 -1
  43. package/dist/commands/actions/console/command.d.ts.map +1 -1
  44. package/dist/commands/actions/console/command.js +6 -12
  45. package/dist/commands/actions/console/command.js.map +1 -1
  46. package/dist/commands/actions/content-types/list/action.js +18 -18
  47. package/dist/commands/actions/content-types/list/action.js.map +1 -1
  48. package/dist/commands/actions/content-types/list/command.d.ts.map +1 -1
  49. package/dist/commands/actions/content-types/list/command.js +6 -12
  50. package/dist/commands/actions/content-types/list/command.js.map +1 -1
  51. package/dist/commands/actions/controllers/list/action.js +18 -18
  52. package/dist/commands/actions/controllers/list/action.js.map +1 -1
  53. package/dist/commands/actions/controllers/list/command.d.ts.map +1 -1
  54. package/dist/commands/actions/controllers/list/command.js +6 -12
  55. package/dist/commands/actions/controllers/list/command.js.map +1 -1
  56. package/dist/commands/actions/develop/action.d.ts +1 -75
  57. package/dist/commands/actions/develop/action.d.ts.map +1 -1
  58. package/dist/commands/actions/develop/action.js +184 -177
  59. package/dist/commands/actions/develop/action.js.map +1 -1
  60. package/dist/commands/actions/develop/command.d.ts.map +1 -1
  61. package/dist/commands/actions/develop/command.js +6 -17
  62. package/dist/commands/actions/develop/command.js.map +1 -1
  63. package/dist/commands/actions/generate/command.js +30 -16
  64. package/dist/commands/actions/generate/command.js.map +1 -1
  65. package/dist/commands/actions/hooks/list/action.js +18 -18
  66. package/dist/commands/actions/hooks/list/action.js.map +1 -1
  67. package/dist/commands/actions/hooks/list/command.d.ts.map +1 -1
  68. package/dist/commands/actions/hooks/list/command.js +6 -12
  69. package/dist/commands/actions/hooks/list/command.js.map +1 -1
  70. package/dist/commands/actions/install/action.js +41 -45
  71. package/dist/commands/actions/install/action.js.map +1 -1
  72. package/dist/commands/actions/install/command.d.ts.map +1 -1
  73. package/dist/commands/actions/install/command.js +6 -12
  74. package/dist/commands/actions/install/command.js.map +1 -1
  75. package/dist/commands/actions/middlewares/list/action.js +18 -18
  76. package/dist/commands/actions/middlewares/list/action.js.map +1 -1
  77. package/dist/commands/actions/middlewares/list/command.d.ts.map +1 -1
  78. package/dist/commands/actions/middlewares/list/command.js +6 -12
  79. package/dist/commands/actions/middlewares/list/command.js.map +1 -1
  80. package/dist/commands/actions/new/action.js +5 -10
  81. package/dist/commands/actions/new/action.js.map +1 -1
  82. package/dist/commands/actions/new/command.js +14 -33
  83. package/dist/commands/actions/new/command.js.map +1 -1
  84. package/dist/commands/actions/plugin/build-command/action.js +80 -79
  85. package/dist/commands/actions/plugin/build-command/action.js.map +1 -1
  86. package/dist/commands/actions/plugin/build-command/command.d.ts.map +1 -1
  87. package/dist/commands/actions/plugin/build-command/command.js +7 -18
  88. package/dist/commands/actions/plugin/build-command/command.js.map +1 -1
  89. package/dist/commands/actions/plugin/watch/action.d.ts +7 -0
  90. package/dist/commands/actions/plugin/watch/action.d.ts.map +1 -0
  91. package/dist/commands/actions/plugin/watch/action.js +85 -0
  92. package/dist/commands/actions/plugin/watch/action.js.map +1 -0
  93. package/dist/commands/actions/plugin/watch/command.d.ts +7 -0
  94. package/dist/commands/actions/plugin/watch/command.d.ts.map +1 -0
  95. package/dist/commands/actions/plugin/watch/command.js +8 -0
  96. package/dist/commands/actions/plugin/watch/command.js.map +1 -0
  97. package/dist/commands/actions/policies/list/action.js +18 -18
  98. package/dist/commands/actions/policies/list/action.js.map +1 -1
  99. package/dist/commands/actions/policies/list/command.d.ts.map +1 -1
  100. package/dist/commands/actions/policies/list/command.js +6 -12
  101. package/dist/commands/actions/policies/list/command.js.map +1 -1
  102. package/dist/commands/actions/report/action.js +22 -25
  103. package/dist/commands/actions/report/action.js.map +1 -1
  104. package/dist/commands/actions/report/command.d.ts.map +1 -1
  105. package/dist/commands/actions/report/command.js +6 -15
  106. package/dist/commands/actions/report/command.js.map +1 -1
  107. package/dist/commands/actions/routes/list/action.js +22 -24
  108. package/dist/commands/actions/routes/list/action.js.map +1 -1
  109. package/dist/commands/actions/routes/list/command.d.ts.map +1 -1
  110. package/dist/commands/actions/routes/list/command.js +6 -12
  111. package/dist/commands/actions/routes/list/command.js.map +1 -1
  112. package/dist/commands/actions/services/list/action.js +18 -18
  113. package/dist/commands/actions/services/list/action.js.map +1 -1
  114. package/dist/commands/actions/services/list/command.d.ts.map +1 -1
  115. package/dist/commands/actions/services/list/command.js +6 -12
  116. package/dist/commands/actions/services/list/command.js.map +1 -1
  117. package/dist/commands/actions/start/action.d.ts +1 -74
  118. package/dist/commands/actions/start/action.d.ts.map +1 -1
  119. package/dist/commands/actions/start/action.js +19 -20
  120. package/dist/commands/actions/start/action.js.map +1 -1
  121. package/dist/commands/actions/start/command.d.ts.map +1 -1
  122. package/dist/commands/actions/start/command.js +6 -12
  123. package/dist/commands/actions/start/command.js.map +1 -1
  124. package/dist/commands/actions/telemetry/disable/action.js +72 -72
  125. package/dist/commands/actions/telemetry/disable/action.js.map +1 -1
  126. package/dist/commands/actions/telemetry/disable/command.d.ts.map +1 -1
  127. package/dist/commands/actions/telemetry/disable/command.js +6 -12
  128. package/dist/commands/actions/telemetry/disable/command.js.map +1 -1
  129. package/dist/commands/actions/telemetry/enable/action.js +87 -88
  130. package/dist/commands/actions/telemetry/enable/action.js.map +1 -1
  131. package/dist/commands/actions/telemetry/enable/command.d.ts.map +1 -1
  132. package/dist/commands/actions/telemetry/enable/command.js +6 -12
  133. package/dist/commands/actions/telemetry/enable/command.js.map +1 -1
  134. package/dist/commands/actions/templates/generate/action.js +59 -73
  135. package/dist/commands/actions/templates/generate/action.js.map +1 -1
  136. package/dist/commands/actions/templates/generate/command.d.ts.map +1 -1
  137. package/dist/commands/actions/templates/generate/command.js +6 -12
  138. package/dist/commands/actions/templates/generate/command.js.map +1 -1
  139. package/dist/commands/actions/ts/generate-types/action.js +25 -26
  140. package/dist/commands/actions/ts/generate-types/action.js.map +1 -1
  141. package/dist/commands/actions/ts/generate-types/command.d.ts.map +1 -1
  142. package/dist/commands/actions/ts/generate-types/command.js +9 -16
  143. package/dist/commands/actions/ts/generate-types/command.js.map +1 -1
  144. package/dist/commands/actions/uninstall/action.js +60 -62
  145. package/dist/commands/actions/uninstall/action.js.map +1 -1
  146. package/dist/commands/actions/uninstall/command.d.ts.map +1 -1
  147. package/dist/commands/actions/uninstall/command.js +6 -13
  148. package/dist/commands/actions/uninstall/command.js.map +1 -1
  149. package/dist/commands/actions/version/command.js +10 -17
  150. package/dist/commands/actions/version/command.js.map +1 -1
  151. package/dist/commands/actions/watch-admin/action.js +33 -34
  152. package/dist/commands/actions/watch-admin/action.js.map +1 -1
  153. package/dist/commands/actions/watch-admin/command.d.ts.map +1 -1
  154. package/dist/commands/actions/watch-admin/command.js +6 -13
  155. package/dist/commands/actions/watch-admin/command.js.map +1 -1
  156. package/dist/commands/builders/admin.js +46 -50
  157. package/dist/commands/builders/admin.js.map +1 -1
  158. package/dist/commands/builders/typescript.js +28 -25
  159. package/dist/commands/builders/typescript.js.map +1 -1
  160. package/dist/commands/index.d.ts +1 -0
  161. package/dist/commands/index.d.ts.map +1 -1
  162. package/dist/commands/index.js +102 -91
  163. package/dist/commands/index.js.map +1 -1
  164. package/dist/commands/utils/commander.js +11 -136
  165. package/dist/commands/utils/commander.js.map +1 -1
  166. package/dist/commands/utils/helpers.d.ts +4 -6
  167. package/dist/commands/utils/helpers.d.ts.map +1 -1
  168. package/dist/commands/utils/helpers.js +57 -155
  169. package/dist/commands/utils/helpers.js.map +1 -1
  170. package/dist/commands/utils/logger.js +59 -49
  171. package/dist/commands/utils/logger.js.map +1 -1
  172. package/dist/commands/utils/pkg.js +98 -107
  173. package/dist/commands/utils/pkg.js.map +1 -1
  174. package/dist/compile.js +15 -17
  175. package/dist/compile.js.map +1 -1
  176. package/dist/compile.mjs +17 -0
  177. package/dist/compile.mjs.map +1 -0
  178. package/dist/container.js +32 -35
  179. package/dist/container.js.map +1 -1
  180. package/dist/container.mjs +36 -0
  181. package/dist/container.mjs.map +1 -0
  182. package/dist/core/app-configuration/config-loader.js +17 -20
  183. package/dist/core/app-configuration/config-loader.js.map +1 -1
  184. package/dist/core/app-configuration/config-loader.mjs +17 -0
  185. package/dist/core/app-configuration/config-loader.mjs.map +1 -0
  186. package/dist/core/app-configuration/index.js +51 -50
  187. package/dist/core/app-configuration/index.js.map +1 -1
  188. package/dist/core/app-configuration/index.mjs +51 -0
  189. package/dist/core/app-configuration/index.mjs.map +1 -0
  190. package/dist/core/app-configuration/load-config-file.js +34 -38
  191. package/dist/core/app-configuration/load-config-file.js.map +1 -1
  192. package/dist/core/app-configuration/load-config-file.mjs +42 -0
  193. package/dist/core/app-configuration/load-config-file.mjs.map +1 -0
  194. package/dist/core/bootstrap.js +25 -24
  195. package/dist/core/bootstrap.js.map +1 -1
  196. package/dist/core/bootstrap.mjs +27 -0
  197. package/dist/core/bootstrap.mjs.map +1 -0
  198. package/dist/core/domain/content-type/index.js +108 -104
  199. package/dist/core/domain/content-type/index.js.map +1 -1
  200. package/dist/core/domain/content-type/index.mjs +119 -0
  201. package/dist/core/domain/content-type/index.mjs.map +1 -0
  202. package/dist/core/domain/content-type/validator.js +69 -83
  203. package/dist/core/domain/content-type/validator.js.map +1 -1
  204. package/dist/core/domain/content-type/validator.mjs +75 -0
  205. package/dist/core/domain/content-type/validator.mjs.map +1 -0
  206. package/dist/core/domain/module/index.js +97 -100
  207. package/dist/core/domain/module/index.js.map +1 -1
  208. package/dist/core/domain/module/index.mjs +105 -0
  209. package/dist/core/domain/module/index.mjs.map +1 -0
  210. package/dist/core/domain/module/validation.js +21 -25
  211. package/dist/core/domain/module/validation.js.map +1 -1
  212. package/dist/core/domain/module/validation.mjs +25 -0
  213. package/dist/core/domain/module/validation.mjs.map +1 -0
  214. package/dist/core/loaders/admin.js +13 -15
  215. package/dist/core/loaders/admin.js.map +1 -1
  216. package/dist/core/loaders/admin.mjs +15 -0
  217. package/dist/core/loaders/admin.mjs.map +1 -0
  218. package/dist/core/loaders/apis.js +109 -135
  219. package/dist/core/loaders/apis.js.map +1 -1
  220. package/dist/core/loaders/apis.mjs +128 -0
  221. package/dist/core/loaders/apis.mjs.map +1 -0
  222. package/dist/core/loaders/components.js +34 -34
  223. package/dist/core/loaders/components.js.map +1 -1
  224. package/dist/core/loaders/components.mjs +36 -0
  225. package/dist/core/loaders/components.mjs.map +1 -0
  226. package/dist/core/loaders/index.js +21 -24
  227. package/dist/core/loaders/index.js.map +1 -1
  228. package/dist/core/loaders/index.mjs +24 -0
  229. package/dist/core/loaders/index.mjs.map +1 -0
  230. package/dist/core/loaders/middlewares.js +25 -28
  231. package/dist/core/loaders/middlewares.js.map +1 -1
  232. package/dist/core/loaders/middlewares.mjs +30 -0
  233. package/dist/core/loaders/middlewares.mjs.map +1 -0
  234. package/dist/core/loaders/plugins/get-enabled-plugins.js +96 -99
  235. package/dist/core/loaders/plugins/get-enabled-plugins.js.map +1 -1
  236. package/dist/core/loaders/plugins/get-enabled-plugins.mjs +108 -0
  237. package/dist/core/loaders/plugins/get-enabled-plugins.mjs.map +1 -0
  238. package/dist/core/loaders/plugins/get-user-plugins-config.js +23 -27
  239. package/dist/core/loaders/plugins/get-user-plugins-config.js.map +1 -1
  240. package/dist/core/loaders/plugins/get-user-plugins-config.mjs +25 -0
  241. package/dist/core/loaders/plugins/get-user-plugins-config.mjs.map +1 -0
  242. package/dist/core/loaders/plugins/index.js +92 -96
  243. package/dist/core/loaders/plugins/index.js.map +1 -1
  244. package/dist/core/loaders/plugins/index.mjs +104 -0
  245. package/dist/core/loaders/plugins/index.mjs.map +1 -0
  246. package/dist/core/loaders/policies.js +21 -24
  247. package/dist/core/loaders/policies.js.map +1 -1
  248. package/dist/core/loaders/policies.mjs +24 -0
  249. package/dist/core/loaders/policies.mjs.map +1 -0
  250. package/dist/core/loaders/sanitizers.js +4 -4
  251. package/dist/core/loaders/sanitizers.js.map +1 -1
  252. package/dist/core/loaders/sanitizers.mjs +7 -0
  253. package/dist/core/loaders/sanitizers.mjs.map +1 -0
  254. package/dist/core/loaders/src-index.js +28 -32
  255. package/dist/core/loaders/src-index.js.map +1 -1
  256. package/dist/core/loaders/src-index.mjs +34 -0
  257. package/dist/core/loaders/src-index.mjs.map +1 -0
  258. package/dist/core/loaders/validators.js +4 -4
  259. package/dist/core/loaders/validators.js.map +1 -1
  260. package/dist/core/loaders/validators.mjs +7 -0
  261. package/dist/core/loaders/validators.mjs.map +1 -0
  262. package/dist/core/registries/apis.js +20 -21
  263. package/dist/core/registries/apis.js.map +1 -1
  264. package/dist/core/registries/apis.mjs +24 -0
  265. package/dist/core/registries/apis.mjs.map +1 -0
  266. package/dist/core/registries/config.js +21 -21
  267. package/dist/core/registries/config.js.map +1 -1
  268. package/dist/core/registries/config.mjs +22 -0
  269. package/dist/core/registries/config.mjs.map +1 -0
  270. package/dist/core/registries/content-types.js +65 -64
  271. package/dist/core/registries/content-types.js.map +1 -1
  272. package/dist/core/registries/content-types.mjs +72 -0
  273. package/dist/core/registries/content-types.mjs.map +1 -0
  274. package/dist/core/registries/controllers.js +77 -78
  275. package/dist/core/registries/controllers.js.map +1 -1
  276. package/dist/core/registries/controllers.mjs +81 -0
  277. package/dist/core/registries/controllers.mjs.map +1 -0
  278. package/dist/core/registries/custom-fields.js +66 -69
  279. package/dist/core/registries/custom-fields.js.map +1 -1
  280. package/dist/core/registries/custom-fields.mjs +72 -0
  281. package/dist/core/registries/custom-fields.mjs.map +1 -0
  282. package/dist/core/registries/hooks.js +55 -56
  283. package/dist/core/registries/hooks.js.map +1 -1
  284. package/dist/core/registries/hooks.mjs +59 -0
  285. package/dist/core/registries/hooks.mjs.map +1 -0
  286. package/dist/core/registries/middlewares.js +57 -59
  287. package/dist/core/registries/middlewares.js.map +1 -1
  288. package/dist/core/registries/middlewares.mjs +61 -0
  289. package/dist/core/registries/middlewares.mjs.map +1 -0
  290. package/dist/core/registries/modules.js +36 -37
  291. package/dist/core/registries/modules.js.map +1 -1
  292. package/dist/core/registries/modules.mjs +40 -0
  293. package/dist/core/registries/modules.mjs.map +1 -0
  294. package/dist/core/registries/plugins.js +20 -21
  295. package/dist/core/registries/plugins.js.map +1 -1
  296. package/dist/core/registries/plugins.mjs +24 -0
  297. package/dist/core/registries/plugins.mjs.map +1 -0
  298. package/dist/core/registries/policies.js +59 -61
  299. package/dist/core/registries/policies.js.map +1 -1
  300. package/dist/core/registries/policies.mjs +63 -0
  301. package/dist/core/registries/policies.mjs.map +1 -0
  302. package/dist/core/registries/sanitizers.js +22 -24
  303. package/dist/core/registries/sanitizers.js.map +1 -1
  304. package/dist/core/registries/sanitizers.mjs +24 -0
  305. package/dist/core/registries/sanitizers.mjs.map +1 -0
  306. package/dist/core/registries/services.js +77 -79
  307. package/dist/core/registries/services.js.map +1 -1
  308. package/dist/core/registries/services.mjs +81 -0
  309. package/dist/core/registries/services.mjs.map +1 -0
  310. package/dist/core/registries/validators.js +22 -24
  311. package/dist/core/registries/validators.js.map +1 -1
  312. package/dist/core/registries/validators.mjs +24 -0
  313. package/dist/core/registries/validators.mjs.map +1 -0
  314. package/dist/core/utils.js +19 -20
  315. package/dist/core/utils.js.map +1 -1
  316. package/dist/core/utils.mjs +27 -0
  317. package/dist/core/utils.mjs.map +1 -0
  318. package/dist/core-api/controller/collection-type.js +90 -93
  319. package/dist/core-api/controller/collection-type.js.map +1 -1
  320. package/dist/core-api/controller/collection-type.mjs +93 -0
  321. package/dist/core-api/controller/collection-type.mjs.map +1 -0
  322. package/dist/core-api/controller/index.js +43 -46
  323. package/dist/core-api/controller/index.js.map +1 -1
  324. package/dist/core-api/controller/index.mjs +47 -0
  325. package/dist/core-api/controller/index.mjs.map +1 -0
  326. package/dist/core-api/controller/single-type.js +48 -50
  327. package/dist/core-api/controller/single-type.js.map +1 -1
  328. package/dist/core-api/controller/single-type.mjs +51 -0
  329. package/dist/core-api/controller/single-type.mjs.map +1 -0
  330. package/dist/core-api/controller/transform.js +70 -72
  331. package/dist/core-api/controller/transform.js.map +1 -1
  332. package/dist/core-api/controller/transform.mjs +84 -0
  333. package/dist/core-api/controller/transform.mjs.map +1 -0
  334. package/dist/core-api/routes/index.js +60 -61
  335. package/dist/core-api/routes/index.js.map +1 -1
  336. package/dist/core-api/routes/index.mjs +67 -0
  337. package/dist/core-api/routes/index.mjs.map +1 -0
  338. package/dist/core-api/service/collection-type.js +57 -57
  339. package/dist/core-api/service/collection-type.js.map +1 -1
  340. package/dist/core-api/service/collection-type.mjs +62 -0
  341. package/dist/core-api/service/collection-type.mjs.map +1 -0
  342. package/dist/core-api/service/get-fetch-params.js +10 -12
  343. package/dist/core-api/service/get-fetch-params.js.map +1 -1
  344. package/dist/core-api/service/get-fetch-params.mjs +14 -0
  345. package/dist/core-api/service/get-fetch-params.mjs.map +1 -0
  346. package/dist/core-api/service/index.js +13 -15
  347. package/dist/core-api/service/index.js.map +1 -1
  348. package/dist/core-api/service/index.mjs +16 -0
  349. package/dist/core-api/service/index.mjs.map +1 -0
  350. package/dist/core-api/service/pagination.js +71 -79
  351. package/dist/core-api/service/pagination.js.map +1 -1
  352. package/dist/core-api/service/pagination.mjs +89 -0
  353. package/dist/core-api/service/pagination.mjs.map +1 -0
  354. package/dist/core-api/service/single-type.js +53 -53
  355. package/dist/core-api/service/single-type.js.map +1 -1
  356. package/dist/core-api/service/single-type.mjs +58 -0
  357. package/dist/core-api/service/single-type.mjs.map +1 -0
  358. package/dist/ee/index.js +128 -160
  359. package/dist/ee/index.js.map +1 -1
  360. package/dist/ee/index.mjs +154 -0
  361. package/dist/ee/index.mjs.map +1 -0
  362. package/dist/ee/license.js +72 -77
  363. package/dist/ee/license.js.map +1 -1
  364. package/dist/ee/license.mjs +86 -0
  365. package/dist/ee/license.mjs.map +1 -0
  366. package/dist/factories.js +62 -61
  367. package/dist/factories.js.map +1 -1
  368. package/dist/factories.mjs +71 -0
  369. package/dist/factories.mjs.map +1 -0
  370. package/dist/index.d.ts +0 -1
  371. package/dist/index.d.ts.map +1 -1
  372. package/dist/index.js +7 -34
  373. package/dist/index.js.map +1 -1
  374. package/dist/index.mjs +8 -0
  375. package/dist/index.mjs.map +1 -0
  376. package/dist/load/filepath-to-prop-path.js +9 -19
  377. package/dist/load/filepath-to-prop-path.js.map +1 -1
  378. package/dist/load/filepath-to-prop-path.mjs +10 -0
  379. package/dist/load/filepath-to-prop-path.mjs.map +1 -0
  380. package/dist/load/glob.js +11 -16
  381. package/dist/load/glob.js.map +1 -1
  382. package/dist/load/glob.mjs +14 -0
  383. package/dist/load/glob.mjs.map +1 -0
  384. package/dist/load/load-files.js +35 -43
  385. package/dist/load/load-files.js.map +1 -1
  386. package/dist/load/load-files.mjs +35 -0
  387. package/dist/load/load-files.mjs.map +1 -0
  388. package/dist/load/package-path.js +6 -10
  389. package/dist/load/package-path.js.map +1 -1
  390. package/dist/middlewares/body.js +53 -66
  391. package/dist/middlewares/body.js.map +1 -1
  392. package/dist/middlewares/body.mjs +61 -0
  393. package/dist/middlewares/body.mjs.map +1 -0
  394. package/dist/middlewares/compression.js +6 -8
  395. package/dist/middlewares/compression.js.map +1 -1
  396. package/dist/middlewares/compression.mjs +6 -0
  397. package/dist/middlewares/compression.mjs.map +1 -0
  398. package/dist/middlewares/cors.js +45 -48
  399. package/dist/middlewares/cors.js.map +1 -1
  400. package/dist/middlewares/cors.mjs +49 -0
  401. package/dist/middlewares/cors.mjs.map +1 -0
  402. package/dist/middlewares/errors.js +30 -32
  403. package/dist/middlewares/errors.js.map +1 -1
  404. package/dist/middlewares/errors.mjs +33 -0
  405. package/dist/middlewares/errors.mjs.map +1 -0
  406. package/dist/middlewares/favicon.js +16 -24
  407. package/dist/middlewares/favicon.js.map +1 -1
  408. package/dist/middlewares/favicon.mjs +20 -0
  409. package/dist/middlewares/favicon.mjs.map +1 -0
  410. package/dist/middlewares/index.js +32 -32
  411. package/dist/middlewares/index.js.map +1 -1
  412. package/dist/middlewares/index.mjs +34 -0
  413. package/dist/middlewares/index.mjs.map +1 -0
  414. package/dist/middlewares/ip.js +6 -8
  415. package/dist/middlewares/ip.js.map +1 -1
  416. package/dist/middlewares/ip.mjs +6 -0
  417. package/dist/middlewares/ip.mjs.map +1 -0
  418. package/dist/middlewares/logger.js +8 -9
  419. package/dist/middlewares/logger.js.map +1 -1
  420. package/dist/middlewares/logger.mjs +12 -0
  421. package/dist/middlewares/logger.mjs.map +1 -0
  422. package/dist/middlewares/powered-by.js +8 -9
  423. package/dist/middlewares/powered-by.js.map +1 -1
  424. package/dist/middlewares/powered-by.mjs +14 -0
  425. package/dist/middlewares/powered-by.mjs.map +1 -0
  426. package/dist/middlewares/public/index.js +85 -106
  427. package/dist/middlewares/public/index.js.map +1 -1
  428. package/dist/middlewares/public/index.mjs +85 -0
  429. package/dist/middlewares/public/index.mjs.map +1 -0
  430. package/dist/middlewares/public/serve-static.js +20 -23
  431. package/dist/middlewares/public/serve-static.js.map +1 -1
  432. package/dist/middlewares/public/serve-static.mjs +21 -0
  433. package/dist/middlewares/public/serve-static.mjs.map +1 -0
  434. package/dist/middlewares/query.js +32 -37
  435. package/dist/middlewares/query.js.map +1 -1
  436. package/dist/middlewares/query.mjs +38 -0
  437. package/dist/middlewares/query.mjs.map +1 -0
  438. package/dist/middlewares/response-time.js +8 -9
  439. package/dist/middlewares/response-time.js.map +1 -1
  440. package/dist/middlewares/response-time.mjs +12 -0
  441. package/dist/middlewares/response-time.mjs.map +1 -0
  442. package/dist/middlewares/responses.js +11 -12
  443. package/dist/middlewares/responses.js.map +1 -1
  444. package/dist/middlewares/responses.mjs +15 -0
  445. package/dist/middlewares/responses.mjs.map +1 -0
  446. package/dist/middlewares/security.js +44 -46
  447. package/dist/middlewares/security.js.map +1 -1
  448. package/dist/middlewares/security.mjs +48 -0
  449. package/dist/middlewares/security.mjs.map +1 -0
  450. package/dist/middlewares/session.js +24 -24
  451. package/dist/middlewares/session.js.map +1 -1
  452. package/dist/middlewares/session.mjs +28 -0
  453. package/dist/middlewares/session.mjs.map +1 -0
  454. package/dist/migrations/draft-publish.js +27 -36
  455. package/dist/migrations/draft-publish.js.map +1 -1
  456. package/dist/migrations/draft-publish.mjs +37 -0
  457. package/dist/migrations/draft-publish.mjs.map +1 -0
  458. package/dist/services/auth/index.js +74 -77
  459. package/dist/services/auth/index.js.map +1 -1
  460. package/dist/services/auth/index.mjs +80 -0
  461. package/dist/services/auth/index.mjs.map +1 -0
  462. package/dist/services/content-api/index.js +54 -57
  463. package/dist/services/content-api/index.js.map +1 -1
  464. package/dist/services/content-api/index.mjs +58 -0
  465. package/dist/services/content-api/index.mjs.map +1 -0
  466. package/dist/services/content-api/permissions/engine.js +6 -7
  467. package/dist/services/content-api/permissions/engine.js.map +1 -1
  468. package/dist/services/content-api/permissions/engine.mjs +6 -0
  469. package/dist/services/content-api/permissions/engine.mjs.map +1 -0
  470. package/dist/services/content-api/permissions/index.js +79 -102
  471. package/dist/services/content-api/permissions/index.js.map +1 -1
  472. package/dist/services/content-api/permissions/index.mjs +86 -0
  473. package/dist/services/content-api/permissions/index.mjs.map +1 -0
  474. package/dist/services/content-api/permissions/providers/action.js +14 -14
  475. package/dist/services/content-api/permissions/providers/action.js.map +1 -1
  476. package/dist/services/content-api/permissions/providers/action.mjs +17 -0
  477. package/dist/services/content-api/permissions/providers/action.mjs.map +1 -0
  478. package/dist/services/content-api/permissions/providers/condition.js +14 -14
  479. package/dist/services/content-api/permissions/providers/condition.js.map +1 -1
  480. package/dist/services/content-api/permissions/providers/condition.mjs +17 -0
  481. package/dist/services/content-api/permissions/providers/condition.mjs.map +1 -0
  482. package/dist/services/core-store.js +91 -111
  483. package/dist/services/core-store.js.map +1 -1
  484. package/dist/services/core-store.mjs +103 -0
  485. package/dist/services/core-store.mjs.map +1 -0
  486. package/dist/services/cron.js +60 -66
  487. package/dist/services/cron.js.map +1 -1
  488. package/dist/services/cron.mjs +64 -0
  489. package/dist/services/cron.mjs.map +1 -0
  490. package/dist/services/custom-fields.js +7 -8
  491. package/dist/services/custom-fields.js.map +1 -1
  492. package/dist/services/custom-fields.mjs +11 -0
  493. package/dist/services/custom-fields.mjs.map +1 -0
  494. package/dist/services/entity-service/attributes/index.js +17 -21
  495. package/dist/services/entity-service/attributes/index.js.map +1 -1
  496. package/dist/services/entity-service/attributes/index.mjs +22 -0
  497. package/dist/services/entity-service/attributes/index.mjs.map +1 -0
  498. package/dist/services/entity-service/attributes/transforms.js +17 -19
  499. package/dist/services/entity-service/attributes/transforms.js.map +1 -1
  500. package/dist/services/entity-service/attributes/transforms.mjs +19 -0
  501. package/dist/services/entity-service/attributes/transforms.mjs.map +1 -0
  502. package/dist/services/entity-service/components.js +336 -333
  503. package/dist/services/entity-service/components.js.map +1 -1
  504. package/dist/services/entity-service/components.mjs +382 -0
  505. package/dist/services/entity-service/components.mjs.map +1 -0
  506. package/dist/services/entity-service/index.js +314 -297
  507. package/dist/services/entity-service/index.js.map +1 -1
  508. package/dist/services/entity-service/index.mjs +326 -0
  509. package/dist/services/entity-service/index.mjs.map +1 -0
  510. package/dist/services/entity-service/params.js +4 -5
  511. package/dist/services/entity-service/params.js.map +1 -1
  512. package/dist/services/entity-service/params.mjs +8 -0
  513. package/dist/services/entity-service/params.mjs.map +1 -0
  514. package/dist/services/entity-validator/blocks-validator.js +95 -116
  515. package/dist/services/entity-validator/blocks-validator.js.map +1 -1
  516. package/dist/services/entity-validator/blocks-validator.mjs +108 -0
  517. package/dist/services/entity-validator/blocks-validator.mjs.map +1 -0
  518. package/dist/services/entity-validator/index.js +284 -297
  519. package/dist/services/entity-validator/index.js.map +1 -1
  520. package/dist/services/entity-validator/index.mjs +318 -0
  521. package/dist/services/entity-validator/index.mjs.map +1 -0
  522. package/dist/services/entity-validator/validators.js +92 -124
  523. package/dist/services/entity-validator/validators.js.map +1 -1
  524. package/dist/services/entity-validator/validators.mjs +115 -0
  525. package/dist/services/entity-validator/validators.mjs.map +1 -0
  526. package/dist/services/errors.js +64 -66
  527. package/dist/services/errors.js.map +1 -1
  528. package/dist/services/errors.mjs +74 -0
  529. package/dist/services/errors.mjs.map +1 -0
  530. package/dist/services/event-hub.js +64 -74
  531. package/dist/services/event-hub.js.map +1 -1
  532. package/dist/services/event-hub.mjs +68 -0
  533. package/dist/services/event-hub.mjs.map +1 -0
  534. package/dist/services/fs.js +48 -51
  535. package/dist/services/fs.js.map +1 -1
  536. package/dist/services/fs.mjs +49 -0
  537. package/dist/services/fs.mjs.map +1 -0
  538. package/dist/services/metrics/admin-user-hash.js +10 -15
  539. package/dist/services/metrics/admin-user-hash.js.map +1 -1
  540. package/dist/services/metrics/admin-user-hash.mjs +12 -0
  541. package/dist/services/metrics/admin-user-hash.mjs.map +1 -0
  542. package/dist/services/metrics/index.js +40 -48
  543. package/dist/services/metrics/index.js.map +1 -1
  544. package/dist/services/metrics/index.mjs +46 -0
  545. package/dist/services/metrics/index.mjs.map +1 -0
  546. package/dist/services/metrics/is-truthy.js +6 -8
  547. package/dist/services/metrics/is-truthy.js.map +1 -1
  548. package/dist/services/metrics/is-truthy.mjs +8 -0
  549. package/dist/services/metrics/is-truthy.mjs.map +1 -0
  550. package/dist/services/metrics/middleware.js +22 -25
  551. package/dist/services/metrics/middleware.js.map +1 -1
  552. package/dist/services/metrics/middleware.mjs +26 -0
  553. package/dist/services/metrics/middleware.mjs.map +1 -0
  554. package/dist/services/metrics/rate-limiter.js +19 -19
  555. package/dist/services/metrics/rate-limiter.js.map +1 -1
  556. package/dist/services/metrics/rate-limiter.mjs +22 -0
  557. package/dist/services/metrics/rate-limiter.mjs.map +1 -0
  558. package/dist/services/metrics/sender.js +69 -72
  559. package/dist/services/metrics/sender.js.map +1 -1
  560. package/dist/services/metrics/sender.mjs +71 -0
  561. package/dist/services/metrics/sender.mjs.map +1 -0
  562. package/dist/services/request-context.js +10 -11
  563. package/dist/services/request-context.js.map +1 -1
  564. package/dist/services/request-context.mjs +14 -0
  565. package/dist/services/request-context.mjs.map +1 -0
  566. package/dist/services/server/admin-api.js +9 -9
  567. package/dist/services/server/admin-api.js.map +1 -1
  568. package/dist/services/server/admin-api.mjs +13 -0
  569. package/dist/services/server/admin-api.mjs.map +1 -0
  570. package/dist/services/server/api.js +26 -28
  571. package/dist/services/server/api.js.map +1 -1
  572. package/dist/services/server/api.mjs +28 -0
  573. package/dist/services/server/api.mjs.map +1 -0
  574. package/dist/services/server/compose-endpoint.js +94 -100
  575. package/dist/services/server/compose-endpoint.js.map +1 -1
  576. package/dist/services/server/compose-endpoint.mjs +114 -0
  577. package/dist/services/server/compose-endpoint.mjs.map +1 -0
  578. package/dist/services/server/content-api.js +8 -9
  579. package/dist/services/server/content-api.js.map +1 -1
  580. package/dist/services/server/content-api.mjs +12 -0
  581. package/dist/services/server/content-api.mjs.map +1 -0
  582. package/dist/services/server/http-server.js +42 -47
  583. package/dist/services/server/http-server.js.map +1 -1
  584. package/dist/services/server/http-server.mjs +47 -0
  585. package/dist/services/server/http-server.mjs.map +1 -0
  586. package/dist/services/server/index.js +82 -85
  587. package/dist/services/server/index.js.map +1 -1
  588. package/dist/services/server/index.mjs +86 -0
  589. package/dist/services/server/index.mjs.map +1 -0
  590. package/dist/services/server/koa.js +46 -50
  591. package/dist/services/server/koa.js.map +1 -1
  592. package/dist/services/server/koa.mjs +48 -0
  593. package/dist/services/server/koa.mjs.map +1 -0
  594. package/dist/services/server/middleware.js +80 -91
  595. package/dist/services/server/middleware.js.map +1 -1
  596. package/dist/services/server/middleware.mjs +90 -0
  597. package/dist/services/server/middleware.mjs.map +1 -0
  598. package/dist/services/server/policy.js +16 -17
  599. package/dist/services/server/policy.js.map +1 -1
  600. package/dist/services/server/policy.mjs +20 -0
  601. package/dist/services/server/policy.mjs.map +1 -0
  602. package/dist/services/server/register-middlewares.js +58 -68
  603. package/dist/services/server/register-middlewares.js.map +1 -1
  604. package/dist/services/server/register-middlewares.mjs +73 -0
  605. package/dist/services/server/register-middlewares.mjs.map +1 -0
  606. package/dist/services/server/register-routes.js +64 -82
  607. package/dist/services/server/register-routes.js.map +1 -1
  608. package/dist/services/server/register-routes.mjs +75 -0
  609. package/dist/services/server/register-routes.mjs.map +1 -0
  610. package/dist/services/server/routing.js +80 -94
  611. package/dist/services/server/routing.js.map +1 -1
  612. package/dist/services/server/routing.mjs +89 -0
  613. package/dist/services/server/routing.mjs.map +1 -0
  614. package/dist/services/utils/dynamic-zones.js +13 -10
  615. package/dist/services/utils/dynamic-zones.js.map +1 -1
  616. package/dist/services/utils/dynamic-zones.mjs +17 -0
  617. package/dist/services/utils/dynamic-zones.mjs.map +1 -0
  618. package/dist/services/utils/upload-files.js +59 -68
  619. package/dist/services/utils/upload-files.js.map +1 -1
  620. package/dist/services/utils/upload-files.mjs +63 -0
  621. package/dist/services/utils/upload-files.mjs.map +1 -0
  622. package/dist/services/webhook-runner.js +122 -130
  623. package/dist/services/webhook-runner.js.map +1 -1
  624. package/dist/services/webhook-runner.mjs +131 -0
  625. package/dist/services/webhook-runner.mjs.map +1 -0
  626. package/dist/services/webhook-store.js +87 -93
  627. package/dist/services/webhook-store.js.map +1 -1
  628. package/dist/services/webhook-store.mjs +100 -0
  629. package/dist/services/webhook-store.mjs.map +1 -0
  630. package/dist/services/worker-queue.js +49 -57
  631. package/dist/services/worker-queue.js.map +1 -1
  632. package/dist/services/worker-queue.mjs +55 -0
  633. package/dist/services/worker-queue.mjs.map +1 -0
  634. package/dist/utils/addSlash.js +13 -13
  635. package/dist/utils/addSlash.js.map +1 -1
  636. package/dist/utils/convert-custom-field-type.js +19 -16
  637. package/dist/utils/convert-custom-field-type.js.map +1 -1
  638. package/dist/utils/convert-custom-field-type.mjs +24 -0
  639. package/dist/utils/convert-custom-field-type.mjs.map +1 -0
  640. package/dist/utils/cron.js +29 -47
  641. package/dist/utils/cron.js.map +1 -1
  642. package/dist/utils/cron.mjs +38 -0
  643. package/dist/utils/cron.mjs.map +1 -0
  644. package/dist/utils/ee.js +3 -7
  645. package/dist/utils/ee.js.map +1 -1
  646. package/dist/utils/ee.mjs +5 -0
  647. package/dist/utils/ee.mjs.map +1 -0
  648. package/dist/utils/fetch.js +17 -19
  649. package/dist/utils/fetch.js.map +1 -1
  650. package/dist/utils/fetch.mjs +19 -0
  651. package/dist/utils/fetch.mjs.map +1 -0
  652. package/dist/utils/get-dirs.js +26 -27
  653. package/dist/utils/get-dirs.js.map +1 -1
  654. package/dist/utils/get-dirs.mjs +30 -0
  655. package/dist/utils/get-dirs.mjs.map +1 -0
  656. package/dist/utils/is-initialized.js +11 -17
  657. package/dist/utils/is-initialized.js.map +1 -1
  658. package/dist/utils/is-initialized.mjs +16 -0
  659. package/dist/utils/is-initialized.mjs.map +1 -0
  660. package/dist/utils/lifecycles.js +7 -7
  661. package/dist/utils/lifecycles.js.map +1 -1
  662. package/dist/utils/lifecycles.mjs +9 -0
  663. package/dist/utils/lifecycles.mjs.map +1 -0
  664. package/dist/utils/machine-id.js +12 -13
  665. package/dist/utils/machine-id.js.map +1 -1
  666. package/dist/utils/machine-id.mjs +15 -0
  667. package/dist/utils/machine-id.mjs.map +1 -0
  668. package/dist/utils/open-browser.js +8 -10
  669. package/dist/utils/open-browser.js.map +1 -1
  670. package/dist/utils/open-browser.mjs +10 -0
  671. package/dist/utils/open-browser.mjs.map +1 -0
  672. package/dist/utils/signals.js +13 -16
  673. package/dist/utils/signals.js.map +1 -1
  674. package/dist/utils/signals.mjs +17 -0
  675. package/dist/utils/signals.mjs.map +1 -0
  676. package/dist/utils/startup-logger.js +73 -66
  677. package/dist/utils/startup-logger.js.map +1 -1
  678. package/dist/utils/startup-logger.mjs +72 -0
  679. package/dist/utils/startup-logger.mjs.map +1 -0
  680. package/dist/utils/update-notifier/index.js +69 -72
  681. package/dist/utils/update-notifier/index.js.map +1 -1
  682. package/dist/utils/update-notifier/index.mjs +76 -0
  683. package/dist/utils/update-notifier/index.mjs.map +1 -0
  684. package/package.json +26 -25
  685. package/dist/commands/builders/index.js +0 -11
  686. package/dist/commands/builders/index.js.map +0 -1
  687. package/dist/commands/types.js +0 -3
  688. package/dist/commands/types.js.map +0 -1
  689. package/dist/load/index.js +0 -11
  690. package/dist/load/index.js.map +0 -1
  691. package/dist/services/content-api/permissions/providers/index.js +0 -11
  692. package/dist/services/content-api/permissions/providers/index.js.map +0 -1
  693. package/dist/utils/index.js +0 -13
  694. package/dist/utils/index.js.map +0 -1
  695. package/dist/utils/postinstall.js +0 -32
  696. package/dist/utils/postinstall.js.map +0 -1
  697. package/index.js +0 -5
@@ -0,0 +1,81 @@
1
+ import { pickBy, has } from "lodash/fp";
2
+ import { hasNamespace, addNamespace } from "../utils.mjs";
3
+ const controllersRegistry = (strapi) => {
4
+ const controllers = {};
5
+ const instances = {};
6
+ return {
7
+ /**
8
+ * Returns this list of registered controllers uids
9
+ */
10
+ keys() {
11
+ return Object.keys(controllers);
12
+ },
13
+ /**
14
+ * Returns the instance of a controller. Instantiate the controller if not already done
15
+ */
16
+ get(uid) {
17
+ if (instances[uid]) {
18
+ return instances[uid];
19
+ }
20
+ const controller = controllers[uid];
21
+ if (controller) {
22
+ instances[uid] = typeof controller === "function" ? controller({ strapi }) : controller;
23
+ return instances[uid];
24
+ }
25
+ },
26
+ /**
27
+ * Returns a map with all the controller in a namespace
28
+ */
29
+ getAll(namespace) {
30
+ const filteredControllers = pickBy((_, uid) => hasNamespace(uid, namespace))(controllers);
31
+ const map = {};
32
+ for (const uid of Object.keys(filteredControllers)) {
33
+ Object.defineProperty(map, uid, {
34
+ enumerable: true,
35
+ get: () => {
36
+ return this.get(uid);
37
+ }
38
+ });
39
+ }
40
+ return map;
41
+ },
42
+ /**
43
+ * Registers a controller
44
+ */
45
+ set(uid, value) {
46
+ controllers[uid] = value;
47
+ delete instances[uid];
48
+ return this;
49
+ },
50
+ /**
51
+ * Registers a map of controllers for a specific namespace
52
+ */
53
+ add(namespace, newControllers) {
54
+ for (const controllerName of Object.keys(newControllers)) {
55
+ const controller = newControllers[controllerName];
56
+ const uid = addNamespace(controllerName, namespace);
57
+ if (has(uid, controllers)) {
58
+ throw new Error(`Controller ${uid} has already been registered.`);
59
+ }
60
+ controllers[uid] = controller;
61
+ }
62
+ return this;
63
+ },
64
+ /**
65
+ * Wraps a controller to extend it
66
+ */
67
+ extend(controllerUID, extendFn) {
68
+ const currentController = this.get(controllerUID);
69
+ if (!currentController) {
70
+ throw new Error(`Controller ${controllerUID} doesn't exist`);
71
+ }
72
+ const newController = extendFn(currentController);
73
+ instances[controllerUID] = newController;
74
+ return this;
75
+ }
76
+ };
77
+ };
78
+ export {
79
+ controllersRegistry as default
80
+ };
81
+ //# sourceMappingURL=controllers.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"controllers.mjs","sources":["../../../src/core/registries/controllers.ts"],"sourcesContent":["import { pickBy, has } from 'lodash/fp';\nimport type { Strapi, Common } from '@strapi/types';\nimport { addNamespace, hasNamespace } from '../utils';\n\nexport type ControllerFactory =\n | ((params: { strapi: Strapi }) => Common.Controller)\n | Common.Controller;\nexport type ControllerFactoryMap = Record<Common.UID.Controller, ControllerFactory>;\nexport type ControllerMap = Record<Common.UID.Controller, Common.Controller>;\nexport type ControllerExtendFn = (service: Common.Controller) => Common.Controller;\n\nconst controllersRegistry = (strapi: Strapi) => {\n const controllers: ControllerFactoryMap = {};\n const instances: ControllerMap = {};\n\n return {\n /**\n * Returns this list of registered controllers uids\n */\n keys() {\n return Object.keys(controllers);\n },\n\n /**\n * Returns the instance of a controller. Instantiate the controller if not already done\n */\n get(uid: Common.UID.Controller) {\n if (instances[uid]) {\n return instances[uid];\n }\n\n const controller = controllers[uid];\n\n if (controller) {\n instances[uid] = typeof controller === 'function' ? controller({ strapi }) : controller;\n return instances[uid];\n }\n },\n\n /**\n * Returns a map with all the controller in a namespace\n */\n getAll(namespace: string) {\n const filteredControllers = pickBy((_, uid) => hasNamespace(uid, namespace))(controllers);\n\n const map = {};\n for (const uid of Object.keys(filteredControllers) as Common.UID.Controller[]) {\n Object.defineProperty(map, uid, {\n enumerable: true,\n get: () => {\n return this.get(uid);\n },\n });\n }\n\n return map;\n },\n\n /**\n * Registers a controller\n */\n set(uid: Common.UID.Controller, value: ControllerFactory) {\n controllers[uid] = value;\n delete instances[uid];\n return this;\n },\n\n /**\n * Registers a map of controllers for a specific namespace\n */\n add(namespace: string, newControllers: ControllerFactoryMap) {\n for (const controllerName of Object.keys(newControllers) as Common.UID.Controller[]) {\n const controller = newControllers[controllerName];\n const uid = addNamespace(controllerName, namespace) as Common.UID.Controller;\n\n if (has(uid, controllers)) {\n throw new Error(`Controller ${uid} has already been registered.`);\n }\n\n controllers[uid] = controller;\n }\n\n return this;\n },\n\n /**\n * Wraps a controller to extend it\n */\n extend(controllerUID: Common.UID.Controller, extendFn: ControllerExtendFn) {\n const currentController = this.get(controllerUID);\n\n if (!currentController) {\n throw new Error(`Controller ${controllerUID} doesn't exist`);\n }\n\n const newController = extendFn(currentController);\n instances[controllerUID] = newController;\n\n return this;\n },\n };\n};\n\nexport default controllersRegistry;\n"],"names":[],"mappings":";;AAWM,MAAA,sBAAsB,CAAC,WAAmB;AAC9C,QAAM,cAAoC,CAAA;AAC1C,QAAM,YAA2B,CAAA;AAE1B,SAAA;AAAA;AAAA;AAAA;AAAA,IAIL,OAAO;AACE,aAAA,OAAO,KAAK,WAAW;AAAA,IAChC;AAAA;AAAA;AAAA;AAAA,IAKA,IAAI,KAA4B;AAC1B,UAAA,UAAU,GAAG,GAAG;AAClB,eAAO,UAAU,GAAG;AAAA,MACtB;AAEM,YAAA,aAAa,YAAY,GAAG;AAElC,UAAI,YAAY;AACJ,kBAAA,GAAG,IAAI,OAAO,eAAe,aAAa,WAAW,EAAE,QAAQ,IAAI;AAC7E,eAAO,UAAU,GAAG;AAAA,MACtB;AAAA,IACF;AAAA;AAAA;AAAA;AAAA,IAKA,OAAO,WAAmB;AAClB,YAAA,sBAAsB,OAAO,CAAC,GAAG,QAAQ,aAAa,KAAK,SAAS,CAAC,EAAE,WAAW;AAExF,YAAM,MAAM,CAAA;AACZ,iBAAW,OAAO,OAAO,KAAK,mBAAmB,GAA8B;AACtE,eAAA,eAAe,KAAK,KAAK;AAAA,UAC9B,YAAY;AAAA,UACZ,KAAK,MAAM;AACF,mBAAA,KAAK,IAAI,GAAG;AAAA,UACrB;AAAA,QAAA,CACD;AAAA,MACH;AAEO,aAAA;AAAA,IACT;AAAA;AAAA;AAAA;AAAA,IAKA,IAAI,KAA4B,OAA0B;AACxD,kBAAY,GAAG,IAAI;AACnB,aAAO,UAAU,GAAG;AACb,aAAA;AAAA,IACT;AAAA;AAAA;AAAA;AAAA,IAKA,IAAI,WAAmB,gBAAsC;AAC3D,iBAAW,kBAAkB,OAAO,KAAK,cAAc,GAA8B;AAC7E,cAAA,aAAa,eAAe,cAAc;AAC1C,cAAA,MAAM,aAAa,gBAAgB,SAAS;AAE9C,YAAA,IAAI,KAAK,WAAW,GAAG;AACzB,gBAAM,IAAI,MAAM,cAAc,GAAG,+BAA+B;AAAA,QAClE;AAEA,oBAAY,GAAG,IAAI;AAAA,MACrB;AAEO,aAAA;AAAA,IACT;AAAA;AAAA;AAAA;AAAA,IAKA,OAAO,eAAsC,UAA8B;AACnE,YAAA,oBAAoB,KAAK,IAAI,aAAa;AAEhD,UAAI,CAAC,mBAAmB;AACtB,cAAM,IAAI,MAAM,cAAc,aAAa,gBAAgB;AAAA,MAC7D;AAEM,YAAA,gBAAgB,SAAS,iBAAiB;AAChD,gBAAU,aAAa,IAAI;AAEpB,aAAA;AAAA,IACT;AAAA,EAAA;AAEJ;"}
@@ -1,74 +1,71 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const fp_1 = require("lodash/fp");
2
+ const _ = require("lodash/fp");
4
3
  const ALLOWED_TYPES = [
5
- 'biginteger',
6
- 'boolean',
7
- 'date',
8
- 'datetime',
9
- 'decimal',
10
- 'email',
11
- 'enumeration',
12
- 'float',
13
- 'integer',
14
- 'json',
15
- 'password',
16
- 'richtext',
17
- 'string',
18
- 'text',
19
- 'time',
20
- 'uid',
4
+ "biginteger",
5
+ "boolean",
6
+ "date",
7
+ "datetime",
8
+ "decimal",
9
+ "email",
10
+ "enumeration",
11
+ "float",
12
+ "integer",
13
+ "json",
14
+ "password",
15
+ "richtext",
16
+ "string",
17
+ "text",
18
+ "time",
19
+ "uid"
21
20
  ];
22
21
  const customFieldsRegistry = (strapi) => {
23
- const customFields = {};
24
- return {
25
- getAll() {
26
- return customFields;
27
- },
28
- get(customField) {
29
- const registeredCustomField = customFields[customField];
30
- if (!registeredCustomField) {
31
- throw new Error(`Could not find Custom Field: ${customField}`);
32
- }
33
- return registeredCustomField;
34
- },
35
- add(customField) {
36
- const customFieldList = Array.isArray(customField) ? customField : [customField];
37
- for (const cf of customFieldList) {
38
- if (!(0, fp_1.has)('name', cf) || !(0, fp_1.has)('type', cf)) {
39
- throw new Error(`Custom fields require a 'name' and 'type' key`);
40
- }
41
- const { name, plugin, type, inputSize } = cf;
42
- if (!ALLOWED_TYPES.includes(type)) {
43
- throw new Error(`Custom field type: '${type}' is not a valid Strapi type or it can't be used with a Custom Field`);
44
- }
45
- const isValidObjectKey = /^(?![0-9])[a-zA-Z0-9$_-]+$/g;
46
- if (!isValidObjectKey.test(name)) {
47
- throw new Error(`Custom field name: '${name}' is not a valid object key`);
48
- }
49
- // Validate inputSize when provided
50
- if (inputSize) {
51
- if (!(0, fp_1.isPlainObject)(inputSize) ||
52
- !(0, fp_1.has)('default', inputSize) ||
53
- !(0, fp_1.has)('isResizable', inputSize)) {
54
- throw new Error(`inputSize should be an object with 'default' and 'isResizable' keys`);
55
- }
56
- if (![4, 6, 8, 12].includes(inputSize.default)) {
57
- throw new Error('Custom fields require a valid default input size');
58
- }
59
- if (typeof inputSize.isResizable !== 'boolean') {
60
- throw new Error('Custom fields should specify if their input is resizable');
61
- }
62
- }
63
- // When no plugin is specified, or it isn't found in Strapi, default to global
64
- const uid = plugin && strapi.plugin(plugin) ? `plugin::${plugin}.${name}` : `global::${name}`;
65
- if ((0, fp_1.has)(uid, customFields)) {
66
- throw new Error(`Custom field: '${uid}' has already been registered`);
67
- }
68
- customFields[uid] = cf;
69
- }
70
- },
71
- };
22
+ const customFields = {};
23
+ return {
24
+ getAll() {
25
+ return customFields;
26
+ },
27
+ get(customField) {
28
+ const registeredCustomField = customFields[customField];
29
+ if (!registeredCustomField) {
30
+ throw new Error(`Could not find Custom Field: ${customField}`);
31
+ }
32
+ return registeredCustomField;
33
+ },
34
+ add(customField) {
35
+ const customFieldList = Array.isArray(customField) ? customField : [customField];
36
+ for (const cf of customFieldList) {
37
+ if (!_.has("name", cf) || !_.has("type", cf)) {
38
+ throw new Error(`Custom fields require a 'name' and 'type' key`);
39
+ }
40
+ const { name, plugin, type, inputSize } = cf;
41
+ if (!ALLOWED_TYPES.includes(type)) {
42
+ throw new Error(
43
+ `Custom field type: '${type}' is not a valid Strapi type or it can't be used with a Custom Field`
44
+ );
45
+ }
46
+ const isValidObjectKey = /^(?![0-9])[a-zA-Z0-9$_-]+$/g;
47
+ if (!isValidObjectKey.test(name)) {
48
+ throw new Error(`Custom field name: '${name}' is not a valid object key`);
49
+ }
50
+ if (inputSize) {
51
+ if (!_.isPlainObject(inputSize) || !_.has("default", inputSize) || !_.has("isResizable", inputSize)) {
52
+ throw new Error(`inputSize should be an object with 'default' and 'isResizable' keys`);
53
+ }
54
+ if (![4, 6, 8, 12].includes(inputSize.default)) {
55
+ throw new Error("Custom fields require a valid default input size");
56
+ }
57
+ if (typeof inputSize.isResizable !== "boolean") {
58
+ throw new Error("Custom fields should specify if their input is resizable");
59
+ }
60
+ }
61
+ const uid = plugin && strapi.plugin(plugin) ? `plugin::${plugin}.${name}` : `global::${name}`;
62
+ if (_.has(uid, customFields)) {
63
+ throw new Error(`Custom field: '${uid}' has already been registered`);
64
+ }
65
+ customFields[uid] = cf;
66
+ }
67
+ }
68
+ };
72
69
  };
73
- exports.default = customFieldsRegistry;
74
- //# sourceMappingURL=custom-fields.js.map
70
+ module.exports = customFieldsRegistry;
71
+ //# sourceMappingURL=custom-fields.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"custom-fields.js","sourceRoot":"","sources":["../../../src/core/registries/custom-fields.ts"],"names":[],"mappings":";;AAAA,kCAA+C;AAI/C,MAAM,aAAa,GAAG;IACpB,YAAY;IACZ,SAAS;IACT,MAAM;IACN,UAAU;IACV,SAAS;IACT,OAAO;IACP,aAAa;IACb,OAAO;IACP,SAAS;IACT,MAAM;IACN,UAAU;IACV,UAAU;IACV,QAAQ;IACR,MAAM;IACN,MAAM;IACN,KAAK;CACG,CAAC;AAEX,MAAM,oBAAoB,GAAG,CAAC,MAAc,EAAE,EAAE;IAC9C,MAAM,YAAY,GAA4B,EAAE,CAAC;IAEjD,OAAO;QACL,MAAM;YACJ,OAAO,YAAY,CAAC;QACtB,CAAC;QACD,GAAG,CAAC,WAAmB;YACrB,MAAM,qBAAqB,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC;YACxD,IAAI,CAAC,qBAAqB,EAAE;gBAC1B,MAAM,IAAI,KAAK,CAAC,gCAAgC,WAAW,EAAE,CAAC,CAAC;aAChE;YAED,OAAO,qBAAqB,CAAC;QAC/B,CAAC;QACD,GAAG,CACD,WAA4F;YAE5F,MAAM,eAAe,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAEjF,KAAK,MAAM,EAAE,IAAI,eAAe,EAAE;gBAChC,IAAI,CAAC,IAAA,QAAG,EAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,IAAA,QAAG,EAAC,MAAM,EAAE,EAAE,CAAC,EAAE;oBACxC,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;iBAClE;gBAED,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC;gBAC7C,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;oBACjC,MAAM,IAAI,KAAK,CACb,uBAAuB,IAAI,sEAAsE,CAClG,CAAC;iBACH;gBAED,MAAM,gBAAgB,GAAG,6BAA6B,CAAC;gBACvD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;oBAChC,MAAM,IAAI,KAAK,CAAC,uBAAuB,IAAI,6BAA6B,CAAC,CAAC;iBAC3E;gBAED,mCAAmC;gBACnC,IAAI,SAAS,EAAE;oBACb,IACE,CAAC,IAAA,kBAAa,EAAC,SAAS,CAAC;wBACzB,CAAC,IAAA,QAAG,EAAC,SAAS,EAAE,SAAS,CAAC;wBAC1B,CAAC,IAAA,QAAG,EAAC,aAAa,EAAE,SAAS,CAAC,EAC9B;wBACA,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC,CAAC;qBACxF;oBACD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE;wBAC9C,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;qBACrE;oBACD,IAAI,OAAO,SAAS,CAAC,WAAW,KAAK,SAAS,EAAE;wBAC9C,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;qBAC7E;iBACF;gBAED,8EAA8E;gBAC9E,MAAM,GAAG,GACP,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,MAAM,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,WAAW,IAAI,EAAE,CAAC;gBAEpF,IAAI,IAAA,QAAG,EAAC,GAAG,EAAE,YAAY,CAAC,EAAE;oBAC1B,MAAM,IAAI,KAAK,CAAC,kBAAkB,GAAG,+BAA+B,CAAC,CAAC;iBACvE;gBAED,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;aACxB;QACH,CAAC;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,oBAAoB,CAAC"}
1
+ {"version":3,"file":"custom-fields.js","sources":["../../../src/core/registries/custom-fields.ts"],"sourcesContent":["import { has, isPlainObject } from 'lodash/fp';\n\nimport type { Strapi, CustomFields } from '@strapi/types';\n\nconst ALLOWED_TYPES = [\n 'biginteger',\n 'boolean',\n 'date',\n 'datetime',\n 'decimal',\n 'email',\n 'enumeration',\n 'float',\n 'integer',\n 'json',\n 'password',\n 'richtext',\n 'string',\n 'text',\n 'time',\n 'uid',\n] as const;\n\nconst customFieldsRegistry = (strapi: Strapi) => {\n const customFields: Record<string, unknown> = {};\n\n return {\n getAll() {\n return customFields;\n },\n get(customField: string) {\n const registeredCustomField = customFields[customField];\n if (!registeredCustomField) {\n throw new Error(`Could not find Custom Field: ${customField}`);\n }\n\n return registeredCustomField;\n },\n add(\n customField: CustomFields.CustomFieldServerOptions | CustomFields.CustomFieldServerOptions[]\n ) {\n const customFieldList = Array.isArray(customField) ? customField : [customField];\n\n for (const cf of customFieldList) {\n if (!has('name', cf) || !has('type', cf)) {\n throw new Error(`Custom fields require a 'name' and 'type' key`);\n }\n\n const { name, plugin, type, inputSize } = cf;\n if (!ALLOWED_TYPES.includes(type)) {\n throw new Error(\n `Custom field type: '${type}' is not a valid Strapi type or it can't be used with a Custom Field`\n );\n }\n\n const isValidObjectKey = /^(?![0-9])[a-zA-Z0-9$_-]+$/g;\n if (!isValidObjectKey.test(name)) {\n throw new Error(`Custom field name: '${name}' is not a valid object key`);\n }\n\n // Validate inputSize when provided\n if (inputSize) {\n if (\n !isPlainObject(inputSize) ||\n !has('default', inputSize) ||\n !has('isResizable', inputSize)\n ) {\n throw new Error(`inputSize should be an object with 'default' and 'isResizable' keys`);\n }\n if (![4, 6, 8, 12].includes(inputSize.default)) {\n throw new Error('Custom fields require a valid default input size');\n }\n if (typeof inputSize.isResizable !== 'boolean') {\n throw new Error('Custom fields should specify if their input is resizable');\n }\n }\n\n // When no plugin is specified, or it isn't found in Strapi, default to global\n const uid =\n plugin && strapi.plugin(plugin) ? `plugin::${plugin}.${name}` : `global::${name}`;\n\n if (has(uid, customFields)) {\n throw new Error(`Custom field: '${uid}' has already been registered`);\n }\n\n customFields[uid] = cf;\n }\n },\n };\n};\n\nexport default customFieldsRegistry;\n"],"names":["has","isPlainObject"],"mappings":";;AAIA,MAAM,gBAAgB;AAAA,EACpB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEM,MAAA,uBAAuB,CAAC,WAAmB;AAC/C,QAAM,eAAwC,CAAA;AAEvC,SAAA;AAAA,IACL,SAAS;AACA,aAAA;AAAA,IACT;AAAA,IACA,IAAI,aAAqB;AACjB,YAAA,wBAAwB,aAAa,WAAW;AACtD,UAAI,CAAC,uBAAuB;AAC1B,cAAM,IAAI,MAAM,gCAAgC,WAAW,EAAE;AAAA,MAC/D;AAEO,aAAA;AAAA,IACT;AAAA,IACA,IACE,aACA;AACA,YAAM,kBAAkB,MAAM,QAAQ,WAAW,IAAI,cAAc,CAAC,WAAW;AAE/E,iBAAW,MAAM,iBAAiB;AAC5B,YAAA,CAACA,EAAAA,IAAI,QAAQ,EAAE,KAAK,CAACA,MAAI,QAAQ,EAAE,GAAG;AAClC,gBAAA,IAAI,MAAM,+CAA+C;AAAA,QACjE;AAEA,cAAM,EAAE,MAAM,QAAQ,MAAM,cAAc;AAC1C,YAAI,CAAC,cAAc,SAAS,IAAI,GAAG;AACjC,gBAAM,IAAI;AAAA,YACR,uBAAuB,IAAI;AAAA,UAAA;AAAA,QAE/B;AAEA,cAAM,mBAAmB;AACzB,YAAI,CAAC,iBAAiB,KAAK,IAAI,GAAG;AAChC,gBAAM,IAAI,MAAM,uBAAuB,IAAI,6BAA6B;AAAA,QAC1E;AAGA,YAAI,WAAW;AACb,cACE,CAACC,EAAA,cAAc,SAAS,KACxB,CAACD,EAAAA,IAAI,WAAW,SAAS,KACzB,CAACA,EAAAA,IAAI,eAAe,SAAS,GAC7B;AACM,kBAAA,IAAI,MAAM,qEAAqE;AAAA,UACvF;AACI,cAAA,CAAC,CAAC,GAAG,GAAG,GAAG,EAAE,EAAE,SAAS,UAAU,OAAO,GAAG;AACxC,kBAAA,IAAI,MAAM,kDAAkD;AAAA,UACpE;AACI,cAAA,OAAO,UAAU,gBAAgB,WAAW;AACxC,kBAAA,IAAI,MAAM,0DAA0D;AAAA,UAC5E;AAAA,QACF;AAGA,cAAM,MACJ,UAAU,OAAO,OAAO,MAAM,IAAI,WAAW,MAAM,IAAI,IAAI,KAAK,WAAW,IAAI;AAE7E,YAAAA,EAAA,IAAI,KAAK,YAAY,GAAG;AAC1B,gBAAM,IAAI,MAAM,kBAAkB,GAAG,+BAA+B;AAAA,QACtE;AAEA,qBAAa,GAAG,IAAI;AAAA,MACtB;AAAA,IACF;AAAA,EAAA;AAEJ;;"}
@@ -0,0 +1,72 @@
1
+ import { has, isPlainObject } from "lodash/fp";
2
+ const ALLOWED_TYPES = [
3
+ "biginteger",
4
+ "boolean",
5
+ "date",
6
+ "datetime",
7
+ "decimal",
8
+ "email",
9
+ "enumeration",
10
+ "float",
11
+ "integer",
12
+ "json",
13
+ "password",
14
+ "richtext",
15
+ "string",
16
+ "text",
17
+ "time",
18
+ "uid"
19
+ ];
20
+ const customFieldsRegistry = (strapi) => {
21
+ const customFields = {};
22
+ return {
23
+ getAll() {
24
+ return customFields;
25
+ },
26
+ get(customField) {
27
+ const registeredCustomField = customFields[customField];
28
+ if (!registeredCustomField) {
29
+ throw new Error(`Could not find Custom Field: ${customField}`);
30
+ }
31
+ return registeredCustomField;
32
+ },
33
+ add(customField) {
34
+ const customFieldList = Array.isArray(customField) ? customField : [customField];
35
+ for (const cf of customFieldList) {
36
+ if (!has("name", cf) || !has("type", cf)) {
37
+ throw new Error(`Custom fields require a 'name' and 'type' key`);
38
+ }
39
+ const { name, plugin, type, inputSize } = cf;
40
+ if (!ALLOWED_TYPES.includes(type)) {
41
+ throw new Error(
42
+ `Custom field type: '${type}' is not a valid Strapi type or it can't be used with a Custom Field`
43
+ );
44
+ }
45
+ const isValidObjectKey = /^(?![0-9])[a-zA-Z0-9$_-]+$/g;
46
+ if (!isValidObjectKey.test(name)) {
47
+ throw new Error(`Custom field name: '${name}' is not a valid object key`);
48
+ }
49
+ if (inputSize) {
50
+ if (!isPlainObject(inputSize) || !has("default", inputSize) || !has("isResizable", inputSize)) {
51
+ throw new Error(`inputSize should be an object with 'default' and 'isResizable' keys`);
52
+ }
53
+ if (![4, 6, 8, 12].includes(inputSize.default)) {
54
+ throw new Error("Custom fields require a valid default input size");
55
+ }
56
+ if (typeof inputSize.isResizable !== "boolean") {
57
+ throw new Error("Custom fields should specify if their input is resizable");
58
+ }
59
+ }
60
+ const uid = plugin && strapi.plugin(plugin) ? `plugin::${plugin}.${name}` : `global::${name}`;
61
+ if (has(uid, customFields)) {
62
+ throw new Error(`Custom field: '${uid}' has already been registered`);
63
+ }
64
+ customFields[uid] = cf;
65
+ }
66
+ }
67
+ };
68
+ };
69
+ export {
70
+ customFieldsRegistry as default
71
+ };
72
+ //# sourceMappingURL=custom-fields.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"custom-fields.mjs","sources":["../../../src/core/registries/custom-fields.ts"],"sourcesContent":["import { has, isPlainObject } from 'lodash/fp';\n\nimport type { Strapi, CustomFields } from '@strapi/types';\n\nconst ALLOWED_TYPES = [\n 'biginteger',\n 'boolean',\n 'date',\n 'datetime',\n 'decimal',\n 'email',\n 'enumeration',\n 'float',\n 'integer',\n 'json',\n 'password',\n 'richtext',\n 'string',\n 'text',\n 'time',\n 'uid',\n] as const;\n\nconst customFieldsRegistry = (strapi: Strapi) => {\n const customFields: Record<string, unknown> = {};\n\n return {\n getAll() {\n return customFields;\n },\n get(customField: string) {\n const registeredCustomField = customFields[customField];\n if (!registeredCustomField) {\n throw new Error(`Could not find Custom Field: ${customField}`);\n }\n\n return registeredCustomField;\n },\n add(\n customField: CustomFields.CustomFieldServerOptions | CustomFields.CustomFieldServerOptions[]\n ) {\n const customFieldList = Array.isArray(customField) ? customField : [customField];\n\n for (const cf of customFieldList) {\n if (!has('name', cf) || !has('type', cf)) {\n throw new Error(`Custom fields require a 'name' and 'type' key`);\n }\n\n const { name, plugin, type, inputSize } = cf;\n if (!ALLOWED_TYPES.includes(type)) {\n throw new Error(\n `Custom field type: '${type}' is not a valid Strapi type or it can't be used with a Custom Field`\n );\n }\n\n const isValidObjectKey = /^(?![0-9])[a-zA-Z0-9$_-]+$/g;\n if (!isValidObjectKey.test(name)) {\n throw new Error(`Custom field name: '${name}' is not a valid object key`);\n }\n\n // Validate inputSize when provided\n if (inputSize) {\n if (\n !isPlainObject(inputSize) ||\n !has('default', inputSize) ||\n !has('isResizable', inputSize)\n ) {\n throw new Error(`inputSize should be an object with 'default' and 'isResizable' keys`);\n }\n if (![4, 6, 8, 12].includes(inputSize.default)) {\n throw new Error('Custom fields require a valid default input size');\n }\n if (typeof inputSize.isResizable !== 'boolean') {\n throw new Error('Custom fields should specify if their input is resizable');\n }\n }\n\n // When no plugin is specified, or it isn't found in Strapi, default to global\n const uid =\n plugin && strapi.plugin(plugin) ? `plugin::${plugin}.${name}` : `global::${name}`;\n\n if (has(uid, customFields)) {\n throw new Error(`Custom field: '${uid}' has already been registered`);\n }\n\n customFields[uid] = cf;\n }\n },\n };\n};\n\nexport default customFieldsRegistry;\n"],"names":[],"mappings":";AAIA,MAAM,gBAAgB;AAAA,EACpB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEM,MAAA,uBAAuB,CAAC,WAAmB;AAC/C,QAAM,eAAwC,CAAA;AAEvC,SAAA;AAAA,IACL,SAAS;AACA,aAAA;AAAA,IACT;AAAA,IACA,IAAI,aAAqB;AACjB,YAAA,wBAAwB,aAAa,WAAW;AACtD,UAAI,CAAC,uBAAuB;AAC1B,cAAM,IAAI,MAAM,gCAAgC,WAAW,EAAE;AAAA,MAC/D;AAEO,aAAA;AAAA,IACT;AAAA,IACA,IACE,aACA;AACA,YAAM,kBAAkB,MAAM,QAAQ,WAAW,IAAI,cAAc,CAAC,WAAW;AAE/E,iBAAW,MAAM,iBAAiB;AAC5B,YAAA,CAAC,IAAI,QAAQ,EAAE,KAAK,CAAC,IAAI,QAAQ,EAAE,GAAG;AAClC,gBAAA,IAAI,MAAM,+CAA+C;AAAA,QACjE;AAEA,cAAM,EAAE,MAAM,QAAQ,MAAM,cAAc;AAC1C,YAAI,CAAC,cAAc,SAAS,IAAI,GAAG;AACjC,gBAAM,IAAI;AAAA,YACR,uBAAuB,IAAI;AAAA,UAAA;AAAA,QAE/B;AAEA,cAAM,mBAAmB;AACzB,YAAI,CAAC,iBAAiB,KAAK,IAAI,GAAG;AAChC,gBAAM,IAAI,MAAM,uBAAuB,IAAI,6BAA6B;AAAA,QAC1E;AAGA,YAAI,WAAW;AACb,cACE,CAAC,cAAc,SAAS,KACxB,CAAC,IAAI,WAAW,SAAS,KACzB,CAAC,IAAI,eAAe,SAAS,GAC7B;AACM,kBAAA,IAAI,MAAM,qEAAqE;AAAA,UACvF;AACI,cAAA,CAAC,CAAC,GAAG,GAAG,GAAG,EAAE,EAAE,SAAS,UAAU,OAAO,GAAG;AACxC,kBAAA,IAAI,MAAM,kDAAkD;AAAA,UACpE;AACI,cAAA,OAAO,UAAU,gBAAgB,WAAW;AACxC,kBAAA,IAAI,MAAM,0DAA0D;AAAA,UAC5E;AAAA,QACF;AAGA,cAAM,MACJ,UAAU,OAAO,OAAO,MAAM,IAAI,WAAW,MAAM,IAAI,IAAI,KAAK,WAAW,IAAI;AAE7E,YAAA,IAAI,KAAK,YAAY,GAAG;AAC1B,gBAAM,IAAI,MAAM,kBAAkB,GAAG,+BAA+B;AAAA,QACtE;AAEA,qBAAa,GAAG,IAAI;AAAA,MACtB;AAAA,IACF;AAAA,EAAA;AAEJ;"}
@@ -1,59 +1,58 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const fp_1 = require("lodash/fp");
4
- const utils_1 = require("../utils");
2
+ const _ = require("lodash/fp");
3
+ const utils = require("../utils.js");
5
4
  const hooksRegistry = () => {
6
- const hooks = {};
7
- return {
8
- /**
9
- * Returns this list of registered hooks uids
10
- */
11
- keys() {
12
- return Object.keys(hooks);
13
- },
14
- /**
15
- * Returns the instance of a hook.
16
- */
17
- get(uid) {
18
- return hooks[uid];
19
- },
20
- /**
21
- * Returns a map with all the hooks in a namespace
22
- */
23
- getAll(namespace) {
24
- return (0, fp_1.pickBy)((_, uid) => (0, utils_1.hasNamespace)(uid, namespace))(hooks);
25
- },
26
- /**
27
- * Registers a hook
28
- */
29
- set(uid, hook) {
30
- hooks[uid] = hook;
31
- return this;
32
- },
33
- /**
34
- * Registers a map of hooks for a specific namespace
35
- */
36
- add(namespace, hooks) {
37
- for (const hookName of Object.keys(hooks)) {
38
- const hook = hooks[hookName];
39
- const uid = (0, utils_1.addNamespace)(hookName, namespace);
40
- this.set(uid, hook);
41
- }
42
- return this;
43
- },
44
- /**
45
- * Wraps a hook to extend it
46
- */
47
- extend(uid, extendFn) {
48
- const currentHook = this.get(uid);
49
- if (!currentHook) {
50
- throw new Error(`Hook ${uid} doesn't exist`);
51
- }
52
- const newHook = extendFn(currentHook);
53
- hooks[uid] = newHook;
54
- return this;
55
- },
56
- };
5
+ const hooks = {};
6
+ return {
7
+ /**
8
+ * Returns this list of registered hooks uids
9
+ */
10
+ keys() {
11
+ return Object.keys(hooks);
12
+ },
13
+ /**
14
+ * Returns the instance of a hook.
15
+ */
16
+ get(uid) {
17
+ return hooks[uid];
18
+ },
19
+ /**
20
+ * Returns a map with all the hooks in a namespace
21
+ */
22
+ getAll(namespace) {
23
+ return _.pickBy((_2, uid) => utils.hasNamespace(uid, namespace))(hooks);
24
+ },
25
+ /**
26
+ * Registers a hook
27
+ */
28
+ set(uid, hook) {
29
+ hooks[uid] = hook;
30
+ return this;
31
+ },
32
+ /**
33
+ * Registers a map of hooks for a specific namespace
34
+ */
35
+ add(namespace, hooks2) {
36
+ for (const hookName of Object.keys(hooks2)) {
37
+ const hook = hooks2[hookName];
38
+ const uid = utils.addNamespace(hookName, namespace);
39
+ this.set(uid, hook);
40
+ }
41
+ return this;
42
+ },
43
+ /**
44
+ * Wraps a hook to extend it
45
+ */
46
+ extend(uid, extendFn) {
47
+ const currentHook = this.get(uid);
48
+ if (!currentHook) {
49
+ throw new Error(`Hook ${uid} doesn't exist`);
50
+ }
51
+ const newHook = extendFn(currentHook);
52
+ hooks[uid] = newHook;
53
+ return this;
54
+ }
55
+ };
57
56
  };
58
- exports.default = hooksRegistry;
59
- //# sourceMappingURL=hooks.js.map
57
+ module.exports = hooksRegistry;
58
+ //# sourceMappingURL=hooks.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../../src/core/registries/hooks.ts"],"names":[],"mappings":";;AAAA,kCAAmC;AACnC,oCAAsD;AAsBtD,MAAM,aAAa,GAAG,GAAG,EAAE;IACzB,MAAM,KAAK,GAAyB,EAAE,CAAC;IAEvC,OAAO;QACL;;WAEG;QACH,IAAI;YACF,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC;QAED;;WAEG;QACH,GAAG,CAAC,GAAW;YACb,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC;QACpB,CAAC;QAED;;WAEG;QACH,MAAM,CAAC,SAAiB;YACtB,OAAO,IAAA,WAAM,EAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,IAAA,oBAAY,EAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACjE,CAAC;QAED;;WAEG;QACH,GAAG,CAAC,GAAW,EAAE,IAAU;YACzB,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;YAClB,OAAO,IAAI,CAAC;QACd,CAAC;QAED;;WAEG;QACH,GAAG,CAAC,SAAiB,EAAE,KAA2B;YAChD,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;gBACzC,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;gBAC7B,MAAM,GAAG,GAAG,IAAA,oBAAY,EAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;gBAE9C,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;aACrB;YAED,OAAO,IAAI,CAAC;QACd,CAAC;QAED;;WAEG;QACH,MAAM,CAAC,GAAW,EAAE,QAAsB;YACxC,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAElC,IAAI,CAAC,WAAW,EAAE;gBAChB,MAAM,IAAI,KAAK,CAAC,QAAQ,GAAG,gBAAgB,CAAC,CAAC;aAC9C;YAED,MAAM,OAAO,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC;YACtC,KAAK,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC;YAErB,OAAO,IAAI,CAAC;QACd,CAAC;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"hooks.js","sources":["../../../src/core/registries/hooks.ts"],"sourcesContent":["import { pickBy } from 'lodash/fp';\nimport { addNamespace, hasNamespace } from '../utils';\n\ntype Handler = (context: any) => any;\n\ntype AsyncHook = {\n handlers: Handler[];\n register(handler: Handler): AsyncHook;\n delete(handler: Handler): AsyncHook;\n call(): Promise<void>;\n};\n\ntype SyncHook = {\n get handlers(): Handler[];\n register(handler: Handler): SyncHook;\n delete(handler: Handler): SyncHook;\n call(): void;\n};\n\nexport type Hook = AsyncHook | SyncHook;\n\ntype HookExtendFn = (hook: Hook) => Hook;\n\nconst hooksRegistry = () => {\n const hooks: Record<string, Hook> = {};\n\n return {\n /**\n * Returns this list of registered hooks uids\n */\n keys() {\n return Object.keys(hooks);\n },\n\n /**\n * Returns the instance of a hook.\n */\n get(uid: string) {\n return hooks[uid];\n },\n\n /**\n * Returns a map with all the hooks in a namespace\n */\n getAll(namespace: string) {\n return pickBy((_, uid) => hasNamespace(uid, namespace))(hooks);\n },\n\n /**\n * Registers a hook\n */\n set(uid: string, hook: Hook) {\n hooks[uid] = hook;\n return this;\n },\n\n /**\n * Registers a map of hooks for a specific namespace\n */\n add(namespace: string, hooks: Record<string, Hook>) {\n for (const hookName of Object.keys(hooks)) {\n const hook = hooks[hookName];\n const uid = addNamespace(hookName, namespace);\n\n this.set(uid, hook);\n }\n\n return this;\n },\n\n /**\n * Wraps a hook to extend it\n */\n extend(uid: string, extendFn: HookExtendFn) {\n const currentHook = this.get(uid);\n\n if (!currentHook) {\n throw new Error(`Hook ${uid} doesn't exist`);\n }\n\n const newHook = extendFn(currentHook);\n hooks[uid] = newHook;\n\n return this;\n },\n };\n};\n\nexport default hooksRegistry;\n"],"names":["pickBy","_","hasNamespace","hooks","addNamespace"],"mappings":";;;AAuBA,MAAM,gBAAgB,MAAM;AAC1B,QAAM,QAA8B,CAAA;AAE7B,SAAA;AAAA;AAAA;AAAA;AAAA,IAIL,OAAO;AACE,aAAA,OAAO,KAAK,KAAK;AAAA,IAC1B;AAAA;AAAA;AAAA;AAAA,IAKA,IAAI,KAAa;AACf,aAAO,MAAM,GAAG;AAAA,IAClB;AAAA;AAAA;AAAA;AAAA,IAKA,OAAO,WAAmB;AACjB,aAAAA,EAAA,OAAO,CAACC,IAAG,QAAQC,MAAAA,aAAa,KAAK,SAAS,CAAC,EAAE,KAAK;AAAA,IAC/D;AAAA;AAAA;AAAA;AAAA,IAKA,IAAI,KAAa,MAAY;AAC3B,YAAM,GAAG,IAAI;AACN,aAAA;AAAA,IACT;AAAA;AAAA;AAAA;AAAA,IAKA,IAAI,WAAmBC,QAA6B;AAClD,iBAAW,YAAY,OAAO,KAAKA,MAAK,GAAG;AACnC,cAAA,OAAOA,OAAM,QAAQ;AACrB,cAAA,MAAMC,MAAAA,aAAa,UAAU,SAAS;AAEvC,aAAA,IAAI,KAAK,IAAI;AAAA,MACpB;AAEO,aAAA;AAAA,IACT;AAAA;AAAA;AAAA;AAAA,IAKA,OAAO,KAAa,UAAwB;AACpC,YAAA,cAAc,KAAK,IAAI,GAAG;AAEhC,UAAI,CAAC,aAAa;AAChB,cAAM,IAAI,MAAM,QAAQ,GAAG,gBAAgB;AAAA,MAC7C;AAEM,YAAA,UAAU,SAAS,WAAW;AACpC,YAAM,GAAG,IAAI;AAEN,aAAA;AAAA,IACT;AAAA,EAAA;AAEJ;;"}
@@ -0,0 +1,59 @@
1
+ import { pickBy } from "lodash/fp";
2
+ import { hasNamespace, addNamespace } from "../utils.mjs";
3
+ const hooksRegistry = () => {
4
+ const hooks = {};
5
+ return {
6
+ /**
7
+ * Returns this list of registered hooks uids
8
+ */
9
+ keys() {
10
+ return Object.keys(hooks);
11
+ },
12
+ /**
13
+ * Returns the instance of a hook.
14
+ */
15
+ get(uid) {
16
+ return hooks[uid];
17
+ },
18
+ /**
19
+ * Returns a map with all the hooks in a namespace
20
+ */
21
+ getAll(namespace) {
22
+ return pickBy((_, uid) => hasNamespace(uid, namespace))(hooks);
23
+ },
24
+ /**
25
+ * Registers a hook
26
+ */
27
+ set(uid, hook) {
28
+ hooks[uid] = hook;
29
+ return this;
30
+ },
31
+ /**
32
+ * Registers a map of hooks for a specific namespace
33
+ */
34
+ add(namespace, hooks2) {
35
+ for (const hookName of Object.keys(hooks2)) {
36
+ const hook = hooks2[hookName];
37
+ const uid = addNamespace(hookName, namespace);
38
+ this.set(uid, hook);
39
+ }
40
+ return this;
41
+ },
42
+ /**
43
+ * Wraps a hook to extend it
44
+ */
45
+ extend(uid, extendFn) {
46
+ const currentHook = this.get(uid);
47
+ if (!currentHook) {
48
+ throw new Error(`Hook ${uid} doesn't exist`);
49
+ }
50
+ const newHook = extendFn(currentHook);
51
+ hooks[uid] = newHook;
52
+ return this;
53
+ }
54
+ };
55
+ };
56
+ export {
57
+ hooksRegistry as default
58
+ };
59
+ //# sourceMappingURL=hooks.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hooks.mjs","sources":["../../../src/core/registries/hooks.ts"],"sourcesContent":["import { pickBy } from 'lodash/fp';\nimport { addNamespace, hasNamespace } from '../utils';\n\ntype Handler = (context: any) => any;\n\ntype AsyncHook = {\n handlers: Handler[];\n register(handler: Handler): AsyncHook;\n delete(handler: Handler): AsyncHook;\n call(): Promise<void>;\n};\n\ntype SyncHook = {\n get handlers(): Handler[];\n register(handler: Handler): SyncHook;\n delete(handler: Handler): SyncHook;\n call(): void;\n};\n\nexport type Hook = AsyncHook | SyncHook;\n\ntype HookExtendFn = (hook: Hook) => Hook;\n\nconst hooksRegistry = () => {\n const hooks: Record<string, Hook> = {};\n\n return {\n /**\n * Returns this list of registered hooks uids\n */\n keys() {\n return Object.keys(hooks);\n },\n\n /**\n * Returns the instance of a hook.\n */\n get(uid: string) {\n return hooks[uid];\n },\n\n /**\n * Returns a map with all the hooks in a namespace\n */\n getAll(namespace: string) {\n return pickBy((_, uid) => hasNamespace(uid, namespace))(hooks);\n },\n\n /**\n * Registers a hook\n */\n set(uid: string, hook: Hook) {\n hooks[uid] = hook;\n return this;\n },\n\n /**\n * Registers a map of hooks for a specific namespace\n */\n add(namespace: string, hooks: Record<string, Hook>) {\n for (const hookName of Object.keys(hooks)) {\n const hook = hooks[hookName];\n const uid = addNamespace(hookName, namespace);\n\n this.set(uid, hook);\n }\n\n return this;\n },\n\n /**\n * Wraps a hook to extend it\n */\n extend(uid: string, extendFn: HookExtendFn) {\n const currentHook = this.get(uid);\n\n if (!currentHook) {\n throw new Error(`Hook ${uid} doesn't exist`);\n }\n\n const newHook = extendFn(currentHook);\n hooks[uid] = newHook;\n\n return this;\n },\n };\n};\n\nexport default hooksRegistry;\n"],"names":["hooks"],"mappings":";;AAuBA,MAAM,gBAAgB,MAAM;AAC1B,QAAM,QAA8B,CAAA;AAE7B,SAAA;AAAA;AAAA;AAAA;AAAA,IAIL,OAAO;AACE,aAAA,OAAO,KAAK,KAAK;AAAA,IAC1B;AAAA;AAAA;AAAA;AAAA,IAKA,IAAI,KAAa;AACf,aAAO,MAAM,GAAG;AAAA,IAClB;AAAA;AAAA;AAAA;AAAA,IAKA,OAAO,WAAmB;AACjB,aAAA,OAAO,CAAC,GAAG,QAAQ,aAAa,KAAK,SAAS,CAAC,EAAE,KAAK;AAAA,IAC/D;AAAA;AAAA;AAAA;AAAA,IAKA,IAAI,KAAa,MAAY;AAC3B,YAAM,GAAG,IAAI;AACN,aAAA;AAAA,IACT;AAAA;AAAA;AAAA;AAAA,IAKA,IAAI,WAAmBA,QAA6B;AAClD,iBAAW,YAAY,OAAO,KAAKA,MAAK,GAAG;AACnC,cAAA,OAAOA,OAAM,QAAQ;AACrB,cAAA,MAAM,aAAa,UAAU,SAAS;AAEvC,aAAA,IAAI,KAAK,IAAI;AAAA,MACpB;AAEO,aAAA;AAAA,IACT;AAAA;AAAA;AAAA;AAAA,IAKA,OAAO,KAAa,UAAwB;AACpC,YAAA,cAAc,KAAK,IAAI,GAAG;AAEhC,UAAI,CAAC,aAAa;AAChB,cAAM,IAAI,MAAM,QAAQ,GAAG,gBAAgB;AAAA,MAC7C;AAEM,YAAA,UAAU,SAAS,WAAW;AACpC,YAAM,GAAG,IAAI;AAEN,aAAA;AAAA,IACT;AAAA,EAAA;AAEJ;"}