react-native-windows 0.71.17 → 0.71.18
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.
- package/Directory.Build.props +5 -0
- package/Microsoft.ReactNative/IReactDispatcher.cpp +4 -0
- package/Microsoft.ReactNative/IReactDispatcher.h +1 -0
- package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj +2 -4
- package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.cpp +31 -11
- package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.h +0 -2
- package/Microsoft.ReactNative/Views/DevMenu.cpp +3 -3
- package/Microsoft.ReactNative.Cxx/JSI/NodeApiJsiLoader.cpp +16 -0
- package/Microsoft.ReactNative.Cxx/Microsoft.ReactNative.Cxx.vcxitems +43 -12
- package/Microsoft.ReactNative.Cxx/Microsoft.ReactNative.Cxx.vcxitems.filters +17 -6
- package/Microsoft.ReactNative.Managed/packages.lock.json +8 -8
- package/PropertySheets/External/Microsoft.ReactNative.Uwp.CSharpApp.targets +1 -1
- package/PropertySheets/External/Microsoft.ReactNative.Uwp.CppApp.targets +1 -1
- package/PropertySheets/External/Microsoft.ReactNative.WinAppSDK.CSharpApp.targets +1 -1
- package/PropertySheets/Generated/PackageVersion.g.props +3 -3
- package/PropertySheets/JSEngine.props +4 -4
- package/PropertySheets/React.Cpp.props +1 -0
- package/PropertySheets/Warnings.props +6 -0
- package/ReactCommon/ReactCommon.vcxproj +53 -1
- package/ReactCommon/cgmanifest.json +15 -0
- package/Scripts/Tfs/Layout-MSRN-Headers.ps1 +36 -0
- package/Shared/DevSupportManager.cpp +2 -9
- package/Shared/DevSupportManager.h +2 -6
- package/Shared/HermesRuntimeHolder.cpp +344 -84
- package/Shared/HermesRuntimeHolder.h +32 -21
- package/Shared/HermesSamplingProfiler.cpp +66 -14
- package/Shared/HermesSamplingProfiler.h +5 -3
- package/Shared/InspectorPackagerConnection.cpp +62 -108
- package/Shared/InspectorPackagerConnection.h +9 -21
- package/Shared/JSI/RuntimeHolder.h +2 -2
- package/Shared/JSI/ScriptStore.h +18 -20
- package/Shared/JSI/V8RuntimeHolder.cpp +262 -0
- package/Shared/JSI/V8RuntimeHolder.h +37 -0
- package/Shared/OInstance.cpp +17 -33
- package/Shared/SafeLoadLibrary.cpp +41 -0
- package/Shared/SafeLoadLibrary.h +15 -0
- package/Shared/Shared.vcxitems +19 -8
- package/Shared/Shared.vcxitems.filters +23 -30
- package/package.json +2 -2
- package/template/cs-app-WinAppSDK/proj/ExperimentalFeatures.props +1 -1
- package/Microsoft.ReactNative.Cxx/JSI/NodeApiJsiRuntime.cpp +0 -2103
- package/Microsoft.ReactNative.Cxx/JSI/NodeApiJsiRuntime.h +0 -73
- package/Shared/HermesShim.cpp +0 -118
- package/Shared/HermesShim.h +0 -21
- package/Shared/JSI/NapiJsiV8RuntimeHolder.cpp +0 -209
- package/Shared/JSI/NapiJsiV8RuntimeHolder.h +0 -44
- package/Shared/V8JSIRuntimeHolder.cpp +0 -70
- package/Shared/V8JSIRuntimeHolder.h +0 -53
package/Directory.Build.props
CHANGED
|
@@ -21,6 +21,8 @@
|
|
|
21
21
|
<!-- When bumping the fmt version, be sure to bump the git hash of that version's commit and build fmt.vcxproj (to update its cgmanifest.json) too. -->
|
|
22
22
|
<FmtVersion>8.0.0</FmtVersion>
|
|
23
23
|
<FmtCommitHash>9e8b86fd2d9806672cc73133d21780dd182bfd24</FmtCommitHash>
|
|
24
|
+
<!-- Commit hash for https://github.com/microsoft/node-api-jsi code. -->
|
|
25
|
+
<NodeApiJsiCommitHash>53b897b03c1c7e57c3372acc6234447a44e150d6</NodeApiJsiCommitHash>
|
|
24
26
|
</PropertyGroup>
|
|
25
27
|
|
|
26
28
|
<!--
|
|
@@ -40,6 +42,9 @@
|
|
|
40
42
|
|
|
41
43
|
<FmtDir Condition="'$(FmtDir)' == '' AND Exists('$([MSBuild]::NormalizeDirectory($(ReactNativeDir)..\..\node_modules))')">$(ReactNativeDir)..\..\node_modules\.fmt\fmt-$(FmtVersion)</FmtDir>
|
|
42
44
|
<FmtDir>$([MSBuild]::NormalizeDirectory($(FmtDir)))</FmtDir>
|
|
45
|
+
|
|
46
|
+
<NodeApiJsiDir Condition="'$(NodeApiJsiDir)' == '' AND Exists('$([MSBuild]::NormalizeDirectory($(ReactNativeDir)..\..\node_modules))')">$(ReactNativeDir)..\..\node_modules\.node-api-jsi\node-api-jsi-$(NodeApiJsiCommitHash)</NodeApiJsiDir>
|
|
47
|
+
<NodeApiJsiDir>$([MSBuild]::NormalizeDirectory($(NodeApiJsiDir)))</NodeApiJsiDir>
|
|
43
48
|
</PropertyGroup>
|
|
44
49
|
|
|
45
50
|
<PropertyGroup Label="Configuration">
|
|
@@ -124,6 +124,10 @@ void ReactDispatcher::InvokeElsePost(Mso::DispatchTask &&task) const noexcept {
|
|
|
124
124
|
return jsThreadDispatcherProperty;
|
|
125
125
|
}
|
|
126
126
|
|
|
127
|
+
/*static*/ IReactDispatcher ReactDispatcher::GetJSDispatcher(IReactPropertyBag const &properties) noexcept {
|
|
128
|
+
return properties.Get(JSDispatcherProperty()).try_as<IReactDispatcher>();
|
|
129
|
+
}
|
|
130
|
+
|
|
127
131
|
/*static*/ IReactPropertyName ReactDispatcher::JSDispatcherTaskStartingEventName() noexcept {
|
|
128
132
|
static IReactPropertyName jsThreadDispatcherProperty{ReactPropertyBagHelper::GetName(
|
|
129
133
|
ReactPropertyBagHelper::GetNamespace(L"ReactNative.Dispatcher"), L"JSDispatcherTaskStartingEventName")};
|
|
@@ -38,6 +38,7 @@ struct ReactDispatcher : implements<ReactDispatcher, IReactDispatcher, Mso::Reac
|
|
|
38
38
|
static void SetUIThreadDispatcher(IReactPropertyBag const &properties) noexcept;
|
|
39
39
|
|
|
40
40
|
static IReactPropertyName JSDispatcherProperty() noexcept;
|
|
41
|
+
static IReactDispatcher GetJSDispatcher(IReactPropertyBag const &properties) noexcept;
|
|
41
42
|
static IReactPropertyName JSDispatcherTaskStartingEventName() noexcept;
|
|
42
43
|
static IReactPropertyName JSDispatcherIdleWaitStartingEventName() noexcept;
|
|
43
44
|
static IReactPropertyName JSDispatcherIdleWaitCompletedEventName() noexcept;
|
|
@@ -18,6 +18,7 @@
|
|
|
18
18
|
<CppWinRTNamespaceMergeDepth>
|
|
19
19
|
</CppWinRTNamespaceMergeDepth>
|
|
20
20
|
<CppWinRTLibs>true</CppWinRTLibs>
|
|
21
|
+
<BuildMSRNCxxModule>false</BuildMSRNCxxModule>
|
|
21
22
|
<BuildMSRNCxxReactCommon>false</BuildMSRNCxxReactCommon>
|
|
22
23
|
<DesktopCompatible Condition="'$(UseWinUI3)'=='true'">true</DesktopCompatible>
|
|
23
24
|
</PropertyGroup>
|
|
@@ -220,9 +221,6 @@
|
|
|
220
221
|
<DependentUpon>IReactNotificationService.idl</DependentUpon>
|
|
221
222
|
<SubType>Code</SubType>
|
|
222
223
|
</ClInclude>
|
|
223
|
-
<ClInclude Include="JsiApi.h">
|
|
224
|
-
<DependentUpon>JsiApi.idl</DependentUpon>
|
|
225
|
-
</ClInclude>
|
|
226
224
|
<ClInclude Include="JsiReader.h">
|
|
227
225
|
<DependentUpon>IJSValueReader.idl</DependentUpon>
|
|
228
226
|
</ClInclude>
|
|
@@ -747,7 +745,7 @@
|
|
|
747
745
|
<ItemGroup>
|
|
748
746
|
<PackageReference Include="boost" Version="1.76.0.0" />
|
|
749
747
|
<PackageReference Include="Microsoft.Windows.CppWinRT" Version="$(CppWinRTVersion)" PrivateAssets="all" />
|
|
750
|
-
<PackageReference Include="
|
|
748
|
+
<PackageReference Include="Microsoft.JavaScript.Hermes" Version="$(HermesVersion)" />
|
|
751
749
|
<PackageReference Include="$(WinUIPackageName)" Version="$(WinUIPackageVersion)" Condition="'$(OverrideWinUIPackage)'!='true'" />
|
|
752
750
|
<PackageReference Include="Microsoft.Windows.SDK.BuildTools" Version="10.0.22000.194" />
|
|
753
751
|
</ItemGroup>
|
|
@@ -65,12 +65,12 @@
|
|
|
65
65
|
#include <Utils/UwpScriptStore.h>
|
|
66
66
|
#endif
|
|
67
67
|
|
|
68
|
+
#include "BaseScriptStoreImpl.h"
|
|
68
69
|
#include "HermesRuntimeHolder.h"
|
|
69
70
|
|
|
70
71
|
#if defined(USE_V8)
|
|
71
72
|
#include <winrt/Windows.Storage.h>
|
|
72
|
-
#include "
|
|
73
|
-
#include "V8JSIRuntimeHolder.h"
|
|
73
|
+
#include "JSI/V8RuntimeHolder.h"
|
|
74
74
|
#endif // USE_V8
|
|
75
75
|
|
|
76
76
|
#include "RedBox.h"
|
|
@@ -246,6 +246,7 @@ ReactInstanceWin::ReactInstanceWin(
|
|
|
246
246
|
onDestroyed = m_options.OnInstanceDestroyed,
|
|
247
247
|
reactContext = m_reactContext]() noexcept {
|
|
248
248
|
whenLoaded.TryCancel(); // It only has an effect if whenLoaded was not set before
|
|
249
|
+
Microsoft::ReactNative::HermesRuntimeHolder::storeTo(ReactPropertyBag(reactContext->Properties()), nullptr);
|
|
249
250
|
if (onDestroyed) {
|
|
250
251
|
onDestroyed.Get()->Invoke(reactContext);
|
|
251
252
|
}
|
|
@@ -465,10 +466,26 @@ void ReactInstanceWin::Initialize() noexcept {
|
|
|
465
466
|
std::unique_ptr<facebook::jsi::PreparedScriptStore> preparedScriptStore = nullptr;
|
|
466
467
|
|
|
467
468
|
switch (m_options.JsiEngine()) {
|
|
468
|
-
case JSIEngine::Hermes:
|
|
469
|
-
|
|
470
|
-
|
|
469
|
+
case JSIEngine::Hermes: {
|
|
470
|
+
// TODO: Should we use UwpPreparedScriptStore?
|
|
471
|
+
if (Microsoft::ReactNative::HasPackageIdentity()) {
|
|
472
|
+
preparedScriptStore =
|
|
473
|
+
std::make_unique<facebook::react::BasePreparedScriptStoreImpl>(getApplicationTempFolder());
|
|
474
|
+
} else {
|
|
475
|
+
wchar_t tempPath[MAX_PATH];
|
|
476
|
+
if (GetTempPathW(static_cast<DWORD>(std::size(tempPath)), tempPath)) {
|
|
477
|
+
preparedScriptStore =
|
|
478
|
+
std::make_unique<facebook::react::BasePreparedScriptStoreImpl>(winrt::to_string(tempPath));
|
|
479
|
+
}
|
|
480
|
+
}
|
|
481
|
+
|
|
482
|
+
auto hermesRuntimeHolder = std::make_shared<Microsoft::ReactNative::HermesRuntimeHolder>(
|
|
483
|
+
devSettings, m_jsMessageThread.Load(), std::move(preparedScriptStore));
|
|
484
|
+
Microsoft::ReactNative::HermesRuntimeHolder::storeTo(
|
|
485
|
+
ReactPropertyBag(m_reactContext->Properties()), hermesRuntimeHolder);
|
|
486
|
+
devSettings->jsiRuntimeHolder = hermesRuntimeHolder;
|
|
471
487
|
break;
|
|
488
|
+
}
|
|
472
489
|
case JSIEngine::V8:
|
|
473
490
|
#if defined(USE_V8)
|
|
474
491
|
{
|
|
@@ -482,10 +499,16 @@ void ReactInstanceWin::Initialize() noexcept {
|
|
|
482
499
|
std::make_unique<facebook::react::BasePreparedScriptStoreImpl>(winrt::to_string(tempPath));
|
|
483
500
|
}
|
|
484
501
|
}
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
502
|
+
|
|
503
|
+
bool enableMultiThreadSupport{false};
|
|
504
|
+
#ifdef USE_FABRIC
|
|
505
|
+
enableMultiThreadSupport = Microsoft::ReactNative::IsFabricEnabled(m_reactContext->Properties());
|
|
506
|
+
#endif // USE_FABRIC
|
|
507
|
+
|
|
508
|
+
devSettings->jsiRuntimeHolder = std::make_shared<Microsoft::ReactNative::V8RuntimeHolder>(
|
|
509
|
+
devSettings, m_jsMessageThread.Load(), std::move(preparedScriptStore), enableMultiThreadSupport);
|
|
488
510
|
break;
|
|
511
|
+
}
|
|
489
512
|
#endif // USE_V8
|
|
490
513
|
case JSIEngine::Chakra:
|
|
491
514
|
#ifndef CORE_ABI
|
|
@@ -1068,13 +1091,10 @@ Mso::CntPtr<IReactInstanceInternal> MakeReactInstance(
|
|
|
1068
1091
|
reactHost, std::move(options), std::move(whenCreated), std::move(whenLoaded), std::move(updateUI));
|
|
1069
1092
|
}
|
|
1070
1093
|
|
|
1071
|
-
#if defined(USE_V8)
|
|
1072
1094
|
std::string ReactInstanceWin::getApplicationTempFolder() {
|
|
1073
1095
|
auto local = winrt::Windows::Storage::ApplicationData::Current().TemporaryFolder().Path();
|
|
1074
|
-
|
|
1075
1096
|
return Microsoft::Common::Unicode::Utf16ToUtf8(local.c_str(), local.size()) + "\\";
|
|
1076
1097
|
}
|
|
1077
|
-
#endif
|
|
1078
1098
|
|
|
1079
1099
|
bool ReactInstanceWin::UseWebDebugger() const noexcept {
|
|
1080
1100
|
return m_useWebDebugger;
|
|
@@ -136,9 +136,7 @@ class ReactInstanceWin final : public Mso::ActiveObject<IReactInstanceInternal>
|
|
|
136
136
|
folly::dynamic Args;
|
|
137
137
|
};
|
|
138
138
|
|
|
139
|
-
#if defined(USE_V8)
|
|
140
139
|
static std::string getApplicationTempFolder();
|
|
141
|
-
#endif
|
|
142
140
|
|
|
143
141
|
private: // immutable fields
|
|
144
142
|
const Mso::WeakPtr<IReactHost> m_weakReactHost;
|
|
@@ -119,7 +119,7 @@ void DevMenuManager::CreateAndShowUI() noexcept {
|
|
|
119
119
|
|
|
120
120
|
std::ostringstream os;
|
|
121
121
|
if (Microsoft::ReactNative::HermesSamplingProfiler::IsStarted()) {
|
|
122
|
-
os << "Hermes Sampling profiler is running
|
|
122
|
+
os << "Hermes Sampling profiler is running!";
|
|
123
123
|
} else {
|
|
124
124
|
os << "Click to start.";
|
|
125
125
|
}
|
|
@@ -210,9 +210,9 @@ void DevMenuManager::CreateAndShowUI() noexcept {
|
|
|
210
210
|
if (auto strongThis = wkThis.lock()) {
|
|
211
211
|
strongThis->Hide();
|
|
212
212
|
if (!Microsoft::ReactNative::HermesSamplingProfiler::IsStarted()) {
|
|
213
|
-
Microsoft::ReactNative::HermesSamplingProfiler::Start();
|
|
213
|
+
Microsoft::ReactNative::HermesSamplingProfiler::Start(strongThis->m_context);
|
|
214
214
|
} else {
|
|
215
|
-
auto traceFilePath = co_await Microsoft::ReactNative::HermesSamplingProfiler::Stop();
|
|
215
|
+
auto traceFilePath = co_await Microsoft::ReactNative::HermesSamplingProfiler::Stop(strongThis->m_context);
|
|
216
216
|
auto uiDispatcher =
|
|
217
217
|
React::implementation::ReactDispatcher::GetUIDispatcher(strongThis->m_context->Properties());
|
|
218
218
|
uiDispatcher.Post([traceFilePath]() {
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
// Copyright (c) Microsoft Corporation.
|
|
2
|
+
// Licensed under the MIT License.
|
|
3
|
+
|
|
4
|
+
#include "ApiLoaders/NodeApi.h"
|
|
5
|
+
|
|
6
|
+
namespace Microsoft::NodeApiJsi {
|
|
7
|
+
|
|
8
|
+
LibHandle LibLoader::loadLib(const char * /*libName*/) {
|
|
9
|
+
return reinterpret_cast<LibHandle>(0);
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
FuncPtr LibLoader::getFuncPtr(LibHandle /*libHandle*/, const char * /*funcName*/) {
|
|
13
|
+
return reinterpret_cast<FuncPtr>(0);
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
} // namespace Microsoft::NodeApiJsi
|
|
@@ -14,6 +14,14 @@
|
|
|
14
14
|
<TurboModule_SourcePath Condition="'$(TurboModule_SourcePath)' == '' AND Exists('$(MSBuildThisFileDirectory)ReactCommon\TurboModule.h')">$(MSBuildThisFileDirectory)</TurboModule_SourcePath>
|
|
15
15
|
<Bridging_SourcePath Condition="'$(Bridging_SourcePath)' == '' AND '$(ReactNativeDir)' != ''">$(ReactNativeDir)\ReactCommon\react\bridging</Bridging_SourcePath>
|
|
16
16
|
<Bridging_SourcePath Condition="'$(Bridging_SourcePath)' == '' AND Exists('$(MSBuildThisFileDirectory)ReactCommon\CallbackWrapper.h')">$(MSBuildThisFileDirectory)ReactCommon</Bridging_SourcePath>
|
|
17
|
+
|
|
18
|
+
<NodeApiJsiCommitHash>53b897b03c1c7e57c3372acc6234447a44e150d6</NodeApiJsiCommitHash>
|
|
19
|
+
<NodeApiJsiLocal Condition="Exists('$(MSBuildThisFileDirectory)NodeApiJsiRuntime.cpp')">true</NodeApiJsiLocal>
|
|
20
|
+
<NodeApiJsiDir Condition="'$(NodeApiJsiDir)' == '' AND '$(NodeApiJsiLocal)' == 'true'">$(MSBuildThisFileDirectory)</NodeApiJsiDir>
|
|
21
|
+
<NodeApiJsiDir Condition="'$(NodeApiJsiDir)' == '' AND '$(ReactNativeDir)' != ''">$(ReactNativeDir)\..\..\node_modules\.node-api-jsi\node-api-jsi-$(NodeApiJsiCommitHash)\</NodeApiJsiDir>
|
|
22
|
+
<NodeApiJsiSrcDir Condition="'$(NodeApiJsiSrcDir)' == '' AND '$(NodeApiJsiLocal)' != 'true'">$(NodeApiJsiDir)src\</NodeApiJsiSrcDir>
|
|
23
|
+
<NodeApiJsiSrcDir Condition="'$(NodeApiJsiSrcDir)' == ''">$(MSBuildThisFileDirectory)</NodeApiJsiSrcDir>
|
|
24
|
+
<NodeApiDir Condition="'$(NodeApiDir)' == ''">$(NodeApiJsiDir)node-api\</NodeApiDir>
|
|
17
25
|
</PropertyGroup>
|
|
18
26
|
<ItemDefinitionGroup>
|
|
19
27
|
<ClCompile>
|
|
@@ -23,8 +31,11 @@
|
|
|
23
31
|
$(CallInvoker_SourcePath);
|
|
24
32
|
$(TurboModule_SourcePath);
|
|
25
33
|
$(Bridging_SourcePath);
|
|
34
|
+
$(NodeApiDir);
|
|
35
|
+
$(NodeApiJsiSrcDir);
|
|
26
36
|
%(AdditionalIncludeDirectories)
|
|
27
37
|
</AdditionalIncludeDirectories>
|
|
38
|
+
<PreprocessorDefinitions>JSI_VERSION=9;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
28
39
|
</ClCompile>
|
|
29
40
|
<Midl>
|
|
30
41
|
<AdditionalIncludeDirectories>$(MSBuildThisFileDirectory);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
|
@@ -40,7 +51,6 @@
|
|
|
40
51
|
<ClInclude Include="$(MSBuildThisFileDirectory)CoreApp.h" />
|
|
41
52
|
<ClInclude Include="$(MSBuildThisFileDirectory)DesktopWindowBridge.h" />
|
|
42
53
|
<ClInclude Include="$(MSBuildThisFileDirectory)JSI\LongLivedJsiValue.h" />
|
|
43
|
-
<ClInclude Include="$(MSBuildThisFileDirectory)JSI\NodeApiJsiRuntime.h" />
|
|
44
54
|
<ClInclude Include="$(MSBuildThisFileDirectory)TurboModuleProvider.h" />
|
|
45
55
|
<ClInclude Include="$(CallInvoker_SourcePath)\ReactCommon\CallInvoker.h" />
|
|
46
56
|
<ClInclude Include="$(MSBuildThisFileDirectory)XamlUtils.h" />
|
|
@@ -90,6 +100,14 @@
|
|
|
90
100
|
<ClInclude Include="$(MSBuildThisFileDirectory)UI.Xaml.Media.Media3D.h" />
|
|
91
101
|
<ClInclude Include="$(MSBuildThisFileDirectory)UI.Xaml.Navigation.h" />
|
|
92
102
|
<ClInclude Include="$(MSBuildThisFileDirectory)UI.Xaml.Shapes.h" />
|
|
103
|
+
<ClInclude Include="$(NodeApiDir)js_native_api.h" />
|
|
104
|
+
<ClInclude Include="$(NodeApiDir)js_native_api_types.h" />
|
|
105
|
+
<ClInclude Include="$(NodeApiDir)js_runtime_api.h" />
|
|
106
|
+
<ClInclude Include="$(NodeApiJsiSrcDir)ApiLoaders\NodeApi.h" />
|
|
107
|
+
<ClInclude Include="$(NodeApiJsiSrcDir)ApiLoaders\NodeApi.inc" />
|
|
108
|
+
<ClInclude Include="$(NodeApiJsiSrcDir)ApiLoaders\JSRuntimeApi.h" />
|
|
109
|
+
<ClInclude Include="$(NodeApiJsiSrcDir)ApiLoaders\JSRuntimeApi.inc" />
|
|
110
|
+
<ClInclude Include="$(NodeApiJsiSrcDir)NodeApiJsiRuntime.h" />
|
|
93
111
|
</ItemGroup>
|
|
94
112
|
<ItemGroup Condition="'$(BuildMSRNCxx)' != 'false'">
|
|
95
113
|
<ClCompile Include="$(MSBuildThisFileDirectory)JSI\JsiAbiApi.cpp" />
|
|
@@ -102,16 +120,18 @@
|
|
|
102
120
|
<ClCompile Include="$(MSBuildThisFileDirectory)ReactPromise.cpp" />
|
|
103
121
|
<ClCompile Include="$(MSBuildThisFileDirectory)TurboModuleProvider.cpp" />
|
|
104
122
|
</ItemGroup>
|
|
105
|
-
<ItemGroup Condition="'$(
|
|
106
|
-
<!--
|
|
107
|
-
Make sure all FB code uses the same flags to improve build parallelism.
|
|
108
|
-
This is because msbuild has to invoke different cl.exe invocations for each
|
|
109
|
-
set of flags and msbuild inside a project is single threaded.
|
|
110
|
-
-->
|
|
123
|
+
<ItemGroup Condition="'$(BuildMSRNCxxJsi)' != 'false'">
|
|
111
124
|
<ClCompile Include="$(JSI_SourcePath)\jsi\jsi.cpp">
|
|
112
125
|
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
|
113
126
|
<DisableSpecificWarnings>%(DisableSpecificWarnings);4100</DisableSpecificWarnings>
|
|
114
127
|
</ClCompile>
|
|
128
|
+
</ItemGroup>
|
|
129
|
+
<ItemGroup Condition="'$(BuildMSRNCxxReactCommon)' != 'false'">
|
|
130
|
+
<!--
|
|
131
|
+
Make sure all Meta code uses the same flags to improve build parallelism.
|
|
132
|
+
This is because msbuild has to invoke different cl.exe invocations for each
|
|
133
|
+
set of flags and msbuild inside a project is single threaded.
|
|
134
|
+
-->
|
|
115
135
|
<ClCompile Include="$(Bridging_SourcePath)\LongLivedObject.cpp">
|
|
116
136
|
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
|
117
137
|
<DisableSpecificWarnings>%(DisableSpecificWarnings);4100</DisableSpecificWarnings>
|
|
@@ -125,12 +145,23 @@
|
|
|
125
145
|
<DisableSpecificWarnings>%(DisableSpecificWarnings);4100</DisableSpecificWarnings>
|
|
126
146
|
</ClCompile>
|
|
127
147
|
</ItemGroup>
|
|
128
|
-
<ItemGroup>
|
|
129
|
-
<
|
|
148
|
+
<ItemGroup Condition="'$(BuildMSRNCxxNodeApiJsi)' != 'false'">
|
|
149
|
+
<ClCompile Include="$(NodeApiJsiSrcDir)ApiLoaders\NodeApi.cpp">
|
|
150
|
+
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
|
151
|
+
</ClCompile>
|
|
152
|
+
<ClCompile Include="$(NodeApiJsiSrcDir)ApiLoaders\JSRuntimeApi.cpp">
|
|
153
|
+
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
|
154
|
+
</ClCompile>
|
|
155
|
+
<ClCompile Include="$(NodeApiJsiSrcDir)NodeApiJsiRuntime.cpp">
|
|
156
|
+
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
|
157
|
+
</ClCompile>
|
|
130
158
|
</ItemGroup>
|
|
131
|
-
<ItemGroup>
|
|
132
|
-
<ClCompile Include="$(MSBuildThisFileDirectory)JSI\
|
|
133
|
-
<
|
|
159
|
+
<ItemGroup Condition="'$(BuildMSRNCxxNodeApiJsiLoader)' != 'false'">
|
|
160
|
+
<ClCompile Include="$(MSBuildThisFileDirectory)JSI\NodeApiJsiLoader.cpp">
|
|
161
|
+
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
|
134
162
|
</ClCompile>
|
|
135
163
|
</ItemGroup>
|
|
164
|
+
<ItemGroup>
|
|
165
|
+
<None Include="$(MSBuildThisFileDirectory)README.md" />
|
|
166
|
+
</ItemGroup>
|
|
136
167
|
</Project>
|
|
@@ -27,10 +27,13 @@
|
|
|
27
27
|
<ClCompile Include="$(MSBuildThisFileDirectory)JSI\JsiApiContext.cpp">
|
|
28
28
|
<Filter>JSI</Filter>
|
|
29
29
|
</ClCompile>
|
|
30
|
-
<ClCompile Include="$(MSBuildThisFileDirectory)JSI\NodeApiJsiRuntime.cpp">
|
|
31
|
-
<Filter>JSI</Filter>
|
|
32
|
-
</ClCompile>
|
|
33
30
|
<ClCompile Include="$(Bridging_SourcePath)\LongLivedObject.cpp" />
|
|
31
|
+
<ClCompile Include="$(MSBuildThisFileDirectory)JSI\NodeApiJsiLoader.cpp">
|
|
32
|
+
<Filter>NodeApiJsi</Filter>
|
|
33
|
+
</ClCompile>
|
|
34
|
+
<ClCompile Include="$(NodeApiJsiSrcDir)ApiLoaders\NodeApi.cpp" />
|
|
35
|
+
<ClCompile Include="$(NodeApiJsiSrcDir)ApiLoaders\JSRuntimeApi.cpp" />
|
|
36
|
+
<ClCompile Include="$(NodeApiJsiSrcDir)NodeApiJsiRuntime.cpp" />
|
|
34
37
|
</ItemGroup>
|
|
35
38
|
<ItemGroup>
|
|
36
39
|
<ClInclude Include="$(MSBuildThisFileDirectory)Crash.h" />
|
|
@@ -153,14 +156,19 @@
|
|
|
153
156
|
<ClInclude Include="$(MSBuildThisFileDirectory)XamlUtils.h">
|
|
154
157
|
<Filter>UI</Filter>
|
|
155
158
|
</ClInclude>
|
|
156
|
-
<ClInclude Include="$(MSBuildThisFileDirectory)JSI\NodeApiJsiRuntime.h">
|
|
157
|
-
<Filter>JSI</Filter>
|
|
158
|
-
</ClInclude>
|
|
159
159
|
<ClInclude Include="$(Bridging_SourcePath)\CallbackWrapper.h" />
|
|
160
160
|
<ClInclude Include="$(MSBuildThisFileDirectory)CoreApp.h" />
|
|
161
161
|
<ClInclude Include="$(MSBuildThisFileDirectory)JSI\LongLivedJsiValue.h">
|
|
162
162
|
<Filter>TurboModule</Filter>
|
|
163
163
|
</ClInclude>
|
|
164
|
+
<ClInclude Include="$(NodeApiJsiSrcDir)ApiLoaders\NodeApi.h" />
|
|
165
|
+
<ClInclude Include="$(NodeApiJsiSrcDir)ApiLoaders\NodeApi.inc" />
|
|
166
|
+
<ClInclude Include="$(NodeApiJsiSrcDir)ApiLoaders\JSRuntimeApi.h" />
|
|
167
|
+
<ClInclude Include="$(NodeApiJsiSrcDir)ApiLoaders\JSRuntimeApi.inc" />
|
|
168
|
+
<ClInclude Include="$(NodeApiJsiSrcDir)NodeApiJsiRuntime.h" />
|
|
169
|
+
<ClInclude Include="$(NodeApiDir)js_native_api.h" />
|
|
170
|
+
<ClInclude Include="$(NodeApiDir)js_native_api_types.h" />
|
|
171
|
+
<ClInclude Include="$(NodeApiDir)js_runtime_api.h" />
|
|
164
172
|
</ItemGroup>
|
|
165
173
|
<ItemGroup>
|
|
166
174
|
<Filter Include="JSI">
|
|
@@ -172,6 +180,9 @@
|
|
|
172
180
|
<Filter Include="TurboModule">
|
|
173
181
|
<UniqueIdentifier>{b5c0294c-d72f-44fa-8509-369f7d3e4a56}</UniqueIdentifier>
|
|
174
182
|
</Filter>
|
|
183
|
+
<Filter Include="NodeApiJsi">
|
|
184
|
+
<UniqueIdentifier>{a34cd50a-190c-4cbb-8fe1-6ff1e16fe389}</UniqueIdentifier>
|
|
185
|
+
</Filter>
|
|
175
186
|
</ItemGroup>
|
|
176
187
|
<ItemGroup>
|
|
177
188
|
<None Include="$(MSBuildThisFileDirectory)README.md" />
|
|
@@ -34,6 +34,11 @@
|
|
|
34
34
|
"resolved": "1.0.0",
|
|
35
35
|
"contentHash": "z2fpmmt+1Jfl+ZnBki9nSP08S1/tbEOxFdsK1rSR+LBehIJz1Xv9/6qOOoGNqlwnAGGVGis1Oj6S8Kt9COEYlQ=="
|
|
36
36
|
},
|
|
37
|
+
"Microsoft.JavaScript.Hermes": {
|
|
38
|
+
"type": "Transitive",
|
|
39
|
+
"resolved": "0.1.15",
|
|
40
|
+
"contentHash": "My/u5RvxoymtwWokoweU6iVpuP79w271UjadcmSNqnQ9ESIv00tlVP4sHnIiN3t2lJNDeciyE1EVF4swGPECKQ=="
|
|
41
|
+
},
|
|
37
42
|
"Microsoft.Net.Native.Compiler": {
|
|
38
43
|
"type": "Transitive",
|
|
39
44
|
"resolved": "2.2.7-rel-27913-00",
|
|
@@ -58,7 +63,7 @@
|
|
|
58
63
|
"Microsoft.NETCore.Platforms": {
|
|
59
64
|
"type": "Transitive",
|
|
60
65
|
"resolved": "2.1.0",
|
|
61
|
-
"contentHash": "
|
|
66
|
+
"contentHash": "ok+RPAtESz/9MUXeIEz6Lv5XAGQsaNmEYXMsgVALj4D7kqC8gveKWXWXbufLySR2fWrwZf8smyN5RmHu0e4BHA=="
|
|
62
67
|
},
|
|
63
68
|
"Microsoft.SourceLink.Common": {
|
|
64
69
|
"type": "Transitive",
|
|
@@ -78,16 +83,11 @@
|
|
|
78
83
|
"NETStandard.Library": {
|
|
79
84
|
"type": "Transitive",
|
|
80
85
|
"resolved": "2.0.3",
|
|
81
|
-
"contentHash": "
|
|
86
|
+
"contentHash": "st47PosZSHrjECdjeIzZQbzivYBJFv6P2nv4cj2ypdI204DO+vZ7l5raGMiX4eXMJ53RfOIg+/s4DHVZ54Nu2A==",
|
|
82
87
|
"dependencies": {
|
|
83
88
|
"Microsoft.NETCore.Platforms": "1.1.0"
|
|
84
89
|
}
|
|
85
90
|
},
|
|
86
|
-
"ReactNative.Hermes.Windows": {
|
|
87
|
-
"type": "Transitive",
|
|
88
|
-
"resolved": "0.71.1",
|
|
89
|
-
"contentHash": "q38h/Gkw8d0pfUqIhRCd1j/XLhpQY4Hm7kSQthZUzetEST34acbR883/Eh+DKt4FVz9a0lh5kiAfP7piO768SA=="
|
|
90
|
-
},
|
|
91
91
|
"runtime.win10-arm.Microsoft.Net.Native.Compiler": {
|
|
92
92
|
"type": "Transitive",
|
|
93
93
|
"resolved": "2.2.7-rel-27913-00",
|
|
@@ -173,10 +173,10 @@
|
|
|
173
173
|
"dependencies": {
|
|
174
174
|
"Common": "[1.0.0, )",
|
|
175
175
|
"Folly": "[1.0.0, )",
|
|
176
|
+
"Microsoft.JavaScript.Hermes": "[0.1.15, )",
|
|
176
177
|
"Microsoft.UI.Xaml": "[2.7.0, )",
|
|
177
178
|
"Microsoft.Windows.SDK.BuildTools": "[10.0.22000.194, )",
|
|
178
179
|
"ReactCommon": "[1.0.0, )",
|
|
179
|
-
"ReactNative.Hermes.Windows": "[0.71.1, )",
|
|
180
180
|
"boost": "[1.76.0, )"
|
|
181
181
|
}
|
|
182
182
|
},
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
<!-- WinUI package name and version are set by WinUI.props -->
|
|
20
20
|
<PackageReference Include="$(WinUIPackageName)" Version="$(WinUIPackageVersion)" Condition="'$(OverrideWinUIPackage)'!='true'" />
|
|
21
21
|
<!-- Hermes version is set by JSEngine.props -->
|
|
22
|
-
<PackageReference Include="
|
|
22
|
+
<PackageReference Include="Microsoft.JavaScript.Hermes" Version="$(HermesVersion)" Condition="$(UseHermes)" />
|
|
23
23
|
</ItemGroup>
|
|
24
24
|
|
|
25
25
|
<Import Project="$(ReactNativeWindowsDir)PropertySheets\ManagedCodeGen\Microsoft.ReactNative.Managed.CodeGen.targets"
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
<!-- WinUI package name and version are set by WinUI.props -->
|
|
20
20
|
<PackageReference Include="$(WinUIPackageName)" Version="$(WinUIPackageVersion)" Condition="'$(OverrideWinUIPackage)'!='true'" />
|
|
21
21
|
<!-- Hermes version is set by JSEngine.props -->
|
|
22
|
-
<PackageReference Include="
|
|
22
|
+
<PackageReference Include="Microsoft.JavaScript.Hermes" Version="$(HermesVersion)" Condition="$(UseHermes)" />
|
|
23
23
|
</ItemGroup>
|
|
24
24
|
|
|
25
25
|
<!-- The props file for bundling is not set up to be just defaults, it assumes to be run at the end of the project. -->
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
<!-- WinUI package name and version are set by WinUI.props -->
|
|
25
25
|
<PackageReference Include="$(WinUIPackageName)" Version="$(WinUIPackageVersion)" Condition="'$(OverrideWinUIPackage)'!='true'" />
|
|
26
26
|
<!-- Hermes version is set by JSEngine.props -->
|
|
27
|
-
<PackageReference Include="
|
|
27
|
+
<PackageReference Include="Microsoft.JavaScript.Hermes" Version="$(HermesVersion)" Condition="$(UseHermes)" />
|
|
28
28
|
</ItemGroup>
|
|
29
29
|
|
|
30
30
|
<!-- Defining the "Msix" ProjectCapability here allows the Single-project MSIX Packaging
|
|
@@ -10,11 +10,11 @@
|
|
|
10
10
|
-->
|
|
11
11
|
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
|
12
12
|
<PropertyGroup>
|
|
13
|
-
<ReactNativeWindowsVersion>0.71.
|
|
13
|
+
<ReactNativeWindowsVersion>0.71.18</ReactNativeWindowsVersion>
|
|
14
14
|
<ReactNativeWindowsMajor>0</ReactNativeWindowsMajor>
|
|
15
15
|
<ReactNativeWindowsMinor>71</ReactNativeWindowsMinor>
|
|
16
|
-
<ReactNativeWindowsPatch>
|
|
16
|
+
<ReactNativeWindowsPatch>18</ReactNativeWindowsPatch>
|
|
17
17
|
<ReactNativeWindowsCanary>false</ReactNativeWindowsCanary>
|
|
18
|
-
<ReactNativeWindowsCommitId>
|
|
18
|
+
<ReactNativeWindowsCommitId>7a340bdc0265c205c6b21266fb43b4eb3fd6bba1</ReactNativeWindowsCommitId>
|
|
19
19
|
</PropertyGroup>
|
|
20
20
|
</Project>
|
|
@@ -14,9 +14,9 @@
|
|
|
14
14
|
<!-- Enabling this will (1) Include hermes glues in the Microsoft.ReactNative binaries AND (2) Make hermes the default engine -->
|
|
15
15
|
<UseHermes Condition="'$(UseHermes)' == ''">false</UseHermes>
|
|
16
16
|
<!-- This will be true if (1) the client want to use hermes by setting UseHermes to true OR (2) We are building for UWP where dynamic switching is enabled -->
|
|
17
|
-
<HermesVersion Condition="'$(HermesVersion)' == ''">0.
|
|
18
|
-
<HermesPackage Condition="'$(HermesPackage)' == '' And Exists('$(
|
|
19
|
-
<HermesPackage Condition="'$(HermesPackage)' == ''">$(NuGetPackageRoot)\
|
|
17
|
+
<HermesVersion Condition="'$(HermesVersion)' == ''">0.1.15</HermesVersion>
|
|
18
|
+
<HermesPackage Condition="'$(HermesPackage)' == '' And Exists('$(PkgMicrosoft_JavaScript_Hermes)')">$(PkgMicrosoft_JavaScript_Hermes)</HermesPackage>
|
|
19
|
+
<HermesPackage Condition="'$(HermesPackage)' == ''">$(NuGetPackageRoot)\Microsoft.JavaScript.Hermes\$(HermesVersion)</HermesPackage>
|
|
20
20
|
<EnableHermesInspectorInReleaseFlavor Condition="'$(EnableHermesInspectorInReleaseFlavor)' == ''">false</EnableHermesInspectorInReleaseFlavor>
|
|
21
21
|
<!-- Disable linking Hermes into the output in cases where we need to fully rely on HermesShim -->
|
|
22
22
|
<HermesNoLink Condition="'$(HermesNoLink)' == '' and '$(Configuration)' == 'Release' and '$(EnableHermesInspectorInReleaseFlavor)' != 'true'">true</HermesNoLink>
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
<EnableDevServerHBCBundles Condition="'$(EnableDevServerHBCBundles)' == ''">false</EnableDevServerHBCBundles>
|
|
25
25
|
|
|
26
26
|
<UseV8 Condition="'$(UseV8)' == ''">false</UseV8>
|
|
27
|
-
<V8Version Condition="'$(V8Version)' == ''">0.71.
|
|
27
|
+
<V8Version Condition="'$(V8Version)' == ''">0.71.5</V8Version>
|
|
28
28
|
<V8PackageName>ReactNative.V8Jsi.Windows</V8PackageName>
|
|
29
29
|
<V8PackageName Condition="'$(V8AppPlatform)' != 'win32'">$(V8PackageName).UWP</V8PackageName>
|
|
30
30
|
<V8Package>$(NuGetPackageRoot)\$(V8PackageName).$(V8Version)</V8Package>
|
|
@@ -57,6 +57,7 @@
|
|
|
57
57
|
<PreprocessorDefinitions Condition="'$(EnableDevServerHBCBundles)'=='true'">ENABLE_DEVSERVER_HBCBUNDLES;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
58
58
|
<PreprocessorDefinitions Condition="'$(UseV8)'=='true'">USE_V8;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
59
59
|
<PreprocessorDefinitions Condition="'$(UseFabric)'=='true'">USE_FABRIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
60
|
+
<PreprocessorDefinitions>JSI_VERSION=9;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
60
61
|
</ClCompile>
|
|
61
62
|
</ItemDefinitionGroup>
|
|
62
63
|
|
|
@@ -34,6 +34,12 @@
|
|
|
34
34
|
<TreatWarningAsError>true</TreatWarningAsError>
|
|
35
35
|
<WarningLevel>Level4</WarningLevel>
|
|
36
36
|
</ClCompile>
|
|
37
|
+
<Link>
|
|
38
|
+
<!--
|
|
39
|
+
LNK4199: /DELAYLOAD:v8jsi.dll ignored; no imports found from v8jsi.dll
|
|
40
|
+
-->
|
|
41
|
+
<AdditionalOptions>/ignore:4199 %(AdditionalOptions)</AdditionalOptions>
|
|
42
|
+
</Link>
|
|
37
43
|
</ItemDefinitionGroup>
|
|
38
44
|
|
|
39
45
|
</Project>
|
|
@@ -106,6 +106,7 @@
|
|
|
106
106
|
<ClInclude Include="$(ReactNativeDir)\ReactCommon\cxxreact\SystraceSection.h" />
|
|
107
107
|
<ClInclude Include="$(ReactNativeDir)\ReactCommon\jsiexecutor\jsireact\JSIExecutor.h" />
|
|
108
108
|
<ClInclude Include="$(ReactNativeDir)\ReactCommon\jsiexecutor\jsireact\JSINativeModules.h" />
|
|
109
|
+
<ClInclude Include="$(ReactNativeDir)\ReactCommon\jsinspector\InspectorInterfaces.h" />
|
|
109
110
|
<ClInclude Include="$(ReactNativeDir)\ReactCommon\logger\react_native_log.h" />
|
|
110
111
|
<ClInclude Include="$(YogaDir)\yoga\YGEnums.h" />
|
|
111
112
|
<ClInclude Include="$(YogaDir)\yoga\YGMacros.h" />
|
|
@@ -127,6 +128,7 @@
|
|
|
127
128
|
<ClCompile Include="$(ReactNativeDir)\ReactCommon\jsi\jsi\JSIDynamic.cpp" />
|
|
128
129
|
<ClCompile Include="$(ReactNativeDir)\ReactCommon\jsiexecutor\jsireact\JSIExecutor.cpp" />
|
|
129
130
|
<ClCompile Include="$(ReactNativeDir)\ReactCommon\jsiexecutor\jsireact\JSINativeModules.cpp" />
|
|
131
|
+
<ClCompile Include="$(ReactNativeDir)\ReactCommon\jsinspector\InspectorInterfaces.cpp" />
|
|
130
132
|
<ClCompile Include="$(ReactNativeDir)\ReactCommon\logger\react_native_log.cpp" />
|
|
131
133
|
<CLCompile Include="$(ReactNativeDir)\ReactCommon\reactperflogger\reactperflogger\BridgeNativeModulePerfLogger.cpp" />
|
|
132
134
|
<ClCompile Include="$(YogaDir)\yoga\log.cpp" />
|
|
@@ -178,6 +180,52 @@
|
|
|
178
180
|
<ItemGroup>
|
|
179
181
|
<PackageReference Include="boost" Version="1.76.0.0" />
|
|
180
182
|
</ItemGroup>
|
|
183
|
+
<PropertyGroup>
|
|
184
|
+
<NodeApiJsiZipDir>$(NodeApiJsiDir)..\.node-api-jsi-zip</NodeApiJsiZipDir>
|
|
185
|
+
<NodeApiJsiZipFile>$(NodeApiJsiZipDir)\node-api-jsi-$(NodeApiJsiCommitHash).zip</NodeApiJsiZipFile>
|
|
186
|
+
<CGManifestFile>$(MSBuildThisFileDirectory)cgmanifest.json</CGManifestFile>
|
|
187
|
+
</PropertyGroup>
|
|
188
|
+
<Target Name="DownloadNodeApiJsi" BeforeTargets="PrepareForBuild" Inputs="$(NodeApiJsiZipFile)" Outputs="$(NodeApiJsiZipFile)">
|
|
189
|
+
<Message Text="Downloading node-api-jsi..." Importance="High" />
|
|
190
|
+
<DownloadFile
|
|
191
|
+
SourceUrl="https://github.com/microsoft/node-api-jsi/archive/$(NodeApiJsiCommitHash).zip"
|
|
192
|
+
DestinationFileName="$(NodeApiJsiZipFile)"
|
|
193
|
+
DestinationFolder="$(NodeApiJsiZipDir)"
|
|
194
|
+
Retries="10" />
|
|
195
|
+
</Target>
|
|
196
|
+
<Target Name="UnzipNodeApiJsi" BeforeTargets="PrepareForBuild" DependsOnTargets="DownloadNodeApiJsi">
|
|
197
|
+
<Message Text="Unzipping node-api-jsi to $([MSBuild]::NormalizePath($(NodeApiJsiDir)..))." Importance="High"
|
|
198
|
+
Condition="!Exists('$(NodeApiJsiDir)src\NodeApiJsiRuntime.h')" />
|
|
199
|
+
<Unzip
|
|
200
|
+
Condition="!Exists('$(NodeApiJsiDir)src\NodeApiJsiRuntime.h')"
|
|
201
|
+
SourceFiles="$(NodeApiJsiZipFile)"
|
|
202
|
+
DestinationFolder="$([MSBuild]::NormalizePath($(NodeApiJsiDir)..))"
|
|
203
|
+
OverwriteReadOnlyFiles="true" />
|
|
204
|
+
</Target>
|
|
205
|
+
<Target Name="WriteCGManifest" BeforeTargets="PrepareForBuild" DependsOnTargets="DownloadNodeApiJsi" Inputs="$(NodeApiJsiZipFile)" Outputs="$(CGManifestFile)">
|
|
206
|
+
<PropertyGroup>
|
|
207
|
+
<CGManifestText>{
|
|
208
|
+
"$schema": "https://json.schemastore.org/component-detection-manifest.json",
|
|
209
|
+
"Registrations": [
|
|
210
|
+
{
|
|
211
|
+
"Component": {
|
|
212
|
+
"Type": "git",
|
|
213
|
+
"Git": {
|
|
214
|
+
"RepositoryUrl": "https://github.com/microsoft/node-api-jsi",
|
|
215
|
+
"CommitHash": "$(NodeApiJsiCommitHash)"
|
|
216
|
+
}
|
|
217
|
+
},
|
|
218
|
+
"DevelopmentDependency": false
|
|
219
|
+
}
|
|
220
|
+
]
|
|
221
|
+
}</CGManifestText>
|
|
222
|
+
</PropertyGroup>
|
|
223
|
+
<Message Text="Generating $(CGManifestFile)." Importance="High" />
|
|
224
|
+
<WriteLinesToFile
|
|
225
|
+
File="$(CGManifestFile)"
|
|
226
|
+
Overwrite="true"
|
|
227
|
+
Lines="$(CGManifestText)" />
|
|
228
|
+
</Target>
|
|
181
229
|
<Target Name="EnsureNodeModuleBuildImports" BeforeTargets="PrepareForBuild">
|
|
182
230
|
<Error Condition="!Exists('$(ReactNativeDir)')" Text="This project references code in the node_modules folder that is missing on this computer. Use `yarn install` to download them." />
|
|
183
231
|
<Error Condition="!Exists('$(YogaDir)')" Text="This project references code in the node_modules folder that is missing on this computer. Use `yarn install` to download them." />
|
|
@@ -187,7 +235,11 @@
|
|
|
187
235
|
</ItemGroup>
|
|
188
236
|
<Target Name="Deploy" />
|
|
189
237
|
<!-- Reenable this task if we need to temporarily replace any folly files for fixes, while we wait for PRs to land in folly -->
|
|
190
|
-
<Target Name="ApplyReactCommonTemporaryPatch" BeforeTargets="PrepareForBuild">
|
|
238
|
+
<Target Name="ApplyReactCommonTemporaryPatch" BeforeTargets="PrepareForBuild" DependsOnTargets="UnzipNodeApiJsi">
|
|
239
|
+
<ItemGroup>
|
|
240
|
+
<NodeApiJsiFiles Include="$([MSBuild]::NormalizePath($(NodeApiJsiDir)))\jsi\**\*.*" />
|
|
241
|
+
</ItemGroup>
|
|
242
|
+
<Copy DestinationFiles="@(NodeApiJsiFiles->'$(ReactNativeDir)\ReactCommon\jsi\%(RecursiveDir)%(Filename)%(Extension)')" SourceFiles="@(NodeApiJsiFiles)" />
|
|
191
243
|
<Copy DestinationFiles="@(TemporaryReactCommonPatchFiles->'$(ReactNativeDir)\ReactCommon\%(RecursiveDir)%(Filename)%(Extension)')" SourceFiles="@(TemporaryReactCommonPatchFiles)" />
|
|
192
244
|
</Target>
|
|
193
245
|
</Project>
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json.schemastore.org/component-detection-manifest.json",
|
|
3
|
+
"Registrations": [
|
|
4
|
+
{
|
|
5
|
+
"Component": {
|
|
6
|
+
"Type": "git",
|
|
7
|
+
"Git": {
|
|
8
|
+
"RepositoryUrl": "https://github.com/microsoft/node-api-jsi",
|
|
9
|
+
"CommitHash": "53b897b03c1c7e57c3372acc6234447a44e150d6"
|
|
10
|
+
}
|
|
11
|
+
},
|
|
12
|
+
"DevelopmentDependency": false
|
|
13
|
+
}
|
|
14
|
+
]
|
|
15
|
+
}
|