@vxrn/vite-plugin-metro 1.14.4 → 1.15.0

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
@@ -4,68 +4,71 @@ var __create = Object.create;
4
4
  var __defProp = Object.defineProperty;
5
5
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
6
  var __getOwnPropNames = Object.getOwnPropertyNames;
7
- var __getProtoOf = Object.getPrototypeOf,
8
- __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __getProtoOf = Object.getPrototypeOf;
8
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
9
9
  var __export = (target, all) => {
10
- for (var name in all) __defProp(target, name, {
11
- get: all[name],
12
- enumerable: !0
13
- });
14
- },
15
- __copyProps = (to, from, except, desc) => {
16
- if (from && typeof from == "object" || typeof from == "function") for (let key of __getOwnPropNames(from)) !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, {
10
+ for (var name in all) __defProp(target, name, {
11
+ get: all[name],
12
+ enumerable: true
13
+ });
14
+ };
15
+ var __copyProps = (to, from, except, desc) => {
16
+ if (from && typeof from === "object" || typeof from === "function") {
17
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
17
18
  get: () => from[key],
18
19
  enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
19
20
  });
20
- return to;
21
- };
21
+ }
22
+ return to;
23
+ };
22
24
  var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
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: !0
30
- }) : target, mod)),
31
- __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
32
- value: !0
33
- }), mod);
25
+ // If the importer is in node compatibility mode or this is not an ESM
26
+ // file that has been converted to a CommonJS file using a Babel-
27
+ // compatible transform (i.e. "__esModule" has not been set), then set
28
+ // "default" to the CommonJS "module.exports" for node compatibility.
29
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
30
+ value: mod,
31
+ enumerable: true
32
+ }) : target, mod));
33
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
34
+ value: true
35
+ }), mod);
34
36
  var metroPlugin_exports = {};
35
37
  __export(metroPlugin_exports, {
36
38
  metroPlugin: () => metroPlugin
37
39
  });
38
40
  module.exports = __toCommonJS(metroPlugin_exports);
