@vxrn/vite-plugin-metro 1.25.5 → 1.25.6

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 (259) hide show
  1. package/dist/cjs/babel-plugins/import-meta-env-plugin.cjs +130 -0
  2. package/dist/cjs/babel-plugins/import-meta-env-plugin.native.js +138 -0
  3. package/dist/cjs/babel-plugins/import-meta-env-plugin.native.js.map +1 -0
  4. package/dist/cjs/env/platformEnv.cjs +76 -0
  5. package/dist/cjs/env/platformEnv.native.js +98 -0
  6. package/dist/cjs/env/platformEnv.native.js.map +1 -0
  7. package/dist/cjs/index.cjs +41 -0
  8. package/dist/cjs/index.native.js +44 -0
  9. package/dist/cjs/index.native.js.map +1 -0
  10. package/dist/cjs/metro-config/getMetroBabelConfigFromViteConfig.cjs +62 -0
  11. package/dist/cjs/metro-config/getMetroBabelConfigFromViteConfig.native.js +109 -0
  12. package/dist/cjs/metro-config/getMetroBabelConfigFromViteConfig.native.js.map +1 -0
  13. package/dist/cjs/metro-config/getMetroConfigFromViteConfig.cjs +270 -0
  14. package/dist/cjs/metro-config/getMetroConfigFromViteConfig.native.js +284 -0
  15. package/dist/cjs/metro-config/getMetroConfigFromViteConfig.native.js.map +1 -0
  16. package/dist/cjs/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.cjs +55 -0
  17. package/dist/cjs/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.native.js +59 -0
  18. package/dist/cjs/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.native.js.map +1 -0
  19. package/dist/cjs/metro-config/types.cjs +18 -0
  20. package/dist/cjs/metro-config/types.native.js +21 -0
  21. package/dist/cjs/metro-config/types.native.js.map +1 -0
  22. package/dist/cjs/plugins/expoManifestRequestHandlerPlugin.cjs +71 -0
  23. package/dist/cjs/plugins/expoManifestRequestHandlerPlugin.native.js +82 -0
  24. package/dist/cjs/plugins/expoManifestRequestHandlerPlugin.native.js.map +1 -0
  25. package/dist/cjs/plugins/metroPlugin.cjs +272 -0
  26. package/dist/cjs/plugins/metroPlugin.native.js +281 -0
  27. package/dist/cjs/plugins/metroPlugin.native.js.map +1 -0
  28. package/dist/cjs/rn-commands/bundle/assetCatalogIOS.cjs +90 -0
  29. package/dist/cjs/rn-commands/bundle/assetCatalogIOS.native.js +135 -0
  30. package/dist/cjs/rn-commands/bundle/assetCatalogIOS.native.js.map +1 -0
  31. package/dist/cjs/rn-commands/bundle/assetPathUtils.cjs +74 -0
  32. package/dist/cjs/rn-commands/bundle/assetPathUtils.native.js +77 -0
  33. package/dist/cjs/rn-commands/bundle/assetPathUtils.native.js.map +1 -0
  34. package/dist/cjs/rn-commands/bundle/buildBundle.cjs +62 -0
  35. package/dist/cjs/rn-commands/bundle/buildBundle.native.js +67 -0
  36. package/dist/cjs/rn-commands/bundle/buildBundle.native.js.map +1 -0
  37. package/dist/cjs/rn-commands/bundle/buildBundleWithConfig.cjs +87 -0
  38. package/dist/cjs/rn-commands/bundle/buildBundleWithConfig.native.js +94 -0
  39. package/dist/cjs/rn-commands/bundle/buildBundleWithConfig.native.js.map +1 -0
  40. package/dist/cjs/rn-commands/bundle/filterPlatformAssetScales.cjs +51 -0
  41. package/dist/cjs/rn-commands/bundle/filterPlatformAssetScales.native.js +75 -0
  42. package/dist/cjs/rn-commands/bundle/filterPlatformAssetScales.native.js.map +1 -0
  43. package/dist/cjs/rn-commands/bundle/getAssetDestPathAndroid.cjs +46 -0
  44. package/dist/cjs/rn-commands/bundle/getAssetDestPathAndroid.native.js +49 -0
  45. package/dist/cjs/rn-commands/bundle/getAssetDestPathAndroid.native.js.map +1 -0
  46. package/dist/cjs/rn-commands/bundle/getAssetDestPathIOS.cjs +49 -0
  47. package/dist/cjs/rn-commands/bundle/getAssetDestPathIOS.native.js +52 -0
  48. package/dist/cjs/rn-commands/bundle/getAssetDestPathIOS.native.js.map +1 -0
  49. package/dist/cjs/rn-commands/bundle/getBuildBundleFn.cjs +45 -0
  50. package/dist/cjs/rn-commands/bundle/getBuildBundleFn.native.js +48 -0
  51. package/dist/cjs/rn-commands/bundle/getBuildBundleFn.native.js.map +1 -0
  52. package/dist/cjs/rn-commands/bundle/index.cjs +30 -0
  53. package/dist/cjs/rn-commands/bundle/index.native.js +33 -0
  54. package/dist/cjs/rn-commands/bundle/index.native.js.map +1 -0
  55. package/dist/cjs/rn-commands/bundle/saveAssets.cjs +121 -0
  56. package/dist/cjs/rn-commands/bundle/saveAssets.native.js +143 -0
  57. package/dist/cjs/rn-commands/bundle/saveAssets.native.js.map +1 -0
  58. package/dist/cjs/rn-commands/bundle/types.cjs +18 -0
  59. package/dist/cjs/rn-commands/bundle/types.native.js +21 -0
  60. package/dist/cjs/rn-commands/bundle/types.native.js.map +1 -0
  61. package/dist/cjs/rn-commands/index.cjs +39 -0
  62. package/dist/cjs/rn-commands/index.native.js +42 -0
  63. package/dist/cjs/rn-commands/index.native.js.map +1 -0
  64. package/dist/cjs/transformer/babel-core.cjs +30 -0
  65. package/dist/cjs/transformer/babel-core.native.js +33 -0
  66. package/dist/cjs/transformer/babel-core.native.js.map +1 -0
  67. package/dist/cjs/transformer/babel-transformer.cjs +176 -0
  68. package/dist/cjs/transformer/babel-transformer.native.js +186 -0
  69. package/dist/cjs/transformer/babel-transformer.native.js.map +1 -0
  70. package/dist/cjs/transformer/loadBabelConfig.cjs +64 -0
  71. package/dist/cjs/transformer/loadBabelConfig.native.js +70 -0
  72. package/dist/cjs/transformer/loadBabelConfig.native.js.map +1 -0
  73. package/dist/cjs/transformer/transformSync.cjs +85 -0
  74. package/dist/cjs/transformer/transformSync.native.js +91 -0
  75. package/dist/cjs/transformer/transformSync.native.js.map +1 -0
  76. package/dist/cjs/transformer/transformSync.test.cjs +36 -0
  77. package/dist/cjs/transformer/transformSync.test.native.js +49 -0
  78. package/dist/cjs/transformer/transformSync.test.native.js.map +1 -0
  79. package/dist/cjs/transformer/types.cjs +18 -0
  80. package/dist/cjs/transformer/types.native.js +21 -0
  81. package/dist/cjs/transformer/types.native.js.map +1 -0
  82. package/dist/cjs/utils/exit.cjs +174 -0
  83. package/dist/cjs/utils/exit.native.js +281 -0
  84. package/dist/cjs/utils/exit.native.js.map +1 -0
  85. package/dist/cjs/utils/getTerminalReporter.cjs +64 -0
  86. package/dist/cjs/utils/getTerminalReporter.native.js +70 -0
  87. package/dist/cjs/utils/getTerminalReporter.native.js.map +1 -0
  88. package/dist/cjs/utils/metroCacheManager.cjs +125 -0
  89. package/dist/cjs/utils/metroCacheManager.native.js +148 -0
  90. package/dist/cjs/utils/metroCacheManager.native.js.map +1 -0
  91. package/dist/cjs/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.cjs +39 -0
  92. package/dist/cjs/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.native.js +42 -0
  93. package/dist/cjs/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.native.js.map +1 -0
  94. package/dist/cjs/utils/projectImport.cjs +72 -0
  95. package/dist/cjs/utils/projectImport.native.js +83 -0
  96. package/dist/cjs/utils/projectImport.native.js.map +1 -0
  97. package/dist/esm/babel-plugins/import-meta-env-plugin.mjs +93 -0
  98. package/dist/esm/babel-plugins/import-meta-env-plugin.mjs.map +1 -0
  99. package/dist/esm/babel-plugins/import-meta-env-plugin.native.js +98 -0
  100. package/dist/esm/babel-plugins/import-meta-env-plugin.native.js.map +1 -0
  101. package/dist/esm/env/platformEnv.mjs +49 -0
  102. package/dist/esm/env/platformEnv.mjs.map +1 -0
  103. package/dist/esm/env/platformEnv.native.js +68 -0
  104. package/dist/esm/env/platformEnv.native.js.map +1 -0
  105. package/dist/esm/index.js +8 -0
  106. package/dist/esm/index.js.map +1 -0
  107. package/dist/esm/index.mjs +8 -0
  108. package/dist/esm/index.mjs.map +1 -0
  109. package/dist/esm/index.native.js +8 -0
  110. package/dist/esm/index.native.js.map +1 -0
  111. package/dist/esm/metro-config/getMetroBabelConfigFromViteConfig.mjs +37 -0
  112. package/dist/esm/metro-config/getMetroBabelConfigFromViteConfig.mjs.map +1 -0
  113. package/dist/esm/metro-config/getMetroBabelConfigFromViteConfig.native.js +81 -0
  114. package/dist/esm/metro-config/getMetroBabelConfigFromViteConfig.native.js.map +1 -0
  115. package/dist/esm/metro-config/getMetroConfigFromViteConfig.mjs +233 -0
  116. package/dist/esm/metro-config/getMetroConfigFromViteConfig.mjs.map +1 -0
  117. package/dist/esm/metro-config/getMetroConfigFromViteConfig.native.js +244 -0
  118. package/dist/esm/metro-config/getMetroConfigFromViteConfig.native.js.map +1 -0
  119. package/dist/esm/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.mjs +30 -0
  120. package/dist/esm/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.mjs.map +1 -0
  121. package/dist/esm/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.native.js +31 -0
  122. package/dist/esm/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.native.js.map +1 -0
  123. package/dist/esm/metro-config/types.mjs +2 -0
  124. package/dist/esm/metro-config/types.mjs.map +1 -0
  125. package/dist/esm/metro-config/types.native.js +2 -0
  126. package/dist/esm/metro-config/types.native.js.map +1 -0
  127. package/dist/esm/plugins/expoManifestRequestHandlerPlugin.mjs +46 -0
  128. package/dist/esm/plugins/expoManifestRequestHandlerPlugin.mjs.map +1 -0
  129. package/dist/esm/plugins/expoManifestRequestHandlerPlugin.native.js +54 -0
  130. package/dist/esm/plugins/expoManifestRequestHandlerPlugin.native.js.map +1 -0
  131. package/dist/esm/plugins/metroPlugin.mjs +236 -0
  132. package/dist/esm/plugins/metroPlugin.mjs.map +1 -0
  133. package/dist/esm/plugins/metroPlugin.native.js +242 -0
  134. package/dist/esm/plugins/metroPlugin.native.js.map +1 -0
  135. package/dist/esm/rn-commands/bundle/assetCatalogIOS.mjs +51 -0
  136. package/dist/esm/rn-commands/bundle/assetCatalogIOS.mjs.map +1 -0
  137. package/dist/esm/rn-commands/bundle/assetCatalogIOS.native.js +93 -0
  138. package/dist/esm/rn-commands/bundle/assetCatalogIOS.native.js.map +1 -0
  139. package/dist/esm/rn-commands/bundle/assetPathUtils.mjs +49 -0
  140. package/dist/esm/rn-commands/bundle/assetPathUtils.mjs.map +1 -0
  141. package/dist/esm/rn-commands/bundle/assetPathUtils.native.js +49 -0
  142. package/dist/esm/rn-commands/bundle/assetPathUtils.native.js.map +1 -0
  143. package/dist/esm/rn-commands/bundle/buildBundle.mjs +37 -0
  144. package/dist/esm/rn-commands/bundle/buildBundle.mjs.map +1 -0
  145. package/dist/esm/rn-commands/bundle/buildBundle.native.js +39 -0
  146. package/dist/esm/rn-commands/bundle/buildBundle.native.js.map +1 -0
  147. package/dist/esm/rn-commands/bundle/buildBundleWithConfig.mjs +51 -0
  148. package/dist/esm/rn-commands/bundle/buildBundleWithConfig.mjs.map +1 -0
  149. package/dist/esm/rn-commands/bundle/buildBundleWithConfig.native.js +55 -0
  150. package/dist/esm/rn-commands/bundle/buildBundleWithConfig.native.js.map +1 -0
  151. package/dist/esm/rn-commands/bundle/filterPlatformAssetScales.mjs +26 -0
  152. package/dist/esm/rn-commands/bundle/filterPlatformAssetScales.mjs.map +1 -0
  153. package/dist/esm/rn-commands/bundle/filterPlatformAssetScales.native.js +47 -0
  154. package/dist/esm/rn-commands/bundle/filterPlatformAssetScales.native.js.map +1 -0
  155. package/dist/esm/rn-commands/bundle/getAssetDestPathAndroid.mjs +10 -0
  156. package/dist/esm/rn-commands/bundle/getAssetDestPathAndroid.mjs.map +1 -0
  157. package/dist/esm/rn-commands/bundle/getAssetDestPathAndroid.native.js +10 -0
  158. package/dist/esm/rn-commands/bundle/getAssetDestPathAndroid.native.js.map +1 -0
  159. package/dist/esm/rn-commands/bundle/getAssetDestPathIOS.mjs +13 -0
  160. package/dist/esm/rn-commands/bundle/getAssetDestPathIOS.mjs.map +1 -0
  161. package/dist/esm/rn-commands/bundle/getAssetDestPathIOS.native.js +13 -0
  162. package/dist/esm/rn-commands/bundle/getAssetDestPathIOS.native.js.map +1 -0
  163. package/dist/esm/rn-commands/bundle/getBuildBundleFn.mjs +20 -0
  164. package/dist/esm/rn-commands/bundle/getBuildBundleFn.mjs.map +1 -0
  165. package/dist/esm/rn-commands/bundle/getBuildBundleFn.native.js +20 -0
  166. package/dist/esm/rn-commands/bundle/getBuildBundleFn.native.js.map +1 -0
  167. package/dist/esm/rn-commands/bundle/index.mjs +4 -0
  168. package/dist/esm/rn-commands/bundle/index.mjs.map +1 -0
  169. package/dist/esm/rn-commands/bundle/index.native.js +4 -0
  170. package/dist/esm/rn-commands/bundle/index.native.js.map +1 -0
  171. package/dist/esm/rn-commands/bundle/saveAssets.mjs +85 -0
  172. package/dist/esm/rn-commands/bundle/saveAssets.mjs.map +1 -0
  173. package/dist/esm/rn-commands/bundle/saveAssets.native.js +104 -0
  174. package/dist/esm/rn-commands/bundle/saveAssets.native.js.map +1 -0
  175. package/dist/esm/rn-commands/bundle/types.mjs +2 -0
  176. package/dist/esm/rn-commands/bundle/types.mjs.map +1 -0
  177. package/dist/esm/rn-commands/bundle/types.native.js +2 -0
  178. package/dist/esm/rn-commands/bundle/types.native.js.map +1 -0
  179. package/dist/esm/rn-commands/index.mjs +3 -0
  180. package/dist/esm/rn-commands/index.mjs.map +1 -0
  181. package/dist/esm/rn-commands/index.native.js +3 -0
  182. package/dist/esm/rn-commands/index.native.js.map +1 -0
  183. package/dist/esm/transformer/babel-core.mjs +3 -0
  184. package/dist/esm/transformer/babel-core.mjs.map +1 -0
  185. package/dist/esm/transformer/babel-core.native.js +3 -0
  186. package/dist/esm/transformer/babel-core.native.js.map +1 -0
  187. package/dist/esm/transformer/babel-transformer.mjs +148 -0
  188. package/dist/esm/transformer/babel-transformer.mjs.map +1 -0
  189. package/dist/esm/transformer/babel-transformer.native.js +160 -0
  190. package/dist/esm/transformer/babel-transformer.native.js.map +1 -0
  191. package/dist/esm/transformer/loadBabelConfig.mjs +28 -0
  192. package/dist/esm/transformer/loadBabelConfig.mjs.map +1 -0
  193. package/dist/esm/transformer/loadBabelConfig.native.js +31 -0
  194. package/dist/esm/transformer/loadBabelConfig.native.js.map +1 -0
  195. package/dist/esm/transformer/transformSync.mjs +49 -0
  196. package/dist/esm/transformer/transformSync.mjs.map +1 -0
  197. package/dist/esm/transformer/transformSync.native.js +52 -0
  198. package/dist/esm/transformer/transformSync.native.js.map +1 -0
  199. package/dist/esm/transformer/transformSync.test.mjs +37 -0
  200. package/dist/esm/transformer/transformSync.test.mjs.map +1 -0
  201. package/dist/esm/transformer/transformSync.test.native.js +47 -0
  202. package/dist/esm/transformer/transformSync.test.native.js.map +1 -0
  203. package/dist/esm/transformer/types.mjs +2 -0
  204. package/dist/esm/transformer/types.mjs.map +1 -0
  205. package/dist/esm/transformer/types.native.js +2 -0
  206. package/dist/esm/transformer/types.native.js.map +1 -0
  207. package/dist/esm/utils/exit.mjs +135 -0
  208. package/dist/esm/utils/exit.mjs.map +1 -0
  209. package/dist/esm/utils/exit.native.js +239 -0
  210. package/dist/esm/utils/exit.native.js.map +1 -0
  211. package/dist/esm/utils/getTerminalReporter.mjs +28 -0
  212. package/dist/esm/utils/getTerminalReporter.mjs.map +1 -0
  213. package/dist/esm/utils/getTerminalReporter.native.js +31 -0
  214. package/dist/esm/utils/getTerminalReporter.native.js.map +1 -0
  215. package/dist/esm/utils/metroCacheManager.mjs +100 -0
  216. package/dist/esm/utils/metroCacheManager.mjs.map +1 -0
  217. package/dist/esm/utils/metroCacheManager.native.js +120 -0
  218. package/dist/esm/utils/metroCacheManager.native.js.map +1 -0
  219. package/dist/esm/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.mjs +14 -0
  220. package/dist/esm/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.mjs.map +1 -0
  221. package/dist/esm/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.native.js +14 -0
  222. package/dist/esm/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.native.js.map +1 -0
  223. package/dist/esm/utils/projectImport.mjs +34 -0
  224. package/dist/esm/utils/projectImport.mjs.map +1 -0
  225. package/dist/esm/utils/projectImport.native.js +42 -0
  226. package/dist/esm/utils/projectImport.native.js.map +1 -0
  227. package/package.json +3 -3
  228. package/types/babel-plugins/import-meta-env-plugin.d.ts.map +1 -0
  229. package/types/env/platformEnv.d.ts.map +1 -0
  230. package/types/index.d.ts.map +1 -0
  231. package/types/metro-config/getMetroBabelConfigFromViteConfig.d.ts.map +1 -0
  232. package/types/metro-config/getMetroConfigFromViteConfig.d.ts.map +1 -0
  233. package/types/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.d.ts.map +1 -0
  234. package/types/metro-config/types.d.ts.map +1 -0
  235. package/types/plugins/expoManifestRequestHandlerPlugin.d.ts.map +1 -0
  236. package/types/plugins/metroPlugin.d.ts.map +1 -0
  237. package/types/rn-commands/bundle/assetCatalogIOS.d.ts.map +1 -0
  238. package/types/rn-commands/bundle/assetPathUtils.d.ts.map +1 -0
  239. package/types/rn-commands/bundle/buildBundle.d.ts.map +1 -0
  240. package/types/rn-commands/bundle/buildBundleWithConfig.d.ts.map +1 -0
  241. package/types/rn-commands/bundle/filterPlatformAssetScales.d.ts.map +1 -0
  242. package/types/rn-commands/bundle/getAssetDestPathAndroid.d.ts.map +1 -0
  243. package/types/rn-commands/bundle/getAssetDestPathIOS.d.ts.map +1 -0
  244. package/types/rn-commands/bundle/getBuildBundleFn.d.ts.map +1 -0
  245. package/types/rn-commands/bundle/index.d.ts.map +1 -0
  246. package/types/rn-commands/bundle/saveAssets.d.ts.map +1 -0
  247. package/types/rn-commands/bundle/types.d.ts.map +1 -0
  248. package/types/rn-commands/index.d.ts.map +1 -0
  249. package/types/transformer/babel-core.d.ts.map +1 -0
  250. package/types/transformer/babel-transformer.d.ts.map +1 -0
  251. package/types/transformer/loadBabelConfig.d.ts.map +1 -0
  252. package/types/transformer/transformSync.d.ts.map +1 -0
  253. package/types/transformer/transformSync.test.d.ts.map +1 -0
  254. package/types/transformer/types.d.ts.map +1 -0
  255. package/types/utils/exit.d.ts.map +1 -0
  256. package/types/utils/getTerminalReporter.d.ts.map +1 -0
  257. package/types/utils/metroCacheManager.d.ts.map +1 -0
  258. package/types/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.d.ts.map +1 -0
  259. package/types/utils/projectImport.d.ts.map +1 -0
