microsoft / microsoft/react-native-windows

Autolinking needs to be updated to process the nugetPackage objects from dependency configs

Open
#9,578 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Area: Autolinking Area: Native Modules enhancement Workstream: Module Support
Dominant language
C++
Stars
17.3k
Forks
1.2k
Avg merge
1d 13h
Merged PRs (30d)
33

Description

Summary

Autolinking needs to be updated to process the nugetPackage objects from dependency configs

  • Need to check the nugetPackage objects for all the items and/or errors and flag them as invalid dependencies just like with projects
  • Need to update getCSModules to consider nugetPackageLang of nuget package when detecting if we have C# modules (to make sure the M.RN projects are present and setting ConsumeCSharpModules)
  • Generating the autolink targets needs to add package references for the modules and versions specified (don't insert if packages.config, give warning)
  • The header/using/IPackageProvider lines should be processed (and inserted) just like for projects

This depends on #9576

Motivation

Enabling this support will let enable autolinking to consume nuget-based community modules.

It can also be used to add any nuget dependencies into an app project

Basic Example

No response

Open Questions

No response

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the dependency-config handling and the getCSModules entry point, then trace how autolink targets are generated. Check how project dependencies and errors are currently processed, and compare that flow with the requested nugetPackage handling. Done means invalid packages are flagged, C# modules are detected correctly, package references and warnings are generated appropriately, and header/using/IPackageProvider lines are inserted.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp, react-native
Domain
build-system, tooling
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.