@vxrn/vite-plugin-metro 2.0.0-beta.136.1 → 2.0.0-beta.138.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. package/dist/cjs/metro-config/getMetroConfigFromViteConfig.cjs +12 -18
  2. package/dist/cjs/metro-config/getMetroConfigFromViteConfig.native.cjs +12 -18
  3. package/dist/cjs/metro-config/getMetroConfigFromViteConfig.native.js +12 -18
  4. package/dist/cjs/metro-config/getMetroConfigFromViteConfig.native.js.map +1 -1
  5. package/dist/cjs/transformer/babel-transformer.cjs +7 -1
  6. package/dist/cjs/transformer/babel-transformer.native.cjs +8 -1
  7. package/dist/cjs/transformer/babel-transformer.native.js +8 -1
  8. package/dist/cjs/transformer/babel-transformer.native.js.map +1 -1
  9. package/dist/cjs/transformer/metroNativeWorker.cjs +6 -1
  10. package/dist/cjs/transformer/metroNativeWorker.native.cjs +7 -1
  11. package/dist/cjs/transformer/metroNativeWorker.native.js +7 -1
  12. package/dist/cjs/transformer/metroNativeWorker.native.js.map +1 -1
  13. package/dist/esm/metro-config/getMetroConfigFromViteConfig.mjs +12 -18
  14. package/dist/esm/metro-config/getMetroConfigFromViteConfig.mjs.map +1 -1
  15. package/dist/esm/metro-config/getMetroConfigFromViteConfig.native.js +12 -18
  16. package/dist/esm/metro-config/getMetroConfigFromViteConfig.native.js.map +1 -1
  17. package/dist/esm/transformer/babel-transformer.mjs +7 -1
  18. package/dist/esm/transformer/babel-transformer.mjs.map +1 -1
  19. package/dist/esm/transformer/babel-transformer.native.js +8 -1
  20. package/dist/esm/transformer/babel-transformer.native.js.map +1 -1
  21. package/dist/esm/transformer/metroNativeWorker.mjs +6 -1
  22. package/dist/esm/transformer/metroNativeWorker.mjs.map +1 -1
  23. package/dist/esm/transformer/metroNativeWorker.native.js +7 -1
  24. package/dist/esm/transformer/metroNativeWorker.native.js.map +1 -1
  25. package/package.json +4 -4
  26. package/src/metro-config/getMetroConfigFromViteConfig.ts +4 -2
  27. package/src/transformer/babel-transformer.ts +21 -1
  28. package/src/transformer/metroNativeWorker.ts +18 -2
  29. package/src/transformer/swiftPackageTransform.test.ts +48 -0
  30. package/types/metro-config/getMetroConfigFromViteConfig.d.ts.map +1 -1
  31. package/types/transformer/babel-transformer.d.ts.map +1 -1
  32. package/types/transformer/metroNativeWorker.d.ts.map +1 -1
@@ -44,6 +44,16 @@ const expoEnvAdditionalExts = [
44
44
  "local",
45
45
  "development"
46
46
  ];
47
+ const metroSourceExts = [
48
+ "js",
49
+ "jsx",
50
+ "json",
51
+ "ts",
52
+ "tsx",
53
+ "mjs",
54
+ "cjs",
55
+ "swift"
56
+ ];
47
57
  const watchmanResponsivePromises = /* @__PURE__ */ new Map();
48
58
  let didWarnAboutWatchmanFallback = false;
