Skip to content

Latest commit

 

History

History
67 lines (50 loc) · 2.99 KB

CONTRIBUTING.md

File metadata and controls

67 lines (50 loc) · 2.99 KB

Contributing

Be it a bug fix, new feature, documentation, or tests—we love pull requests from everyone. Every little bit helps.

Working on your first Pull Request? You can learn how from this free series How to Contribute to an Open Source Project on GitHub.

## Found a Bug?

Look through the GitHub issues for bugs. Anything tagged with "bug" is open to whoever wants to implement it. If you'd like to report a bug, please provide a reproducible test case. If possible, submit a Pull Request with a failing test.

## Making a Pull Request? The following guidelines will make your pull request easier to merge. So please, read on.
  • Ensure that the project stays lightweight and maintainable
  • Respect the coding style of the repository
npm run lint

You can also use .editorconfig to check some basic code style conventions. You can install an editorconfig plugin for your preferred editor so that the relevant settings are automatically setup when you work on this project.

  • Use ES2015 syntax when possible
  • Avoid abbreviated words
  • Write tests if you add code that should be tested
  • Ensure the test suite passes
npm run spec
  • Use Flow types, ensure there are no Flow errors
npm run flow
  • Ensure CI passes successfully
npm test
  • Write a good commit message

Please be patient when your changes aren't merged immediately.

## Hacking

Unfortunately, React Native packager does not support symlinking so you cannot use npm link when hacking on this library. You can learn more about that, here.

The library code is specified as a [local dependency](local dependency) in the example's package.json. In order to hack on the library code, you need to sync it into examples/Aviato/node_modules. To do so, run:

npm run watch

This will automatically watch the modules directory and sync your changes into examples/Aviato/node_modules every time something changes.

## Flat Repository Format This project uses a flat repository structure. All source code is placed directly into `modules` directory. The main reason is that both `history` and `react-router` source repositories follow this convention and hacking on this library means hacking on those two as well. Mirroring the conventions used in those repos should make it easier to connect the pieces together. ## Feedback

Feedback is always welcome. The best way to send feedback is to file an issue. If you are proposing a feature, explain in detail how it would work.

## License All pull requests that get merged will be made available under [the MIT license](https://github.com/jmurzy/react-router-native/blob/master/LICENSE.md), as the rest of the repository.