Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(#162): fabric support [reintroduce] #223

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

mateusz1913
Copy link
Contributor

Overview

The PR with fabric support for RN >= 0.71 was reverted a few days ago, because of lint issues on pipeline. This PR reintroduces fabric changes with lint issues fixed
cc: @brentvatne

Test Plan

  1. Install dependencies with yarn in the root directory
  2. Run lint, flow and typescript to check code quality
  • yarn test:lint
  • Run yarn test:flow
  • Run yarn test:typescript
  1. Run yarn in the example directory
  2. Test the lib on Android old arch
  • Set the newArchEnabled=false in example/android/gradle.properties
  • Run the app on Android
  1. Test the lib on Android new arch
  • Run the ./gradlew clean in example/android
  • Set the newArchEnabled=true in example/android/gradle.properties
  • Run the app on Android
  1. Test the lib on iOS old arch
  • Install Pods (npx pod-install)
  • Run the app on iOS
  1. Test the lib on iOS new arch
  • Clean the build in XCode
  • Install Pods with RCT_NEW_ARCH_ENABLED flag (RCT_NEW_ARCH_ENABLED=1 npx pod-install)
  • Run the app on iOS

- add JS Flow spec
- make android viewmanager to conform to codegen-ed specs
- make android viewmanager extend ReactViewManager instead of ViewGroupManager
- add codegen-ed spec to make viewmanager work also in old arch
- use install_module_dependencies in the podspec to install deps on both new and old architectures
- add subclass of RCTViewComponentView
- use fabric implementation when RCT_NEW_ARCH_ENABLED flag is true
- set RN peerDependency to be version >= 0.71
@brentvatne
Copy link
Contributor

nice! note that this is not strictly required to support fabric, this library works out of the box with the interop layer.

@mateusz1913
Copy link
Contributor Author

Hey @brentvatne, we have a use case to use MaskedView in 0.73 and if I understand correctly, the MaskedView works with interop layer from 0.74

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants