Want to get involved? Awesome!
Please read the following guide on how to contribute, create issues and send pull requests.
If you have a feature request please create an issue. Also if you're even improving Fela by any kind please don't be shy and send a pull request to let everyone benefit.
We assume that you got node and yarn in your environment. To get started with the repo:
git clone [email protected]:robinweser/fela.git
cd fela
yarn
Fela is a collection of multiple packages. We use the tool lerna to maintain it. All source code can be found in the folder /packages.
In order to run the tests:
Tests:
yarn test
Linting:
yarn lint
Flow:
yarn flow
Formatting:
yarn format
You can also run all four of them at the same time:
yarn check
Note: If your tests use other fela packages as depedencies, you might need to run yarn build
(it's a part of yarn setup
).
Fela contains many examples. It can be handy to smoke test your changes as a part of example-react.
We use prettier, an opinionated code formatter. If you're using Atom we recommend prettier-atom with the format on save. If you're using Sublime try SublimeJSPrettier. For other integrations, please check the prettier's homepage.
- Fork the repo and create your feature/bug branch from
master
. - If you've added code that should be tested, add tests!
- If you've changed APIs, update the documentation.
- Ensure that all tests pass (
yarn check
).
Before creating an issue please make sure it has not aleady been created/solved before. Also please search the docs for possible explanations. Browse both open and closed issues. If you feel something is unclear you might also add it to the docs or FAQ's directly.
If you found a new bug or got a feature request feel free to file a new issue. For both we got predefined templates which you should fill out as detailed as possible.
If you are creating a pull request, try to use commit messages that are self-explanatory. Be sure to meet all guide-lines from above. If you're pushing a Work in Progress, please flag it and optionally add a description if something needs to be discussed.