What happened to @react-native-community packages?
When React Native was first released, it included extra modules that were helpful for mobile development like WebView
, NetInfo
, and AsyncStorage
. Later in 2018, the RN team made the decision to deprecate those internal modules and hand them off to the community to maintain.
This spawned the @react-native-community
organization on GitHub and a number of community-maintained packages like react-native-webview
and react-native-netinfo
. If you were working in React Native in the late 20-teens, you probably remember adding these dependencies and switching out imports.
In most cases, the community proved capable to maintain current packages and continue development. However, some packages were abandoned as requirements changes or maintainers moved on. Alternative options popped up and gained the support of the community, driven by individual developers or those at different organizations like Expo, Wix, Callstack, or Software Mansion.
Developers who were new to React Native might defer to @react-native-community
packages, not because they were better than those alternatives but because they appeared to be “the approved solution” from the community. That wasn’t ideal for developers, which might end up with unmaintained projects, nor for the greater React Native community that was driving things forward.
At the end of 2019, the @react-native-community
decided to move modules out of the organization and into individual project organizations. In the words of one maintainer:
These modules aren’t being maintained by fewer people, and aren’t any less supported. But now perception can match the reality.
As a result, scoped packages like @react-native-community/async-storage
moved to react-native-async-storage/async-storage
. But besides the name, little to nothing else changed about how they were maintained.
By offloading packages, @react-native-community
is free to focus on higher-level goals for the community, like tools to discover and maintain high-quality React Native packages. Two projects still owned by the community organization are upgrade-helper
and React Native Directory, both exemplifying its new focus.
So while you won’t be adding @react-native-community
packages to your projects going forward, that is ultimately for the best. Instead, use resources like React Native Directory or awesome-react-native
to find the best solution for you and your application.
Further reading
- Learn Core (2018)
- What packages belong in react-native-community (2019)
- Organization repository policy