39
- var import_fs = require("fs"),
40
- import_promises = require("fs/promises"),
41
- import_launch_editor = __toESM(require("launch-editor"), 1),
42
- import_debug = require("@vxrn/debug"),
43
- import_metroCacheManager = require("../utils/metroCacheManager.native.js"),
44
- import_projectImport = require("../utils/projectImport.native.js"),
45
- import_getMetroConfigFromViteConfig = require("../metro-config/getMetroConfigFromViteConfig.native.js"),
46
- import_patchMetroServerWithViteConfigAndMetroPluginOptions = require("../metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.native.js"),
47
- {
48
- debug
49
- } = (0, import_debug.createDebugger)("vite-plugin-metro");
41
+ var import_fs = require("fs");
42
+ var import_promises = require("fs/promises");
43
+ var import_launch_editor = __toESM(require("launch-editor"), 1);
44
+ var import_debug = require("@vxrn/debug");
45
+ var import_metroCacheManager = require("../utils/metroCacheManager.native.js");
46
+ var import_projectImport = require("../utils/projectImport.native.js");
47
+ var import_getMetroConfigFromViteConfig = require("../metro-config/getMetroConfigFromViteConfig.native.js");
48
+ var import_patchMetroServerWithViteConfigAndMetroPluginOptions = require("../metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.native.js");
49
+ var {
50
+ debug
51
+ } = (0, import_debug.createDebugger)("vite-plugin-metro");
50
52
  function metroPlugin() {
51
53
  var options = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
52
- return globalThis.__viteMetroPluginOptions__ = options, {
54
+ globalThis["__viteMetroPluginOptions__"] = options;
55
+ return {
53
56
  name: "metro",
54
57
  // configResolved(config) {
55
58
  // projectRoot = config.root
56
59
  // },
57
60
  configureServer(server) {
58
61
  var {
59
- root: projectRoot
60
- } = server.config,
61
- metroReady = !1,
62
- middleware,
63
- metroServer,
64
- hmrServer,
65
- websocketEndpoints,
66
- rnDevtoolsMiddleware,
67
- metroPromise,
68
- metroPromiseResolvers;
62
+ root: projectRoot
63
+ } = server.config;
64
+ var metroReady = false;
65
+ var middleware;
66
+ var metroServer;
67
+ var hmrServer;
68
+ var websocketEndpoints;
69
+ var rnDevtoolsMiddleware;
70
+ var metroPromise;
71
+ var metroPromiseResolvers;
69
72
  metroPromise = new Promise(function (resolve, reject) {
70
73
  metroPromiseResolvers = {
71
74
  resolve,
@@ -73,119 +76,169 @@ function metroPlugin() {
73
76
  };
74
77
  });
75
78
  var startMetro = async function () {
76
- var metroStartTime = Date.now();
77
- try {
78
- var _server_httpServer;
79
- (0, import_metroCacheManager.checkAndClearMetroCacheFromVite)(server, server.config.logger);
80
- var {
81
- default: Metro
82
- } = await (0, import_projectImport.projectImport)(projectRoot, "metro"),
83
- {
84
- default: MetroHmrServer
85
- } = await (0, import_projectImport.projectImport)(projectRoot, "metro/private/HmrServer"),
86
- {
87
- default: createWebsocketServer
88
- } = await (0, import_projectImport.projectImport)(projectRoot, "metro/private/lib/createWebsocketServer"),
89
- {
90
- createDevMiddleware
91
- } = await (0, import_projectImport.projectImport)(projectRoot, "@react-native/dev-middleware"),
92
- config = await (0, import_getMetroConfigFromViteConfig.getMetroConfigFromViteConfig)(server.config, options),
93
- metroResult = await Metro.createConnectMiddleware(config, {
94
- // Force enable file watching, even on CI.
95
- // This is needed for HMR tests to work on CI.
96
- watch: !0
97
- });
98
- middleware = metroResult.middleware, metroServer = metroResult.metroServer, (0, import_patchMetroServerWithViteConfigAndMetroPluginOptions.patchMetroServerWithViteConfigAndMetroPluginOptions)(metroServer, server.config, options), hmrServer = new MetroHmrServer(metroServer.getBundler(), metroServer.getCreateModuleId(), config);
99
- var reactNativeDevToolsUrl = `http://${typeof server.config.server.host == "boolean" ? "localhost" : server.config.server.host}:${server.config.server.port}`,
100
- devMiddleware = createDevMiddleware({
101
- serverBaseUrl: reactNativeDevToolsUrl,
102
- logger: console
103
- });
104
- rnDevtoolsMiddleware = devMiddleware.middleware, websocketEndpoints = {
105
- "/hot": createWebsocketServer({
106
- websocketServer: hmrServer
107
- }),
108
- ...devMiddleware.websocketEndpoints
109
- }, (_server_httpServer = server.httpServer) === null || _server_httpServer === void 0 || _server_httpServer.on("upgrade", function (request, socket, head) {
110
- var pathname = new URL(request.url, `http://${request.headers.host}`).pathname,
111
- endpoint = websocketEndpoints[pathname];
112
- endpoint && endpoint.handleUpgrade(request, socket, head, function (ws) {
79
+ var metroStartTime = Date.now();
80
+ try {
81
+ var _server_httpServer;
82
+ (0, import_metroCacheManager.checkAndClearMetroCacheFromVite)(server, server.config.logger);
83
+ var {
84
+ default: Metro
85
+ } = await (0, import_projectImport.projectImport)(projectRoot, "metro");
86
+ var {
87
+ default: MetroHmrServer
88
+ } = await (0, import_projectImport.projectImport)(projectRoot, "metro/private/HmrServer");
89
+ var {
90
+ default: createWebsocketServer
91
+ } = await (0, import_projectImport.projectImport)(projectRoot, "metro/private/lib/createWebsocketServer");
92
+ var {
93
+ createDevMiddleware
94
+ } = await (0, import_projectImport.projectImport)(projectRoot, "@react-native/dev-middleware");
95
+ var config = await (0, import_getMetroConfigFromViteConfig.getMetroConfigFromViteConfig)(server.config, options);
96
+ var metroResult = await Metro.createConnectMiddleware(config, {
97
+ // Force enable file watching, even on CI.
98
+ // This is needed for HMR tests to work on CI.
99
+ watch: true
100
+ });
101
+ middleware = metroResult.middleware;
102
+ metroServer = metroResult.metroServer;
103
+ (0, import_patchMetroServerWithViteConfigAndMetroPluginOptions.patchMetroServerWithViteConfigAndMetroPluginOptions)(metroServer, server.config, options);
104
+ hmrServer = new MetroHmrServer(metroServer.getBundler(), metroServer.getCreateModuleId(), config);
105
+ var reactNativeDevToolsUrl = `http://${typeof server.config.server.host === "boolean" ? "localhost" : server.config.server.host}:${server.config.server.port}`;
106
+ var devMiddleware = createDevMiddleware({
107
+ serverBaseUrl: reactNativeDevToolsUrl,
108
+ logger: console
109
+ });
110
+ rnDevtoolsMiddleware = devMiddleware.middleware;
111
+ websocketEndpoints = {
112
+ "/hot": createWebsocketServer({
113
+ websocketServer: hmrServer
114
+ }),
115
+ ...devMiddleware.websocketEndpoints
116
+ };
117
+ (_server_httpServer = server.httpServer) === null || _server_httpServer === void 0 ? void 0 : _server_httpServer.on("upgrade", function (request, socket, head) {
118
+ var pathname = new URL(request.url, `http://${request.headers.host}`).pathname;
119
+ var endpoint = websocketEndpoints[pathname];
120
+ if (endpoint) {
121
+ endpoint.handleUpgrade(request, socket, head, function (ws) {
113
122
  endpoint.emit("connection", ws, request);
114
123
  });
115
- }), server.middlewares.use(rnDevtoolsMiddleware), metroReady = !0;
116
- var metroElapsed = Date.now() - metroStartTime;
117
- debug?.(`Metro bundler ready (${metroElapsed}ms)`), metroPromiseResolvers.resolve();
118
- } catch (err) {
119
- throw debug?.(`Error during Metro initialization: ${err}`), metroPromiseResolvers.reject(err), err;
120
- }
121
- },
122
- isLazyStartup = options.startup === "lazy",
123
- metroStarting = !1,
124
- ensureMetroStarted = function () {
125
- metroStarting || metroReady || (metroStarting = !0, debug?.("Starting Metro on-demand (lazy startup)"), startMetro().catch(function (err) {
126
- debug?.(`Failed to start Metro: ${err}`);
127
- }));
128
- };
129
- if (isLazyStartup) debug?.("Metro lazy startup enabled - will start on first native request");else if (server.httpServer) server.httpServer.listening ? startMetro().catch(function (err) {
130
- debug?.(`Failed to start Metro: ${err}`);
131
- }) : server.httpServer.on("listening", function () {
124
+ }
125
+ });
126
+ server.middlewares.use(rnDevtoolsMiddleware);
127
+ metroReady = true;
128
+ var metroElapsed = Date.now() - metroStartTime;
129
+ debug === null || debug === void 0 ? void 0 : debug(`Metro bundler ready (${metroElapsed}ms)`);
130
+ metroPromiseResolvers.resolve();
131
+ } catch (err) {
132
+ debug === null || debug === void 0 ? void 0 : debug(`Error during Metro initialization: ${err}`);
133
+ metroPromiseResolvers.reject(err);
134
+ throw err;
135
+ }
136
+ };
137
+ var isLazyStartup = options.startup === "lazy";
138
+ var metroStarting = false;
139
+ var ensureMetroStarted = function () {
140
+ if (metroStarting || metroReady) return;
141
+ metroStarting = true;
142
+ debug === null || debug === void 0 ? void 0 : debug("Starting Metro on-demand (lazy startup)");
132
143
  startMetro().catch(function (err) {
133
- debug?.(`Failed to start Metro: ${err}`);
144
+ debug === null || debug === void 0 ? void 0 : debug(`Failed to start Metro: ${err}`);
134
145
  });
135
- });else {
136
- var waitForServer = function () {
137
- server.httpServer ? server.httpServer.listening ? startMetro().catch(function (err) {
138
- debug?.(`Failed to start Metro: ${err}`);
139
- }) : server.httpServer.on("listening", function () {
146
+ };
147
+ if (!isLazyStartup) {
148
+ if (server.httpServer) {
149
+ if (server.httpServer.listening) {
140
150
  startMetro().catch(function (err) {
141
- debug?.(`Failed to start Metro: ${err}`);
151
+ debug === null || debug === void 0 ? void 0 : debug(`Failed to start Metro: ${err}`);
142
152
  });
143
- }) : setTimeout(waitForServer, 10);
144
- };
145
- waitForServer();
153
+ } else {
154
+ server.httpServer.on("listening", function () {
155
+ startMetro().catch(function (err) {
156
+ debug === null || debug === void 0 ? void 0 : debug(`Failed to start Metro: ${err}`);
157
+ });
158
+ });
159
+ }
160
+ } else {
161
+ var waitForServer = function () {
162
+ if (server.httpServer) {
163
+ if (server.httpServer.listening) {
164
+ startMetro().catch(function (err) {
165
+ debug === null || debug === void 0 ? void 0 : debug(`Failed to start Metro: ${err}`);
166
+ });
167
+ } else {
168
+ server.httpServer.on("listening", function () {
169
+ startMetro().catch(function (err) {
170
+ debug === null || debug === void 0 ? void 0 : debug(`Failed to start Metro: ${err}`);
171
+ });
172
+ });
173
+ }
174
+ } else {
175
+ setTimeout(waitForServer, 10);
176
+ }
177
+ };
178
+ waitForServer();
179
+ }
180
+ } else {
181
+ debug === null || debug === void 0 ? void 0 : debug("Metro lazy startup enabled - will start on first native request");
146
182
  }
147
183
  server.middlewares.use(async function (req, res, next) {
148
- var _req_headers_useragent,
149
- _req_headers_useragent1,
150
- _req_url,
151
- isNativeRequest = ((_req_headers_useragent = req.headers["user-agent"]) === null || _req_headers_useragent === void 0 ? void 0 : _req_headers_useragent.includes("CFNetwork/")) || ((_req_headers_useragent1 = req.headers["user-agent"]) === null || _req_headers_useragent1 === void 0 ? void 0 : _req_headers_useragent1.includes("okhttp/"));
184
+ var _req_headers_useragent, _req_headers_useragent1, _req_url;
185
+ var isNativeRequest = ((_req_headers_useragent = req.headers["user-agent"]) === null || _req_headers_useragent === void 0 ? void 0 : _req_headers_useragent.includes("CFNetwork/")) || ((_req_headers_useragent1 = req.headers["user-agent"]) === null || _req_headers_useragent1 === void 0 ? void 0 : _req_headers_useragent1.includes("okhttp/"));
152
186
  if (isLazyStartup && !metroReady) {
153
187
  var _req_url1;
154
- (!((_req_url1 = req.url) === null || _req_url1 === void 0) && _req_url1.includes(".bundle") || req.url === "/status" && isNativeRequest) && ensureMetroStarted();
188
+ if (((_req_url1 = req.url) === null || _req_url1 === void 0 ? void 0 : _req_url1.includes(".bundle")) || req.url === "/status" && isNativeRequest) {
189
+ ensureMetroStarted();
190
+ }
155
191
  }
156
192
  if (req.url === "/status" && isNativeRequest) {
157
- res.statusCode = 200, res.end("packager-status:running");
193
+ res.statusCode = 200;
194
+ res.end("packager-status:running");
158
195
  return;
159
196
  }
160
- if (!((_req_url = req.url) === null || _req_url === void 0) && _req_url.includes(".bundle") && !metroReady && (await metroPromise), middleware) try {
161
- var _req_url2;
162
- if (!((_req_url2 = req.url) === null || _req_url2 === void 0) && _req_url2.includes(".bundle")) {
163
- var VITE_METRO_DEBUG_BUNDLE = process.env.VITE_METRO_DEBUG_BUNDLE;
164
- if (VITE_METRO_DEBUG_BUNDLE && (0, import_fs.existsSync)(VITE_METRO_DEBUG_BUNDLE)) {
165
- debug?.(`serving debug bundle from ${VITE_METRO_DEBUG_BUNDLE}`);
166
- var content = await (0, import_promises.readFile)(VITE_METRO_DEBUG_BUNDLE, "utf-8");
167
- res.setHeader("Content-Type", "application/javascript"), res.end(content);
197
+ if (((_req_url = req.url) === null || _req_url === void 0 ? void 0 : _req_url.includes(".bundle")) && !metroReady) {
198
+ await metroPromise;
199
+ }
200
+ if (middleware) {
201
+ try {
202
+ var _req_url2;
203
+ if ((_req_url2 = req.url) === null || _req_url2 === void 0 ? void 0 : _req_url2.includes(".bundle")) {
204
+ var VITE_METRO_DEBUG_BUNDLE = process.env.VITE_METRO_DEBUG_BUNDLE;
205
+ if (VITE_METRO_DEBUG_BUNDLE) {
206
+ if ((0, import_fs.existsSync)(VITE_METRO_DEBUG_BUNDLE)) {
207
+ debug === null || debug === void 0 ? void 0 : debug(`serving debug bundle from ${VITE_METRO_DEBUG_BUNDLE}`);
208
+ var content = await (0, import_promises.readFile)(VITE_METRO_DEBUG_BUNDLE, "utf-8");
209
+ res.setHeader("Content-Type", "application/javascript");
210
+ res.end(content);
211
+ return;
212
+ }
213
+ }
214
+ }
215
+ if (req.url === "/open-stack-frame" && req.method === "POST") {
216
+ var body = "";
217
+ req.on("data", function (chunk) {
218
+ body += chunk.toString();
219
+ });
220
+ req.on("end", function () {
221
+ try {
222
+ var frame = JSON.parse(body);
223
+ (0, import_launch_editor.default)(frame.file);
224
+ res.statusCode = 200;
225
+ res.end("Stack frame opened in editor");
226
+ } catch (e) {
227
+ debug === null || debug === void 0 ? void 0 : debug(`Failed to parse stack frame: ${e}`);
228
+ res.statusCode = 400;
229
+ return res.end("Invalid stack frame JSON");
230
+ }
231
+ });
168
232
  return;
169
233
  }
234
+ await middleware(req, res, next);
235
+ } catch (error) {
236
+ debug === null || debug === void 0 ? void 0 : debug(`Metro middleware error: ${error}`);
237
+ next();
170
238
  }
171
- if (req.url === "/open-stack-frame" && req.method === "POST") {
172
- var body = "";
173
- req.on("data", function (chunk) {
174
- body += chunk.toString();
175
- }), req.on("end", function () {
176
- try {
177
- var frame = JSON.parse(body);
178
- (0, import_launch_editor.default)(frame.file), res.statusCode = 200, res.end("Stack frame opened in editor");
179
- } catch (e) {
180
- return debug?.(`Failed to parse stack frame: ${e}`), res.statusCode = 400, res.end("Invalid stack frame JSON");
181
- }
182
- });
183
- return;
184
- }
185
- await middleware(req, res, next);
186
- } catch (error) {
187
- debug?.(`Metro middleware error: ${error}`), next();
188
- } else next();
239
+ } else {
240
+ next();
241
+ }
189
242
  });
190
243
  }
191
244
  };
@@ -1 +1 @@
1
- {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","metroPlugin_exports","__export","metroPlugin","module","exports","import_fs","require","import_promises","import_launch_editor","__toESM","import_debug","import_metroCacheManager","import_projectImport","import_getMetroConfigFromViteConfig","import_patchMetroServerWithViteConfigAndMetroPluginOptions","debug","createDebugger","options","arguments","length","globalThis","__viteMetroPluginOptions__","name","configureServer","server","root","projectRoot","config","metroReady","middleware","metroServer","hmrServer","websocketEndpoints","rnDevtoolsMiddleware","metroPromise","metroPromiseResolvers","Promise","resolve","reject","startMetro","metroStartTime","Date","now","_server_httpServer","checkAndClearMetroCacheFromVite","logger","default","Metro","projectImport","MetroHmrServer","createWebsocketServer","createDevMiddleware","getMetroConfigFromViteConfig","metroResult","createConnectMiddleware","watch","patchMetroServerWithViteConfigAndMetroPluginOptions","getBundler","getCreateModuleId","reactNativeDevToolsUrl","host","port","devMiddleware","serverBaseUrl","console","websocketServer","httpServer","on","request","socket","head","pathname","URL","url","headers","endpoint","handleUpgrade","ws","emit","middlewares","use","metroElapsed","err","isLazyStartup","startup","metroStarting","ensureMetroStarted","catch","listening","waitForServer","setTimeout","req","res","next","_req_headers_useragent","_req_headers_useragent1","_req_url","isNativeRequest","includes","_req_url1","statusCode","end","_req_url2","VITE_METRO_DEBUG_BUNDLE","process","env","existsSync","content","readFile","setHeader","method","body","chunk","toString","frame","JSON","parse","file","e","error"],"sources":["../../../src/plugins/metroPlugin.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAAA;EAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;IAAAC,KAAA;EAAA,IAAAH,GAAA;AAAA,IAAAI,mBAAA;AAAAC,QAAA,CAAAD,mBAAA;EAAAE,WAAA,EAAAA,CAAA,KAAAA;AAAA;AAAAC,MAAA,CAAAC,OAAA,GAAAT,YAA2B,CAAAK,mBAC3B;AAMA,IAAAK,SAAQ,GAAMC,OAAI;EAAAC,eAAA,GAAAD,OAAe,cAAmB;EAAAE,oBAAA,GAAAC,OAAA,CAAAH,OAAA;EAAAI,YAAA,GAAAJ,OAAA;EAAAK,wBAAA,GAAAL,OAAA;EAAAM,oBAAA,GAAAN,OAAA;EAAAO,mCAAA,GAAAP,OAAA;EAAAQ,0DAAA,GAAAR,OAAA;EAAA;IAAAS;EAAA,QAAAL,YAAA,CAAAM,cAAA;AA+D7C,SAASd,YAAA,EAAY;EAO1B,IAAAe,OAAA,GAAAC,SAAW,CAAAC,MAAA,QAAAD,SAAgC,aAEpC,IAAAA,SAAA;EAAA,OACLE,UAAM,CAAAC,0BAAA,GAAAJ,OAAA;IAAAK,IAAA;IAAA;IAAA;IAKN;IACEC,eAAQA,CAAMC,MAAA;MAEd,IAAI;UAAAC,IAAA,EAAAC;QAGA,IAAAF,MAGA,CAAAG,MAAA;QAAAC,UAGA,IACA;QAAAC,UAAA;QAAAC,WACA;QAAAC,SAAA;QAAAC,kBAGA;QAAAC,oBAAA;QAAAC,YAAA;QAAAC,qBAAA;MAIJD,YAAA,GAAe,IAAIE,OAAA,CAAQ,UAACC,OAAS,EAAAC,MAAW;QAC9CH,qBAAA,GAAwB;UACzBE,OAAA;UAEDC;QACE;MACA;MAGE,IAAAC,UAAA,kBAAAA,CAAA;UAGA,IAAAC,cAAQ,GAASC,IAAM,CAAAC,GAAI;UAeqC;YAAA,IAAAC,kBAAA;YAAA,EAG9D,EAAAhC,wBAAO,CAAAiC,+BAAA,EAAApB,MAAA,EAAAA,MAAA,CAAAG,MAAA,CAAAkB,MAAA;YACT,IAAC;gBAAAC,OAAA,EAAAC;cAAA,cAAAnC,oBAAA,CAAAoC,aAAA,EAAAtB,WAAA;cAAA;gBAAAoB,OAAA,EAAAG;cAAA,cAAArC,oBAAA,CAAAoC,aAAA,EAAAtB,WAAA;cAAA;gBAAAoB,OAAA,EAAAI;cAAA,cAAAtC,oBAAA,CAAAoC,aAAA,EAAAtB,WAAA;cAAA;gBAAAyB;cAAA,cAAAvC,oBAAA,CAAAoC,aAAA,EAAAtB,WAAA;cAAAC,MAAA,aAAAd,mCAAA,CAAAuC,4BAAA,EAAA5B,MAAA,CAAAG,MAAA,EAAAV,OAAA;cAAAoC,WAAA,SAAAN,KAAA,CAAAO,uBAAA,CAAA3B,MAAA;gBAED;gBAIE;gBACA4B,KAAA,EAAO;cAAA,EACP;YACF1B,UAEA,GAAAwB,WAAgB,CAAAxB,UAAA,EAAAC,WAAA,GAAAuB,WAAA,CAAAvB,WAAA,MAAAhB,0DAAA,CAAA0C,mDAAA,EAAA1B,WAAA,EAAAN,MAAA,CAAAG,MAAA,EAAAV,OAAA,GAAAc,SAAA,OAAAkB,cAAA,CAAAnB,WAAA,CAAA2B,UAAA,IAAA3B,WAAA,CAAA4B,iBAAA,IAAA/B,MAAA;YAAA,IACdgC,sBAAuB,oBAAAnC,MAAA,CAAAG,MAAA,CAAAH,MAAA,CAAAoC,IAAA,8BAAApC,MAAA,CAAAG,MAAA,CAAAH,MAAA,CAAAoC,IAAA,IAAApC,MAAA,CAAAG,MAAA,CAAAH,MAAA,CAAAqC,IAAA;cAAAC,aAAA,GAAAX,mBAAA;gBACvBY,aAAY,EAAAJ,sBAAkB;gBAC9Bd,MAAA,EAAAmB;cACF;YAEA/B,oBAAM,GAAA6B,aAAyB,CAAAjC,UAAU,EAAOG,kBAAc,GAAO;cAEnE,QAAAkB,qBAAe;gBACfe,eAAQ,EAAAlC;cACT;cAED,GAAA+B,aAAA,CAAA9B;YACqB,GACnB,CAAAW,kBAAQ,GAAAnB,MAAA,CAAsB0C,UAAA,cAAAvB,kBAAA,eAAAA,kBAAA,CAAAwB,EAAA,sBAAAC,OAAA,EAAAC,MAAA,EAAAC,IAAA;cAAA,IAC5BC,QAAA,OAAiBC,GAAA,CAAAJ,OAAA,CAAAK,GAAA,YAAAL,OAAA,CAAAM,OAAA,CAAAd,IAAA,IAAAW,QAAA;gBAAAI,QAAA,GAAA3C,kBAAA,CAAAuC,QAAA;cACnBI,QAAC,IAAAA,QAAA,CAAAC,aAAA,CAAAR,OAAA,EAAAC,MAAA,EAAAC,IAAA,YAAAO,EAAA;gBACDF,QAAG,CAAAG,IAAA,aAAc,EAAAD,EAAA,EAAAT,OAAA;cACnB,CAIA;YACE,IAAA5C,MAAM,CAAAuD,WAAW,CAAIC,GAAA,CAAI/C,oBAAc,GAAUL,UAAQ;YAIzD,IAAIqD,YACF,GAAAxC,IAAS,CAAAC,GAAA,KAAAF,cAAuB;YAC9BzB,KAAA,2BAA4BkE,YAAW,QAAA9C,qBAAA,CAAAE,OAAA;UAAA,SACxC6C,GAAA;YAGL,MAGAnE,KAAO,yCAEPmE,GAAA,KAAA/C,qBAAa,CAAAG,MAAA,CAAA4C,GAAA,GAAAA,GAAA;UACb;QACA;QAAAC,aAAQ,GAAAlE,OAAA,CAAAmE,OAAA,KAAwB;QAAAC,aAChC;QAAAC,kBAAsB,GAAQ,SAAAA,CAAA;UAChCD,aAAS,IAAKzD,UAAA,KAAAyD,aAAA,OAAAtE,KAAA,+CAAAwB,UAAA,GAAAgD,KAAA,WAAAL,GAAA;YACZnE,KAAA,6BAAQmE,GAAA;UAGV;QACF;MAKA,IAAIC,aAAA,EACJpE,KAAM,oEAA2B,OAC3B,IAAAS,MAAA,CAAA0C,UAAiB,EAInB1C,MAAA,CAAA0C,UAAQ,CAAAsB,SAAA,GAAAjD,UAA6B,CAAE,EAAAgD,KAAA,WAAAL,GAAA;QACxCnE,KAAA,6BAAAmE,GAAA;MACH,KAAA1D,MAAA,CAAA0C,UAAA,CAAAC,EAAA;QAIK5B,UAAA,GAAAgD,KAAA,WAAAL,GAAA;UAqCHnE,KAAQ,6BAAAmE,GAAA;QAAiE;MAnCnE,QAGA;QACF,IAACO,aAEM,YAAAA,CAAA,EAAc;UACnBjE,MAAA,CAAA0C,UAAa,GAAO1C,MAAA,CAAA0C,UAAQ,CAAAsB,SAAA,GAAAjD,UAAA,GAAAgD,KAAA,WAAAL,GAAA;YAC1BnE,KAAA,GAAQ,0BAA0BmE,GAAG,EAAE;UACzC,CAAC,IAAA1D,MAAA,CAAA0C,UAAA,CAAAC,EAAA;YACF5B,UAAA,GAAAgD,KAAA,WAAAL,GAAA;cAEEnE,KAAA,6BAAAmE,GAAA;YAGL,EAAM;UACA,KAAAQ,UAAO,CAAAD,aACE;QAEP;QAAuCA,aAGzC,CAAO;MACL;MACEjE,MAAA,CAAAuD,WAAQ,CAAAC,GAAA,iBAAAW,GAAA,EAA0BC,GAAG,EAAEC,IAAA;QAAA,IACzCC,sBAAC;UAAAC,uBAAA;UAAAC,QAAA;UAAAC,eAAA,KAAAH,sBAAA,GAAAH,GAAA,CAAAjB,OAAA,4BAAAoB,sBAAA,uBAAAA,sBAAA,CAAAI,QAAA,qBAAAH,uBAAA,GAAAJ,GAAA,CAAAjB,OAAA,4BAAAqB,uBAAA,uBAAAA,uBAAA,CAAAG,QAAA;QAAA,IACFf,aAGH,IAAW,CAAAvD,UAAA,EAAe;UAE9B,IAAAuE,SAAA;UACA,IAAAA,SAAc,GAAAR,GAAA,CAAAlB,GAAA,cAAA0B,SAAA,gBAAAA,SAAA,CAAAD,QAAA,eAAAP,GAAA,CAAAlB,GAAA,kBAAAwB,eAAA,KAAAX,kBAAA;QAChB;QAKF,IAAAK,GAAO,CAAAlB,GAAA,cAAgB,IAAOwB,eAAU;UACtCL,GAAA,CAAMQ,UAAA,QACJR,GAAA,CAAIS,GAAA,0BAAuB;UAiB7B;QACE;QAEA,OAAAL,QAAA,GAAAL,GAAA,CAAAlB,GAAA,cAAAuB,QAAA,gBAAAA,QAAA,CAAAE,QAAA,gBAAAtE,UAAA,WAAAM,YAAA,GAAAL,UAAA,EACF;UAGI,IAAIyE,SAAK;UAMX,IAAI,GAAAA,SAAA,GAAAX,GAAA,CAAAlB,GAAA,cAAA6B,SAAA,gBAAAA,SAAA,CAAAJ,QAAA;YAEF,IAAIK,uBAAkB,GAASC,OAAG,CAAAC,GAAA,CAAAF,uBAAA;YAChC,IAAAA,uBAAM,KAA0B,GAAAlG,SAAY,CAAAqG,UAAA,EAAAH,uBAAA;cAC5CxF,KAAI,gCACEwF,uBAAW;cACb,IAAAI,OAAQ,aAAApG,eAA6B,CAAAqG,QAAA,EAAAL,uBAAyB;cAC9DX,GAAA,CAAAiB,SAAM,eAAgB,0BAAS,GAAAjB,GAAA,CAAAS,GAAA,CAAAM,OAAA;cAC/B;YAEA;UAAA;UAGN,IAAAhB,GAAA,CAAAlB,GAAA,4BAAAkB,GAAA,CAAAmB,MAAA;YAEA,IAAIC,IAAI;YACNpB,GAAA,CAAIxB,EAAA,OAAO,YAAA6C,KAAA;cAEXD,IAAI,IAAGC,KAAQ,CAACC,QAAA,EAAU;YACxB,IAAAtB,GAAA,CAAAxB,EAAQ,MAAM,cAAS;cACxB,IAED;gBACE,IAAI+C,KAAA,GAAAC,IAAA,CAAAC,KAAA,CAAAL,IAAA;gBACF,IAAAvG,oBAAmB,CAAMsC,OAAI,EAAAoE,KAAA,CAAAG,IAAA,GAAAzB,GAAA,CAAAQ,UAAA,QAAAR,GAAA,CAAAS,GAAA;cAG7B,SAAAiB,CAAA;gBAGF,OAASvG,KAAG,mCAAAuG,CAAA,KAAA1B,GAAA,CAAAQ,UAAA,QAAAR,GAAA,CAAAS,GAAA;cACV;YAEyC,EAC3C;YACF;UAEA;UACF,MAAAxE,UAAA,CAAA8D,GAAA,EAAAC,GAAA,EAAAC,IAAA;QAGA,SAAO0B,KAAA;UACTxG,KAAA,GAAS,2BAAOwG,KAAA,KAAA1B,IAAA;QACd,OAEFA,IAAA;MAGA;IAAK;EAER;AACH","ignoreList":[]}
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","metroPlugin_exports","__export","metroPlugin","module","exports","import_fs","require","import_promises","import_launch_editor","__toESM","import_debug","import_metroCacheManager","import_projectImport","import_getMetroConfigFromViteConfig","import_patchMetroServerWithViteConfigAndMetroPluginOptions","debug","createDebugger","options","arguments","length","globalThis","name","configureServer","server","root","projectRoot","config","metroReady","middleware","metroServer","hmrServer","websocketEndpoints","rnDevtoolsMiddleware","metroPromise","metroPromiseResolvers","Promise","resolve","reject","startMetro","metroStartTime","Date","now","_server_httpServer","checkAndClearMetroCacheFromVite","logger","default","Metro","projectImport","MetroHmrServer","createWebsocketServer","createDevMiddleware","getMetroConfigFromViteConfig","metroResult","createConnectMiddleware","watch","patchMetroServerWithViteConfigAndMetroPluginOptions","getBundler","getCreateModuleId","reactNativeDevToolsUrl","host","port","devMiddleware","serverBaseUrl","console","websocketServer","httpServer","on","request","socket","head","pathname","URL","url","headers","endpoint","handleUpgrade","ws","emit","middlewares","use","metroElapsed","err","isLazyStartup","startup","metroStarting","ensureMetroStarted","catch","listening","waitForServer","setTimeout","req","res","next","_req_headers_useragent","_req_headers_useragent1","_req_url","isNativeRequest","includes","_req_url1","statusCode","end","_req_url2","VITE_METRO_DEBUG_BUNDLE","process","env","existsSync","content","readFile","setHeader","method","body","chunk","toString","frame","JSON","parse","file","e","error"],"sources":["../../../src/plugins/metroPlugin.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -2,33 +2,35 @@ 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 assetCatalogIOS_exports = {};
33
35
  __export(assetCatalogIOS_exports, {
34
36
  cleanAssetCatalog: () => cleanAssetCatalog,
@@ -37,15 +39,17 @@ __export(assetCatalogIOS_exports, {
37
39
  writeImageSet: () => writeImageSet
38
40
  });
39
41
  module.exports = __toCommonJS(assetCatalogIOS_exports);
40
- var import_assetPathUtils = __toESM(require("./assetPathUtils.cjs"), 1),
41
- import_node_fs = __toESM(require("node:fs"), 1),
42
- import_node_path = __toESM(require("node:path"), 1);
42
+ var import_assetPathUtils = __toESM(require("./assetPathUtils.cjs"), 1);
43
+ var import_node_fs = __toESM(require("node:fs"), 1);
44
+ var import_node_path = __toESM(require("node:path"), 1);
43
45
  function cleanAssetCatalog(catalogDir) {
44
46
  const files = import_node_fs.default.readdirSync(catalogDir).filter(file => file.endsWith(".imageset"));
45
- for (const file of files) import_node_fs.default.rmSync(import_node_path.default.join(catalogDir, file), {
46
- recursive: !0,
47
- force: !0
48
- });
47
+ for (const file of files) {
48
+ import_node_fs.default.rmSync(import_node_path.default.join(catalogDir, file), {
49
+ recursive: true,
50
+ force: true
51
+ });
52
+ }
49
53
  }
50
54
  function getImageSet(catalogDir, asset, scales) {
51
55
  const fileName = import_assetPathUtils.default.getResourceIdentifier(asset);
@@ -66,7 +70,7 @@ function isCatalogAsset(asset) {
66
70
  }
67
71
  function writeImageSet(imageSet) {
68
72
  import_node_fs.default.mkdirSync(imageSet.basePath, {
69
- recursive: !0
73
+ recursive: true
70
74
  });
71
75
  for (const file of imageSet.files) {
72
76
  const dest = import_node_path.default.join(imageSet.basePath, file.name);