I just decoupled Nitro from react-native.
The new package "𝚗𝚒𝚝𝚛𝚘-𝚌𝚘𝚛𝚎" exposes all portable native APIs, JS bindings and TypeScript types.
This makes it easier for other frameworks (like
@LynxJS_org or
@NativeScript) to adopt Nitro - all they need is JSI. Almost all JS Runtimes have JSI implementations: Hermes, V8, JSC, SpiderMonkey, Chakra, etc.
We also now test 𝚗𝚒𝚝𝚛𝚘-𝚌𝚘𝚛𝚎 standalone on Hermes, without react-native.
𝚛𝚎𝚊𝚌𝚝-𝚗𝚊𝚝𝚒𝚟𝚎-𝚗𝚒𝚝𝚛𝚘-𝚖𝚘𝚍𝚞𝚕𝚎𝚜 remains inside the repo and stays one of the official targets.
It contains react-native specific setup (like autolinking and .podspec), and react-native specific features like 𝙷𝚢𝚋𝚛𝚒𝚍𝚅𝚒𝚎𝚠 that was previously inside nitro.
As part of this, 𝚗𝚒𝚝𝚛𝚘𝚐𝚎𝚗 will receive a plugin system soon so we can fully lift out 𝙷𝚢𝚋𝚛𝚒𝚍𝚅𝚒𝚎𝚠 and other RN specific features.
This could set the foundation for third party language targets (like Rust) too.
Nitro V1 is 70% done and will be a breaking change for library authors.