@react-native/dev-middleware 0.74.0 → 0.75.0-nightly-20240221-a1171f79f

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.
Files changed (37) hide show
  1. package/dist/createDevMiddleware.d.ts +8 -1
  2. package/dist/createDevMiddleware.js +12 -9
  3. package/dist/createDevMiddleware.js.flow +9 -1
  4. package/dist/index.flow.d.ts +2 -0
  5. package/dist/index.flow.js +16 -0
  6. package/dist/index.flow.js.flow +3 -0
  7. package/dist/inspector-proxy/Device.d.ts +3 -55
  8. package/dist/inspector-proxy/Device.js +254 -166
  9. package/dist/inspector-proxy/Device.js.flow +3 -59
  10. package/dist/inspector-proxy/DeviceEventReporter.d.ts +2 -12
  11. package/dist/inspector-proxy/DeviceEventReporter.js +37 -35
  12. package/dist/inspector-proxy/DeviceEventReporter.js.flow +2 -17
  13. package/dist/inspector-proxy/InspectorProxy.d.ts +1 -24
  14. package/dist/inspector-proxy/InspectorProxy.js +40 -30
  15. package/dist/inspector-proxy/InspectorProxy.js.flow +1 -24
  16. package/dist/inspector-proxy/cdp-types/messages.d.ts +39 -0
  17. package/dist/inspector-proxy/cdp-types/messages.js +1 -0
  18. package/dist/inspector-proxy/cdp-types/messages.js.flow +52 -0
  19. package/dist/inspector-proxy/cdp-types/protocol.d.ts +87 -0
  20. package/dist/inspector-proxy/cdp-types/protocol.js +1 -0
  21. package/dist/inspector-proxy/cdp-types/protocol.js.flow +106 -0
  22. package/dist/inspector-proxy/types.d.ts +60 -45
  23. package/dist/inspector-proxy/types.js.flow +62 -70
  24. package/dist/middleware/deprecated_openFlipperMiddleware.d.ts +1 -1
  25. package/dist/middleware/deprecated_openFlipperMiddleware.js.flow +1 -2
  26. package/dist/middleware/openDebuggerMiddleware.d.ts +1 -1
  27. package/dist/middleware/openDebuggerMiddleware.js +23 -8
  28. package/dist/middleware/openDebuggerMiddleware.js.flow +1 -2
  29. package/dist/types/EventReporter.d.ts +3 -3
  30. package/dist/types/EventReporter.js.flow +1 -1
  31. package/dist/types/Experiments.d.ts +4 -0
  32. package/dist/types/Experiments.js.flow +5 -0
  33. package/dist/utils/DefaultBrowserLauncher.js +1 -1
  34. package/dist/utils/getDevToolsFrontendUrl.d.ts +2 -0
  35. package/dist/utils/getDevToolsFrontendUrl.js +20 -4
  36. package/dist/utils/getDevToolsFrontendUrl.js.flow +3 -0
  37. package/package.json +26 -8
@@ -9,11 +9,12 @@
9
9
  * @oncall react_native
10
10
  */
11
11
 
12
- import type { NextHandleFunction } from "connect";
13
12
  import type { BrowserLauncher } from "./types/BrowserLauncher";
14
13
  import type { EventReporter } from "./types/EventReporter";
15
14
  import type { ExperimentsConfig } from "./types/Experiments";
16
15
  import type { Logger } from "./types/Logger";
16
+ import type { NextHandleFunction } from "connect";
17
+ import InspectorProxy from "./inspector-proxy/InspectorProxy";
17
18
  type Options = Readonly<{
18
19
  projectRoot: string;
19
20
  /**
@@ -44,6 +45,12 @@ type Options = Readonly<{
44
45
  * This is an unstable API with no semver guarantees.
45
46
  */
46
47
  unstable_experiments?: ExperimentsConfig;
48
+ /**
49
+ * An interface for using a modified inspector proxy implementation.
50
+ *
51
+ * This is an unstable API with no semver guarantees.
52
+ */
53
+ unstable_InspectorProxy?: new (...args: any[]) => InspectorProxy;
47
54
  }>;
48
55
  type DevMiddlewareAPI = Readonly<{
49
56
  middleware: NextHandleFunction;
@@ -4,24 +4,24 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true,
5
5
  });
6
6
  exports.default = createDevMiddleware;
