@vxrn/vite-plugin-metro 1.14.4 → 1.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (189) hide show
  1. package/dist/cjs/babel-plugins/import-meta-env-plugin.cjs +55 -37
  2. package/dist/cjs/babel-plugins/import-meta-env-plugin.native.js +111 -94
  3. package/dist/cjs/babel-plugins/import-meta-env-plugin.native.js.map +1 -1
  4. package/dist/cjs/env/platformEnv.cjs +21 -14
  5. package/dist/cjs/env/platformEnv.native.js +30 -20
  6. package/dist/cjs/env/platformEnv.native.js.map +1 -1
  7. package/dist/cjs/index.cjs +16 -14
  8. package/dist/cjs/index.native.js +16 -14
  9. package/dist/cjs/index.native.js.map +1 -1
  10. package/dist/cjs/metro-config/getMetroBabelConfigFromViteConfig.cjs +25 -19
  11. package/dist/cjs/metro-config/getMetroBabelConfigFromViteConfig.native.js +39 -29
  12. package/dist/cjs/metro-config/getMetroBabelConfigFromViteConfig.native.js.map +1 -1
  13. package/dist/cjs/metro-config/getMetroConfigFromViteConfig.cjs +103 -92
  14. package/dist/cjs/metro-config/getMetroConfigFromViteConfig.native.js +111 -104
  15. package/dist/cjs/metro-config/getMetroConfigFromViteConfig.native.js.map +1 -1
  16. package/dist/cjs/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.cjs +17 -13
  17. package/dist/cjs/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.native.js +23 -19
  18. package/dist/cjs/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.native.js.map +1 -1
  19. package/dist/cjs/metro-config/types.cjs +7 -5
  20. package/dist/cjs/metro-config/types.native.js +7 -5
  21. package/dist/cjs/metro-config/types.native.js.map +1 -1
  22. package/dist/cjs/plugins/expoManifestRequestHandlerPlugin.cjs +37 -25
  23. package/dist/cjs/plugins/expoManifestRequestHandlerPlugin.native.js +49 -33
  24. package/dist/cjs/plugins/expoManifestRequestHandlerPlugin.native.js.map +1 -1
  25. package/dist/cjs/plugins/metroPlugin.cjs +184 -126
  26. package/dist/cjs/plugins/metroPlugin.native.js +193 -140
  27. package/dist/cjs/plugins/metroPlugin.native.js.map +1 -1
  28. package/dist/cjs/rn-commands/bundle/assetCatalogIOS.cjs +34 -30
  29. package/dist/cjs/rn-commands/bundle/assetCatalogIOS.native.js +56 -44
  30. package/dist/cjs/rn-commands/bundle/assetCatalogIOS.native.js.map +1 -1
  31. package/dist/cjs/rn-commands/bundle/assetPathUtils.cjs +26 -15
  32. package/dist/cjs/rn-commands/bundle/assetPathUtils.native.js +22 -13
  33. package/dist/cjs/rn-commands/bundle/assetPathUtils.native.js.map +1 -1
  34. package/dist/cjs/rn-commands/bundle/buildBundle.cjs +36 -26
  35. package/dist/cjs/rn-commands/bundle/buildBundle.native.js +42 -32
  36. package/dist/cjs/rn-commands/bundle/buildBundle.native.js.map +1 -1
  37. package/dist/cjs/rn-commands/bundle/buildBundleWithConfig.cjs +52 -41
  38. package/dist/cjs/rn-commands/bundle/buildBundleWithConfig.native.js +57 -46
  39. package/dist/cjs/rn-commands/bundle/buildBundleWithConfig.native.js.map +1 -1
  40. package/dist/cjs/rn-commands/bundle/filterPlatformAssetScales.cjs +23 -15
  41. package/dist/cjs/rn-commands/bundle/filterPlatformAssetScales.native.js +30 -19
  42. package/dist/cjs/rn-commands/bundle/filterPlatformAssetScales.native.js.map +1 -1
  43. package/dist/cjs/rn-commands/bundle/getAssetDestPathAndroid.cjs +28 -26
  44. package/dist/cjs/rn-commands/bundle/getAssetDestPathAndroid.native.js +28 -26
  45. package/dist/cjs/rn-commands/bundle/getAssetDestPathAndroid.native.js.map +1 -1
  46. package/dist/cjs/rn-commands/bundle/getAssetDestPathIOS.cjs +26 -24
  47. package/dist/cjs/rn-commands/bundle/getAssetDestPathIOS.native.js +26 -24
  48. package/dist/cjs/rn-commands/bundle/getAssetDestPathIOS.native.js.map +1 -1
  49. package/dist/cjs/rn-commands/bundle/getBuildBundleFn.cjs +22 -16
  50. package/dist/cjs/rn-commands/bundle/getBuildBundleFn.native.js +16 -14
  51. package/dist/cjs/rn-commands/bundle/getBuildBundleFn.native.js.map +1 -1
  52. package/dist/cjs/rn-commands/bundle/index.cjs +14 -12
  53. package/dist/cjs/rn-commands/bundle/index.native.js +14 -12
  54. package/dist/cjs/rn-commands/bundle/index.native.js.map +1 -1
  55. package/dist/cjs/rn-commands/bundle/saveAssets.cjs +69 -51
  56. package/dist/cjs/rn-commands/bundle/saveAssets.native.js +75 -55
  57. package/dist/cjs/rn-commands/bundle/saveAssets.native.js.map +1 -1
  58. package/dist/cjs/rn-commands/bundle/types.cjs +7 -5
  59. package/dist/cjs/rn-commands/bundle/types.native.js +7 -5
  60. package/dist/cjs/rn-commands/bundle/types.native.js.map +1 -1
  61. package/dist/cjs/rn-commands/index.cjs +24 -22
  62. package/dist/cjs/rn-commands/index.native.js +24 -22
  63. package/dist/cjs/rn-commands/index.native.js.map +1 -1
  64. package/dist/cjs/transformer/babel-core.cjs +12 -10
  65. package/dist/cjs/transformer/babel-core.native.js +12 -10
  66. package/dist/cjs/transformer/babel-core.native.js.map +1 -1
  67. package/dist/cjs/transformer/babel-transformer.cjs +106 -89
  68. package/dist/cjs/transformer/babel-transformer.native.js +106 -96
  69. package/dist/cjs/transformer/babel-transformer.native.js.map +1 -1
  70. package/dist/cjs/transformer/loadBabelConfig.cjs +43 -32
  71. package/dist/cjs/transformer/loadBabelConfig.native.js +51 -41
  72. package/dist/cjs/transformer/loadBabelConfig.native.js.map +1 -1
  73. package/dist/cjs/transformer/transformSync.cjs +33 -25
  74. package/dist/cjs/transformer/transformSync.native.js +38 -30
  75. package/dist/cjs/transformer/transformSync.native.js.map +1 -1
  76. package/dist/cjs/transformer/types.cjs +7 -5
  77. package/dist/cjs/transformer/types.native.js +7 -5
  78. package/dist/cjs/transformer/types.native.js.map +1 -1
  79. package/dist/cjs/utils/exit.cjs +95 -53
  80. package/dist/cjs/utils/exit.native.js +138 -81
  81. package/dist/cjs/utils/exit.native.js.map +1 -1
  82. package/dist/cjs/utils/getTerminalReporter.cjs +33 -28
  83. package/dist/cjs/utils/getTerminalReporter.native.js +40 -33
  84. package/dist/cjs/utils/getTerminalReporter.native.js.map +1 -1
  85. package/dist/cjs/utils/metroCacheManager.cjs +82 -46
  86. package/dist/cjs/utils/metroCacheManager.native.js +96 -57
  87. package/dist/cjs/utils/metroCacheManager.native.js.map +1 -1
  88. package/dist/cjs/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.cjs +21 -17
  89. package/dist/cjs/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.native.js +12 -10
  90. package/dist/cjs/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.native.js.map +1 -1
  91. package/dist/cjs/utils/projectImport.cjs +40 -30
  92. package/dist/cjs/utils/projectImport.native.js +49 -37
  93. package/dist/cjs/utils/projectImport.native.js.map +1 -1
  94. package/dist/esm/babel-plugins/import-meta-env-plugin.mjs +28 -12
  95. package/dist/esm/babel-plugins/import-meta-env-plugin.mjs.map +1 -1
  96. package/dist/esm/babel-plugins/import-meta-env-plugin.native.js +83 -68
  97. package/dist/esm/babel-plugins/import-meta-env-plugin.native.js.map +1 -1
  98. package/dist/esm/env/platformEnv.mjs +9 -4
  99. package/dist/esm/env/platformEnv.mjs.map +1 -1
  100. package/dist/esm/env/platformEnv.native.js +18 -10
  101. package/dist/esm/env/platformEnv.native.js.map +1 -1
  102. package/dist/esm/metro-config/getMetroBabelConfigFromViteConfig.mjs +13 -9
  103. package/dist/esm/metro-config/getMetroBabelConfigFromViteConfig.mjs.map +1 -1
  104. package/dist/esm/metro-config/getMetroBabelConfigFromViteConfig.native.js +27 -19
  105. package/dist/esm/metro-config/getMetroBabelConfigFromViteConfig.native.js.map +1 -1
  106. package/dist/esm/metro-config/getMetroConfigFromViteConfig.mjs +75 -66
  107. package/dist/esm/metro-config/getMetroConfigFromViteConfig.mjs.map +1 -1
  108. package/dist/esm/metro-config/getMetroConfigFromViteConfig.native.js +83 -78
  109. package/dist/esm/metro-config/getMetroConfigFromViteConfig.native.js.map +1 -1
  110. package/dist/esm/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.mjs +5 -3
  111. package/dist/esm/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.mjs.map +1 -1
  112. package/dist/esm/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.native.js +11 -9
  113. package/dist/esm/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.native.js.map +1 -1
  114. package/dist/esm/plugins/expoManifestRequestHandlerPlugin.mjs +22 -12
  115. package/dist/esm/plugins/expoManifestRequestHandlerPlugin.mjs.map +1 -1
  116. package/dist/esm/plugins/expoManifestRequestHandlerPlugin.native.js +34 -20
  117. package/dist/esm/plugins/expoManifestRequestHandlerPlugin.native.js.map +1 -1
  118. package/dist/esm/plugins/metroPlugin.mjs +152 -96
  119. package/dist/esm/plugins/metroPlugin.mjs.map +1 -1
  120. package/dist/esm/plugins/metroPlugin.native.js +158 -107
  121. package/dist/esm/plugins/metroPlugin.native.js.map +1 -1
  122. package/dist/esm/rn-commands/bundle/assetCatalogIOS.mjs +7 -5
  123. package/dist/esm/rn-commands/bundle/assetCatalogIOS.mjs.map +1 -1
  124. package/dist/esm/rn-commands/bundle/assetCatalogIOS.native.js +29 -19
  125. package/dist/esm/rn-commands/bundle/assetCatalogIOS.native.js.map +1 -1
  126. package/dist/esm/rn-commands/bundle/assetPathUtils.mjs +14 -5
  127. package/dist/esm/rn-commands/bundle/assetPathUtils.mjs.map +1 -1
  128. package/dist/esm/rn-commands/bundle/assetPathUtils.native.js +10 -3
  129. package/dist/esm/rn-commands/bundle/assetPathUtils.native.js.map +1 -1
  130. package/dist/esm/rn-commands/bundle/buildBundle.mjs +19 -11
  131. package/dist/esm/rn-commands/bundle/buildBundle.mjs.map +1 -1
  132. package/dist/esm/rn-commands/bundle/buildBundle.native.js +25 -17
  133. package/dist/esm/rn-commands/bundle/buildBundle.native.js.map +1 -1
  134. package/dist/esm/rn-commands/bundle/buildBundleWithConfig.mjs +23 -14
  135. package/dist/esm/rn-commands/bundle/buildBundleWithConfig.mjs.map +1 -1
  136. package/dist/esm/rn-commands/bundle/buildBundleWithConfig.native.js +27 -18
  137. package/dist/esm/rn-commands/bundle/buildBundleWithConfig.native.js.map +1 -1
  138. package/dist/esm/rn-commands/bundle/filterPlatformAssetScales.mjs +11 -5
  139. package/dist/esm/rn-commands/bundle/filterPlatformAssetScales.mjs.map +1 -1
  140. package/dist/esm/rn-commands/bundle/filterPlatformAssetScales.native.js +18 -9
  141. package/dist/esm/rn-commands/bundle/filterPlatformAssetScales.native.js.map +1 -1
  142. package/dist/esm/rn-commands/bundle/getAssetDestPathAndroid.mjs +2 -2
  143. package/dist/esm/rn-commands/bundle/getAssetDestPathAndroid.mjs.map +1 -1
  144. package/dist/esm/rn-commands/bundle/getAssetDestPathAndroid.native.js +2 -2
  145. package/dist/esm/rn-commands/bundle/getAssetDestPathAndroid.native.js.map +1 -1
  146. package/dist/esm/rn-commands/bundle/getAssetDestPathIOS.mjs +2 -2
  147. package/dist/esm/rn-commands/bundle/getAssetDestPathIOS.mjs.map +1 -1
  148. package/dist/esm/rn-commands/bundle/getAssetDestPathIOS.native.js +2 -2
  149. package/dist/esm/rn-commands/bundle/getAssetDestPathIOS.native.js.map +1 -1
  150. package/dist/esm/rn-commands/bundle/getBuildBundleFn.mjs +8 -4
  151. package/dist/esm/rn-commands/bundle/getBuildBundleFn.mjs.map +1 -1
  152. package/dist/esm/rn-commands/bundle/getBuildBundleFn.native.js +2 -2
  153. package/dist/esm/rn-commands/bundle/getBuildBundleFn.native.js.map +1 -1
  154. package/dist/esm/rn-commands/bundle/saveAssets.mjs +39 -23
  155. package/dist/esm/rn-commands/bundle/saveAssets.mjs.map +1 -1
  156. package/dist/esm/rn-commands/bundle/saveAssets.native.js +45 -27
  157. package/dist/esm/rn-commands/bundle/saveAssets.native.js.map +1 -1
  158. package/dist/esm/transformer/babel-transformer.mjs +84 -69
  159. package/dist/esm/transformer/babel-transformer.mjs.map +1 -1
  160. package/dist/esm/transformer/babel-transformer.native.js +94 -86
  161. package/dist/esm/transformer/babel-transformer.native.js.map +1 -1
  162. package/dist/esm/transformer/loadBabelConfig.mjs +17 -8
  163. package/dist/esm/transformer/loadBabelConfig.mjs.map +1 -1
  164. package/dist/esm/transformer/loadBabelConfig.native.js +19 -11
  165. package/dist/esm/transformer/loadBabelConfig.native.js.map +1 -1
  166. package/dist/esm/transformer/transformSync.mjs +9 -3
  167. package/dist/esm/transformer/transformSync.mjs.map +1 -1
  168. package/dist/esm/transformer/transformSync.native.js +14 -8
  169. package/dist/esm/transformer/transformSync.native.js.map +1 -1
  170. package/dist/esm/utils/exit.mjs +68 -28
  171. package/dist/esm/utils/exit.mjs.map +1 -1
  172. package/dist/esm/utils/exit.native.js +111 -56
  173. package/dist/esm/utils/exit.native.js.map +1 -1
  174. package/dist/esm/utils/getTerminalReporter.mjs +7 -4
  175. package/dist/esm/utils/getTerminalReporter.mjs.map +1 -1
  176. package/dist/esm/utils/getTerminalReporter.native.js +14 -9
  177. package/dist/esm/utils/getTerminalReporter.native.js.map +1 -1
  178. package/dist/esm/utils/metroCacheManager.mjs +67 -33
  179. package/dist/esm/utils/metroCacheManager.mjs.map +1 -1
  180. package/dist/esm/utils/metroCacheManager.native.js +80 -43
  181. package/dist/esm/utils/metroCacheManager.native.js.map +1 -1
  182. package/dist/esm/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.mjs +9 -7
  183. package/dist/esm/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.mjs.map +1 -1
  184. package/dist/esm/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.native.js.map +1 -1
  185. package/dist/esm/utils/projectImport.mjs +14 -6
  186. package/dist/esm/utils/projectImport.mjs.map +1 -1
  187. package/dist/esm/utils/projectImport.native.js +23 -13
  188. package/dist/esm/utils/projectImport.native.js.map +1 -1
  189. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"names":["fs","path","cleanAssetCatalog","getImageSet","isCatalogAsset","writeImageSet","filterPlatformAssetScales","getAssetDestPathAndroid","getAssetDestPathIOS","saveAssets","assets","platform","assetsDest","assetCatalogDest","console","warn","filesToCopy","getAssetDestPath","addAssetToCopy","asset","validScales","Set","scales","forEach","scale","idx","has","src","files","dest","join","catalogDir","existsSync","error","info","imageSet","copyAll","queue","Object","keys","length","Promise","resolve","reject","copyNext","shift","copy","callback","destDir","dirname","mkdir","recursive","err","createReadStream","pipe","createWriteStream","on","saveAssets_default"],"sources":["../../../../src/rn-commands/bundle/saveAssets.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["fs","path","cleanAssetCatalog","getImageSet","isCatalogAsset","writeImageSet","filterPlatformAssetScales","getAssetDestPathAndroid","getAssetDestPathIOS","saveAssets","assets","platform","assetsDest","assetCatalogDest","console","warn","filesToCopy","getAssetDestPath","addAssetToCopy","asset","validScales","Set","scales","forEach","scale","idx","has","src","files","dest","join","catalogDir","existsSync","error","info","imageSet","copyAll","queue","Object","keys","length","Promise","resolve","reject","copyNext","shift","copy","callback","destDir","dirname","mkdir","recursive","err","createReadStream","pipe","createWriteStream","on","saveAssets_default"],"sources":["../../../../src/rn-commands/bundle/saveAssets.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -9,70 +9,88 @@ async function saveAssets(assets, platform, assetsDest, assetCatalogDest) {
9
9
  console.warn("Assets destination folder is not set, skipping...");
10
10
  return;
11
11
  }
12
- var filesToCopy = {},
13
- getAssetDestPath = platform === "android" ? getAssetDestPathAndroid : getAssetDestPathIOS,
14
- addAssetToCopy = function (asset2) {
15
- var validScales = new Set(filterPlatformAssetScales(platform, asset2.scales));
16
- asset2.scales.forEach(function (scale, idx) {
17
- if (validScales.has(scale)) {
18
- var src = asset2.files[idx],
19
- dest = path.join(assetsDest, getAssetDestPath(asset2, scale));
20
- filesToCopy[src] = dest;
21
- }
22
- });
23
- };
12
+ var filesToCopy = {};
13
+ var getAssetDestPath = platform === "android" ? getAssetDestPathAndroid : getAssetDestPathIOS;
14
+ var addAssetToCopy = function (asset2) {
15
+ var validScales = new Set(filterPlatformAssetScales(platform, asset2.scales));
16
+ asset2.scales.forEach(function (scale, idx) {
17
+ if (!validScales.has(scale)) {
18
+ return;
19
+ }
20
+ var src = asset2.files[idx];
21
+ var dest = path.join(assetsDest, getAssetDestPath(asset2, scale));
22
+ filesToCopy[src] = dest;
23
+ });
24
+ };
24
25
  if (platform === "ios" && assetCatalogDest != null) {
25
26
  var catalogDir = path.join(assetCatalogDest, "RNAssets.xcassets");
26
27
  if (!fs.existsSync(catalogDir)) {
27
28
  console.error(`Could not find asset catalog 'RNAssets.xcassets' in ${assetCatalogDest}. Make sure to create it if it does not exist.`);
28
29
  return;
29
30
  }
30
- console.info("Adding images to asset catalog", catalogDir), cleanAssetCatalog(catalogDir);
31
- var _iteratorNormalCompletion = !0,
32
- _didIteratorError = !1,
31
+ console.info("Adding images to asset catalog", catalogDir);
32
+ cleanAssetCatalog(catalogDir);
33
+ var _iteratorNormalCompletion = true,
34
+ _didIteratorError = false,
33
35
  _iteratorError = void 0;
34
36
  try {
35
- for (var _iterator = assets[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) {
37
+ for (var _iterator = assets[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
36
38
  var asset = _step.value;
37
39
  if (isCatalogAsset(asset)) {
38
40
  var imageSet = getImageSet(catalogDir, asset, filterPlatformAssetScales(platform, asset.scales));
39
41
  writeImageSet(imageSet);
40
- } else addAssetToCopy(asset);
42
+ } else {
43
+ addAssetToCopy(asset);
44
+ }
41
45
  }
42
46
  } catch (err) {
43
- _didIteratorError = !0, _iteratorError = err;
47
+ _didIteratorError = true;
48
+ _iteratorError = err;
44
49
  } finally {
45
50
  try {
46
- !_iteratorNormalCompletion && _iterator.return != null && _iterator.return();
51
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
52
+ _iterator.return();
53
+ }
47
54
  } finally {
48
- if (_didIteratorError) throw _iteratorError;
55
+ if (_didIteratorError) {
56
+ throw _iteratorError;
57
+ }
49
58
  }
50
59
  }
51
60
  console.info("Done adding images to asset catalog");
52
- } else assets.forEach(addAssetToCopy);
61
+ } else {
62
+ assets.forEach(addAssetToCopy);
63
+ }
53
64
  return copyAll(filesToCopy);
54
65
  }
