@vxrn/vite-plugin-metro 2.9.2 → 2.11.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 (48) hide show
  1. package/dist/cjs/metro-config/getMetroConfigFromViteConfig.cjs +36 -2
  2. package/dist/cjs/metro-config/getMetroConfigFromViteConfig.native.cjs +46 -12
  3. package/dist/cjs/metro-config/getMetroConfigFromViteConfig.native.js +46 -12
  4. package/dist/cjs/metro-config/getMetroConfigFromViteConfig.native.js.map +1 -1
  5. package/dist/cjs/transformer/babel-transformer.cjs +3 -1
  6. package/dist/cjs/transformer/babel-transformer.native.cjs +3 -1
  7. package/dist/cjs/transformer/babel-transformer.native.js +3 -1
  8. package/dist/cjs/transformer/babel-transformer.native.js.map +1 -1
  9. package/dist/cjs/transformer/metroNativeWorker.cjs +4 -2
  10. package/dist/cjs/transformer/metroNativeWorker.native.cjs +4 -2
  11. package/dist/cjs/transformer/metroNativeWorker.native.js +4 -2
  12. package/dist/cjs/transformer/metroNativeWorker.native.js.map +1 -1
  13. package/dist/cjs/transformer/rejectDOMDirective.cjs +34 -0
  14. package/dist/cjs/transformer/rejectDOMDirective.native.cjs +53 -0
  15. package/dist/cjs/transformer/rejectDOMDirective.native.js +55 -0
  16. package/dist/cjs/transformer/rejectDOMDirective.native.js.map +1 -0
  17. package/dist/esm/metro-config/getMetroConfigFromViteConfig.mjs +36 -2
  18. package/dist/esm/metro-config/getMetroConfigFromViteConfig.mjs.map +1 -1
  19. package/dist/esm/metro-config/getMetroConfigFromViteConfig.native.js +46 -12
  20. package/dist/esm/metro-config/getMetroConfigFromViteConfig.native.js.map +1 -1
  21. package/dist/esm/transformer/babel-transformer.mjs +3 -1
  22. package/dist/esm/transformer/babel-transformer.mjs.map +1 -1
  23. package/dist/esm/transformer/babel-transformer.native.js +3 -1
  24. package/dist/esm/transformer/babel-transformer.native.js.map +1 -1
  25. package/dist/esm/transformer/metroNativeWorker.mjs +4 -2
  26. package/dist/esm/transformer/metroNativeWorker.mjs.map +1 -1
  27. package/dist/esm/transformer/metroNativeWorker.native.js +4 -2
  28. package/dist/esm/transformer/metroNativeWorker.native.js.map +1 -1
  29. package/dist/esm/transformer/rejectDOMDirective.mjs +15 -0
  30. package/dist/esm/transformer/rejectDOMDirective.mjs.map +1 -0
  31. package/dist/esm/transformer/rejectDOMDirective.native.js +32 -0
  32. package/dist/esm/transformer/rejectDOMDirective.native.js.map +1 -0
  33. package/package.json +6 -6
  34. package/src/metro-config/getMetroConfigFromViteConfig.ts +71 -4
  35. package/src/metro-config/types.ts +1 -1
  36. package/src/rn-commands/bundle/types.ts +1 -1
  37. package/src/transformer/babel-transformer.ts +4 -3
  38. package/src/transformer/metroNativeWorker.ts +4 -3
  39. package/src/transformer/rejectDOMDirective.ts +32 -0
  40. package/types/metro-config/getMetroConfigFromViteConfig.d.ts.map +1 -1
  41. package/types/metro-config/types.d.ts +1 -1
  42. package/types/metro-config/types.d.ts.map +1 -1
  43. package/types/rn-commands/bundle/types.d.ts +1 -1
  44. package/types/rn-commands/bundle/types.d.ts.map +1 -1
  45. package/types/transformer/babel-transformer.d.ts.map +1 -1
  46. package/types/transformer/metroNativeWorker.d.ts.map +1 -1
  47. package/types/transformer/rejectDOMDirective.d.ts +3 -0
  48. package/types/transformer/rejectDOMDirective.d.ts.map +1 -0
@@ -36,6 +36,7 @@ var import_node_path = require("node:path");
36
36
  var import_micromatch = __toESM(require("micromatch"), 1);
37
37
  var import_metro_config = require("@react-native/metro-config");
38
38
  var import_compiler = require("@vxrn/compiler");
39
+ var import_desktopReactNativeResolve = require("@vxrn/utils/desktopReactNativeResolve");
39
40
  var import_projectImport = require("../utils/projectImport.cjs");
40
41
  var import_getTerminalReporter = require("../utils/getTerminalReporter.cjs");
41
42
  const WATCHMAN_PROBE_TIMEOUT_MS = 2e3;
@@ -92,9 +93,28 @@ function getReactNativeDefaultConfig(projectRoot) {
92
93
  }
93
94
  };
94
95
  }
96
+ const oneRoots = /* @__PURE__ */ new Map();
97
+ function redirectDesktopReactNative(projectRoot, origin, moduleName, platform) {
98
+ if (platform !== "macos" && platform !== "linux") return null;
99
+ const file = (0, import_desktopReactNativeResolve.desktopReactNativeFile)(origin, moduleName, oneRootFor(projectRoot, platform), platform);
100
+ if (!file) return null;
101
+ return {
102
+ type: "sourceFile",
103
+ filePath: file
104
+ };
105
+ }
106
+ function oneRootFor(projectRoot, platform) {
107
+ let root = oneRoots.get(projectRoot);
108
+ if (!root) {
109
+ root = (0, import_desktopReactNativeResolve.requireOnePackageRoot)(projectRoot, platform);
110
+ oneRoots.set(projectRoot, root);
111
+ }
112
+ return root;
113
+ }
95
114
  function getPlatformFromBundleUrl(url) {
96
- const platform = url.match(/[?&]platform=(ios|android)(?:&|$)/)?.[1];
97
- return platform === "android" ? "android" : "ios";
115
+ const platform = url.match(/[?&]platform=(ios|android|macos|linux)(?:&|$)/)?.[1];
116
+ if (platform === "ios" || platform === "android" || platform === "macos" || platform === "linux") return platform;
117
+ return "ios";
98
118
  }
99
119
  function rewriteMainModuleBundleUrl(url, resolveMainModuleName) {
100
120
  const resolvedMainModulePath = resolveMainModuleName({ platform: getPlatformFromBundleUrl(url) });
@@ -219,6 +239,11 @@ async function buildMetroConfigInputFromViteConfig(config, metroPluginOptions) {
219
239
  useWatchman,
220
240
  blockList,
221
241
  sourceExts: metroSourceExts,
242
+ platforms: [.../* @__PURE__ */ new Set([
243
+ ..._defaultConfig?.resolver?.platforms ?? [],
244
+ "macos",
245
+ "linux"
246
+ ])],
222
247
  resolveRequest: (context, moduleName, platform) => {
223
248
  const origResolveRequestFn = _defaultConfig?.resolver?.resolveRequest || context.resolveRequest;
224
249
  if (excludeModules && excludeModules.length > 0) {
@@ -233,6 +258,8 @@ async function buildMetroConfigInputFromViteConfig(config, metroPluginOptions) {
233
258
  };
234
259
  return origResolveRequestFn(contextOverride, moduleName, platform);
235
260
  }
261
+ const desktopRedirect = redirectDesktopReactNative(projectRoot, context.originModulePath, moduleName, platform);
262
+ if (desktopRedirect) return desktopRedirect;
236
263
  return origResolveRequestFn(context, moduleName, platform);
237
264
  }
238
265
  },
@@ -294,6 +321,11 @@ async function getMetroConfigFromViteConfig(config, metroPluginOptions) {
294
321
  useWatchman,
295
322
  blockList,
296
323
  sourceExts: metroSourceExts,
324
+ platforms: [.../* @__PURE__ */ new Set([
325
+ ..._defaultConfig?.resolver?.platforms ?? [],
326
+ "macos",
327
+ "linux"
328
+ ])],
297
329
  resolveRequest: (context, moduleName, platform) => {
298
330
  const origResolveRequestFn = _defaultConfig?.resolver?.resolveRequest || context.resolveRequest;
299
331
  if (excludeModules && excludeModules.length > 0) {
@@ -308,6 +340,8 @@ async function getMetroConfigFromViteConfig(config, metroPluginOptions) {
308
340
  };
309
341
  return origResolveRequestFn(contextOverride, moduleName, platform);
310
342
  }
343
+ const desktopRedirect = redirectDesktopReactNative(projectRoot, context.originModulePath, moduleName, platform);
344
+ if (desktopRedirect) return desktopRedirect;
311
345
  return origResolveRequestFn(context, moduleName, platform);
312
346
  }
313
347
  },
@@ -38,6 +38,7 @@ var import_path = require("path");
38
38
  var import_micromatch = __toESM(require("micromatch"), 1);
39
39
  var import_metro_config = require("@react-native/metro-config");
40
40
  var import_compiler = require("@vxrn/compiler");
41
+ var import_desktopReactNativeResolve = require("@vxrn/utils/desktopReactNativeResolve");
41
42
  var import_projectImport = require("../utils/projectImport.native.js");
42
43
  var import_getTerminalReporter = require("../utils/getTerminalReporter.native.js");
43
44
  var WATCHMAN_PROBE_TIMEOUT_MS = 2e3;
@@ -98,10 +99,29 @@ function getReactNativeDefaultConfig(projectRoot) {
98
99
  }
99
100
  };
100
101
  }
102
+ var oneRoots = /* @__PURE__ */ new Map();
103
+ function redirectDesktopReactNative(projectRoot, origin, moduleName, platform) {
104
+ if (platform !== "macos" && platform !== "linux") return null;
105
+ var file = (0, import_desktopReactNativeResolve.desktopReactNativeFile)(origin, moduleName, oneRootFor(projectRoot, platform), platform);
106
+ if (!file) return null;
107
+ return {
108
+ type: "sourceFile",
109
+ filePath: file
110
+ };
111
+ }
112
+ function oneRootFor(projectRoot, platform) {
113
+ var root = oneRoots.get(projectRoot);
114
+ if (!root) {
115
+ root = (0, import_desktopReactNativeResolve.requireOnePackageRoot)(projectRoot, platform);
116
+ oneRoots.set(projectRoot, root);
117
+ }
118
+ return root;
119
+ }
101
120
  function getPlatformFromBundleUrl(url) {
102
121
  var _url_match;
103
- var platform = (_url_match = url.match(/[?&]platform=(ios|android)(?:&|$)/)) === null || _url_match === void 0 ? void 0 : _url_match[1];
104
- return platform === "android" ? "android" : "ios";
122
+ var platform = (_url_match = url.match(/[?&]platform=(ios|android|macos|linux)(?:&|$)/)) === null || _url_match === void 0 ? void 0 : _url_match[1];
123
+ if (platform === "ios" || platform === "android" || platform === "macos" || platform === "linux") return platform;
124
+ return "ios";
105
125
  }
106
126
  function rewriteMainModuleBundleUrl(url, resolveMainModuleName) {
107
127
  var resolvedMainModulePath = resolveMainModuleName({ platform: getPlatformFromBundleUrl(url) });
@@ -189,8 +209,8 @@ function resolveNativeTransforms(projectRoot, metroPluginOptions) {
189
209
  };
190
210
  }
191
211
  async function buildMetroConfigInputFromViteConfig(config, metroPluginOptions) {
192
- var _ref, _ref1, _ref2;
193
- var _metroPluginOptions_argv, _defaultConfig_resolver, _defaultConfig_watcher, _config_resolve;
212
+ var _ref, _ref1, _ref2, _ref3;
213
+ var _metroPluginOptions_argv, _defaultConfig_resolver, _defaultConfig_watcher, _defaultConfig_resolver1, _config_resolve;
194
214
  var extraConfig = {};
195
215
  var projectRoot = (0, import_path.resolve)((_ref = (_metroPluginOptions_argv = metroPluginOptions.argv) === null || _metroPluginOptions_argv === void 0 ? void 0 : _metroPluginOptions_argv.projectRoot) !== null && _ref !== void 0 ? _ref : config.root);
196
216
  var { mainModuleName, defaultConfigOverrides, watchman, excludeModules } = metroPluginOptions;
@@ -208,11 +228,11 @@ async function buildMetroConfigInputFromViteConfig(config, metroPluginOptions) {
208
228
  };
209
229
  extraConfig.getResolveMainModuleName = resolveMainModuleName;
210
230
  _defaultConfig.server.rewriteRequestUrl = function(url) {
211
- var _ref3;
231
+ var _ref4;
212
232
  if (isMainModuleBundleRequest(url)) {
213
233
  return rewriteMainModuleBundleUrl(url, resolveMainModuleName);
214
234
  }
215
- return (_ref3 = origRewriteRequestUrl === null || origRewriteRequestUrl === void 0 ? void 0 : origRewriteRequestUrl(url)) !== null && _ref3 !== void 0 ? _ref3 : url;
235
+ return (_ref4 = origRewriteRequestUrl === null || origRewriteRequestUrl === void 0 ? void 0 : origRewriteRequestUrl(url)) !== null && _ref4 !== void 0 ? _ref4 : url;
216
236
  };
217
237
  }
218
238
  var existingBlockList = _defaultConfig === null || _defaultConfig === void 0 ? void 0 : (_defaultConfig_resolver = _defaultConfig.resolver) === null || _defaultConfig_resolver === void 0 ? void 0 : _defaultConfig_resolver.blockList;
