@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
@@ -2,47 +2,47 @@ import type {
2
2
  Cache,
3
3
  CartFactory,
4
4
  CartFactoryWithOutput,
5
- CartProvider,
5
+ CartCapability,
6
6
  CategoryFactory,
7
7
  CategoryFactoryWithOutput,
8
- CategoryProvider,
8
+ CategoryCapability,
9
9
  CheckoutFactory,
10
10
  CheckoutFactoryWithOutput,
11
- CheckoutProvider,
11
+ CheckoutCapability,
12
12
  IdentityFactory,
13
13
  IdentityFactoryWithOutput,
14
- IdentityProvider,
14
+ IdentityCapability,
15
15
  InventoryFactory,
16
16
  InventoryFactoryWithOutput,
17
- InventoryProvider,
17
+ InventoryCapability,
18
18
  OrderFactory,
19
19
  OrderFactoryWithOutput,
20
- OrderProvider,
20
+ OrderCapability,
21
21
  OrderSearchFactory,
22
22
  OrderSearchFactoryWithOutput,
23
- OrderSearchProvider,
23
+ OrderSearchCapability,
24
24
  PriceFactory,
25
25
  PriceFactoryWithOutput,
26
- PriceProvider,
26
+ PriceCapability,
27
27
  ProductAssociationsFactory,
28
28
  ProductAssociationsFactoryWithOutput,
29
- ProductAssociationsProvider,
29
+ ProductAssociationsCapability,
30
30
  ProductFactory,
31
31
  ProductFactoryWithOutput,
32
- ProductProvider,
32
+ ProductCapability,
33
33
  ProductReviewsFactory,
34
34
  ProductReviewsFactoryWithOutput,
35
- ProductReviewsProvider,
35
+ ProductReviewsCapability,
36
36
  ProductSearchFactory,
37
37
  ProductSearchFactoryWithOutput,
38
- ProductSearchProvider,
38
+ ProductSearchCapability,
39
39
  ProfileFactory,
40
40
  ProfileFactoryWithOutput,
41
- ProfileProvider,
41
+ ProfileCapability,
42
42
  RequestContext,
43
43
  StoreFactory,
44
44
  StoreFactoryWithOutput,
45
- StoreProvider,
45
+ StoreCapability,
46
46
  } from '@reactionary/core';
47
47
  import { CapabilitiesSchema } from '@reactionary/core';
48
48
  import type { FakeConfiguration } from './configuration.schema.js';
@@ -51,7 +51,7 @@ import * as z from 'zod';
51
51
  const OverridableCapabilitySchema = z.looseObject({
52
52
  enabled: z.boolean(),
53
53
  factory: z.unknown().optional(),
54
- provider: z.unknown().optional(),
54
+ capability: z.unknown().optional(),
55
55
  });
56
56
 
