The React Native CLI Has a New Home

Authors
Kacper Wiszczuk
Software Engineer
@
Callstack
No items found.

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!

Table of contents
Launching or scaling an open-source project?

We help teams bring new open-source projects to life and grow them within the React Native space.

Let’s chat
Link copied to clipboard!
//
Insights

Learn more about

Open Source

Here's everything we published recently on this topic.

Sort
No items found.
//
Open Source

We can help you move
it forward!

At Callstack, we work with companies big and small, pushing React Native everyday.

React Native Development

Hire expert React Native engineers to build, scale, or improve your app — from day one to production.

React Development

Develop high-performance React applications with advanced patterns and scalable architectures.

React Compiler Implementation

Use React Compiler to achieve instant performance benefits in your existing applications.

React Native Trainings

Equip your team with React Native skills through tailored training sessions.