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 Eldoin 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/elodin.git
cd elodin
yarn
Fela is a collection of multiple packages. We use the tool lerna to maintain it. The source code can be found in several subfolders:
- /packages: all core packages
- /generators: all code generators
- /runtimes: all runtime dependencies
- /plugins: all plugins
Additionally one can find all examples in /examples.
In order to run the tests:
Tests:
yarn test
Linting:
yarn lint
Formatting:
yarn format
You can also run all three of them at the same time:
yarn check
Note: If your tests use other elodin packages as depedencies, you might need to run yarn build
. You can run it either from the root which builds every package or just inside a package which only builds a specific one (way faster).
Elodin contains many examples. It can be handy to smoke test your changes as a part of one of them.
We use prettier, an opinionated code formatter. If you're using VSCode we recommend prettier-vscode with the format on save option enabled. 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.