@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
@@ -1,128 +0,0 @@
1
- "use strict";
2
- var __create = Object.create;
3
- var __defProp = Object.defineProperty;
4
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
- var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getProtoOf = Object.getPrototypeOf;
7
- var __hasOwnProp = Object.prototype.hasOwnProperty;
8
- var __export = (target, all) => {
9
- for (var name in all)
10
- __defProp(target, name, { get: all[name], enumerable: true });
11
- };
12
- var __copyProps = (to, from, except, desc) => {
13
- if (from && typeof from === "object" || typeof from === "function") {
14
- for (let key of __getOwnPropNames(from))
15
- if (!__hasOwnProp.call(to, key) && key !== except)
16
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
- }
18
- return to;
19
- };
20
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
- // If the importer is in node compatibility mode or this is not an ESM
22
- // file that has been converted to a CommonJS file using a Babel-
23
- // compatible transform (i.e. "__esModule" has not been set), then set
24
- // "default" to the CommonJS "module.exports" for node compatibility.
25
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
- mod
27
- ));
28
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
- var createDebuggerMiddleware_exports = {};
30
- __export(createDebuggerMiddleware_exports, {
31
- createDebuggerMiddleware: () => createDebuggerMiddleware
32
- });
33
- module.exports = __toCommonJS(createDebuggerMiddleware_exports);
34
- var import_path = __toESM(require("path"));
35
- var import_readline = __toESM(require("readline"));
36
- var import_devtools_frontend = __toESM(require("@granite-js/devtools-frontend"));
37
- var import_prompts = require("@inquirer/prompts");
38
- var import_chalk = __toESM(require("chalk"));
39
- var import_connect = __toESM(require("connect"));
40
- var import_debug = __toESM(require("debug"));
41
- var import_serve_static = __toESM(require("serve-static"));
42
- var import_constants = require("./constants");
43
- var import_openDebugger = require("./openDebugger");
44
- var import_vendors = require("../vendors");
45
- const debug = (0, import_debug.default)("cli:start");
46
- const { InspectorProxy } = (0, import_vendors.getModule)("metro-inspector-proxy");
47
- const chromeInstanceMap = /* @__PURE__ */ new Map();
48
- function createDebuggerMiddleware({ port, broadcastMessage }) {
49
- const middleware = (0, import_connect.default)().use(`/${import_constants.DEBUGGER_FRONTEND_PATH}`, (0, import_serve_static.default)(import_path.default.resolve(import_devtools_frontend.default)));
50
- function enableStdinWatchMode() {
51
- if (!process.stdout.isTTY || process.stdin.setRawMode == null) {
52
- console.warn("Watch mode is not supported in this environment");
53
- return;
54
- }
55
- import_readline.default.emitKeypressEvents(process.stdin);
56
- process.stdin.setRawMode(true);
57
- console.log(`To reload the app press ${import_chalk.default.blue('"r"')}`);
58
- console.log(`To open developer menu press ${import_chalk.default.blue('"d"')}`);
59
- console.log(`To open debugger press ${import_chalk.default.blue('"j"')}`);
60
- console.log("");
61
- process.stdin.on("keypress", (_key, data) => {
62
- if (data.ctrl === true) {
63
- switch (data.name) {
64
- case "c":
65
- process.exit(0);
66
- // eslint-disable-next-line no-fallthrough
67
- case "z":
68
- process.emit("SIGTSTP", "SIGTSTP");
69
- break;
70
- }
71
- return;
72
- }
73
- switch (data.name) {
74
- case "r":
75
- console.info("Reloading app...");
76
- broadcastMessage("reload");
77
- break;
78
- case "d":
79
- console.info("Opening developer menu...");
80
- broadcastMessage("devMenu");
81
- break;
82
- case "j":
83
- openReactNativeDebugger(port);
84
- break;
85
- }
86
- });
87
- }
88
- return { middleware, enableStdinWatchMode };
89
- }
90
- async function openReactNativeDebugger(port) {
91
- const connectedDevices = Array.from(InspectorProxy.devices.entries());
92
- let targetDevice;
93
- for (const [id, device] of connectedDevices) {
94
- debug(`[${id}] ${device.getName()}`);
95
- }
96
- if (connectedDevices.length === 0) {
97
- console.log("No compatible apps connected");
98
- return;
99
- } else if (connectedDevices.length === 1) {
100
- const [id, device] = connectedDevices[0];
101
- const name = device.getName();
102
- targetDevice = { id, name };
103
- } else {
104
- const deviceInfo = await (0, import_prompts.select)({
105
- message: "Select a device to connect",
106
- choices: connectedDevices.map(([id, device]) => ({
107
- value: { id, name: device.getName() },
108
- name: device.getName()
109
- }))
110
- });
111
- process.stdin.resume();
112
- targetDevice = deviceInfo;
113
- }
114
- console.log(`Opening debugger for '${targetDevice.name}'...`);
115
- chromeInstanceMap.get(targetDevice.id)?.kill();
116
- (0, import_openDebugger.openDebugger)(port, targetDevice.id.toString()).then((chrome) => {
117
- chromeInstanceMap.set(targetDevice.id, chrome);
118
- }).catch((error) => {
119
- if (error.message.includes("ECONNREFUSED")) {
120
- return;
121
- }
122
- console.error(error);
123
- });
124
- }
125
- // Annotate the CommonJS export names for ESM import in node:
126
- 0 && (module.exports = {
127
- createDebuggerMiddleware
128
- });
@@ -1,13 +0,0 @@
1
- interface Menu {
2
- key: string;
3
- description: string;
4
- action: () => void;
5
- }
6
- export declare class StartMenuHandler {
7
- private menus;
8
- constructor(menus: Menu[]);
9
- attach(): this;
10
- close(): void;
11
- private keyPressHandler;
12
- }
13
- export {};
@@ -1,86 +0,0 @@
1
- "use strict";
2
- var __create = Object.create;
3
- var __defProp = Object.defineProperty;
4
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
- var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getProtoOf = Object.getPrototypeOf;
7
- var __hasOwnProp = Object.prototype.hasOwnProperty;
8
- var __export = (target, all) => {
9
- for (var name in all)
10
- __defProp(target, name, { get: all[name], enumerable: true });
11
- };
12
- var __copyProps = (to, from, except, desc) => {
13
- if (from && typeof from === "object" || typeof from === "function") {
14
- for (let key of __getOwnPropNames(from))
15
- if (!__hasOwnProp.call(to, key) && key !== except)
16
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
- }
18
- return to;
19
- };
20
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
- // If the importer is in node compatibility mode or this is not an ESM
22
- // file that has been converted to a CommonJS file using a Babel-
23
- // compatible transform (i.e. "__esModule" has not been set), then set
24
- // "default" to the CommonJS "module.exports" for node compatibility.
25
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
- mod
27
- ));
28
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
- var StartMenuHandler_exports = {};
30
- __export(StartMenuHandler_exports, {
31
- StartMenuHandler: () => StartMenuHandler
32
- });
33
- module.exports = __toCommonJS(StartMenuHandler_exports);
34
- var import_readline = __toESM(require("readline"));
35
- var import_chalk = __toESM(require("chalk"));
36
- class StartMenuHandler {
37
- constructor(menus) {
38
- this.menus = menus;
39
- }
40
- attach() {
41
- const isSupportInteractiveMode = process.stdout.isTTY && typeof process.stdin.setRawMode === "function";
42
- if (isSupportInteractiveMode) {
43
- import_readline.default.emitKeypressEvents(process.stdin);
44
- process.stdin.setRawMode(true);
45
- process.stdin.setEncoding("utf8");
46
- process.stdin.on("keypress", this.keyPressHandler.bind(this));
47
- process.stdout.write("\n");
48
- this.menus.forEach(({ key, description }) => {
49
- console.log(`${import_chalk.default.bold(key)} - ${description}`);
50
- });
51
- process.stdout.write("\n");
52
- }
53
- return this;
54
- }
55
- close() {
56
- process.stdin.off("keypress", this.keyPressHandler);
57
- }
58
- keyPressHandler(_data, { ctrl, name }) {
59
- if (name === void 0) {
60
- console.log("\uD55C/\uC601\uD0A4\uB97C \uD655\uC778\uD574\uC8FC\uC138\uC694");
61
- return;
62
- }
63
- if (ctrl) {
64
- switch (name) {
65
- // Ctrl + C: SIGINT
66
- case "c":
67
- process.exit(0);
68
- return;
69
- // Ctrl + Z: SIGTSTP
70
- case "z":
71
- process.emit("SIGTSTP", "SIGTSTP");
72
- return;
73
- }
74
- return;
75
- }
76
- this.menus.forEach(({ key, action }) => {
77
- if (key === name) {
78
- action();
79
- }
80
- });
81
- }
82
- }
83
- // Annotate the CommonJS export names for ESM import in node:
84
- 0 && (module.exports = {
85
- StartMenuHandler
86
- });
@@ -1 +0,0 @@
1
- export declare function openDebugger(port: number, deviceId: string): Promise<import("chrome-launcher").LaunchedChrome>;
@@ -1,74 +0,0 @@
1
- "use strict";
2
- var __create = Object.create;
3
- var __defProp = Object.defineProperty;
4
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
- var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getProtoOf = Object.getPrototypeOf;
7
- var __hasOwnProp = Object.prototype.hasOwnProperty;
8
- var __export = (target, all) => {
9
- for (var name in all)
10
- __defProp(target, name, { get: all[name], enumerable: true });
11
- };
12
- var __copyProps = (to, from, except, desc) => {
13
- if (from && typeof from === "object" || typeof from === "function") {
14
- for (let key of __getOwnPropNames(from))
15
- if (!__hasOwnProp.call(to, key) && key !== except)
16
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
- }
18
- return to;
19
- };
20
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
- // If the importer is in node compatibility mode or this is not an ESM
22
- // file that has been converted to a CommonJS file using a Babel-
23
- // compatible transform (i.e. "__esModule" has not been set), then set
24
- // "default" to the CommonJS "module.exports" for node compatibility.
25
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
- mod
27
- ));
28
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
- var openDebugger_exports = {};
30
- __export(openDebugger_exports, {
31
- openDebugger: () => openDebugger
32
- });
33
- module.exports = __toCommonJS(openDebugger_exports);
34
- var fs = __toESM(require("fs/promises"));
35
- var os = __toESM(require("os"));
36
- var path = __toESM(require("path"));
37
- var import_chrome_launcher = require("chrome-launcher");
38
- var import_constants = require("./constants");
39
- const DEBUGGER_HOST = "localhost";
40
- async function openDebugger(port, deviceId) {
41
- const appUrl = getDevToolsFrontendUrl(DEBUGGER_HOST, port, deviceId);
42
- const tempDir = await createTemporaryDirectory();
43
- const chromePath = (0, import_chrome_launcher.getChromePath)();
44
- if (!chromePath) {
45
- throw new Error("unable to get Chrome browser path");
46
- }
47
- return (0, import_chrome_launcher.launch)({
48
- chromePath,
49
- chromeFlags: [
50
- `--app=${appUrl}`,
51
- `--user-data-dir=${tempDir}`,
52
- "--no-first-run",
53
- "--no-default-browser-check",
54
- "--window-size=1200,800"
55
- ]
56
- });
57
- }
58
- function getDevToolsFrontendUrl(host, port, deviceId) {
59
- const wsUrl = `${host}:${port}/inspector/debug?device=${deviceId}&page=-1`;
60
- const url = new URL(`http://${host}:${port}/${import_constants.DEBUGGER_FRONTEND_PATH}/${import_constants.REACT_NATIVE_INSPECTOR_PAGE}`);
61
- url.searchParams.set("ws", wsUrl);
62
- url.searchParams.set("unstable_enableNetworkPanel", "true");
63
- url.searchParams.set("sources.hide_add_folder", "true");
64
- return url.toString();
65
- }
66
- async function createTemporaryDirectory() {
67
- const tempDir = path.join(os.tmpdir(), import_constants.DEBUGGER_TEMP_DIR);
68
- await fs.mkdir(tempDir, { recursive: true });
69
- return tempDir;
70
- }
71
- // Annotate the CommonJS export names for ESM import in node:
72
- 0 && (module.exports = {
73
- openDebugger
74
- });
@@ -1 +0,0 @@
1
- export declare function parseDomain(method: string): string | undefined;
@@ -1,7 +0,0 @@
1
- import { FastifyInstance } from 'fastify';
2
- interface DebuggerPluginConfig {
3
- onReload: () => void;
4
- }
5
- declare function debuggerPluginImpl(app: FastifyInstance, config: DebuggerPluginConfig): Promise<void>;
6
- export declare const debuggerPlugin: typeof debuggerPluginImpl;
7
- export {};
@@ -1,68 +0,0 @@
1
- "use strict";
2
- var __create = Object.create;
3
- var __defProp = Object.defineProperty;
4
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
- var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getProtoOf = Object.getPrototypeOf;
7
- var __hasOwnProp = Object.prototype.hasOwnProperty;
8
- var __export = (target, all) => {
9
- for (var name in all)
10
- __defProp(target, name, { get: all[name], enumerable: true });
11
- };
12
- var __copyProps = (to, from, except, desc) => {
13
- if (from && typeof from === "object" || typeof from === "function") {
14
- for (let key of __getOwnPropNames(from))
15
- if (!__hasOwnProp.call(to, key) && key !== except)
16
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
- }
18
- return to;
19
- };
20
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
- // If the importer is in node compatibility mode or this is not an ESM
22
- // file that has been converted to a CommonJS file using a Babel-
23
- // compatible transform (i.e. "__esModule" has not been set), then set
24
- // "default" to the CommonJS "module.exports" for node compatibility.
25
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
- mod
27
- ));
28
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
- var debuggerPlugin_exports = {};
30
- __export(debuggerPlugin_exports, {
31
- debuggerPlugin: () => debuggerPlugin
32
- });
33
- module.exports = __toCommonJS(debuggerPlugin_exports);
34
- var import_static = __toESM(require("@fastify/static"));
35
- var import_devtools_frontend = __toESM(require("@granite-js/devtools-frontend"));
36
- var import_fastify_plugin = __toESM(require("fastify-plugin"));
37
- var import_constants = require("../../constants");
38
- var import_logger = require("../../logger");
39
- async function debuggerPluginImpl(app, config) {
40
- import_logger.logger.debug("debugger-plugin", { root: import_devtools_frontend.default, prefix: import_constants.DEBUGGER_FRONTEND_PATH });
41
- app.register(import_static.default, {
42
- root: import_devtools_frontend.default,
43
- prefix: import_constants.DEBUGGER_FRONTEND_PATH
44
- });
45
- app.route({
46
- method: ["GET", "POST"],
47
- url: "/open-debugger",
48
- handler: async (request, reply) => {
49
- import_logger.logger.trace("open-debugger-plugin", { body: request.body });
50
- reply.status(404);
51
- }
52
- }).route({
53
- method: ["GET", "POST"],
54
- url: "/reload",
55
- handler: async (_request, reply) => {
56
- import_logger.logger.trace("debugger-plugin");
57
- config.onReload();
58
- reply.status(200).send("OK");
59
- }
60
- });
61
- }
62
- const debuggerPlugin = (0, import_fastify_plugin.default)(debuggerPluginImpl, {
63
- name: "debugger-plugin"
64
- });
65
- // Annotate the CommonJS export names for ESM import in node:
66
- 0 && (module.exports = {
67
- debuggerPlugin
68
- });
@@ -1,5 +0,0 @@
1
- import { unstable_Device } from '@react-native/dev-middleware';
2
- import * as ws from 'ws';
3
- export declare class Device extends unstable_Device {
4
- constructor(id: string, name: string, app: string, socket: ws.WebSocket, projectRoot: string);
5
- }
@@ -1,33 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var Device_exports = {};
20
- __export(Device_exports, {
21
- Device: () => Device
22
- });
23
- module.exports = __toCommonJS(Device_exports);
24
- var import_dev_middleware = require("@react-native/dev-middleware");
25
- class Device extends import_dev_middleware.unstable_Device {
26
- constructor(id, name, app, socket, projectRoot) {
27
- super(id, name, app, socket, projectRoot, null);
28
- }
29
- }
30
- // Annotate the CommonJS export names for ESM import in node:
31
- 0 && (module.exports = {
32
- Device
33
- });
@@ -1,31 +0,0 @@
1
- import { unstable_InspectorProxy } from '@react-native/dev-middleware';
2
- import { FastifyReply, FastifyRequest, HookHandlerDoneFunction } from 'fastify';
3
- import * as ws from 'ws';
4
- import { Device } from './Device';
5
- export declare class InspectorProxy extends unstable_InspectorProxy {
6
- constructor({ root, serverBaseUrl }: {
7
- root: string;
8
- serverBaseUrl: string;
9
- });
10
- /**
11
- * 커스텀 Device 를 사용하기 위해 `InspectorProxy.createWebSocketListeners` 를 재구성한 메소드
12
- */
13
- createWebSocketServers({ onDeviceWebSocketConnected, onDebuggerWebSocketConnected, }: {
14
- onDeviceWebSocketConnected: (socket: ws.WebSocket) => void;
15
- onDebuggerWebSocketConnected: (socket: ws.WebSocket) => void;
16
- }): {
17
- deviceSocketServer: ws.WebSocketServer;
18
- debuggerSocketServer: ws.WebSocketServer;
19
- };
20
- /**
21
- * Fastify 에서 사용할 수 있도록 `InspectorProxy.processRequest` 의 인터페이스를 재구성한 메소드
22
- */
23
- handleRequest(request: FastifyRequest, reply: FastifyReply, done: HookHandlerDoneFunction): void;
24
- /**
25
- * 토스 커스텀 디버거를 띄우기 위해 내부 devices 를 노출시켜야 함
26
- */
27
- getDevices(): Map<string, Device>;
28
- private sendJsonResponse;
29
- private createDeviceWebSocketServer;
30
- private createDebuggerWebSocketServer;
31
- }
@@ -1,169 +0,0 @@
1
- "use strict";
2
- var __create = Object.create;
3
- var __defProp = Object.defineProperty;
4
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
- var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getProtoOf = Object.getPrototypeOf;
7
- var __hasOwnProp = Object.prototype.hasOwnProperty;
8
- var __export = (target, all) => {
9
- for (var name in all)
10
- __defProp(target, name, { get: all[name], enumerable: true });
11
- };
12
- var __copyProps = (to, from, except, desc) => {
13
- if (from && typeof from === "object" || typeof from === "function") {
14
- for (let key of __getOwnPropNames(from))
15
- if (!__hasOwnProp.call(to, key) && key !== except)
16
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
- }
18
- return to;
19
- };
20
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
- // If the importer is in node compatibility mode or this is not an ESM
22
- // file that has been converted to a CommonJS file using a Babel-
23
- // compatible transform (i.e. "__esModule" has not been set), then set
24
- // "default" to the CommonJS "module.exports" for node compatibility.
25
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
- mod
27
- ));
28
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
- var InspectorProxy_exports = {};
30
- __export(InspectorProxy_exports, {
31
- InspectorProxy: () => InspectorProxy
32
- });
33
- module.exports = __toCommonJS(InspectorProxy_exports);
34
- var import_url = __toESM(require("url"));
35
- var import_dev_middleware = require("@react-native/dev-middleware");
36
- var ws = __toESM(require("ws"));
37
- var import_Device = require("./Device");
38
- var import_logger = require("../../../logger");
39
- const experiments = {
40
- enableNewDebugger: false,
41
- enableNetworkInspector: false,
42
- enableOpenDebuggerRedirect: false
43
- };
44
- const PAGES_LIST_JSON_URL = "/json";
45
- const PAGES_LIST_JSON_URL_2 = "/json/list";
46
- const PAGES_LIST_JSON_VERSION_URL = "/json/version";
47
- const INTERNAL_ERROR_CODE = 1011;
48
- class InspectorProxy extends import_dev_middleware.unstable_InspectorProxy {
49
- constructor({ root, serverBaseUrl }) {
50
- super(root, serverBaseUrl, null, experiments);
51
- }
52
- /**
53
- * 커스텀 Device 를 사용하기 위해 `InspectorProxy.createWebSocketListeners` 를 재구성한 메소드
54
- */
55
- createWebSocketServers({
56
- onDeviceWebSocketConnected,
57
- onDebuggerWebSocketConnected
58
- }) {
59
- return {
60
- deviceSocketServer: this.createDeviceWebSocketServer(onDeviceWebSocketConnected),
61
- debuggerSocketServer: this.createDebuggerWebSocketServer(onDebuggerWebSocketConnected)
62
- };
63
- }
64
- /**
65
- * Fastify 에서 사용할 수 있도록 `InspectorProxy.processRequest` 의 인터페이스를 재구성한 메소드
66
- */
67
- handleRequest(request, reply, done) {
68
- const { pathname } = import_url.default.parse(request.url);
69
- switch (pathname) {
70
- case PAGES_LIST_JSON_URL:
71
- case PAGES_LIST_JSON_URL_2:
72
- this.sendJsonResponse(reply, this.getPageDescriptions());
73
- break;
74
- case PAGES_LIST_JSON_VERSION_URL:
75
- this.sendJsonResponse(reply, { Browser: "Mobile JavaScript", "Protocol-Version": "1.1" });
76
- break;
77
- }
78
- done();
79
- }
80
- /**
81
- * 토스 커스텀 디버거를 띄우기 위해 내부 devices 를 노출시켜야 함
82
- */
83
- getDevices() {
84
- return this._devices;
85
- }
86
- sendJsonResponse(reply, object) {
87
- const data = JSON.stringify(object, null, 2);
88
- reply.status(200).headers({
89
- "Content-Type": "application/json; charset=UTF-8",
90
- "Cache-Control": "no-cache",
91
- "Content-Length": data.length.toString(),
92
- Connection: "close"
93
- }).send(data);
94
- }
95
- createDeviceWebSocketServer(onConnected) {
96
- const wss = new ws.WebSocketServer({
97
- noServer: true,
98
- perMessageDeflate: true
99
- });
100
- wss.on("connection", async (socket, request) => {
101
- try {
102
- const fallbackDeviceId = String(this._deviceCounter++);
103
- const query = import_url.default.parse(request.url || "", true).query || {};
104
- const deviceId = query.device || fallbackDeviceId;
105
- const deviceName = query.name || "Unknown";
106
- const appName = query.app || "Unknown";
107
- import_logger.logger.trace("Device \uC18C\uCF13 \uC5F0\uACB0\uB428", { deviceId, deviceName, appName });
108
- if (Array.isArray(deviceId) || Array.isArray(deviceName) || Array.isArray(appName)) {
109
- return;
110
- }
111
- const oldDevice = this._devices.get(deviceId);
112
- const newDevice = new import_Device.Device(deviceId, deviceName, appName, socket, this._projectRoot);
113
- if (oldDevice) {
114
- oldDevice.handleDuplicateDeviceConnection(newDevice);
115
- }
116
- this._devices.set(deviceId, newDevice);
117
- socket.on("close", () => {
118
- import_logger.logger.trace("Device \uC18C\uCF13 \uC5F0\uACB0 \uB04A\uAE40", { deviceId });
119
- this._devices.delete(deviceId);
120
- });
121
- onConnected(socket);
122
- } catch (error) {
123
- const errorMessage = error?.toString() ?? "Unknown error";
124
- import_logger.logger.error("Device \uC18C\uCF13 \uC5D0\uB7EC", errorMessage);
125
- socket.close(INTERNAL_ERROR_CODE, errorMessage);
126
- }
127
- });
128
- return wss;
129
- }
130
- createDebuggerWebSocketServer(onConnected) {
131
- const wss = new ws.WebSocketServer({
132
- noServer: true,
133
- perMessageDeflate: false,
134
- maxPayload: 0
135
- });
136
- wss.on("connection", async (socket, request) => {
137
- try {
138
- const query = import_url.default.parse(request.url || "", true).query || {};
139
- const deviceId = query.device;
140
- const pageId = query.page;
141
- const userAgent = query.userAgent;
142
- import_logger.logger.trace("Debugger \uC18C\uCF13 \uC5F0\uACB0\uB428", { deviceId, pageId, userAgent });
143
- if (deviceId == null || pageId == null) {
144
- throw new Error("\uCEE4\uB125\uC158 \uC694\uCCAD\uC5D0 device, page \uB9E4\uAC1C\uBCC0\uC218\uAC00 \uC874\uC7AC\uD574\uC57C \uD569\uB2C8\uB2E4");
145
- }
146
- if (Array.isArray(deviceId) || Array.isArray(pageId) || Array.isArray(userAgent)) {
147
- return;
148
- }
149
- const device = this._devices.get(deviceId);
150
- if (device == null) {
151
- throw new Error(`${deviceId} \uC5D0 \uD574\uB2F9\uD558\uB294 \uAE30\uAE30\uB97C \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4`);
152
- }
153
- device.handleDebuggerConnection(socket, pageId, {
154
- userAgent: request.headers["user-agent"] ?? userAgent ?? null
155
- });
156
- onConnected(socket);
157
- } catch (error) {
158
- const errorMessage = error?.toString() ?? "Unknown error";
159
- import_logger.logger.error("Debugger \uC18C\uCF13 \uC5D0\uB7EC", errorMessage);
160
- socket.close(INTERNAL_ERROR_CODE, errorMessage);
161
- }
162
- });
163
- return wss;
164
- }
165
- }
166
- // Annotate the CommonJS export names for ESM import in node:
167
- 0 && (module.exports = {
168
- InspectorProxy
169
- });
@@ -1,3 +0,0 @@
1
- export * from './Device';
2
- export * from './InspectorProxy';
3
- export * from './types';
@@ -1,26 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __copyProps = (to, from, except, desc) => {
7
- if (from && typeof from === "object" || typeof from === "function") {
8
- for (let key of __getOwnPropNames(from))
9
- if (!__hasOwnProp.call(to, key) && key !== except)
10
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
- }
12
- return to;
13
- };
14
- var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
15
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
16
- var dev_middleware_exports = {};
17
- module.exports = __toCommonJS(dev_middleware_exports);
18
- __reExport(dev_middleware_exports, require("./Device"), module.exports);
19
- __reExport(dev_middleware_exports, require("./InspectorProxy"), module.exports);
20
- __reExport(dev_middleware_exports, require("./types"), module.exports);
21
- // Annotate the CommonJS export names for ESM import in node:
22
- 0 && (module.exports = {
23
- ...require("./Device"),
24
- ...require("./InspectorProxy"),
25
- ...require("./types")
26
- });