react-native-windows 0.80.1 → 0.80.6
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 +1 -1
- package/Microsoft.ReactNative/Fabric/Composition/DebuggerUIIsland.cpp +169 -0
- package/Microsoft.ReactNative/Fabric/Composition/DebuggerUIIsland.h +42 -0
- package/Microsoft.ReactNative/Fabric/Composition/DebuggingOverlayComponentView.cpp +1 -1
- package/Microsoft.ReactNative/Fabric/Composition/Modal/WindowsModalHostViewComponentView.cpp +60 -33
- package/Microsoft.ReactNative/Fabric/Composition/ReactNativeIsland.cpp +68 -1
- package/Microsoft.ReactNative/Fabric/Composition/ReactNativeIsland.h +9 -0
- package/Microsoft.ReactNative/Fabric/Composition/UriImageManager.cpp +5 -3
- package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.cpp +6 -1
- package/Microsoft.ReactNative/Fabric/WindowsImageManager.cpp +14 -1
- package/Microsoft.ReactNative/Fabric/platform/react/threading/TaskDispatchThread.cpp +75 -24
- package/Microsoft.ReactNative/Fabric/platform/react/threading/TaskDispatchThread.h +4 -25
- package/Microsoft.ReactNative/JsiApi.cpp +1 -1
- package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj +1 -0
- package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj.filters +3 -0
- package/Microsoft.ReactNative/ReactHost/DebuggerNotifications.h +54 -0
- package/Microsoft.ReactNative/ReactHost/React.h +11 -4
- package/Microsoft.ReactNative/ReactHost/ReactHost.cpp +195 -29
- package/Microsoft.ReactNative/ReactHost/ReactHost.h +22 -4
- package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.cpp +24 -5
- package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.h +1 -1
- package/Microsoft.ReactNative/ReactRootView.cpp +108 -0
- package/Microsoft.ReactNative/ReactRootView.h +6 -0
- package/Microsoft.ReactNative/Views/DevMenu.cpp +1 -1
- package/Microsoft.ReactNative.Cxx/JSI/decorator.h +41 -0
- package/Microsoft.ReactNative.Cxx/JSI/jsi-inl.h +16 -0
- package/Microsoft.ReactNative.Cxx/JSI/jsi.cpp +125 -0
- package/Microsoft.ReactNative.Cxx/JSI/jsi.h +167 -1
- package/Microsoft.ReactNative.Cxx/Microsoft.ReactNative.Cxx.vcxitems +1 -1
- package/Microsoft.ReactNative.Cxx/NodeApiJsiRuntime.cpp +110 -38
- package/Microsoft.ReactNative.Cxx/node-api/js_native_api.h +44 -31
- package/Microsoft.ReactNative.Cxx/node-api/js_native_api_types.h +13 -14
- package/Microsoft.ReactNative.Cxx/node-api/js_runtime_api.h +19 -4
- package/Microsoft.ReactNative.Cxx/node-api/node_api.h +270 -0
- package/Microsoft.ReactNative.Cxx/node-api/node_api_types.h +52 -0
- package/PropertySheets/Generated/PackageVersion.g.props +3 -3
- package/PropertySheets/JSEngine.props +1 -1
- package/PropertySheets/React.Cpp.props +2 -2
- package/ReactCommon/ReactCommon.vcxproj +18 -1
- package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/NativeToJsBridge.cpp +1 -1
- package/ReactCommon/TEMP_UntilReactCommonUpdate/jsi/jsi/test/testlib.cpp +4 -4
- package/ReactCommon/TEMP_UntilReactCommonUpdate/jsinspector-modern/NetworkIOAgent.cpp +23 -9
- package/ReactCommon/TEMP_UntilReactCommonUpdate/jsinspector-modern/NetworkIOAgent.h +16 -0
- package/ReactCommon/cgmanifest.json +1 -1
- package/Scripts/Tfs/Layout-MSRN-Headers.ps1 +2 -0
- package/Shared/DevServerHelper.h +13 -3
- package/Shared/DevSettings.h +7 -0
- package/Shared/DevSupportManager.cpp +79 -20
- package/Shared/DevSupportManager.h +7 -19
- package/Shared/Hermes/HermesRuntimeAgentDelegate.cpp +99 -0
- package/Shared/Hermes/HermesRuntimeAgentDelegate.h +81 -0
- package/Shared/Hermes/HermesRuntimeTargetDelegate.cpp +263 -0
- package/Shared/Hermes/HermesRuntimeTargetDelegate.h +77 -0
- package/Shared/HermesRuntimeHolder.cpp +29 -111
- package/Shared/HermesRuntimeHolder.h +214 -32
- package/Shared/IDevSupportManager.h +5 -2
- package/Shared/Inspector/ReactInspectorPackagerConnectionDelegate.cpp +108 -0
- package/Shared/Inspector/ReactInspectorPackagerConnectionDelegate.h +19 -0
- package/Shared/Inspector/ReactInspectorThread.h +18 -0
- package/Shared/JSI/RuntimeHolder.h +5 -2
- package/Shared/OInstance.cpp +44 -27
- package/Shared/Shared.vcxitems +27 -17
- package/Shared/Shared.vcxitems.filters +33 -15
- package/package.json +5 -5
- package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/JSExecutor.cpp +0 -78
- package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/JSExecutor.h +0 -196
- package/ReactCommon/TEMP_UntilReactCommonUpdate/jserrorhandler/JsErrorHandler.cpp +0 -429
- package/ReactCommon/TEMP_UntilReactCommonUpdate/jsitooling/react/runtime/JSRuntimeFactory.cpp +0 -45
- package/ReactCommon/TEMP_UntilReactCommonUpdate/jsitooling/react/runtime/JSRuntimeFactory.h +0 -91
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/runtime/ReactInstance.cpp +0 -670
- package/Shared/InspectorPackagerConnection.cpp +0 -232
- package/Shared/InspectorPackagerConnection.h +0 -61
- /package/Shared/{HermesSamplingProfiler.cpp → Hermes/HermesSamplingProfiler.cpp} +0 -0
- /package/Shared/{HermesSamplingProfiler.h → Hermes/HermesSamplingProfiler.h} +0 -0
|
@@ -1,232 +0,0 @@
|
|
|
1
|
-
// Copyright (c) Microsoft Corporation.
|
|
2
|
-
// Licensed under the MIT License.
|
|
3
|
-
|
|
4
|
-
#include "pch.h"
|
|
5
|
-
|
|
6
|
-
#include <folly/json.h>
|
|
7
|
-
#include <tracing/tracing.h>
|
|
8
|
-
#include "InspectorPackagerConnection.h"
|
|
9
|
-
|
|
10
|
-
namespace Microsoft::ReactNative {
|
|
11
|
-
|
|
12
|
-
namespace {
|
|
13
|
-
|
|
14
|
-
struct InspectorProtocol {
|
|
15
|
-
static constexpr std::string_view Message_PAGEID = "pageId";
|
|
16
|
-
static constexpr std::string_view Message_PAYLOAD = "payload";
|
|
17
|
-
|
|
18
|
-
static constexpr std::string_view Message_eventName_wrappedEvent = "wrappedEvent";
|
|
19
|
-
static constexpr std::string_view Message_eventName_getPages = "getPages";
|
|
20
|
-
static constexpr std::string_view Message_eventName_connect = "connect";
|
|
21
|
-
static constexpr std::string_view Message_eventName_disconnect = "disconnect";
|
|
22
|
-
|
|
23
|
-
static constexpr std::string_view Message_EVENT = "event";
|
|
24
|
-
|
|
25
|
-
enum class EventType { GetPages, WrappedEvent, Connect, Disconnect };
|
|
26
|
-
|
|
27
|
-
static EventType getEventType(const folly::dynamic &messageFromPackager) {
|
|
28
|
-
std::string event = messageFromPackager.at(InspectorProtocol::Message_EVENT).getString();
|
|
29
|
-
if (event == Message_eventName_getPages) {
|
|
30
|
-
return EventType::GetPages;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
if (event == Message_eventName_wrappedEvent) {
|
|
34
|
-
return EventType::WrappedEvent;
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
if (event == Message_eventName_connect) {
|
|
38
|
-
return EventType::Connect;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
if (event == Message_eventName_disconnect) {
|
|
42
|
-
return EventType::Disconnect;
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
assert(false && "Unknown event!");
|
|
46
|
-
std::abort();
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
static folly::dynamic constructResponseForPackager(EventType eventType, folly::dynamic &&payload) {
|
|
50
|
-
folly::dynamic response = folly::dynamic::object;
|
|
51
|
-
|
|
52
|
-
switch (eventType) {
|
|
53
|
-
case EventType::GetPages:
|
|
54
|
-
response[InspectorProtocol::Message_EVENT] = InspectorProtocol::Message_eventName_getPages;
|
|
55
|
-
break;
|
|
56
|
-
case EventType::WrappedEvent:
|
|
57
|
-
response[InspectorProtocol::Message_EVENT] = InspectorProtocol::Message_eventName_wrappedEvent;
|
|
58
|
-
break;
|
|
59
|
-
case EventType::Connect:
|
|
60
|
-
response[InspectorProtocol::Message_EVENT] = InspectorProtocol::Message_eventName_connect;
|
|
61
|
-
break;
|
|
62
|
-
case EventType::Disconnect:
|
|
63
|
-
response[InspectorProtocol::Message_EVENT] = InspectorProtocol::Message_eventName_disconnect;
|
|
64
|
-
break;
|
|
65
|
-
default:
|
|
66
|
-
assert(false && "Unknown event Type.");
|
|
67
|
-
std::abort();
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
response[InspectorProtocol::Message_PAYLOAD] = std::move(payload);
|
|
71
|
-
return response;
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
static folly::dynamic constructGetPagesResponsePayloadForPackager(
|
|
75
|
-
const std::vector<facebook::react::jsinspector_modern::InspectorPage> &pages,
|
|
76
|
-
InspectorPackagerConnection::BundleStatus bundleStatus) {
|
|
77
|
-
folly::dynamic payload = folly::dynamic::array;
|
|
78
|
-
for (const facebook::react::jsinspector_modern::InspectorPage &page : pages) {
|
|
79
|
-
folly::dynamic pageDyn = folly::dynamic::object;
|
|
80
|
-
pageDyn["id"] = page.id;
|
|
81
|
-
pageDyn["title"] = page.description;
|
|
82
|
-
pageDyn["vm"] = page.vm;
|
|
83
|
-
|
|
84
|
-
pageDyn["isLastBundleDownloadSuccess"] = bundleStatus.m_isLastDownloadSuccess;
|
|
85
|
-
pageDyn["bundleUpdateTimestamp"] = bundleStatus.m_updateTimestamp;
|
|
86
|
-
|
|
87
|
-
payload.push_back(pageDyn);
|
|
88
|
-
}
|
|
89
|
-
return payload;
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
static folly::dynamic constructVMResponsePayloadForPackager(int32_t pageId, std::string &&messageFromVM) {
|
|
93
|
-
folly::dynamic payload = folly::dynamic::object;
|
|
94
|
-
payload[InspectorProtocol::Message_eventName_wrappedEvent] = messageFromVM;
|
|
95
|
-
payload[InspectorProtocol::Message_PAGEID] = pageId;
|
|
96
|
-
return payload;
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
static folly::dynamic constructVMResponsePayloadOnDisconnectForPackager(int32_t pageId) {
|
|
100
|
-
folly::dynamic payload = folly::dynamic::object;
|
|
101
|
-
payload[InspectorProtocol::Message_PAGEID] = pageId;
|
|
102
|
-
return payload;
|
|
103
|
-
}
|
|
104
|
-
};
|
|
105
|
-
|
|
106
|
-
} // namespace
|
|
107
|
-
|
|
108
|
-
RemoteConnection::RemoteConnection(int32_t pageId, const InspectorPackagerConnection &packagerConnection)
|
|
109
|
-
: m_packagerConnection(packagerConnection), m_pageId(pageId) {}
|
|
110
|
-
|
|
111
|
-
void RemoteConnection::onMessage(std::string message) {
|
|
112
|
-
folly::dynamic response = InspectorProtocol::constructResponseForPackager(
|
|
113
|
-
InspectorProtocol::EventType::WrappedEvent,
|
|
114
|
-
InspectorProtocol::constructVMResponsePayloadForPackager(m_pageId, std::move(message)));
|
|
115
|
-
std::string responsestr = folly::toJson(response);
|
|
116
|
-
m_packagerConnection.sendMessageToPackager(std::move(responsestr));
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
void RemoteConnection::onDisconnect() {
|
|
120
|
-
folly::dynamic response = InspectorProtocol::constructResponseForPackager(
|
|
121
|
-
InspectorProtocol::EventType::Disconnect,
|
|
122
|
-
InspectorProtocol::constructVMResponsePayloadOnDisconnectForPackager(m_pageId));
|
|
123
|
-
|
|
124
|
-
std::string responsestr = folly::toJson(response);
|
|
125
|
-
m_packagerConnection.sendMessageToPackager(std::move(responsestr));
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
winrt::fire_and_forget InspectorPackagerConnection::sendMessageToPackagerAsync(std::string &&message) const {
|
|
129
|
-
std::string message_(std::move(message));
|
|
130
|
-
co_await winrt::resume_background();
|
|
131
|
-
m_packagerWebSocketConnection->Send(std::move(message_));
|
|
132
|
-
co_return;
|
|
133
|
-
}
|
|
134
|
-
|
|
135
|
-
void InspectorPackagerConnection::sendMessageToPackager(std::string &&message) const {
|
|
136
|
-
sendMessageToPackagerAsync(std::move(message));
|
|
137
|
-
}
|
|
138
|
-
|
|
139
|
-
void InspectorPackagerConnection::sendMessageToVM(int32_t pageId, std::string &&message) {
|
|
140
|
-
m_localConnections[pageId]->sendMessage(std::move(message));
|
|
141
|
-
}
|
|
142
|
-
|
|
143
|
-
InspectorPackagerConnection::InspectorPackagerConnection(
|
|
144
|
-
std::string &&url,
|
|
145
|
-
std::shared_ptr<IBundleStatusProvider> bundleStatusProvider)
|
|
146
|
-
: m_url(std::move(url)), m_bundleStatusProvider(std::move(bundleStatusProvider)) {}
|
|
147
|
-
|
|
148
|
-
winrt::fire_and_forget InspectorPackagerConnection::disconnectAsync() {
|
|
149
|
-
co_await winrt::resume_background();
|
|
150
|
-
std::string reason("Explicit close");
|
|
151
|
-
m_packagerWebSocketConnection->Close(Microsoft::React::Networking::IWebSocketResource::CloseCode::GoingAway, reason);
|
|
152
|
-
co_return;
|
|
153
|
-
}
|
|
154
|
-
|
|
155
|
-
winrt::fire_and_forget InspectorPackagerConnection::connectAsync() {
|
|
156
|
-
co_await winrt::resume_background();
|
|
157
|
-
|
|
158
|
-
m_packagerWebSocketConnection = Microsoft::React::Networking::IWebSocketResource::Make();
|
|
159
|
-
|
|
160
|
-
m_packagerWebSocketConnection->SetOnError([](const Microsoft::React::Networking::IWebSocketResource::Error &err) {
|
|
161
|
-
facebook::react::tracing::error(err.Message.c_str());
|
|
162
|
-
});
|
|
163
|
-
|
|
164
|
-
m_packagerWebSocketConnection->SetOnConnect(
|
|
165
|
-
[]() { facebook::react::tracing::log("Inspector: Websocket connection succeeded."); });
|
|
166
|
-
|
|
167
|
-
m_packagerWebSocketConnection->SetOnMessage(
|
|
168
|
-
[self = shared_from_this()](size_t /*length*/, const std::string &message, bool isBinary) {
|
|
169
|
-
assert(!isBinary && "We don't expect any binary messages !");
|
|
170
|
-
folly::dynamic messageDyn = folly::parseJson(message);
|
|
171
|
-
|
|
172
|
-
InspectorProtocol::EventType eventType = InspectorProtocol::getEventType(messageDyn);
|
|
173
|
-
switch (eventType) {
|
|
174
|
-
case InspectorProtocol::EventType::GetPages: {
|
|
175
|
-
std::vector<facebook::react::jsinspector_modern::InspectorPage> inspectorPages =
|
|
176
|
-
facebook::react::jsinspector_modern::getInspectorInstance().getPages();
|
|
177
|
-
folly::dynamic response = InspectorProtocol::constructResponseForPackager(
|
|
178
|
-
InspectorProtocol::EventType::GetPages,
|
|
179
|
-
InspectorProtocol::constructGetPagesResponsePayloadForPackager(
|
|
180
|
-
inspectorPages, self->m_bundleStatusProvider->getBundleStatus()));
|
|
181
|
-
|
|
182
|
-
std::string responsestr = folly::toJson(response);
|
|
183
|
-
self->sendMessageToPackager(std::move(responsestr));
|
|
184
|
-
break;
|
|
185
|
-
}
|
|
186
|
-
|
|
187
|
-
case InspectorProtocol::EventType::WrappedEvent: {
|
|
188
|
-
folly::dynamic payload = messageDyn[InspectorProtocol::Message_PAYLOAD];
|
|
189
|
-
int32_t pageId = static_cast<int32_t>(payload[InspectorProtocol::Message_PAGEID].asInt());
|
|
190
|
-
|
|
191
|
-
if (self->m_localConnections.find(pageId) == self->m_localConnections.end()) {
|
|
192
|
-
break;
|
|
193
|
-
}
|
|
194
|
-
|
|
195
|
-
std::string wrappedEvent = payload[InspectorProtocol::Message_eventName_wrappedEvent].getString();
|
|
196
|
-
self->sendMessageToVM(pageId, std::move(wrappedEvent));
|
|
197
|
-
break;
|
|
198
|
-
}
|
|
199
|
-
|
|
200
|
-
case InspectorProtocol::EventType::Connect: {
|
|
201
|
-
folly::dynamic payload = messageDyn[InspectorProtocol::Message_PAYLOAD];
|
|
202
|
-
int32_t pageId = static_cast<int32_t>(payload[InspectorProtocol::Message_PAGEID].asInt());
|
|
203
|
-
|
|
204
|
-
if (self->m_localConnections.find(pageId) != self->m_localConnections.end()) {
|
|
205
|
-
break;
|
|
206
|
-
}
|
|
207
|
-
|
|
208
|
-
self->m_localConnections[pageId] = facebook::react::jsinspector_modern::getInspectorInstance().connect(
|
|
209
|
-
pageId, std::make_unique<RemoteConnection>(pageId, *self));
|
|
210
|
-
break;
|
|
211
|
-
}
|
|
212
|
-
|
|
213
|
-
case InspectorProtocol::EventType::Disconnect: {
|
|
214
|
-
folly::dynamic payload = messageDyn[InspectorProtocol::Message_PAYLOAD];
|
|
215
|
-
int32_t pageId = static_cast<int32_t>(payload[InspectorProtocol::Message_PAGEID].asInt());
|
|
216
|
-
if (self->m_localConnections.find(pageId) != self->m_localConnections.end()) {
|
|
217
|
-
self->m_localConnections[pageId]->disconnect();
|
|
218
|
-
self->m_localConnections.erase(pageId);
|
|
219
|
-
}
|
|
220
|
-
break;
|
|
221
|
-
}
|
|
222
|
-
}
|
|
223
|
-
});
|
|
224
|
-
|
|
225
|
-
Microsoft::React::Networking::IWebSocketResource::Protocols protocols;
|
|
226
|
-
Microsoft::React::Networking::IWebSocketResource::Options options;
|
|
227
|
-
m_packagerWebSocketConnection->Connect(std::string{m_url}, protocols, options);
|
|
228
|
-
|
|
229
|
-
co_return;
|
|
230
|
-
}
|
|
231
|
-
|
|
232
|
-
} // namespace Microsoft::ReactNative
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
// Copyright (c) Microsoft Corporation.
|
|
2
|
-
// Licensed under the MIT License.
|
|
3
|
-
|
|
4
|
-
#pragma once
|
|
5
|
-
|
|
6
|
-
#include <Networking/IWebSocketResource.h>
|
|
7
|
-
#include <jsinspector-modern/InspectorInterfaces.h>
|
|
8
|
-
|
|
9
|
-
namespace Microsoft::ReactNative {
|
|
10
|
-
|
|
11
|
-
class InspectorPackagerConnection final : public std::enable_shared_from_this<InspectorPackagerConnection> {
|
|
12
|
-
public:
|
|
13
|
-
winrt::fire_and_forget connectAsync();
|
|
14
|
-
winrt::fire_and_forget disconnectAsync();
|
|
15
|
-
|
|
16
|
-
class BundleStatus {
|
|
17
|
-
public:
|
|
18
|
-
bool m_isLastDownloadSuccess;
|
|
19
|
-
int64_t m_updateTimestamp = -1;
|
|
20
|
-
|
|
21
|
-
BundleStatus(bool isLastDownloadSuccess, long updateTimestamp)
|
|
22
|
-
: m_isLastDownloadSuccess(isLastDownloadSuccess), m_updateTimestamp(updateTimestamp) {}
|
|
23
|
-
BundleStatus() : m_isLastDownloadSuccess(false), m_updateTimestamp(-1) {}
|
|
24
|
-
};
|
|
25
|
-
|
|
26
|
-
struct IBundleStatusProvider {
|
|
27
|
-
virtual BundleStatus getBundleStatus() = 0;
|
|
28
|
-
};
|
|
29
|
-
|
|
30
|
-
InspectorPackagerConnection(std::string &&url, std::shared_ptr<IBundleStatusProvider> bundleStatusProvider);
|
|
31
|
-
|
|
32
|
-
private:
|
|
33
|
-
friend class RemoteConnection;
|
|
34
|
-
|
|
35
|
-
winrt::fire_and_forget sendMessageToPackagerAsync(std::string &&message) const;
|
|
36
|
-
void sendMessageToPackager(std::string &&message) const;
|
|
37
|
-
|
|
38
|
-
// Note:: VM side Inspector processes the messages asynchronously in a sequential executor with dedicated thread.
|
|
39
|
-
// Hence, we don't bother invoking the inspector asynchronously.
|
|
40
|
-
void sendMessageToVM(int32_t pageId, std::string &&message);
|
|
41
|
-
|
|
42
|
-
private:
|
|
43
|
-
std::unordered_map<int32_t, std::unique_ptr<facebook::react::jsinspector_modern::ILocalConnection>>
|
|
44
|
-
m_localConnections;
|
|
45
|
-
std::shared_ptr<Microsoft::React::Networking::IWebSocketResource> m_packagerWebSocketConnection;
|
|
46
|
-
std::shared_ptr<IBundleStatusProvider> m_bundleStatusProvider;
|
|
47
|
-
std::string m_url;
|
|
48
|
-
};
|
|
49
|
-
|
|
50
|
-
class RemoteConnection final : public facebook::react::jsinspector_modern::IRemoteConnection {
|
|
51
|
-
public:
|
|
52
|
-
RemoteConnection(int32_t pageId, const InspectorPackagerConnection &packagerConnection);
|
|
53
|
-
void onMessage(std::string message) override;
|
|
54
|
-
void onDisconnect() override;
|
|
55
|
-
|
|
56
|
-
private:
|
|
57
|
-
int32_t m_pageId;
|
|
58
|
-
const InspectorPackagerConnection &m_packagerConnection;
|
|
59
|
-
};
|
|
60
|
-
|
|
61
|
-
} // namespace Microsoft::ReactNative
|
|
File without changes
|
|
File without changes
|