@@ -233,6 +253,11 @@ async function buildMetroConfigInputFromViteConfig(config, metroPluginOptions) {
233
253
  useWatchman,
234
254
  blockList,
235
255
  sourceExts: metroSourceExts,
256
+ platforms: [.../* @__PURE__ */ new Set([
257
+ ...(_ref2 = _defaultConfig === null || _defaultConfig === void 0 ? void 0 : (_defaultConfig_resolver1 = _defaultConfig.resolver) === null || _defaultConfig_resolver1 === void 0 ? void 0 : _defaultConfig_resolver1.platforms) !== null && _ref2 !== void 0 ? _ref2 : [],
258
+ "macos",
259
+ "linux"
260
+ ])],
236
261
  resolveRequest: function resolveRequest(context, moduleName, platform) {
237
262
  var _defaultConfig_resolver2;
238
263
  var origResolveRequestFn = (_defaultConfig === null || _defaultConfig === void 0 ? void 0 : (_defaultConfig_resolver2 = _defaultConfig.resolver) === null || _defaultConfig_resolver2 === void 0 ? void 0 : _defaultConfig_resolver2.resolveRequest) || context.resolveRequest;
@@ -250,6 +275,8 @@ async function buildMetroConfigInputFromViteConfig(config, metroPluginOptions) {
250
275
  };
251
276
  return origResolveRequestFn(contextOverride, moduleName, platform);
252
277
  }
278
+ var desktopRedirect = redirectDesktopReactNative(projectRoot, context.originModulePath, moduleName, platform);
279
+ if (desktopRedirect) return desktopRedirect;
253
280
  return origResolveRequestFn(context, moduleName, platform);
254
281
  }
255
282
  },
@@ -266,14 +293,14 @@ async function buildMetroConfigInputFromViteConfig(config, metroPluginOptions) {
266
293
  ...typeof defaultConfigOverrides === "function" ? defaultConfigOverrides(defaultConfig) : defaultConfigOverrides
267
294
  };
268
295
  return {
269
- defaultConfig: enforcePackageResolution(enforceWorkspaceVisibility(merged, projectRoot), mainModuleName, (_ref2 = (_config_resolve = config.resolve) === null || _config_resolve === void 0 ? void 0 : _config_resolve.dedupe) !== null && _ref2 !== void 0 ? _ref2 : [], projectRoot),
296
+ defaultConfig: enforcePackageResolution(enforceWorkspaceVisibility(merged, projectRoot), mainModuleName, (_ref3 = (_config_resolve = config.resolve) === null || _config_resolve === void 0 ? void 0 : _config_resolve.dedupe) !== null && _ref3 !== void 0 ? _ref3 : [], projectRoot),
270
297
  projectRoot,
271
298
  extraConfig
272
299
  };
273
300
  }
274
301
  async function getMetroConfigFromViteConfig(config, metroPluginOptions) {
275
- var _ref, _ref1, _ref2;
276
- var _metroPluginOptions_argv, _defaultConfig_resolver, _defaultConfig_watcher, _config_resolve;
302
+ var _ref, _ref1, _ref2, _ref3;
303
+ var _metroPluginOptions_argv, _defaultConfig_resolver, _defaultConfig_watcher, _defaultConfig_resolver1, _config_resolve;
277
304
  var extraConfig = {};
278
305
  var projectRoot = (0, import_path.resolve)((_ref = (_metroPluginOptions_argv = metroPluginOptions.argv) === null || _metroPluginOptions_argv === void 0 ? void 0 : _metroPluginOptions_argv.projectRoot) !== null && _ref !== void 0 ? _ref : config.root);
279
306
  var { mainModuleName, argv, defaultConfigOverrides, watchman, excludeModules } = metroPluginOptions;
@@ -292,11 +319,11 @@ async function getMetroConfigFromViteConfig(config, metroPluginOptions) {
292
319
  };
293
320
  extraConfig.getResolveMainModuleName = resolveMainModuleName;
294
321
  _defaultConfig.server.rewriteRequestUrl = function(url) {
295
- var _ref3;
322
+ var _ref4;
296
323
  if (isMainModuleBundleRequest(url)) {
297
324
  return rewriteMainModuleBundleUrl(url, resolveMainModuleName);
298
325
  }
299
- return (_ref3 = origRewriteRequestUrl === null || origRewriteRequestUrl === void 0 ? void 0 : origRewriteRequestUrl(url)) !== null && _ref3 !== void 0 ? _ref3 : url;
326
+ return (_ref4 = origRewriteRequestUrl === null || origRewriteRequestUrl === void 0 ? void 0 : origRewriteRequestUrl(url)) !== null && _ref4 !== void 0 ? _ref4 : url;
300
327
  };
301
328
  }
302
329
  var existingBlockList = _defaultConfig === null || _defaultConfig === void 0 ? void 0 : (_defaultConfig_resolver = _defaultConfig.resolver) === null || _defaultConfig_resolver === void 0 ? void 0 : _defaultConfig_resolver.blockList;
@@ -317,6 +344,11 @@ async function getMetroConfigFromViteConfig(config, metroPluginOptions) {
317
344
  useWatchman,
318
345
  blockList,
319
346
  sourceExts: metroSourceExts,
347
+ platforms: [.../* @__PURE__ */ new Set([
348
+ ...(_ref2 = _defaultConfig === null || _defaultConfig === void 0 ? void 0 : (_defaultConfig_resolver1 = _defaultConfig.resolver) === null || _defaultConfig_resolver1 === void 0 ? void 0 : _defaultConfig_resolver1.platforms) !== null && _ref2 !== void 0 ? _ref2 : [],
349
+ "macos",
350
+ "linux"
351
+ ])],
320
352
  resolveRequest: function resolveRequest(context, moduleName, platform) {
321
353
  var _defaultConfig_resolver2;
322
354
  var origResolveRequestFn = (_defaultConfig === null || _defaultConfig === void 0 ? void 0 : (_defaultConfig_resolver2 = _defaultConfig.resolver) === null || _defaultConfig_resolver2 === void 0 ? void 0 : _defaultConfig_resolver2.resolveRequest) || context.resolveRequest;
@@ -334,6 +366,8 @@ async function getMetroConfigFromViteConfig(config, metroPluginOptions) {
334
366
  };
335
367
  return origResolveRequestFn(contextOverride, moduleName, platform);
336
368
  }
369
+ var desktopRedirect = redirectDesktopReactNative(projectRoot, context.originModulePath, moduleName, platform);
370
+ if (desktopRedirect) return desktopRedirect;
337
371
  return origResolveRequestFn(context, moduleName, platform);
338
372
  }
339
373
  },
@@ -355,7 +389,7 @@ async function getMetroConfigFromViteConfig(config, metroPluginOptions) {
355
389
  ...typeof defaultConfigOverrides === "function" ? defaultConfigOverrides(defaultConfig) : defaultConfigOverrides
356
390
  });
357
391
  return {
358
- ...enforcePackageResolution(enforceWorkspaceVisibility(metroConfig, projectRoot), mainModuleName, (_ref2 = (_config_resolve = config.resolve) === null || _config_resolve === void 0 ? void 0 : _config_resolve.dedupe) !== null && _ref2 !== void 0 ? _ref2 : [], projectRoot),
392
+ ...enforcePackageResolution(enforceWorkspaceVisibility(metroConfig, projectRoot), mainModuleName, (_ref3 = (_config_resolve = config.resolve) === null || _config_resolve === void 0 ? void 0 : _config_resolve.dedupe) !== null && _ref3 !== void 0 ? _ref3 : [], projectRoot),
359
393
  ...extraConfig
360
394
  };
361
395
  }
@@ -38,6 +38,7 @@ var import_path = require("path");
38
38
  var import_micromatch = __toESM(require("micromatch"), 1);
39
39
  var import_metro_config = require("@react-native/metro-config");
40
40
  var import_compiler = require("@vxrn/compiler");
41
+ var import_desktopReactNativeResolve = require("@vxrn/utils/desktopReactNativeResolve");
41
42
  var import_projectImport = require("../utils/projectImport.native.js");
42
43
  var import_getTerminalReporter = require("../utils/getTerminalReporter.native.js");
43
44
  var WATCHMAN_PROBE_TIMEOUT_MS = 2e3;
@@ -98,10 +99,29 @@ function getReactNativeDefaultConfig(projectRoot) {
98
99
  }
99
100
  };
100
101
  }
102
+ var oneRoots = /* @__PURE__ */ new Map();
103
+ function redirectDesktopReactNative(projectRoot, origin, moduleName, platform) {
104
+ if (platform !== "macos" && platform !== "linux") return null;
105
+ var file = (0, import_desktopReactNativeResolve.desktopReactNativeFile)(origin, moduleName, oneRootFor(projectRoot, platform), platform);
106
+ if (!file) return null;
107
+ return {
108
+ type: "sourceFile",
109
+ filePath: file
110
+ };
111
+ }
112
+ function oneRootFor(projectRoot, platform) {
113
+ var root = oneRoots.get(projectRoot);
114
+ if (!root) {
115
+ root = (0, import_desktopReactNativeResolve.requireOnePackageRoot)(projectRoot, platform);
116
+ oneRoots.set(projectRoot, root);
117
+ }
118
+ return root;
119
+ }
101
120
  function getPlatformFromBundleUrl(url) {
102
121
  var _url_match;
103
- var platform = (_url_match = url.match(/[?&]platform=(ios|android)(?:&|$)/)) === null || _url_match === void 0 ? void 0 : _url_match[1];
104
- return platform === "android" ? "android" : "ios";
122
+ var platform = (_url_match = url.match(/[?&]platform=(ios|android|macos|linux)(?:&|$)/)) === null || _url_match === void 0 ? void 0 : _url_match[1];
123
+ if (platform === "ios" || platform === "android" || platform === "macos" || platform === "linux") return platform;
124
+ return "ios";
105
125
  }
106
126
  function rewriteMainModuleBundleUrl(url, resolveMainModuleName) {
107
127
  var resolvedMainModulePath = resolveMainModuleName({ platform: getPlatformFromBundleUrl(url) });
@@ -189,8 +209,8 @@ function resolveNativeTransforms(projectRoot, metroPluginOptions) {
189
209
  };
190
210
  }
191
211
  async function buildMetroConfigInputFromViteConfig(config, metroPluginOptions) {
192
- var _ref, _ref1, _ref2;
193
- var _metroPluginOptions_argv, _defaultConfig_resolver, _defaultConfig_watcher, _config_resolve;
212
+ var _ref, _ref1, _ref2, _ref3;
213
+ var _metroPluginOptions_argv, _defaultConfig_resolver, _defaultConfig_watcher, _defaultConfig_resolver1, _config_resolve;
194
214
  var extraConfig = {};
195
215
  var projectRoot = (0, import_path.resolve)((_ref = (_metroPluginOptions_argv = metroPluginOptions.argv) === null || _metroPluginOptions_argv === void 0 ? void 0 : _metroPluginOptions_argv.projectRoot) !== null && _ref !== void 0 ? _ref : config.root);
196
216
  var { mainModuleName, defaultConfigOverrides, watchman, excludeModules } = metroPluginOptions;
@@ -208,11 +228,11 @@ async function buildMetroConfigInputFromViteConfig(config, metroPluginOptions) {
208
228
  };
209
229
  extraConfig.getResolveMainModuleName = resolveMainModuleName;
210
230
  _defaultConfig.server.rewriteRequestUrl = function(url) {
211
- var _ref3;
231
+ var _ref4;
212
232
  if (isMainModuleBundleRequest(url)) {
213
233
  return rewriteMainModuleBundleUrl(url, resolveMainModuleName);
214
234
  }
215
- return (_ref3 = origRewriteRequestUrl === null || origRewriteRequestUrl === void 0 ? void 0 : origRewriteRequestUrl(url)) !== null && _ref3 !== void 0 ? _ref3 : url;
235
+ return (_ref4 = origRewriteRequestUrl === null || origRewriteRequestUrl === void 0 ? void 0 : origRewriteRequestUrl(url)) !== null && _ref4 !== void 0 ? _ref4 : url;
216
236
  };
217
237
  }
218
238
  var existingBlockList = _defaultConfig === null || _defaultConfig === void 0 ? void 0 : (_defaultConfig_resolver = _defaultConfig.resolver) === null || _defaultConfig_resolver === void 0 ? void 0 : _defaultConfig_resolver.blockList;
@@ -233,6 +253,11 @@ async function buildMetroConfigInputFromViteConfig(config, metroPluginOptions) {
233
253
  useWatchman,
234
254
  blockList,
235
255
  sourceExts: metroSourceExts,
256
+ platforms: [.../* @__PURE__ */ new Set([
257
+ ...(_ref2 = _defaultConfig === null || _defaultConfig === void 0 ? void 0 : (_defaultConfig_resolver1 = _defaultConfig.resolver) === null || _defaultConfig_resolver1 === void 0 ? void 0 : _defaultConfig_resolver1.platforms) !== null && _ref2 !== void 0 ? _ref2 : [],
258
+ "macos",
259
+ "linux"
260
+ ])],
236
261
  resolveRequest: function resolveRequest(context, moduleName, platform) {
237
262
  var _defaultConfig_resolver2;
238
263
  var origResolveRequestFn = (_defaultConfig === null || _defaultConfig === void 0 ? void 0 : (_defaultConfig_resolver2 = _defaultConfig.resolver) === null || _defaultConfig_resolver2 === void 0 ? void 0 : _defaultConfig_resolver2.resolveRequest) || context.resolveRequest;
@@ -250,6 +275,8 @@ async function buildMetroConfigInputFromViteConfig(config, metroPluginOptions) {
250
275
  };
251
276
  return origResolveRequestFn(contextOverride, moduleName, platform);
252
277
  }
278
+ var desktopRedirect = redirectDesktopReactNative(projectRoot, context.originModulePath, moduleName, platform);
279
+ if (desktopRedirect) return desktopRedirect;
253
280
  return origResolveRequestFn(context, moduleName, platform);
254
281
  }
255
282
  },
