microsoft / microsoft/react-native-windows

Dependency config needs a nugetPackageLang field for nugetPackage objects

Open
#9,576 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

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

Description

Summary

Dependency config needs a nugetPackageLang field for nugetPackage objects (and should be verifying all required fields are present)

  • nugetPackage object needs to specify every field manually in react-native.config.js that will be needed by autolinking
    • packageName and packageVersion should be obvious
    • cppHeaders, cppPackageProviders, csNamespaces, csPackageProviders should be that same as the above (though they should allow empty arrays)
    • Need to add nugetPackageLang to help make sure we can specify ConsumeCSharpModules correctly for C++ apps
  • Config should verify that all fields are present if there are any nugetPackage objects in the react-native.config.js
  • Dependency config tests should be added which verify that specifying these items (correctly and incorrectly) creates the correct config output
Motivation

We want to support community modules that are distributed as nuget packages, so we need to know how to handle them in RNW apps

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 react-native.config.js dependency configuration and the dependency config tests mentioned in the issue. Trace how nugetPackage objects are converted into autolinking configuration, including ConsumeCSharpModules for C++ apps. Done means required fields are validated, nugetPackageLang is represented, empty arrays are accepted where specified, and correct and incorrect configurations have test coverage.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp, react-native
Domain
build-system, mobile-dev
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.