@reactionary/source 0.6.2 → 0.6.3

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 (427) hide show
  1. package/README.md +19 -0
  2. package/examples/node/package.json +7 -7
  3. package/examples/node/src/basic/basic-node-provider-model-extension.spec.ts +1 -1
  4. package/examples/node/src/basic/basic-node-provider-query-extension.spec.ts +1 -1
  5. package/examples/node/src/basic/basic-node-setup.spec.ts +1 -1
  6. package/examples/node/src/basic/client-creation.spec.ts +3 -3
  7. package/examples/node/src/utils.ts +7 -7
  8. package/package.json +1 -1
  9. package/packages/algolia/README.md +11 -0
  10. package/{providers/google-analytics → packages/algolia}/eslint.config.mjs +0 -2
  11. package/{providers → packages}/algolia/package.json +7 -5
  12. package/{providers/posthog → packages/algolia}/project.json +6 -6
  13. package/{providers/algolia/src/providers/analytics.provider.ts → packages/algolia/src/capabilities/analytics.capability.ts} +2 -2
  14. package/packages/algolia/src/capabilities/index.ts +3 -0
  15. package/{providers/algolia/src/providers/product-recommendations.provider.ts → packages/algolia/src/capabilities/product-recommendations.capability.ts} +3 -3
  16. package/{providers/algolia/src/providers/product-search.provider.ts → packages/algolia/src/capabilities/product-search.capability.ts} +3 -3
  17. package/{providers → packages}/algolia/src/core/initialize.ts +12 -12
  18. package/packages/algolia/src/core/initialize.types.ts +107 -0
  19. package/{providers → packages}/algolia/src/index.ts +1 -1
  20. package/{providers → packages}/algolia/src/schema/capabilities.schema.ts +23 -23
  21. package/{providers → packages}/algolia/src/test/analytics.spec.ts +4 -4
  22. package/packages/algolia/vite.config.ts +26 -0
  23. package/packages/algolia/vitest.config.mts +21 -0
  24. package/packages/commercetools/README.md +11 -0
  25. package/{core → packages/commercetools}/eslint.config.mjs +2 -2
  26. package/packages/commercetools/package.json +17 -0
  27. package/{providers → packages}/commercetools/project.json +7 -8
  28. package/{providers/commercetools/src/providers/cart.provider.ts → packages/commercetools/src/capabilities/cart.capability.ts} +3 -3
  29. package/{providers/commercetools/src/providers/category.provider.ts → packages/commercetools/src/capabilities/category.capability.ts} +4 -4
  30. package/{providers/commercetools/src/providers/checkout.provider.ts → packages/commercetools/src/capabilities/checkout.capability.ts} +3 -3
  31. package/{providers/commercetools/src/providers/identity.provider.ts → packages/commercetools/src/capabilities/identity.capability.ts} +3 -3
  32. package/packages/commercetools/src/capabilities/index.ts +15 -0
  33. package/{providers/commercetools/src/providers/inventory.provider.ts → packages/commercetools/src/capabilities/inventory.capability.ts} +3 -3
  34. package/{providers/commercetools/src/providers/order-search.provider.ts → packages/commercetools/src/capabilities/order-search.capability.ts} +4 -4
  35. package/{providers/commercetools/src/providers/order.provider.ts → packages/commercetools/src/capabilities/order.capability.ts} +3 -3
  36. package/{providers/commercetools/src/providers/price.provider.ts → packages/commercetools/src/capabilities/price.capability.ts} +3 -3
  37. package/{providers/commercetools/src/providers/product-associations.provider.ts → packages/commercetools/src/capabilities/product-associations.capability.ts} +3 -3
  38. package/{providers/commercetools/src/providers/product-list.provider.ts → packages/commercetools/src/capabilities/product-list.capability.ts} +3 -3
  39. package/{providers/commercetools/src/providers/product-reviews.provider.ts → packages/commercetools/src/capabilities/product-reviews.capability.ts} +3 -3
  40. package/{providers/commercetools/src/providers/product-search.provider.ts → packages/commercetools/src/capabilities/product-search.capability.ts} +3 -3
  41. package/{providers/commercetools/src/providers/product.provider.ts → packages/commercetools/src/capabilities/product.capability.ts} +4 -4
  42. package/{providers/commercetools/src/providers/profile.provider.ts → packages/commercetools/src/capabilities/profile.capability.ts} +3 -3
  43. package/{providers/commercetools/src/providers/store.provider.ts → packages/commercetools/src/capabilities/store.capability.ts} +3 -3
  44. package/{providers → packages}/commercetools/src/core/capability-descriptors.ts +48 -48
  45. package/{providers → packages}/commercetools/src/core/client.ts +2 -2
  46. package/{providers → packages}/commercetools/src/core/initialize.ts +5 -5
  47. package/{providers → packages}/commercetools/src/core/initialize.types.ts +47 -47
  48. package/{providers → packages}/commercetools/src/factories/checkout/checkout-initializer-overrides.example.ts +4 -4
  49. package/{providers/commercetools/src/factories/product/product-provider-custom-method-only.example.ts → packages/commercetools/src/factories/product/product-capability-custom-method-only.example.ts} +6 -6
  50. package/{providers/commercetools/src/factories/product/product-provider-schema-signature-extension.example.ts → packages/commercetools/src/factories/product/product-capability-schema-signature-extension.example.ts} +4 -4
  51. package/{providers → packages}/commercetools/src/index.ts +9 -9
  52. package/{providers → packages}/commercetools/src/schema/capabilities.schema.ts +61 -61
  53. package/{providers → packages}/commercetools/src/test/caching.spec.ts +8 -8
  54. package/{providers/algolia → packages/commercetools}/tsconfig.json +1 -1
  55. package/{core → packages/commercetools}/tsconfig.lib.json +1 -1
  56. package/packages/commercetools/tsconfig.spec.json +28 -0
  57. package/packages/commercetools/vite.config.ts +26 -0
  58. package/packages/commercetools/vitest.config.mts +21 -0
  59. package/{providers/fake → packages/core}/eslint.config.mjs +2 -1
  60. package/{core → packages/core}/package.json +7 -7
  61. package/packages/core/project.json +33 -0
  62. package/{core/src/providers/analytics.provider.ts → packages/core/src/capabilities/analytics.capability.ts} +8 -8
  63. package/{core/src/providers/base.provider.ts → packages/core/src/capabilities/base.capability.ts} +2 -2
  64. package/{core/src/providers/cart.provider.ts → packages/core/src/capabilities/cart.capability.ts} +3 -3
  65. package/{core/src/providers/category.provider.ts → packages/core/src/capabilities/category.capability.ts} +5 -5
  66. package/{core/src/providers/checkout.provider.ts → packages/core/src/capabilities/checkout.capability.ts} +3 -3
  67. package/{core/src/providers/identity.provider.ts → packages/core/src/capabilities/identity.capability.ts} +2 -2
  68. package/packages/core/src/capabilities/index.ts +18 -0
  69. package/{core/src/providers/inventory.provider.ts → packages/core/src/capabilities/inventory.capability.ts} +2 -2
  70. package/{core/src/providers/order-search.provider.ts → packages/core/src/capabilities/order-search.capability.ts} +3 -3
  71. package/{core/src/providers/order.provider.ts → packages/core/src/capabilities/order.capability.ts} +2 -2
  72. package/{core/src/providers/price.provider.ts → packages/core/src/capabilities/price.capability.ts} +2 -2
  73. package/{core/src/providers/product-associations.provider.ts → packages/core/src/capabilities/product-associations.capability.ts} +3 -3
  74. package/{core/src/providers/product-list.provider.ts → packages/core/src/capabilities/product-list.capability.ts} +3 -3
  75. package/{core/src/providers/product-recommendations.provider.ts → packages/core/src/capabilities/product-recommendations.capability.ts} +21 -21
  76. package/{core/src/providers/product-reviews.provider.ts → packages/core/src/capabilities/product-reviews.capability.ts} +3 -3
  77. package/{core/src/providers/product-search.provider.ts → packages/core/src/capabilities/product-search.capability.ts} +3 -3
  78. package/{core/src/providers/product.provider.ts → packages/core/src/capabilities/product.capability.ts} +2 -2
  79. package/{core/src/providers/profile.provider.ts → packages/core/src/capabilities/profile.capability.ts} +2 -2
  80. package/{core/src/providers/store.provider.ts → packages/core/src/capabilities/store.capability.ts} +2 -2
  81. package/{core → packages/core}/src/client/client-builder.ts +13 -14
  82. package/packages/core/src/client/client.ts +35 -0
  83. package/{core → packages/core}/src/decorators/reactionary.decorator.ts +7 -7
  84. package/{core → packages/core}/src/index.ts +1 -1
  85. package/{core → packages/core}/src/test/client-builder.spec.ts +20 -20
  86. package/{core → packages/core}/src/test/reactionary.decorator.spec.ts +27 -27
  87. package/{providers/meilisearch → packages/core}/tsconfig.json +1 -1
  88. package/{providers/medusa → packages/core}/tsconfig.lib.json +1 -2
  89. package/packages/core/tsconfig.spec.json +28 -0
  90. package/packages/core/vite.config.ts +26 -0
  91. package/packages/core/vitest.config.mts +21 -0
  92. package/packages/fake/README.md +11 -0
  93. package/{providers/algolia → packages/fake}/eslint.config.mjs +2 -1
  94. package/{providers → packages}/fake/package.json +6 -4
  95. package/{providers → packages}/fake/project.json +7 -8
  96. package/{providers/fake/src/providers/analytics.provider.ts → packages/fake/src/capabilities/analytics.capability.ts} +2 -2
  97. package/{providers/fake/src/providers/cart.provider.ts → packages/fake/src/capabilities/cart.capability.ts} +3 -3
  98. package/{providers/fake/src/providers/category.provider.ts → packages/fake/src/capabilities/category.capability.ts} +3 -3
  99. package/{providers/fake/src/providers/checkout.provider.ts → packages/fake/src/capabilities/checkout.capability.ts} +3 -3
  100. package/{providers/fake/src/providers/identity.provider.ts → packages/fake/src/capabilities/identity.capability.ts} +3 -3
  101. package/packages/fake/src/capabilities/index.ts +15 -0
  102. package/{providers/fake/src/providers/inventory.provider.ts → packages/fake/src/capabilities/inventory.capability.ts} +3 -3
  103. package/{providers/fake/src/providers/order-search.provider.ts → packages/fake/src/capabilities/order-search.capability.ts} +3 -3
  104. package/{providers/fake/src/providers/order.provider.ts → packages/fake/src/capabilities/order.capability.ts} +3 -3
  105. package/{providers/fake/src/providers/price.provider.ts → packages/fake/src/capabilities/price.capability.ts} +3 -3
  106. package/{providers/fake/src/providers/product-associations.provider.ts → packages/fake/src/capabilities/product-associations.capability.ts} +3 -3
  107. package/{providers/fake/src/providers/product-reviews.provider.ts → packages/fake/src/capabilities/product-reviews.capability.ts} +3 -3
  108. package/{providers/fake/src/providers/product-search.provider.ts → packages/fake/src/capabilities/product-search.capability.ts} +3 -3
  109. package/{providers/fake/src/providers/product.provider.ts → packages/fake/src/capabilities/product.capability.ts} +3 -3
  110. package/{providers/fake/src/providers/profile.provider.ts → packages/fake/src/capabilities/profile.capability.ts} +3 -3
  111. package/{providers/fake/src/providers/store.provider.ts → packages/fake/src/capabilities/store.capability.ts} +3 -3
  112. package/{providers → packages}/fake/src/core/initialize.ts +73 -73
  113. package/{providers → packages}/fake/src/core/initialize.types.ts +45 -45
  114. package/{providers → packages}/fake/src/index.ts +1 -1
  115. package/{providers → packages}/fake/src/schema/capabilities.schema.ts +32 -32
  116. package/{providers/fake/src/test/cart.provider.spec.ts → packages/fake/src/test/cart.capability.spec.ts} +6 -6
  117. package/{providers/fake/src/test/category.provider.spec.ts → packages/fake/src/test/category.capability.spec.ts} +3 -3
  118. package/{providers/fake/src/test/checkout.provider.spec.ts → packages/fake/src/test/checkout.capability.spec.ts} +3 -3
  119. package/{providers/fake/src/test/order-search.provider.spec.ts → packages/fake/src/test/order-search.capability.spec.ts} +3 -3
  120. package/{providers/fake/src/test/order.provider.spec.ts → packages/fake/src/test/order.capability.spec.ts} +3 -3
  121. package/{providers/fake/src/test/price.provider.spec.ts → packages/fake/src/test/price.capability.spec.ts} +3 -3
  122. package/{providers/fake/src/test/product.provider.spec.ts → packages/fake/src/test/product.capability.spec.ts} +3 -3
  123. package/{providers/fake/src/test/profile.provider.spec.ts → packages/fake/src/test/profile.capability.spec.ts} +3 -3
  124. package/{providers/commercetools → packages/fake}/tsconfig.json +1 -1
  125. package/packages/fake/tsconfig.lib.json +23 -0
  126. package/packages/fake/tsconfig.spec.json +28 -0
  127. package/packages/fake/vite.config.ts +26 -0
  128. package/packages/fake/vitest.config.mts +21 -0
  129. package/packages/google-analytics/eslint.config.mjs +23 -0
  130. package/{providers → packages}/google-analytics/package.json +7 -5
  131. package/{providers → packages}/google-analytics/project.json +5 -5
  132. package/{providers/google-analytics/src/providers/analytics.provider.ts → packages/google-analytics/src/capabilities/analytics.capability.ts} +2 -2
  133. package/{providers → packages}/google-analytics/src/core/initialize.ts +4 -4
  134. package/packages/google-analytics/src/core/initialize.types.ts +47 -0
  135. package/{providers → packages}/google-analytics/src/index.ts +1 -1
  136. package/{providers → packages}/google-analytics/src/schema/capabilities.schema.ts +7 -7
  137. package/{providers/google-analytics/src/test/analytics.provider.spec.ts → packages/google-analytics/src/test/analytics.capability.spec.ts} +7 -7
  138. package/packages/google-analytics/tsconfig.json +24 -0
  139. package/packages/google-analytics/tsconfig.lib.json +23 -0
  140. package/packages/google-analytics/tsconfig.spec.json +28 -0
  141. package/{providers → packages}/google-analytics/vite.config.ts +2 -2
  142. package/{providers → packages}/google-analytics/vitest.config.mts +2 -2
  143. package/packages/medusa/README.md +11 -0
  144. package/packages/medusa/eslint.config.mjs +23 -0
  145. package/packages/medusa/package.json +17 -0
  146. package/{providers → packages}/medusa/project.json +7 -8
  147. package/{providers/medusa/src/providers/cart.provider.ts → packages/medusa/src/capabilities/cart.capability.ts} +3 -3
  148. package/{providers/medusa/src/providers/category.provider.ts → packages/medusa/src/capabilities/category.capability.ts} +3 -3
  149. package/{providers/medusa/src/providers/checkout.provider.ts → packages/medusa/src/capabilities/checkout.capability.ts} +3 -3
  150. package/{providers/medusa/src/providers/identity.provider.ts → packages/medusa/src/capabilities/identity.capability.ts} +2 -2
  151. package/{providers/medusa/src/providers/inventory.provider.ts → packages/medusa/src/capabilities/inventory.capability.ts} +3 -3
  152. package/{providers/medusa/src/providers/order-search.provider.ts → packages/medusa/src/capabilities/order-search.capability.ts} +3 -3
  153. package/{providers/medusa/src/providers/order.provider.ts → packages/medusa/src/capabilities/order.capability.ts} +3 -3
  154. package/{providers/medusa/src/providers/price.provider.ts → packages/medusa/src/capabilities/price.capability.ts} +3 -3
  155. package/{providers/medusa/src/providers/product-associations.provider.ts → packages/medusa/src/capabilities/product-associations.capability.ts} +3 -3
  156. package/{providers/medusa/src/providers/product-recommendations.provider.ts → packages/medusa/src/capabilities/product-recommendations.capability.ts} +3 -3
  157. package/{providers/medusa/src/providers/product-search.provider.ts → packages/medusa/src/capabilities/product-search.capability.ts} +3 -3
  158. package/{providers/medusa/src/providers/product.provider.ts → packages/medusa/src/capabilities/product.capability.ts} +3 -3
  159. package/{providers/medusa/src/providers/profile.provider.ts → packages/medusa/src/capabilities/profile.capability.ts} +4 -4
  160. package/{providers → packages}/medusa/src/core/initialize.ts +64 -64
  161. package/{providers → packages}/medusa/src/core/initialize.types.ts +52 -52
  162. package/packages/medusa/src/index.ts +17 -0
  163. package/{providers → packages}/medusa/src/schema/capabilities.schema.ts +64 -64
  164. package/{providers/medusa/src/test/cart.provider.spec.ts → packages/medusa/src/test/cart.capability.spec.ts} +3 -3
  165. package/{providers/medusa/src/test/category.provider.spec.ts → packages/medusa/src/test/category.capability.spec.ts} +3 -3
  166. package/{providers/medusa/src/test/identity.provider.spec.ts → packages/medusa/src/test/identity.capability.spec.ts} +3 -3
  167. package/{providers/medusa/src/test/inventory.provider.spec.ts → packages/medusa/src/test/inventory.capability.spec.ts} +3 -3
  168. package/{providers/medusa/src/test/large-cart.provider.spec.ts → packages/medusa/src/test/large-cart.capability.spec.ts} +6 -6
  169. package/{providers/medusa/src/test/price.provider.spec.ts → packages/medusa/src/test/price.capability.spec.ts} +3 -3
  170. package/{providers/medusa/src/test/product.provider.spec.ts → packages/medusa/src/test/product.capability.spec.ts} +3 -3
  171. package/{providers/medusa/src/test/search.provider.spec.ts → packages/medusa/src/test/search.capability.spec.ts} +4 -4
  172. package/{providers → packages}/medusa/src/utils/medusa-helpers.ts +1 -1
  173. package/packages/medusa/tsconfig.json +24 -0
  174. package/packages/medusa/tsconfig.lib.json +23 -0
  175. package/packages/medusa/tsconfig.spec.json +28 -0
  176. package/packages/medusa/vite.config.ts +26 -0
  177. package/packages/medusa/vitest.config.mts +21 -0
  178. package/packages/meilisearch/README.md +11 -0
  179. package/packages/meilisearch/eslint.config.mjs +23 -0
  180. package/packages/meilisearch/package.json +15 -0
  181. package/{providers → packages}/meilisearch/project.json +7 -8
  182. package/packages/meilisearch/src/capabilities/index.ts +3 -0
  183. package/{providers/meilisearch/src/providers/order-search.provider.ts → packages/meilisearch/src/capabilities/order-search.capability.ts} +3 -3
  184. package/{providers/meilisearch/src/providers/product-recommendations.provider.ts → packages/meilisearch/src/capabilities/product-recommendations.capability.ts} +3 -3
  185. package/{providers/meilisearch/src/providers/product-search.provider.ts → packages/meilisearch/src/capabilities/product-search.capability.ts} +3 -3
  186. package/{providers → packages}/meilisearch/src/core/initialize.ts +13 -13
  187. package/{providers → packages}/meilisearch/src/core/initialize.types.ts +37 -37
  188. package/{providers → packages}/meilisearch/src/index.ts +3 -3
  189. package/{providers → packages}/meilisearch/src/schema/capabilities.schema.ts +24 -24
  190. package/packages/meilisearch/tsconfig.json +24 -0
  191. package/packages/meilisearch/tsconfig.lib.json +23 -0
  192. package/packages/meilisearch/tsconfig.spec.json +28 -0
  193. package/packages/meilisearch/vite.config.ts +26 -0
  194. package/packages/meilisearch/vitest.config.mts +21 -0
  195. package/tsconfig.base.json +13 -21
  196. package/core/project.json +0 -34
  197. package/core/src/client/client.ts +0 -35
  198. package/core/src/providers/index.ts +0 -18
  199. package/core/tsconfig.json +0 -24
  200. package/core/tsconfig.spec.json +0 -4
  201. package/core/vitest.config.ts +0 -14
  202. package/providers/algolia/README.md +0 -56
  203. package/providers/algolia/project.json +0 -34
  204. package/providers/algolia/src/core/initialize.types.ts +0 -107
  205. package/providers/algolia/src/providers/index.ts +0 -3
  206. package/providers/algolia/tsconfig.lib.json +0 -10
  207. package/providers/algolia/tsconfig.spec.json +0 -4
  208. package/providers/algolia/vitest.config.ts +0 -14
  209. package/providers/commercetools/README.md +0 -65
  210. package/providers/commercetools/eslint.config.mjs +0 -22
  211. package/providers/commercetools/package.json +0 -15
  212. package/providers/commercetools/src/providers/index.ts +0 -15
  213. package/providers/commercetools/tsconfig.lib.json +0 -10
  214. package/providers/commercetools/tsconfig.spec.json +0 -4
  215. package/providers/commercetools/vitest.config.ts +0 -15
  216. package/providers/fake/README.md +0 -23
  217. package/providers/fake/src/providers/index.ts +0 -15
  218. package/providers/fake/tsconfig.json +0 -25
  219. package/providers/fake/tsconfig.lib.json +0 -11
  220. package/providers/fake/tsconfig.spec.json +0 -4
  221. package/providers/fake/vitest.config.ts +0 -14
  222. package/providers/google-analytics/src/core/initialize.types.ts +0 -47
  223. package/providers/medusa/README.md +0 -30
  224. package/providers/medusa/TESTING.md +0 -98
  225. package/providers/medusa/eslint.config.mjs +0 -19
  226. package/providers/medusa/package.json +0 -15
  227. package/providers/medusa/src/index.ts +0 -17
  228. package/providers/medusa/tsconfig.json +0 -24
  229. package/providers/medusa/tsconfig.spec.json +0 -4
  230. package/providers/medusa/vitest.config.ts +0 -15
  231. package/providers/meilisearch/README.md +0 -48
  232. package/providers/meilisearch/eslint.config.mjs +0 -22
  233. package/providers/meilisearch/package.json +0 -13
  234. package/providers/meilisearch/src/providers/index.ts +0 -3
  235. package/providers/meilisearch/tsconfig.lib.json +0 -10
  236. package/providers/meilisearch/tsconfig.spec.json +0 -4
  237. package/providers/meilisearch/vitest.config.ts +0 -14
  238. package/providers/posthog/README.md +0 -7
  239. package/providers/posthog/eslint.config.mjs +0 -22
  240. package/providers/posthog/package.json +0 -12
  241. package/providers/posthog/src/core/initialize.ts +0 -11
  242. package/providers/posthog/src/index.ts +0 -4
  243. package/providers/posthog/src/schema/capabilities.schema.ts +0 -8
  244. package/providers/posthog/src/schema/configuration.schema.ts +0 -8
  245. package/providers/posthog/tsconfig.json +0 -21
  246. package/providers/posthog/tsconfig.lib.json +0 -9
  247. /package/{providers → packages}/algolia/src/factories/index.ts +0 -0
  248. /package/{providers → packages}/algolia/src/factories/product-search/product-search.factory.ts +0 -0
  249. /package/{providers → packages}/algolia/src/schema/configuration.schema.ts +0 -0
  250. /package/{providers → packages}/algolia/src/schema/index.ts +0 -0
  251. /package/{providers → packages}/algolia/src/schema/product-recommendation.schema.ts +0 -0
  252. /package/{providers → packages}/algolia/src/schema/search.schema.ts +0 -0
  253. /package/{providers → packages}/algolia/src/test/client-builder-product-search-extension.example.ts +0 -0
  254. /package/{providers/google-analytics → packages/algolia}/tsconfig.json +0 -0
  255. /package/{providers/google-analytics → packages/algolia}/tsconfig.lib.json +0 -0
  256. /package/{providers/google-analytics → packages/algolia}/tsconfig.spec.json +0 -0
  257. /package/{providers → packages}/commercetools/src/core/token-cache.ts +0 -0
  258. /package/{providers → packages}/commercetools/src/factories/cart/cart.factory.ts +0 -0
  259. /package/{providers → packages}/commercetools/src/factories/category/category.factory.ts +0 -0
  260. /package/{providers → packages}/commercetools/src/factories/checkout/checkout.factory.ts +0 -0
  261. /package/{providers → packages}/commercetools/src/factories/identity/identity.factory.ts +0 -0
  262. /package/{providers → packages}/commercetools/src/factories/inventory/inventory.factory.ts +0 -0
  263. /package/{providers → packages}/commercetools/src/factories/order/order.factory.ts +0 -0
  264. /package/{providers → packages}/commercetools/src/factories/order-search/order-search.factory.ts +0 -0
  265. /package/{providers → packages}/commercetools/src/factories/price/price.factory.ts +0 -0
  266. /package/{providers → packages}/commercetools/src/factories/product/product-factory-baseline.example.ts +0 -0
  267. /package/{providers → packages}/commercetools/src/factories/product/product-factory-schema-and-parse-extension.example.ts +0 -0
  268. /package/{providers → packages}/commercetools/src/factories/product/product-factory-schema-extension.example.ts +0 -0
  269. /package/{providers → packages}/commercetools/src/factories/product/product-initializer-factory-extension.example.ts +0 -0
  270. /package/{providers → packages}/commercetools/src/factories/product/product.factory.ts +0 -0
  271. /package/{providers → packages}/commercetools/src/factories/product/utils.example.ts +0 -0
  272. /package/{providers → packages}/commercetools/src/factories/product-associations/product-associations.factory.ts +0 -0
  273. /package/{providers → packages}/commercetools/src/factories/product-list/product-list.factory.ts +0 -0
  274. /package/{providers → packages}/commercetools/src/factories/product-reviews/product-reviews.factory.ts +0 -0
  275. /package/{providers → packages}/commercetools/src/factories/product-search/product-search.factory.ts +0 -0
  276. /package/{providers → packages}/commercetools/src/factories/profile/profile.factory.ts +0 -0
  277. /package/{providers → packages}/commercetools/src/factories/store/store.factory.ts +0 -0
  278. /package/{providers → packages}/commercetools/src/schema/commercetools.schema.ts +0 -0
  279. /package/{providers → packages}/commercetools/src/schema/configuration.schema.ts +0 -0
  280. /package/{providers → packages}/commercetools/src/schema/session.schema.ts +0 -0
  281. /package/{providers → packages}/commercetools/src/test/client-builder-merge-extensions.example.ts +0 -0
  282. /package/{providers → packages}/commercetools/src/test/identity.spec.ts +0 -0
  283. /package/{providers → packages}/commercetools/src/test/test-utils.ts +0 -0
  284. /package/{core → packages/core}/README.md +0 -0
  285. /package/{core → packages/core}/src/cache/cache.interface.ts +0 -0
  286. /package/{core → packages/core}/src/cache/index.ts +0 -0
  287. /package/{core → packages/core}/src/cache/memory-cache.ts +0 -0
  288. /package/{core → packages/core}/src/cache/noop-cache.ts +0 -0
  289. /package/{core → packages/core}/src/cache/redis-cache.ts +0 -0
  290. /package/{core → packages/core}/src/client/index.ts +0 -0
  291. /package/{core → packages/core}/src/decorators/index.ts +0 -0
  292. /package/{core → packages/core}/src/factories/cart.factory.ts +0 -0
  293. /package/{core → packages/core}/src/factories/category.factory.ts +0 -0
  294. /package/{core → packages/core}/src/factories/checkout.factory.ts +0 -0
  295. /package/{core → packages/core}/src/factories/identity.factory.ts +0 -0
  296. /package/{core → packages/core}/src/factories/index.ts +0 -0
  297. /package/{core → packages/core}/src/factories/inventory.factory.ts +0 -0
  298. /package/{core → packages/core}/src/factories/order-search.factory.ts +0 -0
  299. /package/{core → packages/core}/src/factories/order.factory.ts +0 -0
  300. /package/{core → packages/core}/src/factories/price.factory.ts +0 -0
  301. /package/{core → packages/core}/src/factories/product-associations.factory.ts +0 -0
  302. /package/{core → packages/core}/src/factories/product-list.factory.ts +0 -0
  303. /package/{core → packages/core}/src/factories/product-reviews.factory.ts +0 -0
  304. /package/{core → packages/core}/src/factories/product-search.factory.ts +0 -0
  305. /package/{core → packages/core}/src/factories/product.factory.ts +0 -0
  306. /package/{core → packages/core}/src/factories/profile.factory.ts +0 -0
  307. /package/{core → packages/core}/src/factories/store.factory.ts +0 -0
  308. /package/{core → packages/core}/src/initialization.ts +0 -0
  309. /package/{core → packages/core}/src/metrics/metrics.ts +0 -0
  310. /package/{core → packages/core}/src/schemas/capabilities.schema.ts +0 -0
  311. /package/{core → packages/core}/src/schemas/errors/generic.error.ts +0 -0
  312. /package/{core → packages/core}/src/schemas/errors/index.ts +0 -0
  313. /package/{core → packages/core}/src/schemas/errors/invalid-input.error.ts +0 -0
  314. /package/{core → packages/core}/src/schemas/errors/invalid-output.error.ts +0 -0
  315. /package/{core → packages/core}/src/schemas/errors/not-found.error.ts +0 -0
  316. /package/{core → packages/core}/src/schemas/index.ts +0 -0
  317. /package/{core → packages/core}/src/schemas/models/analytics.model.ts +0 -0
  318. /package/{core → packages/core}/src/schemas/models/base.model.ts +0 -0
  319. /package/{core → packages/core}/src/schemas/models/cart.model.ts +0 -0
  320. /package/{core → packages/core}/src/schemas/models/category.model.ts +0 -0
  321. /package/{core → packages/core}/src/schemas/models/checkout.model.ts +0 -0
  322. /package/{core → packages/core}/src/schemas/models/cost.model.ts +0 -0
  323. /package/{core → packages/core}/src/schemas/models/currency.model.ts +0 -0
  324. /package/{core → packages/core}/src/schemas/models/identifiers.model.ts +0 -0
  325. /package/{core → packages/core}/src/schemas/models/identity.model.ts +0 -0
  326. /package/{core → packages/core}/src/schemas/models/index.ts +0 -0
  327. /package/{core → packages/core}/src/schemas/models/inventory.model.ts +0 -0
  328. /package/{core → packages/core}/src/schemas/models/order-search.model.ts +0 -0
  329. /package/{core → packages/core}/src/schemas/models/order.model.ts +0 -0
  330. /package/{core → packages/core}/src/schemas/models/payment.model.ts +0 -0
  331. /package/{core → packages/core}/src/schemas/models/price.model.ts +0 -0
  332. /package/{core → packages/core}/src/schemas/models/product-associations.model.ts +0 -0
  333. /package/{core → packages/core}/src/schemas/models/product-list.model.ts +0 -0
  334. /package/{core → packages/core}/src/schemas/models/product-recommendations.model.ts +0 -0
  335. /package/{core → packages/core}/src/schemas/models/product-reviews.model.ts +0 -0
  336. /package/{core → packages/core}/src/schemas/models/product-search.model.ts +0 -0
  337. /package/{core → packages/core}/src/schemas/models/product.model.ts +0 -0
  338. /package/{core → packages/core}/src/schemas/models/profile.model.ts +0 -0
  339. /package/{core → packages/core}/src/schemas/models/shipping-method.model.ts +0 -0
  340. /package/{core → packages/core}/src/schemas/models/store.model.ts +0 -0
  341. /package/{core → packages/core}/src/schemas/mutations/analytics/index.ts +0 -0
  342. /package/{core → packages/core}/src/schemas/mutations/analytics/product-add-to-cart.mutation.ts +0 -0
  343. /package/{core → packages/core}/src/schemas/mutations/analytics/product-details-view.mutation.ts +0 -0
  344. /package/{core → packages/core}/src/schemas/mutations/analytics/product-summary-click.mutation.ts +0 -0
  345. /package/{core → packages/core}/src/schemas/mutations/analytics/product-summary-view.mutation.ts +0 -0
  346. /package/{core → packages/core}/src/schemas/mutations/analytics/purchase.mutation.ts +0 -0
  347. /package/{core → packages/core}/src/schemas/mutations/base.mutation.ts +0 -0
  348. /package/{core → packages/core}/src/schemas/mutations/cart.mutation.ts +0 -0
  349. /package/{core → packages/core}/src/schemas/mutations/checkout.mutation.ts +0 -0
  350. /package/{core → packages/core}/src/schemas/mutations/identity.mutation.ts +0 -0
  351. /package/{core → packages/core}/src/schemas/mutations/index.ts +0 -0
  352. /package/{core → packages/core}/src/schemas/mutations/inventory.mutation.ts +0 -0
  353. /package/{core → packages/core}/src/schemas/mutations/price.mutation.ts +0 -0
  354. /package/{core → packages/core}/src/schemas/mutations/product-list.mutation.ts +0 -0
  355. /package/{core → packages/core}/src/schemas/mutations/product-reviews.mutation.ts +0 -0
  356. /package/{core → packages/core}/src/schemas/mutations/product.mutation.ts +0 -0
  357. /package/{core → packages/core}/src/schemas/mutations/profile.mutation.ts +0 -0
  358. /package/{core → packages/core}/src/schemas/mutations/search.mutation.ts +0 -0
  359. /package/{core → packages/core}/src/schemas/queries/analytics.query.ts +0 -0
  360. /package/{core → packages/core}/src/schemas/queries/base.query.ts +0 -0
  361. /package/{core → packages/core}/src/schemas/queries/cart.query.ts +0 -0
  362. /package/{core → packages/core}/src/schemas/queries/category.query.ts +0 -0
  363. /package/{core → packages/core}/src/schemas/queries/checkout.query.ts +0 -0
  364. /package/{core → packages/core}/src/schemas/queries/identity.query.ts +0 -0
  365. /package/{core → packages/core}/src/schemas/queries/index.ts +0 -0
  366. /package/{core → packages/core}/src/schemas/queries/inventory.query.ts +0 -0
  367. /package/{core → packages/core}/src/schemas/queries/order-search.query.ts +0 -0
  368. /package/{core → packages/core}/src/schemas/queries/order.query.ts +0 -0
  369. /package/{core → packages/core}/src/schemas/queries/price.query.ts +0 -0
  370. /package/{core → packages/core}/src/schemas/queries/product-associations.query.ts +0 -0
  371. /package/{core → packages/core}/src/schemas/queries/product-list.query.ts +0 -0
  372. /package/{core → packages/core}/src/schemas/queries/product-recommendations.query.ts +0 -0
  373. /package/{core → packages/core}/src/schemas/queries/product-reviews.query.ts +0 -0
  374. /package/{core → packages/core}/src/schemas/queries/product-search.query.ts +0 -0
  375. /package/{core → packages/core}/src/schemas/queries/product.query.ts +0 -0
  376. /package/{core → packages/core}/src/schemas/queries/profile.query.ts +0 -0
  377. /package/{core → packages/core}/src/schemas/queries/store.query.ts +0 -0
  378. /package/{core → packages/core}/src/schemas/result.ts +0 -0
  379. /package/{core → packages/core}/src/schemas/session.schema.ts +0 -0
  380. /package/{core → packages/core}/src/test/request-context.spec.ts +0 -0
  381. /package/{core → packages/core}/src/zod-utils.ts +0 -0
  382. /package/{providers → packages}/fake/src/factories/cart/cart.factory.ts +0 -0
  383. /package/{providers → packages}/fake/src/factories/category/category.factory.ts +0 -0
  384. /package/{providers → packages}/fake/src/factories/checkout/checkout.factory.ts +0 -0
  385. /package/{providers → packages}/fake/src/factories/identity/identity.factory.ts +0 -0
  386. /package/{providers → packages}/fake/src/factories/index.ts +0 -0
  387. /package/{providers → packages}/fake/src/factories/inventory/inventory.factory.ts +0 -0
  388. /package/{providers → packages}/fake/src/factories/order/order.factory.ts +0 -0
  389. /package/{providers → packages}/fake/src/factories/order-search/order-search.factory.ts +0 -0
  390. /package/{providers → packages}/fake/src/factories/price/price.factory.ts +0 -0
  391. /package/{providers → packages}/fake/src/factories/product/product.factory.ts +0 -0
  392. /package/{providers → packages}/fake/src/factories/product-associations/product-associations.factory.ts +0 -0
  393. /package/{providers → packages}/fake/src/factories/product-reviews/product-reviews.factory.ts +0 -0
  394. /package/{providers → packages}/fake/src/factories/product-search/product-search.factory.ts +0 -0
  395. /package/{providers → packages}/fake/src/factories/profile/profile.factory.ts +0 -0
  396. /package/{providers → packages}/fake/src/factories/store/store.factory.ts +0 -0
  397. /package/{providers → packages}/fake/src/schema/configuration.schema.ts +0 -0
  398. /package/{providers → packages}/fake/src/test/client-builder-product-extension.example.ts +0 -0
  399. /package/{providers → packages}/fake/src/test/test-utils.ts +0 -0
  400. /package/{providers → packages}/fake/src/utilities/jitter.ts +0 -0
  401. /package/{providers → packages}/fake/src/utilities/seed.ts +0 -0
  402. /package/{providers → packages}/google-analytics/README.md +0 -0
  403. /package/{providers → packages}/google-analytics/src/schema/configuration.schema.ts +0 -0
  404. /package/{providers → packages}/medusa/src/core/client.ts +0 -0
  405. /package/{providers → packages}/medusa/src/factories/cart/cart.factory.ts +0 -0
  406. /package/{providers → packages}/medusa/src/factories/category/category.factory.ts +0 -0
  407. /package/{providers → packages}/medusa/src/factories/checkout/checkout.factory.ts +0 -0
  408. /package/{providers → packages}/medusa/src/factories/identity/identity.factory.ts +0 -0
  409. /package/{providers → packages}/medusa/src/factories/index.ts +0 -0
  410. /package/{providers → packages}/medusa/src/factories/inventory/inventory.factory.ts +0 -0
  411. /package/{providers → packages}/medusa/src/factories/order/order.factory.ts +0 -0
  412. /package/{providers → packages}/medusa/src/factories/order-search/order-search.factory.ts +0 -0
  413. /package/{providers → packages}/medusa/src/factories/price/price.factory.ts +0 -0
  414. /package/{providers → packages}/medusa/src/factories/product/product.factory.ts +0 -0
  415. /package/{providers → packages}/medusa/src/factories/product-associations/product-associations.factory.ts +0 -0
  416. /package/{providers → packages}/medusa/src/factories/product-search/product-search.factory.ts +0 -0
  417. /package/{providers → packages}/medusa/src/factories/profile/profile.factory.ts +0 -0
  418. /package/{providers → packages}/medusa/src/schema/configuration.schema.ts +0 -0
  419. /package/{providers → packages}/medusa/src/schema/medusa.schema.ts +0 -0
  420. /package/{providers → packages}/medusa/src/test/checkout.spec.ts +0 -0
  421. /package/{providers → packages}/medusa/src/test/test-utils.ts +0 -0
  422. /package/{providers → packages}/meilisearch/src/factories/index.ts +0 -0
  423. /package/{providers → packages}/meilisearch/src/factories/order-search/order-search.factory.ts +0 -0
  424. /package/{providers → packages}/meilisearch/src/factories/product-search/product-search.factory.ts +0 -0
  425. /package/{providers → packages}/meilisearch/src/schema/configuration.schema.ts +0 -0
  426. /package/{providers → packages}/meilisearch/src/schema/index.ts +0 -0
  427. /package/{providers → packages}/meilisearch/src/schema/search.schema.ts +0 -0