@@ -266,14 +293,14 @@ async function buildMetroConfigInputFromViteConfig(config, metroPluginOptions) {
266
293
  ...typeof defaultConfigOverrides === "function" ? defaultConfigOverrides(defaultConfig) : defaultConfigOverrides
267
294
  };
268
295
  return {
269
- defaultConfig: enforcePackageResolution(enforceWorkspaceVisibility(merged, projectRoot), mainModuleName, (_ref2 = (_config_resolve = config.resolve) === null || _config_resolve === void 0 ? void 0 : _config_resolve.dedupe) !== null && _ref2 !== void 0 ? _ref2 : [], projectRoot),
296
+ defaultConfig: enforcePackageResolution(enforceWorkspaceVisibility(merged, projectRoot), mainModuleName, (_ref3 = (_config_resolve = config.resolve) === null || _config_resolve === void 0 ? void 0 : _config_resolve.dedupe) !== null && _ref3 !== void 0 ? _ref3 : [], projectRoot),
270
297
  projectRoot,
271
298
  extraConfig
272
299
  };
273
300
  }
274
301
  async function getMetroConfigFromViteConfig(config, metroPluginOptions) {
275
- var _ref, _ref1, _ref2;
276
- var _metroPluginOptions_argv, _defaultConfig_resolver, _defaultConfig_watcher, _config_resolve;
302
+ var _ref, _ref1, _ref2, _ref3;
303
+ var _metroPluginOptions_argv, _defaultConfig_resolver, _defaultConfig_watcher, _defaultConfig_resolver1, _config_resolve;
277
304
  var extraConfig = {};
278
305
  var projectRoot = (0, import_path.resolve)((_ref = (_metroPluginOptions_argv = metroPluginOptions.argv) === null || _metroPluginOptions_argv === void 0 ? void 0 : _metroPluginOptions_argv.projectRoot) !== null && _ref !== void 0 ? _ref : config.root);
279
306
  var { mainModuleName, argv, defaultConfigOverrides, watchman, excludeModules } = metroPluginOptions;
@@ -292,11 +319,11 @@ async function getMetroConfigFromViteConfig(config, metroPluginOptions) {
292
319
  };
293
320
  extraConfig.getResolveMainModuleName = resolveMainModuleName;
294
321
  _defaultConfig.server.rewriteRequestUrl = function(url) {
295
- var _ref3;
322
+ var _ref4;
296
323
  if (isMainModuleBundleRequest(url)) {
297
324
  return rewriteMainModuleBundleUrl(url, resolveMainModuleName);
298
325
  }
299
- return (_ref3 = origRewriteRequestUrl === null || origRewriteRequestUrl === void 0 ? void 0 : origRewriteRequestUrl(url)) !== null && _ref3 !== void 0 ? _ref3 : url;
326
+ return (_ref4 = origRewriteRequestUrl === null || origRewriteRequestUrl === void 0 ? void 0 : origRewriteRequestUrl(url)) !== null && _ref4 !== void 0 ? _ref4 : url;
300
327
  };
301
328
  }
302
329
  var existingBlockList = _defaultConfig === null || _defaultConfig === void 0 ? void 0 : (_defaultConfig_resolver = _defaultConfig.resolver) === null || _defaultConfig_resolver === void 0 ? void 0 : _defaultConfig_resolver.blockList;
@@ -317,6 +344,11 @@ async function getMetroConfigFromViteConfig(config, metroPluginOptions) {
317
344
  useWatchman,
318
345
  blockList,
319
346
  sourceExts: metroSourceExts,
347
+ platforms: [.../* @__PURE__ */ new Set([
348
+ ...(_ref2 = _defaultConfig === null || _defaultConfig === void 0 ? void 0 : (_defaultConfig_resolver1 = _defaultConfig.resolver) === null || _defaultConfig_resolver1 === void 0 ? void 0 : _defaultConfig_resolver1.platforms) !== null && _ref2 !== void 0 ? _ref2 : [],
349
+ "macos",
350
+ "linux"
351
+ ])],
320
352
  resolveRequest: function resolveRequest(context, moduleName, platform) {
321
353
  var _defaultConfig_resolver2;
322
354
  var origResolveRequestFn = (_defaultConfig === null || _defaultConfig === void 0 ? void 0 : (_defaultConfig_resolver2 = _defaultConfig.resolver) === null || _defaultConfig_resolver2 === void 0 ? void 0 : _defaultConfig_resolver2.resolveRequest) || context.resolveRequest;
@@ -334,6 +366,8 @@ async function getMetroConfigFromViteConfig(config, metroPluginOptions) {
334
366
  };
335
367
  return origResolveRequestFn(contextOverride, moduleName, platform);
336
368
  }
369
+ var desktopRedirect = redirectDesktopReactNative(projectRoot, context.originModulePath, moduleName, platform);
370
+ if (desktopRedirect) return desktopRedirect;
337
371
  return origResolveRequestFn(context, moduleName, platform);
338
372
  }
339
373
  },
@@ -355,7 +389,7 @@ async function getMetroConfigFromViteConfig(config, metroPluginOptions) {
355
389
  ...typeof defaultConfigOverrides === "function" ? defaultConfigOverrides(defaultConfig) : defaultConfigOverrides
356
390
  });
357
391
  return {
358
- ...enforcePackageResolution(enforceWorkspaceVisibility(metroConfig, projectRoot), mainModuleName, (_ref2 = (_config_resolve = config.resolve) === null || _config_resolve === void 0 ? void 0 : _config_resolve.dedupe) !== null && _ref2 !== void 0 ? _ref2 : [], projectRoot),
392
+ ...enforcePackageResolution(enforceWorkspaceVisibility(metroConfig, projectRoot), mainModuleName, (_ref3 = (_config_resolve = config.resolve) === null || _config_resolve === void 0 ? void 0 : _config_resolve.dedupe) !== null && _ref3 !== void 0 ? _ref3 : [], projectRoot),
359
393
  ...extraConfig
360
394
  };
361
395
  }
