@vxrn/vite-plugin-metro 1.14.4 → 1.14.5

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 (189) hide show
  1. package/dist/cjs/babel-plugins/import-meta-env-plugin.cjs +55 -37
  2. package/dist/cjs/babel-plugins/import-meta-env-plugin.native.js +111 -94
  3. package/dist/cjs/babel-plugins/import-meta-env-plugin.native.js.map +1 -1
  4. package/dist/cjs/env/platformEnv.cjs +21 -14
  5. package/dist/cjs/env/platformEnv.native.js +30 -20
  6. package/dist/cjs/env/platformEnv.native.js.map +1 -1
  7. package/dist/cjs/index.cjs +16 -14
  8. package/dist/cjs/index.native.js +16 -14
  9. package/dist/cjs/index.native.js.map +1 -1
  10. package/dist/cjs/metro-config/getMetroBabelConfigFromViteConfig.cjs +25 -19
  11. package/dist/cjs/metro-config/getMetroBabelConfigFromViteConfig.native.js +39 -29
  12. package/dist/cjs/metro-config/getMetroBabelConfigFromViteConfig.native.js.map +1 -1
  13. package/dist/cjs/metro-config/getMetroConfigFromViteConfig.cjs +103 -92
  14. package/dist/cjs/metro-config/getMetroConfigFromViteConfig.native.js +111 -104
  15. package/dist/cjs/metro-config/getMetroConfigFromViteConfig.native.js.map +1 -1
  16. package/dist/cjs/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.cjs +17 -13
  17. package/dist/cjs/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.native.js +23 -19
  18. package/dist/cjs/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.native.js.map +1 -1
  19. package/dist/cjs/metro-config/types.cjs +7 -5
  20. package/dist/cjs/metro-config/types.native.js +7 -5
  21. package/dist/cjs/metro-config/types.native.js.map +1 -1
  22. package/dist/cjs/plugins/expoManifestRequestHandlerPlugin.cjs +37 -25
  23. package/dist/cjs/plugins/expoManifestRequestHandlerPlugin.native.js +49 -33
  24. package/dist/cjs/plugins/expoManifestRequestHandlerPlugin.native.js.map +1 -1
  25. package/dist/cjs/plugins/metroPlugin.cjs +184 -126
  26. package/dist/cjs/plugins/metroPlugin.native.js +193 -140
  27. package/dist/cjs/plugins/metroPlugin.native.js.map +1 -1
  28. package/dist/cjs/rn-commands/bundle/assetCatalogIOS.cjs +34 -30
  29. package/dist/cjs/rn-commands/bundle/assetCatalogIOS.native.js +56 -44
  30. package/dist/cjs/rn-commands/bundle/assetCatalogIOS.native.js.map +1 -1
  31. package/dist/cjs/rn-commands/bundle/assetPathUtils.cjs +26 -15
  32. package/dist/cjs/rn-commands/bundle/assetPathUtils.native.js +22 -13
  33. package/dist/cjs/rn-commands/bundle/assetPathUtils.native.js.map +1 -1
  34. package/dist/cjs/rn-commands/bundle/buildBundle.cjs +36 -26
  35. package/dist/cjs/rn-commands/bundle/buildBundle.native.js +42 -32
  36. package/dist/cjs/rn-commands/bundle/buildBundle.native.js.map +1 -1
  37. package/dist/cjs/rn-commands/bundle/buildBundleWithConfig.cjs +52 -41
  38. package/dist/cjs/rn-commands/bundle/buildBundleWithConfig.native.js +57 -46
  39. package/dist/cjs/rn-commands/bundle/buildBundleWithConfig.native.js.map +1 -1
  40. package/dist/cjs/rn-commands/bundle/filterPlatformAssetScales.cjs +23 -15
  41. package/dist/cjs/rn-commands/bundle/filterPlatformAssetScales.native.js +30 -19
  42. package/dist/cjs/rn-commands/bundle/filterPlatformAssetScales.native.js.map +1 -1
  43. package/dist/cjs/rn-commands/bundle/getAssetDestPathAndroid.cjs +28 -26
  44. package/dist/cjs/rn-commands/bundle/getAssetDestPathAndroid.native.js +28 -26
  45. package/dist/cjs/rn-commands/bundle/getAssetDestPathAndroid.native.js.map +1 -1
  46. package/dist/cjs/rn-commands/bundle/getAssetDestPathIOS.cjs +26 -24
  47. package/dist/cjs/rn-commands/bundle/getAssetDestPathIOS.native.js +26 -24
  48. package/dist/cjs/rn-commands/bundle/getAssetDestPathIOS.native.js.map +1 -1
  49. package/dist/cjs/rn-commands/bundle/getBuildBundleFn.cjs +22 -16
  50. package/dist/cjs/rn-commands/bundle/getBuildBundleFn.native.js +16 -14
  51. package/dist/cjs/rn-commands/bundle/getBuildBundleFn.native.js.map +1 -1
  52. package/dist/cjs/rn-commands/bundle/index.cjs +14 -12
  53. package/dist/cjs/rn-commands/bundle/index.native.js +14 -12
  54. package/dist/cjs/rn-commands/bundle/index.native.js.map +1 -1
  55. package/dist/cjs/rn-commands/bundle/saveAssets.cjs +69 -51
  56. package/dist/cjs/rn-commands/bundle/saveAssets.native.js +75 -55
  57. package/dist/cjs/rn-commands/bundle/saveAssets.native.js.map +1 -1
  58. package/dist/cjs/rn-commands/bundle/types.cjs +7 -5
  59. package/dist/cjs/rn-commands/bundle/types.native.js +7 -5
  60. package/dist/cjs/rn-commands/bundle/types.native.js.map +1 -1
  61. package/dist/cjs/rn-commands/index.cjs +24 -22
  62. package/dist/cjs/rn-commands/index.native.js +24 -22
  63. package/dist/cjs/rn-commands/index.native.js.map +1 -1
  64. package/dist/cjs/transformer/babel-core.cjs +12 -10
  65. package/dist/cjs/transformer/babel-core.native.js +12 -10
  66. package/dist/cjs/transformer/babel-core.native.js.map +1 -1
  67. package/dist/cjs/transformer/babel-transformer.cjs +106 -89
  68. package/dist/cjs/transformer/babel-transformer.native.js +106 -96
  69. package/dist/cjs/transformer/babel-transformer.native.js.map +1 -1
  70. package/dist/cjs/transformer/loadBabelConfig.cjs +43 -32
  71. package/dist/cjs/transformer/loadBabelConfig.native.js +51 -41
  72. package/dist/cjs/transformer/loadBabelConfig.native.js.map +1 -1
  73. package/dist/cjs/transformer/transformSync.cjs +33 -25
  74. package/dist/cjs/transformer/transformSync.native.js +38 -30
  75. package/dist/cjs/transformer/transformSync.native.js.map +1 -1
  76. package/dist/cjs/transformer/types.cjs +7 -5
  77. package/dist/cjs/transformer/types.native.js +7 -5
  78. package/dist/cjs/transformer/types.native.js.map +1 -1
  79. package/dist/cjs/utils/exit.cjs +95 -53
  80. package/dist/cjs/utils/exit.native.js +138 -81
  81. package/dist/cjs/utils/exit.native.js.map +1 -1
  82. package/dist/cjs/utils/getTerminalReporter.cjs +33 -28
  83. package/dist/cjs/utils/getTerminalReporter.native.js +40 -33
  84. package/dist/cjs/utils/getTerminalReporter.native.js.map +1 -1
  85. package/dist/cjs/utils/metroCacheManager.cjs +82 -46
  86. package/dist/cjs/utils/metroCacheManager.native.js +96 -57
  87. package/dist/cjs/utils/metroCacheManager.native.js.map +1 -1
  88. package/dist/cjs/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.cjs +21 -17
  89. package/dist/cjs/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.native.js +12 -10
  90. package/dist/cjs/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.native.js.map +1 -1
  91. package/dist/cjs/utils/projectImport.cjs +40 -30
  92. package/dist/cjs/utils/projectImport.native.js +49 -37
  93. package/dist/cjs/utils/projectImport.native.js.map +1 -1
  94. package/dist/esm/babel-plugins/import-meta-env-plugin.mjs +28 -12
  95. package/dist/esm/babel-plugins/import-meta-env-plugin.mjs.map +1 -1
  96. package/dist/esm/babel-plugins/import-meta-env-plugin.native.js +83 -68
  97. package/dist/esm/babel-plugins/import-meta-env-plugin.native.js.map +1 -1
  98. package/dist/esm/env/platformEnv.mjs +9 -4
  99. package/dist/esm/env/platformEnv.mjs.map +1 -1
  100. package/dist/esm/env/platformEnv.native.js +18 -10
  101. package/dist/esm/env/platformEnv.native.js.map +1 -1
  102. package/dist/esm/metro-config/getMetroBabelConfigFromViteConfig.mjs +13 -9
  103. package/dist/esm/metro-config/getMetroBabelConfigFromViteConfig.mjs.map +1 -1
  104. package/dist/esm/metro-config/getMetroBabelConfigFromViteConfig.native.js +27 -19
  105. package/dist/esm/metro-config/getMetroBabelConfigFromViteConfig.native.js.map +1 -1
  106. package/dist/esm/metro-config/getMetroConfigFromViteConfig.mjs +75 -66
  107. package/dist/esm/metro-config/getMetroConfigFromViteConfig.mjs.map +1 -1
  108. package/dist/esm/metro-config/getMetroConfigFromViteConfig.native.js +83 -78
  109. package/dist/esm/metro-config/getMetroConfigFromViteConfig.native.js.map +1 -1
  110. package/dist/esm/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.mjs +5 -3
  111. package/dist/esm/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.mjs.map +1 -1
  112. package/dist/esm/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.native.js +11 -9
  113. package/dist/esm/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.native.js.map +1 -1
  114. package/dist/esm/plugins/expoManifestRequestHandlerPlugin.mjs +22 -12
  115. package/dist/esm/plugins/expoManifestRequestHandlerPlugin.mjs.map +1 -1
  116. package/dist/esm/plugins/expoManifestRequestHandlerPlugin.native.js +34 -20
  117. package/dist/esm/plugins/expoManifestRequestHandlerPlugin.native.js.map +1 -1
  118. package/dist/esm/plugins/metroPlugin.mjs +152 -96
  119. package/dist/esm/plugins/metroPlugin.mjs.map +1 -1
  120. package/dist/esm/plugins/metroPlugin.native.js +158 -107
  121. package/dist/esm/plugins/metroPlugin.native.js.map +1 -1
  122. package/dist/esm/rn-commands/bundle/assetCatalogIOS.mjs +7 -5
  123. package/dist/esm/rn-commands/bundle/assetCatalogIOS.mjs.map +1 -1
  124. package/dist/esm/rn-commands/bundle/assetCatalogIOS.native.js +29 -19
  125. package/dist/esm/rn-commands/bundle/assetCatalogIOS.native.js.map +1 -1
  126. package/dist/esm/rn-commands/bundle/assetPathUtils.mjs +14 -5
  127. package/dist/esm/rn-commands/bundle/assetPathUtils.mjs.map +1 -1
  128. package/dist/esm/rn-commands/bundle/assetPathUtils.native.js +10 -3
  129. package/dist/esm/rn-commands/bundle/assetPathUtils.native.js.map +1 -1
  130. package/dist/esm/rn-commands/bundle/buildBundle.mjs +19 -11
  131. package/dist/esm/rn-commands/bundle/buildBundle.mjs.map +1 -1
  132. package/dist/esm/rn-commands/bundle/buildBundle.native.js +25 -17
  133. package/dist/esm/rn-commands/bundle/buildBundle.native.js.map +1 -1
  134. package/dist/esm/rn-commands/bundle/buildBundleWithConfig.mjs +23 -14
  135. package/dist/esm/rn-commands/bundle/buildBundleWithConfig.mjs.map +1 -1
  136. package/dist/esm/rn-commands/bundle/buildBundleWithConfig.native.js +27 -18
  137. package/dist/esm/rn-commands/bundle/buildBundleWithConfig.native.js.map +1 -1
  138. package/dist/esm/rn-commands/bundle/filterPlatformAssetScales.mjs +11 -5
  139. package/dist/esm/rn-commands/bundle/filterPlatformAssetScales.mjs.map +1 -1
  140. package/dist/esm/rn-commands/bundle/filterPlatformAssetScales.native.js +18 -9
  141. package/dist/esm/rn-commands/bundle/filterPlatformAssetScales.native.js.map +1 -1
  142. package/dist/esm/rn-commands/bundle/getAssetDestPathAndroid.mjs +2 -2
  143. package/dist/esm/rn-commands/bundle/getAssetDestPathAndroid.mjs.map +1 -1
  144. package/dist/esm/rn-commands/bundle/getAssetDestPathAndroid.native.js +2 -2
  145. package/dist/esm/rn-commands/bundle/getAssetDestPathAndroid.native.js.map +1 -1
  146. package/dist/esm/rn-commands/bundle/getAssetDestPathIOS.mjs +2 -2
  147. package/dist/esm/rn-commands/bundle/getAssetDestPathIOS.mjs.map +1 -1
  148. package/dist/esm/rn-commands/bundle/getAssetDestPathIOS.native.js +2 -2
  149. package/dist/esm/rn-commands/bundle/getAssetDestPathIOS.native.js.map +1 -1
  150. package/dist/esm/rn-commands/bundle/getBuildBundleFn.mjs +8 -4
  151. package/dist/esm/rn-commands/bundle/getBuildBundleFn.mjs.map +1 -1
  152. package/dist/esm/rn-commands/bundle/getBuildBundleFn.native.js +2 -2
  153. package/dist/esm/rn-commands/bundle/getBuildBundleFn.native.js.map +1 -1
  154. package/dist/esm/rn-commands/bundle/saveAssets.mjs +39 -23
  155. package/dist/esm/rn-commands/bundle/saveAssets.mjs.map +1 -1
  156. package/dist/esm/rn-commands/bundle/saveAssets.native.js +45 -27
  157. package/dist/esm/rn-commands/bundle/saveAssets.native.js.map +1 -1
  158. package/dist/esm/transformer/babel-transformer.mjs +84 -69
  159. package/dist/esm/transformer/babel-transformer.mjs.map +1 -1
  160. package/dist/esm/transformer/babel-transformer.native.js +94 -86
  161. package/dist/esm/transformer/babel-transformer.native.js.map +1 -1
  162. package/dist/esm/transformer/loadBabelConfig.mjs +17 -8
  163. package/dist/esm/transformer/loadBabelConfig.mjs.map +1 -1
  164. package/dist/esm/transformer/loadBabelConfig.native.js +19 -11
  165. package/dist/esm/transformer/loadBabelConfig.native.js.map +1 -1
  166. package/dist/esm/transformer/transformSync.mjs +9 -3
  167. package/dist/esm/transformer/transformSync.mjs.map +1 -1
  168. package/dist/esm/transformer/transformSync.native.js +14 -8
  169. package/dist/esm/transformer/transformSync.native.js.map +1 -1
  170. package/dist/esm/utils/exit.mjs +68 -28
  171. package/dist/esm/utils/exit.mjs.map +1 -1
  172. package/dist/esm/utils/exit.native.js +111 -56
  173. package/dist/esm/utils/exit.native.js.map +1 -1
  174. package/dist/esm/utils/getTerminalReporter.mjs +7 -4
  175. package/dist/esm/utils/getTerminalReporter.mjs.map +1 -1
  176. package/dist/esm/utils/getTerminalReporter.native.js +14 -9
  177. package/dist/esm/utils/getTerminalReporter.native.js.map +1 -1
  178. package/dist/esm/utils/metroCacheManager.mjs +67 -33
  179. package/dist/esm/utils/metroCacheManager.mjs.map +1 -1
  180. package/dist/esm/utils/metroCacheManager.native.js +80 -43
  181. package/dist/esm/utils/metroCacheManager.native.js.map +1 -1
  182. package/dist/esm/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.mjs +9 -7
  183. package/dist/esm/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.mjs.map +1 -1
  184. package/dist/esm/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.native.js.map +1 -1
  185. package/dist/esm/utils/projectImport.mjs +14 -6
  186. package/dist/esm/utils/projectImport.mjs.map +1 -1
  187. package/dist/esm/utils/projectImport.native.js +23 -13
  188. package/dist/esm/utils/projectImport.native.js.map +1 -1
  189. package/package.json +3 -3
