## Description
This PR adds a `RnwNewArch` MSBuild property and `RNW_NEW_ARCH` build-time constant / pre-processor directive for use by external (module) devs. This PR also updates `@react-native-windows/codegen` to use the directive when appropriate, and also applies those changes to `sample-custom-component`.
The expectation is that external devs now use these new properties and directives instead of the previously exposed `UseFabric`, `UseHermes` and/or `UseWinUI3` props. All logic expecting external developers to manually set those props has been removed and replaced with more robust checking that keys off `RnwNewArch` and throws warnings or errors if the other props aren't set correctly.
In addition, this PR adds further checks to make sure external projects load the WindowsSDK props sheet, followed by the appropriate RNW props and then the RNW targets. Failure to load these import properly would always risk putting the project in a broken state, now we at least tell people what they're missing.
Note: Old arch devs will still be able to toggle `UseHermes`.
### Type of Change
- Bug fix (non-breaking change which fixes an issue)
- New feature (non-breaking change which adds functionality)
- This change requires a documentation update
### Why
We don't want end-users to have access to conditionally build their code for the new or old architectures, without having to use/replicate the current complicated un-scoped directives we use internally.
Closes#13929
### What
See above.
## Screenshots
N/A
## Testing
Verified the flag exists and builds for the sample-custom-component. Also verified that new projects build properly.
## Changelog
Should this change be included in the release notes: _yes_
Add RnwNewArch property and RNW_NEW_ARCH constants when building projects for the new architecture
## Description
This PR upgrades the minimum version of `Microsoft.NETCore.UniversalWindowsPlatform` to 6.2.14 for UWP C# projects.
### Type of Change
- Bug fix (non-breaking change which fixes an issue)
### Why
This is long over-due as the latest (and probably last) version of this package hasn't changed in over two years. There's no reason for us to build against an older version. Just as importantly, this brings in a newer version of the .NetNative toolchain, which seems to resolve issues around C# builds hanging at the .NetNative step.
Resolves#14055Resolves#9194Resolves#4869
### What
Updated the minimum version of `Microsoft.NETCore.UniversalWindowsPlatform` to 6.2.14 for UWP C# projects. Added new entries to the props that enable C++ apps to consume C# modules to see the latest versions of .NetNative.
## Screenshots
N/A
## Testing
Verified E2Etests build and run.
## Changelog
Should this change be included in the release notes: _yes_
Update to Microsoft.NETCore.UniversalWindowsPlatform 6.2.14
## Description
This fixes the broken eslint/prettier configuration in our repo and fixes all linting errors that have crept in over the past several months.
### Type of Change
- Bug fix (non-breaking change which fixes an issue)
### Why
What is the motivation for this change? Add a few sentences describing the context and overall goals of the pull request's commits.
Resolves#13989
### What
* Updates all eslint and related packages to the correct versions aligning with upstream RN
* Updates all other package versions that were out of date
* Adds new prettier tasks to just-task since they don't run with eslint anymore
* Fixed all linting errors
## Screenshots
N/A
## Testing
`yarn lint` comes back clean.
## Changelog
Should this change be included in the release notes: _no_
## Description
Update our dependencies on `@react-native-community/cli` to the correct `15.0.0-alpha.2`.
### Type of Change
- Bug fix (non-breaking change which fixes an issue)
### Why
We somehow missed this, and in causes problems when trying to create new apps, as RNW wants the wrong CLI version, which can cause the new Yarn to just give up on adding RNW to a template.
### What
See above.
## Screenshots
N/A
## Testing
Verified new apps work.
## Changelog
Should this change be included in the release notes: _yes_
Update our dependencies on `@react-native-community/cli` to the correct `15.0.0-alpha.2`.
## Description
SourceLink is needed to ensure that our NuGet packages have matching source information when symbols are resolved. So we have an `EnableSourceLink` property which tells some of our projects to add source link, and we enable that when doing CI/PR/official builds by setting the property to true when we call msbuild in our pipelines.
This PR makes it so that instead of having to pass that property, the projects themselves automatically build with source link when they need to.
### Type of Change
- New feature (non-breaking change which adds functionality)
### Why
This makes it so that local builds of RNW are closer to the the same nuget restore behavior / packages.lock.json file as when they're built in pipelines.
This is part is working toward resolving #12004 and this functionality was extracted from PR #13634.
### What
Instead of requiring us to call msbuild with `/p:EnableSourceLink=true` for every solution (or relying on setting it in `ExperimentalFeatures.props`) we now detect when our library projects are being built within the repo (detecting the `src-win` folder which isn't present in the NPM publish) and enable source link then.
## Screenshots
N/A
## Testing
N/A
## Changelog
Should this change be included in the release notes: _yes_
Automatically set EnableSourceLink for in-repo builds only