@granite-js/mpack 0.1.34 → 1.0.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.
Files changed (106) hide show
  1. package/CHANGELOG.md +9 -356
  2. package/dist/bundler/internal/presets.d.ts +4 -1
  3. package/dist/bundler/internal/presets.js +16 -11
  4. package/dist/bundler/plugins/transformPlugin/steps/createFlowStripStep.d.ts +2 -0
  5. package/dist/{vendors/@react-native-community/cli-server-api/createWebSocketEndpoints.js → bundler/plugins/transformPlugin/steps/createFlowStripStep.js} +28 -13
  6. package/dist/bundler/plugins/transformPlugin/steps/createFullyTransformStep.js +0 -1
  7. package/dist/bundler/plugins/transformPlugin/steps/createTransformCodegenStep.d.ts +2 -0
  8. package/dist/bundler/plugins/transformPlugin/steps/createTransformCodegenStep.js +70 -0
  9. package/dist/bundler/plugins/transformPlugin/steps/createTransformToHermesSyntaxStep.d.ts +1 -2
  10. package/dist/bundler/plugins/transformPlugin/steps/createTransformToHermesSyntaxStep.js +5 -19
  11. package/dist/bundler/plugins/transformPlugin/transformPlugin.js +11 -5
  12. package/dist/experimental/index.d.ts +2 -0
  13. package/dist/{server/debugger/parseDomain.js → experimental/index.js} +9 -8
  14. package/dist/{operations/experimental → experimental/operations}/serve.js +19 -67
  15. package/dist/{server → experimental/server}/DevServer.d.ts +3 -3
  16. package/dist/{server → experimental/server}/DevServer.js +58 -41
  17. package/dist/{server → experimental/server}/debugger/DebuggerEventHandler.d.ts +1 -0
  18. package/dist/{server → experimental/server}/debugger/DebuggerEventHandler.js +8 -4
  19. package/dist/{vendors/@react-native/dev-middleware → experimental/server/debugger}/types.d.ts +1 -1
  20. package/dist/{server → experimental/server}/helpers/createBundlerForDevServer.d.ts +1 -1
  21. package/dist/{server → experimental/server}/helpers/createBundlerForDevServer.js +2 -2
  22. package/dist/{server → experimental/server}/helpers/mergeBundles.js +3 -3
  23. package/dist/{server → experimental/server}/middlewares/createLiveReloadMiddleware.js +1 -1
  24. package/dist/{server → experimental/server}/plugins/index.d.ts +0 -1
  25. package/dist/{server → experimental/server}/plugins/index.js +0 -2
  26. package/dist/{server → experimental/server}/plugins/indexPagePlugin.js +1 -1
  27. package/dist/{server → experimental/server}/plugins/reply.js +1 -1
  28. package/dist/{server → experimental/server}/plugins/serveBundlePlugin.js +2 -2
  29. package/dist/{server → experimental/server}/plugins/symbolicatePlugin/symbolicatePlugin.js +2 -2
  30. package/dist/{server → experimental/server}/types.d.ts +2 -2
  31. package/dist/index.d.ts +2 -2
  32. package/dist/index.js +3 -3
  33. package/dist/logger/clientLogger.d.ts +3 -2
  34. package/dist/metro/getMetroConfig.js +5 -5
  35. package/dist/operations/OpenDebuggerKeyboardHandler.d.ts +17 -0
  36. package/dist/operations/OpenDebuggerKeyboardHandler.js +129 -0
  37. package/dist/operations/attachKeyHandlers.d.ts +15 -0
  38. package/dist/operations/attachKeyHandlers.js +132 -0
  39. package/dist/operations/index.d.ts +0 -1
  40. package/dist/operations/index.js +1 -3
  41. package/dist/operations/keyReporter.d.ts +6 -0
  42. package/dist/operations/keyReporter.js +57 -0
  43. package/dist/operations/serve.d.ts +1 -2
  44. package/dist/operations/serve.js +38 -36
  45. package/dist/transformer/AsyncTransformPipeline.js +24 -7
  46. package/dist/transformer/TransformPipeline.d.ts +17 -12
  47. package/dist/transformer/TransformPipeline.js +6 -2
  48. package/dist/utils/getDefaultReactNativePath.d.ts +1 -0
  49. package/dist/utils/getDefaultReactNativePath.js +45 -0
  50. package/dist/utils/getId.js +3 -1
  51. package/dist/vendors/metro/src/DeltaBundler/Serializers/helpers/getSourceMapInfo.js +2 -1
  52. package/dist/vendors/metro/src/DeltaBundler/Serializers/sourceMapGenerator.js +3 -1
  53. package/dist/vendors/metro/src/Server.js +119 -11
  54. package/package.json +19 -16
  55. package/src/lib.d.ts +90 -0
  56. package/dist/bundler/plugins/transformPlugin/steps/createStripFlowStep.d.ts +0 -6
  57. package/dist/bundler/plugins/transformPlugin/steps/createStripFlowStep.js +0 -91
  58. package/dist/operations/constants.d.ts +0 -3
  59. package/dist/operations/constants.js +0 -34
  60. package/dist/operations/createDebuggerMiddleware.d.ts +0 -10
  61. package/dist/operations/createDebuggerMiddleware.js +0 -128
  62. package/dist/operations/experimental/StartMenuHandler.d.ts +0 -13
  63. package/dist/operations/experimental/StartMenuHandler.js +0 -86
  64. package/dist/operations/openDebugger.d.ts +0 -1
  65. package/dist/operations/openDebugger.js +0 -74
  66. package/dist/server/debugger/parseDomain.d.ts +0 -1
  67. package/dist/server/plugins/debuggerPlugin.d.ts +0 -7
  68. package/dist/server/plugins/debuggerPlugin.js +0 -68
  69. package/dist/vendors/@react-native/dev-middleware/Device.d.ts +0 -5
  70. package/dist/vendors/@react-native/dev-middleware/Device.js +0 -33
  71. package/dist/vendors/@react-native/dev-middleware/InspectorProxy.d.ts +0 -31
  72. package/dist/vendors/@react-native/dev-middleware/InspectorProxy.js +0 -169
  73. package/dist/vendors/@react-native/dev-middleware/index.d.ts +0 -3
  74. package/dist/vendors/@react-native/dev-middleware/index.js +0 -26
  75. package/dist/vendors/@react-native-community/cli-server-api/createWebSocketEndpoints.d.ts +0 -23
  76. package/dist/vendors/@react-native-community/cli-server-api/index.d.ts +0 -1
  77. package/dist/vendors/@react-native-community/cli-server-api/index.js +0 -22
  78. /package/dist/{operations/experimental → experimental/operations}/serve.d.ts +0 -0
  79. /package/dist/{server → experimental/server}/constants.d.ts +0 -0
  80. /package/dist/{server → experimental/server}/constants.js +0 -0
  81. /package/dist/{server → experimental/server/debugger}/types.js +0 -0
  82. /package/dist/{server → experimental/server}/helpers/mergeBundles.d.ts +0 -0
  83. /package/dist/{server → experimental/server}/index.d.ts +0 -0
  84. /package/dist/{server → experimental/server}/index.js +0 -0
  85. /package/dist/{server → experimental/server}/middlewares/createLiveReloadMiddleware.d.ts +0 -0
  86. /package/dist/{server → experimental/server}/middlewares/index.d.ts +0 -0
  87. /package/dist/{server → experimental/server}/middlewares/index.js +0 -0
  88. /package/dist/{server → experimental/server}/plugins/indexPagePlugin.d.ts +0 -0
  89. /package/dist/{server → experimental/server}/plugins/reply.d.ts +0 -0
  90. /package/dist/{server → experimental/server}/plugins/serveBundlePlugin.d.ts +0 -0
  91. /package/dist/{server → experimental/server}/plugins/statusPlugin.d.ts +0 -0
  92. /package/dist/{server → experimental/server}/plugins/statusPlugin.js +0 -0
  93. /package/dist/{server → experimental/server}/plugins/symbolicatePlugin/index.d.ts +0 -0
  94. /package/dist/{server → experimental/server}/plugins/symbolicatePlugin/index.js +0 -0
  95. /package/dist/{server → experimental/server}/plugins/symbolicatePlugin/parseStackFrame.d.ts +0 -0
  96. /package/dist/{server → experimental/server}/plugins/symbolicatePlugin/parseStackFrame.js +0 -0
  97. /package/dist/{server → experimental/server}/plugins/symbolicatePlugin/symbolicate.d.ts +0 -0
  98. /package/dist/{server → experimental/server}/plugins/symbolicatePlugin/symbolicate.js +0 -0
  99. /package/dist/{server → experimental/server}/plugins/symbolicatePlugin/symbolicatePlugin.d.ts +0 -0
  100. /package/dist/{vendors/@react-native/dev-middleware → experimental/server}/types.js +0 -0
  101. /package/dist/{server → experimental/server}/wss/WebSocketServerDelegate.d.ts +0 -0
  102. /package/dist/{server → experimental/server}/wss/WebSocketServerDelegate.js +0 -0
  103. /package/dist/{server → experimental/server}/wss/WebSocketServerRouter.d.ts +0 -0
  104. /package/dist/{server → experimental/server}/wss/WebSocketServerRouter.js +0 -0
  105. /package/dist/{server → experimental/server}/wss/index.d.ts +0 -0
  106. /package/dist/{server → experimental/server}/wss/index.js +0 -0
