The Jest integration I sneak-peeked earlier is also letting me roll out code coverage support. The coverage reporter is already in place. I just had to instrument the code and send the coverage data from the device back to the CLI. Surprisingly, it was really easy to implement!
Posts by Szymon Chmal
Expect it to be included in the next Harness release! With it, I can leverage Jest's infrastructure, such as built-in reporters, and potentially support running the same test suite in parallel across multiple devices.
Huge thanks to @thymikee.bsky.social for pitching the idea at React Conf!
Harness isn't a simple tool - it's a bunch of components working together to give the best DX for testing JS code with native modules. Maintaining all that as a solo dev isn't easy, so I tried offloading some work by using Jest's CLI to run Harness… and it worked!
We're hosting a livestream today, with a special focus on React Native Harness! Expect insider insights on how it all works and sneak peeks at what's coming next.
🗓️ Thu 16, 5 PM CEST
See you there!
Designed for library authors and teams building native integrations.
It is cross-platform, works on CI/CD and made to test real native behavior with a familiar workflow.
Harness runs wherever Metro runs, starting with iOS and Android. It's built to be portable, making support for new platforms straightforward.
As proof, we're also bringing support for VegaOS.
Harness runs tests in a real React Native runtime.
Unlike Jest, it doesn't rely on mocks and unlike Detox or Maestro, it focuses on testing native code directly, not automating UI flows.
🎉 Introducing React Native Harness - a lightweight framework for testing native modules directly on device or emulator.
Write tests in a Jest-like syntax, run them in a real React Native runtime, and verify native behavior without mocks.
Are you using the Performance API in React Native? If yes, I'm pretty sure you've wished a bunch of times that you could check out measures like you do in Chrome DevTools. What if I told you Rozenite is about to bring you that same vibe? Hot or not?
Yesterday, the community requested server-side event support for Rozenite's Network Activity. I said I'd look into it… but somehow ended up pushing a branch with the feature almost done. Whoops! 🙈
The Rozenite plugin family is growing, so I created a plugin directory!
It includes both official plugins and community ones like rozenite-preview.
Best part? You can add your own by opening a quick pull request on the Rozenite repo.
I scored a little discount just for you! Use promo code Chmal15 at checkout to get 15% off. Pretty sweet, right?
Just found out I'll be speaking at React Universe Conf!
Rozenite's been out for a while, but in this talk, I'll dive deeper into how it works under the hood - how I hooked into DevTools without forking anything, and how you can build your own plugins too.
Hope to see you there!
New week, new feature! Struggling to understand what's going on in your WebSocket connection? Fear not! Thanks to Rozenite, you'll soon be able to inspect WebSocket traffic and review each message one by one - whether it's text, binary, or JSON. Coming soon 🔥
What are you waiting for?
Install Rozenite, fall in love, and drop your own star ⭐
github.com/callstackinc...
Bronze trophy unlocked: 100 stars collected!
It's not platinum (yet), but every legend starts somewhere 😉
Next stop: WebSocket interception - just like Chrome DevTools! You'll be able to see every message going in and out of the device.
What do you think - super useful or not really? 🤔
Rozenite's Network Activity plugin got a major overhaul yesterday! The new UI and improved functionality make it much more convenient to use. You can now inspect request bodies and responses with an interactive JSON viewer 🚀
Rozenite is gaining traction - we've just crossed 50 stars on GitHub, and the number is steadily rising! It was included in the latest edition of the This Week in React newsletter, so if you slept through the release, it's high time you gave it a try and left a star while you're at it 🌟
Redux DevTools plugin for Rozenite is nearly complete. It offers basic debugging functionality, though without time travel or action dispatch capabilities. There's an upstream issue with the package that needs to be addressed first.
github.com/callstackinc...
You can learn more about the tool and how to use it today in the article below:
www.callstack.com/blog/introdu...
Rozenite - a plugin framework for React Native DevTools - is now live in alpha! 🎉
What started as a hacky PoC is now something you can use in real projects.
Still lots to come: better network monitor, Redux DevTools, Re.Pack support & more 💪
Big news: the React Native DevTools framework is dropping by the end of this month 🔥
The name? It's locked in and I'm so excited about it. It kicks off a whole family of tools designed to push React Native even further… but I'm not allowed to say anything else at this point 🙊
Just found out I'll be speaking at React Advanced!
I'll be sharing my journey hacking on React Native Devtools + building a plugin framework from scratch.
If you're curious how it all came together, tune in!
The live stream is free - just register here: gitnation.com/badges/react...
Built a file-based router for React Native - just for fun.
It kinda works 😅
Learned a lot about Metro internals and found some cool low-level APIs along the way.
Gave a talk about it! Check it out 👇
www.youtube.com/watch?v=oQjF...
Might write a post (or a survival guide) about this RSC journey - from "how hard can it be?" to "send help."
Would you be brave enough to read it? 😅
Short RSC update:
✅ 'use client' and 'use server' now become proxies.
✅ Server rendering is... holding together with duct tape.
Now to bundle client components and pray React Native accepts them 🙃