@findify/ui-components

Findify react UI components


Keywords
ecommerce, findify, lerna, monorepo, react, search, semantic-release, typescript
License
MIT
Install
npm install @findify/ui-components@1.1.0

Documentation

Build Status lerna

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)