@@ -5,31 +5,37 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
5
  var __getOwnPropNames = Object.getOwnPropertyNames;
6
6
  var __hasOwnProp = Object.prototype.hasOwnProperty;
7
7
  var __export = (target, all) => {
8
- for (var name in all) __defProp(target, name, {
9
- get: all[name],
10
- enumerable: !0
11
- });
12
- },
13
- __copyProps = (to, from, except, desc) => {
14
- if (from && typeof from == "object" || typeof from == "function") for (let key of __getOwnPropNames(from)) !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, {
8
+ for (var name in all) __defProp(target, name, {
9
+ get: all[name],
10
+ enumerable: true
11
+ });
12
+ };
13
+ var __copyProps = (to, from, except, desc) => {
14
+ if (from && typeof from === "object" || typeof from === "function") {
15
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
15
16
  get: () => from[key],
16
17
  enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
17
18
  });
18
- return to;
19
- };
19
+ }
20
+ return to;
21
+ };
20
22
  var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
21
- value: !0
23
+ value: true
22
24
  }), mod);
23
25
  var expoManifestRequestHandlerPlugin_exports = {};
24
26
  __export(expoManifestRequestHandlerPlugin_exports, {
25
27
  expoManifestRequestHandlerPlugin: () => expoManifestRequestHandlerPlugin
26
28
  });
