Skip to main content
  1. All Posts/

findify-js

eCommerce TypeScript


Findify monorepo

Install and use components

findify-js is a mono-repo,
which means it is built out of multiple packages.
To start using them in your projects you have to install them one by one.
For example, getting the SDK will require you to install @findify/sdk:

$ npm install @findify/sdk

Please note! Latest versions of the pages are shipped as esnext-modules that may require additional setup in your bundle or test environment! This change is made to reduce the size of the packages in your bundle and not overload it by (probably) not required polyfills.

  • Babel setup: use babel.config.* instead of .babelrc it will make your babel compile node modules
  • Jest setup: use --experimental-modules
  • Legacy Webpack: do not exclude @findify packages in loader exclude: /node_modules/(?!(@findify/.*)/).*/

A list of all packages

Package
Description

@findify/bundle
All-in-one solution

@findify/react-components
React components for ecommerce apps

@findify/react-connect
React hooks and hocs connected with agents

@findify/analytics
Feedback API integration

@findify/analytics-dom
DOM bindings for analytics

@findify/sdk
Wrapper of the low-level JSON API

@findify/agent
Search API state handling library

@findify/cli
Set of node.js utils

Development

In our setup lerna uses yarn to control package dependencies and workspaces, it means you need to have yarn installed

npm install -g yarn # Install Yarn
yarn # Install dependencies
yarn bootstrap # Build packages
cd packages/bundle && yarn start # Run bundle dev server

Afterwards you will be able to develop every single package locally, the dependencies will be pulled from packages/* folder.
Note: Once before yarn start in @findify/bundle you need to build dll by yarn build:dll in packages/bundle folder.
Note: react-components are always “hot”, so you don’t need to rebuild it after change.

License (MIT)