The React Native CLI Has a New Home

No items found.

In short

In this article we announce that CLI has been extracted from the core repository. The changes include adopting semantic versioning, significantly reducing command execution time, improving logging, resolving long-standing issues, and deprecating certain commands. The CLI is set to play a crucial role in React Native's future, with even more exciting updates on the horizon.

CLI changes

If you keep your eyes close on what’s going on in React Native (and there’s so much going on!), you may have noticed that around two months ago the CLI (command line interface) has been extracted from the core repository into the separate GitHub module. The change should be completely transparent to the end users of React Native. You’ll likely never have to use this module manually — running yarn react-native will proxy directly to this module.

Extracting CLI out of core repo is a part of “Lean Core” effort and the reason we did it is simple: to move fast. As a part of this effort, we believe that CLI should be treated as a first-class citizen in the community and have a dedicated place.

Quickly after Mike Grabowski created a new community module out of it, a team of first contributors formed, including Ferran Negre, Michał Pierzchała and Kacper Wiszczuk. We would like to thank all of our contributors for submitting significant PRs and helping us make the release on time! ❤️

In the first release, we focused on quick-wins: fixing small, but bothersome bugs. At the same time, we are continuously working hard to improve the overall developer experienceworking with native modules and to introduce an interface for bundlers.

We are extremely thrilled to release the results of our work under React Native 0.59, along with such important features like Hooks, Android 64-bit support and new JSC engine.

Highlights

We’ve accumulated quite a bunch of changes since the extraction. Here are the ones that stand out:

  • The project now follows semver;
  • Time to run a command dropped significantly — from 2.5s to 0.2s;
  • Logging is now prettier and unified (it’s an ongoing effort to improve it further though);
  • Fixed a dreaded CFBundleIdentifier issue (open for 2 years);
  • Fixed link command resulting in duplicate entries on Android;
  • Running react-native link without package name is now deprecated and will be removed in v2.0;
  • react-native dependencies command was moved to metro and is now deprecated;

You can see the full changelog here.

We’re thankful to Expo for helping us out in this effort — we appreciate the high quality of their tooling and cooperate together to apply the learnings to all React Native projects.

The future of React Native seems bright like never before and CLI is no exception to that. We hope you’ll join us on this journey.

Update:

New version of the React Native CLI is out with a lot of new features and fixes! Read more about what's new in React Native CLI 3.1.0 and 4.0.0 version!

As you can see, if you’re looking for a tech partner who not only uses technology, but actually creates it, you’ve come to the right place. We offer a variety of React Native development services to help you build the best digital product out there – check them out and give us a shout!

FAQ

No items found.
React Galaxy City
Get our newsletter

By subscribing to the newsletter, you give us consent to use your email address to deliver curated content. We will process your email address until you unsubscribe or otherwise object to the processing of your personal data for marketing purposes. You can unsubscribe or exercise other privacy rights at any time. For details, visit our Privacy Policy.

Callstack astronaut
Download our ebook

I agree to receive electronic communications By checking any of the boxes, you give us consent to use your email address for our direct marketing purposes, including the latest tech & biz updates. We will process your email address and names (if you have entered them into the above form) until you withdraw your consent to the processing of your names, or unsubscribe, or otherwise object to the processing of your personal data for marketing purposes. You can unsubscribe or exercise other privacy rights at any time. For details, visit our Privacy Policy.

By pressing the “Download” button, you give us consent to use your email address to send you a copy of the Ultimate Guide to React Native Optimization.