7
- var _debuggerFrontend = _interopRequireDefault(
8
- require("@react-native/debugger-frontend")
7
+ var _InspectorProxy = _interopRequireDefault(
8
+ require("./inspector-proxy/InspectorProxy")
9
9
  );
10
- var _connect = _interopRequireDefault(require("connect"));
11
- var _path = _interopRequireDefault(require("path"));
12
- var _serveStatic = _interopRequireDefault(require("serve-static"));
13
10
  var _deprecated_openFlipperMiddleware = _interopRequireDefault(
14
11
  require("./middleware/deprecated_openFlipperMiddleware")
15
12
  );
16
13
  var _openDebuggerMiddleware = _interopRequireDefault(
17
14
  require("./middleware/openDebuggerMiddleware")
18
15
  );
19
- var _InspectorProxy = _interopRequireDefault(
20
- require("./inspector-proxy/InspectorProxy")
21
- );
22
16
  var _DefaultBrowserLauncher = _interopRequireDefault(
23
17
  require("./utils/DefaultBrowserLauncher")
24
18
  );
19
+ var _debuggerFrontend = _interopRequireDefault(
20
+ require("@react-native/debugger-frontend")
21
+ );
22
+ var _connect = _interopRequireDefault(require("connect"));
23
+ var _path = _interopRequireDefault(require("path"));
24
+ var _serveStatic = _interopRequireDefault(require("serve-static"));
25
25
  function _interopRequireDefault(obj) {
26
26
  return obj && obj.__esModule ? obj : { default: obj };
27
27
  }
@@ -43,9 +43,11 @@ function createDevMiddleware({
43
43
  unstable_browserLauncher = _DefaultBrowserLauncher.default,
44
44
  unstable_eventReporter,
45
45
  unstable_experiments: experimentConfig = {},
46
+ unstable_InspectorProxy,
46
47
  }) {
47
48
  const experiments = getExperiments(experimentConfig);
48
- const inspectorProxy = new _InspectorProxy.default(
49
+ const inspectorProxy = new (unstable_InspectorProxy ??
50
+ _InspectorProxy.default)(
49
51
  projectRoot,
50
52
  serverBaseUrl,
51
53
  unstable_eventReporter,
@@ -83,5 +85,6 @@ function getExperiments(config) {
83
85
  return {
84
86
  enableNewDebugger: config.enableNewDebugger ?? false,
85
87
  enableOpenDebuggerRedirect: config.enableOpenDebuggerRedirect ?? false,
88
+ enableNetworkInspector: config.enableNetworkInspector ?? false,
86
89
  };
87
90
  }
@@ -9,12 +9,13 @@
9
9
  * @oncall react_native
10
10
  */
11
11
 
12
- import type { NextHandleFunction } from "connect";
13
12
  import type { BrowserLauncher } from "./types/BrowserLauncher";
14
13
  import type { EventReporter } from "./types/EventReporter";
15
14
  import type { ExperimentsConfig } from "./types/Experiments";
16
15
  import type { Logger } from "./types/Logger";
16
+ import type { NextHandleFunction } from "connect";
17
17
 
18
+ import InspectorProxy from "./inspector-proxy/InspectorProxy";
18
19
  type Options = $ReadOnly<{
19
20
  projectRoot: string,
20
21
 
@@ -50,6 +51,13 @@ type Options = $ReadOnly<{
50
51
  * This is an unstable API with no semver guarantees.
51
52
  */
52
53
  unstable_experiments?: ExperimentsConfig,
54
+
55
+ /**
56
+ * An interface for using a modified inspector proxy implementation.
57
+ *
58
+ * This is an unstable API with no semver guarantees.
59
+ */
60
+ unstable_InspectorProxy?: Class<InspectorProxy>,
53
61
  }>;
54
62
 
55
63
  type DevMiddlewareAPI = $ReadOnly<{
@@ -12,3 +12,5 @@
12
12
  export { default as createDevMiddleware } from "./createDevMiddleware";
13
13
  export type { BrowserLauncher, LaunchedBrowser } from "./types/BrowserLauncher";
14
14
  export type { EventReporter, ReportableEvent } from "./types/EventReporter";
15
+ export { default as unstable_InspectorProxy } from "./inspector-proxy/InspectorProxy";
16
+ export { default as unstable_Device } from "./inspector-proxy/Device";
@@ -9,9 +9,25 @@ Object.defineProperty(exports, "createDevMiddleware", {
9
9
  return _createDevMiddleware.default;
10
10
  },
11
11
  });
12
+ Object.defineProperty(exports, "unstable_Device", {
13
+ enumerable: true,
14
+ get: function () {
15
+ return _Device.default;
16
+ },
17
+ });
18
+ Object.defineProperty(exports, "unstable_InspectorProxy", {
19
+ enumerable: true,
20
+ get: function () {
21
+ return _InspectorProxy.default;
22
+ },
23
+ });
12
24
  var _createDevMiddleware = _interopRequireDefault(
13
25
  require("./createDevMiddleware")
14
26
  );
27
+ var _InspectorProxy = _interopRequireDefault(
28
+ require("./inspector-proxy/InspectorProxy")
29
+ );
30
+ var _Device = _interopRequireDefault(require("./inspector-proxy/Device"));
15
31
  function _interopRequireDefault(obj) {
16
32
  return obj && obj.__esModule ? obj : { default: obj };
17
33
  }
@@ -13,3 +13,6 @@ export { default as createDevMiddleware } from "./createDevMiddleware";
13
13
 
14
14
  export type { BrowserLauncher, LaunchedBrowser } from "./types/BrowserLauncher";
15
15
  export type { EventReporter, ReportableEvent } from "./types/EventReporter";
16
+
17
+ export { default as unstable_InspectorProxy } from "./inspector-proxy/InspectorProxy";
18
+ export { default as unstable_Device } from "./inspector-proxy/Device";
@@ -9,41 +9,14 @@
9
9
  * @oncall react_native
10
10
  */
11
11
 
12
- import type {
13
- DebuggerRequest,
14
- GetScriptSourceRequest,
15
- MessageFromDevice,
16
- MessageToDevice,
17
- Page,
18
- SetBreakpointByUrlRequest,
19
- } from "./types";
20
- import DeviceEventReporter from "./DeviceEventReporter";
21
- import WS from "ws";
22
12
  import type { EventReporter } from "../types/EventReporter";
23
- type DebuggerInfo = {
24
- socket: WS;
25
- originalSourceURLAddress?: string;
26
- prependedFilePrefix: boolean;
27
- pageId: string;
28
- userAgent: string | null;
29
- };
13
+ import type { Page } from "./types";
14
+ import WS from "ws";
30
15
  /**
31
16
  * Device class represents single device connection to Inspector Proxy. Each device
32
17
  * can have multiple inspectable pages.
33
18
  */
34
19
  declare class Device {
35
- _id: string;
36
- _name: string;
37
- _app: string;
38
- _deviceSocket: WS;
39
- _pages: Array<Page>;
40
- _debuggerConnection: null | undefined | DebuggerInfo;
41
- _lastConnectedReactNativePage: null | undefined | Page;
42
- _isReloading: boolean;
43
- _lastGetPagesMessage: string;
44
- _scriptIdToSourcePathMapping: Map<string, string>;
45
- _projectRoot: string;
46
- _deviceEventReporter: null | undefined | DeviceEventReporter;
47
20
  constructor(
48
21
  id: string,
49
22
  name: string,
@@ -54,37 +27,12 @@ declare class Device {
54
27
  );
55
28
  getName(): string;
56
29
  getApp(): string;
57
- getPagesList(): Array<Page>;
30
+ getPagesList(): ReadonlyArray<Page>;
58
31
  handleDebuggerConnection(
59
32
  socket: WS,
60
33
  pageId: string,
61
34
  metadata: Readonly<{ userAgent: string | null }>
62
35
  ): void;
63
36
  handleDuplicateDeviceConnection(newDevice: Device): void;
64
- _handleMessageFromDevice(message: MessageFromDevice): void;
65
- _sendMessageToDevice(message: MessageToDevice): void;
66
- _setPagesPolling(): void;
67
- _newReactNativePage(page: Page): void;
68
- _processMessageFromDevice(
69
- payload: { method: string; params: { sourceMapURL: string; url: string } },
70
- debuggerInfo: DebuggerInfo
71
- ): void;
72
- _interceptMessageFromDebugger(
73
- req: DebuggerRequest,
74
- debuggerInfo: DebuggerInfo,
75
- socket: WS
76
- ): boolean;
77
- _processDebuggerSetBreakpointByUrl(
78
- req: SetBreakpointByUrlRequest,
79
- debuggerInfo: DebuggerInfo
80
- ): void;
81
- _processDebuggerGetScriptSource(
82
- req: GetScriptSourceRequest,
83
- socket: WS
84
- ): void;
85
- _mapToDevicePageId(pageId: string): string;
86
- _tryParseHTTPURL(url: string): null | undefined | URL;
87
- _fetchText(url: URL): Promise<string>;
88
- _sendErrorToDebugger(message: string): void;
89
37
  }
90
38
  export default Device;