27
29
  module.exports = __toCommonJS(expoManifestRequestHandlerPlugin_exports);
28
- var import_tls = require("tls"),
29
- import_projectImport = require("../utils/projectImport.native.js"),
30
- import_patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName = require("../utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.native.js");
30
+ var import_tls = require("tls");
31
+ var import_projectImport = require("../utils/projectImport.native.js");
32
+ var import_patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName = require("../utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.native.js");
31
33
  function _instanceof(left, right) {
32
- return right != null && typeof Symbol < "u" && right[Symbol.hasInstance] ? !!right[Symbol.hasInstance](left) : left instanceof right;
34
+ if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
35
+ return !!right[Symbol.hasInstance](left);
36
+ } else {
37
+ return left instanceof right;
38
+ }
33
39
  }
34
40
  function expoManifestRequestHandlerPlugin(options) {
35
41
  return {
@@ -39,27 +45,37 @@ function expoManifestRequestHandlerPlugin(options) {
39
45
  // },
40
46
  configureServer(server) {
41
47
  var {
42
- root: projectRoot
43
- } = server.config,
44
- ExpoGoManifestHandlerMiddleware,
45
- importPromise = (0, import_projectImport.projectImport)(projectRoot, "@expo/cli/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js").then(function (mod) {
46
- ExpoGoManifestHandlerMiddleware = mod.default.ExpoGoManifestHandlerMiddleware;
47
- });
48
+ root: projectRoot
49
+ } = server.config;
50
+ var ExpoGoManifestHandlerMiddleware;
51
+ var importPromise = (0, import_projectImport.projectImport)(projectRoot, "@expo/cli/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js").then(function (mod) {
52
+ ExpoGoManifestHandlerMiddleware = mod.default.ExpoGoManifestHandlerMiddleware;
53
+ });
48
54
  server.middlewares.use(async function (req, res, next) {
49
- if (!req.headers["expo-platform"]) return next();
50
- ExpoGoManifestHandlerMiddleware || (await importPromise);
51
- var protocol = _instanceof(req.socket, import_tls.TLSSocket) && req.socket.encrypted ? "https" : "http",
52
- manifestHandlerMiddleware = new ExpoGoManifestHandlerMiddleware(projectRoot, {
53
- constructUrl: function (param) {
54
- var {
55
- scheme,
56
- hostname
57
- } = param,
58
- host = req.headers["x-forwarded-host"] || req.headers.host || hostname;
59
- return scheme ? `${protocol || scheme}://${host}` : host;
55
+ if (!req.headers["expo-platform"]) {
56
+ return next();
57
+ }
58
+ if (!ExpoGoManifestHandlerMiddleware) {
59
+ await importPromise;
60
+ }
61
+ var protocol = _instanceof(req.socket, import_tls.TLSSocket) && req.socket.encrypted ? "https" : "http";
62
+ var manifestHandlerMiddleware = new ExpoGoManifestHandlerMiddleware(projectRoot, {
63
+ constructUrl: function (param) {
64
+ var {
65
+ scheme,
66
+ hostname
67
+ } = param;
68
+ var host = req.headers["x-forwarded-host"] || req.headers.host || hostname;
69
+ if (!scheme) {
70
+ return host;
60
71
  }
61
- });
62
- options?.mainModuleName && (0, import_patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName)(manifestHandlerMiddleware, options.mainModuleName), manifestHandlerMiddleware.handleRequestAsync(req, res, next);
72
+ return `${protocol || scheme}://${host}`;
73
+ }
74
+ });
75
+ if (options === null || options === void 0 ? void 0 : options.mainModuleName) {
76
+ (0, import_patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName)(manifestHandlerMiddleware, options.mainModuleName);
77
+ }
78
+ manifestHandlerMiddleware.handleRequestAsync(req, res, next);
63
79
  });
64
80
  }
65
81
  };
@@ -1 +1 @@
1
- {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","expoManifestRequestHandlerPlugin_exports","__export","expoManifestRequestHandlerPlugin","module","exports","import_tls","require","import_projectImport","import_patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName","_instanceof","left","right","Symbol","hasInstance","options","name","configureServer","server","root","projectRoot","config","ExpoGoManifestHandlerMiddleware","importPromise","projectImport","then","default","middlewares","use","req","res","next","headers","protocol","socket","TLSSocket","encrypted","manifestHandlerMiddleware","constructUrl","param","scheme","hostname","host","mainModuleName","patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName","handleRequestAsync"],"sources":["../../../src/plugins/expoManifestRequestHandlerPlugin.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,wCAAA;AAAAC,QAAA,CAAAD,wCAAA;EAAAE,gCAAA,EAAAA,CAAA,KAAAA;AAAA;AAAAC,MAAA,CAAAC,OAAA,GAAAT,YAA0B,CAAAK,wCAGI;AAevB,IAAAK,UAAS,GAAAC,OAAA;EAAAC,oBAEA,GAAAD,OAAA;EAAAE,mEAAA,GAAAF,OAAA;AAGd,SAAOG,YAAAC,IAAA,EAAAC,KAAA;EAAA,OACLA,KAAM,mBAAAC,MAAA,UAAAD,KAAA,CAAAC,MAAA,CAAAC,WAAA,MAAAF,KAAA,CAAAC,MAAA,CAAAC,WAAA,EAAAH,IAAA,IAAAA,IAAA,YAAAC,KAAA;AAAA;AAAA,SAAAT,iCAAAY,OAAA;EAAA;IAINC,IAAA,iCAAwB;IACtB;IAGA;IACA;IAAsBC,eACpBA,CAAAC,MAAA;MAAA,IACA;UAAAC,IAAA,EAAAC;QAAA,IAAAF,MAAA,CAAAG,MAAA;QAAAC,+BAAA;QAAAC,aAAA,OAAAf,oBAAA,CAAAgB,aAAA,EAAAJ,WAAA,oFAAAK,IAAA,WAAA5B,GAAA;UACAyB,+BAAc,GAAAzB,GAAA,CAAA6B,OAAA,CAAAJ,+BAAA;QACd;MACFJ,MAAC,CAAAS,WAAA,CAAAC,GAAA,iBAAAC,GAAA,EAAAC,GAAA,EAAAC,IAAA;QAED,KAAOF,GAAA,CAAAG,OAAA,CAAY,eAAW,CAAK,EACjC,OAASD,IAAA;QAEPT,+BAAY,WAAAC,aAAA;QAIT,IAAAU,QAAA,GAAAvB,WAAA,CAAAmB,GAAA,CAAAK,MACH,EAAA5B,UAAM,CAAA6B,SAAA,KAAAN,GAAA,CAAAK,MAAA,CAAAE,SAAA;UAAAC,yBAAA,OAAAf,+BAAA,CAAAF,WAAA;YAGRkB,YAAM,WAAAA,CACAC,KAAA;cAGJ;kBAAAC,MAAA;kBAAAC;gBAAA,IAAAF,KAAA;gBAAAG,IAAA,GAAAb,GAAA,CAAAG,OAAA,wBAAAH,GAAA,CAAAG,OAAA,CAAAU,IAAA,IAAAD,QAAA;cACA,OAAAD,MAAA,MAAAP,QAAA,IAAAO,MAAA,MAAAE,IAAA,KAAAA,IAAA;YAAA;UAGI;QAEA3B,OAAA,EAAA4B,cAOO,IAAG,IAAAlC,mEAHD,CAAAmC,4DAAA,EAAAP,yBAAA,EAAAtB,OAAA,CAAA4B,cAAA,GAAAN,yBAAA,CAAAQ,kBAAA,CAAAhB,GAAA,EAAAC,GAAA,EAAAC,IAAA;MAAA;IAIX;EACF;AAGF","ignoreList":[]}
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","expoManifestRequestHandlerPlugin_exports","__export","expoManifestRequestHandlerPlugin","module","exports","import_tls","require","import_projectImport","import_patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName","_instanceof","left","right","Symbol","hasInstance","options","name","configureServer","server","root","projectRoot","config","ExpoGoManifestHandlerMiddleware","importPromise","projectImport","then","default","middlewares","use","req","res","next","headers","protocol","socket","TLSSocket","encrypted","manifestHandlerMiddleware","constructUrl","param","scheme","hostname","host","mainModuleName","patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName","handleRequestAsync"],"sources":["../../../src/plugins/expoManifestRequestHandlerPlugin.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,wCAAA;AAAAC,QAAA,CAAAD,wCAAA;EAAAE,gCAAA,EAAAA,CAAA,KAAAA;AAAA;AAAAC,MAAA,CAAAC,OAAA,GAAAT,YAA0B,CAAAK,wCAAA;AAG1B,IAAAK,UAAA,GAAAC,OAAA,MAA8B;AAC9B,IAAAC,oBAAA,GAAAD,OAAA;AAcO,IAAAE,mEAES,GAAAF,OAAA;AAGd,SAAOG,YAAAC,IAAA,EAAAC,KAAA;EAAA,IACLA,KAAM,mBAAAC,MAAA,oBAAAD,KAAA,CAAAC,MAAA,CAAAC,WAAA;IAAA,SAAAF,KAAA,CAAAC,MAAA,CAAAC,WAAA,EAAAH,IAAA;EAAA;IAAA,OAAAA,IAAA,YAAAC,KAAA;EAAA;AAKJ;AAGA,SAAAT,gCAAIA,CAAAY,OAAA;EACJ;IAAsBC,IACpB;IAAA;IACA;IAEA;IAA8CC,eAC/CA,CAAAC,MAAA;MAED;QAAAC,IAAO,EAAAC;MAAgB,IAAAF,MAAO,CAAKG,MAAK;MACtC,IAAAC,+BAAgC;MAE9B,IAAAC,aAAY,OAAAf,oBAAA,CAAAgB,aAAA,EAAAJ,WAAA,oFAAAK,IAAA,WAAA5B,GAAA;QACdyB,+BAAA,GAAAzB,GAAA,CAAA6B,OAAA,CAAAJ,+BAAA;MAGA;MACEJ,MAAA,CAAAS,WAAM,CAAAC,GAAA,iBAAAC,GAAA,EAAAC,GAAA,EAAAC,IAAA;QACR,KAAAF,GAAA,CAAAG,OAAA;UAEA,OAAMD,IAAA;QAGN;QAAsC,IACpC,CAAAT,+BAAA;UACA,MAAAC,aAAA;QAAA;QAGI,IAAAU,QAAM,GAAAvB,WAAW,CAAAmB,GAAA,CAAQK,MAAA,EAAA5B,UAAkB,CAAA6B,SAAS,KAAAN,GAAQ,CAAAK,MAAQ,CAAAE,SAAA;QAEpE,IAAAC,yBAAa,OAAAf,+BAAA,CAAAF,WAAA;UAIXkB,YAAA,EAAO,SAAAA,CAAAC,KAAA;YAAA,IACT;cAAAC,MAAA;cAAAC;YAAA,IAAAF,KAAA;YAEA,IAAAG,IAAA,GAAOb,GAAG,CAAAG,OAAA,mBAA4B,KAAAH,GAAA,CAAAG,OAAA,CAAAU,IAAA,IAAAD,QAAA;YACxC,KAAAD,MAAA;cACF,OAAAE,IAAA;YACF;YAEI,UAAST,QAAA,IAAAO,MAAgB,MAAAE,IAAA;UAC3B;QAAA;QACE,IACA3B,OAAA,KAAQ,QAAAA,OAAA,uBAAAA,OAAA,CAAA4B,cAAA;UACV,IAAAlC,mEAAA,CAAAmC,4DAAA,EAAAP,yBAAA,EAAAtB,OAAA,CAAA4B,cAAA;QACF;QAGAN,yBAAA,CAA0BQ,kBAAA,CAAmBhB,GAAA,EAAKC,GAAA,EAAKC,IAAI;MAC7D,CAAC;IACH;EACF;AACF","ignoreList":[]}
@@ -2,51 +2,54 @@ var __create = Object.create;
2
2
  var __defProp = Object.defineProperty;
3
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __getProtoOf = Object.getPrototypeOf,
6
- __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
7
  var __export = (target, all) => {
8
- for (var name in all) __defProp(target, name, {
9
- get: all[name],
10
- enumerable: !0
11
- });
12
- },
13
- __copyProps = (to, from, except, desc) => {
14
- if (from && typeof from == "object" || typeof from == "function") for (let key of __getOwnPropNames(from)) !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, {
8
+ for (var name in all) __defProp(target, name, {
9
+ get: all[name],
10
+ enumerable: true
11
+ });
12
+ };
13
+ var __copyProps = (to, from, except, desc) => {
14
+ if (from && typeof from === "object" || typeof from === "function") {
15
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
15
16
  get: () => from[key],
16
17
  enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
17
18
  });
18
- return to;
19
- };
19
+ }
20
+ return to;
21
+ };
20
22
  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", {
26
- value: mod,
27
- enumerable: !0
28
- }) : target, mod)),
29
- __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
30
- value: !0
31
- }), mod);
23
+ // If the importer is in node compatibility mode or this is not an ESM
24
+ // file that has been converted to a CommonJS file using a Babel-
25
+ // compatible transform (i.e. "__esModule" has not been set), then set
26
+ // "default" to the CommonJS "module.exports" for node compatibility.
27
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
28
+ value: mod,
29
+ enumerable: true
30
+ }) : target, mod));
31
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
32
+ value: true
33
+ }), mod);
32
34
  var metroPlugin_exports = {};