55
66
  function copyAll(filesToCopy) {
56
67
  var queue = Object.keys(filesToCopy);
57
- return queue.length === 0 ? Promise.resolve() : (console.info(`Copying ${queue.length} asset files`), new Promise(function (resolve, reject) {
68
+ if (queue.length === 0) {
69
+ return Promise.resolve();
70
+ }
71
+ console.info(`Copying ${queue.length} asset files`);
72
+ return new Promise(function (resolve, reject) {
58
73
  var copyNext = function (error) {
59
74
  if (error) {
60
75
  reject(error);
61
76
  return;
62
77
  }
63
- if (queue.length === 0) console.info("Done copying assets"), resolve();else {
64
- var src = queue.shift(),
65
- dest = filesToCopy[src];
78
+ if (queue.length === 0) {
79
+ console.info("Done copying assets");
80
+ resolve();
81
+ } else {
82
+ var src = queue.shift();
83
+ var dest = filesToCopy[src];
66
84
  copy(src, dest, copyNext);
67
85
  }
68
86
  };
69
87
  copyNext();
70
- }));
88
+ });
71
89
  }
72
90
  function copy(src, dest, callback) {
73
91
  var destDir = path.dirname(dest);
74
92
  fs.mkdir(destDir, {
75
- recursive: !0
93
+ recursive: true
76
94
  }, function (err) {
77
95
  if (err) {
78
96
  callback(err);
@@ -1 +1 @@
1
- {"version":3,"names":["fs","path","cleanAssetCatalog","getImageSet","isCatalogAsset","writeImageSet","filterPlatformAssetScales","getAssetDestPathAndroid","getAssetDestPathIOS","saveAssets","assets","platform","assetsDest","assetCatalogDest","console","warn","filesToCopy","getAssetDestPath","addAssetToCopy","asset2","validScales","Set","scales","forEach","scale","idx","has","src","files","dest","join","catalogDir","existsSync","error","info","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","next","done","asset","value","imageSet","err","return","copyAll","queue","Object","keys","length","Promise","resolve","reject","copyNext","shift","copy","callback","destDir","dirname","mkdir","recursive"],"sources":["../../../../src/rn-commands/bundle/saveAssets.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["fs","path","cleanAssetCatalog","getImageSet","isCatalogAsset","writeImageSet","filterPlatformAssetScales","getAssetDestPathAndroid","getAssetDestPathIOS","saveAssets","assets","platform","assetsDest","assetCatalogDest","console","warn","filesToCopy","getAssetDestPath","addAssetToCopy","asset2","validScales","Set","scales","forEach","scale","idx","has","src","files","dest","join","catalogDir","existsSync","error","info","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","next","done","asset","value","imageSet","err","return","copyAll","queue","Object","keys","length","Promise","resolve","reject","copyNext","shift","copy","callback","destDir","dirname","mkdir","recursive"],"sources":["../../../../src/rn-commands/bundle/saveAssets.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -9,9 +9,12 @@ function memoize(fn) {
9
9
  const cache = /* @__PURE__ */new Map();
10
10
  return (...args) => {
11
11
  const key = JSON.stringify(args);
12
- if (cache.has(key)) return cache.get(key);
12
+ if (cache.has(key)) {
13
+ return cache.get(key);
14
+ }
13
15
  const result = fn(...args);
14
- return cache.set(key, result), result;
16
+ cache.set(key, result);
17
+ return result;
15
18
  };
16
19
  }
17
20
  const memoizeWarning = memoize(message => {
@@ -21,12 +24,15 @@ function getBabelCaller({
21
24
  filename,
22
25
  options
23
26
  }) {
24
- const isNodeModule = filename.includes("node_modules"),
25
- isReactServer = options.customTransformOptions?.environment === "react-server",
26
- isGenericServer = options.customTransformOptions?.environment === "node",
27
- isServer = isReactServer || isGenericServer,
28
- routerRoot = typeof options.customTransformOptions?.routerRoot == "string" ? decodeURI(options.customTransformOptions.routerRoot) : void 0;
29
- return routerRoot == null && memoizeWarning("Warning: Missing transform.routerRoot option in Metro bundling request, falling back to `app` as routes directory. This can occur if you bundle without Expo CLI or expo/metro-config."), {
27
+ const isNodeModule = filename.includes("node_modules");
28
+ const isReactServer = options.customTransformOptions?.environment === "react-server";
29
+ const isGenericServer = options.customTransformOptions?.environment === "node";
30
+ const isServer = isReactServer || isGenericServer;
31
+ const routerRoot = typeof options.customTransformOptions?.routerRoot === "string" ? decodeURI(options.customTransformOptions.routerRoot) : void 0;
32
+ if (routerRoot == null) {
33
+ memoizeWarning("Warning: Missing transform.routerRoot option in Metro bundling request, falling back to `app` as routes directory. This can occur if you bundle without Expo CLI or expo/metro-config.");
34
+ }
35
+ return {
30
36
  name: "metro",
31
37
  bundler: "metro",
32
38
  platform: options.platform,
@@ -36,15 +42,15 @@ function getBabelCaller({
36
42
  // Enable React Server Component rules for AST. The naming maps to the resolver property `--conditions=react-server`.
37
43
  isReactServer,
38
44
  // The base url to make requests from, used for hosting from non-standard locations.
39
- baseUrl: typeof options.customTransformOptions?.baseUrl == "string" ? decodeURI(options.customTransformOptions.baseUrl) : "",
45
+ baseUrl: typeof options.customTransformOptions?.baseUrl === "string" ? decodeURI(options.customTransformOptions.baseUrl) : "",
40
46
  // Ensure we always use a mostly-valid router root.
41
47
  routerRoot: routerRoot ?? "app",
42
48
  isDev: options.dev,
43
49
  // This value indicates if the user has disabled the feature or not.
44
50
  // Other criteria may still cause the feature to be disabled, but all inputs used are
45
51
  // already considered in the cache key.
46
- preserveEnvVars: isCustomTruthy(options.customTransformOptions?.preserveEnvVars) ? !0 : void 0,
47
- asyncRoutes: isCustomTruthy(options.customTransformOptions?.asyncRoutes) ? !0 : void 0,
52
+ preserveEnvVars: isCustomTruthy(options.customTransformOptions?.preserveEnvVars) ? true : void 0,
53
+ asyncRoutes: isCustomTruthy(options.customTransformOptions?.asyncRoutes) ? true : void 0,
48
54
  // Pass the engine to babel so we can automatically transpile for the correct
49
55
  // target environment.
50
56
  engine: stringOrUndefined(options.customTransformOptions?.engine),
@@ -56,71 +62,80 @@ function getBabelCaller({
56
62
  supportsStaticESM: isCustomTruthy(options.customTransformOptions?.optimize) || options.experimentalImportSupport,
57
63
  // Enable React compiler support in Babel.
58
64
  // TODO: Remove this in the future when compiler is on by default.
59
- supportsReactCompiler: isCustomTruthy(options.customTransformOptions?.reactCompiler) ? !0 : void 0
65
+ supportsReactCompiler: isCustomTruthy(options.customTransformOptions?.reactCompiler) ? true : void 0
60
66
  };
61
67
  }
62
68
  function stringOrUndefined(value) {
63
- return typeof value == "string" ? value : void 0;
69
+ return typeof value === "string" ? value : void 0;
64
70
  }
65
71
  const transform = ({
66
- filename,
67
- src,
68
- options,
69
- // `plugins` is used for `functionMapBabelPlugin` from `metro-source-map`. Could make sense to move this to `babel-preset-expo` too.
70
- plugins
71
- }) => {
72
- const babelConfigFromVitePlugin = (() => {
73
- const c = options.customTransformOptions?.vite;
74
- if (!c || typeof c != "object") throw new Error(`[vite-plugin-metro/babel-transformer]: Expect options.customTransformOptions.vite to be an object, but got ${typeof c}.`);
75
- return c;
76
- })().babelConfig || {},
77
- OLD_BABEL_ENV = process.env.BABEL_ENV;
78
- process.env.BABEL_ENV = options.dev ? "development" : process.env.BABEL_ENV || "production";
79
- try {
80
- const babelConfig = {
81
- // ES modules require sourceType='module' but OSS may not always want that
82
- sourceType: "unambiguous",
83
- // The output we want from Babel methods
84
- ast: !0,
85
- code: !1,
86
- // NOTE(EvanBacon): We split the parse/transform steps up to accommodate
87
- // Hermes parsing, but this defaults to cloning the AST which increases
88
- // the transformation time by a fair amount.
89
- // You get this behavior by default when using Babel's `transform` method directly.
90
- cloneInputAst: !1,
91
- // Options for debugging
92
- cwd: options.projectRoot,
93
- filename,
94
- highlightCode: !0,
95
- ...babelConfigFromVitePlugin,
96
- ...loadBabelConfig(options),
97
- babelrc: typeof options.enableBabelRCLookup == "boolean" ? options.enableBabelRCLookup : !0,
98
- plugins: [...(babelConfigFromVitePlugin.plugins || []), ...plugins],
99
- // NOTE(EvanBacon): We heavily leverage the caller functionality to mutate the babel config.
100
- // This compensates for the lack of a format plugin system in Metro. Users can modify the
101
- // all (most) of the transforms in their local Babel config.
102
- // This also helps us keep the transform layers small and focused on a single task. We can also use this to
103
- // ensure the Babel config caching is more accurate.
104
- // Additionally, by moving everything Babel-related to the Babel preset, it makes it easier for users to reason
105
- // about the requirements of an Expo project, making it easier to migrate to other transpilers in the future.
106
- caller: getBabelCaller({
107
- filename,
108
- options
109
- })
110
- },
111
- result = transformSync(src, babelConfig, options);
112
- return result ? (assert(result.ast), {
113
- ast: result.ast,
114
- metadata: result.metadata
115
- }) : {
72
+ filename,
73
+ src,
74
+ options,
75
+ // `plugins` is used for `functionMapBabelPlugin` from `metro-source-map`. Could make sense to move this to `babel-preset-expo` too.
76
+ plugins
77
+ }) => {
78
+ const customOptionsFromVite = (() => {
79
+ const c = options.customTransformOptions?.vite;
80
+ if (!c || typeof c !== "object") {
81
+ throw new Error(`[vite-plugin-metro/babel-transformer]: Expect options.customTransformOptions.vite to be an object, but got ${typeof c}.`);
82
+ }
83
+ return c;
84
+ })();
85
+ const babelConfigFromVitePlugin = customOptionsFromVite.babelConfig || {};
86
+ const OLD_BABEL_ENV = process.env.BABEL_ENV;
87
+ process.env.BABEL_ENV = options.dev ? "development" : process.env.BABEL_ENV || "production";
88
+ try {
89
+ const babelConfig = {
90
+ // ES modules require sourceType='module' but OSS may not always want that
91
+ sourceType: "unambiguous",
92
+ // The output we want from Babel methods
93
+ ast: true,
94
+ code: false,
95
+ // NOTE(EvanBacon): We split the parse/transform steps up to accommodate
96
+ // Hermes parsing, but this defaults to cloning the AST which increases
97
+ // the transformation time by a fair amount.
98
+ // You get this behavior by default when using Babel's `transform` method directly.
99
+ cloneInputAst: false,
100
+ // Options for debugging
101
+ cwd: options.projectRoot,
102
+ filename,
103
+ highlightCode: true,
104
+ ...babelConfigFromVitePlugin,
105
+ ...loadBabelConfig(options),
106
+ babelrc: typeof options.enableBabelRCLookup === "boolean" ? options.enableBabelRCLookup : true,
107
+ plugins: [...(babelConfigFromVitePlugin.plugins || []), ...plugins],
108
+ // NOTE(EvanBacon): We heavily leverage the caller functionality to mutate the babel config.
109
+ // This compensates for the lack of a format plugin system in Metro. Users can modify the
110
+ // all (most) of the transforms in their local Babel config.
111
+ // This also helps us keep the transform layers small and focused on a single task. We can also use this to
112
+ // ensure the Babel config caching is more accurate.
113
+ // Additionally, by moving everything Babel-related to the Babel preset, it makes it easier for users to reason
114
+ // about the requirements of an Expo project, making it easier to migrate to other transpilers in the future.
115
+ caller: getBabelCaller({
116
+ filename,
117
+ options
118
+ })
119
+ };
120
+ const result = transformSync(src, babelConfig, options);
121
+ if (!result) {
122
+ return {
116
123
  ast: null
117
124
  };
118
- } finally {
119
- OLD_BABEL_ENV && (process.env.BABEL_ENV = OLD_BABEL_ENV);
120
125
  }
121
- },
122
- babelTransformer = {
123
- transform
124
- };
126
+ assert(result.ast);
127
+ return {
128
+ ast: result.ast,
129
+ metadata: result.metadata
130
+ };
131
+ } finally {
132
+ if (OLD_BABEL_ENV) {
133
+ process.env.BABEL_ENV = OLD_BABEL_ENV;
134
+ }
135
+ }
136
+ };
137
+ const babelTransformer = {
138
+ transform
139
+ };
125
140
  module.exports = babelTransformer;
126
141
  //# sourceMappingURL=babel-transformer.mjs.map
@@ -1 +1 @@
1
- {"version":3,"names":["assert","loadBabelConfig","transformSync","debug","require","isCustomTruthy","value","String","memoize","fn","cache","Map","args","key","JSON","stringify","has","get","result","set","memoizeWarning","message","getBabelCaller","filename","options","isNodeModule","includes","isReactServer","customTransformOptions","environment","isGenericServer","isServer","routerRoot","decodeURI","name","bundler","platform","baseUrl","isDev","dev","preserveEnvVars","asyncRoutes","engine","stringOrUndefined","projectRoot","isHMREnabled","supportsStaticESM","optimize","experimentalImportSupport","supportsReactCompiler","reactCompiler","transform","src","plugins","babelConfigFromVitePlugin","c","vite","Error","babelConfig","OLD_BABEL_ENV","process","env","BABEL_ENV","sourceType","ast","code","cloneInputAst","cwd","highlightCode","babelrc","enableBabelRCLookup","caller","metadata","babelTransformer","module","exports"],"sources":["../../../src/transformer/babel-transformer.ts"],"sourcesContent":[null],"mappings":"AAaA,OAAOA,MAAA,MAAY;AAGnB,SAASC,eAAA,QAAuB;AAChC,SAASC,aAAA,QAAqB;AAoB9B,MAAMC,KAAA,GAAQC,OAAA,CAAQ,OAAO,EAC3B,qCACF;AAEA,SAASC,eAAeC,KAAA,EAAqB;EAC3C,OAAOC,MAAA,CAAOD,KAAK,MAAM;AAC3B;AAEA,SAASE,QAA2CC,EAAA,EAAU;EAC5D,MAAMC,KAAA,GAAQ,mBAAIC,GAAA,CAA2B;EAC7C,OAAQ,IAAIC,IAAA,KAAgB;IAC1B,MAAMC,GAAA,GAAMC,IAAA,CAAKC,SAAA,CAAUH,IAAI;IAC/B,IAAIF,KAAA,CAAMM,GAAA,CAAIH,GAAG,GACf,OAAOH,KAAA,CAAMO,GAAA,CAAIJ,GAAG;IAEtB,MAAMK,MAAA,GAAST,EAAA,CAAG,GAAGG,IAAI;IACzB,OAAAF,KAAA,CAAMS,GAAA,CAAIN,GAAA,EAAKK,MAAM,GACdA,MAAA;EACT;AACF;AAEA,MAAME,cAAA,GAAiBZ,OAAA,CAASa,OAAA,IAAoB;EAClDlB,KAAA,CAAMkB,OAAO;AACf,CAAC;AAED,SAASC,eAAe;EACtBC,QAAA;EACAC;AACF,GAAwE;EACtE,MAAMC,YAAA,GAAeF,QAAA,CAASG,QAAA,CAAS,cAAc;IAC/CC,aAAA,GAAgBH,OAAA,CAAQI,sBAAA,EAAwBC,WAAA,KAAgB;IAChEC,eAAA,GAAkBN,OAAA,CAAQI,sBAAA,EAAwBC,WAAA,KAAgB;IAClEE,QAAA,GAAWJ,aAAA,IAAiBG,eAAA;IAE5BE,UAAA,GACJ,OAAOR,OAAA,CAAQI,sBAAA,EAAwBI,UAAA,IAAe,WAClDC,SAAA,CAAUT,OAAA,CAAQI,sBAAA,CAAuBI,UAAU,IACnD;EAEN,OAAIA,UAAA,IAAc,QAChBZ,cAAA,CACE,wLACF,GAGK;IACLc,IAAA,EAAM;IACNC,OAAA,EAAS;IACTC,QAAA,EAAUZ,OAAA,CAAQY,QAAA;IAAA;IAAA;IAGlBL,QAAA;IAAA;IAGAJ,aAAA;IAAA;IAGAU,OAAA,EACE,OAAOb,OAAA,CAAQI,sBAAA,EAAwBS,OAAA,IAAY,WAC/CJ,SAAA,CAAUT,OAAA,CAAQI,sBAAA,CAAuBS,OAAO,IAChD;IAAA;IAGNL,UAAA,EAAYA,UAAA,IAAc;IAE1BM,KAAA,EAAOd,OAAA,CAAQe,GAAA;IAAA;IAAA;IAAA;IAKfC,eAAA,EAAiBnC,cAAA,CAAemB,OAAA,CAAQI,sBAAA,EAAwBY,eAAe,IAC3E,KACA;IACJC,WAAA,EAAapC,cAAA,CAAemB,OAAA,CAAQI,sBAAA,EAAwBa,WAAW,IACnE,KACA;IAAA;IAAA;IAGJC,MAAA,EAAQC,iBAAA,CAAkBnB,OAAA,CAAQI,sBAAA,EAAwBc,MAAM;IAAA;IAGhEE,WAAA,EAAapB,OAAA,CAAQoB,WAAA;IAErBnB,YAAA;IAEAoB,YAAA,EAAcrB,OAAA,CAAQe,GAAA;IAAA;IAGtBO,iBAAA,EACEzC,cAAA,CAAemB,OAAA,CAAQI,sBAAA,EAAwBmB,QAAQ,KACvDvB,OAAA,CAAQwB,yBAAA;IAAA;IAAA;IAIVC,qBAAA,EAAuB5C,cAAA,CAAemB,OAAA,CAAQI,sBAAA,EAAwBsB,aAAa,IAC/E,KACA;EACN;AACF;AAEA,SAASP,kBAAkBrC,KAAA,EAAoC;EAC7D,OAAO,OAAOA,KAAA,IAAU,WAAWA,KAAA,GAAQ;AAC7C;AAEA,MAAM6C,SAAA,GAA2CA,CAAC;IAChD5B,QAAA;IACA6B,GAAA;IACA5B,OAAA;IAAA;IAEA6B;EACF,MAAuE;IAkBrE,MAAMC,yBAAA,IAjBqD,MAAM;QAC/D,MAAMC,CAAA,GAAS/B,OAAA,CAAQI,sBAAA,EAAwB4B,IAAA;QAC/C,IAAI,CAACD,CAAA,IAAK,OAAOA,CAAA,IAAM,UACrB,MAAM,IAAIE,KAAA,CACR,8GAA8G,OAAOF,CAAC,GACxH;QASF,OAAOA,CAAA;MACT,GAAG,EAGqBG,WAAA,IAAe,CAAC;MAElCC,aAAA,GAAgBC,OAAA,CAAQC,GAAA,CAAIC,SAAA;IAClCF,OAAA,CAAQC,GAAA,CAAIC,SAAA,GAAYtC,OAAA,CAAQe,GAAA,GAC5B,gBACAqB,OAAA,CAAQC,GAAA,CAAIC,SAAA,IAAa;IAC7B,IAAI;MACF,MAAMJ,WAAA,GAAgC;UAAA;UAEpCK,UAAA,EAAY;UAAA;UAGZC,GAAA,EAAK;UACLC,IAAA,EAAM;UAAA;UAAA;UAAA;UAAA;UAKNC,aAAA,EAAe;UAAA;UAGfC,GAAA,EAAK3C,OAAA,CAAQoB,WAAA;UACbrB,QAAA;UACA6C,aAAA,EAAe;UAEf,GAAGd,yBAAA;UAEH,GAAGrD,eAAA,CAAgBuB,OAAO;UAE1B6C,OAAA,EACE,OAAO7C,OAAA,CAAQ8C,mBAAA,IAAwB,YACnC9C,OAAA,CAAQ8C,mBAAA,GACR;UAENjB,OAAA,EAAS,CAAC,IAAIC,yBAAA,CAA0BD,OAAA,IAAW,EAAC,GAAI,GAAIA,OAAe;UAAA;UAAA;UAAA;UAAA;UAAA;UAAA;UAAA;UAS3EkB,MAAA,EAAQjD,cAAA,CAAe;YAAEC,QAAA;YAAUC;UAAQ,CAAC;QAC9C;QAEMN,MAAA,GAAShB,aAAA,CAAckD,GAAA,EAAKM,WAAA,EAAalC,OAAO;MAGtD,OAAKN,MAAA,IAOLlB,MAAA,CAAOkB,MAAA,CAAO8C,GAAG,GACV;QAAEA,GAAA,EAAK9C,MAAA,CAAO8C,GAAA;QAAKQ,QAAA,EAAUtD,MAAA,CAAOsD;MAAS,KAJ3C;QAAER,GAAA,EAAK;MAAK;IAKvB,UAAE;MACIL,aAAA,KACFC,OAAA,CAAQC,GAAA,CAAIC,SAAA,GAAYH,aAAA;IAE5B;EACF;EAEMc,gBAAA,GAAqC;IACzCtB;EACF;AAEAuB,MAAA,CAAOC,OAAA,GAAUF,gBAAA","ignoreList":[]}
1
+ {"version":3,"names":["assert","loadBabelConfig","transformSync","debug","require","isCustomTruthy","value","String","memoize","fn","cache","Map","args","key","JSON","stringify","has","get","result","set","memoizeWarning","message","getBabelCaller","filename","options","isNodeModule","includes","isReactServer","customTransformOptions","environment","isGenericServer","isServer","routerRoot","decodeURI","name","bundler","platform","baseUrl","isDev","dev","preserveEnvVars","asyncRoutes","engine","stringOrUndefined","projectRoot","isHMREnabled","supportsStaticESM","optimize","experimentalImportSupport","supportsReactCompiler","reactCompiler","transform","src","plugins","customOptionsFromVite","c","vite","Error","babelConfigFromVitePlugin","babelConfig","OLD_BABEL_ENV","process","env","BABEL_ENV","sourceType","ast","code","cloneInputAst","cwd","highlightCode","babelrc","enableBabelRCLookup","caller","metadata","babelTransformer","module","exports"],"sources":["../../../src/transformer/babel-transformer.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -4,7 +4,7 @@ import { transformSync } from "./transformSync.native.js";
4
4
  function _type_of(obj) {
5
5
  "@swc/helpers - typeof";
6
6
 
7
- return obj && typeof Symbol < "u" && obj.constructor === Symbol ? "symbol" : typeof obj;
7
+ return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
8
8
  }
9
9
  var debug = require("debug")("expo:metro-config:babel-transformer");
10
10
  function isCustomTruthy(value) {
@@ -13,11 +13,16 @@ function isCustomTruthy(value) {
13
13
  function memoize(fn) {
14
14
  var cache = /* @__PURE__ */new Map();
15
15
  return function () {
16
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) args[_key] = arguments[_key];
16
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
17
+ args[_key] = arguments[_key];
18
+ }
17
19
  var key = JSON.stringify(args);
18
- if (cache.has(key)) return cache.get(key);
20
+ if (cache.has(key)) {
21
+ return cache.get(key);
22
+ }
19
23
  var result = fn(...args);
20
- return cache.set(key, result), result;
24
+ cache.set(key, result);
25
+ return result;
21
26
  };
22
27
  }
23
28
  var memoizeWarning = memoize(function (message) {
@@ -25,24 +30,19 @@ var memoizeWarning = memoize(function (message) {
25
30
  });
26
31
  function getBabelCaller(param) {
27
32
  var {
28
- filename,
29
- options
30
- } = param,
31
- _options_customTransformOptions,
32
- _options_customTransformOptions1,
33
- _options_customTransformOptions2,
34
- _options_customTransformOptions3,
35
- _options_customTransformOptions4,
36
- _options_customTransformOptions5,
37
- _options_customTransformOptions6,
38
- _options_customTransformOptions7,
39
- _options_customTransformOptions8,
40
- isNodeModule = filename.includes("node_modules"),
41
- isReactServer = ((_options_customTransformOptions = options.customTransformOptions) === null || _options_customTransformOptions === void 0 ? void 0 : _options_customTransformOptions.environment) === "react-server",
42
- isGenericServer = ((_options_customTransformOptions1 = options.customTransformOptions) === null || _options_customTransformOptions1 === void 0 ? void 0 : _options_customTransformOptions1.environment) === "node",
43
- isServer = isReactServer || isGenericServer,
44
- routerRoot = typeof ((_options_customTransformOptions2 = options.customTransformOptions) === null || _options_customTransformOptions2 === void 0 ? void 0 : _options_customTransformOptions2.routerRoot) == "string" ? decodeURI(options.customTransformOptions.routerRoot) : void 0;
45
- return routerRoot == null && memoizeWarning("Warning: Missing transform.routerRoot option in Metro bundling request, falling back to `app` as routes directory. This can occur if you bundle without Expo CLI or expo/metro-config."), {
33
+ filename,
34
+ options
35
+ } = param;
36
+ var _options_customTransformOptions, _options_customTransformOptions1, _options_customTransformOptions2, _options_customTransformOptions3, _options_customTransformOptions4, _options_customTransformOptions5, _options_customTransformOptions6, _options_customTransformOptions7, _options_customTransformOptions8;
37
+ var isNodeModule = filename.includes("node_modules");
38
+ var isReactServer = ((_options_customTransformOptions = options.customTransformOptions) === null || _options_customTransformOptions === void 0 ? void 0 : _options_customTransformOptions.environment) === "react-server";
39
+ var isGenericServer = ((_options_customTransformOptions1 = options.customTransformOptions) === null || _options_customTransformOptions1 === void 0 ? void 0 : _options_customTransformOptions1.environment) === "node";
40
+ var isServer = isReactServer || isGenericServer;
41
+ var routerRoot = typeof ((_options_customTransformOptions2 = options.customTransformOptions) === null || _options_customTransformOptions2 === void 0 ? void 0 : _options_customTransformOptions2.routerRoot) === "string" ? decodeURI(options.customTransformOptions.routerRoot) : void 0;
42
+ if (routerRoot == null) {
43
+ memoizeWarning("Warning: Missing transform.routerRoot option in Metro bundling request, falling back to `app` as routes directory. This can occur if you bundle without Expo CLI or expo/metro-config.");
44
+ }
45
+ return {
46
46
  name: "metro",
47
47
  bundler: "metro",
48
48
  platform: options.platform,
@@ -52,15 +52,15 @@ function getBabelCaller(param) {
52
52
  // Enable React Server Component rules for AST. The naming maps to the resolver property `--conditions=react-server`.
53
53
  isReactServer,
54
54
  // The base url to make requests from, used for hosting from non-standard locations.
55
- baseUrl: typeof ((_options_customTransformOptions3 = options.customTransformOptions) === null || _options_customTransformOptions3 === void 0 ? void 0 : _options_customTransformOptions3.baseUrl) == "string" ? decodeURI(options.customTransformOptions.baseUrl) : "",
55
+ baseUrl: typeof ((_options_customTransformOptions3 = options.customTransformOptions) === null || _options_customTransformOptions3 === void 0 ? void 0 : _options_customTransformOptions3.baseUrl) === "string" ? decodeURI(options.customTransformOptions.baseUrl) : "",
56
56
  // Ensure we always use a mostly-valid router root.
57
- routerRoot: routerRoot ?? "app",
57
+ routerRoot: routerRoot !== null && routerRoot !== void 0 ? routerRoot : "app",
58
58
  isDev: options.dev,
59
59
  // This value indicates if the user has disabled the feature or not.
60
60
  // Other criteria may still cause the feature to be disabled, but all inputs used are
61
61
  // already considered in the cache key.
62
- preserveEnvVars: isCustomTruthy((_options_customTransformOptions4 = options.customTransformOptions) === null || _options_customTransformOptions4 === void 0 ? void 0 : _options_customTransformOptions4.preserveEnvVars) ? !0 : void 0,
63
- asyncRoutes: isCustomTruthy((_options_customTransformOptions5 = options.customTransformOptions) === null || _options_customTransformOptions5 === void 0 ? void 0 : _options_customTransformOptions5.asyncRoutes) ? !0 : void 0,
62
+ preserveEnvVars: isCustomTruthy((_options_customTransformOptions4 = options.customTransformOptions) === null || _options_customTransformOptions4 === void 0 ? void 0 : _options_customTransformOptions4.preserveEnvVars) ? true : void 0,
63
+ asyncRoutes: isCustomTruthy((_options_customTransformOptions5 = options.customTransformOptions) === null || _options_customTransformOptions5 === void 0 ? void 0 : _options_customTransformOptions5.asyncRoutes) ? true : void 0,
64
64
  // Pass the engine to babel so we can automatically transpile for the correct
65
65
  // target environment.
66
66
  engine: stringOrUndefined((_options_customTransformOptions6 = options.customTransformOptions) === null || _options_customTransformOptions6 === void 0 ? void 0 : _options_customTransformOptions6.engine),
@@ -72,74 +72,82 @@ function getBabelCaller(param) {
72
72
  supportsStaticESM: isCustomTruthy((_options_customTransformOptions7 = options.customTransformOptions) === null || _options_customTransformOptions7 === void 0 ? void 0 : _options_customTransformOptions7.optimize) || options.experimentalImportSupport,
73
73
  // Enable React compiler support in Babel.
74
74
  // TODO: Remove this in the future when compiler is on by default.
75
- supportsReactCompiler: isCustomTruthy((_options_customTransformOptions8 = options.customTransformOptions) === null || _options_customTransformOptions8 === void 0 ? void 0 : _options_customTransformOptions8.reactCompiler) ? !0 : void 0
75
+ supportsReactCompiler: isCustomTruthy((_options_customTransformOptions8 = options.customTransformOptions) === null || _options_customTransformOptions8 === void 0 ? void 0 : _options_customTransformOptions8.reactCompiler) ? true : void 0
76
76
  };
77
77
  }
78
78
  function stringOrUndefined(value) {
79
- return typeof value == "string" ? value : void 0;
79
+ return typeof value === "string" ? value : void 0;
80
80
  }
81
81
  var transform = function (param) {
82
- var {
82
+ var {
83
+ filename,
84
+ src,
85
+ options,
86
+ // `plugins` is used for `functionMapBabelPlugin` from `metro-source-map`. Could make sense to move this to `babel-preset-expo` too.
87
+ plugins
88
+ } = param;
89
+ var customOptionsFromVite = function () {
90
+ var _options_customTransformOptions;
91
+ var c = (_options_customTransformOptions = options.customTransformOptions) === null || _options_customTransformOptions === void 0 ? void 0 : _options_customTransformOptions.vite;
92
+ if (!c || (typeof c === "undefined" ? "undefined" : _type_of(c)) !== "object") {
93
+ throw new Error(`[vite-plugin-metro/babel-transformer]: Expect options.customTransformOptions.vite to be an object, but got ${typeof c === "undefined" ? "undefined" : _type_of(c)}.`);
94
+ }
95
+ return c;
96
+ }();
97
+ var babelConfigFromVitePlugin = customOptionsFromVite.babelConfig || {};
98
+ var OLD_BABEL_ENV = process.env.BABEL_ENV;
99
+ process.env.BABEL_ENV = options.dev ? "development" : process.env.BABEL_ENV || "production";
100
+ try {
101
+ var babelConfig = {
102
+ // ES modules require sourceType='module' but OSS may not always want that
103
+ sourceType: "unambiguous",
104
+ // The output we want from Babel methods
105
+ ast: true,
106
+ code: false,
107
+ // NOTE(EvanBacon): We split the parse/transform steps up to accommodate
108
+ // Hermes parsing, but this defaults to cloning the AST which increases
109
+ // the transformation time by a fair amount.
110
+ // You get this behavior by default when using Babel's `transform` method directly.
111
+ cloneInputAst: false,
112
+ // Options for debugging
113
+ cwd: options.projectRoot,
114
+ filename,
115
+ highlightCode: true,
116
+ ...babelConfigFromVitePlugin,
117
+ ...loadBabelConfig(options),
118
+ babelrc: typeof options.enableBabelRCLookup === "boolean" ? options.enableBabelRCLookup : true,
119
+ plugins: [...(babelConfigFromVitePlugin.plugins || []), ...plugins],
120
+ // NOTE(EvanBacon): We heavily leverage the caller functionality to mutate the babel config.
121
+ // This compensates for the lack of a format plugin system in Metro. Users can modify the
122
+ // all (most) of the transforms in their local Babel config.
123
+ // This also helps us keep the transform layers small and focused on a single task. We can also use this to
124
+ // ensure the Babel config caching is more accurate.
125
+ // Additionally, by moving everything Babel-related to the Babel preset, it makes it easier for users to reason
126
+ // about the requirements of an Expo project, making it easier to migrate to other transpilers in the future.
127
+ caller: getBabelCaller({
83
128
  filename,
84
- src,
85
- options,
86
- // `plugins` is used for `functionMapBabelPlugin` from `metro-source-map`. Could make sense to move this to `babel-preset-expo` too.
87
- plugins
88
- } = param,
89
- customOptionsFromVite = function () {
90
- var _options_customTransformOptions,
91
- c = (_options_customTransformOptions = options.customTransformOptions) === null || _options_customTransformOptions === void 0 ? void 0 : _options_customTransformOptions.vite;
92
- if (!c || (typeof c > "u" ? "undefined" : _type_of(c)) !== "object") throw new Error(`[vite-plugin-metro/babel-transformer]: Expect options.customTransformOptions.vite to be an object, but got ${typeof c > "u" ? "undefined" : _type_of(c)}.`);
93
- return c;
94
- }(),
95
- babelConfigFromVitePlugin = customOptionsFromVite.babelConfig || {},
96
- OLD_BABEL_ENV = process.env.BABEL_ENV;
97
- process.env.BABEL_ENV = options.dev ? "development" : process.env.BABEL_ENV || "production";
98
- try {
99
- var babelConfig = {
100
- // ES modules require sourceType='module' but OSS may not always want that
101
- sourceType: "unambiguous",
102
- // The output we want from Babel methods
103
- ast: !0,
104
- code: !1,
105
- // NOTE(EvanBacon): We split the parse/transform steps up to accommodate
106
- // Hermes parsing, but this defaults to cloning the AST which increases
107
- // the transformation time by a fair amount.
108
- // You get this behavior by default when using Babel's `transform` method directly.
109
- cloneInputAst: !1,
110
- // Options for debugging
111
- cwd: options.projectRoot,
112
- filename,
113
- highlightCode: !0,
114
- ...babelConfigFromVitePlugin,
115
- ...loadBabelConfig(options),
116
- babelrc: typeof options.enableBabelRCLookup == "boolean" ? options.enableBabelRCLookup : !0,
117
- plugins: [...(babelConfigFromVitePlugin.plugins || []), ...plugins],
118
- // NOTE(EvanBacon): We heavily leverage the caller functionality to mutate the babel config.
119
- // This compensates for the lack of a format plugin system in Metro. Users can modify the
120
- // all (most) of the transforms in their local Babel config.
121
- // This also helps us keep the transform layers small and focused on a single task. We can also use this to
122
- // ensure the Babel config caching is more accurate.
123
- // Additionally, by moving everything Babel-related to the Babel preset, it makes it easier for users to reason
124
- // about the requirements of an Expo project, making it easier to migrate to other transpilers in the future.
125
- caller: getBabelCaller({
126
- filename,
127
- options
128
- })
129
- },
130
- result = transformSync(src, babelConfig, options);
131
- return result ? (assert(result.ast), {
132
- ast: result.ast,
133
- metadata: result.metadata
134
- }) : {
129
+ options
130
+ })
131
+ };
132
+ var result = transformSync(src, babelConfig, options);
133
+ if (!result) {
134
+ return {
135
135
  ast: null
136
136
  };
137
- } finally {
138
- OLD_BABEL_ENV && (process.env.BABEL_ENV = OLD_BABEL_ENV);
139
137
  }
140
- },
141
- babelTransformer = {
142
- transform
143
- };
138
+ assert(result.ast);
139
+ return {
140
+ ast: result.ast,
141
+ metadata: result.metadata
142
+ };
143
+ } finally {
144
+ if (OLD_BABEL_ENV) {
145
+ process.env.BABEL_ENV = OLD_BABEL_ENV;
146
+ }
147
+ }
148
+ };
149
+ var babelTransformer = {
150
+ transform
151
+ };
144
152
  module.exports = babelTransformer;
145
153
  //# sourceMappingURL=babel-transformer.native.js.map