@@ -1 +1 @@
1
- {"version":3,"file":"getMetroConfigFromViteConfig.native.js","names":[],"sources":["cjs/metro-config/getMetroConfigFromViteConfig.native.js"],"sourcesContent":["\"use strict\";\nvar __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(\n // If the importer is in node compatibility mode or this is not an ESM\n // file that has been converted to a CommonJS file using a Babel-\n // compatible transform (i.e. \"__esModule\" has not been set), then set\n // \"default\" to the CommonJS \"module.exports\" for node compatibility.\n isNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", { value: mod, enumerable: true }) : target,\n mod\n));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar getMetroConfigFromViteConfig_exports = {};\n__export(getMetroConfigFromViteConfig_exports, {\n buildMetroConfigInputFromViteConfig: () => buildMetroConfigInputFromViteConfig,\n getMetroConfigFromViteConfig: () => getMetroConfigFromViteConfig\n});\nmodule.exports = __toCommonJS(getMetroConfigFromViteConfig_exports);\nvar import_vite = require(\"vite\");\nvar import_child_process = require(\"child_process\");\nvar import_path = require(\"path\");\nvar import_micromatch = __toESM(require(\"micromatch\"), 1);\nvar import_metro_config = require(\"@react-native/metro-config\");\nvar import_compiler = require(\"@vxrn/compiler\");\nvar import_projectImport = require(\"../utils/projectImport\");\nvar import_getTerminalReporter = require(\"../utils/getTerminalReporter\");\nvar WATCHMAN_PROBE_TIMEOUT_MS = 2e3;\nvar expoEnvAdditionalExts = [\n \"env\",\n \"local\",\n \"development\"\n];\nvar metroSourceExts = [\n \"js\",\n \"jsx\",\n \"json\",\n \"ts\",\n \"tsx\",\n \"mjs\",\n \"cjs\",\n \"swift\",\n \"kt\"\n];\nvar watchmanResponsivePromises = /* @__PURE__ */ new Map();\nvar didWarnAboutWatchmanFallback = false;\nvar rootIndexBundleRequestPattern = /^(https?:\\/\\/[^/]+)?\\/index\\.bundle(?=$|[?#])/;\nvar expoVirtualEntryBundleRequestPattern = /^(https?:\\/\\/[^/]+)?\\/\\.expo\\/\\.virtual-metro-entry\\.bundle(?=$|[?#])/;\nvar metroWatchExclusions = [\n /^(?!.*[/\\\\]node_modules[/\\\\]).*[/\\\\]dist[/\\\\](?:static|server)(?:[/\\\\]|$)/,\n /[/\\\\]tests[/\\\\][^/\\\\]+[/\\\\]dist(?:[/\\\\]|$)/,\n /[/\\\\]\\.docker(?:[/\\\\]|$)/,\n /[/\\\\]\\.vite(?:[/\\\\]|$)/,\n /[/\\\\]node_modules[/\\\\]\\.vxrn(?:[/\\\\]|$)/\n];\nfunction enforceWorkspaceVisibility(config, projectRoot) {\n var _config_watchFolders, _ref;\n var _config_resolver;\n var workspaceRoot = (0, import_vite.searchForWorkspaceRoot)(projectRoot);\n if (workspaceRoot === projectRoot) return config;\n return {\n ...config,\n watchFolders: [\n .../* @__PURE__ */ new Set([\n ...(_config_watchFolders = config.watchFolders) !== null && _config_watchFolders !== void 0 ? _config_watchFolders : [],\n workspaceRoot\n ])\n ],\n resolver: {\n ...config.resolver,\n nodeModulesPaths: [\n .../* @__PURE__ */ new Set([\n ...(_ref = (_config_resolver = config.resolver) === null || _config_resolver === void 0 ? void 0 : _config_resolver.nodeModulesPaths) !== null && _ref !== void 0 ? _ref : [],\n (0, import_path.resolve)(projectRoot, \"node_modules\"),\n (0, import_path.resolve)(workspaceRoot, \"node_modules\")\n ])\n ]\n }\n };\n}\nfunction getReactNativeDefaultConfig(projectRoot) {\n var _ref;\n var _config_resolver;\n var config = enforceWorkspaceVisibility((0, import_metro_config.getDefaultConfig)(projectRoot), projectRoot);\n return {\n ...config,\n resolver: {\n ...config.resolver,\n assetExts: [\n .../* @__PURE__ */ new Set([\n ...(_ref = (_config_resolver = config.resolver) === null || _config_resolver === void 0 ? void 0 : _config_resolver.assetExts) !== null && _ref !== void 0 ? _ref : [],\n \"glb\"\n ])\n ]\n }\n };\n}\nfunction getPlatformFromBundleUrl(url) {\n var _url_match;\n var platform = (_url_match = url.match(/[?&]platform=(ios|android)(?:&|$)/)) === null || _url_match === void 0 ? void 0 : _url_match[1];\n return platform === \"android\" ? \"android\" : \"ios\";\n}\nfunction rewriteMainModuleBundleUrl(url, resolveMainModuleName) {\n var resolvedMainModulePath = resolveMainModuleName({\n platform: getPlatformFromBundleUrl(url)\n });\n if (rootIndexBundleRequestPattern.test(url)) {\n return url.replace(rootIndexBundleRequestPattern, `$1/${resolvedMainModulePath}.bundle`);\n }\n return url.replace(expoVirtualEntryBundleRequestPattern, `$1/${resolvedMainModulePath}.bundle`);\n}\nfunction isMainModuleBundleRequest(url) {\n return rootIndexBundleRequestPattern.test(url) || expoVirtualEntryBundleRequestPattern.test(url);\n}\nfunction isBareSpecifier(name) {\n return name !== \"\" && !name.startsWith(\".\") && !name.startsWith(\"/\");\n}\nfunction bareMainModuleForRequest(moduleName, mainModuleName) {\n if (!mainModuleName || !isBareSpecifier(mainModuleName)) return void 0;\n if (moduleName === `./${mainModuleName}`) return mainModuleName;\n return void 0;\n}\nfunction enforcePackageResolution(config, mainModuleName, dedupe, projectRoot) {\n var _config_resolver;\n var dedupedPackages = new Set(dedupe);\n if ((!mainModuleName || !isBareSpecifier(mainModuleName)) && !dedupedPackages.size) {\n return config;\n }\n var rootOrigin = (0, import_path.resolve)(projectRoot, \"package.json\");\n var innerResolveRequest = (_config_resolver = config.resolver) === null || _config_resolver === void 0 ? void 0 : _config_resolver.resolveRequest;\n return {\n ...config,\n resolver: {\n ...config.resolver,\n resolveRequest: function resolveRequest(context, moduleName, platform) {\n var bareMain = bareMainModuleForRequest(moduleName, mainModuleName);\n var request = bareMain !== null && bareMain !== void 0 ? bareMain : moduleName;\n var packageEnd = request.indexOf(\"/\", request.startsWith(\"@\") ? request.indexOf(\"/\") + 1 : 0);\n var packageName = packageEnd === -1 ? request : request.slice(0, packageEnd);\n var resolutionContext = isBareSpecifier(request) && dedupedPackages.has(packageName) ? {\n ...context,\n originModulePath: rootOrigin\n } : context;\n var resolveRequest2 = innerResolveRequest || context.resolveRequest;\n return resolveRequest2(resolutionContext, request, platform);\n }\n }\n };\n}\nasync function isWatchmanResponsive(projectRoot) {\n var probe = watchmanResponsivePromises.get(projectRoot);\n if (probe) {\n return probe;\n }\n probe = new Promise(function(resolve2) {\n var settled = false;\n var finish = function finish2(value) {\n if (settled) return;\n settled = true;\n clearTimeout(timeout);\n resolve2(value);\n };\n var child = (0, import_child_process.spawn)(\"watchman\", [\n \"watch-project\",\n projectRoot\n ], {\n stdio: \"ignore\"\n });\n var timeout = setTimeout(function() {\n child.kill();\n finish(false);\n }, WATCHMAN_PROBE_TIMEOUT_MS);\n child.once(\"error\", function() {\n finish(false);\n });\n child.once(\"exit\", function(code) {\n finish(code === 0);\n });\n });\n watchmanResponsivePromises.set(projectRoot, probe);\n return probe;\n}\nfunction resolveNativeTransforms(projectRoot, metroPluginOptions) {\n var userBabelConfigPath = projectRoot ? (0, import_compiler.findUserBabelConfig)(projectRoot) : null;\n var hasUserBabelConfig = Boolean(userBabelConfigPath);\n var isNativeTransforms = process.env.ONE_METRO_NATIVE_TRANSFORMS === \"0\" ? false : process.env.ONE_METRO_NATIVE_TRANSFORMS === \"1\" ? true : metroPluginOptions.nativeTransforms === false ? false : metroPluginOptions.nativeTransforms === true ? true : hasUserBabelConfig ? false : true;\n if (userBabelConfigPath && isNativeTransforms) {\n console.warn(`[vxrn/metro] Ignoring user babel config at ${userBabelConfigPath} because native transforms are explicitly enabled (nativeTransforms: true or ONE_METRO_NATIVE_TRANSFORMS=1). Port its plugins to nativeTransformModules, or set nativeTransforms: false (or ONE_METRO_NATIVE_TRANSFORMS=0) to use the babel transformer.`);\n }\n return {\n isNativeTransforms,\n userBabelConfigPath\n };\n}\nasync function buildMetroConfigInputFromViteConfig(config, metroPluginOptions) {\n var _ref, _ref1, _ref2;\n var _metroPluginOptions_argv, _defaultConfig_resolver, _defaultConfig_watcher, _config_resolve;\n var extraConfig = {};\n var projectRoot = (0, import_path.resolve)((_ref = (_metroPluginOptions_argv = metroPluginOptions.argv) === null || _metroPluginOptions_argv === void 0 ? void 0 : _metroPluginOptions_argv.projectRoot) !== null && _ref !== void 0 ? _ref : config.root);\n var { mainModuleName, defaultConfigOverrides, watchman, excludeModules } = metroPluginOptions;\n var useWatchman = watchman !== null && watchman !== void 0 ? watchman : await isWatchmanResponsive(projectRoot);\n if (watchman === void 0 && !useWatchman && !didWarnAboutWatchmanFallback) {\n didWarnAboutWatchmanFallback = true;\n console.warn(\"[vxrn/metro] Watchman is unavailable or unresponsive; falling back to Node file watching.\");\n }\n var _defaultConfig = getReactNativeDefaultConfig(projectRoot);\n if (mainModuleName) {\n var _defaultConfig_server;\n var origRewriteRequestUrl = (_defaultConfig_server = _defaultConfig.server) === null || _defaultConfig_server === void 0 ? void 0 : _defaultConfig_server.rewriteRequestUrl;\n var resolveMainModuleName = function resolveMainModuleName2() {\n return mainModuleName;\n };\n extraConfig.getResolveMainModuleName = resolveMainModuleName;\n _defaultConfig.server.rewriteRequestUrl = function(url) {\n var _ref3;\n if (isMainModuleBundleRequest(url)) {\n return rewriteMainModuleBundleUrl(url, resolveMainModuleName);\n }\n return (_ref3 = origRewriteRequestUrl === null || origRewriteRequestUrl === void 0 ? void 0 : origRewriteRequestUrl(url)) !== null && _ref3 !== void 0 ? _ref3 : url;\n };\n }\n var existingBlockList = _defaultConfig === null || _defaultConfig === void 0 ? void 0 : (_defaultConfig_resolver = _defaultConfig.resolver) === null || _defaultConfig_resolver === void 0 ? void 0 : _defaultConfig_resolver.blockList;\n var blockList = [\n ...existingBlockList ? Array.isArray(existingBlockList) ? existingBlockList : [\n existingBlockList\n ] : [],\n ...metroWatchExclusions\n ];\n var { isNativeTransforms } = resolveNativeTransforms(projectRoot, metroPluginOptions);\n var nativeWorkerPath;\n if (isNativeTransforms) {\n nativeWorkerPath = (0, import_projectImport.projectResolve)(projectRoot, \"@vxrn/vite-plugin-metro/transformer/metroNativeWorker\");\n }\n var defaultConfig = {\n ..._defaultConfig,\n watcher: {\n ..._defaultConfig === null || _defaultConfig === void 0 ? void 0 : _defaultConfig.watcher,\n additionalExts: [\n .../* @__PURE__ */ new Set([\n ...(_ref1 = _defaultConfig === null || _defaultConfig === void 0 ? void 0 : (_defaultConfig_watcher = _defaultConfig.watcher) === null || _defaultConfig_watcher === void 0 ? void 0 : _defaultConfig_watcher.additionalExts) !== null && _ref1 !== void 0 ? _ref1 : [],\n ...expoEnvAdditionalExts\n ])\n ]\n },\n resolver: {\n ..._defaultConfig === null || _defaultConfig === void 0 ? void 0 : _defaultConfig.resolver,\n useWatchman,\n blockList,\n sourceExts: metroSourceExts,\n resolveRequest: function resolveRequest(context, moduleName, platform) {\n var _defaultConfig_resolver2;\n var origResolveRequestFn = (_defaultConfig === null || _defaultConfig === void 0 ? void 0 : (_defaultConfig_resolver2 = _defaultConfig.resolver) === null || _defaultConfig_resolver2 === void 0 ? void 0 : _defaultConfig_resolver2.resolveRequest) || context.resolveRequest;\n if (excludeModules && excludeModules.length > 0) {\n if (import_micromatch.default.isMatch(moduleName, excludeModules)) {\n return origResolveRequestFn(context, \"@vxrn/utils/empty\", platform);\n }\n }\n if (moduleName.startsWith(\"@babel/runtime\")) {\n var contextOverride = {\n ...context,\n unstable_conditionNames: context.unstable_conditionNames.filter(function(c) {\n return c !== \"import\";\n })\n };\n return origResolveRequestFn(contextOverride, moduleName, platform);\n }\n return origResolveRequestFn(context, moduleName, platform);\n }\n },\n transformer: {\n ..._defaultConfig === null || _defaultConfig === void 0 ? void 0 : _defaultConfig.transformer,\n // one's router and Expo's optional development env module both use\n // require.context. Metro installs a throwing runtime stub unless this\n // graph feature is enabled.\n unstable_allowRequireContext: true,\n babelTransformerPath: (0, import_projectImport.projectResolve)(projectRoot, \"@vxrn/vite-plugin-metro/babel-transformer\")\n },\n // transformerPath is a TOP-LEVEL metro config key, not a transformer option.\n // nesting it under transformer silently leaves metro on its default worker.\n ...nativeWorkerPath ? {\n transformerPath: nativeWorkerPath\n } : {},\n reporter: await (0, import_getTerminalReporter.getTerminalReporter)(projectRoot)\n };\n var merged = {\n ...defaultConfig,\n ...typeof defaultConfigOverrides === \"function\" ? defaultConfigOverrides(defaultConfig) : defaultConfigOverrides\n };\n return {\n defaultConfig: enforcePackageResolution(enforceWorkspaceVisibility(merged, projectRoot), mainModuleName, (_ref2 = (_config_resolve = config.resolve) === null || _config_resolve === void 0 ? void 0 : _config_resolve.dedupe) !== null && _ref2 !== void 0 ? _ref2 : [], projectRoot),\n projectRoot,\n extraConfig\n };\n}\nasync function getMetroConfigFromViteConfig(config, metroPluginOptions) {\n var _ref, _ref1, _ref2;\n var _metroPluginOptions_argv, _defaultConfig_resolver, _defaultConfig_watcher, _config_resolve;\n var extraConfig = {};\n var projectRoot = (0, import_path.resolve)((_ref = (_metroPluginOptions_argv = metroPluginOptions.argv) === null || _metroPluginOptions_argv === void 0 ? void 0 : _metroPluginOptions_argv.projectRoot) !== null && _ref !== void 0 ? _ref : config.root);\n var { mainModuleName, argv, defaultConfigOverrides, watchman, excludeModules } = metroPluginOptions;\n var useWatchman = watchman !== null && watchman !== void 0 ? watchman : await isWatchmanResponsive(projectRoot);\n if (watchman === void 0 && !useWatchman && !didWarnAboutWatchmanFallback) {\n didWarnAboutWatchmanFallback = true;\n console.warn(\"[vxrn/metro] Watchman is unavailable or unresponsive; falling back to Node file watching.\");\n }\n var { loadConfig } = await (0, import_projectImport.projectImport)(projectRoot, \"metro\");\n var _defaultConfig = getReactNativeDefaultConfig(projectRoot);\n if (mainModuleName) {\n var _defaultConfig_server;\n var origRewriteRequestUrl = (_defaultConfig_server = _defaultConfig.server) === null || _defaultConfig_server === void 0 ? void 0 : _defaultConfig_server.rewriteRequestUrl;\n var resolveMainModuleName = function resolveMainModuleName2() {\n return mainModuleName;\n };\n extraConfig.getResolveMainModuleName = resolveMainModuleName;\n _defaultConfig.server.rewriteRequestUrl = function(url) {\n var _ref3;\n if (isMainModuleBundleRequest(url)) {\n return rewriteMainModuleBundleUrl(url, resolveMainModuleName);\n }\n return (_ref3 = origRewriteRequestUrl === null || origRewriteRequestUrl === void 0 ? void 0 : origRewriteRequestUrl(url)) !== null && _ref3 !== void 0 ? _ref3 : url;\n };\n }\n var existingBlockList = _defaultConfig === null || _defaultConfig === void 0 ? void 0 : (_defaultConfig_resolver = _defaultConfig.resolver) === null || _defaultConfig_resolver === void 0 ? void 0 : _defaultConfig_resolver.blockList;\n var blockList = [\n ...existingBlockList ? Array.isArray(existingBlockList) ? existingBlockList : [\n existingBlockList\n ] : [],\n ...metroWatchExclusions\n ];\n var { isNativeTransforms } = resolveNativeTransforms(projectRoot, metroPluginOptions);\n var nativeWorkerPath;\n if (isNativeTransforms) {\n nativeWorkerPath = (0, import_projectImport.projectResolve)(projectRoot, \"@vxrn/vite-plugin-metro/transformer/metroNativeWorker\");\n }\n var defaultConfig = {\n ..._defaultConfig,\n watcher: {\n ..._defaultConfig === null || _defaultConfig === void 0 ? void 0 : _defaultConfig.watcher,\n additionalExts: [\n .../* @__PURE__ */ new Set([\n ...(_ref1 = _defaultConfig === null || _defaultConfig === void 0 ? void 0 : (_defaultConfig_watcher = _defaultConfig.watcher) === null || _defaultConfig_watcher === void 0 ? void 0 : _defaultConfig_watcher.additionalExts) !== null && _ref1 !== void 0 ? _ref1 : [],\n ...expoEnvAdditionalExts\n ])\n ]\n },\n resolver: {\n ..._defaultConfig === null || _defaultConfig === void 0 ? void 0 : _defaultConfig.resolver,\n useWatchman,\n blockList,\n sourceExts: metroSourceExts,\n resolveRequest: function resolveRequest(context, moduleName, platform) {\n var _defaultConfig_resolver2;\n var origResolveRequestFn = (_defaultConfig === null || _defaultConfig === void 0 ? void 0 : (_defaultConfig_resolver2 = _defaultConfig.resolver) === null || _defaultConfig_resolver2 === void 0 ? void 0 : _defaultConfig_resolver2.resolveRequest) || context.resolveRequest;\n if (excludeModules && excludeModules.length > 0) {\n if (import_micromatch.default.isMatch(moduleName, excludeModules)) {\n return origResolveRequestFn(context, \"@vxrn/utils/empty\", platform);\n }\n }\n if (moduleName.startsWith(\"@babel/runtime\")) {\n var contextOverride = {\n ...context,\n unstable_conditionNames: context.unstable_conditionNames.filter(function(c) {\n return c !== \"import\";\n })\n };\n return origResolveRequestFn(contextOverride, moduleName, platform);\n }\n return origResolveRequestFn(context, moduleName, platform);\n }\n },\n transformer: {\n ..._defaultConfig === null || _defaultConfig === void 0 ? void 0 : _defaultConfig.transformer,\n // one's router and Expo's optional development env module both use\n // require.context. Metro installs a throwing runtime stub unless this\n // graph feature is enabled.\n unstable_allowRequireContext: true,\n babelTransformerPath: (0, import_projectImport.projectResolve)(projectRoot, \"@vxrn/vite-plugin-metro/babel-transformer\")\n },\n // transformerPath is a TOP-LEVEL metro config key, not a transformer option.\n // nesting it under transformer silently leaves metro on its default worker.\n ...nativeWorkerPath ? {\n transformerPath: nativeWorkerPath\n } : {},\n reporter: await (0, import_getTerminalReporter.getTerminalReporter)(projectRoot)\n };\n var metroConfig = await loadConfig({\n cwd: projectRoot,\n projectRoot,\n \"reset-cache\": !!process.env.METRO_RESET_CACHE,\n ...argv\n }, {\n ...defaultConfig,\n ...typeof defaultConfigOverrides === \"function\" ? defaultConfigOverrides(defaultConfig) : defaultConfigOverrides\n });\n return {\n ...enforcePackageResolution(enforceWorkspaceVisibility(metroConfig, projectRoot), mainModuleName, (_ref2 = (_config_resolve = config.resolve) === null || _config_resolve === void 0 ? void 0 : _config_resolve.dedupe) !== null && _ref2 !== void 0 ? _ref2 : [], projectRoot),\n ...extraConfig\n };\n}\n//# sourceMappingURL=getMetroConfigFromViteConfig.js.map\n"],"mappings":"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"}
1
+ {"version":3,"file":"getMetroConfigFromViteConfig.native.js","names":[],"sources":["cjs/metro-config/getMetroConfigFromViteConfig.native.js"],"sourcesContent":["\"use strict\";\nvar __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(\n // If the importer is in node compatibility mode or this is not an ESM\n // file that has been converted to a CommonJS file using a Babel-\n // compatible transform (i.e. \"__esModule\" has not been set), then set\n // \"default\" to the CommonJS \"module.exports\" for node compatibility.\n isNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", { value: mod, enumerable: true }) : target,\n mod\n));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar getMetroConfigFromViteConfig_exports = {};\n__export(getMetroConfigFromViteConfig_exports, {\n buildMetroConfigInputFromViteConfig: () => buildMetroConfigInputFromViteConfig,\n getMetroConfigFromViteConfig: () => getMetroConfigFromViteConfig\n});\nmodule.exports = __toCommonJS(getMetroConfigFromViteConfig_exports);\nvar import_vite = require(\"vite\");\nvar import_child_process = require(\"child_process\");\nvar import_path = require(\"path\");\nvar import_micromatch = __toESM(require(\"micromatch\"), 1);\nvar import_metro_config = require(\"@react-native/metro-config\");\nvar import_compiler = require(\"@vxrn/compiler\");\nvar import_desktopReactNativeResolve = require(\"@vxrn/utils/desktopReactNativeResolve\");\nvar import_projectImport = require(\"../utils/projectImport\");\nvar import_getTerminalReporter = require(\"../utils/getTerminalReporter\");\nvar WATCHMAN_PROBE_TIMEOUT_MS = 2e3;\nvar expoEnvAdditionalExts = [\n \"env\",\n \"local\",\n \"development\"\n];\nvar metroSourceExts = [\n \"js\",\n \"jsx\",\n \"json\",\n \"ts\",\n \"tsx\",\n \"mjs\",\n \"cjs\",\n \"swift\",\n \"kt\"\n];\nvar watchmanResponsivePromises = /* @__PURE__ */ new Map();\nvar didWarnAboutWatchmanFallback = false;\nvar rootIndexBundleRequestPattern = /^(https?:\\/\\/[^/]+)?\\/index\\.bundle(?=$|[?#])/;\nvar expoVirtualEntryBundleRequestPattern = /^(https?:\\/\\/[^/]+)?\\/\\.expo\\/\\.virtual-metro-entry\\.bundle(?=$|[?#])/;\nvar metroWatchExclusions = [\n /^(?!.*[/\\\\]node_modules[/\\\\]).*[/\\\\]dist[/\\\\](?:static|server)(?:[/\\\\]|$)/,\n /[/\\\\]tests[/\\\\][^/\\\\]+[/\\\\]dist(?:[/\\\\]|$)/,\n /[/\\\\]\\.docker(?:[/\\\\]|$)/,\n /[/\\\\]\\.vite(?:[/\\\\]|$)/,\n /[/\\\\]node_modules[/\\\\]\\.vxrn(?:[/\\\\]|$)/\n];\nfunction enforceWorkspaceVisibility(config, projectRoot) {\n var _config_watchFolders, _ref;\n var _config_resolver;\n var workspaceRoot = (0, import_vite.searchForWorkspaceRoot)(projectRoot);\n if (workspaceRoot === projectRoot) return config;\n return {\n ...config,\n watchFolders: [\n .../* @__PURE__ */ new Set([\n ...(_config_watchFolders = config.watchFolders) !== null && _config_watchFolders !== void 0 ? _config_watchFolders : [],\n workspaceRoot\n ])\n ],\n resolver: {\n ...config.resolver,\n nodeModulesPaths: [\n .../* @__PURE__ */ new Set([\n ...(_ref = (_config_resolver = config.resolver) === null || _config_resolver === void 0 ? void 0 : _config_resolver.nodeModulesPaths) !== null && _ref !== void 0 ? _ref : [],\n (0, import_path.resolve)(projectRoot, \"node_modules\"),\n (0, import_path.resolve)(workspaceRoot, \"node_modules\")\n ])\n ]\n }\n };\n}\nfunction getReactNativeDefaultConfig(projectRoot) {\n var _ref;\n var _config_resolver;\n var config = enforceWorkspaceVisibility((0, import_metro_config.getDefaultConfig)(projectRoot), projectRoot);\n return {\n ...config,\n resolver: {\n ...config.resolver,\n assetExts: [\n .../* @__PURE__ */ new Set([\n ...(_ref = (_config_resolver = config.resolver) === null || _config_resolver === void 0 ? void 0 : _config_resolver.assetExts) !== null && _ref !== void 0 ? _ref : [],\n \"glb\"\n ])\n ]\n }\n };\n}\nvar oneRoots = /* @__PURE__ */ new Map();\nfunction redirectDesktopReactNative(projectRoot, origin, moduleName, platform) {\n if (platform !== \"macos\" && platform !== \"linux\") return null;\n var file = (0, import_desktopReactNativeResolve.desktopReactNativeFile)(origin, moduleName, oneRootFor(projectRoot, platform), platform);\n if (!file) return null;\n return {\n type: \"sourceFile\",\n filePath: file\n };\n}\nfunction oneRootFor(projectRoot, platform) {\n var root = oneRoots.get(projectRoot);\n if (!root) {\n root = (0, import_desktopReactNativeResolve.requireOnePackageRoot)(projectRoot, platform);\n oneRoots.set(projectRoot, root);\n }\n return root;\n}\nfunction getPlatformFromBundleUrl(url) {\n var _url_match;\n var platform = (_url_match = url.match(/[?&]platform=(ios|android|macos|linux)(?:&|$)/)) === null || _url_match === void 0 ? void 0 : _url_match[1];\n if (platform === \"ios\" || platform === \"android\" || platform === \"macos\" || platform === \"linux\") return platform;\n return \"ios\";\n}\nfunction rewriteMainModuleBundleUrl(url, resolveMainModuleName) {\n var resolvedMainModulePath = resolveMainModuleName({\n platform: getPlatformFromBundleUrl(url)\n });\n if (rootIndexBundleRequestPattern.test(url)) {\n return url.replace(rootIndexBundleRequestPattern, `$1/${resolvedMainModulePath}.bundle`);\n }\n return url.replace(expoVirtualEntryBundleRequestPattern, `$1/${resolvedMainModulePath}.bundle`);\n}\nfunction isMainModuleBundleRequest(url) {\n return rootIndexBundleRequestPattern.test(url) || expoVirtualEntryBundleRequestPattern.test(url);\n}\nfunction isBareSpecifier(name) {\n return name !== \"\" && !name.startsWith(\".\") && !name.startsWith(\"/\");\n}\nfunction bareMainModuleForRequest(moduleName, mainModuleName) {\n if (!mainModuleName || !isBareSpecifier(mainModuleName)) return void 0;\n if (moduleName === `./${mainModuleName}`) return mainModuleName;\n return void 0;\n}\nfunction enforcePackageResolution(config, mainModuleName, dedupe, projectRoot) {\n var _config_resolver;\n var dedupedPackages = new Set(dedupe);\n if ((!mainModuleName || !isBareSpecifier(mainModuleName)) && !dedupedPackages.size) {\n return config;\n }\n var rootOrigin = (0, import_path.resolve)(projectRoot, \"package.json\");\n var innerResolveRequest = (_config_resolver = config.resolver) === null || _config_resolver === void 0 ? void 0 : _config_resolver.resolveRequest;\n return {\n ...config,\n resolver: {\n ...config.resolver,\n resolveRequest: function resolveRequest(context, moduleName, platform) {\n var bareMain = bareMainModuleForRequest(moduleName, mainModuleName);\n var request = bareMain !== null && bareMain !== void 0 ? bareMain : moduleName;\n var packageEnd = request.indexOf(\"/\", request.startsWith(\"@\") ? request.indexOf(\"/\") + 1 : 0);\n var packageName = packageEnd === -1 ? request : request.slice(0, packageEnd);\n var resolutionContext = isBareSpecifier(request) && dedupedPackages.has(packageName) ? {\n ...context,\n originModulePath: rootOrigin\n } : context;\n var resolveRequest2 = innerResolveRequest || context.resolveRequest;\n return resolveRequest2(resolutionContext, request, platform);\n }\n }\n };\n}\nasync function isWatchmanResponsive(projectRoot) {\n var probe = watchmanResponsivePromises.get(projectRoot);\n if (probe) {\n return probe;\n }\n probe = new Promise(function(resolve2) {\n var settled = false;\n var finish = function finish2(value) {\n if (settled) return;\n settled = true;\n clearTimeout(timeout);\n resolve2(value);\n };\n var child = (0, import_child_process.spawn)(\"watchman\", [\n \"watch-project\",\n projectRoot\n ], {\n stdio: \"ignore\"\n });\n var timeout = setTimeout(function() {\n child.kill();\n finish(false);\n }, WATCHMAN_PROBE_TIMEOUT_MS);\n child.once(\"error\", function() {\n finish(false);\n });\n child.once(\"exit\", function(code) {\n finish(code === 0);\n });\n });\n watchmanResponsivePromises.set(projectRoot, probe);\n return probe;\n}\nfunction resolveNativeTransforms(projectRoot, metroPluginOptions) {\n var userBabelConfigPath = projectRoot ? (0, import_compiler.findUserBabelConfig)(projectRoot) : null;\n var hasUserBabelConfig = Boolean(userBabelConfigPath);\n var isNativeTransforms = process.env.ONE_METRO_NATIVE_TRANSFORMS === \"0\" ? false : process.env.ONE_METRO_NATIVE_TRANSFORMS === \"1\" ? true : metroPluginOptions.nativeTransforms === false ? false : metroPluginOptions.nativeTransforms === true ? true : hasUserBabelConfig ? false : true;\n if (userBabelConfigPath && isNativeTransforms) {\n console.warn(`[vxrn/metro] Ignoring user babel config at ${userBabelConfigPath} because native transforms are explicitly enabled (nativeTransforms: true or ONE_METRO_NATIVE_TRANSFORMS=1). Port its plugins to nativeTransformModules, or set nativeTransforms: false (or ONE_METRO_NATIVE_TRANSFORMS=0) to use the babel transformer.`);\n }\n return {\n isNativeTransforms,\n userBabelConfigPath\n };\n}\nasync function buildMetroConfigInputFromViteConfig(config, metroPluginOptions) {\n var _ref, _ref1, _ref2, _ref3;\n var _metroPluginOptions_argv, _defaultConfig_resolver, _defaultConfig_watcher, _defaultConfig_resolver1, _config_resolve;\n var extraConfig = {};\n var projectRoot = (0, import_path.resolve)((_ref = (_metroPluginOptions_argv = metroPluginOptions.argv) === null || _metroPluginOptions_argv === void 0 ? void 0 : _metroPluginOptions_argv.projectRoot) !== null && _ref !== void 0 ? _ref : config.root);\n var { mainModuleName, defaultConfigOverrides, watchman, excludeModules } = metroPluginOptions;\n var useWatchman = watchman !== null && watchman !== void 0 ? watchman : await isWatchmanResponsive(projectRoot);\n if (watchman === void 0 && !useWatchman && !didWarnAboutWatchmanFallback) {\n didWarnAboutWatchmanFallback = true;\n console.warn(\"[vxrn/metro] Watchman is unavailable or unresponsive; falling back to Node file watching.\");\n }\n var _defaultConfig = getReactNativeDefaultConfig(projectRoot);\n if (mainModuleName) {\n var _defaultConfig_server;\n var origRewriteRequestUrl = (_defaultConfig_server = _defaultConfig.server) === null || _defaultConfig_server === void 0 ? void 0 : _defaultConfig_server.rewriteRequestUrl;\n var resolveMainModuleName = function resolveMainModuleName2() {\n return mainModuleName;\n };\n extraConfig.getResolveMainModuleName = resolveMainModuleName;\n _defaultConfig.server.rewriteRequestUrl = function(url) {\n var _ref4;\n if (isMainModuleBundleRequest(url)) {\n return rewriteMainModuleBundleUrl(url, resolveMainModuleName);\n }\n return (_ref4 = origRewriteRequestUrl === null || origRewriteRequestUrl === void 0 ? void 0 : origRewriteRequestUrl(url)) !== null && _ref4 !== void 0 ? _ref4 : url;\n };\n }\n var existingBlockList = _defaultConfig === null || _defaultConfig === void 0 ? void 0 : (_defaultConfig_resolver = _defaultConfig.resolver) === null || _defaultConfig_resolver === void 0 ? void 0 : _defaultConfig_resolver.blockList;\n var blockList = [\n ...existingBlockList ? Array.isArray(existingBlockList) ? existingBlockList : [\n existingBlockList\n ] : [],\n ...metroWatchExclusions\n ];\n var { isNativeTransforms } = resolveNativeTransforms(projectRoot, metroPluginOptions);\n var nativeWorkerPath;\n if (isNativeTransforms) {\n nativeWorkerPath = (0, import_projectImport.projectResolve)(projectRoot, \"@vxrn/vite-plugin-metro/transformer/metroNativeWorker\");\n }\n var defaultConfig = {\n ..._defaultConfig,\n watcher: {\n ..._defaultConfig === null || _defaultConfig === void 0 ? void 0 : _defaultConfig.watcher,\n additionalExts: [\n .../* @__PURE__ */ new Set([\n ...(_ref1 = _defaultConfig === null || _defaultConfig === void 0 ? void 0 : (_defaultConfig_watcher = _defaultConfig.watcher) === null || _defaultConfig_watcher === void 0 ? void 0 : _defaultConfig_watcher.additionalExts) !== null && _ref1 !== void 0 ? _ref1 : [],\n ...expoEnvAdditionalExts\n ])\n ]\n },\n resolver: {\n ..._defaultConfig === null || _defaultConfig === void 0 ? void 0 : _defaultConfig.resolver,\n useWatchman,\n blockList,\n sourceExts: metroSourceExts,\n platforms: [\n .../* @__PURE__ */ new Set([\n ...(_ref2 = _defaultConfig === null || _defaultConfig === void 0 ? void 0 : (_defaultConfig_resolver1 = _defaultConfig.resolver) === null || _defaultConfig_resolver1 === void 0 ? void 0 : _defaultConfig_resolver1.platforms) !== null && _ref2 !== void 0 ? _ref2 : [],\n \"macos\",\n \"linux\"\n ])\n ],\n resolveRequest: function resolveRequest(context, moduleName, platform) {\n var _defaultConfig_resolver2;\n var origResolveRequestFn = (_defaultConfig === null || _defaultConfig === void 0 ? void 0 : (_defaultConfig_resolver2 = _defaultConfig.resolver) === null || _defaultConfig_resolver2 === void 0 ? void 0 : _defaultConfig_resolver2.resolveRequest) || context.resolveRequest;\n if (excludeModules && excludeModules.length > 0) {\n if (import_micromatch.default.isMatch(moduleName, excludeModules)) {\n return origResolveRequestFn(context, \"@vxrn/utils/empty\", platform);\n }\n }\n if (moduleName.startsWith(\"@babel/runtime\")) {\n var contextOverride = {\n ...context,\n unstable_conditionNames: context.unstable_conditionNames.filter(function(c) {\n return c !== \"import\";\n })\n };\n return origResolveRequestFn(contextOverride, moduleName, platform);\n }\n var desktopRedirect = redirectDesktopReactNative(projectRoot, context.originModulePath, moduleName, platform);\n if (desktopRedirect) return desktopRedirect;\n return origResolveRequestFn(context, moduleName, platform);\n }\n },\n transformer: {\n ..._defaultConfig === null || _defaultConfig === void 0 ? void 0 : _defaultConfig.transformer,\n // one's router and Expo's optional development env module both use\n // require.context. Metro installs a throwing runtime stub unless this\n // graph feature is enabled.\n unstable_allowRequireContext: true,\n babelTransformerPath: (0, import_projectImport.projectResolve)(projectRoot, \"@vxrn/vite-plugin-metro/babel-transformer\")\n },\n // transformerPath is a TOP-LEVEL metro config key, not a transformer option.\n // nesting it under transformer silently leaves metro on its default worker.\n ...nativeWorkerPath ? {\n transformerPath: nativeWorkerPath\n } : {},\n reporter: await (0, import_getTerminalReporter.getTerminalReporter)(projectRoot)\n };\n var merged = {\n ...defaultConfig,\n ...typeof defaultConfigOverrides === \"function\" ? defaultConfigOverrides(defaultConfig) : defaultConfigOverrides\n };\n return {\n defaultConfig: enforcePackageResolution(enforceWorkspaceVisibility(merged, projectRoot), mainModuleName, (_ref3 = (_config_resolve = config.resolve) === null || _config_resolve === void 0 ? void 0 : _config_resolve.dedupe) !== null && _ref3 !== void 0 ? _ref3 : [], projectRoot),\n projectRoot,\n extraConfig\n };\n}\nasync function getMetroConfigFromViteConfig(config, metroPluginOptions) {\n var _ref, _ref1, _ref2, _ref3;\n var _metroPluginOptions_argv, _defaultConfig_resolver, _defaultConfig_watcher, _defaultConfig_resolver1, _config_resolve;\n var extraConfig = {};\n var projectRoot = (0, import_path.resolve)((_ref = (_metroPluginOptions_argv = metroPluginOptions.argv) === null || _metroPluginOptions_argv === void 0 ? void 0 : _metroPluginOptions_argv.projectRoot) !== null && _ref !== void 0 ? _ref : config.root);\n var { mainModuleName, argv, defaultConfigOverrides, watchman, excludeModules } = metroPluginOptions;\n var useWatchman = watchman !== null && watchman !== void 0 ? watchman : await isWatchmanResponsive(projectRoot);\n if (watchman === void 0 && !useWatchman && !didWarnAboutWatchmanFallback) {\n didWarnAboutWatchmanFallback = true;\n console.warn(\"[vxrn/metro] Watchman is unavailable or unresponsive; falling back to Node file watching.\");\n }\n var { loadConfig } = await (0, import_projectImport.projectImport)(projectRoot, \"metro\");\n var _defaultConfig = getReactNativeDefaultConfig(projectRoot);\n if (mainModuleName) {\n var _defaultConfig_server;\n var origRewriteRequestUrl = (_defaultConfig_server = _defaultConfig.server) === null || _defaultConfig_server === void 0 ? void 0 : _defaultConfig_server.rewriteRequestUrl;\n var resolveMainModuleName = function resolveMainModuleName2() {\n return mainModuleName;\n };\n extraConfig.getResolveMainModuleName = resolveMainModuleName;\n _defaultConfig.server.rewriteRequestUrl = function(url) {\n var _ref4;\n if (isMainModuleBundleRequest(url)) {\n return rewriteMainModuleBundleUrl(url, resolveMainModuleName);\n }\n return (_ref4 = origRewriteRequestUrl === null || origRewriteRequestUrl === void 0 ? void 0 : origRewriteRequestUrl(url)) !== null && _ref4 !== void 0 ? _ref4 : url;\n };\n }\n var existingBlockList = _defaultConfig === null || _defaultConfig === void 0 ? void 0 : (_defaultConfig_resolver = _defaultConfig.resolver) === null || _defaultConfig_resolver === void 0 ? void 0 : _defaultConfig_resolver.blockList;\n var blockList = [\n ...existingBlockList ? Array.isArray(existingBlockList) ? existingBlockList : [\n existingBlockList\n ] : [],\n ...metroWatchExclusions\n ];\n var { isNativeTransforms } = resolveNativeTransforms(projectRoot, metroPluginOptions);\n var nativeWorkerPath;\n if (isNativeTransforms) {\n nativeWorkerPath = (0, import_projectImport.projectResolve)(projectRoot, \"@vxrn/vite-plugin-metro/transformer/metroNativeWorker\");\n }\n var defaultConfig = {\n ..._defaultConfig,\n watcher: {\n ..._defaultConfig === null || _defaultConfig === void 0 ? void 0 : _defaultConfig.watcher,\n additionalExts: [\n .../* @__PURE__ */ new Set([\n ...(_ref1 = _defaultConfig === null || _defaultConfig === void 0 ? void 0 : (_defaultConfig_watcher = _defaultConfig.watcher) === null || _defaultConfig_watcher === void 0 ? void 0 : _defaultConfig_watcher.additionalExts) !== null && _ref1 !== void 0 ? _ref1 : [],\n ...expoEnvAdditionalExts\n ])\n ]\n },\n resolver: {\n ..._defaultConfig === null || _defaultConfig === void 0 ? void 0 : _defaultConfig.resolver,\n useWatchman,\n blockList,\n sourceExts: metroSourceExts,\n platforms: [\n .../* @__PURE__ */ new Set([\n ...(_ref2 = _defaultConfig === null || _defaultConfig === void 0 ? void 0 : (_defaultConfig_resolver1 = _defaultConfig.resolver) === null || _defaultConfig_resolver1 === void 0 ? void 0 : _defaultConfig_resolver1.platforms) !== null && _ref2 !== void 0 ? _ref2 : [],\n \"macos\",\n \"linux\"\n ])\n ],\n resolveRequest: function resolveRequest(context, moduleName, platform) {\n var _defaultConfig_resolver2;\n var origResolveRequestFn = (_defaultConfig === null || _defaultConfig === void 0 ? void 0 : (_defaultConfig_resolver2 = _defaultConfig.resolver) === null || _defaultConfig_resolver2 === void 0 ? void 0 : _defaultConfig_resolver2.resolveRequest) || context.resolveRequest;\n if (excludeModules && excludeModules.length > 0) {\n if (import_micromatch.default.isMatch(moduleName, excludeModules)) {\n return origResolveRequestFn(context, \"@vxrn/utils/empty\", platform);\n }\n }\n if (moduleName.startsWith(\"@babel/runtime\")) {\n var contextOverride = {\n ...context,\n unstable_conditionNames: context.unstable_conditionNames.filter(function(c) {\n return c !== \"import\";\n })\n };\n return origResolveRequestFn(contextOverride, moduleName, platform);\n }\n var desktopRedirect = redirectDesktopReactNative(projectRoot, context.originModulePath, moduleName, platform);\n if (desktopRedirect) return desktopRedirect;\n return origResolveRequestFn(context, moduleName, platform);\n }\n },\n transformer: {\n ..._defaultConfig === null || _defaultConfig === void 0 ? void 0 : _defaultConfig.transformer,\n // one's router and Expo's optional development env module both use\n // require.context. Metro installs a throwing runtime stub unless this\n // graph feature is enabled.\n unstable_allowRequireContext: true,\n babelTransformerPath: (0, import_projectImport.projectResolve)(projectRoot, \"@vxrn/vite-plugin-metro/babel-transformer\")\n },\n // transformerPath is a TOP-LEVEL metro config key, not a transformer option.\n // nesting it under transformer silently leaves metro on its default worker.\n ...nativeWorkerPath ? {\n transformerPath: nativeWorkerPath\n } : {},\n reporter: await (0, import_getTerminalReporter.getTerminalReporter)(projectRoot)\n };\n var metroConfig = await loadConfig({\n cwd: projectRoot,\n projectRoot,\n \"reset-cache\": !!process.env.METRO_RESET_CACHE,\n ...argv\n }, {\n ...defaultConfig,\n ...typeof defaultConfigOverrides === \"function\" ? defaultConfigOverrides(defaultConfig) : defaultConfigOverrides\n });\n return {\n ...enforcePackageResolution(enforceWorkspaceVisibility(metroConfig, projectRoot), mainModuleName, (_ref3 = (_config_resolve = config.resolve) === null || _config_resolve === void 0 ? void 0 : _config_resolve.dedupe) !== null && _ref3 !== void 0 ? _ref3 : [], projectRoot),\n ...extraConfig\n };\n}\n//# sourceMappingURL=getMetroConfigFromViteConfig.js.map\n"],"mappings":";;;AACA,IAAI,WAAW,OAAO;AACtB,IAAI,YAAY,OAAO;AACvB,IAAI,mBAAmB,OAAO;AAC9B,IAAI,oBAAoB,OAAO;AAC/B,IAAI,eAAe,OAAO;AAC1B,IAAI,eAAe,OAAO,UAAU;AACpC,IAAI,YAAY,QAAQ,QAAQ;CAC9B,KAAK,IAAI,QAAQ,KACf,UAAU,QAAQ,MAAM;EAAE,KAAK,IAAI;EAAO,YAAY;CAAK,CAAC;AAChE;AACA,IAAI,eAAe,IAAI,MAAM,QAAQ,SAAS;CAC5C,IAAI,QAAQ,OAAO,SAAS,YAAY,OAAO,SAAS,YAAY;EAClE,KAAK,IAAI,OAAO,kBAAkB,IAAI,GACpC,IAAI,CAAC,aAAa,KAAK,IAAI,GAAG,KAAK,QAAQ,QACzC,UAAU,IAAI,KAAK;GAAE,WAAW,KAAK;GAAM,YAAY,EAAE,OAAO,iBAAiB,MAAM,GAAG,MAAM,KAAK;EAAW,CAAC;CACvH;CACA,OAAO;AACT;AACA,IAAI,WAAW,KAAK,YAAY,YAAY,SAAS,OAAO,OAAO,SAAS,aAAa,GAAG,CAAC,IAAI,CAAC,GAAG,YAKnG,cAAc,CAAC,OAAO,CAAC,IAAI,aAAa,UAAU,QAAQ,WAAW;CAAE,OAAO;CAAK,YAAY;AAAK,CAAC,IAAI,QACzG,GACF;AACA,IAAI,gBAAgB,QAAQ,YAAY,UAAU,CAAC,GAAG,cAAc,EAAE,OAAO,KAAK,CAAC,GAAG,GAAG;AACzF,IAAI,uCAAuC,CAAC;AAC5C,SAAS,sCAAsC;CAC7C,2CAA2C;CAC3C,oCAAoC;AACtC,CAAC;AACD,OAAO,UAAU,aAAa,oCAAoC;AAClE,IAAI,cAAc,QAAQ,MAAM;AAChC,IAAI,uBAAuB,QAAQ,eAAe;AAClD,IAAI,cAAc,QAAQ,MAAM;AAChC,IAAI,oBAAoB,QAAQ,QAAQ,YAAY,GAAG,CAAC;AACxD,IAAI,sBAAsB,QAAQ,4BAA4B;AAC9D,IAAI,kBAAkB,QAAQ,gBAAgB;AAC9C,IAAI,mCAAmC,QAAQ,uCAAuC;AACtF,IAAI,uBAAuB,QAAQ,kCAAwB;AAC3D,IAAI,6BAA6B,QAAQ,wCAA8B;AACvE,IAAI,4BAA4B;AAChC,IAAI,wBAAwB;CAC1B;CACA;CACA;AACF;AACA,IAAI,kBAAkB;CACpB;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF;AACA,IAAI,6CAA6C,IAAI,IAAI;AACzD,IAAI,+BAA+B;AACnC,IAAI,gCAAgC;AACpC,IAAI,uCAAuC;AAC3C,IAAI,uBAAuB;CACzB;CACA;CACA;CACA;CACA;AACF;AACA,SAAS,2BAA2B,QAAQ,aAAa;CACvD,IAAI,sBAAsB;CAC1B,IAAI;CACJ,IAAI,iBAAiB,GAAG,YAAY,uBAAsB,CAAE,WAAW;CACvE,IAAI,kBAAkB,aAAa,OAAO;CAC1C,OAAO;EACL,GAAG;EACH,cAAc,CACZ,mBAAmB,IAAI,IAAI,CACzB,IAAI,uBAAuB,OAAO,kBAAkB,QAAQ,yBAAyB,KAAK,IAAI,uBAAuB,CAAC,GACtH,aACF,CAAC,CACH;EACA,UAAU;GACR,GAAG,OAAO;GACV,kBAAkB,CAChB,mBAAmB,IAAI,IAAI;IACzB,IAAI,QAAQ,mBAAmB,OAAO,cAAc,QAAQ,qBAAqB,KAAK,IAAI,KAAK,IAAI,iBAAiB,sBAAsB,QAAQ,SAAS,KAAK,IAAI,OAAO,CAAC;KAC3K,GAAG,YAAY,QAAO,CAAE,aAAa,cAAc;KACnD,GAAG,YAAY,QAAO,CAAE,eAAe,cAAc;GACxD,CAAC,CACH;EACF;CACF;AACF;AACA,SAAS,4BAA4B,aAAa;CAChD,IAAI;CACJ,IAAI;CACJ,IAAI,SAAS,4BAA4B,GAAG,oBAAoB,iBAAgB,CAAE,WAAW,GAAG,WAAW;CAC3G,OAAO;EACL,GAAG;EACH,UAAU;GACR,GAAG,OAAO;GACV,WAAW,CACT,mBAAmB,IAAI,IAAI,CACzB,IAAI,QAAQ,mBAAmB,OAAO,cAAc,QAAQ,qBAAqB,KAAK,IAAI,KAAK,IAAI,iBAAiB,eAAe,QAAQ,SAAS,KAAK,IAAI,OAAO,CAAC,GACrK,KACF,CAAC,CACH;EACF;CACF;AACF;AACA,IAAI,2BAA2B,IAAI,IAAI;AACvC,SAAS,2BAA2B,aAAa,QAAQ,YAAY,UAAU;CAC7E,IAAI,aAAa,WAAW,aAAa,SAAS,OAAO;CACzD,IAAI,QAAQ,GAAG,iCAAiC,uBAAsB,CAAE,QAAQ,YAAY,WAAW,aAAa,QAAQ,GAAG,QAAQ;CACvI,IAAI,CAAC,MAAM,OAAO;CAClB,OAAO;EACL,MAAM;EACN,UAAU;CACZ;AACF;AACA,SAAS,WAAW,aAAa,UAAU;CACzC,IAAI,OAAO,SAAS,IAAI,WAAW;CACnC,IAAI,CAAC,MAAM;EACT,QAAQ,GAAG,iCAAiC,sBAAqB,CAAE,aAAa,QAAQ;EACxF,SAAS,IAAI,aAAa,IAAI;CAChC;CACA,OAAO;AACT;AACA,SAAS,yBAAyB,KAAK;CACrC,IAAI;CACJ,IAAI,YAAY,aAAa,IAAI,MAAM,+CAA+C,OAAO,QAAQ,eAAe,KAAK,IAAI,KAAK,IAAI,WAAW;CACjJ,IAAI,aAAa,SAAS,aAAa,aAAa,aAAa,WAAW,aAAa,SAAS,OAAO;CACzG,OAAO;AACT;AACA,SAAS,2BAA2B,KAAK,uBAAuB;CAC9D,IAAI,yBAAyB,sBAAsB,EACjD,UAAU,yBAAyB,GAAG,EACxC,CAAC;CACD,IAAI,8BAA8B,KAAK,GAAG,GAAG;EAC3C,OAAO,IAAI,QAAQ,+BAA+B,MAAM,uBAAuB,QAAQ;CACzF;CACA,OAAO,IAAI,QAAQ,sCAAsC,MAAM,uBAAuB,QAAQ;AAChG;AACA,SAAS,0BAA0B,KAAK;CACtC,OAAO,8BAA8B,KAAK,GAAG,KAAK,qCAAqC,KAAK,GAAG;AACjG;AACA,SAAS,gBAAgB,MAAM;CAC7B,OAAO,SAAS,MAAM,CAAC,KAAK,WAAW,GAAG,KAAK,CAAC,KAAK,WAAW,GAAG;AACrE;AACA,SAAS,yBAAyB,YAAY,gBAAgB;CAC5D,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,cAAc,GAAG,OAAO,KAAK;CACrE,IAAI,eAAe,KAAK,kBAAkB,OAAO;CACjD,OAAO,KAAK;AACd;AACA,SAAS,yBAAyB,QAAQ,gBAAgB,QAAQ,aAAa;CAC7E,IAAI;CACJ,IAAI,kBAAkB,IAAI,IAAI,MAAM;CACpC,KAAK,CAAC,kBAAkB,CAAC,gBAAgB,cAAc,MAAM,CAAC,gBAAgB,MAAM;EAClF,OAAO;CACT;CACA,IAAI,cAAc,GAAG,YAAY,QAAO,CAAE,aAAa,cAAc;CACrE,IAAI,uBAAuB,mBAAmB,OAAO,cAAc,QAAQ,qBAAqB,KAAK,IAAI,KAAK,IAAI,iBAAiB;CACnI,OAAO;EACL,GAAG;EACH,UAAU;GACR,GAAG,OAAO;GACV,gBAAgB,SAAS,eAAe,SAAS,YAAY,UAAU;IACrE,IAAI,WAAW,yBAAyB,YAAY,cAAc;IAClE,IAAI,UAAU,aAAa,QAAQ,aAAa,KAAK,IAAI,WAAW;IACpE,IAAI,aAAa,QAAQ,QAAQ,KAAK,QAAQ,WAAW,GAAG,IAAI,QAAQ,QAAQ,GAAG,IAAI,IAAI,CAAC;IAC5F,IAAI,cAAc,eAAe,CAAC,IAAI,UAAU,QAAQ,MAAM,GAAG,UAAU;IAC3E,IAAI,oBAAoB,gBAAgB,OAAO,KAAK,gBAAgB,IAAI,WAAW,IAAI;KACrF,GAAG;KACH,kBAAkB;IACpB,IAAI;IACJ,IAAI,kBAAkB,uBAAuB,QAAQ;IACrD,OAAO,gBAAgB,mBAAmB,SAAS,QAAQ;GAC7D;EACF;CACF;AACF;AACA,eAAe,qBAAqB,aAAa;CAC/C,IAAI,QAAQ,2BAA2B,IAAI,WAAW;CACtD,IAAI,OAAO;EACT,OAAO;CACT;CACA,QAAQ,IAAI,QAAQ,SAAS,UAAU;EACrC,IAAI,UAAU;EACd,IAAI,SAAS,SAAS,QAAQ,OAAO;GACnC,IAAI,SAAS;GACb,UAAU;GACV,aAAa,OAAO;GACpB,SAAS,KAAK;EAChB;EACA,IAAI,SAAS,GAAG,qBAAqB,MAAK,CAAE,YAAY,CACtD,iBACA,WACF,GAAG,EACD,OAAO,SACT,CAAC;EACD,IAAI,UAAU,WAAW,WAAW;GAClC,MAAM,KAAK;GACX,OAAO,KAAK;EACd,GAAG,yBAAyB;EAC5B,MAAM,KAAK,SAAS,WAAW;GAC7B,OAAO,KAAK;EACd,CAAC;EACD,MAAM,KAAK,QAAQ,SAAS,MAAM;GAChC,OAAO,SAAS,CAAC;EACnB,CAAC;CACH,CAAC;CACD,2BAA2B,IAAI,aAAa,KAAK;CACjD,OAAO;AACT;AACA,SAAS,wBAAwB,aAAa,oBAAoB;CAChE,IAAI,sBAAsB,eAAe,GAAG,gBAAgB,oBAAmB,CAAE,WAAW,IAAI;CAChG,IAAI,qBAAqB,QAAQ,mBAAmB;CACpD,IAAI,qBAAqB,QAAQ,IAAI,gCAAgC,MAAM,QAAQ,QAAQ,IAAI,gCAAgC,MAAM,OAAO,mBAAmB,qBAAqB,QAAQ,QAAQ,mBAAmB,qBAAqB,OAAO,OAAO,qBAAqB,QAAQ;CACvR,IAAI,uBAAuB,oBAAoB;EAC7C,QAAQ,KAAK,8CAA8C,oBAAoB,yPAAyP;CAC1U;CACA,OAAO;EACL;EACA;CACF;AACF;AACA,eAAe,oCAAoC,QAAQ,oBAAoB;CAC7E,IAAI,MAAM,OAAO,OAAO;CACxB,IAAI,0BAA0B,yBAAyB,wBAAwB,0BAA0B;CACzG,IAAI,cAAc,CAAC;CACnB,IAAI,eAAe,GAAG,YAAY,QAAO,EAAG,QAAQ,2BAA2B,mBAAmB,UAAU,QAAQ,6BAA6B,KAAK,IAAI,KAAK,IAAI,yBAAyB,iBAAiB,QAAQ,SAAS,KAAK,IAAI,OAAO,OAAO,IAAI;CACzP,IAAI,EAAE,gBAAgB,wBAAwB,UAAU,mBAAmB;CAC3E,IAAI,cAAc,aAAa,QAAQ,aAAa,KAAK,IAAI,WAAW,MAAM,qBAAqB,WAAW;CAC9G,IAAI,aAAa,KAAK,KAAK,CAAC,eAAe,CAAC,8BAA8B;EACxE,+BAA+B;EAC/B,QAAQ,KAAK,2FAA2F;CAC1G;CACA,IAAI,iBAAiB,4BAA4B,WAAW;CAC5D,IAAI,gBAAgB;EAClB,IAAI;EACJ,IAAI,yBAAyB,wBAAwB,eAAe,YAAY,QAAQ,0BAA0B,KAAK,IAAI,KAAK,IAAI,sBAAsB;EAC1J,IAAI,wBAAwB,SAAS,yBAAyB;GAC5D,OAAO;EACT;EACA,YAAY,2BAA2B;EACvC,eAAe,OAAO,oBAAoB,SAAS,KAAK;GACtD,IAAI;GACJ,IAAI,0BAA0B,GAAG,GAAG;IAClC,OAAO,2BAA2B,KAAK,qBAAqB;GAC9D;GACA,QAAQ,QAAQ,0BAA0B,QAAQ,0BAA0B,KAAK,IAAI,KAAK,IAAI,sBAAsB,GAAG,OAAO,QAAQ,UAAU,KAAK,IAAI,QAAQ;EACnK;CACF;CACA,IAAI,oBAAoB,mBAAmB,QAAQ,mBAAmB,KAAK,IAAI,KAAK,KAAK,0BAA0B,eAAe,cAAc,QAAQ,4BAA4B,KAAK,IAAI,KAAK,IAAI,wBAAwB;CAC9N,IAAI,YAAY,CACd,GAAG,oBAAoB,MAAM,QAAQ,iBAAiB,IAAI,oBAAoB,CAC5E,iBACF,IAAI,CAAC,GACL,GAAG,oBACL;CACA,IAAI,EAAE,uBAAuB,wBAAwB,aAAa,kBAAkB;CACpF,IAAI;CACJ,IAAI,oBAAoB;EACtB,oBAAoB,GAAG,qBAAqB,eAAc,CAAE,aAAa,uDAAuD;CAClI;CACA,IAAI,gBAAgB;EAClB,GAAG;EACH,SAAS;GACP,GAAG,mBAAmB,QAAQ,mBAAmB,KAAK,IAAI,KAAK,IAAI,eAAe;GAClF,gBAAgB,CACd,mBAAmB,IAAI,IAAI,CACzB,IAAI,QAAQ,mBAAmB,QAAQ,mBAAmB,KAAK,IAAI,KAAK,KAAK,yBAAyB,eAAe,aAAa,QAAQ,2BAA2B,KAAK,IAAI,KAAK,IAAI,uBAAuB,oBAAoB,QAAQ,UAAU,KAAK,IAAI,QAAQ,CAAC,GACtQ,GAAG,qBACL,CAAC,CACH;EACF;EACA,UAAU;GACR,GAAG,mBAAmB,QAAQ,mBAAmB,KAAK,IAAI,KAAK,IAAI,eAAe;GAClF;GACA;GACA,YAAY;GACZ,WAAW,CACT,mBAAmB,IAAI,IAAI;IACzB,IAAI,QAAQ,mBAAmB,QAAQ,mBAAmB,KAAK,IAAI,KAAK,KAAK,2BAA2B,eAAe,cAAc,QAAQ,6BAA6B,KAAK,IAAI,KAAK,IAAI,yBAAyB,eAAe,QAAQ,UAAU,KAAK,IAAI,QAAQ,CAAC;IACxQ;IACA;GACF,CAAC,CACH;GACA,gBAAgB,SAAS,eAAe,SAAS,YAAY,UAAU;IACrE,IAAI;IACJ,IAAI,wBAAwB,mBAAmB,QAAQ,mBAAmB,KAAK,IAAI,KAAK,KAAK,2BAA2B,eAAe,cAAc,QAAQ,6BAA6B,KAAK,IAAI,KAAK,IAAI,yBAAyB,mBAAmB,QAAQ;IAChQ,IAAI,kBAAkB,eAAe,SAAS,GAAG;KAC/C,IAAI,kBAAkB,QAAQ,QAAQ,YAAY,cAAc,GAAG;MACjE,OAAO,qBAAqB,SAAS,qBAAqB,QAAQ;KACpE;IACF;IACA,IAAI,WAAW,WAAW,gBAAgB,GAAG;KAC3C,IAAI,kBAAkB;MACpB,GAAG;MACH,yBAAyB,QAAQ,wBAAwB,OAAO,SAAS,GAAG;OAC1E,OAAO,MAAM;MACf,CAAC;KACH;KACA,OAAO,qBAAqB,iBAAiB,YAAY,QAAQ;IACnE;IACA,IAAI,kBAAkB,2BAA2B,aAAa,QAAQ,kBAAkB,YAAY,QAAQ;IAC5G,IAAI,iBAAiB,OAAO;IAC5B,OAAO,qBAAqB,SAAS,YAAY,QAAQ;GAC3D;EACF;EACA,aAAa;GACX,GAAG,mBAAmB,QAAQ,mBAAmB,KAAK,IAAI,KAAK,IAAI,eAAe;GAIlF,8BAA8B;GAC9B,uBAAuB,GAAG,qBAAqB,eAAc,CAAE,aAAa,2CAA2C;EACzH;EAGA,GAAG,mBAAmB,EACpB,iBAAiB,iBACnB,IAAI,CAAC;EACL,UAAU,OAAO,GAAG,2BAA2B,oBAAmB,CAAE,WAAW;CACjF;CACA,IAAI,SAAS;EACX,GAAG;EACH,GAAG,OAAO,2BAA2B,aAAa,uBAAuB,aAAa,IAAI;CAC5F;CACA,OAAO;EACL,eAAe,yBAAyB,2BAA2B,QAAQ,WAAW,GAAG,iBAAiB,SAAS,kBAAkB,OAAO,aAAa,QAAQ,oBAAoB,KAAK,IAAI,KAAK,IAAI,gBAAgB,YAAY,QAAQ,UAAU,KAAK,IAAI,QAAQ,CAAC,GAAG,WAAW;EACrR;EACA;CACF;AACF;AACA,eAAe,6BAA6B,QAAQ,oBAAoB;CACtE,IAAI,MAAM,OAAO,OAAO;CACxB,IAAI,0BAA0B,yBAAyB,wBAAwB,0BAA0B;CACzG,IAAI,cAAc,CAAC;CACnB,IAAI,eAAe,GAAG,YAAY,QAAO,EAAG,QAAQ,2BAA2B,mBAAmB,UAAU,QAAQ,6BAA6B,KAAK,IAAI,KAAK,IAAI,yBAAyB,iBAAiB,QAAQ,SAAS,KAAK,IAAI,OAAO,OAAO,IAAI;CACzP,IAAI,EAAE,gBAAgB,MAAM,wBAAwB,UAAU,mBAAmB;CACjF,IAAI,cAAc,aAAa,QAAQ,aAAa,KAAK,IAAI,WAAW,MAAM,qBAAqB,WAAW;CAC9G,IAAI,aAAa,KAAK,KAAK,CAAC,eAAe,CAAC,8BAA8B;EACxE,+BAA+B;EAC/B,QAAQ,KAAK,2FAA2F;CAC1G;CACA,IAAI,EAAE,eAAe,OAAO,GAAG,qBAAqB,cAAa,CAAE,aAAa,OAAO;CACvF,IAAI,iBAAiB,4BAA4B,WAAW;CAC5D,IAAI,gBAAgB;EAClB,IAAI;EACJ,IAAI,yBAAyB,wBAAwB,eAAe,YAAY,QAAQ,0BAA0B,KAAK,IAAI,KAAK,IAAI,sBAAsB;EAC1J,IAAI,wBAAwB,SAAS,yBAAyB;GAC5D,OAAO;EACT;EACA,YAAY,2BAA2B;EACvC,eAAe,OAAO,oBAAoB,SAAS,KAAK;GACtD,IAAI;GACJ,IAAI,0BAA0B,GAAG,GAAG;IAClC,OAAO,2BAA2B,KAAK,qBAAqB;GAC9D;GACA,QAAQ,QAAQ,0BAA0B,QAAQ,0BAA0B,KAAK,IAAI,KAAK,IAAI,sBAAsB,GAAG,OAAO,QAAQ,UAAU,KAAK,IAAI,QAAQ;EACnK;CACF;CACA,IAAI,oBAAoB,mBAAmB,QAAQ,mBAAmB,KAAK,IAAI,KAAK,KAAK,0BAA0B,eAAe,cAAc,QAAQ,4BAA4B,KAAK,IAAI,KAAK,IAAI,wBAAwB;CAC9N,IAAI,YAAY,CACd,GAAG,oBAAoB,MAAM,QAAQ,iBAAiB,IAAI,oBAAoB,CAC5E,iBACF,IAAI,CAAC,GACL,GAAG,oBACL;CACA,IAAI,EAAE,uBAAuB,wBAAwB,aAAa,kBAAkB;CACpF,IAAI;CACJ,IAAI,oBAAoB;EACtB,oBAAoB,GAAG,qBAAqB,eAAc,CAAE,aAAa,uDAAuD;CAClI;CACA,IAAI,gBAAgB;EAClB,GAAG;EACH,SAAS;GACP,GAAG,mBAAmB,QAAQ,mBAAmB,KAAK,IAAI,KAAK,IAAI,eAAe;GAClF,gBAAgB,CACd,mBAAmB,IAAI,IAAI,CACzB,IAAI,QAAQ,mBAAmB,QAAQ,mBAAmB,KAAK,IAAI,KAAK,KAAK,yBAAyB,eAAe,aAAa,QAAQ,2BAA2B,KAAK,IAAI,KAAK,IAAI,uBAAuB,oBAAoB,QAAQ,UAAU,KAAK,IAAI,QAAQ,CAAC,GACtQ,GAAG,qBACL,CAAC,CACH;EACF;EACA,UAAU;GACR,GAAG,mBAAmB,QAAQ,mBAAmB,KAAK,IAAI,KAAK,IAAI,eAAe;GAClF;GACA;GACA,YAAY;GACZ,WAAW,CACT,mBAAmB,IAAI,IAAI;IACzB,IAAI,QAAQ,mBAAmB,QAAQ,mBAAmB,KAAK,IAAI,KAAK,KAAK,2BAA2B,eAAe,cAAc,QAAQ,6BAA6B,KAAK,IAAI,KAAK,IAAI,yBAAyB,eAAe,QAAQ,UAAU,KAAK,IAAI,QAAQ,CAAC;IACxQ;IACA;GACF,CAAC,CACH;GACA,gBAAgB,SAAS,eAAe,SAAS,YAAY,UAAU;IACrE,IAAI;IACJ,IAAI,wBAAwB,mBAAmB,QAAQ,mBAAmB,KAAK,IAAI,KAAK,KAAK,2BAA2B,eAAe,cAAc,QAAQ,6BAA6B,KAAK,IAAI,KAAK,IAAI,yBAAyB,mBAAmB,QAAQ;IAChQ,IAAI,kBAAkB,eAAe,SAAS,GAAG;KAC/C,IAAI,kBAAkB,QAAQ,QAAQ,YAAY,cAAc,GAAG;MACjE,OAAO,qBAAqB,SAAS,qBAAqB,QAAQ;KACpE;IACF;IACA,IAAI,WAAW,WAAW,gBAAgB,GAAG;KAC3C,IAAI,kBAAkB;MACpB,GAAG;MACH,yBAAyB,QAAQ,wBAAwB,OAAO,SAAS,GAAG;OAC1E,OAAO,MAAM;MACf,CAAC;KACH;KACA,OAAO,qBAAqB,iBAAiB,YAAY,QAAQ;IACnE;IACA,IAAI,kBAAkB,2BAA2B,aAAa,QAAQ,kBAAkB,YAAY,QAAQ;IAC5G,IAAI,iBAAiB,OAAO;IAC5B,OAAO,qBAAqB,SAAS,YAAY,QAAQ;GAC3D;EACF;EACA,aAAa;GACX,GAAG,mBAAmB,QAAQ,mBAAmB,KAAK,IAAI,KAAK,IAAI,eAAe;GAIlF,8BAA8B;GAC9B,uBAAuB,GAAG,qBAAqB,eAAc,CAAE,aAAa,2CAA2C;EACzH;EAGA,GAAG,mBAAmB,EACpB,iBAAiB,iBACnB,IAAI,CAAC;EACL,UAAU,OAAO,GAAG,2BAA2B,oBAAmB,CAAE,WAAW;CACjF;CACA,IAAI,cAAc,MAAM,WAAW;EACjC,KAAK;EACL;EACA,eAAe,CAAC,CAAC,QAAQ,IAAI;EAC7B,GAAG;CACL,GAAG;EACD,GAAG;EACH,GAAG,OAAO,2BAA2B,aAAa,uBAAuB,aAAa,IAAI;CAC5F,CAAC;CACD,OAAO;EACL,GAAG,yBAAyB,2BAA2B,aAAa,WAAW,GAAG,iBAAiB,SAAS,kBAAkB,OAAO,aAAa,QAAQ,oBAAoB,KAAK,IAAI,KAAK,IAAI,gBAAgB,YAAY,QAAQ,UAAU,KAAK,IAAI,QAAQ,CAAC,GAAG,WAAW;EAC9Q,GAAG;CACL;AACF"}
@@ -34,6 +34,7 @@ var import_node_module = require("node:module");
34
34
  var import_node_path = __toESM(require("node:path"), 1);