33
35
  __export(metroPlugin_exports, {
34
36
  metroPlugin: () => metroPlugin
35
37
  });
36
38
  module.exports = __toCommonJS(metroPlugin_exports);
37
- var import_node_fs = require("node:fs"),
38
- import_promises = require("node:fs/promises"),
39
- import_launch_editor = __toESM(require("launch-editor"), 1),
40
- import_debug = require("@vxrn/debug"),
41
- import_metroCacheManager = require("../utils/metroCacheManager.cjs"),
42
- import_projectImport = require("../utils/projectImport.cjs"),
43
- import_getMetroConfigFromViteConfig = require("../metro-config/getMetroConfigFromViteConfig.cjs"),
44
- import_patchMetroServerWithViteConfigAndMetroPluginOptions = require("../metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.cjs");
39
+ var import_node_fs = require("node:fs");
40
+ var import_promises = require("node:fs/promises");
41
+ var import_launch_editor = __toESM(require("launch-editor"), 1);
42
+ var import_debug = require("@vxrn/debug");
43
+ var import_metroCacheManager = require("../utils/metroCacheManager.cjs");
44
+ var import_projectImport = require("../utils/projectImport.cjs");
45
+ var import_getMetroConfigFromViteConfig = require("../metro-config/getMetroConfigFromViteConfig.cjs");
46
+ var import_patchMetroServerWithViteConfigAndMetroPluginOptions = require("../metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.cjs");
45
47
  const {
46
48
  debug
47
49
  } = (0, import_debug.createDebugger)("vite-plugin-metro");