57
57
  export const FakeCapabilitiesSchema = CapabilitiesSchema.pick({
@@ -88,74 +88,74 @@ export const FakeCapabilitiesSchema = CapabilitiesSchema.pick({
88
88
  })
89
89
  .partial();
90
90
 
91
- export interface FakeCapabilityProviderFactoryArgs<TFactory> {
91
+ export interface FakeCapabilityFactoryArgs<TFactory> {
92
92
  cache: Cache;
93
93
  context: RequestContext;
94
94
  config: FakeConfiguration;
95
95
  factory: TFactory;
96
96
  }
97
97
 
98
- export interface FakeCapabilityConfig<TFactory, TProvider> {
98
+ export interface FakeCapabilityConfig<TFactory, TCapability> {
99
99
  enabled: boolean;
100
100
  factory?: TFactory;
101
- provider?: (args: FakeCapabilityProviderFactoryArgs<TFactory>) => TProvider;
101
+ capability?: (args: FakeCapabilityFactoryArgs<TFactory>) => TCapability;
102
102
  }
103
103
 
104
104
  export type FakeProductCapabilityConfig = FakeCapabilityConfig<
105
105
  ProductFactoryWithOutput<ProductFactory>,
106
- ProductProvider
106
+ ProductCapability
107
107
  >;
108
108
  export type FakeProductSearchCapabilityConfig = FakeCapabilityConfig<
109
109
  ProductSearchFactoryWithOutput<ProductSearchFactory>,
110
- ProductSearchProvider
110
+ ProductSearchCapability
111
111
  >;
112
112
  export type FakeIdentityCapabilityConfig = FakeCapabilityConfig<
113
113
  IdentityFactoryWithOutput<IdentityFactory>,
114
- IdentityProvider
114
+ IdentityCapability
115
115
  >;
116
116
  export type FakeCategoryCapabilityConfig = FakeCapabilityConfig<
117
117
  CategoryFactoryWithOutput<CategoryFactory>,
118
- CategoryProvider
118
+ CategoryCapability
119
119
  >;
120
120
  export type FakeCartCapabilityConfig = FakeCapabilityConfig<
121
121
  CartFactoryWithOutput<CartFactory>,
122
- CartProvider
122
+ CartCapability
123
123
  >;
124
124
  export type FakeInventoryCapabilityConfig = FakeCapabilityConfig<
125
125
  InventoryFactoryWithOutput<InventoryFactory>,
126
- InventoryProvider
126
+ InventoryCapability
127
127
  >;
128
128
  export type FakeStoreCapabilityConfig = FakeCapabilityConfig<
129
129
  StoreFactoryWithOutput<StoreFactory>,
130
- StoreProvider
130
+ StoreCapability
131
131
  >;
132
132
  export type FakePriceCapabilityConfig = FakeCapabilityConfig<
133
133
  PriceFactoryWithOutput<PriceFactory>,
134
- PriceProvider
134
+ PriceCapability
135
135
  >;
136
136
  export type FakeCheckoutCapabilityConfig = FakeCapabilityConfig<
137
137
  CheckoutFactoryWithOutput<CheckoutFactory>,
138
- CheckoutProvider
138
+ CheckoutCapability
139
139
  >;
140
140
  export type FakeOrderCapabilityConfig = FakeCapabilityConfig<
141
141
  OrderFactoryWithOutput<OrderFactory>,
142
- OrderProvider
142
+ OrderCapability
143
143
  >;
144
144
  export type FakeOrderSearchCapabilityConfig = FakeCapabilityConfig<
145
145
  OrderSearchFactoryWithOutput<OrderSearchFactory>,
146
- OrderSearchProvider
146
+ OrderSearchCapability
147
147
  >;
148
148
  export type FakeProfileCapabilityConfig = FakeCapabilityConfig<
149
149
  ProfileFactoryWithOutput<ProfileFactory>,
150
- ProfileProvider
150
+ ProfileCapability
151
151
  >;
152
152
  export type FakeProductReviewsCapabilityConfig = FakeCapabilityConfig<
153
153
  ProductReviewsFactoryWithOutput<ProductReviewsFactory>,
154
- ProductReviewsProvider
154
+ ProductReviewsCapability
155
155
  >;
156
156
  export type FakeProductAssociationsCapabilityConfig = FakeCapabilityConfig<
157
157
  ProductAssociationsFactoryWithOutput<ProductAssociationsFactory>,
158
- ProductAssociationsProvider
158
+ ProductAssociationsCapability
159
159
  >;
160
160
 
161
161
  export type FakeCapabilities = {
@@ -8,8 +8,8 @@ import {
8
8
  createInitialRequestContext,
9
9
  } from '@reactionary/core';
10
10
  import { getFakerTestConfiguration } from './test-utils.js';
11
- import { FakeCartProvider } from '../providers/cart.provider.js';
12
- import { FakeIdentityProvider } from '../providers/index.js';
11
+ import { FakeCartCapability } from '../capabilities/cart.capability.js';
12
+ import { FakeIdentityCapability } from '../capabilities/index.js';
13
13
  import { FakeCartFactory, FakeIdentityFactory } from '../factories/index.js';
14
14
  import { describe, expect, it, beforeAll, beforeEach, assert } from 'vitest';
15
15
 
@@ -19,19 +19,19 @@ const testData = {
19
19
  }
20
20
 
21
21
  describe('Fake Cart Provider', () => {
22
- let provider: FakeCartProvider;
23
- let identityProvider: FakeIdentityProvider;
22
+ let provider: FakeCartCapability;
23
+ let identityProvider: FakeIdentityCapability;
24
24
  let reqCtx: RequestContext;
25
25
 
26
26
  beforeEach( () => {
27
27
  reqCtx = createInitialRequestContext();
28
- provider = new FakeCartProvider(
28
+ provider = new FakeCartCapability(
29
29
  getFakerTestConfiguration(),
30
30
  new NoOpCache(),
31
31
  reqCtx,
32
32
  new FakeCartFactory(CartSchema, CartIdentifierSchema),
33
33
  );
34
- identityProvider = new FakeIdentityProvider(
34
+ identityProvider = new FakeIdentityCapability(
35
35
  getFakerTestConfiguration(),
36
36
  new NoOpCache(),
37
37
  reqCtx,
@@ -6,13 +6,13 @@ import {
6
6
  MemoryCache,
7
7
  createInitialRequestContext,
8
8
  } from '@reactionary/core';
9
- import { FakeCategoryProvider } from '../providers/index.js';
9
+ import { FakeCategoryCapability } from '../capabilities/index.js';
10
10
  import { FakeCategoryFactory } from '../factories/index.js';
11
11
  import { getFakerTestConfiguration } from './test-utils.js';
12
12
  import { describe, expect, it, beforeAll, beforeEach, assert } from 'vitest';
13
13
 
14
14
  describe('Faker Category Provider', () => {
15
- let provider: FakeCategoryProvider;
15
+ let provider: FakeCategoryCapability;
16
16
  let reqCtx: RequestContext;
17
17
  const cache = new MemoryCache();
18
18
 
@@ -20,7 +20,7 @@ describe('Faker Category Provider', () => {
20
20
  reqCtx = createInitialRequestContext();
21
21
  cache.clear();
22
22
 
23
- provider = new FakeCategoryProvider(
23
+ provider = new FakeCategoryCapability(
24
24
  getFakerTestConfiguration(),
25
25
  cache,
26
26
  reqCtx,
@@ -9,16 +9,16 @@ import {
9
9
  } from '@reactionary/core';
10
10
  import { getFakerTestConfiguration } from './test-utils.js';
11
11
  import { describe, expect, it, beforeEach, assert } from 'vitest';
12
- import { FakeCheckoutProvider } from '../providers/checkout.provider.js';
12
+ import { FakeCheckoutCapability } from '../capabilities/checkout.capability.js';
13
13
  import { FakeCheckoutFactory } from '../factories/index.js';
14
14
 
15
15
  describe('Fake Checkout Provider', () => {
16
- let provider: FakeCheckoutProvider;
16
+ let provider: FakeCheckoutCapability;
17
17
  let reqCtx: RequestContext;
18
18
 
19
19
  beforeEach(() => {
20
20
  reqCtx = createInitialRequestContext();
21
- provider = new FakeCheckoutProvider(
21
+ provider = new FakeCheckoutCapability(
22
22
  getFakerTestConfiguration(),
23
23
  new NoOpCache(),
24
24
  reqCtx,
@@ -7,16 +7,16 @@ import {
7
7
  } from '@reactionary/core';
8
8
  import { getFakerTestConfiguration } from './test-utils.js';
9
9
  import { describe, expect, it, beforeAll, beforeEach, assert } from 'vitest';
10
- import { FakeOrderSearchProvider } from '../providers/order-search.provider.js';
10
+ import { FakeOrderSearchCapability } from '../capabilities/order-search.capability.js';
11
11
  import { FakeOrderSearchFactory } from '../factories/index.js';
12
12
 
13
13
  describe('Fake Order Search Provider', () => {
14
- let provider: FakeOrderSearchProvider;
14
+ let provider: FakeOrderSearchCapability;
15
15
  let reqCtx: RequestContext;
16
16
 
17
17
  beforeEach(() => {
18
18
  reqCtx = createInitialRequestContext();
19
- provider = new FakeOrderSearchProvider(
19
+ provider = new FakeOrderSearchCapability(
20
20
  getFakerTestConfiguration(),
21
21
  new NoOpCache(),
22
22
  reqCtx,
@@ -7,16 +7,16 @@ import {
7
7
  } from '@reactionary/core';
8
8
  import { getFakerTestConfiguration } from './test-utils.js';
9
9
  import { describe, expect, it, beforeAll, beforeEach, assert } from 'vitest';
10
- import { FakeOrderProvider } from '../providers/order.provider.js';
10
+ import { FakeOrderCapability } from '../capabilities/order.capability.js';
11
11
  import { FakeOrderFactory } from '../factories/index.js';
12
12
 
13
13
  describe('Fake Order Provider', () => {
14
- let provider: FakeOrderProvider;
14
+ let provider: FakeOrderCapability;
15
15
  let reqCtx: RequestContext;
16
16
 
17
17
  beforeEach(() => {
18
18
  reqCtx = createInitialRequestContext();
19
- provider = new FakeOrderProvider(
19
+ provider = new FakeOrderCapability(
20
20
  getFakerTestConfiguration(),
21
21
  new NoOpCache(),
22
22
  reqCtx,
@@ -6,7 +6,7 @@ import {
6
6
  createInitialRequestContext,
7
7
  } from '@reactionary/core';
8
8
  import { getFakerTestConfiguration } from './test-utils.js';
9
- import { FakePriceProvider } from '../providers/price.provider.js';
9
+ import { FakePriceCapability } from '../capabilities/price.capability.js';
10
10
  import { FakePriceFactory } from '../factories/index.js';
11
11
  import { describe, expect, it, beforeEach, assert } from 'vitest';
12
12
 
@@ -16,12 +16,12 @@ const testData = {
16
16
  };
17
17
 
18
18
  describe('Fake Price Provider', () => {
19
- let provider: FakePriceProvider;
19
+ let provider: FakePriceCapability;
20
20
  let reqCtx: RequestContext;
21
21
 
22
22
  beforeEach(() => {
23
23
  reqCtx = createInitialRequestContext();
24
- provider = new FakePriceProvider(
24
+ provider = new FakePriceCapability(
25
25
  getFakerTestConfiguration(),
26
26
  new NoOpCache(),
27
27
  reqCtx,
@@ -3,17 +3,17 @@ import 'dotenv/config';
3
3
  import type { RequestContext } from '@reactionary/core';
4
4
  import { createInitialRequestContext, MemoryCache, ProductSchema } from '@reactionary/core';
5
5
  import { getFakerTestConfiguration } from './test-utils.js';
6
- import { FakeProductProvider } from '../providers/index.js';
6
+ import { FakeProductCapability } from '../capabilities/index.js';
7
7
  import { FakeProductFactory } from '../factories/index.js';
8
8
  import { describe, expect, it, beforeEach, assert } from 'vitest';
9
9
 
10
10
  describe('Fake Product Provider', () => {
11
- let provider: FakeProductProvider;
11
+ let provider: FakeProductCapability;
12
12
  let reqCtx: RequestContext;
13
13
 
14
14
  beforeEach( () => {
15
15
  reqCtx = createInitialRequestContext();
16
- provider = new FakeProductProvider(
16
+ provider = new FakeProductCapability(
17
17
  getFakerTestConfiguration(),
18
18
  new MemoryCache(),
19
19
  reqCtx,
@@ -3,16 +3,16 @@ import type { RequestContext } from '@reactionary/core';
3
3
  import { NoOpCache, ProfileSchema, createInitialRequestContext } from '@reactionary/core';
4
4
  import { getFakerTestConfiguration } from './test-utils.js';
5
5
  import { describe, expect, it, beforeEach, assert } from 'vitest';
6
- import { FakeProfileProvider } from '../providers/profile.provider.js';
6
+ import { FakeProfileCapability } from '../capabilities/profile.capability.js';
7
7
  import { FakeProfileFactory } from '../factories/index.js';
8
8
 
9
9
  describe('Fake Profile Provider', () => {
10
- let provider: FakeProfileProvider;
10
+ let provider: FakeProfileCapability;
11
11
  let reqCtx: RequestContext;
12
12
 
13
13
  beforeEach(() => {
14
14
  reqCtx = createInitialRequestContext();
15
- provider = new FakeProfileProvider(
15
+ provider = new FakeProfileCapability(
16
16
  getFakerTestConfiguration(),
17
17
  new NoOpCache(),
18
18
  reqCtx,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "extends": "../../tsconfig.base.json",
3
3
  "compilerOptions": {
4
- "module": "NodeNext",
4
+ "module": "nodenext",
5
5
  "moduleResolution": "nodenext",
6
6
  "forceConsistentCasingInFileNames": true,
7
7
  "strict": true,
@@ -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/fake',
9
+ plugins: [nxViteTsPaths(), nxCopyAssetsPlugin(['*.md'])],
10
+ // Uncomment this if you are using workers.
11
+ // worker: {
12
+ // plugins: () => [ nxViteTsPaths() ],
13
+ // },
14
+ test: {
15
+ name: 'fake',
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/fake',
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/fake',
8
+ plugins: [nxViteTsPaths(), nxCopyAssetsPlugin(['*.md'])],
9
+ test: {
10
+ name: 'fake',
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/fake',
18
+ provider: 'v8' as const,
19
+ },
20
+ },
21
+ }));
@@ -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
+ ];
@@ -1,12 +1,14 @@
1
1
  {
2
2
  "name": "@reactionary/google-analytics",
3
3
  "version": "0.0.1",
4
- "main": "index.js",
5
- "types": "src/index.d.ts",
4
+ "type": "module",
5
+ "main": "./index.js",
6
+ "types": "./src/index.d.ts",
6
7
  "dependencies": {
7
8
  "@reactionary/core": "0.0.1",
8
- "zod": "4.1.9"
9
+ "zod": "4.1.9",
10
+ "vitest": "^4.0.9",
11
+ "@nx/vite": "22.4.5"
9
12
  },
10
- "type": "module",
11
- "sideEffects": false
13
+ "sideEffets": false
12
14
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "google-analytics",
3
3
  "$schema": "../../node_modules/nx/schemas/project-schema.json",
4
- "sourceRoot": "providers/google-analytics/src",
4
+ "sourceRoot": "packages/google-analytics/src",
5
5
  "projectType": "library",
6
6
  "release": {
7
7
  "version": {
@@ -16,10 +16,10 @@
16
16
  "executor": "@nx/esbuild:esbuild",
17
17
  "outputs": ["{options.outputPath}"],
18
18
  "options": {
19
- "outputPath": "dist/providers/google-analytics",
20
- "main": "providers/google-analytics/src/index.ts",
21
- "tsConfig": "providers/google-analytics/tsconfig.lib.json",
22
- "assets": ["providers/google-analytics/*.md"],
19
+ "outputPath": "dist/packages/google-analytics",
20
+ "main": "packages/google-analytics/src/index.ts",
21
+ "tsConfig": "packages/google-analytics/tsconfig.lib.json",
22
+ "assets": ["packages/google-analytics/*.md"],
23
23
  "format": ["esm"],
24
24
  "bundle": false
25
25
  }
@@ -1,5 +1,5 @@
1
1
  import {
2
- AnalyticsProvider,
2
+ AnalyticsCapability,
3
3
  type RequestContext,
4
4
  type Cache,
5
5
  type AnalyticsMutationProductSummaryViewEvent,
@@ -10,7 +10,7 @@ import {
10
10
  } from '@reactionary/core';
11
11
  import type { GoogleAnalyticsConfiguration } from '../schema/configuration.schema.js';
12
12
 
13
- export class GoogleAnalyticsAnalyticsProvider extends AnalyticsProvider {
13
+ export class GoogleAnalyticsAnalyticsCapability extends AnalyticsCapability {
14
14
  protected config: GoogleAnalyticsConfiguration;
15
15
 
16
16
  constructor(
@@ -4,10 +4,10 @@ import {
4
4
  type GoogleAnalyticsCapabilities,
5
5
  } from '../schema/capabilities.schema.js';
6
6
  import type { GoogleAnalyticsConfiguration } from '../schema/configuration.schema.js';
7
- import { GoogleAnalyticsAnalyticsProvider } from '../providers/analytics.provider.js';
7
+ import { GoogleAnalyticsAnalyticsCapability } from '../capabilities/analytics.capability.js';
8
8
  import {
9
9
  type GoogleAnalyticsClientFromCapabilities,
10
- resolveProviderOnlyCapability,
10
+ resolveDirectCapability,
11
11
  } from './initialize.types.js';
12
12
 
13
13
  export function withGoogleAnalyticsCapabilities<
@@ -22,9 +22,9 @@ export function withGoogleAnalyticsCapabilities<
22
22
  const caps = GoogleAnalyticsCapabilitiesSchema.parse(capabilities);
23
23
 
24
24
  if (caps.analytics?.enabled) {
25
- client.analytics = resolveProviderOnlyCapability(
25
+ client.analytics = resolveDirectCapability(
26
26
  capabilities.analytics,
27
- (args) => new GoogleAnalyticsAnalyticsProvider(args.cache, args.context, args.config),
27
+ (args) => new GoogleAnalyticsAnalyticsCapability(args.cache, args.context, args.config),
28
28
  {
29
29
  cache,
30
30
  context,
@@ -0,0 +1,47 @@
1
+ import type { ClientFromCapabilities } from '@reactionary/core';
2
+ import type { GoogleAnalyticsCapabilities } from '../schema/capabilities.schema.js';
3
+ import type { GoogleAnalyticsAnalyticsCapability } from '../capabilities/analytics.capability.js';
4
+
5
+ type EnabledCapability<TCapability> =
6
+ TCapability extends { enabled: true } ? true : false;
7
+
8
+ type NormalizeConfiguredCapabilities<T extends GoogleAnalyticsCapabilities> =
9
+ Omit<T, 'analytics'> & {
10
+ analytics?: EnabledCapability<T['analytics']>;
11
+ };
12
+
13
+ type ExtractCapabilityImplementation<TCapability, TDefaultCapability> =
14
+ TCapability extends { enabled: true; capability?: infer TCapabilityFactory }
15
+ ? TCapabilityFactory extends (...args: unknown[]) => infer TResolvedCapability
16
+ ? TResolvedCapability
17
+ : TDefaultCapability
18
+ : TDefaultCapability;
19
+
20
+ type CapabilityOverride<
21
+ TCapability,
22
+ TKey extends string,
23
+ TResolvedCapability,
24
+ > = TCapability extends { enabled: true }
25
+ ? { [K in TKey]: TResolvedCapability }
26
+ : Record<never, never>;
27
+
28
+ type AnalyticsCapabilityFor<T extends GoogleAnalyticsCapabilities> =
29
+ ExtractCapabilityImplementation<T['analytics'], GoogleAnalyticsAnalyticsCapability>;
30
+
31
+ export type GoogleAnalyticsClientFromCapabilities<
32
+ T extends GoogleAnalyticsCapabilities,
33
+ > = Omit<ClientFromCapabilities<NormalizeConfiguredCapabilities<T>>, 'analytics'> &
34
+ CapabilityOverride<T['analytics'], 'analytics', AnalyticsCapabilityFor<T>>;
35
+
36
+ export function resolveDirectCapability<TResolvedCapability, TCapabilityArgs>(
37
+ capability:
38
+ | {
39
+ capability?: (args: TCapabilityArgs) => TResolvedCapability;
40
+ }
41
+ | undefined,
42
+ defaultCapability: (args: TCapabilityArgs) => TResolvedCapability,
43
+ args: TCapabilityArgs,
44
+ ): TResolvedCapability {
45
+ const capabilityFactory = capability?.capability ?? defaultCapability;
46
+ return capabilityFactory(args);
47
+ }
@@ -1,5 +1,5 @@
1
1
  export * from './core/initialize.js';
2
2
  export * from './core/initialize.types.js';
3
- export * from './providers/analytics.provider.js';
3
+ export * from './capabilities/analytics.capability.js';
4
4
  export * from './schema/capabilities.schema.js';
5
5
  export * from './schema/configuration.schema.js';