open-index/open-npm huggingface dataset:
npm package: @reactionary/algolia
Description: This library was generated with [Nx](https://nx.dev).
Latest version: 0.6.9

# algolia

This library was generated with [Nx](https://nx.dev).

## Building

Run `nx build algolia` to build the library.

## Running unit tests

Run `nx test algolia` to execute the unit tests via [Vitest](https://vitest.dev/).
npm package: @reactionary/commercetools
Description: This library was generated with [Nx](https://nx.dev).
Latest version: 0.6.9

# commercetools

This library was generated with [Nx](https://nx.dev).

## Building

Run `nx build commercetools` to build the library.

## Running unit tests

Run `nx test commercetools` to execute the unit tests via [Vitest](https://vitest.dev/).
npm package: @reactionary/examples-node
Description: This library was generated with [Nx](https://nx.dev).
Latest version: 0.6.3

# examples-node

This library was generated with [Nx](https://nx.dev).

## Building

Run `nx build examples-node` to build the library.

## Running unit tests

Run `nx test examples-node` to execute the unit tests via [Jest](https://jestjs.io).
npm package: @reactionary/google-analytics
Description: This library was generated with [Nx](https://nx.dev).
Latest version: 0.6.9

# google-analytics

This library was generated with [Nx](https://nx.dev).

## Building

Run `nx build google-analytics` to build the library.

## Running unit tests

Run `nx test google-analytics` to execute the unit tests via [Vitest](https://vitest.dev/).
npm package: @reactionary/medusa
Description: This library was generated with [Nx](https://nx.dev).
Latest version: 0.6.9

# medusa

This library was generated with [Nx](https://nx.dev).

## Building

Run `nx build medusa` to build the library.

## Running unit tests

Run `nx test medusa` to execute the unit tests via [Vitest](https://vitest.dev/).
npm package: @reactionary/meilisearch
Description: This library was generated with [Nx](https://nx.dev).
Latest version: 0.6.9

# meilisearch

This library was generated with [Nx](https://nx.dev).

## Building

Run `nx build meilisearch` to build the library.

## Running unit tests

Run `nx test meilisearch` to execute the unit tests via [Vitest](https://vitest.dev/).
npm package: @reactionary/pexamples-node
Description: This library was generated with [Nx](https://nx.dev).
Latest version: 0.1.4

# examples-node

This library was generated with [Nx](https://nx.dev).

## Building

Run `nx build examples-node` to build the library.

## Running unit tests

Run `nx test examples-node` to execute the unit tests via [Jest](https://jestjs.io).
npm package: @reactionary/provider-algolia
Description: ## Supports
Latest version: 0.6.2

# Algolia provider for Reactionary

## Supports


| Feature | Support | Notes |
| -----------   | ----------- | --------- |
| product       | Full      |          |
| productSearch | Full     |  |
| identity | N/A     | |
| cart |  N/A     |  |
| checkout | N/A     |  |
| order | N/A    | Possibly later |
| inventory | N/A     |  |
| price | N/A  |  |
| category | N/A     | Possibly later |
| store | N/A    | Possibly later |


## Notes
The expected Algolia schema must contain at least these fields

```json
{
  objectID: string;
  slug:string;
  name: string;
  variants: [
    { 
      variantID: string; 
      image: string;
    }
  ]
}
```

You can have more, for use with facets, and additional searchable fields, but these must be in the index, and constitutes what we are expecting to get back.

The `objectID` corrosponds to your productIdentifier, and `variantID` should match your SKU

## Analytics

The Algolia analytics provider maps the following tracked event types to data tracked in Algolia:

- AnalyticsMutationProductSummaryViewEvent => ViewedObjectIDs
- AnalyticsMutationProductSummaryClickEvent => ClickedObjectIDsAfterSearch / ClickedObjectIDs
- AnalyticsMutationProductAddToCartEvent => AddedToCartObjectIDsAfterSearch / AddedToCartObjectIDs
- AnalyticsMutationPurchaseEvent => PurchasedObjectIDs

The `AfterSearch` variants are (with the exception of purchase) preferred by the provider in the cases where Algolia is the source of the events. For search or recommendation this would typically be the case, but not necesarily for users arriving on a PDP as a direct target from a search or a link.

Note that we do not map `PurchasedObjectIDsAfterSearch` as it would require us to persist the search query ID that lead to the add-to-cart occuring on the cart items. This currently seems like an excess burden to impose on the cart interface. 

The `ConvertedObjectIDs` and `ConvertedObjectIDsAfterSearch` are not mapped as they seem superfluous by all accounts in a product-purchase based flow. They could likely be used for other types of conversions in a more general setup, such as a customer finishing reading an article.

Finally the events that are related to filtering are not mapped, as they are by all accounts deprecated and no longer influence any of the recommendation or personalization features.
npm package: @reactionary/provider-commercetools
Description: ## Supports
Latest version: 0.6.2

# Commmercetools provider for Reactionary

## Supports


| Feature | Support | Notes |
| -----------   | ----------- | --------- |
| product       | Full      |          |
| productSearch | Full     |  |
| identity | Full     | |
| cart | Full     |  |
| checkout | Full     |  |
| order | Full     |  |
| inventory | Full     |  |
| price | Full   |  |
| category | Full     |  |
| store | Full    |  |


## Notes











## Building

Run `nx build provider-commercetools` to build the library.

## Running unit tests

Run `nx test provider-commercetools` to execute the unit tests via [Jest](https://jestjs.io).


## Assumptions for backend config

- You will have 2 different channels for prices, one called `Offer Price` and one called `List Price`
- ProductVariants will all have unique SKU values.
- Your Supply Channels double as Store Locations



## TODO List

### Core
- [ ] Figure out if we are actually running as anonymous user towards CT. It feels weird right now.

### Price
- [ ] PriceProvider should be able to use both embedded and standalone prices? Possible by querying through product-projection maybe?
- [ ] If not, using product-projection, the logic in https://docs.commercetools.com/api/pricing-and-discounts-overview#price-selection should be replicated
- [ ] add list price by convention. Like key: LP-<sku> or something.


### Inventory
- [ ] Be traced and cached
npm package: @reactionary/provider-fake
Description: ## Supports
Latest version: 0.6.2

# Fake provider for Reactionary

## Supports



| Feature | Support | Notes |
| -----------   | ----------- | --------- |
| product       | Full      |          |
| productSearch | Full     |  |
| identity | Full     | |
| cart | Full     |  |
| checkout | Planned     |  |
| order | Planned     |  |
| inventory | Full     |  |
| price | Full   |  |
| category | Full     |  |
| store | Full    |  |


## Notes

Not as many different product names as we would have liked. Maybe we need to create our own faker test data.
npm package: @reactionary/provider-medusa
Description: ## Supports
Latest version: 0.6.2

# Medusa provider for Reactionary

## Supports

| Feature | Support | Notes |
| -----------   | ----------- | --------- |
| product       | Full  (*)      | Mandatory customization to support lookup by sku          |
| productSearch | Partial     | No facets in medusa search |
| identity | Planned     | |
| cart | Full     |  |
| checkout | In progress     |  |
| order | Planned     |  |
| inventory | Planned     |  |
| price | Planned   |  |
| category | Planned     |  |
| store | Planned    |  |


## Notes
Medusa is expected to be version 2.11+


## Workarounds in place
Medusa needs an Admin key, to be able to do the following things
- Resolve product by SKU.

Since medusa can't search and filter on `sku`, you have to import the value for `sku` into `barcode`, `ean` or `upc`. Either will do.
The assumption is, that your SKU is either an semi-internal erp dictated partnumber, OR the products `gtin`.
npm package: @reactionary/provider-meilisearch
Description: ## Supports
Latest version: 0.6.2

# Meilisearch provider for Reactionary

## Supports


| Feature | Support | Notes |
| -----------   | ----------- | --------- |
| product       | Full      |          |
| productSearch | Full     |  |
| identity | N/A     | |
| cart |  N/A     |  |
| checkout | N/A     |  |
| order | N/A    | Possibly later |
| inventory | N/A     |  |
| price | N/A  |  |
| category | N/A     | Possibly later |
| store | N/A    | Possibly later |


## Notes
The expected Meilisearch schema must contain at least these fields

```json
{
  id: string;
  slug:string;
  name: string;
  variants: [
    { 
      sku: string; 
      image: string;
    }
  ]
}
```

You can have more, for use with facets, and additional searchable fields, but these must be in the index, and constitutes what we are expecting to get back.

The `id` corresponds to your productIdentifier, and `sku` should match your SKU


## Building

Run `nx build provider-meilisearch` to build the library.

## Running unit tests

Run `nx test provider-meilisearch` to execute the unit tests via [Jest](https://jestjs.io).