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 pnpm in your environment. To get started with the repo:
git clone [email protected]:robinweser/fela.git
cd fela
pnpm i
Fela is a collection of multiple packages. We use the tool pnpm's workspace feature with turbo to maintain it. All source code can be found in the folder /packages.
In order to run the tests:
Tests:
pnpm run test
Linting:
pnpm run lint
Formatting:
pnpm run format
You can also run all four of them at the same time:
pnpm run check
Note: If your tests use other fela packages as depedencies, you might need to run
yarn build
(it's also part of the install step).
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 (
pnpm run 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.