Skip to content

Autolinking transitive native dependencies. (Component Library Monorepo) #923

@cboar

Description

@cboar

We are running into issues with the autolinker not picking up on transitive dependencies that need linking. The following is a sample structure for our project.

▾  component-library/
  ▾  Component1/               
    ▸  src/                  
       package.json            
  ▾  Component2/               
    ▸  src/                  
       package.json

▾  implementation-app/         
  ▸  android/                  
  ▸  ios/                      
     App.js                    
     app.json                  
     babel.config.js           
     index.js                  
     metro.config.js           
     package.json              

Individual components from the component library are included in the implementation App's package.json as such:

  "dependencies": {
    "@my-comps/component1": "file:../component-library/Component1"
  }

Some of our components depend on a native module that requires linking from the implementation App, such as react-native-device-info.

When building the implementation App, it is evident that these transitive dependencies are not linked, as the generated PackageList.java does not include them - only those directly defined in the App's package.json. I've looked at configuring react-native.config.js for each component, but was unable to find configuration that could assist with this kind of set up.

Metadata

Metadata

Assignees

No one assigned

    Labels

    questionFurther information is requested

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions