react-native-windows 0.75.0 → 0.75.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -16,7 +16,7 @@ const version: $ReadOnly<{
16
16
  }> = {
17
17
  major: 0,
18
18
  minor: 75,
19
- patch: 1,
19
+ patch: 2,
20
20
  prerelease: null,
21
21
  };
22
22
 
@@ -121,6 +121,7 @@
121
121
  OLD_CPPWINRT is a workaround to make target version to 19H1
122
122
  -->
123
123
  <PreprocessorDefinitions>
124
+ DISABLE_XAML_GENERATED_MAIN;
124
125
  REACTWINDOWS_BUILD;
125
126
  RN_PLATFORM=windows;
126
127
  NOMINMAX;
@@ -131,6 +132,7 @@
131
132
  WIN32=0;
132
133
  WINRT=1;
133
134
  _HAS_AUTO_PTR_ETC;
135
+ _USE_MATH_DEFINES;
134
136
  <!-- See https://cplusplus.github.io/LWG/issue3840 -->
135
137
  _SILENCE_CXX20_U8PATH_DEPRECATION_WARNING;
136
138
  %(PreprocessorDefinitions)
@@ -83,7 +83,14 @@
83
83
  #include "Modules/LogBoxModule.h"
84
84
  #include "Modules/NativeUIManager.h"
85
85
  #include "Modules/PaperUIManagerModule.h"
86
+ #else
87
+ #include "Modules/DesktopTimingModule.h"
86
88
  #endif
89
+ #include "Modules/ExceptionsManager.h"
90
+ #include "Modules/PlatformConstantsWinModule.h"
91
+ #include "Modules/ReactRootViewTagGenerator.h"
92
+ #include "Modules/SourceCode.h"
93
+ #include "Modules/StatusBarManager.h"
87
94
 
88
95
  #if !defined(CORE_ABI) || defined(USE_FABRIC)
89
96
  #include <Modules/ImageViewManagerModule.h>
@@ -111,11 +118,6 @@ using namespace winrt::Microsoft::ReactNative;
111
118
 
