/upgrade-helper

⚛️ A web interface to support React Native developers in upgrading their apps.

Primary LanguageJavaScriptMIT LicenseMIT

Upgrade Helper

A web tool to help you upgrade your React Native app with ease! 🚀

PRs Welcome CircleCI

Open the tool!

Image showing a screenshot of Upgrade Helper with the phrase "You are gonna love this!"

🎩 How it works

The Upgrade Helper tool aims to provide the full set of changes happening between any two versions, based on the previous work done in the rn-diff-purge project:

This repository exposes an untouched React Native app generated with the CLI react-native init RnDiffApp. Each new React Native release causes a new project to be created, removing the old one, and getting a diff between them. This way, the diff is always clean, always in sync with the changes of the init template.

This will help you see what changes you need to do in your code.

Aside from this, the tool provides you a couple of cool extra features:

  • inline comments to help you with more insights about precise files
  • a set of links with further explanations on what the version you are upgrading to
  • a handy "done" button near each file to help you keep track of your process
  • a download button for new binary files
  • the ability to toggle all files by holding the alt key and clicking on expand/collapse
  • ...and we are planning many more features! Check the enhancement tag in the issue section.

💻 Contributing

If you want to help us making this better, you can start by forking the project and follow these steps to testing it out locally:

  1. Clone the project
  2. Run yarn install
  3. Run yarn start
  4. Open http://localhost:3000
  5. Select starting & target versions
  6. Click the Show me how to upgrade button

After which, you can create a branch to to make your changes and then open a PR against this repository following the provided template 🤗

📣 Acknowledgments

This project proudly uses rn-diff-purge, react-diff-view and create-react-app.

📝 License

This project is released under the MIT license (check the LICENSE file for details).