-
Notifications
You must be signed in to change notification settings - Fork 25k
Description
Description
These are spillover tasks from the W3C props & styles projects. The aim is to move user-space modules into their own packages within the monorepo. React Native for Web must currently copy-paste-edit these modules. Publishing these modules as npm packages will allow React Native and React Native for Web to depend on the same implementations, providing users of cross-platform React with a more reliable foundation (and making it easier for RNWeb to be maintained.)
Once again we're looking for the community's help! If you're interested in helping to reorganize the RN monorepo, you could contribute by helping to move these modules into packages with @cortinico's oversight. If you're interested in improving consistency between RN and RNWeb, you could contribute by helping to prepare those new packages for npm publication and consumption by RNWeb. We're also open to suggestions and feedback on how to proceed.
Animated
- Convert all files in the
Animateddirectory to use ESModule imports/exports. refactor: Convert Animated directory to use ESModule imports/exports #34539 - Prevent crashes caused by use of TurboModules outside of native environments.
- Patch
AnimatedStyleforPlatform.OS === 'web'. React Native for Web has a patch for this that can be upstreamed. fix: Patch AnimatedStyle to avoid discarding the initial style info #35198 - Move
Animatedto a separate package called@react-native/animatedwithinpackages/animated. - Use the package to create the
Animatedcomponents within React Native. - Publish the package to npm with Flow types compiled out / to comments.
- Adopt
@react-native/animatedin React Native for Web.
VirtualizedList
- Move
VirtualizedListandVirtualizedSectionListto a separate package called@react-native/virtualized-listswithinpackages/virtualized-lists. feat: Move virtualized lists to @react-native/virtualized-lists #35406 - Publish the package to npm with Flow types compiled out / to comments.
- Adopt
@react-native/virtualized-listsin React Native for Web.
FlatList
- Move
FlatListandSectionListto a separate package called@react-native/flat-lists(name tbd?) withinpackages/flat-lists. Feat: MoveFlatLists to@react-native/flat-listspackage #35423 - Publish the package to npm with Flow types compiled out / to comments.
- Adopt
@react-native/flat-listsin React Native for Web.