Loadable Components is a small project, it is widely used but has not a lot of contributors. We're still working out the kinks to make contributing to this project as easy and transparent as possible, but we're not quite there yet. Hopefully this document makes the process for contributing clear and answers some questions that you may have.
We expect project participants to adhere to our Code of Conduct. Please read the full text so that you can understand what actions will and will not be tolerated.
All work on Loadable Components happens directly on GitHub. Both core team members and external contributors send pull requests which go through the same review process.
Before submitting a pull request, please make sure the following is done…
-
Fork the repo and create your branch from
master
. A guide on how to fork a repository: https://help.github.com/articles/fork-a-repo/Open terminal (e.g. Terminal, iTerm, Git Bash or Git Shell) and type:
$ git clone https://github.com/<your_username>/loadable-components $ cd loadable-components $ git checkout -b my_branch
Note: Replace
<your_username>
with your GitHub username -
Loadable Components uses Yarn for running development scripts. If you haven't already done so, please install yarn.
-
Run
yarn install
. On Windows: To install Yarn on Windows you may need to download either node.js or Chocolateyyarn install
To check your version of Yarn and ensure it's installed you can type:
yarn --version
-
Run
yarn build
to bootstrap packages.yarn build
-
If you've added code that should be tested, add tests. You can use watch mode that continuously transforms changed files to make your life easier.
# in the background yarn run dev
-
If you've changed APIs, update the documentation.
-
Ensure the linting is good via
yarn lint
.$ yarn lint
-
Ensure the test suite passes via
yarn test
.$ yarn test:prepare # build example and generate fixtures before running tests $ yarn test
You can use yarn run release-to-git
to create releases as tags on github. This requires that:
- Your git remote (where you want to publish the tags) is
origin
- Your commit messages follow the conventional commits specification. For example:
feat: add timeout option
.
We will be using GitHub Issues for our public bugs. We will keep a close eye on this and try to make it clear when we have an internal fix in progress. Before filing a new issue, try to make sure your problem doesn't already exist.
The best way to get your bug fixed is to provide a reduced test case. Please provide a public repository with a runnable example.
Please follow the .prettierrc
in the project.
By contributing to Loadable Components, you agree that your contributions will be licensed under its MIT license.