react-native-windows/packages
Jon Thysell 5885ee4477
Upgrade to VS 2022 (#9916)
*Description*

This PR updates RNW to build with (and require) Visual Studio 2022. This includes upgrading the `Microsoft.ReactNative.Managed.CodeGen` project to .NET 6.0

This PR does not change the minimum / target Windows SDK versions for RNW or RNW apps.

This PR does not change the language versions of C++ (17) and C# (8.0) used.

*Type of Change*
- Breaking change (fix or feature that would cause existing functionality to not work as expected)
- This change requires a documentation update

*Why*
Visual Studio 2022 is the currently supported version of Visual Studio and what is available to download without an MSDN subscription to access older versions. As Visual Studio 2019 support is reduced/deprecated, we need to migrate. 

Closes #8750
Closes #9499 
Closes #10130

*What*

What's changed:

* All VS project files have been updated to require a minimum of VS 2022 (aka version 17.0).
    * NuGet-based dependencies that are tied to VS version have been upgraded.
* The `Microsoft.ReactNative.Managed.CodeGen` project has been updated to .NET 6.0
    * The snapshots for the codegen tests have been updated to pass
* The E2E Test app has been updated to the latest version of `react-native-xaml` (needed to fix build issues)
    * Snapshots for E2E tests have been updated to pass

*Testing*

Builds and tests All tests
2022-10-31 11:00:09 -07:00
..
@office-iss applying package updates ***NO_CI*** 2022-10-26 05:11:36 +00:00
@react-native Integration 9/12/22 (#10768) 2022-10-25 16:25:43 -07:00
@react-native-windows Upgrade to VS 2022 (#9916) 2022-10-31 11:00:09 -07:00
@rnw-scripts Integration 8/26/22 (#10752) 2022-10-18 11:04:25 -07:00
debug-test applying package updates ***NO_CI*** 2022-10-28 05:11:30 +00:00
e2e-test-app Upgrade to VS 2022 (#9916) 2022-10-31 11:00:09 -07:00
integration-test-app Upgrade to VS 2022 (#9916) 2022-10-31 11:00:09 -07:00
playground Upgrade to VS 2022 (#9916) 2022-10-31 11:00:09 -07:00
react-native-platform-override applying package updates ***NO_CI*** 2022-10-15 05:12:00 +00:00
react-native-windows-init applying package updates ***NO_CI*** 2022-10-27 05:11:38 +00:00
sample-apps Upgrade to VS 2022 (#9916) 2022-10-31 11:00:09 -07:00
README.md Remove unused bot work (#9186) 2021-11-24 01:37:13 -08:00

README.md

This directory contains the npm packages hosted by the react-native-windows repo.

Scoped Packages

Several packages are organized into specific package scopes:

  • @office-iss: Office internal packages
  • @react-native: Copies of private upstream packages already using the @react-native scope. E.g. @react-native/tester for the RNTester package.
  • @react-native-windows: Internal packages used by react-native-windows itself. Versioned and published alongside RNW.
  • @rnw-scripts: Scripts for repository tooling. Published as part of the main branch.

Unscoped packages

Several packages do not belong to a scope for intentional (or historical) reasons. E.g. react-native-platform-override isn't RNW-specific and is unscoped. react-native-windows-init is run by name, and as such makes sense to be unscoped.

Adding a new scope

⚠ Caution: Failing to create and give access to an NPM organization will break CI.

New package scopes for related packages can be added by adding a new directory with the scope name and prefixing the packages name in package.json with the scope.

E.g. for packages/@example-scope/create-widgets/package.json:

{
  "name": "@example-scope/create-widgets",
  ...
}

After adding a scope directory, add the scope to the list of yarn workspaces in the repo-root package.json.

  "workspaces": {
    "packages": [
      ...
      "packages/@example-scope/*",
      ...
    ]
  },

Publishing a scoped package requires that the rnbot NPM user is an owner of an npm organization with the same name as the scope. You can check whether an organization exists by viewing npmjs.com/org/. See acoates for granting permissions to rnbot.