Welcome to the contribution guide! We welcome all contributions. A list of issues is present here. If you're interested in picking up something, feel free to start a discussion 😺
The reactivesearch monorepo contains the code for web, vue and native libraries. Both uses a common core architecture. Project specific readme files are available inside each package.
Currently the initial setup is a bit manual which we're planning to improve. We also recommend to have SSH setup for GitHub.
-
Fork the repo in order to send PRs
-
Clone the repo from your profile, use SSH if possible
-
cdinto the project directory -
Checkout the
devbranch (should be default) -
Fetch the submodules. In case you don't have
sshsetup for github, change the URLs in.gitmodulesto usehttpsinstead
git submodule init
git submodule sync
git submodule update --remote-
The submodules will be fetched into
/packages. Defaults todevin/packages/playgroundandmasterin/packages/reactivecore&/packages/vue-playground. -
You can then install the dependencies, we recommend
yarn. Run this from the project root:
yarn- You can run the following command from
reactivesearchroot which will start the babel watchers inside/reactivecoreand/web. This will let you make changes to these projects on the fly and the files will be transpiled and updated instantly:
yarn dev:webAlternatively the manual approach would be to open the sub-projects for /web and /reactivecore and start the watchers inside their respective directories.
-
You can try the examples for any of the
webcomponents inside/packages/web/exampleswhich will also pick the updated code as and when you make changes to the/packages/web/srcfiles. -
Another way to try out the components is by checking into
/packages/playgroundand running the storybook which also updates itself from the components inside/packages/web/src.
yarn storybookNote: If you see any errors about missing dependencies, please try running yarn inside the sub-directory you're at.
- You can run the following command from
reactivesearchroot which will start the babel watchers inside/reactivecoreand/vue. This will let you make changes to these projects on the fly and the files will be transpiled and updated instantly:
yarn dev:vueAlternatively the manual approach would be to open the sub-projects for /vue and /reactivecore and start the watchers inside their respective directories.
-
You can try the examples for any of the
vuecomponents inside/packages/vue/exampleswhich will also pick the updated code as and when you make changes to the/packages/vue/srcfiles. -
Another way to try out the components is by checking into
/packages/vue-playgroundand running the storybook which also updates itself from the components inside/packages/vue/src.
yarn storybookNote: We have used jsx for building vue components using babel-plugin-transform-vue-jsx which compiles the .jsx files to .vue.
-
cdinto the/packages/nativedirectory and install dependencies if not done already by runningyarn. -
You can try the example app which would also get updated from the native components source from
/packages/native/src. Run the example in Expo from/packages/native/exampleusing:
yarn start- You can also try the native storybook from
/packages/native/exampleby:
yarn storybookand in a new terminal:
yarn start-storybook- You may browse the stories using the Expo app on your phone or on the browser at http://localhost:7007
Troubleshooting: You might need to add a flag --reset-cache to the above commands if you're seeing stale builds.
- The individual components examples for native are present in
/packages/native/examplesin order to test the components.
The simplest way to debug the app is using React Native Debugger.
The website source code is available in /site which also includes the demo apps in /site/demos. Each demo app can be used as a standalone app and would also update from the /packages/web/src files as long as the watcher is running at the project root.
If you run into any problems please feel free to reach out to us 🙂