Contributing to Jovo
Thank you for choosing to fix bugs or add new features to the Jovo Framework! This doc will walk you through the process.
- Prepare your Workspace
- Make your Changes
- Test your Changes
- Share your Changes
- Create a Pull-Request on GitHub
You'll need to make your changes in your own fork of the jovo-framework repo. If you're not familiar with forking in GitHub, this article will help you get started: https://help.github.com/en/articles/fork-a-repo
The packages that make up Jovo are all contained in a single monorepo. Jovo uses Lerna to manage these packages.
Initialize your workspace (run this in the top level of your jovo-framework clone):
If you have a Jovo app that depends on the feature or fix you are implementing, configure your Jovo app to use your local version of the jovo-framework. If that's not the case, you can skip this section and just test your change with unit tests.
Create links for the framework This will create symlinks to jovo-framework and jovo-core in your system's global npm modules.
Note that the repo is called jovo-framework, but
npm linkmust be run in jovo-framework/jovo-framework
Now create links in your project:
If you are modifying other packages in the Jovo Framework, e.g. plugins, you should repeat this process for those packages.
Note that if you run
npm installin your app, it will install the actual packages, overwriting the symlinks.
Create a new branch for your fix or feature:
Add and edit files.
Run all of these commands at the top level of your jovo-framework clone.
Add and commit code:
See this article from GitHub: https://help.github.com/en/articles/creating-a-pull-request-from-a-fork