@@ -32,15 +32,13 @@ __export(serve_exports, {
32
32
  });
33
33
  module.exports = __toCommonJS(serve_exports);
34
34
  var import_plugin_core = require("@granite-js/plugin-core");
35
- var import_prompts = require("@inquirer/prompts");
36
- var import_debug = __toESM(require("debug"));
37
- var import_StartMenuHandler = require("./StartMenuHandler");
38
35
  var import_constants = require("../../constants");
39
- var import_DevServer = require("../../server/DevServer");
36
+ var import_attachKeyHandlers = __toESM(require("../../operations/attachKeyHandlers"));
37
+ var import_keyReporter = require("../../operations/keyReporter");
40
38
  var import_printLogo = require("../../utils/printLogo");
41
- var import_openDebugger = require("../openDebugger");
42
- const debug = (0, import_debug.default)("cli:start");
43
- const chromeInstanceMap = /* @__PURE__ */ new Map();
39
+ var import_printServerUrl = require("../../utils/printServerUrl");
40
+ var import_DevServer = require("../server/DevServer");
41
+ let keyHandlersAttached = false;
44
42
  async function EXPERIMENTAL__server({
45
43
  config,
46
44
  host = import_constants.DEV_SERVER_DEFAULT_HOST,
@@ -62,69 +60,23 @@ async function EXPERIMENTAL__server({
62
60
  await server.initialize();
63
61
  await server.listen();
64
62
  await driver.devServer.post({ host, port });
65
- await onServerReady?.();
66
- const menuHandler = new import_StartMenuHandler.StartMenuHandler([
67
- {
68
- key: "r",
69
- description: "Refresh",
70
- action: () => {
71
- console.log("Refreshing...");
72
- server.broadcastCommand("reload");
73
- }
74
- },
75
- {
76
- key: "d",
77
- description: "Open Developer Menu",
78
- action: () => {
79
- console.log("Opening developer menu...");
80
- server.broadcastCommand("devMenu");
81
- }
82
- },
83
- {
84
- key: "j",
85
- description: "Open Debugger",
86
- action: async () => {
87
- const devices = server.getInspectorProxy()?.getDevices();
88
- const connectedDevices = Array.from(devices?.entries() ?? []);
89
- let targetDevice;
90
- for (const [id, device] of connectedDevices) {
91
- debug(`[${id}] ${device.getName()}`);
92
- }
93
- if (connectedDevices.length === 0) {
94
- console.log("No compatible apps connected");
95
- return;
96
- } else if (connectedDevices.length === 1) {
97
- const [id, device] = connectedDevices[0];
98
- const name = device.getName();
99
- targetDevice = { id, name };
100
- } else {
101
- const deviceInfo = await (0, import_prompts.select)({
102
- message: "Select a device to connect",
103
- choices: connectedDevices.map(([id, device]) => ({
104
- value: { id, name: device.getName() },
105
- name: device.getName()
106
- }))
107
- });
108
- process.stdin.resume();
109
- targetDevice = deviceInfo;
110
- }
111
- console.log(`Opening debugger for '${targetDevice.name}'...`);
112
- chromeInstanceMap.get(targetDevice.id)?.kill();
113
- (0, import_openDebugger.openDebugger)(server.port, targetDevice.id).then((chrome) => {
114
- chromeInstanceMap.set(targetDevice.id, chrome);
115
- }).catch((error) => {
116
- if (error.message.includes("ECONNREFUSED")) {
117
- return;
118
- }
119
- console.error(error);
120
- });
121
- }
122
- }
123
- ]).attach();
63
+ (0, import_printServerUrl.printServerUrl)({ host, port });
64
+ if (!keyHandlersAttached) {
65
+ keyHandlersAttached = true;
66
+ const devServerHostname = host === "0.0.0.0" ? "localhost" : host;
67
+ const devServerUrl = new URL(`http://${devServerHostname}:${port}`).origin;
68
+ (0, import_attachKeyHandlers.default)({
69
+ devServerUrl,
70
+ messageSocket: {
71
+ broadcast: (command, params) => server.broadcastCommand(command, params ?? void 0)
72
+ },
73
+ reporter: import_keyReporter.keyReporter
74
+ });
75
+ await onServerReady?.();
76
+ }
124
77
  return {
125
78
  cleanup: async () => {
126
79
  await server.close();
127
- menuHandler.close();
128
80
  }
129
81
  };
130
82
  }
@@ -1,5 +1,4 @@
1
1
  import type { BroadcastCommand, DevServerOptions } from './types';
2
- import { InspectorProxy } from '../vendors/@react-native/dev-middleware';
3
2
  export declare class DevServer {
4
3
  private devServerOptions;
5
4
  host: string;
@@ -8,13 +7,14 @@ export declare class DevServer {
8
7
  private context;
9
8
  private inspectorProxy?;
10
9
  private wssDelegate?;
10
+ private setupTask;
11
11
  constructor(devServerOptions: DevServerOptions);
12
12
  initialize(): Promise<void>;
13
13
  listen(): Promise<void>;
14
14
  close(): Promise<undefined>;
15
- getInspectorProxy(): InspectorProxy | undefined;
15
+ getInspectorProxy(): unknown;
16
16
  getBaseUrl(): string;
17
- broadcastCommand(command: BroadcastCommand): void;
17
+ broadcastCommand(command: BroadcastCommand, params?: Record<string, unknown>): void;
18
18
  private getContext;
19
19
  private setup;
20
20
  private setCommonHeaders;
@@ -32,21 +32,21 @@ __export(DevServer_exports, {
32
32
  });
33
33
  module.exports = __toCommonJS(DevServer_exports);
34
34
  var import_assert = __toESM(require("assert"));
35
+ var import_middie = __toESM(require("@fastify/middie"));
36
+ var import_dev_middleware = require("@react-native/dev-middleware");
37
+ var import_cli_server_api = require("@react-native-community/cli-server-api");
35
38
  var import_fastify = __toESM(require("fastify"));
36
- var import_backend = require("react-native-devtools-standalone/backend");
37
39
  var import_DebuggerEventHandler = require("./debugger/DebuggerEventHandler");
38
40
  var import_createBundlerForDevServer = require("./helpers/createBundlerForDevServer");
39
41
  var import_mergeBundles = require("./helpers/mergeBundles");
40
42
  var import_middlewares = require("./middlewares");
41
43
  var serverPlugins = __toESM(require("./plugins"));
42
44
  var import_wss = require("./wss");
43
- var import_constants = require("../constants");
44
- var import_logger = require("../logger");
45
- var import_statusPlugin = require("../plugins/statusPlugin");
46
- var import_isDebugMode = require("../utils/isDebugMode");
47
- var import_progressBar = require("../utils/progressBar");
48
- var import_dev_middleware = require("../vendors/@react-native/dev-middleware");
49
- var import_cli_server_api = require("../vendors/@react-native-community/cli-server-api");
45
+ var import_constants = require("../../constants");
46
+ var import_logger = require("../../logger");
47
+ var import_statusPlugin = require("../../plugins/statusPlugin");
48
+ var import_isDebugMode = require("../../utils/isDebugMode");
49
+ var import_progressBar = require("../../utils/progressBar");
50
50
  class DevServer {
51
51
  constructor(devServerOptions) {
52
52
  this.devServerOptions = devServerOptions;
@@ -61,7 +61,7 @@ class DevServer {
61
61
  }
62
62
  });
63
63
  this.app = app;
64
- this.setup(app);
64
+ this.setupTask = this.setup(app);
65
65
  }
66
66
  host;
67
67
  port;
@@ -69,13 +69,16 @@ class DevServer {
69
69
  context = null;
70
70
  inspectorProxy;
71
71
  wssDelegate;
72
+ setupTask;
72
73
  async initialize() {
73
74
  import_logger.logger.trace("DevServer.initialize");
75
+ await this.setupTask;
74
76
  const { rootDir, buildConfig } = this.devServerOptions;
75
77
  this.context = await this.createDevServerContext(rootDir, buildConfig);
76
78
  }
77
- listen() {
79
+ async listen() {
78
80
  import_logger.logger.trace("DevServer.listen");
81
+ await this.setupTask;
79
82
  return this.app.listen({ host: this.host, port: this.port }).then(() => {
80
83
  import_logger.logger.info(`\uAC1C\uBC1C \uC11C\uBC84 \uC2E4\uD589 \uC911 - ${this.getBaseUrl()}`);
81
84
  });
@@ -89,31 +92,45 @@ class DevServer {
89
92
  getBaseUrl() {
90
93
  return `http://${this.host}:${this.port}`;
91
94
  }
92
- broadcastCommand(command) {
93
- this.wssDelegate?.broadcastCommand?.(command);
95
+ broadcastCommand(command, params) {
96
+ this.wssDelegate?.broadcastCommand?.(command, params);
94
97
  }
95
98
  getContext() {
96
99
  (0, import_assert.default)(this.context, "\uCD08\uAE30\uD654\uAC00 \uC644\uB8CC\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4");
97
100
  return this.context;
98
101
  }
99
102
  async setup(app) {
100
- const baseRoot = this.devServerOptions.rootDir;
101
- const serverBaseUrl = this.getBaseUrl();
103
+ const devServerHostname = this.host === "0.0.0.0" ? "localhost" : this.host;
104
+ const serverBaseUrl = new URL(`http://${devServerHostname}:${this.port}`).origin;
105
+ await app.register(import_middie.default);
106
+ const {
107
+ middleware: devServerMiddleware,
108
+ websocketEndpoints: serverWebsocketEndpoints,
109
+ eventsSocketEndpoint,
110
+ messageSocketEndpoint
111
+ } = (0, import_cli_server_api.createDevServerMiddleware)({
112
+ host: this.host,
113
+ port: this.port,
114
+ watchFolders: [this.devServerOptions.rootDir]
115
+ });
116
+ const devMiddleware = (0, import_dev_middleware.createDevMiddleware)({ serverBaseUrl });
117
+ const devtoolsWebsocketEndpoints = devMiddleware.websocketEndpoints ?? {};
118
+ this.inspectorProxy = devMiddleware.inspectorProxy;
119
+ devServerMiddleware.use(devMiddleware.middleware);
120
+ app.use(devServerMiddleware);
102
121
  const debuggerEventHandler = new import_DebuggerEventHandler.DebuggerEventHandler(this.devServerOptions.inspectorProxy?.delegate);
103
- const inspectorProxy = new import_dev_middleware.InspectorProxy({ root: baseRoot, serverBaseUrl });
104
- const inspectorProxyWss = inspectorProxy.createWebSocketServers({
105
- onDeviceWebSocketConnected: (socket) => {
122
+ const deviceSocket = devtoolsWebsocketEndpoints["/inspector/device"];
123
+ if (deviceSocket) {
124
+ deviceSocket.on("connection", (socket) => {
106
125
  debuggerEventHandler.setDeviceWebSocketHandler(socket);
107
- },
108
- onDebuggerWebSocketConnected: (socket) => {
126
+ });
127
+ }
128
+ const debuggerSocket = devtoolsWebsocketEndpoints["/inspector/debug"];
129
+ if (debuggerSocket) {
130
+ debuggerSocket.on("connection", (socket) => {
109
131
  debuggerEventHandler.setDebuggerWebSocketHandler(socket);
110
- }
111
- });
112
- const { debuggerProxySocket, eventsSocket, messageSocket } = (0, import_cli_server_api.createWebSocketEndpoints)({
113
- broadcast: (command, params) => {
114
- this.wssDelegate?.broadcastCommand(command, params);
115
- }
116
- });
132
+ });
133
+ }
117
134
  const liveReloadMiddleware = (0, import_middlewares.createLiveReloadMiddleware)({
118
135
  onClientLog: (event) => {
119
136
  this.wssDelegate?.sendEvent(event);
@@ -123,32 +140,32 @@ class DevServer {
123
140
  }
124
141
  });
125
142
  const wssDelegate = new import_wss.WebSocketServerDelegate({
126
- eventReporter: (event) => eventsSocket.reportEvent(event),
127
- messageBroadcaster: (command, params) => messageSocket.broadcast(command, params),
143
+ eventReporter: (event) => eventsSocketEndpoint.reportEvent(event),
144
+ messageBroadcaster: (command, params) => messageSocketEndpoint.broadcast(command, params),
128
145
  hmr: {
129
146
  updateStart: () => liveReloadMiddleware.updateStart(),
130
147
  updateDone: () => liveReloadMiddleware.updateDone(),
131
148
  reload: () => liveReloadMiddleware.liveReload()
132
149
  }
133
150
  });
134
- app.register(serverPlugins.statusPlugin, { rootDir: this.devServerOptions.rootDir }).register(serverPlugins.debuggerPlugin, { onReload: () => this.wssDelegate?.broadcastCommand("reload") }).register(serverPlugins.serveBundlePlugin, { getBundle: this.getBundle.bind(this) }).register(serverPlugins.symbolicatePlugin, { getBundle: this.getBundle.bind(this) }).register(serverPlugins.indexPagePlugin).addHook("onRequest", inspectorProxy.handleRequest).addHook("onSend", this.setCommonHeaders);
151
+ app.register(serverPlugins.statusPlugin, { rootDir: this.devServerOptions.rootDir }).register(serverPlugins.serveBundlePlugin, { getBundle: this.getBundle.bind(this) }).register(serverPlugins.symbolicatePlugin, { getBundle: this.getBundle.bind(this) }).register(serverPlugins.indexPagePlugin).addHook("onSend", this.setCommonHeaders);
135
152
  for (const plugin of this.devServerOptions.middlewares ?? []) {
136
153
  app.register(plugin);
137
154
  }
138
- new import_wss.WebSocketServerRouter().register("/hot", liveReloadMiddleware.server).register("/debugger-proxy", debuggerProxySocket.server).register("/message", messageSocket.server).register("/events", eventsSocket.server).register("/inspector/device", inspectorProxyWss.deviceSocketServer).register("/inspector/debug", inspectorProxyWss.debuggerSocketServer).setup(app);
139
- await (0, import_backend.setupDevToolsProxy)({
140
- client: {
141
- delegate: {
142
- onError: (error) => import_logger.logger.error("React DevTools client error", error)
143
- }
144
- },
145
- devtools: {
146
- delegate: {
147
- onError: (error) => import_logger.logger.error("React DevTools frontend error", error)
155
+ const webSocketRouter = new import_wss.WebSocketServerRouter().register("/hot", liveReloadMiddleware.server);
156
+ const registeredPaths = /* @__PURE__ */ new Set(["/hot"]);
157
+ const registerEndpoints = (endpoints) => {
158
+ for (const [path, endpoint] of Object.entries(endpoints)) {
159
+ if (registeredPaths.has(path)) {
160
+ continue;
148
161
  }
162
+ webSocketRouter.register(path, endpoint);
163
+ registeredPaths.add(path);
149
164
  }
150
- });
151
- this.inspectorProxy = inspectorProxy;
165
+ };
166
+ registerEndpoints(serverWebsocketEndpoints ?? {});
167
+ registerEndpoints(devtoolsWebsocketEndpoints ?? {});
168
+ webSocketRouter.setup(app);
152
169
  this.wssDelegate = wssDelegate;
153
170
  }
154
171
  setCommonHeaders(_request, reply, _payload, next) {
@@ -1,5 +1,6 @@
1
1
  import type { InspectorProxyConfig } from '@granite-js/plugin-core';
2
2
  import * as ws from 'ws';
3
+ export declare function parseDomain(method: string): string | undefined;
3
4
  export declare class DebuggerEventHandler {
4
5
  private delegate?;
5
6
  private networkResponseData;
@@ -28,11 +28,14 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
28
28
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
29
  var DebuggerEventHandler_exports = {};
30
30
  __export(DebuggerEventHandler_exports, {
31
- DebuggerEventHandler: () => DebuggerEventHandler
31
+ DebuggerEventHandler: () => DebuggerEventHandler,
32
+ parseDomain: () => parseDomain
32
33
  });
33
34
  module.exports = __toCommonJS(DebuggerEventHandler_exports);
34
35
  var import_debug = __toESM(require("debug"));
35
- var import_parseDomain = require("./parseDomain");
36
+ function parseDomain(method) {
37
+ return method.split(".")[0];
38
+ }
36
39
  const debug = (0, import_debug.default)("dev-server:debugger");
37
40
  class DebuggerEventHandler {
38
41
  constructor(delegate) {
@@ -69,7 +72,7 @@ class DebuggerEventHandler {
69
72
  const parsedMessage = JSON.parse(message.toString());
70
73
  if (parsedMessage.event === "wrappedEvent") {
71
74
  const wrappedEventPayload = JSON.parse(parsedMessage?.payload?.wrappedEvent);
72
- const domain = (0, import_parseDomain.parseDomain)(wrappedEventPayload.method);
75
+ const domain = parseDomain(wrappedEventPayload.method);
73
76
  if (domain === "Bedrock" || domain === "Granite") {
74
77
  return wrappedEventPayload;
75
78
  }
@@ -176,5 +179,6 @@ class DebuggerEventHandler {
176
179
  }
177
180
  // Annotate the CommonJS export names for ESM import in node:
178
181
  0 && (module.exports = {
179
- DebuggerEventHandler
182
+ DebuggerEventHandler,
183
+ parseDomain
180
184
  });
@@ -40,7 +40,7 @@ export interface LegacyNetworkResponseData {
40
40
  };
41
41
  }
42
42
  /**
43
- * Granite 커스텀 이벤트
43
+ * Granite custom event
44
44
  */
45
45
  export interface NetworkResponseData {
46
46
  method: 'Granite.networkResponseData';
@@ -1,5 +1,5 @@
1
1
  import type { BuildConfig } from '@granite-js/plugin-core';
2
- import { Bundler } from '../../bundler';
2
+ import { Bundler } from '../../../bundler';
3
3
  import { Platform } from '../types';
4
4
  export declare function createBundlerForDevServer({ rootDir, platform, buildConfig, }: {
5
5
  rootDir: string;
@@ -21,8 +21,8 @@ __export(createBundlerForDevServer_exports, {
21
21
  createBundlerForDevServer: () => createBundlerForDevServer
22
22
  });
23
23
  module.exports = __toCommonJS(createBundlerForDevServer_exports);
24
- var import_bundler = require("../../bundler");
25
- var import_getBundleName = require("../../utils/getBundleName");
24
+ var import_bundler = require("../../../bundler");
25
+ var import_getBundleName = require("../../../utils/getBundleName");
26
26
  var import_constants = require("../constants");
27
27
  async function createBundlerForDevServer({
28
28
  rootDir,
@@ -32,9 +32,9 @@ __export(mergeBundles_exports, {
32
32
  });
33
33
  module.exports = __toCommonJS(mergeBundles_exports);
34
34
  var esbuild = __toESM(require("esbuild"));
35
- var import_constants = require("../../constants");
36
- var import_getBundleName = require("../../utils/getBundleName");
37
- var import_getSourcemapName = require("../../utils/getSourcemapName");
35
+ var import_constants = require("../../../constants");
36
+ var import_getBundleName = require("../../../utils/getBundleName");
37
+ var import_getSourcemapName = require("../../../utils/getSourcemapName");
38
38
  var import_constants2 = require("../constants");
39
39
  const INTERNAL_SOURCE = "mpack:internal";
40
40
  const IMPORT_SOURCE = "mpack:remote";
@@ -32,7 +32,7 @@ __export(createLiveReloadMiddleware_exports, {
32
32
  });
33
33
  module.exports = __toCommonJS(createLiveReloadMiddleware_exports);
34
34
  var ws = __toESM(require("ws"));
35
- var import_logger = require("../../logger");
35
+ var import_logger = require("../../../logger");
36
36
  const getReloadByDevSettingsProxy = () => `(function () {
37
37
  var moduleName = "DevSettings";
38
38
  (window.__turboModuleProxy
@@ -1,4 +1,3 @@
1
- export * from './debuggerPlugin';
2
1
  export * from './indexPagePlugin';
3
2
  export * from './serveBundlePlugin';
4
3
  export * from './statusPlugin';
@@ -15,14 +15,12 @@ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "defau
15
15
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
16
16
  var plugins_exports = {};
17
17
  module.exports = __toCommonJS(plugins_exports);
18
- __reExport(plugins_exports, require("./debuggerPlugin"), module.exports);
19
18
  __reExport(plugins_exports, require("./indexPagePlugin"), module.exports);
20
19
  __reExport(plugins_exports, require("./serveBundlePlugin"), module.exports);
21
20
  __reExport(plugins_exports, require("./statusPlugin"), module.exports);
22
21
  __reExport(plugins_exports, require("./symbolicatePlugin"), module.exports);
23
22
  // Annotate the CommonJS export names for ESM import in node:
24
23
  0 && (module.exports = {
25
- ...require("./debuggerPlugin"),
26
24
  ...require("./indexPagePlugin"),
27
25
  ...require("./serveBundlePlugin"),
28
26
  ...require("./statusPlugin"),
@@ -32,7 +32,7 @@ __export(indexPagePlugin_exports, {
32
32
  });
33
33
  module.exports = __toCommonJS(indexPagePlugin_exports);
34
34
  var import_fastify_plugin = __toESM(require("fastify-plugin"));
35
- var import_logger = require("../../logger");
35
+ var import_logger = require("../../../logger");
36
36
  async function _indexPagePlugin(app) {
37
37
  app.route({
38
38
  method: ["GET"],
@@ -22,7 +22,7 @@ __export(reply_exports, {
22
22
  notFound: () => notFound
23
23
  });
24
24
  module.exports = __toCommonJS(reply_exports);
25
- var import_Logger = require("../../logger/Logger");
25
+ var import_Logger = require("../../../logger/Logger");
26
26
  function invalidRequest(reply, logMessage) {
27
27
  import_Logger.logger.warn(`invalid request: ${logMessage}`);
28
28
  return reply.code(400);
@@ -34,8 +34,8 @@ module.exports = __toCommonJS(serveBundlePlugin_exports);
34
34
  var import_path = __toESM(require("path"));
35
35
  var import_fastify_plugin = __toESM(require("fastify-plugin"));
36
36
  var import_reply = require("./reply");
37
- var import_logger = require("../../logger");
38
- var import_stripExtension = require("../../utils/stripExtension");
37
+ var import_logger = require("../../../logger");
38
+ var import_stripExtension = require("../../../utils/stripExtension");
39
39
  var import_constants = require("../constants");
40
40
  var BundleResourceType = /* @__PURE__ */ ((BundleResourceType2) => {
41
41
  BundleResourceType2["Bundle"] = "bundle";
@@ -35,8 +35,8 @@ var url = __toESM(require("url"));
35
35
  var import_fastify_plugin = __toESM(require("fastify-plugin"));
36
36
  var import_parseStackFrame = require("./parseStackFrame");
37
37
  var import_symbolicate = require("./symbolicate");
38
- var import_logger = require("../../../logger");
39
- var import_stripExtension = require("../../../utils/stripExtension");
38
+ var import_logger = require("../../../../logger");
39
+ var import_stripExtension = require("../../../../utils/stripExtension");
40
40
  var import_constants = require("../../constants");
41
41
  var import_reply = require("../reply");
42
42
  async function symbolicatePluginImpl(app, { getBundle }) {
@@ -1,6 +1,6 @@
1
1
  import type { Middleware, BuildConfig, InspectorProxyConfig } from '@granite-js/plugin-core';
2
- import type { Bundler } from '../bundler';
3
- import type { BuildStatusProgressBar } from '../utils/progressBar';
2
+ import type { Bundler } from '../../bundler';
3
+ import type { BuildStatusProgressBar } from '../../utils/progressBar';
4
4
  export type Platform = 'android' | 'ios';
5
5
  export interface DevServerOptions {
6
6
  rootDir: string;
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  export { Bundler } from './bundler';
2
- export { DevServer } from './server';
3
- export { BuildUtils, runServer, EXPERIMENTAL__server } from './operations';
2
+ export { BuildUtils, runServer } from './operations';
3
+ export { EXPERIMENTAL__server, DevServer } from './experimental';
4
4
  export { getMetroConfig, MetroBuildUtils } from './metro';
5
5
  export { DEV_SERVER_DEFAULT_HOST, DEV_SERVER_DEFAULT_PORT, SHARED_BUNDLE_NAME, SERVICE_BUNDLE_NAME, BUNDLE_NAME, } from './constants';
6
6
  export type * from './types';
package/dist/index.js CHANGED
@@ -23,8 +23,8 @@ __export(index_exports, {
23
23
  Bundler: () => import_bundler.Bundler,
24
24
  DEV_SERVER_DEFAULT_HOST: () => import_constants.DEV_SERVER_DEFAULT_HOST,
25
25
  DEV_SERVER_DEFAULT_PORT: () => import_constants.DEV_SERVER_DEFAULT_PORT,
26
- DevServer: () => import_server.DevServer,
27
- EXPERIMENTAL__server: () => import_operations.EXPERIMENTAL__server,
26
+ DevServer: () => import_experimental.DevServer,
27
+ EXPERIMENTAL__server: () => import_experimental.EXPERIMENTAL__server,
28
28
  MetroBuildUtils: () => import_metro.MetroBuildUtils,
29
29
  SERVICE_BUNDLE_NAME: () => import_constants.SERVICE_BUNDLE_NAME,
30
30
  SHARED_BUNDLE_NAME: () => import_constants.SHARED_BUNDLE_NAME,
@@ -33,8 +33,8 @@ __export(index_exports, {
33
33
  });
34
34
  module.exports = __toCommonJS(index_exports);
35
35
  var import_bundler = require("./bundler");
36
- var import_server = require("./server");
37
36
  var import_operations = require("./operations");
37
+ var import_experimental = require("./experimental");
38
38
  var import_metro = require("./metro");
39
39
  var import_constants = require("./constants");
40
40
  // Annotate the CommonJS export names for ESM import in node:
@@ -1,2 +1,3 @@
1
- import type { ClientLogEvent } from '../server/types';
2
- export declare const clientLogger: (level: ClientLogEvent["level"], data: any[]) => void;
1
+ type ClientLogLevel = 'trace' | 'debug' | 'info' | 'warn' | 'error' | 'log' | 'group' | 'groupCollapsed' | 'groupEnd';
2
+ export declare const clientLogger: (level: ClientLogLevel, data: any[]) => void;
3
+ export {};
@@ -36,6 +36,7 @@ var import_utils = require("@granite-js/utils");
36
36
  var import_enhancedResolver = require("./enhancedResolver");
37
37
  var import_getMonorepoRoot = require("./getMonorepoRoot");
38
38
  var import_constants = require("../constants");
39
+ var import_getDefaultReactNativePath = require("../utils/getDefaultReactNativePath");
39
40
  var import_defaults = require("../vendors/metro-config/src/defaults");
40
41
  var import_exclusionList = __toESM(require("../vendors/metro-config/src/defaults/exclusionList"));
41
42
  var import_loadConfig = require("../vendors/metro-config/src/loadConfig");
@@ -60,7 +61,7 @@ const INTERNAL_CALLSITES_REGEX = new RegExp(
60
61
  );
61
62
  async function getMetroConfig({ rootPath }, additionalConfig) {
62
63
  const defaultConfig = (0, import_defaults.getDefaultValues)(rootPath);
63
- const reactNativePath = import_path.default.dirname(resolveFromRoot("react-native/package.json", rootPath));
64
+ const reactNativePath = additionalConfig?.reactNativePath ?? (0, import_getDefaultReactNativePath.getDefaultReactNativePath)(rootPath);
64
65
  const resolvedRootPath = await (0, import_getMonorepoRoot.getMonorepoRoot)(rootPath);
65
66
  const packageRootPath = await (0, import_utils.getPackageRoot)();
66
67
  const resolveRequest = additionalConfig?.resolver?.resolveRequest ?? (0, import_enhancedResolver.createResolver)(rootPath, {
@@ -109,7 +110,9 @@ async function getMetroConfig({ rootPath }, additionalConfig) {
109
110
  resolverMainFields: additionalConfig?.resolver?.resolverMainFields ?? import_constants.RESOLVER_MAIN_FIELDS
110
111
  },
111
112
  serializer: {
112
- getModulesRunBeforeMainModule: () => [resolveFromRoot("react-native/Libraries/Core/InitializeCore", rootPath)],
113
+ getModulesRunBeforeMainModule: () => [
114
+ require.resolve(import_path.default.resolve(reactNativePath, "Libraries/Core/InitializeCore"))
115
+ ],
113
116
  getPolyfills: () => [
114
117
  ...require(import_path.default.join(reactNativePath, "rn-get-polyfills"))(),
115
118
  ...additionalConfig?.serializer?.getPolyfills?.() ?? []
@@ -128,9 +131,6 @@ async function getMetroConfig({ rootPath }, additionalConfig) {
128
131
  ...process.env.METRO_RESET_CACHE !== "false" ? { resetCache: true } : {}
129
132
  });
130
133
  }
131
- function resolveFromRoot(source, rootPath) {
132
- return require.resolve(source, { paths: [rootPath] });
133
- }
134
134
  function resolveVendors(source) {
135
135
  const vendorsBase = import_path.default.resolve(__dirname, "../vendors");
136
136
  return require.resolve(import_path.default.join(vendorsBase, source));
@@ -0,0 +1,17 @@
1
+ type Reporter = {
2
+ update: (event: {
3
+ type: string;
4
+ [key: string]: unknown;
5
+ }) => void;
6
+ };
7
+ export default class OpenDebuggerKeyboardHandler {
8
+ #private;
9
+ constructor({ devServerUrl, reporter }: {
10
+ devServerUrl: string;
11
+ reporter: Reporter;
12
+ });
13
+ handleOpenDebugger(): Promise<void>;
14
+ maybeHandleTargetSelection(keyName: string): boolean;
15
+ dismiss(): void;
16
+ }
17
+ export {};