112
119
  namespace Mso::React {
113
120
 
114
- std::string getApplicationTempFolder() {
115
- auto local = winrt::Windows::Storage::ApplicationData::Current().TemporaryFolder().Path();
116
- return Microsoft::Common::Unicode::Utf16ToUtf8(local.c_str(), local.size()) + "\\";
117
- }
118
-
119
121
  //=============================================================================================
120
122
  // LoadedCallbackGuard ensures that the OnReactInstanceLoaded is always called.
121
123
  // It calls OnReactInstanceLoaded in destructor with a cancellation error.
@@ -397,42 +399,44 @@ void ReactInstanceWin::LoadModules(
397
399
  }
398
400
  #endif
399
401
 
400
- ::Microsoft::ReactNative::ExceptionsManager::SetRedBoxHander(
401
- winrt::Microsoft::ReactNative::ReactPropertyBag(m_reactContext->Properties()), m_redboxHandler);
402
- registerTurboModule(
403
- L"ExceptionsManager",
404
- winrt::Microsoft::ReactNative::MakeTurboModuleProvider<::Microsoft::ReactNative::ExceptionsManager>());
402
+ if (devSettings->useTurboModulesOnly) {
403
+ ::Microsoft::ReactNative::ExceptionsManager::SetRedBoxHander(
404
+ winrt::Microsoft::ReactNative::ReactPropertyBag(m_reactContext->Properties()), m_redboxHandler);
405
+ registerTurboModule(
406
+ L"ExceptionsManager",
407
+ winrt::Microsoft::ReactNative::MakeTurboModuleProvider<::Microsoft::ReactNative::ExceptionsManager>());
405
408
 
406
- registerTurboModule(
407
- L"StatusBarManager",
408
- winrt::Microsoft::ReactNative::MakeModuleProvider<::Microsoft::ReactNative::StatusBarManager>());
409
+ registerTurboModule(
410
+ L"StatusBarManager",
411
+ winrt::Microsoft::ReactNative::MakeModuleProvider<::Microsoft::ReactNative::StatusBarManager>());
409
412
 
410
- registerTurboModule(
411
- L"PlatformConstants",
412
- winrt::Microsoft::ReactNative::MakeTurboModuleProvider<::Microsoft::ReactNative::PlatformConstants>());
413
+ registerTurboModule(
414
+ L"PlatformConstants",
415
+ winrt::Microsoft::ReactNative::MakeTurboModuleProvider<::Microsoft::ReactNative::PlatformConstants>());
413
416
 
414
- uint32_t hermesBytecodeVersion = 0;
417
+ uint32_t hermesBytecodeVersion = 0;
415
418
  #if defined(USE_HERMES) && defined(ENABLE_DEVSERVER_HBCBUNDLES)
416
- hermesBytecodeVersion = ::hermes::hbc::BYTECODE_VERSION;
419
+ hermesBytecodeVersion = ::hermes::hbc::BYTECODE_VERSION;
417
420
  #endif
418
421
 
419
- std::string bundleUrl = (devSettings->useWebDebugger || devSettings->liveReloadCallback)
420
- ? facebook::react::DevServerHelper::get_BundleUrl(
421
- devSettings->sourceBundleHost,
422
- devSettings->sourceBundlePort,
423
- devSettings->debugBundlePath,
424
- devSettings->platformName,
425
- devSettings->bundleAppId,
426
- devSettings->devBundle,
427
- devSettings->useFastRefresh,
428
- devSettings->inlineSourceMap,
429
- hermesBytecodeVersion)
430
- : devSettings->bundleRootPath;
431
- ::Microsoft::ReactNative::SourceCode::SetScriptUrl(
432
- winrt::Microsoft::ReactNative::ReactPropertyBag(m_reactContext->Properties()), bundleUrl);
422
+ std::string bundleUrl = (devSettings->useWebDebugger || devSettings->liveReloadCallback)
423
+ ? facebook::react::DevServerHelper::get_BundleUrl(
424
+ devSettings->sourceBundleHost,
425
+ devSettings->sourceBundlePort,
426
+ devSettings->debugBundlePath,
427
+ devSettings->platformName,
428
+ devSettings->bundleAppId,
429
+ devSettings->devBundle,
430
+ devSettings->useFastRefresh,
431
+ devSettings->inlineSourceMap,
432
+ hermesBytecodeVersion)
433
+ : devSettings->bundleRootPath;
434
+ ::Microsoft::ReactNative::SourceCode::SetScriptUrl(
435
+ winrt::Microsoft::ReactNative::ReactPropertyBag(m_reactContext->Properties()), bundleUrl);
433
436
 
434
- registerTurboModule(
435
- L"SourceCode", winrt::Microsoft::ReactNative::MakeTurboModuleProvider<::Microsoft::ReactNative::SourceCode>());
437
+ registerTurboModule(
438
+ L"SourceCode", winrt::Microsoft::ReactNative::MakeTurboModuleProvider<::Microsoft::ReactNative::SourceCode>());
439
+ }
436
440
 
437
441
  registerTurboModule(
438
442
  L"DevSettings", winrt::Microsoft::ReactNative::MakeTurboModuleProvider<::Microsoft::ReactNative::DevSettings>());
@@ -446,6 +450,17 @@ void ReactInstanceWin::LoadModules(
446
450
  winrt::Microsoft::ReactNative::MakeTurboModuleProvider<::Microsoft::ReactNative::LinkingManager>());
447
451
 
448
452
  registerTurboModule(L"Timing", winrt::Microsoft::ReactNative::MakeModuleProvider<::Microsoft::ReactNative::Timing>());
453
+ #else
454
+
455
+ #if defined(USE_FABRIC)
456
+ if (Microsoft::ReactNative::IsFabricEnabled(m_reactContext->Properties())) {
457
+ registerTurboModule(
458
+ L"Timing", winrt::Microsoft::ReactNative::MakeModuleProvider<::Microsoft::ReactNative::Timing>());
459
+ } else
460
+ #endif
461
+ {
462
+ registerTurboModule(L"Timing", winrt::Microsoft::ReactNative::MakeModuleProvider<::facebook::react::Timing>());
463
+ }
449
464
  #endif
450
465
 
451
466
  registerTurboModule(
@@ -553,6 +568,15 @@ Mso::DispatchQueueSettings CreateDispatchQueueSettings(
553
568
  return queueSettings;
554
569
  }
555
570
 
571
+ std::unique_ptr<facebook::jsi::PreparedScriptStore> CreatePreparedScriptStore() noexcept {
572
+ std::unique_ptr<facebook::jsi::PreparedScriptStore> preparedScriptStore = nullptr;
573
+ wchar_t tempPath[MAX_PATH];
574
+ if (GetTempPathW(static_cast<DWORD>(std::size(tempPath)), tempPath)) {
575
+ preparedScriptStore = std::make_unique<facebook::react::BasePreparedScriptStoreImpl>(winrt::to_string(tempPath));
576
+ }
577
+ return preparedScriptStore;
578
+ }
579
+
556
580
  #ifdef USE_FABRIC
557
581
  void ReactInstanceWin::InitializeBridgeless() noexcept {
558
582
  InitUIQueue();
@@ -582,6 +606,7 @@ void ReactInstanceWin::InitializeBridgeless() noexcept {
582
606
  strongThis->Queue().Post([this, weakThis]() noexcept {
583
607
  if (auto strongThis = weakThis.GetStrongPtr()) {
584
608
  auto devSettings = strongThis->CreateDevSettings();
609
+ devSettings->useTurboModulesOnly = true;
585
610
 
586
611
  try {
587
612
  if (devSettings->useFastRefresh || devSettings->liveReloadCallback) {
@@ -619,7 +644,7 @@ void ReactInstanceWin::InitializeBridgeless() noexcept {
619
644
  }
620
645
 
621
646
  m_jsiRuntimeHolder = std::make_shared<Microsoft::ReactNative::HermesRuntimeHolder>(
622
- devSettings, m_jsMessageThread.Load(), CreateHermesPreparedScriptStore());
647
+ devSettings, m_jsMessageThread.Load(), CreatePreparedScriptStore());
623
648
  auto jsRuntime = std::make_unique<Microsoft::ReactNative::HermesJSRuntime>(m_jsiRuntimeHolder);
624
649
  jsRuntime->getRuntime();
625
650
  m_bridgelessReactInstance = std::make_unique<facebook::react::ReactInstance>(
@@ -693,19 +718,6 @@ void ReactInstanceWin::InitializeBridgeless() noexcept {
693
718
  }
694
719
  #endif
695
720
 
696
- std::unique_ptr<facebook::jsi::PreparedScriptStore> ReactInstanceWin::CreateHermesPreparedScriptStore() noexcept {
697
- std::unique_ptr<facebook::jsi::PreparedScriptStore> preparedScriptStore = nullptr;
698
- if (Microsoft::ReactNative::HasPackageIdentity()) {
699
- preparedScriptStore = std::make_unique<facebook::react::BasePreparedScriptStoreImpl>(getApplicationTempFolder());
700
- } else {
701
- wchar_t tempPath[MAX_PATH];
702
- if (GetTempPathW(static_cast<DWORD>(std::size(tempPath)), tempPath)) {
703
- preparedScriptStore = std::make_unique<facebook::react::BasePreparedScriptStoreImpl>(winrt::to_string(tempPath));
704
- }
705
- }
706
- return preparedScriptStore;
707
- }
708
-
709
721
  void ReactInstanceWin::FireInstanceCreatedCallback() noexcept {
710
722
  // The InstanceCreated event can be used to augment the JS environment for all JS code. So it needs to be
711
723
  // triggered before any platform JS code is run. Using m_jsMessageThread instead of jsDispatchQueue avoids
@@ -740,11 +752,21 @@ void ReactInstanceWin::InitializeWithBridge() noexcept {
740
752
  // Objects that must be created on the UI thread
741
753
  if (auto strongThis = weakThis.GetStrongPtr()) {
742
754
  InitUIDependentCalls();
743
-
744
755
  strongThis->Queue().Post([this, weakThis]() noexcept {
745
756
  if (auto strongThis = weakThis.GetStrongPtr()) {
746
757
  auto devSettings = strongThis->CreateDevSettings();
747
758
 
759
+ auto getBoolProperty = [properties = ReactPropertyBag{m_options.Properties}](
760
+ const wchar_t *ns, const wchar_t *name, bool defaultValue) noexcept -> bool {
761
+ ReactPropertyId<bool> propId{ns == nullptr ? ReactPropertyNamespace() : ReactPropertyNamespace(ns), name};
762
+ std::optional<bool> propValue = properties.Get(propId);
763
+ return propValue.value_or(defaultValue);
764
+ };
765
+
766
+ devSettings->omitNetworkingCxxModules = getBoolProperty(nullptr, L"OmitNetworkingCxxModules", false);
767
+ devSettings->useWebSocketTurboModule = getBoolProperty(nullptr, L"UseWebSocketTurboModule", false);
768
+ devSettings->useTurboModulesOnly = getBoolProperty(L"DevSettings", L"UseTurboModulesOnly", false);
769
+
748
770
  std::vector<facebook::react::NativeModuleDescription> cxxModules;
749
771
  auto nmp = std::make_shared<winrt::Microsoft::ReactNative::NativeModulesProvider>();
750
772
 
@@ -773,7 +795,7 @@ void ReactInstanceWin::InitializeWithBridge() noexcept {
773
795
  } else {
774
796
  switch (m_options.JsiEngine()) {
775
797
  case JSIEngine::Hermes: {
776
- preparedScriptStore = CreateHermesPreparedScriptStore();
798
+ preparedScriptStore = CreatePreparedScriptStore();
777
799
 
778
800
  auto hermesRuntimeHolder = std::make_shared<Microsoft::ReactNative::HermesRuntimeHolder>(
779
801
  devSettings, m_jsMessageThread.Load(), std::move(preparedScriptStore));
@@ -785,17 +807,7 @@ void ReactInstanceWin::InitializeWithBridge() noexcept {
785
807
  case JSIEngine::V8:
786
808
  #if defined(USE_V8)
787
809
  {
788
- if (Microsoft::ReactNative::HasPackageIdentity()) {
789
- preparedScriptStore =
790
- std::make_unique<facebook::react::BasePreparedScriptStoreImpl>(getApplicationTempFolder());
791
- } else {
792
- wchar_t tempPath[MAX_PATH];
793
- if (GetTempPathW(static_cast<DWORD>(std::size(tempPath)), tempPath)) {
794
- preparedScriptStore =
795
- std::make_unique<facebook::react::BasePreparedScriptStoreImpl>(winrt::to_string(tempPath));
796
- }
797
- }
798
-
810
+ preparedScriptStore = CreatePreparedScriptStore();
799
811
  bool enableMultiThreadSupport{false};
800
812
  #ifdef USE_FABRIC
801
813
  enableMultiThreadSupport = Microsoft::ReactNative::IsFabricEnabled(m_reactContext->Properties());
@@ -836,12 +848,7 @@ void ReactInstanceWin::InitializeWithBridge() noexcept {
836
848
  // We need to keep the instance wrapper alive as its destruction shuts down the native queue.
837
849
  m_options.TurboModuleProvider->SetReactContext(
838
850
  winrt::make<implementation::ReactContext>(Mso::Copy(m_reactContext)));
839
- auto omitNetCxxPropName = ReactPropertyBagHelper::GetName(nullptr, L"OmitNetworkingCxxModules");
840
- auto omitNetCxxPropValue = m_options.Properties.Get(omitNetCxxPropName);
841
- devSettings->omitNetworkingCxxModules = winrt::unbox_value_or(omitNetCxxPropValue, false);
842
- auto useWebSocketTurboModulePropName = ReactPropertyBagHelper::GetName(nullptr, L"UseWebSocketTurboModule");
843
- auto useWebSocketTurboModulePropValue = m_options.Properties.Get(useWebSocketTurboModulePropName);
844
- devSettings->useWebSocketTurboModule = winrt::unbox_value_or(useWebSocketTurboModulePropValue, false);
851
+
845
852
  auto bundleRootPath = devSettings->bundleRootPath;
846
853
  auto jsiRuntimeHolder = devSettings->jsiRuntimeHolder;
847
854
  auto instanceWrapper = facebook::react::CreateReactInstance(
@@ -11,4 +11,5 @@
11
11
  <Import Project="$(MSBuildThisFileDirectory)Microsoft.ReactNative.Common.props" />
12
12
  <!-- Fixes NuGet restore issues: -->
13
13
  <Import Project="$(ReactNativeWindowsDir)\PropertySheets\NuGet.CSharp.props" />
14
+ <Import Project="$(ReactNativeWindowsDir)\PropertySheets\WinUI.props" />
14
15
  </Project>
@@ -14,5 +14,9 @@
14
14
  <!-- Needed for ucrtbased.dll when running a debug build. -->
15
15
  <SDKReference Include="Microsoft.VCLibs, Version=14.0" Condition="'$(Configuration)' == 'Debug'" />
16
16
  </ItemGroup>
17
+
18
+ <ItemGroup Condition="'$(UseExperimentalNuget)' == 'true'">
19
+ <PackageReference Include="$(WinUIPackageName)" Version="$(WinUIPackageVersion)" Condition="'$(OverrideWinUIPackage)'!='true'" />
20
+ </ItemGroup>
17
21
 
18
22
  </Project>
@@ -5,8 +5,18 @@
5
5
  -->
6
6
  <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
7
7
  <!-- Only include Microsoft.ReactNative.* NuGet packages that C++ (app and lib) projects need when using UseExperimentalNuget. -->
8
- <ItemGroup>
9
- <PackageReference Include="Microsoft.ReactNative" Version="$(ReactNativeWindowsVersion)" />
10
- <PackageReference Include="Microsoft.ReactNative.Cxx" Version="$(ReactNativeWindowsVersion)" />
11
- </ItemGroup>
8
+ <Choose>
9
+ <When Condition="'$(UseFabric)' == 'true'">
10
+ <ItemGroup>
11
+ <PackageReference Include="Microsoft.ReactNative" Version="$(ReactNativeWindowsVersion)-Fabric" />
12
+ <PackageReference Include="Microsoft.ReactNative.Cxx" Version="$(ReactNativeWindowsVersion)-Fabric" />
13
+ </ItemGroup>
14
+ </When>
15
+ <Otherwise>
16
+ <ItemGroup>
17
+ <PackageReference Include="Microsoft.ReactNative" Version="$(ReactNativeWindowsVersion)" />
18
+ <PackageReference Include="Microsoft.ReactNative.Cxx" Version="$(ReactNativeWindowsVersion)" />
19
+ </ItemGroup>
20
+ </Otherwise>
21
+ </Choose>
12
22
  </Project>
@@ -10,11 +10,11 @@
10
10
  -->
11
11
  <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
12
12
  <PropertyGroup>
13
- <ReactNativeWindowsVersion>0.75.0</ReactNativeWindowsVersion>
13
+ <ReactNativeWindowsVersion>0.75.1</ReactNativeWindowsVersion>
14
14
  <ReactNativeWindowsMajor>0</ReactNativeWindowsMajor>
15
15
  <ReactNativeWindowsMinor>75</ReactNativeWindowsMinor>
16
- <ReactNativeWindowsPatch>0</ReactNativeWindowsPatch>
16
+ <ReactNativeWindowsPatch>1</ReactNativeWindowsPatch>
17
17
  <ReactNativeWindowsCanary>false</ReactNativeWindowsCanary>
18
- <ReactNativeWindowsCommitId>ba3dd8c01553d45225124eaab38a13d8aa0b8b20</ReactNativeWindowsCommitId>
18
+ <ReactNativeWindowsCommitId>6c7cbf211f56e533e7d747f56229ba31598855b7</ReactNativeWindowsCommitId>
19
19
  </PropertyGroup>
20
20
  </Project>
@@ -66,6 +66,8 @@
66
66
 
67
67
  <PropertyGroup>
68
68
  <_ReactNativeWindowsVersionCheckNugetVersion>$$nuGetPackageVersion$$</_ReactNativeWindowsVersionCheckNugetVersion>
69
+ <!-- Strip out the -Fabric qualifier from the version string if present -->
70
+ <_ReactNativeWindowsVersionCheckNugetVersion>$(_ReactNativeWindowsVersionCheckNugetVersion.Replace('-Fabric', ''))</_ReactNativeWindowsVersionCheckNugetVersion>
69
71
  </PropertyGroup>
70
72
 
71
73
  <!-- Validate package.json file -->
@@ -114,6 +114,9 @@ struct DevSettings {
114
114
 
115
115
  // Enable concurrent mode by installing runtimeScheduler
116
116
  bool useRuntimeScheduler{false};
117
+
118
+ // If true, then use only Turbo Modules instead of CxxModules.
119
+ bool useTurboModulesOnly{false};
117
120
  };
118
121
 
119
122
  } // namespace react
@@ -595,6 +595,10 @@ InstanceImpl::~InstanceImpl() {
595
595
  std::vector<std::unique_ptr<NativeModule>> InstanceImpl::GetDefaultNativeModules(
596
596
  std::shared_ptr<MessageQueueThread> nativeQueue) {
597
597
  std::vector<std::unique_ptr<NativeModule>> modules;
598
+ if (m_devSettings->useTurboModulesOnly) {
599
+ return modules;
600
+ }
601
+
598
602
  auto transitionalProps{ReactPropertyBagHelper::CreatePropertyBag()};
599
603
 
600
604
  // These modules are instantiated separately in MSRN (Universal Windows).
@@ -612,9 +616,9 @@ std::vector<std::unique_ptr<NativeModule>> InstanceImpl::GetDefaultNativeModules
612
616
  nativeQueue));
613
617
  }
614
618
 
615
- // Applications using the Windows ABI feature should loade the networking TurboModule variants instead.
619
+ // Applications using the Windows ABI feature should load the networking TurboModule variants instead.
616
620
  if (!m_devSettings->omitNetworkingCxxModules) {
617
- // Use in case the host app provides its a non-Blob-compatilbe HTTP module.
621
+ // Use in case the host app provides its a non-Blob-compatible HTTP module.
618
622
  if (!Microsoft::React::GetRuntimeOptionBool("Blob.DisableModule")) {
619
623
  modules.push_back(std::make_unique<CxxNativeModule>(
620
624
  m_innerInstance,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-windows",
3
- "version": "0.75.0",
3
+ "version": "0.75.1",
4
4
  "license": "MIT",
5
5
  "repository": {
6
6
  "type": "git",
@@ -26,15 +26,15 @@
26
26
  "@react-native-community/cli": "14.0.0",
27
27
  "@react-native-community/cli-platform-android": "14.0.0",
28
28
  "@react-native-community/cli-platform-ios": "14.0.0",
29
- "@react-native-windows/cli": "0.75.0",
29
+ "@react-native-windows/cli": "0.75.1",
30
30
  "@react-native/assets": "1.0.0",
31
- "@react-native/assets-registry": "0.75.1",
32
- "@react-native/codegen": "0.75.1",
33
- "@react-native/community-cli-plugin": "0.75.1",
34
- "@react-native/gradle-plugin": "0.75.1",
35
- "@react-native/js-polyfills": "0.75.1",
36
- "@react-native/normalize-colors": "0.75.1",
37
- "@react-native/virtualized-lists": "0.75.1",
31
+ "@react-native/assets-registry": "0.75.2",
32
+ "@react-native/codegen": "0.75.2",
33
+ "@react-native/community-cli-plugin": "0.75.2",
34
+ "@react-native/gradle-plugin": "0.75.2",
35
+ "@react-native/js-polyfills": "0.75.2",
36
+ "@react-native/normalize-colors": "0.75.2",
37
+ "@react-native/virtualized-lists": "0.75.2",
38
38
  "abort-controller": "^3.0.0",
39
39
  "anser": "^1.4.9",
40
40
  "ansi-regex": "^5.0.0",
@@ -67,7 +67,7 @@
67
67
  },
68
68
  "devDependencies": {
69
69
  "@react-native-windows/codegen": "0.75.0",
70
- "@react-native/metro-config": "0.75.1",
70
+ "@react-native/metro-config": "0.75.2",
71
71
  "@rnw-scripts/babel-react-native-config": "0.0.0",
72
72
  "@rnw-scripts/eslint-config": "1.2.23",
73
73
  "@rnw-scripts/jest-out-of-tree-snapshot-resolver": "^1.1.27",
@@ -83,7 +83,7 @@
83
83
  "just-scripts": "^1.3.3",
84
84
  "prettier": "2.8.8",
85
85
  "react": "18.3.1",
86
- "react-native": "0.75.1",
86
+ "react-native": "0.75.2",
87
87
  "react-native-platform-override": "^1.9.42",
88
88
  "react-refresh": "^0.14.0",
89
89
  "typescript": "5.0.4"
@@ -91,7 +91,7 @@
91
91
  "peerDependencies": {
92
92
  "@types/react": "^18.2.6",
93
93
  "react": "^18.2.0",
94
- "react-native": "^0.75.1"
94
+ "react-native": "^0.75.2"
95
95
  },
96
96
  "beachball": {
97
97
  "defaultNpmTag": "latest",
@@ -11,44 +11,44 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "{{ name }}", "{{ name }}\{{
11
11
  {{/useExperimentalNuget}}
12
12
  EndProject
13
13
  {{^useExperimentalNuget}}
14
- Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Folly", "..\node_modules\react-native-windows\Folly\Folly.vcxproj", "{A990658C-CE31-4BCC-976F-0FC6B1AF693D}"
14
+ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Folly", "..\{{ rnwPathFromProjectRoot }}\Folly\Folly.vcxproj", "{A990658C-CE31-4BCC-976F-0FC6B1AF693D}"
15
15
  EndProject
16
- Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "fmt", "..\node_modules\react-native-windows\fmt\fmt.vcxproj", "{14B93DC8-FD93-4A6D-81CB-8BC96644501C}"
16
+ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "fmt", "..\{{ rnwPathFromProjectRoot }}\fmt\fmt.vcxproj", "{14B93DC8-FD93-4A6D-81CB-8BC96644501C}"
17
17
  EndProject
18
- Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ReactCommon", "..\node_modules\react-native-windows\ReactCommon\ReactCommon.vcxproj", "{A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}"
18
+ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ReactCommon", "..\{{ rnwPathFromProjectRoot }}\ReactCommon\ReactCommon.vcxproj", "{A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}"
19
19
  ProjectSection(ProjectDependencies) = postProject
20
20
  {A990658C-CE31-4BCC-976F-0FC6B1AF693D} = {A990658C-CE31-4BCC-976F-0FC6B1AF693D}
21
21
  EndProjectSection
22
22
  EndProject
23
- Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Chakra", "..\node_modules\react-native-windows\Chakra\Chakra.vcxitems", "{C38970C0-5FBF-4D69-90D8-CBAC225AE895}"
23
+ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Chakra", "..\{{ rnwPathFromProjectRoot }}\Chakra\Chakra.vcxitems", "{C38970C0-5FBF-4D69-90D8-CBAC225AE895}"
24
24
  EndProject
25
- Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Microsoft.ReactNative", "..\node_modules\react-native-windows\Microsoft.ReactNative\Microsoft.ReactNative.vcxproj", "{F7D32BD0-2749-483E-9A0D-1635EF7E3136}"
25
+ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Microsoft.ReactNative", "..\{{ rnwPathFromProjectRoot }}\Microsoft.ReactNative\Microsoft.ReactNative.vcxproj", "{F7D32BD0-2749-483E-9A0D-1635EF7E3136}"
26
26
  EndProject
27
- Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Microsoft.ReactNative.Cxx", "..\node_modules\react-native-windows\Microsoft.ReactNative.Cxx\Microsoft.ReactNative.Cxx.vcxitems", "{DA8B35B3-DA00-4B02-BDE6-6A397B3FD46B}"
27
+ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Microsoft.ReactNative.Cxx", "..\{{ rnwPathFromProjectRoot }}\Microsoft.ReactNative.Cxx\Microsoft.ReactNative.Cxx.vcxitems", "{DA8B35B3-DA00-4B02-BDE6-6A397B3FD46B}"
28
28
  EndProject
29
- Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Common", "..\node_modules\react-native-windows\Common\Common.vcxproj", "{FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}"
29
+ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Common", "..\{{ rnwPathFromProjectRoot }}\Common\Common.vcxproj", "{FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}"
30
30
  EndProject
31
31
  Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ReactNative", "ReactNative", "{5EA20F54-880A-49F3-99FA-4B3FE54E8AB1}"
32
32
  EndProject
33
- Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Microsoft.ReactNative.Shared", "..\node_modules\react-native-windows\Shared\Shared.vcxitems", "{2049DBE9-8D13-42C9-AE4B-413AE38FFFD0}"
33
+ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Microsoft.ReactNative.Shared", "..\{{ rnwPathFromProjectRoot }}\Shared\Shared.vcxitems", "{2049DBE9-8D13-42C9-AE4B-413AE38FFFD0}"
34
34
  EndProject
35
- Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Mso", "..\node_modules\react-native-windows\Mso\Mso.vcxitems", "{84E05BFA-CBAF-4F0D-BFB6-4CE85742A57E}"
35
+ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Mso", "..\{{ rnwPathFromProjectRoot }}\Mso\Mso.vcxitems", "{84E05BFA-CBAF-4F0D-BFB6-4CE85742A57E}"
36
36
  EndProject
37
- Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Include", "..\node_modules\react-native-windows\include\Include.vcxitems", "{EF074BA1-2D54-4D49-A28E-5E040B47CD2E}"
37
+ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Include", "..\{{ rnwPathFromProjectRoot }}\include\Include.vcxitems", "{EF074BA1-2D54-4D49-A28E-5E040B47CD2E}"
38
38
  EndProject
39
39
  {{/useExperimentalNuget}}
40
40
  Global
41
41
  {{^useExperimentalNuget}}
42
42
  GlobalSection(SharedMSBuildProjectFiles) = preSolution
43
- ..\node_modules\react-native-windows\Shared\Shared.vcxitems*{2049dbe9-8d13-42c9-ae4b-413ae38fffd0}*SharedItemsImports = 9
44
- ..\node_modules\react-native-windows\Mso\Mso.vcxitems*{84e05bfa-cbaf-4f0d-bfb6-4ce85742a57e}*SharedItemsImports = 9
45
- ..\node_modules\react-native-windows\Chakra\Chakra.vcxitems*{c38970c0-5fbf-4d69-90d8-cbac225ae895}*SharedItemsImports = 9
46
- ..\node_modules\react-native-windows\Microsoft.ReactNative.Cxx\Microsoft.ReactNative.Cxx.vcxitems*{da8b35b3-da00-4b02-bde6-6a397b3fd46b}*SharedItemsImports = 9
47
- ..\node_modules\react-native-windows\include\Include.vcxitems*{ef074ba1-2d54-4d49-a28e-5e040b47cd2e}*SharedItemsImports = 9
48
- ..\node_modules\react-native-windows\Chakra\Chakra.vcxitems*{f7d32bd0-2749-483e-9a0d-1635ef7e3136}*SharedItemsImports = 4
49
- ..\node_modules\react-native-windows\Microsoft.ReactNative.Cxx\Microsoft.ReactNative.Cxx.vcxitems*{f7d32bd0-2749-483e-9a0d-1635ef7e3136}*SharedItemsImports = 4
50
- ..\node_modules\react-native-windows\Mso\Mso.vcxitems*{f7d32bd0-2749-483e-9a0d-1635ef7e3136}*SharedItemsImports = 4
51
- ..\node_modules\react-native-windows\Shared\Shared.vcxitems*{f7d32bd0-2749-483e-9a0d-1635ef7e3136}*SharedItemsImports = 4
43
+ ..\{{ rnwPathFromProjectRoot }}\Shared\Shared.vcxitems*{2049dbe9-8d13-42c9-ae4b-413ae38fffd0}*SharedItemsImports = 9
44
+ ..\{{ rnwPathFromProjectRoot }}\Mso\Mso.vcxitems*{84e05bfa-cbaf-4f0d-bfb6-4ce85742a57e}*SharedItemsImports = 9
45
+ ..\{{ rnwPathFromProjectRoot }}\Chakra\Chakra.vcxitems*{c38970c0-5fbf-4d69-90d8-cbac225ae895}*SharedItemsImports = 9
46
+ ..\{{ rnwPathFromProjectRoot }}\Microsoft.ReactNative.Cxx\Microsoft.ReactNative.Cxx.vcxitems*{da8b35b3-da00-4b02-bde6-6a397b3fd46b}*SharedItemsImports = 9
47
+ ..\{{ rnwPathFromProjectRoot }}\include\Include.vcxitems*{ef074ba1-2d54-4d49-a28e-5e040b47cd2e}*SharedItemsImports = 9
48
+ ..\{{ rnwPathFromProjectRoot }}\Chakra\Chakra.vcxitems*{f7d32bd0-2749-483e-9a0d-1635ef7e3136}*SharedItemsImports = 4
49
+ ..\{{ rnwPathFromProjectRoot }}\Microsoft.ReactNative.Cxx\Microsoft.ReactNative.Cxx.vcxitems*{f7d32bd0-2749-483e-9a0d-1635ef7e3136}*SharedItemsImports = 4
50
+ ..\{{ rnwPathFromProjectRoot }}\Mso\Mso.vcxitems*{f7d32bd0-2749-483e-9a0d-1635ef7e3136}*SharedItemsImports = 4
51
+ ..\{{ rnwPathFromProjectRoot }}\Shared\Shared.vcxitems*{f7d32bd0-2749-483e-9a0d-1635ef7e3136}*SharedItemsImports = 4
52
52
  EndGlobalSection
53
53
  {{/useExperimentalNuget}}
54
54
  GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -11,44 +11,44 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "{{ name }}", "{{ name }}\{{
11
11
  {{/useExperimentalNuget}}
12
12
  EndProject
13
13
  {{^useExperimentalNuget}}
14
- Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Folly", "..\node_modules\react-native-windows\Folly\Folly.vcxproj", "{A990658C-CE31-4BCC-976F-0FC6B1AF693D}"
14
+ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Folly", "..\{{ rnwPathFromProjectRoot }}\Folly\Folly.vcxproj", "{A990658C-CE31-4BCC-976F-0FC6B1AF693D}"
15
15
  EndProject
16
- Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "fmt", "..\node_modules\react-native-windows\fmt\fmt.vcxproj", "{14B93DC8-FD93-4A6D-81CB-8BC96644501C}"
16
+ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "fmt", "..\{{ rnwPathFromProjectRoot }}\fmt\fmt.vcxproj", "{14B93DC8-FD93-4A6D-81CB-8BC96644501C}"
17
17
  EndProject
18
- Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ReactCommon", "..\node_modules\react-native-windows\ReactCommon\ReactCommon.vcxproj", "{A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}"
18
+ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ReactCommon", "..\{{ rnwPathFromProjectRoot }}\ReactCommon\ReactCommon.vcxproj", "{A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}"
19
19
  ProjectSection(ProjectDependencies) = postProject
20
20
  {A990658C-CE31-4BCC-976F-0FC6B1AF693D} = {A990658C-CE31-4BCC-976F-0FC6B1AF693D}
21
21
  EndProjectSection
22
22
  EndProject
23
- Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Chakra", "..\node_modules\react-native-windows\Chakra\Chakra.vcxitems", "{C38970C0-5FBF-4D69-90D8-CBAC225AE895}"
23
+ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Chakra", "..\{{ rnwPathFromProjectRoot }}\Chakra\Chakra.vcxitems", "{C38970C0-5FBF-4D69-90D8-CBAC225AE895}"
24
24
  EndProject
25
- Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Microsoft.ReactNative", "..\node_modules\react-native-windows\Microsoft.ReactNative\Microsoft.ReactNative.vcxproj", "{F7D32BD0-2749-483E-9A0D-1635EF7E3136}"
25
+ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Microsoft.ReactNative", "..\{{ rnwPathFromProjectRoot }}\Microsoft.ReactNative\Microsoft.ReactNative.vcxproj", "{F7D32BD0-2749-483E-9A0D-1635EF7E3136}"
26
26
  EndProject
27
- Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Microsoft.ReactNative.Cxx", "..\node_modules\react-native-windows\Microsoft.ReactNative.Cxx\Microsoft.ReactNative.Cxx.vcxitems", "{DA8B35B3-DA00-4B02-BDE6-6A397B3FD46B}"
27
+ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Microsoft.ReactNative.Cxx", "..\{{ rnwPathFromProjectRoot }}\Microsoft.ReactNative.Cxx\Microsoft.ReactNative.Cxx.vcxitems", "{DA8B35B3-DA00-4B02-BDE6-6A397B3FD46B}"
28
28
  EndProject
29
- Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Common", "..\node_modules\react-native-windows\Common\Common.vcxproj", "{FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}"
29
+ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Common", "..\{{ rnwPathFromProjectRoot }}\Common\Common.vcxproj", "{FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}"
30
30
  EndProject
31
31
  Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ReactNative", "ReactNative", "{5EA20F54-880A-49F3-99FA-4B3FE54E8AB1}"
32
32
  EndProject
33
- Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Microsoft.ReactNative.Shared", "..\node_modules\react-native-windows\Shared\Shared.vcxitems", "{2049DBE9-8D13-42C9-AE4B-413AE38FFFD0}"
33
+ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Microsoft.ReactNative.Shared", "..\{{ rnwPathFromProjectRoot }}\Shared\Shared.vcxitems", "{2049DBE9-8D13-42C9-AE4B-413AE38FFFD0}"
34
34
  EndProject
35
- Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Mso", "..\node_modules\react-native-windows\Mso\Mso.vcxitems", "{84E05BFA-CBAF-4F0D-BFB6-4CE85742A57E}"
35
+ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Mso", "..\{{ rnwPathFromProjectRoot }}\Mso\Mso.vcxitems", "{84E05BFA-CBAF-4F0D-BFB6-4CE85742A57E}"
36
36
  EndProject
37
- Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Include", "..\node_modules\react-native-windows\include\Include.vcxitems", "{EF074BA1-2D54-4D49-A28E-5E040B47CD2E}"
37
+ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Include", "..\{{ rnwPathFromProjectRoot }}\include\Include.vcxitems", "{EF074BA1-2D54-4D49-A28E-5E040B47CD2E}"
38
38
  EndProject
39
39
  {{/useExperimentalNuget}}
40
40
  Global
41
41
  {{^useExperimentalNuget}}
42
42
  GlobalSection(SharedMSBuildProjectFiles) = preSolution
43
- ..\node_modules\react-native-windows\Shared\Shared.vcxitems*{2049dbe9-8d13-42c9-ae4b-413ae38fffd0}*SharedItemsImports = 9
44
- ..\node_modules\react-native-windows\Mso\Mso.vcxitems*{84e05bfa-cbaf-4f0d-bfb6-4ce85742a57e}*SharedItemsImports = 9
45
- ..\node_modules\react-native-windows\Chakra\Chakra.vcxitems*{c38970c0-5fbf-4d69-90d8-cbac225ae895}*SharedItemsImports = 9
46
- ..\node_modules\react-native-windows\Microsoft.ReactNative.Cxx\Microsoft.ReactNative.Cxx.vcxitems*{da8b35b3-da00-4b02-bde6-6a397b3fd46b}*SharedItemsImports = 9
47
- ..\node_modules\react-native-windows\include\Include.vcxitems*{ef074ba1-2d54-4d49-a28e-5e040b47cd2e}*SharedItemsImports = 9
48
- ..\node_modules\react-native-windows\Chakra\Chakra.vcxitems*{f7d32bd0-2749-483e-9a0d-1635ef7e3136}*SharedItemsImports = 4
49
- ..\node_modules\react-native-windows\Microsoft.ReactNative.Cxx\Microsoft.ReactNative.Cxx.vcxitems*{f7d32bd0-2749-483e-9a0d-1635ef7e3136}*SharedItemsImports = 4
50
- ..\node_modules\react-native-windows\Mso\Mso.vcxitems*{f7d32bd0-2749-483e-9a0d-1635ef7e3136}*SharedItemsImports = 4
51
- ..\node_modules\react-native-windows\Shared\Shared.vcxitems*{f7d32bd0-2749-483e-9a0d-1635ef7e3136}*SharedItemsImports = 4
43
+ ..\{{ rnwPathFromProjectRoot }}\Shared\Shared.vcxitems*{2049dbe9-8d13-42c9-ae4b-413ae38fffd0}*SharedItemsImports = 9
44
+ ..\{{ rnwPathFromProjectRoot }}\Mso\Mso.vcxitems*{84e05bfa-cbaf-4f0d-bfb6-4ce85742a57e}*SharedItemsImports = 9
45
+ ..\{{ rnwPathFromProjectRoot }}\Chakra\Chakra.vcxitems*{c38970c0-5fbf-4d69-90d8-cbac225ae895}*SharedItemsImports = 9
46
+ ..\{{ rnwPathFromProjectRoot }}\Microsoft.ReactNative.Cxx\Microsoft.ReactNative.Cxx.vcxitems*{da8b35b3-da00-4b02-bde6-6a397b3fd46b}*SharedItemsImports = 9
47
+ ..\{{ rnwPathFromProjectRoot }}\include\Include.vcxitems*{ef074ba1-2d54-4d49-a28e-5e040b47cd2e}*SharedItemsImports = 9
48
+ ..\{{ rnwPathFromProjectRoot }}\Chakra\Chakra.vcxitems*{f7d32bd0-2749-483e-9a0d-1635ef7e3136}*SharedItemsImports = 4
49
+ ..\{{ rnwPathFromProjectRoot }}\Microsoft.ReactNative.Cxx\Microsoft.ReactNative.Cxx.vcxitems*{f7d32bd0-2749-483e-9a0d-1635ef7e3136}*SharedItemsImports = 4
50
+ ..\{{ rnwPathFromProjectRoot }}\Mso\Mso.vcxitems*{f7d32bd0-2749-483e-9a0d-1635ef7e3136}*SharedItemsImports = 4
51
+ ..\{{ rnwPathFromProjectRoot }}\Shared\Shared.vcxitems*{f7d32bd0-2749-483e-9a0d-1635ef7e3136}*SharedItemsImports = 4
52
52
  EndGlobalSection
53
53
  {{/useExperimentalNuget}}
54
54
  GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -6,48 +6,48 @@ MinimumVisualStudioVersion = 10.0.40219.1
6
6
  Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "{{ name }}", "{{ name }}\{{ name }}.csproj", "{{ projectGuidUpper }}"
7
7
  EndProject
8
8
  {{^useExperimentalNuget}}
9
- Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Folly", "..\node_modules\react-native-windows\Folly\Folly.vcxproj", "{A990658C-CE31-4BCC-976F-0FC6B1AF693D}"
9
+ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Folly", "..\{{ rnwPathFromProjectRoot }}\Folly\Folly.vcxproj", "{A990658C-CE31-4BCC-976F-0FC6B1AF693D}"
10
10
  EndProject
11
- Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "fmt", "..\node_modules\react-native-windows\fmt\fmt.vcxproj", "{14B93DC8-FD93-4A6D-81CB-8BC96644501C}"
11
+ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "fmt", "..\{{ rnwPathFromProjectRoot }}\fmt\fmt.vcxproj", "{14B93DC8-FD93-4A6D-81CB-8BC96644501C}"
12
12
  EndProject
13
- Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ReactCommon", "..\node_modules\react-native-windows\ReactCommon\ReactCommon.vcxproj", "{A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}"
13
+ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ReactCommon", "..\{{ rnwPathFromProjectRoot }}\ReactCommon\ReactCommon.vcxproj", "{A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}"
14
14
  ProjectSection(ProjectDependencies) = postProject
15
15
  {A990658C-CE31-4BCC-976F-0FC6B1AF693D} = {A990658C-CE31-4BCC-976F-0FC6B1AF693D}
16
16
  EndProjectSection
17
17
  EndProject
18
- Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Chakra", "..\node_modules\react-native-windows\Chakra\Chakra.vcxitems", "{C38970C0-5FBF-4D69-90D8-CBAC225AE895}"
18
+ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Chakra", "..\{{ rnwPathFromProjectRoot }}\Chakra\Chakra.vcxitems", "{C38970C0-5FBF-4D69-90D8-CBAC225AE895}"
19
19
  EndProject
20
- Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Microsoft.ReactNative", "..\node_modules\react-native-windows\Microsoft.ReactNative\Microsoft.ReactNative.vcxproj", "{F7D32BD0-2749-483E-9A0D-1635EF7E3136}"
20
+ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Microsoft.ReactNative", "..\{{ rnwPathFromProjectRoot }}\Microsoft.ReactNative\Microsoft.ReactNative.vcxproj", "{F7D32BD0-2749-483E-9A0D-1635EF7E3136}"
21
21
  EndProject
22
- Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Microsoft.ReactNative.Cxx", "..\node_modules\react-native-windows\Microsoft.ReactNative.Cxx\Microsoft.ReactNative.Cxx.vcxitems", "{DA8B35B3-DA00-4B02-BDE6-6A397B3FD46B}"
22
+ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Microsoft.ReactNative.Cxx", "..\{{ rnwPathFromProjectRoot }}\Microsoft.ReactNative.Cxx\Microsoft.ReactNative.Cxx.vcxitems", "{DA8B35B3-DA00-4B02-BDE6-6A397B3FD46B}"
23
23
  EndProject
24
- Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Common", "..\node_modules\react-native-windows\Common\Common.vcxproj", "{FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}"
24
+ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Common", "..\{{ rnwPathFromProjectRoot }}\Common\Common.vcxproj", "{FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}"
25
25
  EndProject
26
26
  Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ReactNative", "ReactNative", "{5EA20F54-880A-49F3-99FA-4B3FE54E8AB1}"
27
27
  EndProject
28
- Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Microsoft.ReactNative.Shared", "..\node_modules\react-native-windows\Shared\Shared.vcxitems", "{2049DBE9-8D13-42C9-AE4B-413AE38FFFD0}"
28
+ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Microsoft.ReactNative.Shared", "..\{{ rnwPathFromProjectRoot }}\Shared\Shared.vcxitems", "{2049DBE9-8D13-42C9-AE4B-413AE38FFFD0}"
29
29
  EndProject
30
- Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Mso", "..\node_modules\react-native-windows\Mso\Mso.vcxitems", "{84E05BFA-CBAF-4F0D-BFB6-4CE85742A57E}"
30
+ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Mso", "..\{{ rnwPathFromProjectRoot }}\Mso\Mso.vcxitems", "{84E05BFA-CBAF-4F0D-BFB6-4CE85742A57E}"
31
31
  EndProject
32
- Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Include", "..\node_modules\react-native-windows\include\Include.vcxitems", "{EF074BA1-2D54-4D49-A28E-5E040B47CD2E}"
32
+ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Include", "..\{{ rnwPathFromProjectRoot }}\include\Include.vcxitems", "{EF074BA1-2D54-4D49-A28E-5E040B47CD2E}"
33
33
  EndProject
34
- Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.ReactNative.Managed", "..\node_modules\react-native-windows\Microsoft.ReactNative.Managed\Microsoft.ReactNative.Managed.csproj", "{F2824844-CE15-4242-9420-308923CD76C3}"
34
+ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.ReactNative.Managed", "..\{{ rnwPathFromProjectRoot }}\Microsoft.ReactNative.Managed\Microsoft.ReactNative.Managed.csproj", "{F2824844-CE15-4242-9420-308923CD76C3}"
35
35
  EndProject
36
- Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.ReactNative.Managed.CodeGen", "..\node_modules\react-native-windows\Microsoft.ReactNative.Managed.CodeGen\Microsoft.ReactNative.Managed.CodeGen.csproj", "{ADED4FBE-887D-4271-AF24-F0823BCE7961}"
36
+ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.ReactNative.Managed.CodeGen", "..\{{ rnwPathFromProjectRoot }}\Microsoft.ReactNative.Managed.CodeGen\Microsoft.ReactNative.Managed.CodeGen.csproj", "{ADED4FBE-887D-4271-AF24-F0823BCE7961}"
37
37
  EndProject
38
38
  {{/useExperimentalNuget}}
39
39
  Global
40
40
  {{^useExperimentalNuget}}
41
41
  GlobalSection(SharedMSBuildProjectFiles) = preSolution
42
- ..\node_modules\react-native-windows\Shared\Shared.vcxitems*{2049dbe9-8d13-42c9-ae4b-413ae38fffd0}*SharedItemsImports = 9
43
- ..\node_modules\react-native-windows\Mso\Mso.vcxitems*{84e05bfa-cbaf-4f0d-bfb6-4ce85742a57e}*SharedItemsImports = 9
44
- ..\node_modules\react-native-windows\Chakra\Chakra.vcxitems*{c38970c0-5fbf-4d69-90d8-cbac225ae895}*SharedItemsImports = 9
45
- ..\node_modules\react-native-windows\Microsoft.ReactNative.Cxx\Microsoft.ReactNative.Cxx.vcxitems*{da8b35b3-da00-4b02-bde6-6a397b3fd46b}*SharedItemsImports = 9
46
- ..\node_modules\react-native-windows\include\Include.vcxitems*{ef074ba1-2d54-4d49-a28e-5e040b47cd2e}*SharedItemsImports = 9
47
- ..\node_modules\react-native-windows\Chakra\Chakra.vcxitems*{f7d32bd0-2749-483e-9a0d-1635ef7e3136}*SharedItemsImports = 4
48
- ..\node_modules\react-native-windows\Microsoft.ReactNative.Cxx\Microsoft.ReactNative.Cxx.vcxitems*{f7d32bd0-2749-483e-9a0d-1635ef7e3136}*SharedItemsImports = 4
49
- ..\node_modules\react-native-windows\Mso\Mso.vcxitems*{f7d32bd0-2749-483e-9a0d-1635ef7e3136}*SharedItemsImports = 4
50
- ..\node_modules\react-native-windows\Shared\Shared.vcxitems*{f7d32bd0-2749-483e-9a0d-1635ef7e3136}*SharedItemsImports = 4
42
+ ..\{{ rnwPathFromProjectRoot }}\Shared\Shared.vcxitems*{2049dbe9-8d13-42c9-ae4b-413ae38fffd0}*SharedItemsImports = 9
43
+ ..\{{ rnwPathFromProjectRoot }}\Mso\Mso.vcxitems*{84e05bfa-cbaf-4f0d-bfb6-4ce85742a57e}*SharedItemsImports = 9
44
+ ..\{{ rnwPathFromProjectRoot }}\Chakra\Chakra.vcxitems*{c38970c0-5fbf-4d69-90d8-cbac225ae895}*SharedItemsImports = 9
45
+ ..\{{ rnwPathFromProjectRoot }}\Microsoft.ReactNative.Cxx\Microsoft.ReactNative.Cxx.vcxitems*{da8b35b3-da00-4b02-bde6-6a397b3fd46b}*SharedItemsImports = 9
46
+ ..\{{ rnwPathFromProjectRoot }}\include\Include.vcxitems*{ef074ba1-2d54-4d49-a28e-5e040b47cd2e}*SharedItemsImports = 9
47
+ ..\{{ rnwPathFromProjectRoot }}\Chakra\Chakra.vcxitems*{f7d32bd0-2749-483e-9a0d-1635ef7e3136}*SharedItemsImports = 4
48
+ ..\{{ rnwPathFromProjectRoot }}\Microsoft.ReactNative.Cxx\Microsoft.ReactNative.Cxx.vcxitems*{f7d32bd0-2749-483e-9a0d-1635ef7e3136}*SharedItemsImports = 4
49
+ ..\{{ rnwPathFromProjectRoot }}\Mso\Mso.vcxitems*{f7d32bd0-2749-483e-9a0d-1635ef7e3136}*SharedItemsImports = 4
50
+ ..\{{ rnwPathFromProjectRoot }}\Shared\Shared.vcxitems*{f7d32bd0-2749-483e-9a0d-1635ef7e3136}*SharedItemsImports = 4
51
51
  EndGlobalSection
52
52
  {{/useExperimentalNuget}}
53
53
  GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -6,48 +6,48 @@ MinimumVisualStudioVersion = 10.0.40219.1
6
6
  Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "{{ name }}", "{{ name }}\{{ name }}.csproj", "{{ projectGuidUpper }}"
7
7
  EndProject
8
8
  {{^useExperimentalNuget}}
9
- Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Folly", "..\node_modules\react-native-windows\Folly\Folly.vcxproj", "{A990658C-CE31-4BCC-976F-0FC6B1AF693D}"
9
+ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Folly", "..\{{ rnwPathFromProjectRoot }}\Folly\Folly.vcxproj", "{A990658C-CE31-4BCC-976F-0FC6B1AF693D}"
10
10
  EndProject
11
- Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "fmt", "..\node_modules\react-native-windows\fmt\fmt.vcxproj", "{14B93DC8-FD93-4A6D-81CB-8BC96644501C}"
11
+ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "fmt", "..\{{ rnwPathFromProjectRoot }}\fmt\fmt.vcxproj", "{14B93DC8-FD93-4A6D-81CB-8BC96644501C}"
12
12
  EndProject
13
- Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ReactCommon", "..\node_modules\react-native-windows\ReactCommon\ReactCommon.vcxproj", "{A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}"
13
+ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ReactCommon", "..\{{ rnwPathFromProjectRoot }}\ReactCommon\ReactCommon.vcxproj", "{A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}"
14
14
  ProjectSection(ProjectDependencies) = postProject
15
15
  {A990658C-CE31-4BCC-976F-0FC6B1AF693D} = {A990658C-CE31-4BCC-976F-0FC6B1AF693D}
16
16
  EndProjectSection
17
17
  EndProject
18
- Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Chakra", "..\node_modules\react-native-windows\Chakra\Chakra.vcxitems", "{C38970C0-5FBF-4D69-90D8-CBAC225AE895}"
18
+ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Chakra", "..\{{ rnwPathFromProjectRoot }}\Chakra\Chakra.vcxitems", "{C38970C0-5FBF-4D69-90D8-CBAC225AE895}"
19
19
  EndProject
20
- Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Microsoft.ReactNative", "..\node_modules\react-native-windows\Microsoft.ReactNative\Microsoft.ReactNative.vcxproj", "{F7D32BD0-2749-483E-9A0D-1635EF7E3136}"
20
+ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Microsoft.ReactNative", "..\{{ rnwPathFromProjectRoot }}\Microsoft.ReactNative\Microsoft.ReactNative.vcxproj", "{F7D32BD0-2749-483E-9A0D-1635EF7E3136}"
21
21
  EndProject
22
- Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Microsoft.ReactNative.Cxx", "..\node_modules\react-native-windows\Microsoft.ReactNative.Cxx\Microsoft.ReactNative.Cxx.vcxitems", "{DA8B35B3-DA00-4B02-BDE6-6A397B3FD46B}"
22
+ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Microsoft.ReactNative.Cxx", "..\{{ rnwPathFromProjectRoot }}\Microsoft.ReactNative.Cxx\Microsoft.ReactNative.Cxx.vcxitems", "{DA8B35B3-DA00-4B02-BDE6-6A397B3FD46B}"
23
23
  EndProject
24
- Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Common", "..\node_modules\react-native-windows\Common\Common.vcxproj", "{FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}"
24
+ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Common", "..\{{ rnwPathFromProjectRoot }}\Common\Common.vcxproj", "{FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}"
25
25
  EndProject
26
26
  Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ReactNative", "ReactNative", "{5EA20F54-880A-49F3-99FA-4B3FE54E8AB1}"
27
27
  EndProject
28
- Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Microsoft.ReactNative.Shared", "..\node_modules\react-native-windows\Shared\Shared.vcxitems", "{2049DBE9-8D13-42C9-AE4B-413AE38FFFD0}"
28
+ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Microsoft.ReactNative.Shared", "..\{{ rnwPathFromProjectRoot }}\Shared\Shared.vcxitems", "{2049DBE9-8D13-42C9-AE4B-413AE38FFFD0}"
29
29
  EndProject
30
- Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Mso", "..\node_modules\react-native-windows\Mso\Mso.vcxitems", "{84E05BFA-CBAF-4F0D-BFB6-4CE85742A57E}"
30
+ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Mso", "..\{{ rnwPathFromProjectRoot }}\Mso\Mso.vcxitems", "{84E05BFA-CBAF-4F0D-BFB6-4CE85742A57E}"
31
31
  EndProject
32
- Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Include", "..\node_modules\react-native-windows\include\Include.vcxitems", "{EF074BA1-2D54-4D49-A28E-5E040B47CD2E}"
32
+ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Include", "..\{{ rnwPathFromProjectRoot }}\include\Include.vcxitems", "{EF074BA1-2D54-4D49-A28E-5E040B47CD2E}"
33
33
  EndProject
34
- Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.ReactNative.Managed", "..\node_modules\react-native-windows\Microsoft.ReactNative.Managed\Microsoft.ReactNative.Managed.csproj", "{F2824844-CE15-4242-9420-308923CD76C3}"
34
+ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.ReactNative.Managed", "..\{{ rnwPathFromProjectRoot }}\Microsoft.ReactNative.Managed\Microsoft.ReactNative.Managed.csproj", "{F2824844-CE15-4242-9420-308923CD76C3}"
35
35
  EndProject
36
- Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.ReactNative.Managed.CodeGen", "..\node_modules\react-native-windows\Microsoft.ReactNative.Managed.CodeGen\Microsoft.ReactNative.Managed.CodeGen.csproj", "{ADED4FBE-887D-4271-AF24-F0823BCE7961}"
36
+ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.ReactNative.Managed.CodeGen", "..\{{ rnwPathFromProjectRoot }}\Microsoft.ReactNative.Managed.CodeGen\Microsoft.ReactNative.Managed.CodeGen.csproj", "{ADED4FBE-887D-4271-AF24-F0823BCE7961}"
37
37
  EndProject
38
38
  {{/useExperimentalNuget}}
39
39
  Global
40
40
  {{^useExperimentalNuget}}
41
41
  GlobalSection(SharedMSBuildProjectFiles) = preSolution
42
- ..\node_modules\react-native-windows\Shared\Shared.vcxitems*{2049dbe9-8d13-42c9-ae4b-413ae38fffd0}*SharedItemsImports = 9
43
- ..\node_modules\react-native-windows\Mso\Mso.vcxitems*{84e05bfa-cbaf-4f0d-bfb6-4ce85742a57e}*SharedItemsImports = 9
44
- ..\node_modules\react-native-windows\Chakra\Chakra.vcxitems*{c38970c0-5fbf-4d69-90d8-cbac225ae895}*SharedItemsImports = 9
45
- ..\node_modules\react-native-windows\Microsoft.ReactNative.Cxx\Microsoft.ReactNative.Cxx.vcxitems*{da8b35b3-da00-4b02-bde6-6a397b3fd46b}*SharedItemsImports = 9
46
- ..\node_modules\react-native-windows\include\Include.vcxitems*{ef074ba1-2d54-4d49-a28e-5e040b47cd2e}*SharedItemsImports = 9
47
- ..\node_modules\react-native-windows\Chakra\Chakra.vcxitems*{f7d32bd0-2749-483e-9a0d-1635ef7e3136}*SharedItemsImports = 4
48
- ..\node_modules\react-native-windows\Microsoft.ReactNative.Cxx\Microsoft.ReactNative.Cxx.vcxitems*{f7d32bd0-2749-483e-9a0d-1635ef7e3136}*SharedItemsImports = 4
49
- ..\node_modules\react-native-windows\Mso\Mso.vcxitems*{f7d32bd0-2749-483e-9a0d-1635ef7e3136}*SharedItemsImports = 4
50
- ..\node_modules\react-native-windows\Shared\Shared.vcxitems*{f7d32bd0-2749-483e-9a0d-1635ef7e3136}*SharedItemsImports = 4
42
+ ..\{{ rnwPathFromProjectRoot }}\Shared\Shared.vcxitems*{2049dbe9-8d13-42c9-ae4b-413ae38fffd0}*SharedItemsImports = 9
43
+ ..\{{ rnwPathFromProjectRoot }}\Mso\Mso.vcxitems*{84e05bfa-cbaf-4f0d-bfb6-4ce85742a57e}*SharedItemsImports = 9
44
+ ..\{{ rnwPathFromProjectRoot }}\Chakra\Chakra.vcxitems*{c38970c0-5fbf-4d69-90d8-cbac225ae895}*SharedItemsImports = 9
45
+ ..\{{ rnwPathFromProjectRoot }}\Microsoft.ReactNative.Cxx\Microsoft.ReactNative.Cxx.vcxitems*{da8b35b3-da00-4b02-bde6-6a397b3fd46b}*SharedItemsImports = 9
46
+ ..\{{ rnwPathFromProjectRoot }}\include\Include.vcxitems*{ef074ba1-2d54-4d49-a28e-5e040b47cd2e}*SharedItemsImports = 9
47
+ ..\{{ rnwPathFromProjectRoot }}\Chakra\Chakra.vcxitems*{f7d32bd0-2749-483e-9a0d-1635ef7e3136}*SharedItemsImports = 4
48
+ ..\{{ rnwPathFromProjectRoot }}\Microsoft.ReactNative.Cxx\Microsoft.ReactNative.Cxx.vcxitems*{f7d32bd0-2749-483e-9a0d-1635ef7e3136}*SharedItemsImports = 4
49
+ ..\{{ rnwPathFromProjectRoot }}\Mso\Mso.vcxitems*{f7d32bd0-2749-483e-9a0d-1635ef7e3136}*SharedItemsImports = 4
50
+ ..\{{ rnwPathFromProjectRoot }}\Shared\Shared.vcxitems*{f7d32bd0-2749-483e-9a0d-1635ef7e3136}*SharedItemsImports = 4
51
51
  EndGlobalSection
52
52
  {{/useExperimentalNuget}}
53
53
  GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -0,0 +1,13 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <configuration>
3
+ <packageSources>
4
+ <clear />
5
+ {{#addReactNativePublicAdoFeed}}
6
+ <add key="react-native" value="https://pkgs.dev.azure.com/ms/react-native/_packaging/react-native-public/nuget/v3/index.json" />
7
+ {{/addReactNativePublicAdoFeed}}
8
+ <add key="Nuget.org" value="https://api.nuget.org/v3/index.json" />
9
+ </packageSources>
10
+ <disabledPackageSources>
11
+ <clear />
12
+ </disabledPackageSources>
13
+ </configuration>
@@ -20,7 +20,8 @@ const templateUtils = require('../templateUtils');
20
20
  async function preInstall(config = {}, options = {}) {}
21
21
 
22
22
  async function getFileMappings(config = {}, options = {}) {
23
- const {rnwVersion, devMode} = templateUtils.getRnwInfo(config, options);
23
+ const projectRoot = config?.root ?? process.cwd();
24
+ const {rnwPath, rnwVersion, devMode, isCanary} = templateUtils.getRnwInfo(config, options);
24
25
 
25
26
  const projectName =
26
27
  config?.project?.windows?.project?.projectName ?? options?.name ?? 'MyApp';
@@ -48,6 +49,7 @@ async function getFileMappings(config = {}, options = {}) {
48
49
  namespaceCpp: namespaceCpp,
49
50
 
50
51
  rnwVersion: rnwVersion,
52
+ rnwPathFromProjectRoot: path.relative(projectRoot, rnwPath).replace(/\//g, '\\'),
51
53
 
52
54
  mainComponentName,
53
55
 
@@ -64,6 +66,9 @@ async function getFileMappings(config = {}, options = {}) {
64
66
 
65
67
  devMode,
66
68
 
69
+ useNuGets: !devMode, // default is to use published NuGets except in devMode, change to true here if you want to test devMode and nugets simultaneously
70
+ addReactNativePublicAdoFeed: isCanary,
71
+
67
72
  cppNugetPackages,
68
73
  };
69
74
 
@@ -4,6 +4,7 @@
4
4
  <PropertyGroup Label="Microsoft.ReactNative Experimental Features">
5
5
  <UseFabric>true</UseFabric>
6
6
  <UseWinUI3>true</UseWinUI3>
7
+ <UseExperimentalNuget>{{useNuGets}}</UseExperimentalNuget>
7
8
 
8
9
  <ReactExperimentalFeaturesSet>true</ReactExperimentalFeaturesSet>
9
10
  </PropertyGroup>
@@ -6,47 +6,53 @@ MinimumVisualStudioVersion = 10.0.40219.1
6
6
  Project("{C7167F0D-BC9F-4E6E-AFE1-012C56B48DB5}") = "{{ name }}.Package", "{{ name }}.Package\{{ name }}.Package.wapproj", "{{ packageGuidUpper }}"
7
7
  EndProject
8
8
  Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "{{ name }}", "{{ name }}\{{ name }}.vcxproj", "{{ projectGuidUpper }}"
9
+ {{^useNuGets}}
9
10
  ProjectSection(ProjectDependencies) = postProject
10
11
  {F7D32BD0-2749-483E-9A0D-1635EF7E3136} = {F7D32BD0-2749-483E-9A0D-1635EF7E3136}
11
12
  EndProjectSection
13
+ {{/useNuGets}}
12
14
  EndProject
13
- Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Folly", "..\node_modules\react-native-windows\Folly\Folly.vcxproj", "{A990658C-CE31-4BCC-976F-0FC6B1AF693D}"
15
+ {{^useNuGets}}
16
+ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Folly", "..\{{ rnwPathFromProjectRoot }}\Folly\Folly.vcxproj", "{A990658C-CE31-4BCC-976F-0FC6B1AF693D}"
14
17
  EndProject
15
- Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "fmt", "..\node_modules\react-native-windows\fmt\fmt.vcxproj", "{14B93DC8-FD93-4A6D-81CB-8BC96644501C}"
18
+ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "fmt", "..\{{ rnwPathFromProjectRoot }}\fmt\fmt.vcxproj", "{14B93DC8-FD93-4A6D-81CB-8BC96644501C}"
16
19
  EndProject
17
- Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ReactCommon", "..\node_modules\react-native-windows\ReactCommon\ReactCommon.vcxproj", "{A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}"
20
+ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ReactCommon", "..\{{ rnwPathFromProjectRoot }}\ReactCommon\ReactCommon.vcxproj", "{A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}"
18
21
  ProjectSection(ProjectDependencies) = postProject
19
22
  {A990658C-CE31-4BCC-976F-0FC6B1AF693D} = {A990658C-CE31-4BCC-976F-0FC6B1AF693D}
20
23
  EndProjectSection
21
24
  EndProject
22
- Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Chakra", "..\node_modules\react-native-windows\Chakra\Chakra.vcxitems", "{C38970C0-5FBF-4D69-90D8-CBAC225AE895}"
25
+ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Chakra", "..\{{ rnwPathFromProjectRoot }}\Chakra\Chakra.vcxitems", "{C38970C0-5FBF-4D69-90D8-CBAC225AE895}"
23
26
  EndProject
24
- Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Microsoft.ReactNative", "..\node_modules\react-native-windows\Microsoft.ReactNative\Microsoft.ReactNative.vcxproj", "{F7D32BD0-2749-483E-9A0D-1635EF7E3136}"
27
+ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Microsoft.ReactNative", "..\{{ rnwPathFromProjectRoot }}\Microsoft.ReactNative\Microsoft.ReactNative.vcxproj", "{F7D32BD0-2749-483E-9A0D-1635EF7E3136}"
25
28
  EndProject
26
- Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Microsoft.ReactNative.Cxx", "..\node_modules\react-native-windows\Microsoft.ReactNative.Cxx\Microsoft.ReactNative.Cxx.vcxitems", "{DA8B35B3-DA00-4B02-BDE6-6A397B3FD46B}"
29
+ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Microsoft.ReactNative.Cxx", "..\{{ rnwPathFromProjectRoot }}\Microsoft.ReactNative.Cxx\Microsoft.ReactNative.Cxx.vcxitems", "{DA8B35B3-DA00-4B02-BDE6-6A397B3FD46B}"
27
30
  EndProject
28
- Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Common", "..\node_modules\react-native-windows\Common\Common.vcxproj", "{FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}"
31
+ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Common", "..\{{ rnwPathFromProjectRoot }}\Common\Common.vcxproj", "{FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}"
29
32
  EndProject
30
33
  Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ReactNative", "ReactNative", "{5EA20F54-880A-49F3-99FA-4B3FE54E8AB1}"
31
34
  EndProject
32
- Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Microsoft.ReactNative.Shared", "..\node_modules\react-native-windows\Shared\Shared.vcxitems", "{2049DBE9-8D13-42C9-AE4B-413AE38FFFD0}"
35
+ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Microsoft.ReactNative.Shared", "..\{{ rnwPathFromProjectRoot }}\Shared\Shared.vcxitems", "{2049DBE9-8D13-42C9-AE4B-413AE38FFFD0}"
33
36
  EndProject
34
- Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Mso", "..\node_modules\react-native-windows\Mso\Mso.vcxitems", "{84E05BFA-CBAF-4F0D-BFB6-4CE85742A57E}"
37
+ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Mso", "..\{{ rnwPathFromProjectRoot }}\Mso\Mso.vcxitems", "{84E05BFA-CBAF-4F0D-BFB6-4CE85742A57E}"
35
38
  EndProject
36
- Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Include", "..\node_modules\react-native-windows\include\Include.vcxitems", "{EF074BA1-2D54-4D49-A28E-5E040B47CD2E}"
39
+ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Include", "..\{{ rnwPathFromProjectRoot }}\include\Include.vcxitems", "{EF074BA1-2D54-4D49-A28E-5E040B47CD2E}"
37
40
  EndProject
41
+ {{/useNuGets}}
38
42
  Global
43
+ {{^useNuGets}}
39
44
  GlobalSection(SharedMSBuildProjectFiles) = preSolution
40
- ..\node_modules\react-native-windows\Shared\Shared.vcxitems*{2049dbe9-8d13-42c9-ae4b-413ae38fffd0}*SharedItemsImports = 9
41
- ..\node_modules\react-native-windows\Mso\Mso.vcxitems*{84e05bfa-cbaf-4f0d-bfb6-4ce85742a57e}*SharedItemsImports = 9
42
- ..\node_modules\react-native-windows\Chakra\Chakra.vcxitems*{c38970c0-5fbf-4d69-90d8-cbac225ae895}*SharedItemsImports = 9
43
- ..\node_modules\react-native-windows\Microsoft.ReactNative.Cxx\Microsoft.ReactNative.Cxx.vcxitems*{da8b35b3-da00-4b02-bde6-6a397b3fd46b}*SharedItemsImports = 9
44
- ..\node_modules\react-native-windows\include\Include.vcxitems*{ef074ba1-2d54-4d49-a28e-5e040b47cd2e}*SharedItemsImports = 9
45
- ..\node_modules\react-native-windows\Chakra\Chakra.vcxitems*{f7d32bd0-2749-483e-9a0d-1635ef7e3136}*SharedItemsImports = 4
46
- ..\node_modules\react-native-windows\Microsoft.ReactNative.Cxx\Microsoft.ReactNative.Cxx.vcxitems*{f7d32bd0-2749-483e-9a0d-1635ef7e3136}*SharedItemsImports = 4
47
- ..\node_modules\react-native-windows\Mso\Mso.vcxitems*{f7d32bd0-2749-483e-9a0d-1635ef7e3136}*SharedItemsImports = 4
48
- ..\node_modules\react-native-windows\Shared\Shared.vcxitems*{f7d32bd0-2749-483e-9a0d-1635ef7e3136}*SharedItemsImports = 4
45
+ ..\{{ rnwPathFromProjectRoot }}\Shared\Shared.vcxitems*{2049dbe9-8d13-42c9-ae4b-413ae38fffd0}*SharedItemsImports = 9
46
+ ..\{{ rnwPathFromProjectRoot }}\Mso\Mso.vcxitems*{84e05bfa-cbaf-4f0d-bfb6-4ce85742a57e}*SharedItemsImports = 9
47
+ ..\{{ rnwPathFromProjectRoot }}\Chakra\Chakra.vcxitems*{c38970c0-5fbf-4d69-90d8-cbac225ae895}*SharedItemsImports = 9
48
+ ..\{{ rnwPathFromProjectRoot }}\Microsoft.ReactNative.Cxx\Microsoft.ReactNative.Cxx.vcxitems*{da8b35b3-da00-4b02-bde6-6a397b3fd46b}*SharedItemsImports = 9
49
+ ..\{{ rnwPathFromProjectRoot }}\include\Include.vcxitems*{ef074ba1-2d54-4d49-a28e-5e040b47cd2e}*SharedItemsImports = 9
50
+ ..\{{ rnwPathFromProjectRoot }}\Chakra\Chakra.vcxitems*{f7d32bd0-2749-483e-9a0d-1635ef7e3136}*SharedItemsImports = 4
51
+ ..\{{ rnwPathFromProjectRoot }}\Microsoft.ReactNative.Cxx\Microsoft.ReactNative.Cxx.vcxitems*{f7d32bd0-2749-483e-9a0d-1635ef7e3136}*SharedItemsImports = 4
52
+ ..\{{ rnwPathFromProjectRoot }}\Mso\Mso.vcxitems*{f7d32bd0-2749-483e-9a0d-1635ef7e3136}*SharedItemsImports = 4
53
+ ..\{{ rnwPathFromProjectRoot }}\Shared\Shared.vcxitems*{f7d32bd0-2749-483e-9a0d-1635ef7e3136}*SharedItemsImports = 4
49
54
  EndGlobalSection
55
+ {{/useNuGets}}
50
56
  GlobalSection(SolutionConfigurationPlatforms) = preSolution
51
57
  Debug|x64 = Debug|x64
52
58
  Debug|x86 = Debug|x86
@@ -92,6 +98,7 @@ Global
92
98
  {{ projectGuidUpper }}.Release|ARM64.ActiveCfg = Release|ARM64
93
99
  {{ projectGuidUpper }}.Release|ARM64.Build.0 = Release|ARM64
94
100
  {{ projectGuidUpper }}.Release|ARM64.Deploy.0 = Release|ARM64
101
+ {{^useNuGets}}
95
102
  {A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Debug|ARM64.ActiveCfg = Debug|ARM64
96
103
  {A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Debug|ARM64.Build.0 = Debug|ARM64
97
104
  {A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Debug|x64.ActiveCfg = Debug|x64
@@ -154,10 +161,12 @@ Global
154
161
  {14B93DC8-FD93-4A6D-81CB-8BC96644501C}.Release|x86.ActiveCfg = Release|Win32
155
162
  {14B93DC8-FD93-4A6D-81CB-8BC96644501C}.Release|x86.Build.0 = Release|Win32
156
163
  {14B93DC8-FD93-4A6D-81CB-8BC96644501C}.Release|x86.Deploy.0 = Release|Win32
164
+ {{/useNuGets}}
157
165
  EndGlobalSection
158
166
  GlobalSection(SolutionProperties) = preSolution
159
167
  HideSolutionNode = FALSE
160
168
  EndGlobalSection
169
+ {{^useNuGets}}
161
170
  GlobalSection(NestedProjects) = preSolution
162
171
  {A990658C-CE31-4BCC-976F-0FC6B1AF693D} = {5EA20F54-880A-49F3-99FA-4B3FE54E8AB1}
163
172
  {A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD} = {5EA20F54-880A-49F3-99FA-4B3FE54E8AB1}
@@ -170,6 +179,7 @@ Global
170
179
  {EF074BA1-2D54-4D49-A28E-5E040B47CD2E} = {5EA20F54-880A-49F3-99FA-4B3FE54E8AB1}
171
180
  {14B93DC8-FD93-4A6D-81CB-8BC96644501C} = {5EA20F54-880A-49F3-99FA-4B3FE54E8AB1}
172
181
  EndGlobalSection
182
+ {{/useNuGets}}
173
183
  GlobalSection(ExtensibilityGlobals) = postSolution
174
184
  SolutionGuid = {D43FAD39-F619-437D-BB40-04A3982ACB6A}
175
185
  EndGlobalSection
@@ -0,0 +1,13 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <configuration>
3
+ <packageSources>
4
+ <clear />
5
+ {{#addReactNativePublicAdoFeed}}
6
+ <add key="react-native" value="https://pkgs.dev.azure.com/ms/react-native/_packaging/react-native-public/nuget/v3/index.json" />
7
+ {{/addReactNativePublicAdoFeed}}
8
+ <add key="Nuget.org" value="https://api.nuget.org/v3/index.json" />
9
+ </packageSources>
10
+ <disabledPackageSources>
11
+ <clear />
12
+ </disabledPackageSources>
13
+ </configuration>
@@ -0,0 +1,6 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <configuration>
3
+ <!-- This placeholder file is reserved for future use, but also to prevent
4
+ using the config from the cpp-app template, allowing the lib to rely on
5
+ config file added to its root. -->
6
+ </configuration>
@@ -75,7 +75,8 @@ async function getFileMappings(config = {}, options = {}) {
75
75
  options,
76
76
  );
77
77
 
78
- const {rnwVersion, devMode} = templateUtils.getRnwInfo(libConfig, libOptions);
78
+ const projectRoot = libConfig.root ?? process.cwd();
79
+ const {rnwPath, rnwVersion, devMode, isCanary} = templateUtils.getRnwInfo(libConfig, libOptions);
79
80
 
80
81
  const projectName =
81
82
  libConfig?.project?.windows?.projects[0]?.projectName ??
@@ -101,6 +102,7 @@ async function getFileMappings(config = {}, options = {}) {
101
102
  namespaceCpp: namespaceCpp,
102
103
 
103
104
  rnwVersion: rnwVersion,
105
+ rnwPathFromProjectRoot: path.relative(projectRoot, rnwPath).replace(/\//g, '\\'),
104
106
 
105
107
  // Visual Studio is very picky about the casing of the guids for projects, project references and the solution
106
108
  // https://www.bing.com/search?q=visual+studio+project+guid+casing&cvid=311a5ad7f9fc41089507b24600d23ee7&FORM=ANAB01&PC=U531
@@ -112,6 +114,9 @@ async function getFileMappings(config = {}, options = {}) {
112
114
 
113
115
  devMode,
114
116
 
117
+ useNuGets: !devMode, // default is to use published NuGets except in devMode, change to true here if you want to test devMode and nugets simultaneously
118
+ addReactNativePublicAdoFeed: isCanary,
119
+
115
120
  cppNugetPackages,
116
121
  };
117
122
 
@@ -4,6 +4,7 @@
4
4
  <PropertyGroup Label="Microsoft.ReactNative Experimental Features">
5
5
  <UseFabric>true</UseFabric>
6
6
  <UseWinUI3>true</UseWinUI3>
7
+ <UseExperimentalNuget>{{useNuGets}}</UseExperimentalNuget>
7
8
 
8
9
  <ReactExperimentalFeaturesSet>true</ReactExperimentalFeaturesSet>
9
10
  </PropertyGroup>
@@ -4,47 +4,53 @@ Microsoft Visual Studio Solution File, Format Version 12.00
4
4
  VisualStudioVersion = 17.3.32929.385
5
5
  MinimumVisualStudioVersion = 10.0.40219.1
6
6
  Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "{{ name }}", "{{ name }}\{{ name }}.vcxproj", "{{ projectGuidUpper }}"
7
+ {{^useNuGets}}
7
8
  ProjectSection(ProjectDependencies) = postProject
8
9
  {F7D32BD0-2749-483E-9A0D-1635EF7E3136} = {F7D32BD0-2749-483E-9A0D-1635EF7E3136}
9
10
  EndProjectSection
11
+ {{/useNuGets}}
10
12
  EndProject
11
- Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Folly", "..\node_modules\react-native-windows\Folly\Folly.vcxproj", "{A990658C-CE31-4BCC-976F-0FC6B1AF693D}"
13
+ {{^useNuGets}}
14
+ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Folly", "..\{{ rnwPathFromProjectRoot }}\Folly\Folly.vcxproj", "{A990658C-CE31-4BCC-976F-0FC6B1AF693D}"
12
15
  EndProject
13
- Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "fmt", "..\node_modules\react-native-windows\fmt\fmt.vcxproj", "{14B93DC8-FD93-4A6D-81CB-8BC96644501C}"
16
+ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "fmt", "..\{{ rnwPathFromProjectRoot }}\fmt\fmt.vcxproj", "{14B93DC8-FD93-4A6D-81CB-8BC96644501C}"
14
17
  EndProject
15
- Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ReactCommon", "..\node_modules\react-native-windows\ReactCommon\ReactCommon.vcxproj", "{A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}"
18
+ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ReactCommon", "..\{{ rnwPathFromProjectRoot }}\ReactCommon\ReactCommon.vcxproj", "{A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}"
16
19
  ProjectSection(ProjectDependencies) = postProject
17
20
  {A990658C-CE31-4BCC-976F-0FC6B1AF693D} = {A990658C-CE31-4BCC-976F-0FC6B1AF693D}
18
21
  EndProjectSection
19
22
  EndProject
20
- Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Chakra", "..\node_modules\react-native-windows\Chakra\Chakra.vcxitems", "{C38970C0-5FBF-4D69-90D8-CBAC225AE895}"
23
+ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Chakra", "..\{{ rnwPathFromProjectRoot }}\Chakra\Chakra.vcxitems", "{C38970C0-5FBF-4D69-90D8-CBAC225AE895}"
21
24
  EndProject
22
- Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Microsoft.ReactNative", "..\node_modules\react-native-windows\Microsoft.ReactNative\Microsoft.ReactNative.vcxproj", "{F7D32BD0-2749-483E-9A0D-1635EF7E3136}"
25
+ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Microsoft.ReactNative", "..\{{ rnwPathFromProjectRoot }}\Microsoft.ReactNative\Microsoft.ReactNative.vcxproj", "{F7D32BD0-2749-483E-9A0D-1635EF7E3136}"
23
26
  EndProject
24
- Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Microsoft.ReactNative.Cxx", "..\node_modules\react-native-windows\Microsoft.ReactNative.Cxx\Microsoft.ReactNative.Cxx.vcxitems", "{DA8B35B3-DA00-4B02-BDE6-6A397B3FD46B}"
27
+ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Microsoft.ReactNative.Cxx", "..\{{ rnwPathFromProjectRoot }}\Microsoft.ReactNative.Cxx\Microsoft.ReactNative.Cxx.vcxitems", "{DA8B35B3-DA00-4B02-BDE6-6A397B3FD46B}"
25
28
  EndProject
26
- Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Common", "..\node_modules\react-native-windows\Common\Common.vcxproj", "{FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}"
29
+ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Common", "..\{{ rnwPathFromProjectRoot }}\Common\Common.vcxproj", "{FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}"
27
30
  EndProject
28
31
  Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ReactNative", "ReactNative", "{5EA20F54-880A-49F3-99FA-4B3FE54E8AB1}"
29
32
  EndProject
30
- Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Microsoft.ReactNative.Shared", "..\node_modules\react-native-windows\Shared\Shared.vcxitems", "{2049DBE9-8D13-42C9-AE4B-413AE38FFFD0}"
33
+ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Microsoft.ReactNative.Shared", "..\{{ rnwPathFromProjectRoot }}\Shared\Shared.vcxitems", "{2049DBE9-8D13-42C9-AE4B-413AE38FFFD0}"
31
34
  EndProject
32
- Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Mso", "..\node_modules\react-native-windows\Mso\Mso.vcxitems", "{84E05BFA-CBAF-4F0D-BFB6-4CE85742A57E}"
35
+ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Mso", "..\{{ rnwPathFromProjectRoot }}\Mso\Mso.vcxitems", "{84E05BFA-CBAF-4F0D-BFB6-4CE85742A57E}"
33
36
  EndProject
34
- Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Include", "..\node_modules\react-native-windows\include\Include.vcxitems", "{EF074BA1-2D54-4D49-A28E-5E040B47CD2E}"
37
+ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Include", "..\{{ rnwPathFromProjectRoot }}\include\Include.vcxitems", "{EF074BA1-2D54-4D49-A28E-5E040B47CD2E}"
35
38
  EndProject
39
+ {{/useNuGets}}
36
40
  Global
41
+ {{^useNuGets}}
37
42
  GlobalSection(SharedMSBuildProjectFiles) = preSolution
38
- ..\node_modules\react-native-windows\Shared\Shared.vcxitems*{2049dbe9-8d13-42c9-ae4b-413ae38fffd0}*SharedItemsImports = 9
39
- ..\node_modules\react-native-windows\Mso\Mso.vcxitems*{84e05bfa-cbaf-4f0d-bfb6-4ce85742a57e}*SharedItemsImports = 9
40
- ..\node_modules\react-native-windows\Chakra\Chakra.vcxitems*{c38970c0-5fbf-4d69-90d8-cbac225ae895}*SharedItemsImports = 9
41
- ..\node_modules\react-native-windows\Microsoft.ReactNative.Cxx\Microsoft.ReactNative.Cxx.vcxitems*{da8b35b3-da00-4b02-bde6-6a397b3fd46b}*SharedItemsImports = 9
42
- ..\node_modules\react-native-windows\include\Include.vcxitems*{ef074ba1-2d54-4d49-a28e-5e040b47cd2e}*SharedItemsImports = 9
43
- ..\node_modules\react-native-windows\Chakra\Chakra.vcxitems*{f7d32bd0-2749-483e-9a0d-1635ef7e3136}*SharedItemsImports = 4
44
- ..\node_modules\react-native-windows\Microsoft.ReactNative.Cxx\Microsoft.ReactNative.Cxx.vcxitems*{f7d32bd0-2749-483e-9a0d-1635ef7e3136}*SharedItemsImports = 4
45
- ..\node_modules\react-native-windows\Mso\Mso.vcxitems*{f7d32bd0-2749-483e-9a0d-1635ef7e3136}*SharedItemsImports = 4
46
- ..\node_modules\react-native-windows\Shared\Shared.vcxitems*{f7d32bd0-2749-483e-9a0d-1635ef7e3136}*SharedItemsImports = 4
43
+ ..\{{ rnwPathFromProjectRoot }}\Shared\Shared.vcxitems*{2049dbe9-8d13-42c9-ae4b-413ae38fffd0}*SharedItemsImports = 9
44
+ ..\{{ rnwPathFromProjectRoot }}\Mso\Mso.vcxitems*{84e05bfa-cbaf-4f0d-bfb6-4ce85742a57e}*SharedItemsImports = 9
45
+ ..\{{ rnwPathFromProjectRoot }}\Chakra\Chakra.vcxitems*{c38970c0-5fbf-4d69-90d8-cbac225ae895}*SharedItemsImports = 9
46
+ ..\{{ rnwPathFromProjectRoot }}\Microsoft.ReactNative.Cxx\Microsoft.ReactNative.Cxx.vcxitems*{da8b35b3-da00-4b02-bde6-6a397b3fd46b}*SharedItemsImports = 9
47
+ ..\{{ rnwPathFromProjectRoot }}\include\Include.vcxitems*{ef074ba1-2d54-4d49-a28e-5e040b47cd2e}*SharedItemsImports = 9
48
+ ..\{{ rnwPathFromProjectRoot }}\Chakra\Chakra.vcxitems*{f7d32bd0-2749-483e-9a0d-1635ef7e3136}*SharedItemsImports = 4
49
+ ..\{{ rnwPathFromProjectRoot }}\Microsoft.ReactNative.Cxx\Microsoft.ReactNative.Cxx.vcxitems*{f7d32bd0-2749-483e-9a0d-1635ef7e3136}*SharedItemsImports = 4
50
+ ..\{{ rnwPathFromProjectRoot }}\Mso\Mso.vcxitems*{f7d32bd0-2749-483e-9a0d-1635ef7e3136}*SharedItemsImports = 4
51
+ ..\{{ rnwPathFromProjectRoot }}\Shared\Shared.vcxitems*{f7d32bd0-2749-483e-9a0d-1635ef7e3136}*SharedItemsImports = 4
47
52
  EndGlobalSection
53
+ {{/useNuGets}}
48
54
  GlobalSection(SolutionConfigurationPlatforms) = preSolution
49
55
  Debug|x64 = Debug|x64
50
56
  Debug|x86 = Debug|x86
@@ -54,24 +60,25 @@ Global
54
60
  Release|ARM64 = Release|ARM64
55
61
  EndGlobalSection
56
62
  GlobalSection(ProjectConfigurationPlatforms) = postSolution
57
- {{ projectGuidUpper }}.Debug|ARM64.ActiveCfg = Debug|ARM64
58
- {{ projectGuidUpper }}.Debug|ARM64.Build.0 = Debug|ARM64
59
- {{ projectGuidUpper }}.Debug|ARM64.Deploy.0 = Debug|ARM64
60
63
  {{ projectGuidUpper }}.Debug|x64.ActiveCfg = Debug|x64
61
64
  {{ projectGuidUpper }}.Debug|x64.Build.0 = Debug|x64
62
65
  {{ projectGuidUpper }}.Debug|x64.Deploy.0 = Debug|x64
63
66
  {{ projectGuidUpper }}.Debug|x86.ActiveCfg = Debug|Win32
64
67
  {{ projectGuidUpper }}.Debug|x86.Build.0 = Debug|Win32
65
68
  {{ projectGuidUpper }}.Debug|x86.Deploy.0 = Debug|Win32
66
- {{ projectGuidUpper }}.Release|ARM64.ActiveCfg = Release|ARM64
67
- {{ projectGuidUpper }}.Release|ARM64.Build.0 = Release|ARM64
68
- {{ projectGuidUpper }}.Release|ARM64.Deploy.0 = Release|ARM64
69
+ {{ projectGuidUpper }}.Debug|ARM64.ActiveCfg = Debug|ARM64
70
+ {{ projectGuidUpper }}.Debug|ARM64.Build.0 = Debug|ARM64
71
+ {{ projectGuidUpper }}.Debug|ARM64.Deploy.0 = Debug|ARM64
69
72
  {{ projectGuidUpper }}.Release|x64.ActiveCfg = Release|x64
70
73
  {{ projectGuidUpper }}.Release|x64.Build.0 = Release|x64
71
74
  {{ projectGuidUpper }}.Release|x64.Deploy.0 = Release|x64
72
75
  {{ projectGuidUpper }}.Release|x86.ActiveCfg = Release|Win32
73
76
  {{ projectGuidUpper }}.Release|x86.Build.0 = Release|Win32
74
77
  {{ projectGuidUpper }}.Release|x86.Deploy.0 = Release|Win32
78
+ {{ projectGuidUpper }}.Release|ARM64.ActiveCfg = Release|ARM64
79
+ {{ projectGuidUpper }}.Release|ARM64.Build.0 = Release|ARM64
80
+ {{ projectGuidUpper }}.Release|ARM64.Deploy.0 = Release|ARM64
81
+ {{^useNuGets}}
75
82
  {A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Debug|ARM64.ActiveCfg = Debug|ARM64
76
83
  {A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Debug|ARM64.Build.0 = Debug|ARM64
77
84
  {A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Debug|x64.ActiveCfg = Debug|x64
@@ -134,10 +141,12 @@ Global
134
141
  {14B93DC8-FD93-4A6D-81CB-8BC96644501C}.Release|x86.ActiveCfg = Release|Win32
135
142
  {14B93DC8-FD93-4A6D-81CB-8BC96644501C}.Release|x86.Build.0 = Release|Win32
136
143
  {14B93DC8-FD93-4A6D-81CB-8BC96644501C}.Release|x86.Deploy.0 = Release|Win32
144
+ {{/useNuGets}}
137
145
  EndGlobalSection
138
146
  GlobalSection(SolutionProperties) = preSolution
139
147
  HideSolutionNode = FALSE
140
148
  EndGlobalSection
149
+ {{^useNuGets}}
141
150
  GlobalSection(NestedProjects) = preSolution
142
151
  {A990658C-CE31-4BCC-976F-0FC6B1AF693D} = {5EA20F54-880A-49F3-99FA-4B3FE54E8AB1}
143
152
  {A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD} = {5EA20F54-880A-49F3-99FA-4B3FE54E8AB1}
@@ -150,6 +159,7 @@ Global
150
159
  {EF074BA1-2D54-4D49-A28E-5E040B47CD2E} = {5EA20F54-880A-49F3-99FA-4B3FE54E8AB1}
151
160
  {14B93DC8-FD93-4A6D-81CB-8BC96644501C} = {5EA20F54-880A-49F3-99FA-4B3FE54E8AB1}
152
161
  EndGlobalSection
162
+ {{/useNuGets}}
153
163
  GlobalSection(ExtensibilityGlobals) = postSolution
154
164
  SolutionGuid = {D43FAD39-F619-437D-BB40-04A3982ACB6A}
155
165
  EndGlobalSection
@@ -41,9 +41,9 @@ function makeGenerateWindowsWrapper(
41
41
  language,
42
42
  projectType,
43
43
  experimentalNuGetDependency:
44
- experimentalFeatures?.UseExperimentalNuget ?? false,
45
- useWinUI3: experimentalFeatures?.UseWinUI3 ?? false,
46
- useHermes: experimentalFeatures?.UseHermes ?? true,
44
+ experimentalFeatures?.UseExperimentalNuget === 'true' ?? false,
45
+ useWinUI3: experimentalFeatures?.UseWinUI3 === 'true' ?? false,
46
+ useHermes: experimentalFeatures?.UseHermes === 'true' ?? true,
47
47
  useDevMode: rnwInfo.devMode,
48
48
  verbose: !!options.logging,
49
49
  telemetry: !!options.telemetry,
@@ -30,6 +30,8 @@ function getRnwInfo(config = {}, options = {}) {
30
30
 
31
31
  const devMode = existsSync(path.join(rnwPath, 'src-win'));
32
32
 
33
+ const isCanary = rnwVersion.includes('canary');
34
+
33
35
  if (options?.logging) {
34
36
  console.log(
35
37
  `Found react-native-windows@${rnwVersion} at ${rnwPath}${
@@ -38,7 +40,7 @@ function getRnwInfo(config = {}, options = {}) {
38
40
  );
39
41
  }
40
42
 
41
- return {rnwPath, rnwVersion, devMode};
43
+ return {rnwPath, rnwVersion, devMode, isCanary};
42
44
  }
43
45
 
44
46
  function getWindowsProjectConfig(root) {