35
35
  var import_expoVirtualEnv = require("./expoVirtualEnv.cjs");
36
36
  var import_loadBabelConfig = require("./loadBabelConfig.cjs");
37
+ var import_rejectDOMDirective = require("./rejectDOMDirective.cjs");
37
38
  var import_transformSync = require("./transformSync.cjs");
38
39
  const debug = require("debug")("vxrn:metro-config:babel-transformer");
39
40
  function isCustomTruthy(value) {
@@ -87,6 +88,7 @@ function stringOrUndefined(value) {
87
88
  return typeof value === "string" ? value : void 0;
88
89
  }
89
90
  const transform = ({ filename, src: originalSrc, options, plugins }) => {
91
+ (0, import_rejectDOMDirective.rejectDOMDirective)(originalSrc, filename, options.platform);
90
92
  if (/\.(swift|kt)$/.test(filename)) {
91
93
  const requireFromProject = (0, import_node_module.createRequire)(import_node_path.default.resolve(options.projectRoot, "package.json"));
92
94
  const oneTransforms = requireFromProject("one/native-transforms");
@@ -147,7 +149,7 @@ const transform = ({ filename, src: originalSrc, options, plugins }) => {
147
149
  };
148
150
  function getCacheKey(options) {
149
151
  const hash = (0, import_node_crypto.createHash)("sha256");
150
- hash.update("vxrn-metro-babel-transformer-v2");
152
+ hash.update("vxrn-metro-babel-transformer-v3");
151
153
  const projectRoot = options?.projectRoot;
152
154
  if (!projectRoot) {
153
155
  return hash.digest("hex");
@@ -36,6 +36,7 @@ var import_module = require("module");
36
36
  var import_path = __toESM(require("path"), 1);
37
37
  var import_expoVirtualEnv = require("./expoVirtualEnv.native.js");
38
38
  var import_loadBabelConfig = require("./loadBabelConfig.native.js");
39
+ var import_rejectDOMDirective = require("./rejectDOMDirective.native.js");
39
40
  var import_transformSync = require("./transformSync.native.js");
40
41
  var debug = require("debug")("vxrn:metro-config:babel-transformer");
41
42
  function isCustomTruthy(value) {
@@ -96,6 +97,7 @@ function stringOrUndefined(value) {
96
97
  var transform = function transform2(param) {
97
98
  var { filename, src: originalSrc, options, plugins } = param;
98
99
  var _options_customTransformOptions, _options_customTransformOptions1;
100
+ (0, import_rejectDOMDirective.rejectDOMDirective)(originalSrc, filename, options.platform);
99
101
  if (/\.(swift|kt)$/.test(filename)) {
100
102
  var _options_platform;
101
103
  var requireFromProject = (0, import_module.createRequire)(import_path.default.resolve(options.projectRoot, "package.json"));
@@ -157,7 +159,7 @@ var transform = function transform2(param) {
157
159
  };
158
160
  function getCacheKey(options) {
159
161
  var hash = (0, import_crypto.createHash)("sha256");
160
- hash.update("vxrn-metro-babel-transformer-v2");
162
+ hash.update("vxrn-metro-babel-transformer-v3");
161
163
  var projectRoot = options === null || options === void 0 ? void 0 : options.projectRoot;
162
164
  if (!projectRoot) {
163
165
  return hash.digest("hex");
@@ -36,6 +36,7 @@ var import_module = require("module");
36
36
  var import_path = __toESM(require("path"), 1);
37
37
  var import_expoVirtualEnv = require("./expoVirtualEnv.native.js");
38
38
  var import_loadBabelConfig = require("./loadBabelConfig.native.js");
39
+ var import_rejectDOMDirective = require("./rejectDOMDirective.native.js");
39
40
  var import_transformSync = require("./transformSync.native.js");
40
41
  var debug = require("debug")("vxrn:metro-config:babel-transformer");
41
42
  function isCustomTruthy(value) {
@@ -96,6 +97,7 @@ function stringOrUndefined(value) {
96
97
  var transform = function transform2(param) {
97
98
  var { filename, src: originalSrc, options, plugins } = param;
98
99
  var _options_customTransformOptions, _options_customTransformOptions1;
100
+ (0, import_rejectDOMDirective.rejectDOMDirective)(originalSrc, filename, options.platform);
99
101
  if (/\.(swift|kt)$/.test(filename)) {
100
102
  var _options_platform;
101
103
  var requireFromProject = (0, import_module.createRequire)(import_path.default.resolve(options.projectRoot, "package.json"));
@@ -157,7 +159,7 @@ var transform = function transform2(param) {
157
159
  };
158
160
  function getCacheKey(options) {
159
161
  var hash = (0, import_crypto.createHash)("sha256");
160
- hash.update("vxrn-metro-babel-transformer-v2");
162
+ hash.update("vxrn-metro-babel-transformer-v3");
161
163
  var projectRoot = options === null || options === void 0 ? void 0 : options.projectRoot;
162
164
  if (!projectRoot) {
163
165
  return hash.digest("hex");