49
59
  const rootIndexBundleRequestPattern = /^(https?:\/\/[^/]+)?\/index\.bundle(?=$|[?#])/;
@@ -189,15 +199,7 @@ async function buildMetroConfigInputFromViteConfig(config, metroPluginOptions) {
189
199
  ..._defaultConfig?.resolver,
190
200
  useWatchman,
191
201
  blockList,
192
- sourceExts: [
193
- "js",
194
- "jsx",
195
- "json",
196
- "ts",
197
- "tsx",
198
- "mjs",
199
- "cjs"
200
- ],
202
+ sourceExts: metroSourceExts,
201
203
  resolveRequest: (context, moduleName, platform) => {
202
204
  const origResolveRequestFn = _defaultConfig?.resolver?.resolveRequest || context.resolveRequest;
203
205
  if (excludeModules && excludeModules.length > 0) {
@@ -272,15 +274,7 @@ async function getMetroConfigFromViteConfig(config, metroPluginOptions) {
272
274
  ..._defaultConfig?.resolver,
273
275
  useWatchman,
274
276
  blockList,
275
- sourceExts: [
276
- "js",
277
- "jsx",
278
- "json",
279
- "ts",
280
- "tsx",
281
- "mjs",
282
- "cjs"
283
- ],
277
+ sourceExts: metroSourceExts,
284
278
  resolveRequest: (context, moduleName, platform) => {
285
279
  const origResolveRequestFn = _defaultConfig?.resolver?.resolveRequest || context.resolveRequest;
286
280
  if (excludeModules && excludeModules.length > 0) {
@@ -46,6 +46,16 @@ var expoEnvAdditionalExts = [
46
46
  "local",
47
47
  "development"
48
48
  ];
49
+ var metroSourceExts = [
50
+ "js",
51
+ "jsx",
52
+ "json",
53
+ "ts",
54
+ "tsx",
55
+ "mjs",
56
+ "cjs",
57
+ "swift"
58
+ ];
49
59
  var watchmanResponsivePromises = /* @__PURE__ */ new Map();
50
60
  var didWarnAboutWatchmanFallback = false;
51
61
  var rootIndexBundleRequestPattern = /^(https?:\/\/[^/]+)?\/index\.bundle(?=$|[?#])/;
@@ -201,15 +211,7 @@ async function buildMetroConfigInputFromViteConfig(config, metroPluginOptions) {
201
211
  ..._defaultConfig === null || _defaultConfig === void 0 ? void 0 : _defaultConfig.resolver,
202
212
  useWatchman,
203
213
  blockList,
204
- sourceExts: [
205
- "js",
206
- "jsx",
207
- "json",
208
- "ts",
209
- "tsx",
210
- "mjs",
211
- "cjs"
212
- ],
214
+ sourceExts: metroSourceExts,
213
215
  resolveRequest: function(context, moduleName, platform) {
214
216
  var _defaultConfig_resolver2;
215
217
  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;
@@ -293,15 +295,7 @@ async function getMetroConfigFromViteConfig(config, metroPluginOptions) {
293
295
  ..._defaultConfig === null || _defaultConfig === void 0 ? void 0 : _defaultConfig.resolver,
294
296
  useWatchman,
295
297
  blockList,
296
- sourceExts: [
297
- "js",
298
- "jsx",
299
- "json",
300
- "ts",
301
- "tsx",
302
- "mjs",
303
- "cjs"
304
- ],
298
+ sourceExts: metroSourceExts,
305
299
  resolveRequest: function(context, moduleName, platform) {
306
300
  var _defaultConfig_resolver2;
307
301
  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;
@@ -46,6 +46,16 @@ var expoEnvAdditionalExts = [
46
46
  "local",
47
47
  "development"
48
48
  ];
49
+ var metroSourceExts = [
50
+ "js",
51
+ "jsx",
52
+ "json",
53
+ "ts",
54
+ "tsx",
55
+ "mjs",
56
+ "cjs",
57
+ "swift"
58
+ ];
49
59
  var watchmanResponsivePromises = /* @__PURE__ */ new Map();
50
60
  var didWarnAboutWatchmanFallback = false;
51
61
  var rootIndexBundleRequestPattern = /^(https?:\/\/[^/]+)?\/index\.bundle(?=$|[?#])/;
@@ -201,15 +211,7 @@ async function buildMetroConfigInputFromViteConfig(config, metroPluginOptions) {
201
211
  ..._defaultConfig === null || _defaultConfig === void 0 ? void 0 : _defaultConfig.resolver,
202
212
  useWatchman,
203
213
  blockList,
204
- sourceExts: [
205
- "js",
206
- "jsx",
207
- "json",
208
- "ts",
209
- "tsx",
210
- "mjs",
211
- "cjs"
212
- ],
214
+ sourceExts: metroSourceExts,
213
215
  resolveRequest: function(context, moduleName, platform) {
214
216
  var _defaultConfig_resolver2;
215
217
  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;
@@ -293,15 +295,7 @@ async function getMetroConfigFromViteConfig(config, metroPluginOptions) {
293
295
  ..._defaultConfig === null || _defaultConfig === void 0 ? void 0 : _defaultConfig.resolver,
294
296
  useWatchman,
295
297
  blockList,
296
- sourceExts: [
297
- "js",
298
- "jsx",
299
- "json",
300
- "ts",
301
- "tsx",
302
- "mjs",
303
- "cjs"
304
- ],
298
+ sourceExts: metroSourceExts,
305
299
  resolveRequest: function(context, moduleName, platform) {
306
300
  var _defaultConfig_resolver2;
307
301
  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;
@@ -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 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 return enforceWorkspaceVisibility((0, import_metro_config.getDefaultConfig)(projectRoot), projectRoot);\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 enforceBareMainModuleEntry(config, mainModuleName) {\n var _config_resolver;\n if (!mainModuleName || !isBareSpecifier(mainModuleName)) return config;\n var innerResolveRequest = config === null || config === void 0 ? void 0 : (_config_resolver = config.resolver) === null || _config_resolver === void 0 ? void 0 : _config_resolver.resolveRequest;\n return {\n ...config,\n resolver: {\n ...config === null || config === void 0 ? void 0 : config.resolver,\n resolveRequest: function(context, moduleName, platform) {\n var bareMain = bareMainModuleForRequest(moduleName, mainModuleName);\n var resolveRequest = innerResolveRequest || context.resolveRequest;\n return resolveRequest(context, bareMain !== null && bareMain !== void 0 ? bareMain : moduleName, 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(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;\n var _metroPluginOptions_argv, _defaultConfig_resolver, _defaultConfig_watcher;\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() {\n return mainModuleName;\n };\n extraConfig.getResolveMainModuleName = resolveMainModuleName;\n _defaultConfig.server.rewriteRequestUrl = function(url) {\n var _ref2;\n if (isMainModuleBundleRequest(url)) {\n return rewriteMainModuleBundleUrl(url, resolveMainModuleName);\n }\n return (_ref2 = origRewriteRequestUrl === null || origRewriteRequestUrl === void 0 ? void 0 : origRewriteRequestUrl(url)) !== null && _ref2 !== void 0 ? _ref2 : 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: [\n \"js\",\n \"jsx\",\n \"json\",\n \"ts\",\n \"tsx\",\n \"mjs\",\n \"cjs\"\n ],\n // `one` related packages are using `.mjs` extensions. This fixes `.native` files not being resolved correctly when `.mjs` files are present.\n resolveRequest: function(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/vite-plugin-metro/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: enforceBareMainModuleEntry(enforceWorkspaceVisibility(merged, projectRoot), mainModuleName),\n projectRoot,\n extraConfig\n };\n}\nasync function getMetroConfigFromViteConfig(config, metroPluginOptions) {\n var _ref, _ref1;\n var _metroPluginOptions_argv, _defaultConfig_resolver, _defaultConfig_watcher;\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() {\n return mainModuleName;\n };\n extraConfig.getResolveMainModuleName = resolveMainModuleName;\n _defaultConfig.server.rewriteRequestUrl = function(url) {\n var _ref2;\n if (isMainModuleBundleRequest(url)) {\n return rewriteMainModuleBundleUrl(url, resolveMainModuleName);\n }\n return (_ref2 = origRewriteRequestUrl === null || origRewriteRequestUrl === void 0 ? void 0 : origRewriteRequestUrl(url)) !== null && _ref2 !== void 0 ? _ref2 : 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: [\n \"js\",\n \"jsx\",\n \"json\",\n \"ts\",\n \"tsx\",\n \"mjs\",\n \"cjs\"\n ],\n // `one` related packages are using `.mjs` extensions. This somehow fixes `.native` files not being resolved correctly when `.mjs` files are present.\n resolveRequest: function(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/vite-plugin-metro/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 ...enforceBareMainModuleEntry(enforceWorkspaceVisibility(metroConfig, projectRoot), mainModuleName),\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_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];\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 return enforceWorkspaceVisibility((0, import_metro_config.getDefaultConfig)(projectRoot), projectRoot);\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 enforceBareMainModuleEntry(config, mainModuleName) {\n var _config_resolver;\n if (!mainModuleName || !isBareSpecifier(mainModuleName)) return config;\n var innerResolveRequest = config === null || config === void 0 ? void 0 : (_config_resolver = config.resolver) === null || _config_resolver === void 0 ? void 0 : _config_resolver.resolveRequest;\n return {\n ...config,\n resolver: {\n ...config === null || config === void 0 ? void 0 : config.resolver,\n resolveRequest: function(context, moduleName, platform) {\n var bareMain = bareMainModuleForRequest(moduleName, mainModuleName);\n var resolveRequest = innerResolveRequest || context.resolveRequest;\n return resolveRequest(context, bareMain !== null && bareMain !== void 0 ? bareMain : moduleName, 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(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;\n var _metroPluginOptions_argv, _defaultConfig_resolver, _defaultConfig_watcher;\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() {\n return mainModuleName;\n };\n extraConfig.getResolveMainModuleName = resolveMainModuleName;\n _defaultConfig.server.rewriteRequestUrl = function(url) {\n var _ref2;\n if (isMainModuleBundleRequest(url)) {\n return rewriteMainModuleBundleUrl(url, resolveMainModuleName);\n }\n return (_ref2 = origRewriteRequestUrl === null || origRewriteRequestUrl === void 0 ? void 0 : origRewriteRequestUrl(url)) !== null && _ref2 !== void 0 ? _ref2 : 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(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/vite-plugin-metro/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: enforceBareMainModuleEntry(enforceWorkspaceVisibility(merged, projectRoot), mainModuleName),\n projectRoot,\n extraConfig\n };\n}\nasync function getMetroConfigFromViteConfig(config, metroPluginOptions) {\n var _ref, _ref1;\n var _metroPluginOptions_argv, _defaultConfig_resolver, _defaultConfig_watcher;\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() {\n return mainModuleName;\n };\n extraConfig.getResolveMainModuleName = resolveMainModuleName;\n _defaultConfig.server.rewriteRequestUrl = function(url) {\n var _ref2;\n if (isMainModuleBundleRequest(url)) {\n return rewriteMainModuleBundleUrl(url, resolveMainModuleName);\n }\n return (_ref2 = origRewriteRequestUrl === null || origRewriteRequestUrl === void 0 ? void 0 : origRewriteRequestUrl(url)) !== null && _ref2 !== void 0 ? _ref2 : 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(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/vite-plugin-metro/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 ...enforceBareMainModuleEntry(enforceWorkspaceVisibility(metroConfig, projectRoot), mainModuleName),\n ...extraConfig\n };\n}\n//# sourceMappingURL=getMetroConfigFromViteConfig.js.map\n"],"mappings":"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"}
@@ -30,6 +30,7 @@ module.exports = __toCommonJS(babel_transformer_exports);
30
30
  var import_node_assert = __toESM(require("node:assert"), 1);
31
31
  var import_node_crypto = require("node:crypto");
32
32
  var import_node_fs = require("node:fs");
33
+ var import_node_module = require("node:module");
33
34
  var import_node_path = __toESM(require("node:path"), 1);
34
35
  var import_expoVirtualEnv = require("./expoVirtualEnv.cjs");
35
36
  var import_loadBabelConfig = require("./loadBabelConfig.cjs");
@@ -86,6 +87,11 @@ function stringOrUndefined(value) {
86
87
  return typeof value === "string" ? value : void 0;
87
88
  }
88
89
  const transform = ({ filename, src: originalSrc, options, plugins }) => {
90
+ if (filename.endsWith(".swift")) {
91
+ const requireFromProject = (0, import_node_module.createRequire)(import_node_path.default.resolve(options.projectRoot, "package.json"));
92
+ const oneTransforms = requireFromProject("one/native-transforms");
93
+ originalSrc = oneTransforms.renderSwiftPackageModule(import_node_path.default.isAbsolute(filename) ? filename : import_node_path.default.resolve(options.projectRoot, filename), options.platform ?? "", options.projectRoot).code;
94
+ }
89
95
  const src = (0, import_expoVirtualEnv.substituteExpoVirtualEnvSource)({
90
96
  filename,
91
97
  src: originalSrc,
@@ -141,7 +147,7 @@ const transform = ({ filename, src: originalSrc, options, plugins }) => {
141
147
  };
142
148
  function getCacheKey(options) {
143
149
  const hash = (0, import_node_crypto.createHash)("sha256");
144
- hash.update("vxrn-metro-babel-transformer-v1");
150
+ hash.update("vxrn-metro-babel-transformer-v2");
145
151
  const projectRoot = options?.projectRoot;
146
152
  if (!projectRoot) {
147
153
  return hash.digest("hex");
@@ -32,6 +32,7 @@ module.exports = __toCommonJS(babel_transformer_exports);
32
32
  var import_assert = __toESM(require("assert"), 1);
33
33
  var import_crypto = require("crypto");
34
34
  var import_fs = require("fs");
35
+ var import_module = require("module");
35
36
  var import_path = __toESM(require("path"), 1);
36
37
  var import_expoVirtualEnv = require("./expoVirtualEnv.native.js");
37
38
  var import_loadBabelConfig = require("./loadBabelConfig.native.js");
@@ -95,6 +96,12 @@ function stringOrUndefined(value) {
95
96
  var transform = function(param) {
96
97
  var { filename, src: originalSrc, options, plugins } = param;
97
98
  var _options_customTransformOptions, _options_customTransformOptions1;
99
+ if (filename.endsWith(".swift")) {
100
+ var _options_platform;
101
+ var requireFromProject = (0, import_module.createRequire)(import_path.default.resolve(options.projectRoot, "package.json"));
102
+ var oneTransforms = requireFromProject("one/native-transforms");
103
+ originalSrc = oneTransforms.renderSwiftPackageModule(import_path.default.isAbsolute(filename) ? filename : import_path.default.resolve(options.projectRoot, filename), (_options_platform = options.platform) !== null && _options_platform !== void 0 ? _options_platform : "", options.projectRoot).code;
104
+ }
98
105
  var src = (0, import_expoVirtualEnv.substituteExpoVirtualEnvSource)({
99
106
  filename,
100
107
  src: originalSrc,
@@ -150,7 +157,7 @@ var transform = function(param) {
150
157
  };
151
158
  function getCacheKey(options) {
152
159
  var hash = (0, import_crypto.createHash)("sha256");
153
- hash.update("vxrn-metro-babel-transformer-v1");
160
+ hash.update("vxrn-metro-babel-transformer-v2");
154
161
  var projectRoot = options === null || options === void 0 ? void 0 : options.projectRoot;
155
162
  if (!projectRoot) {
156
163
  return hash.digest("hex");
@@ -32,6 +32,7 @@ module.exports = __toCommonJS(babel_transformer_exports);
32
32
  var import_assert = __toESM(require("assert"), 1);
33
33
  var import_crypto = require("crypto");
34
34
  var import_fs = require("fs");
35
+ var import_module = require("module");
35
36
  var import_path = __toESM(require("path"), 1);
36
37
  var import_expoVirtualEnv = require("./expoVirtualEnv.native.js");
37
38
  var import_loadBabelConfig = require("./loadBabelConfig.native.js");
@@ -95,6 +96,12 @@ function stringOrUndefined(value) {
95
96
  var transform = function(param) {
96
97
  var { filename, src: originalSrc, options, plugins } = param;
97
98
  var _options_customTransformOptions, _options_customTransformOptions1;
99
+ if (filename.endsWith(".swift")) {
100
+ var _options_platform;
101
+ var requireFromProject = (0, import_module.createRequire)(import_path.default.resolve(options.projectRoot, "package.json"));
102
+ var oneTransforms = requireFromProject("one/native-transforms");
103
+ originalSrc = oneTransforms.renderSwiftPackageModule(import_path.default.isAbsolute(filename) ? filename : import_path.default.resolve(options.projectRoot, filename), (_options_platform = options.platform) !== null && _options_platform !== void 0 ? _options_platform : "", options.projectRoot).code;
104
+ }
98
105
  var src = (0, import_expoVirtualEnv.substituteExpoVirtualEnvSource)({
99
106
  filename,
100
107
  src: originalSrc,
@@ -150,7 +157,7 @@ var transform = function(param) {
150
157
  };
151
158
  function getCacheKey(options) {
152
159
  var hash = (0, import_crypto.createHash)("sha256");
153
- hash.update("vxrn-metro-babel-transformer-v1");
160
+ hash.update("vxrn-metro-babel-transformer-v2");
154
161
  var projectRoot = options === null || options === void 0 ? void 0 : options.projectRoot;
155
162
  if (!projectRoot) {
156
163
  return hash.digest("hex");
@@ -1 +1 @@
1
- {"version":3,"file":"babel-transformer.native.js","names":[],"sources":["cjs/transformer/babel-transformer.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 babel_transformer_exports = {};\n__export(babel_transformer_exports, {\n getCacheKey: () => getCacheKey\n});\nmodule.exports = __toCommonJS(babel_transformer_exports);\nvar import_assert = __toESM(require(\"assert\"), 1);\nvar import_crypto = require(\"crypto\");\nvar import_fs = require(\"fs\");\nvar import_path = __toESM(require(\"path\"), 1);\nvar import_expoVirtualEnv = require(\"./expoVirtualEnv\");\nvar import_loadBabelConfig = require(\"./loadBabelConfig\");\nvar import_transformSync = require(\"./transformSync\");\nvar debug = require(\"debug\")(\"vxrn:metro-config:babel-transformer\");\nfunction isCustomTruthy(value) {\n return String(value) === \"true\";\n}\nfunction memoize(fn) {\n var cache = /* @__PURE__ */ new Map();\n return function() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n var key = JSON.stringify(args);\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = fn(...args);\n cache.set(key, result);\n return result;\n };\n}\nvar memoizeWarning = memoize(function(message) {\n debug(message);\n});\nfunction getBabelCaller(param) {\n var { filename, options, oneViteMetroBabelConfig } = param;\n var _options_customTransformOptions, _options_customTransformOptions1, _options_customTransformOptions2, _options_customTransformOptions3, _options_customTransformOptions4, _options_customTransformOptions5, _options_customTransformOptions6, _options_customTransformOptions7, _options_customTransformOptions8;\n var isNodeModule = filename.includes(\"node_modules\");\n var isReactServer = ((_options_customTransformOptions = options.customTransformOptions) === null || _options_customTransformOptions === void 0 ? void 0 : _options_customTransformOptions.environment) === \"react-server\";\n var isGenericServer = ((_options_customTransformOptions1 = options.customTransformOptions) === null || _options_customTransformOptions1 === void 0 ? void 0 : _options_customTransformOptions1.environment) === \"node\";\n var isServer = isReactServer || isGenericServer;\n var routerRoot = typeof ((_options_customTransformOptions2 = options.customTransformOptions) === null || _options_customTransformOptions2 === void 0 ? void 0 : _options_customTransformOptions2.routerRoot) === \"string\" ? decodeURI(options.customTransformOptions.routerRoot) : void 0;\n if (routerRoot == null) {\n memoizeWarning(\"Warning: Missing transform.routerRoot option in Metro bundling request, falling back to `app` as routes directory.\");\n }\n return {\n name: \"metro\",\n bundler: \"metro\",\n platform: options.platform,\n // Empower the babel preset to know the env it's bundling for.\n // Metro automatically updates the cache to account for the custom transform options.\n isServer,\n // Enable React Server Component rules for AST. The naming maps to the resolver property `--conditions=react-server`.\n isReactServer,\n // The base url to make requests from, used for hosting from non-standard locations.\n baseUrl: typeof ((_options_customTransformOptions3 = options.customTransformOptions) === null || _options_customTransformOptions3 === void 0 ? void 0 : _options_customTransformOptions3.baseUrl) === \"string\" ? decodeURI(options.customTransformOptions.baseUrl) : \"\",\n // Ensure we always use a mostly-valid router root.\n routerRoot: routerRoot !== null && routerRoot !== void 0 ? routerRoot : \"app\",\n isDev: options.dev,\n // This value indicates if the user has disabled the feature or not.\n // Other criteria may still cause the feature to be disabled, but all inputs used are\n // already considered in the cache key.\n preserveEnvVars: isCustomTruthy((_options_customTransformOptions4 = options.customTransformOptions) === null || _options_customTransformOptions4 === void 0 ? void 0 : _options_customTransformOptions4.preserveEnvVars) ? true : void 0,\n asyncRoutes: isCustomTruthy((_options_customTransformOptions5 = options.customTransformOptions) === null || _options_customTransformOptions5 === void 0 ? void 0 : _options_customTransformOptions5.asyncRoutes) ? true : void 0,\n // Pass the engine to babel so we can automatically transpile for the correct\n // target environment.\n engine: stringOrUndefined((_options_customTransformOptions6 = options.customTransformOptions) === null || _options_customTransformOptions6 === void 0 ? void 0 : _options_customTransformOptions6.engine),\n // provide the project root for reading the app babel config\n projectRoot: options.projectRoot,\n oneViteMetroBabelConfig,\n isNodeModule,\n isHMREnabled: options.dev,\n // Set the standard Babel flag to disable ESM transformations.\n supportsStaticESM: isCustomTruthy((_options_customTransformOptions7 = options.customTransformOptions) === null || _options_customTransformOptions7 === void 0 ? void 0 : _options_customTransformOptions7.optimize) || options.experimentalImportSupport,\n // Enable React compiler support in Babel.\n // TODO: Remove this in the future when compiler is on by default.\n supportsReactCompiler: isCustomTruthy((_options_customTransformOptions8 = options.customTransformOptions) === null || _options_customTransformOptions8 === void 0 ? void 0 : _options_customTransformOptions8.reactCompiler) ? true : void 0\n };\n}\nfunction stringOrUndefined(value) {\n return typeof value === \"string\" ? value : void 0;\n}\nvar transform = function(param) {\n var {\n filename,\n src: originalSrc,\n options,\n // `plugins` is used for `functionMapBabelPlugin` from `metro-source-map`.\n plugins\n } = param;\n var _options_customTransformOptions, _options_customTransformOptions1;\n var src = (0, import_expoVirtualEnv.substituteExpoVirtualEnvSource)({\n filename,\n src: originalSrc,\n projectRoot: options.projectRoot,\n dev: options.dev,\n environment: (_options_customTransformOptions = options.customTransformOptions) === null || _options_customTransformOptions === void 0 ? void 0 : _options_customTransformOptions.environment\n });\n var viteCustomTransformOptions = (_options_customTransformOptions1 = options.customTransformOptions) === null || _options_customTransformOptions1 === void 0 ? void 0 : _options_customTransformOptions1.vite;\n var customOptionsFromVite = (function() {\n var c = viteCustomTransformOptions;\n if (!c || typeof c !== \"object\") {\n return {\n babelConfig: {}\n };\n }\n return c;\n })();\n var hasOneViteMetroBabelConfig = customOptionsFromVite.oneViteMetroBabelConfig === true;\n var babelConfigFromVitePlugin = customOptionsFromVite.babelConfig || {};\n var OLD_BABEL_ENV = process.env.BABEL_ENV;\n process.env.BABEL_ENV = options.dev ? \"development\" : process.env.BABEL_ENV || \"production\";\n try {\n var babelConfig = {\n // ES modules require sourceType='module' but OSS may not always want that\n sourceType: \"unambiguous\",\n // The output we want from Babel methods\n ast: true,\n code: false,\n // NOTE(EvanBacon): We split the parse/transform steps up to accommodate\n // Hermes parsing, but this defaults to cloning the AST which increases\n // the transformation time by a fair amount.\n // You get this behavior by default when using Babel's `transform` method directly.\n cloneInputAst: false,\n // Options for debugging\n cwd: options.projectRoot,\n filename,\n highlightCode: true,\n ...babelConfigFromVitePlugin,\n ...(0, import_loadBabelConfig.loadBabelConfig)(options),\n babelrc: typeof options.enableBabelRCLookup === \"boolean\" ? options.enableBabelRCLookup : true,\n plugins: [\n ...babelConfigFromVitePlugin.plugins || [],\n ...plugins\n ],\n // NOTE(EvanBacon): We heavily leverage the caller functionality to mutate the babel config.\n // This compensates for the lack of a format plugin system in Metro. Users can modify the\n // all (most) of the transforms in their local Babel config.\n // This also helps us keep the transform layers small and focused on a single task. We can also use this to\n // ensure the Babel config caching is more accurate.\n // moving everything babel-related to the preset also keeps the transform\n // requirements explicit for users who opt into babel.\n caller: getBabelCaller({\n filename,\n options,\n oneViteMetroBabelConfig: hasOneViteMetroBabelConfig\n })\n };\n var result = (0, import_transformSync.transformSync)(src, babelConfig, options);\n if (!result) {\n return {\n ast: null\n };\n }\n (0, import_assert.default)(result.ast);\n return {\n ast: result.ast,\n metadata: result.metadata\n };\n } finally {\n if (OLD_BABEL_ENV) {\n process.env.BABEL_ENV = OLD_BABEL_ENV;\n }\n }\n};\nfunction getCacheKey(options) {\n var hash = (0, import_crypto.createHash)(\"sha256\");\n hash.update(\"vxrn-metro-babel-transformer-v1\");\n var projectRoot = options === null || options === void 0 ? void 0 : options.projectRoot;\n if (!projectRoot) {\n return hash.digest(\"hex\");\n }\n hash.update(projectRoot);\n for (var _i = 0, _iter = [\n \".env\",\n \".env.development\",\n \".env.local\",\n \".env.development.local\"\n ]; _i < _iter.length; _i++) {\n var file = _iter[_i];\n var filename = import_path.default.join(projectRoot, file);\n hash.update(filename);\n try {\n hash.update((0, import_fs.readFileSync)(filename));\n } catch (error) {\n if (typeof error === \"object\" && error !== null && \"code\" in error && error.code === \"ENOENT\") {\n continue;\n }\n throw error;\n }\n }\n hash.update(JSON.stringify(Object.entries(process.env).filter(function(param) {\n var [key] = param;\n return key.startsWith(\"ONE_PUBLIC_\") || key.startsWith(\"EXPO_PUBLIC_\");\n }).sort(function(param, param1) {\n var [left] = param, [right] = param1;\n return left.localeCompare(right);\n })));\n return hash.digest(\"hex\");\n}\nvar babelTransformer = {\n transform,\n getCacheKey\n};\nmodule.exports = babelTransformer;\n//# sourceMappingURL=babel-transformer.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,4BAA4B,CAAC;AACjC,SAAS,2BAA2B,EAClC,mBAAmB,YACrB,CAAC;AACD,OAAO,UAAU,aAAa,yBAAyB;AACvD,IAAI,gBAAgB,QAAQ,QAAQ,QAAQ,GAAG,CAAC;AAChD,IAAI,gBAAgB,QAAQ,QAAQ;AACpC,IAAI,YAAY,QAAQ,IAAI;AAC5B,IAAI,cAAc,QAAQ,QAAQ,MAAM,GAAG,CAAC;AAC5C,IAAI,wBAAwB,QAAQ,4BAAkB;AACtD,IAAI,yBAAyB,QAAQ,6BAAmB;AACxD,IAAI,uBAAuB,QAAQ,2BAAiB;AACpD,IAAI,QAAQ,QAAQ,OAAO,CAAC,CAAC,qCAAqC;AAClE,SAAS,eAAe,OAAO;CAC7B,OAAO,OAAO,KAAK,MAAM;AAC3B;AACA,SAAS,QAAQ,IAAI;CACnB,IAAI,wBAAwB,IAAI,IAAI;CACpC,OAAO,WAAW;EAChB,KAAK,IAAI,OAAO,UAAU,QAAQ,OAAO,IAAI,MAAM,IAAI,GAAG,OAAO,GAAG,OAAO,MAAM,QAAQ;GACvF,KAAK,QAAQ,UAAU;EACzB;EACA,IAAI,MAAM,KAAK,UAAU,IAAI;EAC7B,IAAI,MAAM,IAAI,GAAG,GAAG;GAClB,OAAO,MAAM,IAAI,GAAG;EACtB;EACA,IAAI,SAAS,GAAG,GAAG,IAAI;EACvB,MAAM,IAAI,KAAK,MAAM;EACrB,OAAO;CACT;AACF;AACA,IAAI,iBAAiB,QAAQ,SAAS,SAAS;CAC7C,MAAM,OAAO;AACf,CAAC;AACD,SAAS,eAAe,OAAO;CAC7B,IAAI,EAAE,UAAU,SAAS,4BAA4B;CACrD,IAAI,iCAAiC,kCAAkC,kCAAkC,kCAAkC,kCAAkC,kCAAkC,kCAAkC,kCAAkC;CACnR,IAAI,eAAe,SAAS,SAAS,cAAc;CACnD,IAAI,kBAAkB,kCAAkC,QAAQ,4BAA4B,QAAQ,oCAAoC,KAAK,IAAI,KAAK,IAAI,gCAAgC,iBAAiB;CAC3M,IAAI,oBAAoB,mCAAmC,QAAQ,4BAA4B,QAAQ,qCAAqC,KAAK,IAAI,KAAK,IAAI,iCAAiC,iBAAiB;CAChN,IAAI,WAAW,iBAAiB;CAChC,IAAI,aAAa,SAAS,mCAAmC,QAAQ,4BAA4B,QAAQ,qCAAqC,KAAK,IAAI,KAAK,IAAI,iCAAiC,gBAAgB,WAAW,UAAU,QAAQ,uBAAuB,UAAU,IAAI,KAAK;CACxR,IAAI,cAAc,MAAM;EACtB,eAAe,oHAAoH;CACrI;CACA,OAAO;EACL,MAAM;EACN,SAAS;EACT,UAAU,QAAQ;EAGlB;EAEA;EAEA,SAAS,SAAS,mCAAmC,QAAQ,4BAA4B,QAAQ,qCAAqC,KAAK,IAAI,KAAK,IAAI,iCAAiC,aAAa,WAAW,UAAU,QAAQ,uBAAuB,OAAO,IAAI;EAErQ,YAAY,eAAe,QAAQ,eAAe,KAAK,IAAI,aAAa;EACxE,OAAO,QAAQ;EAIf,iBAAiB,gBAAgB,mCAAmC,QAAQ,4BAA4B,QAAQ,qCAAqC,KAAK,IAAI,KAAK,IAAI,iCAAiC,eAAe,IAAI,OAAO,KAAK;EACvO,aAAa,gBAAgB,mCAAmC,QAAQ,4BAA4B,QAAQ,qCAAqC,KAAK,IAAI,KAAK,IAAI,iCAAiC,WAAW,IAAI,OAAO,KAAK;EAG/N,QAAQ,mBAAmB,mCAAmC,QAAQ,4BAA4B,QAAQ,qCAAqC,KAAK,IAAI,KAAK,IAAI,iCAAiC,MAAM;EAExM,aAAa,QAAQ;EACrB;EACA;EACA,cAAc,QAAQ;EAEtB,mBAAmB,gBAAgB,mCAAmC,QAAQ,4BAA4B,QAAQ,qCAAqC,KAAK,IAAI,KAAK,IAAI,iCAAiC,QAAQ,KAAK,QAAQ;EAG/N,uBAAuB,gBAAgB,mCAAmC,QAAQ,4BAA4B,QAAQ,qCAAqC,KAAK,IAAI,KAAK,IAAI,iCAAiC,aAAa,IAAI,OAAO,KAAK;CAC7O;AACF;AACA,SAAS,kBAAkB,OAAO;CAChC,OAAO,OAAO,UAAU,WAAW,QAAQ,KAAK;AAClD;AACA,IAAI,YAAY,SAAS,OAAO;CAC9B,IAAI,EACF,UACA,KAAK,aACL,SAEA,YACE;CACJ,IAAI,iCAAiC;CACrC,IAAI,OAAO,GAAG,sBAAsB,+BAA8B,CAAE;EAClE;EACA,KAAK;EACL,aAAa,QAAQ;EACrB,KAAK,QAAQ;EACb,cAAc,kCAAkC,QAAQ,4BAA4B,QAAQ,oCAAoC,KAAK,IAAI,KAAK,IAAI,gCAAgC;CACpL,CAAC;CACD,IAAI,8BAA8B,mCAAmC,QAAQ,4BAA4B,QAAQ,qCAAqC,KAAK,IAAI,KAAK,IAAI,iCAAiC;CACzM,IAAI,yBAAyB,WAAW;EACtC,IAAI,IAAI;EACR,IAAI,CAAC,KAAK,OAAO,MAAM,UAAU;GAC/B,OAAO,EACL,aAAa,CAAC,EAChB;EACF;EACA,OAAO;CACT,EAAC,CAAE;CACH,IAAI,6BAA6B,sBAAsB,4BAA4B;CACnF,IAAI,4BAA4B,sBAAsB,eAAe,CAAC;CACtE,IAAI,gBAAgB,QAAQ,IAAI;CAChC,QAAQ,IAAI,YAAY,QAAQ,MAAM,gBAAgB,QAAQ,IAAI,aAAa;CAC/E,IAAI;EACF,IAAI,cAAc;GAEhB,YAAY;GAEZ,KAAK;GACL,MAAM;GAKN,eAAe;GAEf,KAAK,QAAQ;GACb;GACA,eAAe;GACf,GAAG;GACH,IAAI,GAAG,uBAAuB,gBAAe,CAAE,OAAO;GACtD,SAAS,OAAO,QAAQ,wBAAwB,YAAY,QAAQ,sBAAsB;GAC1F,SAAS,CACP,GAAG,0BAA0B,WAAW,CAAC,GACzC,GAAG,OACL;GAQA,QAAQ,eAAe;IACrB;IACA;IACA,yBAAyB;GAC3B,CAAC;EACH;EACA,IAAI,UAAU,GAAG,qBAAqB,cAAa,CAAE,KAAK,aAAa,OAAO;EAC9E,IAAI,CAAC,QAAQ;GACX,OAAO,EACL,KAAK,KACP;EACF;EACA,CAAC,GAAG,cAAc,QAAO,CAAE,OAAO,GAAG;EACrC,OAAO;GACL,KAAK,OAAO;GACZ,UAAU,OAAO;EACnB;CACF,UAAU;EACR,IAAI,eAAe;GACjB,QAAQ,IAAI,YAAY;EAC1B;CACF;AACF;AACA,SAAS,YAAY,SAAS;CAC5B,IAAI,QAAQ,GAAG,cAAc,WAAU,CAAE,QAAQ;CACjD,KAAK,OAAO,iCAAiC;CAC7C,IAAI,cAAc,YAAY,QAAQ,YAAY,KAAK,IAAI,KAAK,IAAI,QAAQ;CAC5E,IAAI,CAAC,aAAa;EAChB,OAAO,KAAK,OAAO,KAAK;CAC1B;CACA,KAAK,OAAO,WAAW;CACvB,KAAK,IAAI,KAAK,GAAG,QAAQ;EACvB;EACA;EACA;EACA;CACF,GAAG,KAAK,MAAM,QAAQ,MAAM;EAC1B,IAAI,OAAO,MAAM;EACjB,IAAI,WAAW,YAAY,QAAQ,KAAK,aAAa,IAAI;EACzD,KAAK,OAAO,QAAQ;EACpB,IAAI;GACF,KAAK,QAAQ,GAAG,UAAU,aAAY,CAAE,QAAQ,CAAC;EACnD,SAAS,OAAO;GACd,IAAI,OAAO,UAAU,YAAY,UAAU,QAAQ,UAAU,SAAS,MAAM,SAAS,UAAU;IAC7F;GACF;GACA,MAAM;EACR;CACF;CACA,KAAK,OAAO,KAAK,UAAU,OAAO,QAAQ,QAAQ,GAAG,CAAC,CAAC,OAAO,SAAS,OAAO;EAC5E,IAAI,CAAC,OAAO;EACZ,OAAO,IAAI,WAAW,aAAa,KAAK,IAAI,WAAW,cAAc;CACvE,CAAC,CAAC,CAAC,KAAK,SAAS,OAAO,QAAQ;EAC9B,IAAI,CAAC,QAAQ,OAAO,CAAC,SAAS;EAC9B,OAAO,KAAK,cAAc,KAAK;CACjC,CAAC,CAAC,CAAC;CACH,OAAO,KAAK,OAAO,KAAK;AAC1B;AACA,IAAI,mBAAmB;CACrB;CACA;AACF;AACA,OAAO,UAAU"}
1
+ {"version":3,"file":"babel-transformer.native.js","names":[],"sources":["cjs/transformer/babel-transformer.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 babel_transformer_exports = {};\n__export(babel_transformer_exports, {\n getCacheKey: () => getCacheKey\n});\nmodule.exports = __toCommonJS(babel_transformer_exports);\nvar import_assert = __toESM(require(\"assert\"), 1);\nvar import_crypto = require(\"crypto\");\nvar import_fs = require(\"fs\");\nvar import_module = require(\"module\");\nvar import_path = __toESM(require(\"path\"), 1);\nvar import_expoVirtualEnv = require(\"./expoVirtualEnv\");\nvar import_loadBabelConfig = require(\"./loadBabelConfig\");\nvar import_transformSync = require(\"./transformSync\");\nvar debug = require(\"debug\")(\"vxrn:metro-config:babel-transformer\");\nfunction isCustomTruthy(value) {\n return String(value) === \"true\";\n}\nfunction memoize(fn) {\n var cache = /* @__PURE__ */ new Map();\n return function() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n var key = JSON.stringify(args);\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = fn(...args);\n cache.set(key, result);\n return result;\n };\n}\nvar memoizeWarning = memoize(function(message) {\n debug(message);\n});\nfunction getBabelCaller(param) {\n var { filename, options, oneViteMetroBabelConfig } = param;\n var _options_customTransformOptions, _options_customTransformOptions1, _options_customTransformOptions2, _options_customTransformOptions3, _options_customTransformOptions4, _options_customTransformOptions5, _options_customTransformOptions6, _options_customTransformOptions7, _options_customTransformOptions8;\n var isNodeModule = filename.includes(\"node_modules\");\n var isReactServer = ((_options_customTransformOptions = options.customTransformOptions) === null || _options_customTransformOptions === void 0 ? void 0 : _options_customTransformOptions.environment) === \"react-server\";\n var isGenericServer = ((_options_customTransformOptions1 = options.customTransformOptions) === null || _options_customTransformOptions1 === void 0 ? void 0 : _options_customTransformOptions1.environment) === \"node\";\n var isServer = isReactServer || isGenericServer;\n var routerRoot = typeof ((_options_customTransformOptions2 = options.customTransformOptions) === null || _options_customTransformOptions2 === void 0 ? void 0 : _options_customTransformOptions2.routerRoot) === \"string\" ? decodeURI(options.customTransformOptions.routerRoot) : void 0;\n if (routerRoot == null) {\n memoizeWarning(\"Warning: Missing transform.routerRoot option in Metro bundling request, falling back to `app` as routes directory.\");\n }\n return {\n name: \"metro\",\n bundler: \"metro\",\n platform: options.platform,\n // Empower the babel preset to know the env it's bundling for.\n // Metro automatically updates the cache to account for the custom transform options.\n isServer,\n // Enable React Server Component rules for AST. The naming maps to the resolver property `--conditions=react-server`.\n isReactServer,\n // The base url to make requests from, used for hosting from non-standard locations.\n baseUrl: typeof ((_options_customTransformOptions3 = options.customTransformOptions) === null || _options_customTransformOptions3 === void 0 ? void 0 : _options_customTransformOptions3.baseUrl) === \"string\" ? decodeURI(options.customTransformOptions.baseUrl) : \"\",\n // Ensure we always use a mostly-valid router root.\n routerRoot: routerRoot !== null && routerRoot !== void 0 ? routerRoot : \"app\",\n isDev: options.dev,\n // This value indicates if the user has disabled the feature or not.\n // Other criteria may still cause the feature to be disabled, but all inputs used are\n // already considered in the cache key.\n preserveEnvVars: isCustomTruthy((_options_customTransformOptions4 = options.customTransformOptions) === null || _options_customTransformOptions4 === void 0 ? void 0 : _options_customTransformOptions4.preserveEnvVars) ? true : void 0,\n asyncRoutes: isCustomTruthy((_options_customTransformOptions5 = options.customTransformOptions) === null || _options_customTransformOptions5 === void 0 ? void 0 : _options_customTransformOptions5.asyncRoutes) ? true : void 0,\n // Pass the engine to babel so we can automatically transpile for the correct\n // target environment.\n engine: stringOrUndefined((_options_customTransformOptions6 = options.customTransformOptions) === null || _options_customTransformOptions6 === void 0 ? void 0 : _options_customTransformOptions6.engine),\n // provide the project root for reading the app babel config\n projectRoot: options.projectRoot,\n oneViteMetroBabelConfig,\n isNodeModule,\n isHMREnabled: options.dev,\n // Set the standard Babel flag to disable ESM transformations.\n supportsStaticESM: isCustomTruthy((_options_customTransformOptions7 = options.customTransformOptions) === null || _options_customTransformOptions7 === void 0 ? void 0 : _options_customTransformOptions7.optimize) || options.experimentalImportSupport,\n // Enable React compiler support in Babel.\n // TODO: Remove this in the future when compiler is on by default.\n supportsReactCompiler: isCustomTruthy((_options_customTransformOptions8 = options.customTransformOptions) === null || _options_customTransformOptions8 === void 0 ? void 0 : _options_customTransformOptions8.reactCompiler) ? true : void 0\n };\n}\nfunction stringOrUndefined(value) {\n return typeof value === \"string\" ? value : void 0;\n}\nvar transform = function(param) {\n var {\n filename,\n src: originalSrc,\n options,\n // `plugins` is used for `functionMapBabelPlugin` from `metro-source-map`.\n plugins\n } = param;\n var _options_customTransformOptions, _options_customTransformOptions1;\n if (filename.endsWith(\".swift\")) {\n var _options_platform;\n var requireFromProject = (0, import_module.createRequire)(import_path.default.resolve(options.projectRoot, \"package.json\"));\n var oneTransforms = requireFromProject(\"one/native-transforms\");\n originalSrc = oneTransforms.renderSwiftPackageModule(import_path.default.isAbsolute(filename) ? filename : import_path.default.resolve(options.projectRoot, filename), (_options_platform = options.platform) !== null && _options_platform !== void 0 ? _options_platform : \"\", options.projectRoot).code;\n }\n var src = (0, import_expoVirtualEnv.substituteExpoVirtualEnvSource)({\n filename,\n src: originalSrc,\n projectRoot: options.projectRoot,\n dev: options.dev,\n environment: (_options_customTransformOptions = options.customTransformOptions) === null || _options_customTransformOptions === void 0 ? void 0 : _options_customTransformOptions.environment\n });\n var viteCustomTransformOptions = (_options_customTransformOptions1 = options.customTransformOptions) === null || _options_customTransformOptions1 === void 0 ? void 0 : _options_customTransformOptions1.vite;\n var customOptionsFromVite = (function() {\n var c = viteCustomTransformOptions;\n if (!c || typeof c !== \"object\") {\n return {\n babelConfig: {}\n };\n }\n return c;\n })();\n var hasOneViteMetroBabelConfig = customOptionsFromVite.oneViteMetroBabelConfig === true;\n var babelConfigFromVitePlugin = customOptionsFromVite.babelConfig || {};\n var OLD_BABEL_ENV = process.env.BABEL_ENV;\n process.env.BABEL_ENV = options.dev ? \"development\" : process.env.BABEL_ENV || \"production\";\n try {\n var babelConfig = {\n // ES modules require sourceType='module' but OSS may not always want that\n sourceType: \"unambiguous\",\n // The output we want from Babel methods\n ast: true,\n code: false,\n // NOTE(EvanBacon): We split the parse/transform steps up to accommodate\n // Hermes parsing, but this defaults to cloning the AST which increases\n // the transformation time by a fair amount.\n // You get this behavior by default when using Babel's `transform` method directly.\n cloneInputAst: false,\n // Options for debugging\n cwd: options.projectRoot,\n filename,\n highlightCode: true,\n ...babelConfigFromVitePlugin,\n ...(0, import_loadBabelConfig.loadBabelConfig)(options),\n babelrc: typeof options.enableBabelRCLookup === \"boolean\" ? options.enableBabelRCLookup : true,\n plugins: [\n ...babelConfigFromVitePlugin.plugins || [],\n ...plugins\n ],\n // NOTE(EvanBacon): We heavily leverage the caller functionality to mutate the babel config.\n // This compensates for the lack of a format plugin system in Metro. Users can modify the\n // all (most) of the transforms in their local Babel config.\n // This also helps us keep the transform layers small and focused on a single task. We can also use this to\n // ensure the Babel config caching is more accurate.\n // moving everything babel-related to the preset also keeps the transform\n // requirements explicit for users who opt into babel.\n caller: getBabelCaller({\n filename,\n options,\n oneViteMetroBabelConfig: hasOneViteMetroBabelConfig\n })\n };\n var result = (0, import_transformSync.transformSync)(src, babelConfig, options);\n if (!result) {\n return {\n ast: null\n };\n }\n (0, import_assert.default)(result.ast);\n return {\n ast: result.ast,\n metadata: result.metadata\n };\n } finally {\n if (OLD_BABEL_ENV) {\n process.env.BABEL_ENV = OLD_BABEL_ENV;\n }\n }\n};\nfunction getCacheKey(options) {\n var hash = (0, import_crypto.createHash)(\"sha256\");\n hash.update(\"vxrn-metro-babel-transformer-v2\");\n var projectRoot = options === null || options === void 0 ? void 0 : options.projectRoot;\n if (!projectRoot) {\n return hash.digest(\"hex\");\n }\n hash.update(projectRoot);\n for (var _i = 0, _iter = [\n \".env\",\n \".env.development\",\n \".env.local\",\n \".env.development.local\"\n ]; _i < _iter.length; _i++) {\n var file = _iter[_i];\n var filename = import_path.default.join(projectRoot, file);\n hash.update(filename);\n try {\n hash.update((0, import_fs.readFileSync)(filename));\n } catch (error) {\n if (typeof error === \"object\" && error !== null && \"code\" in error && error.code === \"ENOENT\") {\n continue;\n }\n throw error;\n }\n }\n hash.update(JSON.stringify(Object.entries(process.env).filter(function(param) {\n var [key] = param;\n return key.startsWith(\"ONE_PUBLIC_\") || key.startsWith(\"EXPO_PUBLIC_\");\n }).sort(function(param, param1) {\n var [left] = param, [right] = param1;\n return left.localeCompare(right);\n })));\n return hash.digest(\"hex\");\n}\nvar babelTransformer = {\n transform,\n getCacheKey\n};\nmodule.exports = babelTransformer;\n//# sourceMappingURL=babel-transformer.js.map\n"],"mappings":"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"}
@@ -102,7 +102,7 @@ function collectModuleLiteralBindings(program) {
102
102
  }
103
103
  return bindings;
104
104
  }
105
- const WORKER_CACHE_KEY_VERSION = "5";
105
+ const WORKER_CACHE_KEY_VERSION = "6";
106
106
  function langForFilename(filename) {
107
107
  if (filename.endsWith(".tsx")) return "tsx";
108
108
  if (filename.endsWith(".ts")) return "ts";
@@ -1135,6 +1135,11 @@ async function configureWorkletsForWorker(projectRoot) {
1135
1135
  async function transform(config, projectRoot, filename, data, options) {
1136
1136
  assertNoUnportedBabelPlugins(options);
1137
1137
  let sourceCode = typeof data === "string" ? data : data.toString("utf8");
1138
+ if (filename.endsWith(".swift")) {
1139
+ const oneTransforms = loadOneNativeTransforms(projectRoot);
1140
+ if (!oneTransforms) throw new Error(`[vxrn/metro] ${filename} requires One native transforms`);
1141
+ sourceCode = oneTransforms.renderSwiftPackageModule(import_node_path.default.isAbsolute(filename) ? filename : import_node_path.default.resolve(projectRoot, filename), options.platform ?? "", projectRoot).code;
1142
+ }
1138
1143
  sourceCode = (0, import_expoVirtualEnv.substituteExpoVirtualEnvSource)({
1139
1144
  filename,
1140
1145
  src: sourceCode,
@@ -226,7 +226,7 @@ function collectModuleLiteralBindings(program) {
226
226
  }
227
227
  return bindings;
228
228
  }
229
- var WORKER_CACHE_KEY_VERSION = "5";
229
+ var WORKER_CACHE_KEY_VERSION = "6";
230
230
  function langForFilename(filename) {
231
231
  if (filename.endsWith(".tsx")) return "tsx";
232
232
  if (filename.endsWith(".ts")) return "ts";
@@ -2041,6 +2041,12 @@ async function transform(config, projectRoot, filename, data, options) {
2041
2041
  var _options_customTransformOptions, _options_customTransformOptions1, _options_customTransformOptions2, _oxcRes_errors;
2042
2042
  assertNoUnportedBabelPlugins(options);
2043
2043
  var sourceCode = typeof data === "string" ? data : data.toString("utf8");
2044
+ if (filename.endsWith(".swift")) {
2045
+ var _options_platform;
2046
+ var oneTransforms = loadOneNativeTransforms(projectRoot);
2047
+ if (!oneTransforms) throw new Error(`[vxrn/metro] ${filename} requires One native transforms`);
2048
+ sourceCode = oneTransforms.renderSwiftPackageModule(import_path.default.isAbsolute(filename) ? filename : import_path.default.resolve(projectRoot, filename), (_options_platform = options.platform) !== null && _options_platform !== void 0 ? _options_platform : "", projectRoot).code;
2049
+ }
2044
2050
  sourceCode = (0, import_expoVirtualEnv.substituteExpoVirtualEnvSource)({
2045
2051
  filename,
2046
2052
  src: sourceCode,
@@ -226,7 +226,7 @@ function collectModuleLiteralBindings(program) {
226
226
  }
227
227
  return bindings;
228
228
  }
229
- var WORKER_CACHE_KEY_VERSION = "5";
229
+ var WORKER_CACHE_KEY_VERSION = "6";
230
230
  function langForFilename(filename) {
231
231
  if (filename.endsWith(".tsx")) return "tsx";
232
232
  if (filename.endsWith(".ts")) return "ts";
@@ -2041,6 +2041,12 @@ async function transform(config, projectRoot, filename, data, options) {
2041
2041
  var _options_customTransformOptions, _options_customTransformOptions1, _options_customTransformOptions2, _oxcRes_errors;
2042
2042
  assertNoUnportedBabelPlugins(options);
2043
2043
  var sourceCode = typeof data === "string" ? data : data.toString("utf8");
2044
+ if (filename.endsWith(".swift")) {
2045
+ var _options_platform;
2046
+ var oneTransforms = loadOneNativeTransforms(projectRoot);
2047
+ if (!oneTransforms) throw new Error(`[vxrn/metro] ${filename} requires One native transforms`);
2048
+ sourceCode = oneTransforms.renderSwiftPackageModule(import_path.default.isAbsolute(filename) ? filename : import_path.default.resolve(projectRoot, filename), (_options_platform = options.platform) !== null && _options_platform !== void 0 ? _options_platform : "", projectRoot).code;
2049
+ }
2044
2050
  sourceCode = (0, import_expoVirtualEnv.substituteExpoVirtualEnvSource)({
2045
2051
  filename,
2046
2052
  src: sourceCode,