@@ -0,0 +1,31 @@
1
+ import fs from "fs";
2
+ import path from "path";
3
+ var loadBabelConfig = /* @__PURE__ */function () {
4
+ var babelRC = null;
5
+ return function _getBabelRC(param) {
6
+ var {
7
+ projectRoot
8
+ } = param;
9
+ if (babelRC !== null) {
10
+ return babelRC;
11
+ }
12
+ babelRC = {};
13
+ if (projectRoot) {
14
+ var possibleBabelRCPaths = [".babelrc", ".babelrc.js", "babel.config.js", "babel.config.cjs", "babel.config.mjs"];
15
+ var foundBabelRCPath = possibleBabelRCPaths.find(function (configFileName) {
16
+ return fs.existsSync(path.resolve(projectRoot, configFileName));
17
+ });
18
+ if (foundBabelRCPath) {
19
+ babelRC.extends = path.resolve(projectRoot, foundBabelRCPath);
20
+ }
21
+ }
22
+ if (!babelRC.extends) {
23
+ babelRC.presets = [
24
+ // { plugins: [transformImportMetaGlobPlugin] }, // Added to support Vite's `import.meta.glob`
25
+ require("babel-preset-expo")];
26
+ }
27
+ return babelRC;
28
+ };
29
+ }();
30
+ export { loadBabelConfig };
31
+ //# sourceMappingURL=loadBabelConfig.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["fs","path","loadBabelConfig","babelRC","_getBabelRC","param","projectRoot","possibleBabelRCPaths","foundBabelRCPath","find","configFileName","existsSync","resolve","extends","presets","require"],"sources":["../../../src/transformer/loadBabelConfig.ts"],"sourcesContent":[null],"mappings":"AAOA,OAAOA,EAAA,MAAQ;AACf,OAAOC,IAAA,MAAU;AASV,IAAAC,eAAM,kBAAmB,YAAM;EACpC,IAAIC,OAAA,GAAgE;EAEpE,OAAO,SAASC,YAAYC,KAAE;IAC5B,IAAI;MAAAC;IAAY,IAAMD,KAAA;IACpB,IAAAF,OAAO;MACT,OAAAA,OAAA;IAEA;IAEAA,OAAI;IAGF,IAAAG,WAAM;MAAuB,IAC3BC,oBAAA,IACA,YACA,eACA,mBACA,oBACF,mBAEA;MAA8C,IAAMC,gBAAA,GAClDD,oBAAmB,CAAAE,IAAA,CAAQ,UAAAC,cAAa;QAC1C,OAAAV,EAAA,CAAAW,UAAA,CAAAV,IAAA,CAAAW,OAAA,CAAAN,WAAA,EAAAI,cAAA;MAGA;MACE,IAAAF,gBAAkB;QACpBL,OAAA,CAAAU,OAAA,GAAAZ,IAAA,CAAAW,OAAA,CAAAN,WAAA,EAAAE,gBAAA;MACF;IAGA;IACE,KAAAL,OAAQ,CAAAU,OAAU;MAAAV,OAAA,CAAAW,OAAA;MAEhB;MACFC,OAAA,sBACF;IAEA;IACF,OAAAZ,OAAA;EACF,CAAG","ignoreList":[]}
@@ -0,0 +1,49 @@
1
+ import * as babel from "./babel-core.mjs";
2
+ function isTypeScriptSource(fileName) {
3
+ return fileName?.endsWith(".ts");
4
+ }
5
+ function isTSXSource(fileName) {
6
+ return fileName?.endsWith(".tsx");
7
+ }
8
+ function transformSync(src, babelConfig, {
9
+ hermesParser
10
+ }) {
11
+ const loadedBabelConfig = babel.loadOptions(babelConfig);
12
+ if (!loadedBabelConfig) return null;
13
+ let hasWorkletsPlugin = false;
14
+ loadedBabelConfig.plugins = loadedBabelConfig.plugins?.filter(plugin => {
15
+ const workletsPlugin = plugin;
16
+ if (workletsPlugin.key !== "worklets") return true;
17
+ if (workletsPlugin.options && "workletizableModules" in workletsPlugin.options) {
18
+ throw new Error("[vxrn] `workletizableModules` was removed from react-native-worklets. use `importForwarding.moduleNames`.");
19
+ }
20
+ if (hasWorkletsPlugin) return false;
21
+ hasWorkletsPlugin = true;
22
+ return true;
23
+ });
24
+ const isTypeScript = isTypeScriptSource(loadedBabelConfig.filename ?? "") || isTSXSource(loadedBabelConfig.filename ?? "");
25
+ if (isTypeScript) {
26
+ return parseWithBabel(src, loadedBabelConfig);
27
+ }
28
+ if (!isTypeScript && (
29
+ // The Hermes parser doesn't support comments or babel proposals such as export default from, meaning it has lower compatibility with larger parts
30
+ // of the ecosystem.
31
+ // However, React Native ships with flow syntax that isn't supported in Babel so we need to use Hermes for those files.
32
+ // We can try to quickly detect if the file uses flow syntax by checking for the @flow pragma which is present in every React Native file.
33
+ hermesParser || src.includes(" @flow"))) {
34
+ return parseWithHermes(src, loadedBabelConfig);
35
+ }
36
+ return parseWithBabel(src, loadedBabelConfig);
37
+ }
38
+ function parseWithHermes(src, babelConfig) {
39
+ const sourceAst = require("hermes-parser").parse(src, {
40
+ babel: true,
41
+ sourceType: babelConfig.sourceType
42
+ });
43
+ return babel.transformFromAstSync(sourceAst, src, babelConfig);
44
+ }
45
+ function parseWithBabel(src, babelConfig) {
46
+ return babel.transformSync(src, babelConfig);
47
+ }
48
+ export { transformSync };
49
+ //# sourceMappingURL=transformSync.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["babel","isTypeScriptSource","fileName","endsWith","isTSXSource","transformSync","src","babelConfig","hermesParser","loadedBabelConfig","loadOptions","hasWorkletsPlugin","plugins","filter","plugin","workletsPlugin","key","options","Error","isTypeScript","filename","parseWithBabel","includes","parseWithHermes","sourceAst","require","parse","sourceType","transformFromAstSync"],"sources":["../../../src/transformer/transformSync.ts"],"sourcesContent":[null],"mappings":"AAMA,YAAYA,KAAA,MAAW;AAGvB,SAASC,mBAAmBC,QAAA,EAA2B;EACrD,OAAOA,QAAA,EAAUC,QAAA,CAAS,KAAK;AACjC;AAEA,SAASC,YAAYF,QAAA,EAA2B;EAC9C,OAAOA,QAAA,EAAUC,QAAA,CAAS,MAAM;AAClC;AAEO,SAASE,cACdC,GAAA,EACAC,WAAA,EACA;EAAEC;AAAa,GACf;EACA,MAAMC,iBAAA,GAAoBT,KAAA,CAAMU,WAAA,CAC9BH,WACF;EACA,IAAI,CAACE,iBAAA,EAAmB,OAAO;EAI/B,IAAIE,iBAAA,GAAoB;EACxBF,iBAAA,CAAkBG,OAAA,GAAUH,iBAAA,CAAkBG,OAAA,EAASC,MAAA,CAAQC,MAAA,IAAW;IACxE,MAAMC,cAAA,GAAiBD,MAAA;IAIvB,IAAIC,cAAA,CAAeC,GAAA,KAAQ,YAAY,OAAO;IAC9C,IAAID,cAAA,CAAeE,OAAA,IAAW,0BAA0BF,cAAA,CAAeE,OAAA,EAAS;MAC9E,MAAM,IAAIC,KAAA,CACR,2GACF;IACF;IACA,IAAIP,iBAAA,EAAmB,OAAO;IAC9BA,iBAAA,GAAoB;IACpB,OAAO;EACT,CAAC;EAED,MAAMQ,YAAA,GACJlB,kBAAA,CAAmBQ,iBAAA,CAAkBW,QAAA,IAAY,EAAE,KACnDhB,WAAA,CAAYK,iBAAA,CAAkBW,QAAA,IAAY,EAAE;EAE9C,IAAID,YAAA,EAAc;IAChB,OAAOE,cAAA,CAAef,GAAA,EAAKG,iBAAiB;EAC9C;EAEA,IACE,CAACU,YAAA;EAAA;EAAA;EAAA;EAAA;EAKAX,YAAA,IAAgBF,GAAA,CAAIgB,QAAA,CAAS,QAAQ,IACtC;IACA,OAAOC,eAAA,CAAgBjB,GAAA,EAAKG,iBAAiB;EAC/C;EAEA,OAAOY,cAAA,CAAef,GAAA,EAAKG,iBAAiB;AAC9C;AAEA,SAASc,gBAAgBjB,GAAA,EAAaC,WAAA,EAAqC;EACzE,MAAMiB,SAAA,GAAYC,OAAA,CAAQ,eAAe,EAAEC,KAAA,CAAMpB,GAAA,EAAK;IACpDN,KAAA,EAAO;IACP2B,UAAA,EAAYpB,WAAA,CAAYoB;EAC1B,CAAC;EACD,OAAO3B,KAAA,CAAM4B,oBAAA,CAAqBJ,SAAA,EAAWlB,GAAA,EAAKC,WAAW;AAC/D;AAEA,SAASc,eAAef,GAAA,EAAaC,WAAA,EAAqC;EACxE,OAAOP,KAAA,CAAMK,aAAA,CAAcC,GAAA,EAAKC,WAAW;AAC7C","ignoreList":[]}
@@ -0,0 +1,52 @@
1
+ import * as babel from "./babel-core.native.js";
2
+ function isTypeScriptSource(fileName) {
3
+ return fileName === null || fileName === void 0 ? void 0 : fileName.endsWith(".ts");
4
+ }
5
+ function isTSXSource(fileName) {
6
+ return fileName === null || fileName === void 0 ? void 0 : fileName.endsWith(".tsx");
7
+ }
8
+ function transformSync(src, babelConfig, param) {
9
+ var {
10
+ hermesParser
11
+ } = param;
12
+ var _loadedBabelConfig_filename, _loadedBabelConfig_filename1;
13
+ var _loadedBabelConfig_plugins;
14
+ var loadedBabelConfig = babel.loadOptions(babelConfig);
15
+ if (!loadedBabelConfig) return null;
16
+ var hasWorkletsPlugin = false;
17
+ loadedBabelConfig.plugins = (_loadedBabelConfig_plugins = loadedBabelConfig.plugins) === null || _loadedBabelConfig_plugins === void 0 ? void 0 : _loadedBabelConfig_plugins.filter(function (plugin) {
18
+ var workletsPlugin = plugin;
19
+ if (workletsPlugin.key !== "worklets") return true;
20
+ if (workletsPlugin.options && "workletizableModules" in workletsPlugin.options) {
21
+ throw new Error("[vxrn] `workletizableModules` was removed from react-native-worklets. use `importForwarding.moduleNames`.");
22
+ }
23
+ if (hasWorkletsPlugin) return false;
24
+ hasWorkletsPlugin = true;
25
+ return true;
26
+ });
27
+ var isTypeScript = isTypeScriptSource((_loadedBabelConfig_filename = loadedBabelConfig.filename) !== null && _loadedBabelConfig_filename !== void 0 ? _loadedBabelConfig_filename : "") || isTSXSource((_loadedBabelConfig_filename1 = loadedBabelConfig.filename) !== null && _loadedBabelConfig_filename1 !== void 0 ? _loadedBabelConfig_filename1 : "");
28
+ if (isTypeScript) {
29
+ return parseWithBabel(src, loadedBabelConfig);
30
+ }
31
+ if (!isTypeScript && (
32
+ // The Hermes parser doesn't support comments or babel proposals such as export default from, meaning it has lower compatibility with larger parts
33
+ // of the ecosystem.
34
+ // However, React Native ships with flow syntax that isn't supported in Babel so we need to use Hermes for those files.
35
+ // We can try to quickly detect if the file uses flow syntax by checking for the @flow pragma which is present in every React Native file.
36
+ hermesParser || src.includes(" @flow"))) {
37
+ return parseWithHermes(src, loadedBabelConfig);
38
+ }
39
+ return parseWithBabel(src, loadedBabelConfig);
40
+ }
41
+ function parseWithHermes(src, babelConfig) {
42
+ var sourceAst = require("hermes-parser").parse(src, {
43
+ babel: true,
44
+ sourceType: babelConfig.sourceType
45
+ });
46
+ return babel.transformFromAstSync(sourceAst, src, babelConfig);
47
+ }
48
+ function parseWithBabel(src, babelConfig) {
49
+ return babel.transformSync(src, babelConfig);
50
+ }
51
+ export { transformSync };
52
+ //# sourceMappingURL=transformSync.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["babel","isTypeScriptSource","fileName","endsWith","isTSXSource","transformSync","src","babelConfig","param","hermesParser","_loadedBabelConfig_filename","_loadedBabelConfig_filename1","_loadedBabelConfig_plugins","loadedBabelConfig","loadOptions","hasWorkletsPlugin","plugins","filter","plugin","workletsPlugin","key","options","Error","isTypeScript","filename","parseWithBabel","includes","parseWithHermes","sourceAst","require","parse","sourceType","transformFromAstSync"],"sources":["../../../src/transformer/transformSync.ts"],"sourcesContent":[null],"mappings":"AAMA,YAAYA,KAAA,MAAW;AAGvB,SAASC,mBAAmBC,QAAA,EAA2B;EACrD,OAAOA,QAAA,KAAU,QAASA,QAAK,uBAAAA,QAAA,CAAAC,QAAA;AACjC;AAEA,SAASC,YAAYF,QAAA,EAA2B;EAC9C,OAAOA,QAAA,KAAU,QAASA,QAAM,uBAAAA,QAAA,CAAAC,QAAA;AAClC;AAEO,SAASE,cACdC,GAAA,EACAC,WAAA,EACAC,KAAE;EAEF;IAAMC;EAAA,IAAAD,KAAoB;EAAM,IAC9BE,2BAAA,EAAAC,4BAAA;EACF,IAAAC,0BAAA;EACA,IAAIC,iBAAC,GAAmBb,KAAA,CAAAc,WAAO,CAAAP,WAAA;EAI/B,IAAI,CAAAM,iBAAA,EAAoB;EACxB,IAAAE,iBAAkB,QAAU;EAC1BF,iBAAM,CAAAG,OAAiB,IAAAJ,0BAAA,GAAAC,iBAAA,CAAAG,OAAA,cAAAJ,0BAAA,uBAAAA,0BAAA,CAAAK,MAAA,WAAAC,MAAA;IAIvB,IAAIC,cAAA,GAAeD,MAAQ;IAC3B,IAAIC,cAAA,CAAeC,GAAA,eAAW;IAC5B,IAAAD,cAAU,CAAAE,OAAA,8BAAAF,cAAA,CAAAE,OAAA;MAAA,MACR,IAAAC,KAAA;IAAA;IAEJ,IAAAP,iBAAA;IACAA,iBAAI,OAAmB;IACvB;EACA;EACF,IAACQ,YAAA,GAAAtB,kBAAA,EAAAS,2BAAA,GAAAG,iBAAA,CAAAW,QAAA,cAAAd,2BAAA,cAAAA,2BAAA,UAAAN,WAAA,EAAAO,4BAAA,GAAAE,iBAAA,CAAAW,QAAA,cAAAb,4BAAA,cAAAA,4BAAA;EAED,IAAAY,YAAM;IAIN,OAAIE,cAAc,CAAAnB,GAAA,EAAAO,iBAAA;EAChB;EACF,KAAAU,YAAA;EAAA;EAEA;EACG;EAAA;EAAAd,YAAA,IAAAH,GAAA,CAAAoB,QAAA;IAKA,OAAAC,eAAoB,CAAArB,GAAA,EAASO,iBAC9B;EACA;EACF,OAAAY,cAAA,CAAAnB,GAAA,EAAAO,iBAAA;AAEA;AACF,SAAAc,gBAAArB,GAAA,EAAAC,WAAA;EAEA,IAAAqB,SAAS,GAAAC,OAAgB,gBAAa,EAAqCC,KAAA,CAAAxB,GAAA;IACzEN,KAAM;IACJ+B,UAAO,EAAAxB,WAAA,CAAAwB;EAAA,EACP;EACF,OAAC/B,KAAA,CAAAgC,oBAAA,CAAAJ,SAAA,EAAAtB,GAAA,EAAAC,WAAA;AACD;AACF,SAAAkB,eAAAnB,GAAA,EAAAC,WAAA;EAEA,OAASP,KAAA,CAAAK,aAAe,CAAaC,GAAA,EAAAC,WAAqC;AACxE;AACF,S","ignoreList":[]}
@@ -0,0 +1,37 @@
1
+ import { describe, expect, it } from "vitest";
2
+ import { transformSync } from "./transformSync.mjs";
3
+ const workletsPlugin = marker => () => ({
4
+ name: "worklets",
5
+ visitor: {
6
+ Program(_, state) {
7
+ const passes = state.file.metadata.workletsPasses ?? [];
8
+ state.file.metadata.workletsPasses = passes;
9
+ passes.push(marker);
10
+ }
11
+ }
12
+ });
13
+ describe("transformSync", () => {
14
+ it("runs an app-configured Worklets plugin only once when a preset adds another", () => {
15
+ const result = transformSync("export const value = 1", {
16
+ filename: "/project/input.ts",
17
+ babelrc: false,
18
+ configFile: false,
19
+ plugins: [workletsPlugin("app")],
20
+ presets: [() => ({
21
+ plugins: [workletsPlugin("preset")]
22
+ })]
23
+ }, {});
24
+ expect(result?.metadata?.workletsPasses).toEqual(["app"]);
25
+ });
26
+ it("rejects the removed workletizableModules option before transforming", () => {
27
+ expect(() => transformSync("export const value = 1", {
28
+ filename: "/project/input.ts",
29
+ babelrc: false,
30
+ configFile: false,
31
+ plugins: [[workletsPlugin("app"), {
32
+ workletizableModules: ["remend"]
33
+ }]]
34
+ }, {})).toThrow("use `importForwarding.moduleNames`");
35
+ });
36
+ });
37
+ //# sourceMappingURL=transformSync.test.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["describe","expect","it","transformSync","workletsPlugin","marker","name","visitor","Program","_","state","passes","file","metadata","workletsPasses","push","result","filename","babelrc","configFile","plugins","presets","toEqual","workletizableModules","toThrow"],"sources":["../../../src/transformer/transformSync.test.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,QAAA,EAAUC,MAAA,EAAQC,EAAA,QAAU;AACrC,SAASC,aAAA,QAAqB;AAI9B,MAAMC,cAAA,GAAkBC,MAAA,IAAmB,OAAO;EAChDC,IAAA,EAAM;EACNC,OAAA,EAAS;IACPC,QAAQC,CAAA,EAAYC,KAAA,EAAiD;MACnE,MAAMC,MAAA,GAASD,KAAA,CAAME,IAAA,CAAKC,QAAA,CAASC,cAAA,IAAkB,EAAC;MACtDJ,KAAA,CAAME,IAAA,CAAKC,QAAA,CAASC,cAAA,GAAiBH,MAAA;MACrCA,MAAA,CAAOI,IAAA,CAAKV,MAAM;IACpB;EACF;AACF;AAEAL,QAAA,CAAS,iBAAiB,MAAM;EAC9BE,EAAA,CAAG,+EAA+E,MAAM;IACtF,MAAMc,MAAA,GAASb,aAAA,CACb,0BACA;MACEc,QAAA,EAAU;MACVC,OAAA,EAAS;MACTC,UAAA,EAAY;MACZC,OAAA,EAAS,CAAChB,cAAA,CAAe,KAAK,CAAC;MAC/BiB,OAAA,EAAS,CAAC,OAAO;QAAED,OAAA,EAAS,CAAChB,cAAA,CAAe,QAAQ,CAAC;MAAE,EAAE;IAC3D,GACA,CAAC,CACH;IAEAH,MAAA,CAAQe,MAAA,EAAQH,QAAA,EAA2CC,cAAc,EAAEQ,OAAA,CAAQ,CACjF,MACD;EACH,CAAC;EAEDpB,EAAA,CAAG,uEAAuE,MAAM;IAC9ED,MAAA,CAAO,MACLE,aAAA,CACE,0BACA;MACEc,QAAA,EAAU;MACVC,OAAA,EAAS;MACTC,UAAA,EAAY;MACZC,OAAA,EAAS,CAAC,CAAChB,cAAA,CAAe,KAAK,GAAG;QAAEmB,oBAAA,EAAsB,CAAC,QAAQ;MAAE,CAAC,CAAC;IACzE,GACA,CAAC,CACH,CACF,EAAEC,OAAA,CAAQ,oCAAoC;EAChD,CAAC;AACH,CAAC","ignoreList":[]}
@@ -0,0 +1,47 @@
1
+ import { describe, expect, it } from "vitest";
2
+ import { transformSync } from "./transformSync.native.js";
3
+ var workletsPlugin = function (marker) {
4
+ return function () {
5
+ return {
6
+ name: "worklets",
7
+ visitor: {
8
+ Program(_, state) {
9
+ var _state_file_metadata_workletsPasses;
10
+ var passes = (_state_file_metadata_workletsPasses = state.file.metadata.workletsPasses) !== null && _state_file_metadata_workletsPasses !== void 0 ? _state_file_metadata_workletsPasses : [];
11
+ state.file.metadata.workletsPasses = passes;
12
+ passes.push(marker);
13
+ }
14
+ }
15
+ };
16
+ };
17
+ };
18
+ describe("transformSync", function () {
19
+ it("runs an app-configured Worklets plugin only once when a preset adds another", function () {
20
+ var _result_metadata;
21
+ var result = transformSync("export const value = 1", {
22
+ filename: "/project/input.ts",
23
+ babelrc: false,
24
+ configFile: false,
25
+ plugins: [workletsPlugin("app")],
26
+ presets: [function () {
27
+ return {
28
+ plugins: [workletsPlugin("preset")]
29
+ };
30
+ }]
31
+ }, {});
32
+ expect(result === null || result === void 0 ? void 0 : (_result_metadata = result.metadata) === null || _result_metadata === void 0 ? void 0 : _result_metadata.workletsPasses).toEqual(["app"]);
33
+ });
34
+ it("rejects the removed workletizableModules option before transforming", function () {
35
+ expect(function () {
36
+ return transformSync("export const value = 1", {
37
+ filename: "/project/input.ts",
38
+ babelrc: false,
39
+ configFile: false,
40
+ plugins: [[workletsPlugin("app"), {
41
+ workletizableModules: ["remend"]
42
+ }]]
43
+ }, {});
44
+ }).toThrow("use `importForwarding.moduleNames`");
45
+ });
46
+ });
47
+ //# sourceMappingURL=transformSync.test.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["describe","expect","it","transformSync","workletsPlugin","marker","name","visitor","Program","_","state","_state_file_metadata_workletsPasses","passes","file","metadata","workletsPasses","push","_result_metadata","result","filename","babelrc","configFile","plugins","presets","toEqual"],"sources":["../../../src/transformer/transformSync.test.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,QAAA,EAAUC,MAAA,EAAQC,EAAA,QAAU;AACrC,SAASC,aAAA,QAAqB;AAI9B,IAAAC,cAAM,YAAAA,CAAkBC,MAAmB;EACzC,OAAM;IACN,OAAS;MACPC,IAAA,EAAQ,UAA6D;MACnEC,OAAM;QACNC,OAAMA,CAAAC,CAAK,EAAAC,KAAA,EAAS;UACpB,IAAOC,mCAAW;UACpB,IAAAC,MAAA,IAAAD,mCAAA,GAAAD,KAAA,CAAAG,IAAA,CAAAC,QAAA,CAAAC,cAAA,cAAAJ,mCAAA,cAAAA,mCAAA;UACFD,KAAA,CAAAG,IAAA,CAAAC,QAAA,CAAAC,cAAA,GAAAH,MAAA;UACFA,MAAA,CAAAI,IAAA,CAAAX,MAAA;QAEA;MACK;IACD;EAAe;AACb;AACAL,QACE,gBAAU;EAAAE,EAAA,8EACD;IAAA,IACTe,gBAAY;IAAA,IACZC,MAAA,GAASf,aAAC,yBAAqB;MAAAgB,QAC/B,qBAAmB;MACrBC,OAAA;MACAC,UAAC;MACHC,OAAA,GAEAlB,cAAgB,OAA2C,CACzD;MACDmB,OAAA,GACF;QAEE;UACDD,OAAA,GACElB,cAAA;QAEE;MAAA;IAEW,MACT;IAAYH,MACZ,CAAAiB,MAAA,KAAW,QAAAA,MAAe,KAAK,KAAK,cAAAD,gBAAuB,GAAUC,MAAE,CAAAJ,QAAA,cAAAG,gBAAA,uBAAAA,gBAAA,CAAAF,cAAA,EAAAS,OAAA,OACzE;EACC;EACHtB,EACF,sEAA8C;IAC/CD,MAAA;MACF,OAAAE,aAAA","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+
2
+ //# sourceMappingURL=types.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":[],"sourcesContent":[],"mappings":"","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+
2
+ //# sourceMappingURL=types.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":[],"sourcesContent":[],"mappings":"","ignoreList":[]}
@@ -0,0 +1,135 @@
1
+ import { ChildProcess } from "node:child_process";
2
+ import process from "node:process";
3
+ import colors from "picocolors";
4
+ const debug = (..._) => {};
5
+ const PRE_EXIT_SIGNALS = ["SIGHUP", "SIGINT", "SIGTERM", "SIGBREAK"];
6
+ const queue = [];
7
+ let unsubscribe = null;
8
+ function installExitHooks(asyncExitHook) {
9
+ if (!queue.length) {
10
+ unsubscribe = attachMasterListener();
11
+ }
12
+ queue.push(asyncExitHook);
13
+ return () => {
14
+ const index = queue.indexOf(asyncExitHook);
15
+ if (index >= 0) {
16
+ queue.splice(index, 1);
17
+ }
18
+ if (!queue.length) {
19
+ unsubscribe?.();
20
+ }
21
+ };
22
+ }
23
+ function createExitHook(signal) {
24
+ return guardAsync(async () => {
25
+ debug(`pre-exit (signal: ${signal}, queue length: ${queue.length})`);
26
+ for (const [index, hookAsync] of Object.entries(queue)) {
27
+ try {
28
+ await hookAsync(signal);
29
+ } catch (error) {
30
+ debug(`Error in exit hook: %O (queue: ${index})`, error);
31
+ }
32
+ }
33
+ debug(`post-exit (code: ${process.exitCode ?? 0})`);
34
+ process.exit();
35
+ });
36
+ }
37
+ function attachMasterListener() {
38
+ const hooks = [];
39
+ for (const signal of PRE_EXIT_SIGNALS) {
40
+ const hook = createExitHook(signal);
41
+ hooks.push([signal, hook]);
42
+ process.on(signal, hook);
43
+ }
44
+ return () => {
45
+ for (const [signal, hook] of hooks) {
46
+ process.removeListener(signal, hook);
47
+ }
48
+ };
49
+ }
50
+ function ensureProcessExitsAfterDelay(waitUntilExitMs = 1e4, startedAtMs = Date.now()) {
51
+ const expectedResources = [process.stdout.isTTY ? "TTYWrap" : "PipeWrap", process.stderr.isTTY ? "TTYWrap" : "PipeWrap", process.stdin.isTTY ? "TTYWrap" : "PipeWrap"];
52
+ const activeResources = process.getActiveResourcesInfo();
53
+ const unexpectedActiveResources = activeResources.filter(activeResource => {
54
+ const index = expectedResources.indexOf(activeResource);
55
+ if (index >= 0) {
56
+ expectedResources.splice(index, 1);
57
+ return false;
58
+ }
59
+ return true;
60
+ });
61
+ const canExitProcess = !unexpectedActiveResources.length;
62
+ if (canExitProcess) {
63
+ return debug("no active resources detected, process can safely exit");
64
+ }
65
+ debug(`process is trying to exit, but is stuck on unexpected active resources:`, unexpectedActiveResources);
66
+ const elapsedTime = Date.now() - startedAtMs;
67
+ const killedChildren = killActiveChildProcesses(elapsedTime < 200 ? "SIGTERM" : "SIGKILL");
68
+ if (killedChildren > 0) {
69
+ const recheck = setTimeout(() => {
70
+ clearTimeout(recheck);
71
+ ensureProcessExitsAfterDelay(waitUntilExitMs, startedAtMs);
72
+ }, 50);
73
+ return;
74
+ }
75
+ if (elapsedTime > waitUntilExitMs) {
76
+ debug("active handles detected past the exit delay, forcefully exiting:", activeResources);
77
+ tryWarnActiveProcesses();
78
+ return process.exit(0);
79
+ }
80
+ const timeoutId = setTimeout(() => {
81
+ clearTimeout(timeoutId);
82
+ ensureProcessExitsAfterDelay(waitUntilExitMs, startedAtMs);
83
+ }, 100);
84
+ }
85
+ function killActiveChildProcesses(signal) {
86
+ try {
87
+ const children = process._getActiveHandles().filter(handle => handle instanceof ChildProcess);
88
+ for (const child of children) {
89
+ try {
90
+ child.kill(signal);
91
+ } catch (err) {
92
+ debug("failed to kill child process:", err);
93
+ }
94
+ }
95
+ return children.length;
96
+ } catch (err) {
97
+ debug("failed to enumerate active child processes:", err);
98
+ return 0;
99
+ }
100
+ }
101
+ function tryWarnActiveProcesses() {
102
+ let activeProcesses = [];
103
+ try {
104
+ const children = process._getActiveHandles().filter(handle => handle instanceof ChildProcess);
105
+ if (children.length) {
106
+ activeProcesses = children.map(child => child.spawnargs.join(" "));
107
+ }
108
+ } catch (error) {
109
+ debug("failed to get active process information:", error);
110
+ }
111
+ if (!activeProcesses.length) {
112
+ warn("Something prevented Expo from exiting, forcefully exiting now.");
113
+ } else {
114
+ const singularOrPlural = activeProcesses.length === 1 ? "1 process" : `${activeProcesses.length} processes`;
115
+ warn(`Detected ${singularOrPlural} preventing process from exiting, forcefully exiting now.`);
116
+ warn(" - " + activeProcesses.join("\n - "));
117
+ }
118
+ }
119
+ function guardAsync(fn) {
120
+ let invoked = false;
121
+ let returnValue;
122
+ const guard = async (...args) => {
123
+ if (!invoked) {
124
+ invoked = true;
125
+ returnValue = await fn(...args);
126
+ }
127
+ return returnValue;
128
+ };
129
+ return guard;
130
+ }
131
+ function warn(...message) {
132
+ console.warn(...message.map(value => colors.yellow(value)));
133
+ }
134
+ export { ensureProcessExitsAfterDelay, guardAsync, installExitHooks, warn };
135
+ //# sourceMappingURL=exit.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["ChildProcess","process","colors","debug","_","PRE_EXIT_SIGNALS","queue","unsubscribe","installExitHooks","asyncExitHook","length","attachMasterListener","push","index","indexOf","splice","createExitHook","signal","guardAsync","hookAsync","Object","entries","error","exitCode","exit","hooks","hook","on","removeListener","ensureProcessExitsAfterDelay","waitUntilExitMs","startedAtMs","Date","now","expectedResources","stdout","isTTY","stderr","stdin","activeResources","getActiveResourcesInfo","unexpectedActiveResources","filter","activeResource","canExitProcess","elapsedTime","killedChildren","killActiveChildProcesses","recheck","setTimeout","clearTimeout","tryWarnActiveProcesses","timeoutId","children","_getActiveHandles","handle","child","kill","err","activeProcesses","map","spawnargs","join","warn","singularOrPlural","fn","invoked","returnValue","guard","args","message","console","value","yellow"],"sources":["../../../src/utils/exit.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,239 @@
1
+ import { ChildProcess } from "child_process";
2
+ import process from "process";
3
+ import colors from "picocolors";
4
+ function _instanceof(left, right) {
5
+ if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
6
+ return !!right[Symbol.hasInstance](left);
7
+ } else {
8
+ return left instanceof right;
9
+ }
10
+ }
11
+ var debug = function () {
12
+ for (var _len = arguments.length, _ = new Array(_len), _key = 0; _key < _len; _key++) {
13
+ _[_key] = arguments[_key];
14
+ }
15
+ };
16
+ var PRE_EXIT_SIGNALS = ["SIGHUP", "SIGINT", "SIGTERM", "SIGBREAK"];
17
+ var queue = [];
18
+ var unsubscribe = null;
19
+ function installExitHooks(asyncExitHook) {
20
+ if (!queue.length) {
21
+ unsubscribe = attachMasterListener();
22
+ }
23
+ queue.push(asyncExitHook);
24
+ return function () {
25
+ var index = queue.indexOf(asyncExitHook);
26
+ if (index >= 0) {
27
+ queue.splice(index, 1);
28
+ }
29
+ if (!queue.length) {
30
+ unsubscribe === null || unsubscribe === void 0 ? void 0 : unsubscribe();
31
+ }
32
+ };
33
+ }
34
+ function createExitHook(signal) {
35
+ return guardAsync(async function () {
36
+ var _process_exitCode;
37
+ debug(`pre-exit (signal: ${signal}, queue length: ${queue.length})`);
38
+ var _iteratorNormalCompletion = true,
39
+ _didIteratorError = false,
40
+ _iteratorError = void 0;
41
+ try {
42
+ for (var _iterator = Object.entries(queue)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
43
+ var [index, hookAsync] = _step.value;
44
+ try {
45
+ await hookAsync(signal);
46
+ } catch (error) {
47
+ debug(`Error in exit hook: %O (queue: ${index})`, error);
48
+ }
49
+ }
50
+ } catch (err) {
51
+ _didIteratorError = true;
52
+ _iteratorError = err;
53
+ } finally {
54
+ try {
55
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
56
+ _iterator.return();
57
+ }
58
+ } finally {
59
+ if (_didIteratorError) {
60
+ throw _iteratorError;
61
+ }
62
+ }
63
+ }
64
+ debug(`post-exit (code: ${(_process_exitCode = process.exitCode) !== null && _process_exitCode !== void 0 ? _process_exitCode : 0})`);
65
+ process.exit();
66
+ });
67
+ }
68
+ function attachMasterListener() {
69
+ var hooks = [];
70
+ var _iteratorNormalCompletion = true,
71
+ _didIteratorError = false,
72
+ _iteratorError = void 0;
73
+ try {
74
+ for (var _iterator = PRE_EXIT_SIGNALS[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
75
+ var signal = _step.value;
76
+ var hook = createExitHook(signal);
77
+ hooks.push([signal, hook]);
78
+ process.on(signal, hook);
79
+ }
80
+ } catch (err) {
81
+ _didIteratorError = true;
82
+ _iteratorError = err;
83
+ } finally {
84
+ try {
85
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
86
+ _iterator.return();
87
+ }
88
+ } finally {
89
+ if (_didIteratorError) {
90
+ throw _iteratorError;
91
+ }
92
+ }
93
+ }
94
+ return function () {
95
+ var _iteratorNormalCompletion2 = true,
96
+ _didIteratorError2 = false,
97
+ _iteratorError2 = void 0;
98
+ try {
99
+ for (var _iterator2 = hooks[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
100
+ var [signal2, hook2] = _step2.value;
101
+ process.removeListener(signal2, hook2);
102
+ }
103
+ } catch (err) {
104
+ _didIteratorError2 = true;
105
+ _iteratorError2 = err;
106
+ } finally {
107
+ try {
108
+ if (!_iteratorNormalCompletion2 && _iterator2.return != null) {
109
+ _iterator2.return();
110
+ }
111
+ } finally {
112
+ if (_didIteratorError2) {
113
+ throw _iteratorError2;
114
+ }
115
+ }
116
+ }
117
+ };
118
+ }
119
+ function ensureProcessExitsAfterDelay() {
120
+ var waitUntilExitMs = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : 1e4,
121
+ startedAtMs = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : Date.now();
122
+ var expectedResources = [process.stdout.isTTY ? "TTYWrap" : "PipeWrap", process.stderr.isTTY ? "TTYWrap" : "PipeWrap", process.stdin.isTTY ? "TTYWrap" : "PipeWrap"];
123
+ var activeResources = process.getActiveResourcesInfo();
124
+ var unexpectedActiveResources = activeResources.filter(function (activeResource) {
125
+ var index = expectedResources.indexOf(activeResource);
126
+ if (index >= 0) {
127
+ expectedResources.splice(index, 1);
128
+ return false;
129
+ }
130
+ return true;
131
+ });
132
+ var canExitProcess = !unexpectedActiveResources.length;
133
+ if (canExitProcess) {
134
+ return debug("no active resources detected, process can safely exit");
135
+ }
136
+ debug(`process is trying to exit, but is stuck on unexpected active resources:`, unexpectedActiveResources);
137
+ var elapsedTime = Date.now() - startedAtMs;
138
+ var killedChildren = killActiveChildProcesses(elapsedTime < 200 ? "SIGTERM" : "SIGKILL");
139
+ if (killedChildren > 0) {
140
+ var recheck = setTimeout(function () {
141
+ clearTimeout(recheck);
142
+ ensureProcessExitsAfterDelay(waitUntilExitMs, startedAtMs);
143
+ }, 50);
144
+ return;
145
+ }
146
+ if (elapsedTime > waitUntilExitMs) {
147
+ debug("active handles detected past the exit delay, forcefully exiting:", activeResources);
148
+ tryWarnActiveProcesses();
149
+ return process.exit(0);
150
+ }
151
+ var timeoutId = setTimeout(function () {
152
+ clearTimeout(timeoutId);
153
+ ensureProcessExitsAfterDelay(waitUntilExitMs, startedAtMs);
154
+ }, 100);
155
+ }
156
+ function killActiveChildProcesses(signal) {
157
+ try {
158
+ var children = process._getActiveHandles().filter(function (handle) {
159
+ return _instanceof(handle, ChildProcess);
160
+ });
161
+ var _iteratorNormalCompletion = true,
162
+ _didIteratorError = false,
163
+ _iteratorError = void 0;
164
+ try {
165
+ for (var _iterator = children[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
166
+ var child = _step.value;
167
+ try {
168
+ child.kill(signal);
169
+ } catch (err) {
170
+ debug("failed to kill child process:", err);
171
+ }
172
+ }
173
+ } catch (err) {
174
+ _didIteratorError = true;
175
+ _iteratorError = err;
176
+ } finally {
177
+ try {
178
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
179
+ _iterator.return();
180
+ }
181
+ } finally {
182
+ if (_didIteratorError) {
183
+ throw _iteratorError;
184
+ }
185
+ }
186
+ }
187
+ return children.length;
188
+ } catch (err) {
189
+ debug("failed to enumerate active child processes:", err);
190
+ return 0;
191
+ }
192
+ }
193
+ function tryWarnActiveProcesses() {
194
+ var activeProcesses = [];
195
+ try {
196
+ var children = process._getActiveHandles().filter(function (handle) {
197
+ return _instanceof(handle, ChildProcess);
198
+ });
199
+ if (children.length) {
200
+ activeProcesses = children.map(function (child) {
201
+ return child.spawnargs.join(" ");
202
+ });
203
+ }
204
+ } catch (error) {
205
+ debug("failed to get active process information:", error);
206
+ }
207
+ if (!activeProcesses.length) {
208
+ warn("Something prevented Expo from exiting, forcefully exiting now.");
209
+ } else {
210
+ var singularOrPlural = activeProcesses.length === 1 ? "1 process" : `${activeProcesses.length} processes`;
211
+ warn(`Detected ${singularOrPlural} preventing process from exiting, forcefully exiting now.`);
212
+ warn(" - " + activeProcesses.join("\n - "));
213
+ }
214
+ }
215
+ function guardAsync(fn) {
216
+ var invoked = false;
217
+ var returnValue;
218
+ var guard = async function () {
219
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
220
+ args[_key] = arguments[_key];
221
+ }
222
+ if (!invoked) {
223
+ invoked = true;
224
+ returnValue = await fn(...args);
225
+ }
226
+ return returnValue;
227
+ };
228
+ return guard;
229
+ }
230
+ function warn() {
231
+ for (var _len = arguments.length, message = new Array(_len), _key = 0; _key < _len; _key++) {
232
+ message[_key] = arguments[_key];
233
+ }
234
+ console.warn(...message.map(function (value) {
235
+ return colors.yellow(value);
236
+ }));
237
+ }
238
+ export { ensureProcessExitsAfterDelay, guardAsync, installExitHooks, warn };
239
+ //# sourceMappingURL=exit.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["ChildProcess","process","colors","_instanceof","left","right","Symbol","hasInstance","debug","_len","arguments","length","_","Array","_key","PRE_EXIT_SIGNALS","queue","unsubscribe","installExitHooks","asyncExitHook","attachMasterListener","push","index","indexOf","splice","createExitHook","signal","guardAsync","_process_exitCode","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Object","entries","iterator","_step","next","done","hookAsync","value","error","err","return","exitCode","exit","hooks","hook","on","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_iterator2","_step2","signal2","hook2","removeListener","ensureProcessExitsAfterDelay","waitUntilExitMs","startedAtMs","Date","now","expectedResources","stdout","isTTY","stderr","stdin","activeResources","getActiveResourcesInfo","unexpectedActiveResources","filter","activeResource","canExitProcess","elapsedTime","killedChildren","killActiveChildProcesses","recheck","setTimeout","clearTimeout"],"sources":["../../../src/utils/exit.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}