@react-native/dev-middleware 0.78.0-nightly-20241127-40c194cf4 → 0.78.0-nightly-20241128-5da7089e3
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/dist/createDevMiddleware.js +20 -2
- package/dist/inspector-proxy/Device.d.ts +1 -0
- package/dist/inspector-proxy/Device.js +4 -0
- package/dist/inspector-proxy/Device.js.flow +1 -0
- package/dist/inspector-proxy/DeviceEventReporter.d.ts +1 -0
- package/dist/inspector-proxy/DeviceEventReporter.js +10 -0
- package/dist/inspector-proxy/DeviceEventReporter.js.flow +1 -0
- package/dist/inspector-proxy/InspectorProxy.js +2 -0
- package/dist/types/EventReporter.d.ts +6 -1
- package/dist/types/EventReporter.js.flow +5 -0
- package/package.json +2 -2
|
@@ -32,10 +32,14 @@ function createDevMiddleware({
|
|
|
32
32
|
unstable_customInspectorMessageHandler,
|
|
33
33
|
}) {
|
|
34
34
|
const experiments = getExperiments(experimentConfig);
|
|
35
|
+
const eventReporter = createWrappedEventReporter(
|
|
36
|
+
unstable_eventReporter,
|
|
37
|
+
logger
|
|
38
|
+
);
|
|
35
39
|
const inspectorProxy = new _InspectorProxy.default(
|
|
36
40
|
projectRoot,
|
|
37
41
|
serverBaseUrl,
|
|
38
|
-
|
|
42
|
+
eventReporter,
|
|
39
43
|
experiments,
|
|
40
44
|
unstable_customInspectorMessageHandler
|
|
41
45
|
);
|
|
@@ -46,7 +50,7 @@ function createDevMiddleware({
|
|
|
46
50
|
serverBaseUrl,
|
|
47
51
|
inspectorProxy,
|
|
48
52
|
browserLauncher: unstable_browserLauncher,
|
|
49
|
-
eventReporter
|
|
53
|
+
eventReporter,
|
|
50
54
|
experiments,
|
|
51
55
|
logger,
|
|
52
56
|
})
|
|
@@ -76,3 +80,17 @@ function getExperiments(config) {
|
|
|
76
80
|
enableNetworkInspector: config.enableNetworkInspector ?? false,
|
|
77
81
|
};
|
|
78
82
|
}
|
|
83
|
+
function createWrappedEventReporter(reporter, logger) {
|
|
84
|
+
return {
|
|
85
|
+
logEvent(event) {
|
|
86
|
+
switch (event.type) {
|
|
87
|
+
case "profiling_target_registered":
|
|
88
|
+
logger?.info(
|
|
89
|
+
`Profiling build target "${event.appId}" registered for debugging`
|
|
90
|
+
);
|
|
91
|
+
break;
|
|
92
|
+
}
|
|
93
|
+
reporter?.logEvent(event);
|
|
94
|
+
},
|
|
95
|
+
};
|
|
96
|
+
}
|
|
@@ -23,6 +23,7 @@ export type DeviceOptions = Readonly<{
|
|
|
23
23
|
createMessageMiddleware: null | undefined | CreateCustomMessageHandlerFn;
|
|
24
24
|
deviceRelativeBaseUrl: URL;
|
|
25
25
|
serverRelativeBaseUrl: URL;
|
|
26
|
+
isProfilingBuild: boolean;
|
|
26
27
|
}>;
|
|
27
28
|
/**
|
|
28
29
|
* Device class represents single device connection to Inspector Proxy. Each device
|
|
@@ -73,6 +73,7 @@ class Device {
|
|
|
73
73
|
createMessageMiddleware,
|
|
74
74
|
serverRelativeBaseUrl,
|
|
75
75
|
deviceRelativeBaseUrl,
|
|
76
|
+
isProfilingBuild,
|
|
76
77
|
}) {
|
|
77
78
|
this.#id = id;
|
|
78
79
|
this.#name = name;
|
|
@@ -89,6 +90,9 @@ class Device {
|
|
|
89
90
|
})
|
|
90
91
|
: null;
|
|
91
92
|
this.#createCustomMessageHandler = createMessageMiddleware;
|
|
93
|
+
if (isProfilingBuild) {
|
|
94
|
+
this.#deviceEventReporter?.logProfilingTargetRegistered();
|
|
95
|
+
}
|
|
92
96
|
this.#deviceSocket.on("message", (message) => {
|
|
93
97
|
this.#messageFromDeviceQueue = this.#messageFromDeviceQueue
|
|
94
98
|
.then(async () => {
|
|
@@ -38,6 +38,7 @@ declare class DeviceEventReporter {
|
|
|
38
38
|
origin: "device" | "proxy",
|
|
39
39
|
metadata: ResponseMetadata
|
|
40
40
|
): void;
|
|
41
|
+
logProfilingTargetRegistered(): void;
|
|
41
42
|
logConnection(
|
|
42
43
|
connectedEntity: "debugger",
|
|
43
44
|
metadata: Readonly<{ pageId: string; frontendUserAgent: string | null }>
|
|
@@ -95,6 +95,16 @@ class DeviceEventReporter {
|
|
|
95
95
|
prefersFuseboxFrontend: metadata.prefersFuseboxFrontend,
|
|
96
96
|
});
|
|
97
97
|
}
|
|
98
|
+
logProfilingTargetRegistered() {
|
|
99
|
+
this.#eventReporter.logEvent({
|
|
100
|
+
type: "profiling_target_registered",
|
|
101
|
+
status: "success",
|
|
102
|
+
appId: this.#metadata.appId,
|
|
103
|
+
deviceName: this.#metadata.deviceName,
|
|
104
|
+
deviceId: this.#metadata.deviceId,
|
|
105
|
+
pageId: null,
|
|
106
|
+
});
|
|
107
|
+
}
|
|
98
108
|
logConnection(connectedEntity, metadata) {
|
|
99
109
|
this.#eventReporter.logEvent({
|
|
100
110
|
type: "connect_debugger_frontend",
|
|
@@ -141,6 +141,7 @@ class InspectorProxy {
|
|
|
141
141
|
const deviceId = query.device || fallbackDeviceId;
|
|
142
142
|
const deviceName = query.name || "Unknown";
|
|
143
143
|
const appName = query.app || "Unknown";
|
|
144
|
+
const isProfilingBuild = query.profiling === "true";
|
|
144
145
|
const deviceRelativeBaseUrl =
|
|
145
146
|
(0, _getBaseUrlFromRequest.default)(req) ?? this.#serverBaseUrl;
|
|
146
147
|
const oldDevice = this.#devices.get(deviceId);
|
|
@@ -155,6 +156,7 @@ class InspectorProxy {
|
|
|
155
156
|
createMessageMiddleware: this.#customMessageHandler,
|
|
156
157
|
deviceRelativeBaseUrl,
|
|
157
158
|
serverRelativeBaseUrl: this.#serverBaseUrl,
|
|
159
|
+
isProfilingBuild,
|
|
158
160
|
};
|
|
159
161
|
if (oldDevice) {
|
|
160
162
|
oldDevice.dangerouslyRecreateDevice(deviceOptions);
|
|
@@ -75,7 +75,12 @@ export type ReportableEvent =
|
|
|
75
75
|
**/
|
|
76
76
|
any
|
|
77
77
|
| /**
|
|
78
|
-
* >
|
|
78
|
+
* > 83 | ...DebuggerSessionIDs,
|
|
79
|
+
* | ^^^^^^^^^^^^^^^^^^^^^ Unsupported feature: Translating "object types with spreads in the middle or at the end" is currently not supported.
|
|
80
|
+
**/
|
|
81
|
+
any
|
|
82
|
+
| /**
|
|
83
|
+
* > 92 | ...DebuggerSessionIDs,
|
|
79
84
|
* | ^^^^^^^^^^^^^^^^^^^^^ Unsupported feature: Translating "object types with spreads in the middle or at the end" is currently not supported.
|
|
80
85
|
**/
|
|
81
86
|
any;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@react-native/dev-middleware",
|
|
3
|
-
"version": "0.78.0-nightly-
|
|
3
|
+
"version": "0.78.0-nightly-20241128-5da7089e3",
|
|
4
4
|
"description": "Dev server middleware for React Native",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"react-native",
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
],
|
|
24
24
|
"dependencies": {
|
|
25
25
|
"@isaacs/ttlcache": "^1.4.1",
|
|
26
|
-
"@react-native/debugger-frontend": "0.78.0-nightly-
|
|
26
|
+
"@react-native/debugger-frontend": "0.78.0-nightly-20241128-5da7089e3",
|
|
27
27
|
"chrome-launcher": "^0.15.2",
|
|
28
28
|
"chromium-edge-launcher": "^0.2.0",
|
|
29
29
|
"connect": "^3.6.5",
|