Before opening an issue, please search the issue tracker to make sure your issue hasn't already been reported. Please note that your issue may be closed if it doesn't include the information requested in the issue template.
Visit the Issue tracker to find a list of open issues that need attention.
Fork, then clone the repo:
git clone https://github.com/your-username/react-native-web.git
Install dependencies (requires Node.js >= 16.0):
npm install
Build a specific package:
npm run build -w <package-name>
For example, this will build react-native-web
:
npm run build -w react-native-web
Build all packages that can be built:
npm run build
Develop a specific package:
npm run dev -w <package-name>
For example, this command will watch and rebuild the react-native-web
package:
npm run dev -w react-native-web
And this command will watch and rebuild the react-native-web-examples
package:
npm run dev -w react-native-web-examples
Run the monorepo linter:
npm run lint
Run the monorepo type checker:
npm run flow
Run the monorepo unit tests:
npm run unit
Run all the automated tests:
npm run test
Please open an issue with a proposal for a new feature or refactoring before starting on the work. We don't want you to waste your efforts on a pull request that we won't want to accept.
Before submitting a pull request, please make sure the following is done:
- Fork the repository and create your branch from
master
. - If you've added code that should be tested, add tests!
- If you've changed APIs, update the documentation.
- Ensure the tests pass (
npm run test
).
You should see a pre-commit hook run before each commit.
You can now submit a pull request, referencing any issues it addresses.
Please try to keep your pull request focused in scope and avoid including unrelated commits.
After you have submitted your pull request, it's recommended that you perform the first code review. We'll try to get back to you as soon as possible and may suggest changes.
Thank you for contributing!
To commit, publish, and push a final version:
npm run release -- <version> --otp=<otp-code>
Release candidates or versions that you'd like to publish to npm, but do not want to produce a commit and push it to GitHub:
npm run release -- <version> --skip-git