HomeflowJS
JavaScript/React toolkit for Homeflow themes.
This project uses Yarn to manage dependencies. Run yarn
to install them.
Usage
Please see the HomeflowJS developer documentation for details on usage.
Local Development
To work on this package locally, use yarn link
to link the theme directly to your local copy of homeflowjs (or just specify file:~/projects/homeflowjs
in the theme's package.json
file).
Tests
Run tests:
# Run all tests
yarn test
# run tests in a specific file
yarn test search/search-form/property-search.test.js
HomeflowJS does not have react
or react-dom
as dependencies, only peer dependencies. This is to prevent conflicts with the version of these libraries in the theme, but it means you may see an error message when you run tests locally:
Cannot find module 'react' from 'node_modules/enzyme-adapter-react-16/build/ReactSixteenAdapter.js'
To prevent this error, you can use yarn link
to create a symlink to a copy of the libraries elsewhere on your machine (like in the node_modules/
dirctory of a theme).
When you want to run a theme locally using your local version of homeflowjs, you may need to unlink the packages using e.g. yarn unlink react
(otherwise you may see an error about hooks and multiple copies of react).
$ cd ctesius/app/liquid_templates/my_theme/node_modules/react # wherever the theme is located
$ yarn link
$ cd ~/projects/homeflowjs # wherever homeflowjs is located
$ yarn link react
success Using linked package for "react".
You may need to repeat this for react-dom
.
This is a known issue with peer dependencies, see this comment and containing thread for more info: https://github.com/facebook/react/issues/14257#issuecomment-439967377