https://github.com/findify/findify-js
Findify monorepo
https://github.com/findify/findify-js
ecommerce findify lerna monorepo react search semantic-release typescript
Last synced: about 1 year ago
JSON representation
Findify monorepo
- Host: GitHub
- URL: https://github.com/findify/findify-js
- Owner: findify
- Created: 2017-09-18T06:17:57.000Z (almost 9 years ago)
- Default Branch: develop
- Last Pushed: 2024-05-02T12:00:04.000Z (about 2 years ago)
- Last Synced: 2024-05-02T23:38:22.192Z (about 2 years ago)
- Topics: ecommerce, findify, lerna, monorepo, react, search, semantic-release, typescript
- Language: TypeScript
- Homepage:
- Size: 12.2 MB
- Stars: 20
- Watchers: 10
- Forks: 6
- Open Issues: 18
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- Code of conduct: code-of-conduct.md
- Codeowners: CODEOWNERS
Awesome Lists containing this project
README
[](https://travis-ci.org/findify/findify-js)
[](https://lernajs.io/)
# Findify monorepo
## Install and use components
[findify-js](https://github.com/findify/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](https://github.com/findify/findify-js/tree/master/packages/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](https://github.com/findify/findify-js/tree/master/packages/bundle) | [All-in-one solution](https://developers.findify.io/docs/manual-injection) |
| [@findify/react-components](https://github.com/findify/findify-js/tree/master/packages/react-components) | [React components for ecommerce apps](https://developers.findify.io/docs/customization-examples) |
| [@findify/react-connect](https://github.com/findify/findify-js/tree/master/packages/react-connect) | [React hooks and hocs connected with agents](https://findify.readme.io/v3/reference#introduction-1) |
| [@findify/analytics](https://github.com/findify/findify-js/tree/master/packages/analytics) | [Feedback API integration](https://developers.findify.io/page/findify-analytics) |
| [@findify/analytics-dom](https://github.com/findify/findify-js/tree/master/packages/analytics-dom) | [DOM bindings for analytics](https://developers.findify.io/page/findify-analytics-dom) |
| [@findify/sdk](https://github.com/findify/findify-js/tree/master/packages/sdk) | [Wrapper of the low-level JSON API](https://findify.readme.io/v3/reference#js-sdk-introduction) |
| [@findify/agent](https://github.com/findify/findify-js/tree/master/packages/agent) | [Search API state handling library](https://developers.findify.io/page/findify-agent) |
| [@findify/cli](https://github.com/findify/findify-js/tree/master/packages/cli) | [Set of node.js utils](https://github.com/findify/findify-js/tree/master/packages/cli) |
## Development
> In our setup [lerna](https://lernajs.io/) uses [yarn](https://yarnpkg.com/lang/en/) to control package dependencies and workspaces, it means you need to have yarn installed
```bash
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)