48
50
  function metroPlugin(options = {}) {
49
- return globalThis.__viteMetroPluginOptions__ = options, {
51
+ globalThis["__viteMetroPluginOptions__"] = options;
52
+ return {
50
53
  name: "metro",
51
54
  // configResolved(config) {
52
55
  // projectRoot = config.root
@@ -55,14 +58,14 @@ function metroPlugin(options = {}) {
55
58
  const {
56
59
  root: projectRoot
57
60
  } = server.config;
58
- let metroReady = !1,
59
- middleware,
60
- metroServer,
61
- hmrServer,
62
- websocketEndpoints,
63
- rnDevtoolsMiddleware,
64
- metroPromise,
65
- metroPromiseResolvers;
61
+ let metroReady = false;
62
+ let middleware;
63
+ let metroServer;
64
+ let hmrServer;
65
+ let websocketEndpoints;
66
+ let rnDevtoolsMiddleware;
67
+ let metroPromise;
68
+ let metroPromiseResolvers;
66
69
  metroPromise = new Promise((resolve, reject) => {
67
70
  metroPromiseResolvers = {
68
71
  resolve,
@@ -70,110 +73,165 @@ function metroPlugin(options = {}) {
70
73
  };
71
74
  });
72
75
  const startMetro = async () => {
73
- const metroStartTime = Date.now();
74
- try {
75
- (0, import_metroCacheManager.checkAndClearMetroCacheFromVite)(server, server.config.logger);
76
- const {
77
- default: Metro
78
- } = await (0, import_projectImport.projectImport)(projectRoot, "metro"),
79
- {
80
- default: MetroHmrServer
81
- } = await (0, import_projectImport.projectImport)(projectRoot, "metro/private/HmrServer"),
82
- {
83
- default: createWebsocketServer
84
- } = await (0, import_projectImport.projectImport)(projectRoot, "metro/private/lib/createWebsocketServer"),
85
- {
86
- createDevMiddleware
87
- } = await (0, import_projectImport.projectImport)(projectRoot, "@react-native/dev-middleware"),
88
- config = await (0, import_getMetroConfigFromViteConfig.getMetroConfigFromViteConfig)(server.config, options),
89
- metroResult = await Metro.createConnectMiddleware(config, {
90
- // Force enable file watching, even on CI.
91
- // This is needed for HMR tests to work on CI.
92
- watch: !0
93
- });
94
- middleware = metroResult.middleware, metroServer = metroResult.metroServer, (0, import_patchMetroServerWithViteConfigAndMetroPluginOptions.patchMetroServerWithViteConfigAndMetroPluginOptions)(metroServer, server.config, options), hmrServer = new MetroHmrServer(metroServer.getBundler(), metroServer.getCreateModuleId(), config);
95
- const reactNativeDevToolsUrl = `http://${typeof server.config.server.host == "boolean" ? "localhost" : server.config.server.host}:${server.config.server.port}`,
96
- devMiddleware = createDevMiddleware({
97
- serverBaseUrl: reactNativeDevToolsUrl,
98
- logger: console
99
- });
100
- rnDevtoolsMiddleware = devMiddleware.middleware, websocketEndpoints = {
101
- "/hot": createWebsocketServer({
102
- websocketServer: hmrServer
103
- }),
104
- ...devMiddleware.websocketEndpoints
105
- }, server.httpServer?.on("upgrade", (request, socket, head) => {
106
- const pathname = new URL(request.url, `http://${request.headers.host}`).pathname,
107
- endpoint = websocketEndpoints[pathname];
108
- endpoint && endpoint.handleUpgrade(request, socket, head, ws => {
76
+ const metroStartTime = Date.now();
77
+ try {
78
+ (0, import_metroCacheManager.checkAndClearMetroCacheFromVite)(server, server.config.logger);
79
+ const {
80
+ default: Metro
81
+ } = await (0, import_projectImport.projectImport)(projectRoot, "metro");
82
+ const {
83
+ default: MetroHmrServer
84
+ } = await (0, import_projectImport.projectImport)(projectRoot, "metro/private/HmrServer");
85
+ const {
86
+ default: createWebsocketServer
87
+ } = await (0, import_projectImport.projectImport)(projectRoot, "metro/private/lib/createWebsocketServer");
88
+ const {
89
+ createDevMiddleware
90
+ } = await (0, import_projectImport.projectImport)(projectRoot, "@react-native/dev-middleware");
91
+ const config = await (0, import_getMetroConfigFromViteConfig.getMetroConfigFromViteConfig)(server.config, options);
92
+ const metroResult = await Metro.createConnectMiddleware(config, {
93
+ // Force enable file watching, even on CI.
94
+ // This is needed for HMR tests to work on CI.
95
+ watch: true
96
+ });
97
+ middleware = metroResult.middleware;
98
+ metroServer = metroResult.metroServer;
99
+ (0, import_patchMetroServerWithViteConfigAndMetroPluginOptions.patchMetroServerWithViteConfigAndMetroPluginOptions)(metroServer, server.config, options);
100
+ hmrServer = new MetroHmrServer(metroServer.getBundler(), metroServer.getCreateModuleId(), config);
101
+ const reactNativeDevToolsUrl = `http://${typeof server.config.server.host === "boolean" ? "localhost" : server.config.server.host}:${server.config.server.port}`;
102
+ const devMiddleware = createDevMiddleware({
103
+ serverBaseUrl: reactNativeDevToolsUrl,
104
+ logger: console
105
+ });
106
+ rnDevtoolsMiddleware = devMiddleware.middleware;
107
+ websocketEndpoints = {
108
+ "/hot": createWebsocketServer({
109
+ websocketServer: hmrServer
110
+ }),
111
+ ...devMiddleware.websocketEndpoints
112
+ };
113
+ server.httpServer?.on("upgrade", (request, socket, head) => {
114
+ const pathname = new URL(request.url, `http://${request.headers.host}`).pathname;
115
+ const endpoint = websocketEndpoints[pathname];
116
+ if (endpoint) {
117
+ endpoint.handleUpgrade(request, socket, head, ws => {
109
118
  endpoint.emit("connection", ws, request);
110
119
  });
111
- }), server.middlewares.use(rnDevtoolsMiddleware), metroReady = !0;
112
- const metroElapsed = Date.now() - metroStartTime;
113
- debug?.(`Metro bundler ready (${metroElapsed}ms)`), metroPromiseResolvers.resolve();
114
- } catch (err) {
115
- throw debug?.(`Error during Metro initialization: ${err}`), metroPromiseResolvers.reject(err), err;
116
- }
117
- },
118
- isLazyStartup = options.startup === "lazy";
119
- let metroStarting = !1;
120
- const ensureMetroStarted = () => {
121
- metroStarting || metroReady || (metroStarting = !0, debug?.("Starting Metro on-demand (lazy startup)"), startMetro().catch(err => {
122
- debug?.(`Failed to start Metro: ${err}`);
123
- }));
120
+ }
121
+ });
122
+ server.middlewares.use(rnDevtoolsMiddleware);
123
+ metroReady = true;
124
+ const metroElapsed = Date.now() - metroStartTime;
125
+ debug?.(`Metro bundler ready (${metroElapsed}ms)`);
126
+ metroPromiseResolvers.resolve();
127
+ } catch (err) {
128
+ debug?.(`Error during Metro initialization: ${err}`);
129
+ metroPromiseResolvers.reject(err);
130
+ throw err;
131
+ }
124
132
  };
125
- if (isLazyStartup) debug?.("Metro lazy startup enabled - will start on first native request");else if (server.httpServer) server.httpServer.listening ? startMetro().catch(err => {
126
- debug?.(`Failed to start Metro: ${err}`);
127
- }) : server.httpServer.on("listening", () => {
133
+ const isLazyStartup = options.startup === "lazy";
134
+ let metroStarting = false;
135
+ const ensureMetroStarted = () => {
136
+ if (metroStarting || metroReady) return;
137
+ metroStarting = true;
138
+ debug?.("Starting Metro on-demand (lazy startup)");
128
139
  startMetro().catch(err => {
129
140
  debug?.(`Failed to start Metro: ${err}`);
130
141
  });
131
- });else {
132
- const waitForServer = () => {
133
- server.httpServer ? server.httpServer.listening ? startMetro().catch(err => {
134
- debug?.(`Failed to start Metro: ${err}`);
135
- }) : server.httpServer.on("listening", () => {
142
+ };
143
+ if (!isLazyStartup) {
144
+ if (server.httpServer) {
145
+ if (server.httpServer.listening) {
136
146
  startMetro().catch(err => {
137
147
  debug?.(`Failed to start Metro: ${err}`);
138
148
  });
139
- }) : setTimeout(waitForServer, 10);
140
- };
141
- waitForServer();
149
+ } else {
150
+ server.httpServer.on("listening", () => {
151
+ startMetro().catch(err => {
152
+ debug?.(`Failed to start Metro: ${err}`);
153
+ });
154
+ });
155
+ }
156
+ } else {
157
+ const waitForServer = () => {
158
+ if (server.httpServer) {
159
+ if (server.httpServer.listening) {
160
+ startMetro().catch(err => {
161
+ debug?.(`Failed to start Metro: ${err}`);
162
+ });
163
+ } else {
164
+ server.httpServer.on("listening", () => {
165
+ startMetro().catch(err => {
166
+ debug?.(`Failed to start Metro: ${err}`);
167
+ });
168
+ });
169
+ }
170
+ } else {
171
+ setTimeout(waitForServer, 10);
172
+ }
173
+ };
174
+ waitForServer();
175
+ }
176
+ } else {
177
+ debug?.("Metro lazy startup enabled - will start on first native request");
142
178
  }
143
179
  server.middlewares.use(async (req, res, next) => {
144
180
  const isNativeRequest = req.headers["user-agent"]?.includes("CFNetwork/") || req.headers["user-agent"]?.includes("okhttp/");
145
- if (isLazyStartup && !metroReady && (req.url?.includes(".bundle") || req.url === "/status" && isNativeRequest) && ensureMetroStarted(), req.url === "/status" && isNativeRequest) {
146
- res.statusCode = 200, res.end("packager-status:running");
181
+ if (isLazyStartup && !metroReady) {
182
+ if (req.url?.includes(".bundle") || req.url === "/status" && isNativeRequest) {
183
+ ensureMetroStarted();
184
+ }
185
+ }
186
+ if (req.url === "/status" && isNativeRequest) {
187
+ res.statusCode = 200;
188
+ res.end("packager-status:running");
147
189
  return;
148
190
  }
149
- if (req.url?.includes(".bundle") && !metroReady && (await metroPromise), middleware) try {
150
- if (req.url?.includes(".bundle")) {
151
- const VITE_METRO_DEBUG_BUNDLE = process.env.VITE_METRO_DEBUG_BUNDLE;
152
- if (VITE_METRO_DEBUG_BUNDLE && (0, import_node_fs.existsSync)(VITE_METRO_DEBUG_BUNDLE)) {
153
- debug?.(`serving debug bundle from ${VITE_METRO_DEBUG_BUNDLE}`);
154
- const content = await (0, import_promises.readFile)(VITE_METRO_DEBUG_BUNDLE, "utf-8");
155
- res.setHeader("Content-Type", "application/javascript"), res.end(content);
191
+ if (req.url?.includes(".bundle") && !metroReady) {
192
+ await metroPromise;
193
+ }
194
+ if (middleware) {
195
+ try {
196
+ if (req.url?.includes(".bundle")) {
197
+ const VITE_METRO_DEBUG_BUNDLE = process.env.VITE_METRO_DEBUG_BUNDLE;
198
+ if (VITE_METRO_DEBUG_BUNDLE) {
199
+ if ((0, import_node_fs.existsSync)(VITE_METRO_DEBUG_BUNDLE)) {
200
+ debug?.(`serving debug bundle from ${VITE_METRO_DEBUG_BUNDLE}`);
201
+ const content = await (0, import_promises.readFile)(VITE_METRO_DEBUG_BUNDLE, "utf-8");
202
+ res.setHeader("Content-Type", "application/javascript");
203
+ res.end(content);
204
+ return;
205
+ }
206
+ }
207
+ }
208
+ if (req.url === "/open-stack-frame" && req.method === "POST") {
209
+ let body = "";
210
+ req.on("data", chunk => {
211
+ body += chunk.toString();
212
+ });
213
+ req.on("end", () => {
214
+ try {
215
+ const frame = JSON.parse(body);
216
+ (0, import_launch_editor.default)(frame.file);
217
+ res.statusCode = 200;
218
+ res.end("Stack frame opened in editor");
219
+ } catch (e) {
220
+ debug?.(`Failed to parse stack frame: ${e}`);
221
+ res.statusCode = 400;
222
+ return res.end("Invalid stack frame JSON");
223
+ }
224
+ });
156
225
  return;
157
226
  }
227
+ await middleware(req, res, next);
228
+ } catch (error) {
229
+ debug?.(`Metro middleware error: ${error}`);
230
+ next();
158
231
  }
159
- if (req.url === "/open-stack-frame" && req.method === "POST") {
160
- let body = "";
161
- req.on("data", chunk => {
162
- body += chunk.toString();
163
- }), req.on("end", () => {
164
- try {
165
- const frame = JSON.parse(body);
166
- (0, import_launch_editor.default)(frame.file), res.statusCode = 200, res.end("Stack frame opened in editor");
167
- } catch (e) {
168
- return debug?.(`Failed to parse stack frame: ${e}`), res.statusCode = 400, res.end("Invalid stack frame JSON");
169
- }
170
- });
171
- return;
172
- }
173
- await middleware(req, res, next);
174
- } catch (error) {
175
- debug?.(`Metro middleware error: ${error}`), next();
176
- } else next();
232
+ } else {
233
+ next();
234
+ }
177
235
  });
178
236
  }
179
237
  };