@@ -0,0 +1,23 @@
1
+ import baseConfig from '../../eslint.config.mjs';
2
+
3
+ export default [
4
+ ...baseConfig,
5
+ {
6
+ files: ['**/*.json'],
7
+ rules: {
8
+ '@nx/dependency-checks': [
9
+ 'error',
10
+ {
11
+ ignoredFiles: [
12
+ '{projectRoot}/eslint.config.{js,cjs,mjs,ts,cts,mts}',
13
+ '{projectRoot}/esbuild.config.{js,ts,mjs,mts}',
14
+ '{projectRoot}/vite.config.{js,ts,mjs,mts}',
15
+ ],
16
+ },
17
+ ],
18
+ },
19
+ languageOptions: {
20
+ parser: await import('jsonc-eslint-parser'),
21
+ },
22
+ },
23
+ ];
@@ -0,0 +1,15 @@
1
+ {
2
+ "name": "@reactionary/meilisearch",
3
+ "version": "0.0.1",
4
+ "type": "module",
5
+ "main": "./index.js",
6
+ "types": "./src/index.d.ts",
7
+ "dependencies": {
8
+ "vitest": "^4.0.9",
9
+ "@nx/vite": "22.4.5",
10
+ "@reactionary/core": "0.0.1",
11
+ "zod": "4.1.9",
12
+ "meilisearch": "^0.55.0"
13
+ },
14
+ "sideEffects": false
15
+ }
@@ -1,14 +1,13 @@
1
1
  {
2
2
  "name": "meilisearch",
3
3
  "$schema": "../../node_modules/nx/schemas/project-schema.json",
4
- "sourceRoot": "providers/meilisearch/src",
4
+ "sourceRoot": "packages/meilisearch/src",
5
5
  "projectType": "library",
6
6
  "release": {
7
7
  "version": {
8
+ "manifestRootsToUpdate": ["dist/{projectRoot}"],
8
9
  "currentVersionResolver": "git-tag",
9
- "fallbackCurrentVersionResolver": "disk",
10
- "preserveLocalDependencyProtocols": false,
11
- "manifestRootsToUpdate": ["dist/{projectRoot}"]
10
+ "fallbackCurrentVersionResolver": "disk"
12
11
  }
13
12
  },
14
13
  "tags": [],
@@ -17,10 +16,10 @@
17
16
  "executor": "@nx/esbuild:esbuild",
18
17
  "outputs": ["{options.outputPath}"],
19
18
  "options": {
20
- "outputPath": "dist/providers/meilisearch",
21
- "main": "providers/meilisearch/src/index.ts",
22
- "tsConfig": "providers/meilisearch/tsconfig.lib.json",
23
- "assets": ["providers/meilisearch/*.md"],
19
+ "outputPath": "dist/packages/meilisearch",
20
+ "main": "packages/meilisearch/src/index.ts",
21
+ "tsConfig": "packages/meilisearch/tsconfig.lib.json",
22
+ "assets": ["packages/meilisearch/*.md"],
24
23
  "format": ["esm"],
25
24
  "bundle": false
26
25
  }
@@ -0,0 +1,3 @@
1
+ export * from './product-search.capability.js';
2
+ export * from './product-recommendations.capability.js';
3
+ export * from './order-search.capability.js';
@@ -5,7 +5,7 @@ import {
5
5
  type OrderSearchResult,
6
6
  type OrderSearchResultItem,
7
7
  OrderSearchResultSchema,
8
- OrderSearchProvider,
8
+ OrderSearchCapability,
9
9
  Reactionary,
10
10
  type RequestContext,
11
11
  type Result,
@@ -48,9 +48,9 @@ interface MeilisearchNativeOrderRecord {
48
48
  currency: string;
49
49
  }
50
50
 
51
- export class MeilisearchOrderSearchProvider<
51
+ export class MeilisearchOrderSearchCapability<
52
52
  TFactory extends OrderSearchFactory = MeilisearchOrderSearchFactory,
53
- > extends OrderSearchProvider<OrderSearchFactoryOutput<TFactory>> {
53
+ > extends OrderSearchCapability<OrderSearchFactoryOutput<TFactory>> {
54
54
  protected config: MeilisearchConfiguration;
55
55
  protected factory: OrderSearchFactoryWithOutput<TFactory>;
56
56
 
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  type Cache,
3
- ProductRecommendationsProvider,
3
+ ProductRecommendationsCapability,
4
4
  type ProductRecommendation,
5
5
  type ProductRecommendationAlgorithmSimilarProductsQuery,
6
6
  type RequestContext,
@@ -15,7 +15,7 @@ import type { MeilisearchNativeRecord, MeilisearchNativeVariant } from '../schem
15
15
 
16
16
 
17
17
  /**
18
- * MeilisearchProductRecommendationsProvider
18
+ * MeilisearchProductRecommendationsCapability
19
19
  *
20
20
  * Provides product recommendations using Meilisearch's hybrid search and filtering capabilities.
21
21
  * Supports frequentlyBoughtTogether, similar, related, and trendingInCategory algorithms.
@@ -24,7 +24,7 @@ import type { MeilisearchNativeRecord, MeilisearchNativeVariant } from '../schem
24
24
  * For production use, consider implementing more sophisticated recommendation logic or integrating
25
25
  * with a dedicated recommendation engine.
26
26
  */
27
- export class MeilisearchProductRecommendationsProvider extends ProductRecommendationsProvider {
27
+ export class MeilisearchProductRecommendationsCapability extends ProductRecommendationsCapability {
28
28
  protected config: MeilisearchConfiguration;
29
29
 
30
30
  constructor(config: MeilisearchConfiguration, cache: Cache, context: RequestContext) {
@@ -5,7 +5,7 @@ import {
5
5
  type FacetValueIdentifier,
6
6
  FacetValueIdentifierSchema,
7
7
  ImageSchema,
8
- ProductSearchProvider,
8
+ ProductSearchCapability,
9
9
  type ProductSearchFactory,
10
10
  type ProductSearchFactoryOutput,
11
11
  type ProductSearchFactoryWithOutput,
@@ -32,9 +32,9 @@ import type { MeilisearchNativeRecord, MeilisearchNativeVariant } from '../schem
32
32
  import type { MeilisearchProductSearchFactory } from '../factories/product-search/product-search.factory.js';
33
33
 
34
34
 
35
- export class MeilisearchSearchProvider<
35
+ export class MeilisearchProductSearchCapability<
36
36
  TFactory extends ProductSearchFactory = MeilisearchProductSearchFactory,
37
- > extends ProductSearchProvider<ProductSearchFactoryOutput<TFactory>> {
37
+ > extends ProductSearchCapability<ProductSearchFactoryOutput<TFactory>> {
38
38
  protected config: MeilisearchConfiguration;
39
39
  protected factory: ProductSearchFactoryWithOutput<TFactory>;
40
40
 
@@ -1,8 +1,8 @@
1
1
  import type { Cache, RequestContext } from '@reactionary/core';
2
2
  import { OrderSearchResultSchema, ProductSearchResultSchema } from '@reactionary/core';
3
- import { MeilisearchSearchProvider } from '../providers/product-search.provider.js';
4
- import { MeilisearchProductRecommendationsProvider } from '../providers/product-recommendations.provider.js';
5
- import { MeilisearchOrderSearchProvider } from '../providers/order-search.provider.js';
3
+ import { MeilisearchProductSearchCapability } from '../capabilities/product-search.capability.js';
4
+ import { MeilisearchProductRecommendationsCapability } from '../capabilities/product-recommendations.capability.js';
5
+ import { MeilisearchOrderSearchCapability } from '../capabilities/order-search.capability.js';
6
6
  import {
7
7
  MeilisearchCapabilitiesSchema,
8
8
  type MeilisearchCapabilities,
@@ -12,8 +12,8 @@ import { MeilisearchOrderSearchFactory } from '../factories/order-search/order-s
12
12
  import { MeilisearchProductSearchFactory } from '../factories/product-search/product-search.factory.js';
13
13
  import {
14
14
  type MeilisearchClientFromCapabilities,
15
- resolveCapabilityProvider,
16
- resolveProviderOnlyCapability,
15
+ resolveCapabilityWithFactory,
16
+ resolveDirectCapability,
17
17
  } from './initialize.types.js';
18
18
 
19
19
  export function withMeilisearchCapabilities<T extends MeilisearchCapabilities>(
@@ -29,12 +29,12 @@ export function withMeilisearchCapabilities<T extends MeilisearchCapabilities>(
29
29
  const caps = MeilisearchCapabilitiesSchema.parse(capabilities);
30
30
 
31
31
  if (caps.productSearch?.enabled) {
32
- client.productSearch = resolveCapabilityProvider(
32
+ client.productSearch = resolveCapabilityWithFactory(
33
33
  capabilities.productSearch,
34
34
  {
35
35
  factory: new MeilisearchProductSearchFactory(ProductSearchResultSchema),
36
- provider: (args) =>
37
- new MeilisearchSearchProvider(
36
+ capability: (args) =>
37
+ new MeilisearchProductSearchCapability(
38
38
  args.config,
39
39
  args.cache,
40
40
  args.context,
@@ -51,12 +51,12 @@ export function withMeilisearchCapabilities<T extends MeilisearchCapabilities>(
51
51
  }
52
52
 
53
53
  if (caps.orderSearch?.enabled) {
54
- client.orderSearch = resolveCapabilityProvider(
54
+ client.orderSearch = resolveCapabilityWithFactory(
55
55
  capabilities.orderSearch,
56
56
  {
57
57
  factory: new MeilisearchOrderSearchFactory(OrderSearchResultSchema),
58
- provider: (args) =>
59
- new MeilisearchOrderSearchProvider(
58
+ capability: (args) =>
59
+ new MeilisearchOrderSearchCapability(
60
60
  args.config,
61
61
  args.cache,
62
62
  args.context,
@@ -73,10 +73,10 @@ export function withMeilisearchCapabilities<T extends MeilisearchCapabilities>(
73
73
  }
74
74
 
75
75
  if (caps.productRecommendations?.enabled) {
76
- client.productRecommendations = resolveProviderOnlyCapability(
76
+ client.productRecommendations = resolveDirectCapability(
77
77
  capabilities.productRecommendations,
78
78
  (args) =>
79
- new MeilisearchProductRecommendationsProvider(
79
+ new MeilisearchProductRecommendationsCapability(
80
80
  args.config,
81
81
  args.cache,
82
82
  args.context,
@@ -6,9 +6,9 @@ import type {
6
6
  import type { MeilisearchCapabilities } from '../schema/capabilities.schema.js';
7
7
  import type { MeilisearchOrderSearchFactory } from '../factories/order-search/order-search.factory.js';
8
8
  import type { MeilisearchProductSearchFactory } from '../factories/product-search/product-search.factory.js';
9
- import type { MeilisearchOrderSearchProvider } from '../providers/order-search.provider.js';
10
- import type { MeilisearchProductRecommendationsProvider } from '../providers/product-recommendations.provider.js';
11
- import type { MeilisearchSearchProvider } from '../providers/product-search.provider.js';
9
+ import type { MeilisearchOrderSearchCapability } from '../capabilities/order-search.capability.js';
10
+ import type { MeilisearchProductRecommendationsCapability } from '../capabilities/product-recommendations.capability.js';
11
+ import type { MeilisearchProductSearchCapability } from '../capabilities/product-search.capability.js';
12
12
 
13
13
  type EnabledCapability<TCapability> =
14
14
  TCapability extends { enabled: true } ? true : false;
@@ -27,19 +27,19 @@ type ExtractCapabilityFactory<TCapability, TContract, TDefaultFactory> =
27
27
  : TDefaultFactory
28
28
  : TDefaultFactory;
29
29
 
30
- type ExtractCapabilityProvider<TCapability, TDefaultProvider> =
31
- TCapability extends { enabled: true; provider?: infer TProviderFactory }
32
- ? TProviderFactory extends (...args: unknown[]) => infer TProvider
33
- ? TProvider
34
- : TDefaultProvider
35
- : TDefaultProvider;
30
+ type ExtractCapabilityImplementation<TCapability, TDefaultCapability> =
31
+ TCapability extends { enabled: true; capability?: infer TCapabilityFactory }
32
+ ? TCapabilityFactory extends (...args: unknown[]) => infer TResolvedCapability
33
+ ? TResolvedCapability
34
+ : TDefaultCapability
35
+ : TDefaultCapability;
36
36
 
37
37
  type CapabilityOverride<
38
38
  TCapability,
39
39
  TKey extends string,
40
- TProvider,
40
+ TResolvedCapability,
41
41
  > = TCapability extends { enabled: true }
42
- ? { [K in TKey]: TProvider }
42
+ ? { [K in TKey]: TResolvedCapability }
43
43
  : Record<never, never>;
44
44
 
45
45
  type ProductSearchFactoryFor<T extends MeilisearchCapabilities> =
@@ -56,64 +56,64 @@ type OrderSearchFactoryFor<T extends MeilisearchCapabilities> =
56
56
  MeilisearchOrderSearchFactory
57
57
  >;
58
58
 
59
- type ProductSearchProviderFor<T extends MeilisearchCapabilities> =
60
- ExtractCapabilityProvider<
59
+ type ProductSearchCapabilityFor<T extends MeilisearchCapabilities> =
60
+ ExtractCapabilityImplementation<
61
61
  T['productSearch'],
62
- MeilisearchSearchProvider<ProductSearchFactoryFor<T>>
62
+ MeilisearchProductSearchCapability<ProductSearchFactoryFor<T>>
63
63
  >;
64
64
 
65
- type OrderSearchProviderFor<T extends MeilisearchCapabilities> =
66
- ExtractCapabilityProvider<
65
+ type OrderSearchCapabilityFor<T extends MeilisearchCapabilities> =
66
+ ExtractCapabilityImplementation<
67
67
  T['orderSearch'],
68
- MeilisearchOrderSearchProvider<OrderSearchFactoryFor<T>>
68
+ MeilisearchOrderSearchCapability<OrderSearchFactoryFor<T>>
69
69
  >;
70
70
 
71
- type ProductRecommendationsProviderFor<T extends MeilisearchCapabilities> =
72
- ExtractCapabilityProvider<
71
+ type ProductRecommendationsCapabilityFor<T extends MeilisearchCapabilities> =
72
+ ExtractCapabilityImplementation<
73
73
  T['productRecommendations'],
74
- MeilisearchProductRecommendationsProvider
74
+ MeilisearchProductRecommendationsCapability
75
75
  >;
76
76
 
77
77
  export type MeilisearchClientFromCapabilities<T extends MeilisearchCapabilities> = Omit<
78
78
  ClientFromCapabilities<NormalizeConfiguredCapabilities<T>>,
79
79
  'productSearch' | 'orderSearch' | 'productRecommendations'
80
80
  > &
81
- CapabilityOverride<T['productSearch'], 'productSearch', ProductSearchProviderFor<T>> &
82
- CapabilityOverride<T['orderSearch'], 'orderSearch', OrderSearchProviderFor<T>> &
81
+ CapabilityOverride<T['productSearch'], 'productSearch', ProductSearchCapabilityFor<T>> &
82
+ CapabilityOverride<T['orderSearch'], 'orderSearch', OrderSearchCapabilityFor<T>> &
83
83
  CapabilityOverride<
84
84
  T['productRecommendations'],
85
85
  'productRecommendations',
86
- ProductRecommendationsProviderFor<T>
86
+ ProductRecommendationsCapabilityFor<T>
87
87
  >;
88
88
 
89
- export function resolveCapabilityProvider<TFactory, TProvider, TProviderArgs>(
89
+ export function resolveCapabilityWithFactory<TFactory, TResolvedCapability, TCapabilityArgs>(
90
90
  capability:
91
91
  | {
92
92
  factory?: TFactory;
93
- provider?: (args: TProviderArgs) => TProvider;
93
+ capability?: (args: TCapabilityArgs) => TResolvedCapability;
94
94
  }
95
95
  | undefined,
96
96
  defaults: {
97
97
  factory: TFactory;
98
- provider: (args: TProviderArgs) => TProvider;
98
+ capability: (args: TCapabilityArgs) => TResolvedCapability;
99
99
  },
100
- buildProviderArgs: (factory: TFactory) => TProviderArgs,
101
- ): TProvider {
100
+ buildCapabilityArgs: (factory: TFactory) => TCapabilityArgs,
101
+ ): TResolvedCapability {
102
102
  const factory = capability?.factory ?? defaults.factory;
103
- const provider = capability?.provider ?? defaults.provider;
103
+ const capabilityFactory = capability?.capability ?? defaults.capability;
104
104
 
105
- return provider(buildProviderArgs(factory));
105
+ return capabilityFactory(buildCapabilityArgs(factory));
106
106
  }
107
107
 
108
- export function resolveProviderOnlyCapability<TProvider, TProviderArgs>(
108
+ export function resolveDirectCapability<TResolvedCapability, TCapabilityArgs>(
109
109
  capability:
110
110
  | {
111
- provider?: (args: TProviderArgs) => TProvider;
111
+ capability?: (args: TCapabilityArgs) => TResolvedCapability;
112
112
  }
113
113
  | undefined,
114
- defaultProvider: (args: TProviderArgs) => TProvider,
115
- args: TProviderArgs,
116
- ): TProvider {
117
- const provider = capability?.provider ?? defaultProvider;
118
- return provider(args);
114
+ defaultCapability: (args: TCapabilityArgs) => TResolvedCapability,
115
+ args: TCapabilityArgs,
116
+ ): TResolvedCapability {
117
+ const capabilityFactory = capability?.capability ?? defaultCapability;
118
+ return capabilityFactory(args);
119
119
  }
@@ -1,9 +1,9 @@
1
1
  export * from './core/initialize.js';
2
2
  export * from './core/initialize.types.js';
3
3
  export * from './factories/index.js';
4
- export * from './providers/product-search.provider.js';
5
- export * from './providers/product-recommendations.provider.js';
6
- export * from './providers/order-search.provider.js';
4
+ export * from './capabilities/product-search.capability.js';
5
+ export * from './capabilities/product-recommendations.capability.js';
6
+ export * from './capabilities/order-search.capability.js';
7
7
 
8
8
  export * from './schema/configuration.schema.js';
9
9
  export * from './schema/capabilities.schema.js';
@@ -2,11 +2,11 @@ import type {
2
2
  Cache,
3
3
  OrderSearchFactory,
4
4
  OrderSearchFactoryWithOutput,
5
- OrderSearchProvider,
6
- ProductRecommendationsProvider,
5
+ OrderSearchCapability,
6
+ ProductRecommendationsCapability,
7
7
  ProductSearchFactory,
8
8
  ProductSearchFactoryWithOutput,
9
- ProductSearchProvider,
9
+ ProductSearchCapability,
10
10
  RequestContext,
11
11
  } from '@reactionary/core';
12
12
  import { CapabilitiesSchema } from '@reactionary/core';
@@ -16,12 +16,12 @@ import * as z from 'zod';
16
16
  const SearchCapabilitySchema = z.looseObject({
17
17
  enabled: z.boolean(),
18
18
  factory: z.unknown().optional(),
19
- provider: z.unknown().optional(),
19
+ capability: z.unknown().optional(),
20
20
  });
21
21
 
22
- const ProviderCapabilitySchema = z.looseObject({
22
+ const DirectCapabilitySchema = z.looseObject({
23
23
  enabled: z.boolean(),
24
- provider: z.unknown().optional(),
24
+ capability: z.unknown().optional(),
25
25
  });
26
26
 
27
27
  export const MeilisearchCapabilitiesSchema = CapabilitiesSchema.pick({
@@ -32,67 +32,67 @@ export const MeilisearchCapabilitiesSchema = CapabilitiesSchema.pick({
32
32
  .extend({
33
33
  productSearch: SearchCapabilitySchema.optional(),
34
34
  orderSearch: SearchCapabilitySchema.optional(),
35
- productRecommendations: ProviderCapabilitySchema.optional(),
35
+ productRecommendations: DirectCapabilitySchema.optional(),
36
36
  })
37
37
  .partial();
38
38
 
39
- export interface MeilisearchProviderFactoryArgs {
39
+ export interface MeilisearchCapabilityFactoryArgs {
40
40
  cache: Cache;
41
41
  context: RequestContext;
42
42
  config: MeilisearchConfiguration;
43
43
  }
44
44
 
45
- export interface MeilisearchSearchProviderFactoryArgs<
45
+ export interface MeilisearchProductSearchCapabilityFactoryArgs<
46
46
  TFactory extends ProductSearchFactory = ProductSearchFactory,
47
- > extends MeilisearchProviderFactoryArgs {
47
+ > extends MeilisearchCapabilityFactoryArgs {
48
48
  factory: ProductSearchFactoryWithOutput<TFactory>;
49
49
  }
50
50
 
51
- export interface MeilisearchOrderSearchProviderFactoryArgs<
51
+ export interface MeilisearchOrderSearchCapabilityFactoryArgs<
52
52
  TFactory extends OrderSearchFactory = OrderSearchFactory,
53
- > extends MeilisearchProviderFactoryArgs {
53
+ > extends MeilisearchCapabilityFactoryArgs {
54
54
  factory: OrderSearchFactoryWithOutput<TFactory>;
55
55
  }
56
56
 
57
57
  export interface MeilisearchProductSearchCapabilityConfig<
58
58
  TFactory extends ProductSearchFactory = ProductSearchFactory,
59
- TProvider extends ProductSearchProvider = ProductSearchProvider,
59
+ TCapability extends ProductSearchCapability = ProductSearchCapability,
60
60
  > {
61
61
  enabled: boolean;
62
62
  factory?: ProductSearchFactoryWithOutput<TFactory>;
63
- provider?: (args: MeilisearchSearchProviderFactoryArgs<TFactory>) => TProvider;
63
+ capability?: (args: MeilisearchProductSearchCapabilityFactoryArgs<TFactory>) => TCapability;
64
64
  }
65
65
 
66
66
  export interface MeilisearchOrderSearchCapabilityConfig<
67
67
  TFactory extends OrderSearchFactory = OrderSearchFactory,
68
- TProvider extends OrderSearchProvider = OrderSearchProvider,
68
+ TCapability extends OrderSearchCapability = OrderSearchCapability,
69
69
  > {
70
70
  enabled: boolean;
71
71
  factory?: OrderSearchFactoryWithOutput<TFactory>;
72
- provider?: (args: MeilisearchOrderSearchProviderFactoryArgs<TFactory>) => TProvider;
72
+ capability?: (args: MeilisearchOrderSearchCapabilityFactoryArgs<TFactory>) => TCapability;
73
73
  }
74
74
 
75
75
  export interface MeilisearchProductRecommendationsCapabilityConfig<
76
- TProvider extends ProductRecommendationsProvider = ProductRecommendationsProvider,
76
+ TCapability extends ProductRecommendationsCapability = ProductRecommendationsCapability,
77
77
  > {
78
78
  enabled: boolean;
79
- provider?: (args: MeilisearchProviderFactoryArgs) => TProvider;
79
+ capability?: (args: MeilisearchCapabilityFactoryArgs) => TCapability;
80
80
  }
81
81
 
82
82
  export type MeilisearchCapabilities<
83
83
  TProductSearchFactory extends ProductSearchFactory = ProductSearchFactory,
84
- TProductSearchProvider extends ProductSearchProvider = ProductSearchProvider,
84
+ TProductSearchCapability extends ProductSearchCapability = ProductSearchCapability,
85
85
  TOrderSearchFactory extends OrderSearchFactory = OrderSearchFactory,
86
- TOrderSearchProvider extends OrderSearchProvider = OrderSearchProvider,
87
- TProductRecommendationsProvider extends ProductRecommendationsProvider = ProductRecommendationsProvider,
86
+ TOrderSearchCapability extends OrderSearchCapability = OrderSearchCapability,
87
+ TProductRecommendationsCapability extends ProductRecommendationsCapability = ProductRecommendationsCapability,
88
88
  > = {
89
89
  productSearch?: MeilisearchProductSearchCapabilityConfig<
90
90
  TProductSearchFactory,
91
- TProductSearchProvider
91
+ TProductSearchCapability
92
92
  >;
93
93
  orderSearch?: MeilisearchOrderSearchCapabilityConfig<
94
94
  TOrderSearchFactory,
95
- TOrderSearchProvider
95
+ TOrderSearchCapability
96
96
  >;
97
- productRecommendations?: MeilisearchProductRecommendationsCapabilityConfig<TProductRecommendationsProvider>;
97
+ productRecommendations?: MeilisearchProductRecommendationsCapabilityConfig<TProductRecommendationsCapability>;
98
98
  };
@@ -0,0 +1,24 @@
1
+ {
2
+ "extends": "../../tsconfig.base.json",
3
+ "compilerOptions": {
4
+ "module": "nodenext",
5
+ "moduleResolution": "nodenext",
6
+ "forceConsistentCasingInFileNames": true,
7
+ "strict": true,
8
+ "importHelpers": true,
9
+ "noImplicitOverride": true,
10
+ "noImplicitReturns": true,
11
+ "noFallthroughCasesInSwitch": true,
12
+ "noPropertyAccessFromIndexSignature": true
13
+ },
14
+ "files": [],
15
+ "include": [],
16
+ "references": [
17
+ {
18
+ "path": "./tsconfig.lib.json"
19
+ },
20
+ {
21
+ "path": "./tsconfig.spec.json"
22
+ }
23
+ ]
24
+ }
@@ -0,0 +1,23 @@
1
+ {
2
+ "extends": "./tsconfig.json",
3
+ "compilerOptions": {
4
+ "outDir": "../../dist/out-tsc",
5
+ "declaration": true,
6
+ "types": ["node"]
7
+ },
8
+ "include": ["src/**/*.ts"],
9
+ "exclude": [
10
+ "vite.config.ts",
11
+ "vite.config.mts",
12
+ "vitest.config.ts",
13
+ "vitest.config.mts",
14
+ "src/**/*.test.ts",
15
+ "src/**/*.spec.ts",
16
+ "src/**/*.test.tsx",
17
+ "src/**/*.spec.tsx",
18
+ "src/**/*.test.js",
19
+ "src/**/*.spec.js",
20
+ "src/**/*.test.jsx",
21
+ "src/**/*.spec.jsx"
22
+ ]
23
+ }
@@ -0,0 +1,28 @@
1
+ {
2
+ "extends": "./tsconfig.json",
3
+ "compilerOptions": {
4
+ "outDir": "../../dist/out-tsc",
5
+ "types": [
6
+ "vitest/globals",
7
+ "vitest/importMeta",
8
+ "vite/client",
9
+ "node",
10
+ "vitest"
11
+ ]
12
+ },
13
+ "include": [
14
+ "vite.config.ts",
15
+ "vite.config.mts",
16
+ "vitest.config.ts",
17
+ "vitest.config.mts",
18
+ "src/**/*.test.ts",
19
+ "src/**/*.spec.ts",
20
+ "src/**/*.test.tsx",
21
+ "src/**/*.spec.tsx",
22
+ "src/**/*.test.js",
23
+ "src/**/*.spec.js",
24
+ "src/**/*.test.jsx",
25
+ "src/**/*.spec.jsx",
26
+ "src/**/*.d.ts"
27
+ ]
28
+ }
@@ -0,0 +1,26 @@
1
+ /// <reference types='vitest' />
2
+ import { defineConfig } from 'vite';
3
+ import { nxViteTsPaths } from '@nx/vite/plugins/nx-tsconfig-paths.plugin';
4
+ import { nxCopyAssetsPlugin } from '@nx/vite/plugins/nx-copy-assets.plugin';
5
+
6
+ export default defineConfig(() => ({
7
+ root: import.meta.dirname,
8
+ cacheDir: '../../node_modules/.vite/packages/meilisearch',
9
+ plugins: [nxViteTsPaths(), nxCopyAssetsPlugin(['*.md'])],
10
+ // Uncomment this if you are using workers.
11
+ // worker: {
12
+ // plugins: () => [ nxViteTsPaths() ],
13
+ // },
14
+ test: {
15
+ name: 'meilisearch',
16
+ watch: false,
17
+ globals: true,
18
+ environment: 'node',
19
+ include: ['{src,tests}/**/*.{test,spec}.{js,mjs,cjs,ts,mts,cts,jsx,tsx}'],
20
+ reporters: ['default'],
21
+ coverage: {
22
+ reportsDirectory: '../../coverage/packages/meilisearch',
23
+ provider: 'v8' as const,
24
+ },
25
+ },
26
+ }));
@@ -0,0 +1,21 @@
1
+ import { defineConfig } from 'vitest/config';
2
+ import { nxViteTsPaths } from '@nx/vite/plugins/nx-tsconfig-paths.plugin';
3
+ import { nxCopyAssetsPlugin } from '@nx/vite/plugins/nx-copy-assets.plugin';
4
+
5
+ export default defineConfig(() => ({
6
+ root: __dirname,
7
+ cacheDir: '../../node_modules/.vite/packages/meilisearch',
8
+ plugins: [nxViteTsPaths(), nxCopyAssetsPlugin(['*.md'])],
9
+ test: {
10
+ name: 'meilisearch',
11
+ watch: false,
12
+ globals: true,
13
+ environment: 'node',
14
+ include: ['{src,tests}/**/*.{test,spec}.{js,mjs,cjs,ts,mts,cts,jsx,tsx}'],
15
+ reporters: ['default'],
16
+ coverage: {
17
+ reportsDirectory: '../../coverage/packages/meilisearch',
18
+ provider: 'v8' as const,
19
+ },
20
+ },
21
+ }));