@vxrn/vite-plugin-metro 1.27.1 → 2.0.0-beta.45.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (288) hide show
  1. package/dist/cjs/babel-plugins/import-meta-env-plugin.cjs +84 -102
  2. package/dist/cjs/babel-plugins/import-meta-env-plugin.native.cjs +108 -0
  3. package/dist/cjs/babel-plugins/import-meta-env-plugin.native.js +90 -107
  4. package/dist/cjs/babel-plugins/import-meta-env-plugin.native.js.map +1 -1
  5. package/dist/cjs/env/platformEnv.cjs +55 -57
  6. package/dist/cjs/env/platformEnv.native.cjs +93 -0
  7. package/dist/cjs/env/platformEnv.native.js +72 -75
  8. package/dist/cjs/env/platformEnv.native.js.map +1 -1
  9. package/dist/cjs/index.cjs +22 -24
  10. package/dist/cjs/index.native.cjs +41 -0
  11. package/dist/cjs/index.native.js +22 -23
  12. package/dist/cjs/index.native.js.map +1 -1
  13. package/dist/cjs/metro-config/getMetroBabelConfigFromViteConfig.cjs +48 -51
  14. package/dist/cjs/metro-config/getMetroBabelConfigFromViteConfig.native.cjs +101 -0
  15. package/dist/cjs/metro-config/getMetroBabelConfigFromViteConfig.native.js +88 -94
  16. package/dist/cjs/metro-config/getMetroBabelConfigFromViteConfig.native.js.map +1 -1
  17. package/dist/cjs/metro-config/getMetroConfigFromViteConfig.cjs +246 -271
  18. package/dist/cjs/metro-config/getMetroConfigFromViteConfig.native.cjs +295 -0
  19. package/dist/cjs/metro-config/getMetroConfigFromViteConfig.native.js +257 -281
  20. package/dist/cjs/metro-config/getMetroConfigFromViteConfig.native.js.map +1 -1
  21. package/dist/cjs/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.cjs +38 -44
  22. package/dist/cjs/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.native.cjs +53 -0
  23. package/dist/cjs/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.native.js +39 -44
  24. package/dist/cjs/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.native.js.map +1 -1
  25. package/dist/cjs/metro-config/types.cjs +9 -11
  26. package/dist/cjs/metro-config/types.native.cjs +18 -0
  27. package/dist/cjs/metro-config/types.native.js +9 -10
  28. package/dist/cjs/metro-config/types.native.js.map +1 -1
  29. package/dist/cjs/plugins/expoManifestRequestHandlerPlugin.cjs +44 -56
  30. package/dist/cjs/plugins/expoManifestRequestHandlerPlugin.native.cjs +62 -0
  31. package/dist/cjs/plugins/expoManifestRequestHandlerPlugin.native.js +45 -63
  32. package/dist/cjs/plugins/expoManifestRequestHandlerPlugin.native.js.map +1 -1
  33. package/dist/cjs/plugins/metroPlugin.cjs +210 -248
  34. package/dist/cjs/plugins/metroPlugin.native.cjs +242 -0
  35. package/dist/cjs/plugins/metroPlugin.native.js +216 -253
  36. package/dist/cjs/plugins/metroPlugin.native.js.map +1 -1
  37. package/dist/cjs/rn-commands/bundle/assetCatalogIOS.cjs +56 -65
  38. package/dist/cjs/rn-commands/bundle/assetCatalogIOS.native.cjs +121 -0
  39. package/dist/cjs/rn-commands/bundle/assetCatalogIOS.native.js +94 -106
  40. package/dist/cjs/rn-commands/bundle/assetCatalogIOS.native.js.map +1 -1
  41. package/dist/cjs/rn-commands/bundle/assetPathUtils.cjs +51 -55
  42. package/dist/cjs/rn-commands/bundle/assetPathUtils.native.cjs +72 -0
  43. package/dist/cjs/rn-commands/bundle/assetPathUtils.native.js +51 -54
  44. package/dist/cjs/rn-commands/bundle/assetPathUtils.native.js.map +1 -1
  45. package/dist/cjs/rn-commands/bundle/buildBundle.cjs +37 -46
  46. package/dist/cjs/rn-commands/bundle/buildBundle.native.cjs +57 -0
  47. package/dist/cjs/rn-commands/bundle/buildBundle.native.js +39 -47
  48. package/dist/cjs/rn-commands/bundle/buildBundle.native.js.map +1 -1
  49. package/dist/cjs/rn-commands/bundle/buildBundleWithConfig.cjs +57 -68
  50. package/dist/cjs/rn-commands/bundle/buildBundleWithConfig.native.cjs +81 -0
  51. package/dist/cjs/rn-commands/bundle/buildBundleWithConfig.native.js +59 -70
  52. package/dist/cjs/rn-commands/bundle/buildBundleWithConfig.native.js.map +1 -1
  53. package/dist/cjs/rn-commands/bundle/filterPlatformAssetScales.cjs +37 -39
  54. package/dist/cjs/rn-commands/bundle/filterPlatformAssetScales.native.cjs +70 -0
  55. package/dist/cjs/rn-commands/bundle/filterPlatformAssetScales.native.js +56 -59
  56. package/dist/cjs/rn-commands/bundle/filterPlatformAssetScales.native.js.map +1 -1
  57. package/dist/cjs/rn-commands/bundle/getAssetDestPathAndroid.cjs +20 -29
  58. package/dist/cjs/rn-commands/bundle/getAssetDestPathAndroid.native.cjs +39 -0
  59. package/dist/cjs/rn-commands/bundle/getAssetDestPathAndroid.native.js +20 -28
  60. package/dist/cjs/rn-commands/bundle/getAssetDestPathAndroid.native.js.map +1 -1
  61. package/dist/cjs/rn-commands/bundle/getAssetDestPathIOS.cjs +20 -33
  62. package/dist/cjs/rn-commands/bundle/getAssetDestPathIOS.native.cjs +38 -0
  63. package/dist/cjs/rn-commands/bundle/getAssetDestPathIOS.native.js +20 -32
  64. package/dist/cjs/rn-commands/bundle/getAssetDestPathIOS.native.js.map +1 -1
  65. package/dist/cjs/rn-commands/bundle/getBuildBundleFn.cjs +23 -32
  66. package/dist/cjs/rn-commands/bundle/getBuildBundleFn.native.cjs +38 -0
  67. package/dist/cjs/rn-commands/bundle/getBuildBundleFn.native.js +23 -31
  68. package/dist/cjs/rn-commands/bundle/getBuildBundleFn.native.js.map +1 -1
  69. package/dist/cjs/rn-commands/bundle/index.cjs +15 -17
  70. package/dist/cjs/rn-commands/bundle/index.native.cjs +30 -0
  71. package/dist/cjs/rn-commands/bundle/index.native.js +15 -16
  72. package/dist/cjs/rn-commands/bundle/index.native.js.map +1 -1
  73. package/dist/cjs/rn-commands/bundle/saveAssets.cjs +85 -96
  74. package/dist/cjs/rn-commands/bundle/saveAssets.native.cjs +129 -0
  75. package/dist/cjs/rn-commands/bundle/saveAssets.native.js +102 -114
  76. package/dist/cjs/rn-commands/bundle/saveAssets.native.js.map +1 -1
  77. package/dist/cjs/rn-commands/bundle/types.cjs +9 -11
  78. package/dist/cjs/rn-commands/bundle/types.native.cjs +18 -0
  79. package/dist/cjs/rn-commands/bundle/types.native.js +9 -10
  80. package/dist/cjs/rn-commands/bundle/types.native.js.map +1 -1
  81. package/dist/cjs/rn-commands/index.cjs +17 -26
  82. package/dist/cjs/rn-commands/index.native.cjs +32 -0
  83. package/dist/cjs/rn-commands/index.native.js +17 -25
  84. package/dist/cjs/rn-commands/index.native.js.map +1 -1
  85. package/dist/cjs/transformer/babel-core.cjs +16 -18
  86. package/dist/cjs/transformer/babel-core.native.cjs +30 -0
  87. package/dist/cjs/transformer/babel-core.native.js +16 -17
  88. package/dist/cjs/transformer/babel-core.native.js.map +1 -1
  89. package/dist/cjs/transformer/babel-transformer.cjs +101 -152
  90. package/dist/cjs/transformer/babel-transformer.native.cjs +131 -0
  91. package/dist/cjs/transformer/babel-transformer.native.js +106 -159
  92. package/dist/cjs/transformer/babel-transformer.native.js.map +1 -1
  93. package/dist/cjs/transformer/loadBabelConfig.cjs +44 -49
  94. package/dist/cjs/transformer/loadBabelConfig.native.cjs +64 -0
  95. package/dist/cjs/transformer/loadBabelConfig.native.js +48 -52
  96. package/dist/cjs/transformer/loadBabelConfig.native.js.map +1 -1
  97. package/dist/cjs/transformer/metroNativeWorker.cjs +1442 -1480
  98. package/dist/cjs/transformer/metroNativeWorker.native.cjs +2536 -0
  99. package/dist/cjs/transformer/metroNativeWorker.native.js +2416 -2552
  100. package/dist/cjs/transformer/metroNativeWorker.native.js.map +1 -1
  101. package/dist/cjs/transformer/transformSync.cjs +47 -63
  102. package/dist/cjs/transformer/transformSync.native.cjs +74 -0
  103. package/dist/cjs/transformer/transformSync.native.js +49 -64
  104. package/dist/cjs/transformer/transformSync.native.js.map +1 -1
  105. package/dist/cjs/transformer/types.cjs +9 -11
  106. package/dist/cjs/transformer/types.native.cjs +18 -0
  107. package/dist/cjs/transformer/types.native.js +9 -10
  108. package/dist/cjs/transformer/types.native.js.map +1 -1
  109. package/dist/cjs/utils/exit.cjs +141 -139
  110. package/dist/cjs/utils/exit.native.cjs +266 -0
  111. package/dist/cjs/utils/exit.native.js +228 -241
  112. package/dist/cjs/utils/exit.native.js.map +1 -1
  113. package/dist/cjs/utils/getTerminalReporter.cjs +35 -47
  114. package/dist/cjs/utils/getTerminalReporter.native.cjs +57 -0
  115. package/dist/cjs/utils/getTerminalReporter.native.js +38 -49
  116. package/dist/cjs/utils/getTerminalReporter.native.js.map +1 -1
  117. package/dist/cjs/utils/metroCacheManager.cjs +84 -99
  118. package/dist/cjs/utils/metroCacheManager.native.cjs +130 -0
  119. package/dist/cjs/utils/metroCacheManager.native.js +102 -118
  120. package/dist/cjs/utils/metroCacheManager.native.js.map +1 -1
  121. package/dist/cjs/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.cjs +24 -28
  122. package/dist/cjs/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.native.cjs +37 -0
  123. package/dist/cjs/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.native.js +24 -27
  124. package/dist/cjs/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.native.js.map +1 -1
  125. package/dist/cjs/utils/projectImport.cjs +40 -51
  126. package/dist/cjs/utils/projectImport.native.cjs +64 -0
  127. package/dist/cjs/utils/projectImport.native.js +41 -58
  128. package/dist/cjs/utils/projectImport.native.js.map +1 -1
  129. package/dist/esm/babel-plugins/import-meta-env-plugin.mjs +72 -86
  130. package/dist/esm/babel-plugins/import-meta-env-plugin.mjs.map +1 -1
  131. package/dist/esm/babel-plugins/import-meta-env-plugin.native.js +78 -92
  132. package/dist/esm/babel-plugins/import-meta-env-plugin.native.js.map +1 -1
  133. package/dist/esm/env/platformEnv.mjs +40 -39
  134. package/dist/esm/env/platformEnv.mjs.map +1 -1
  135. package/dist/esm/env/platformEnv.native.js +57 -58
  136. package/dist/esm/env/platformEnv.native.js.map +1 -1
  137. package/dist/esm/index.js +3 -3
  138. package/dist/esm/index.mjs +3 -3
  139. package/dist/esm/index.native.js +3 -3
  140. package/dist/esm/metro-config/getMetroBabelConfigFromViteConfig.mjs +35 -33
  141. package/dist/esm/metro-config/getMetroBabelConfigFromViteConfig.mjs.map +1 -1
  142. package/dist/esm/metro-config/getMetroBabelConfigFromViteConfig.native.js +75 -77
  143. package/dist/esm/metro-config/getMetroBabelConfigFromViteConfig.native.js.map +1 -1
  144. package/dist/esm/metro-config/getMetroConfigFromViteConfig.mjs +230 -246
  145. package/dist/esm/metro-config/getMetroConfigFromViteConfig.mjs.map +1 -1
  146. package/dist/esm/metro-config/getMetroConfigFromViteConfig.native.js +241 -257
  147. package/dist/esm/metro-config/getMetroConfigFromViteConfig.native.js.map +1 -1
  148. package/dist/esm/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.mjs +26 -26
  149. package/dist/esm/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.mjs.map +1 -1
  150. package/dist/esm/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.native.js +27 -27
  151. package/dist/esm/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.native.js.map +1 -1
  152. package/dist/esm/metro-config/types.mjs +0 -2
  153. package/dist/esm/metro-config/types.native.js +0 -2
  154. package/dist/esm/plugins/expoManifestRequestHandlerPlugin.mjs +32 -38
  155. package/dist/esm/plugins/expoManifestRequestHandlerPlugin.mjs.map +1 -1
  156. package/dist/esm/plugins/expoManifestRequestHandlerPlugin.native.js +33 -46
  157. package/dist/esm/plugins/expoManifestRequestHandlerPlugin.native.js.map +1 -1
  158. package/dist/esm/plugins/metroPlugin.mjs +195 -222
  159. package/dist/esm/plugins/metroPlugin.mjs.map +1 -1
  160. package/dist/esm/plugins/metroPlugin.native.js +201 -228
  161. package/dist/esm/plugins/metroPlugin.native.js.map +1 -1
  162. package/dist/esm/rn-commands/bundle/assetCatalogIOS.mjs +38 -38
  163. package/dist/esm/rn-commands/bundle/assetCatalogIOS.mjs.map +1 -1
  164. package/dist/esm/rn-commands/bundle/assetCatalogIOS.native.js +76 -80
  165. package/dist/esm/rn-commands/bundle/assetCatalogIOS.native.js.map +1 -1
  166. package/dist/esm/rn-commands/bundle/assetPathUtils.mjs +38 -37
  167. package/dist/esm/rn-commands/bundle/assetPathUtils.mjs.map +1 -1
  168. package/dist/esm/rn-commands/bundle/assetPathUtils.native.js +38 -37
  169. package/dist/esm/rn-commands/bundle/assetPathUtils.native.js.map +1 -1
  170. package/dist/esm/rn-commands/bundle/buildBundle.mjs +25 -28
  171. package/dist/esm/rn-commands/bundle/buildBundle.mjs.map +1 -1
  172. package/dist/esm/rn-commands/bundle/buildBundle.native.js +27 -30
  173. package/dist/esm/rn-commands/bundle/buildBundle.native.js.map +1 -1
  174. package/dist/esm/rn-commands/bundle/buildBundleWithConfig.mjs +43 -43
  175. package/dist/esm/rn-commands/bundle/buildBundleWithConfig.mjs.map +1 -1
  176. package/dist/esm/rn-commands/bundle/buildBundleWithConfig.native.js +45 -46
  177. package/dist/esm/rn-commands/bundle/buildBundleWithConfig.native.js.map +1 -1
  178. package/dist/esm/rn-commands/bundle/filterPlatformAssetScales.mjs +24 -21
  179. package/dist/esm/rn-commands/bundle/filterPlatformAssetScales.mjs.map +1 -1
  180. package/dist/esm/rn-commands/bundle/filterPlatformAssetScales.native.js +43 -42
  181. package/dist/esm/rn-commands/bundle/filterPlatformAssetScales.native.js.map +1 -1
  182. package/dist/esm/rn-commands/bundle/getAssetDestPathAndroid.mjs +5 -3
  183. package/dist/esm/rn-commands/bundle/getAssetDestPathAndroid.mjs.map +1 -1
  184. package/dist/esm/rn-commands/bundle/getAssetDestPathAndroid.native.js +5 -3
  185. package/dist/esm/rn-commands/bundle/getAssetDestPathAndroid.native.js.map +1 -1
  186. package/dist/esm/rn-commands/bundle/getAssetDestPathIOS.mjs +5 -7
  187. package/dist/esm/rn-commands/bundle/getAssetDestPathIOS.mjs.map +1 -1
  188. package/dist/esm/rn-commands/bundle/getAssetDestPathIOS.native.js +5 -7
  189. package/dist/esm/rn-commands/bundle/getAssetDestPathIOS.native.js.map +1 -1
  190. package/dist/esm/rn-commands/bundle/getBuildBundleFn.mjs +11 -14
  191. package/dist/esm/rn-commands/bundle/getBuildBundleFn.mjs.map +1 -1
  192. package/dist/esm/rn-commands/bundle/getBuildBundleFn.native.js +11 -14
  193. package/dist/esm/rn-commands/bundle/getBuildBundleFn.native.js.map +1 -1
  194. package/dist/esm/rn-commands/bundle/index.mjs +2 -2
  195. package/dist/esm/rn-commands/bundle/index.native.js +2 -2
  196. package/dist/esm/rn-commands/bundle/saveAssets.mjs +70 -70
  197. package/dist/esm/rn-commands/bundle/saveAssets.mjs.map +1 -1
  198. package/dist/esm/rn-commands/bundle/saveAssets.native.js +87 -89
  199. package/dist/esm/rn-commands/bundle/saveAssets.native.js.map +1 -1
  200. package/dist/esm/rn-commands/bundle/types.mjs +0 -2
  201. package/dist/esm/rn-commands/bundle/types.native.js +0 -2
  202. package/dist/esm/rn-commands/index.mjs +2 -2
  203. package/dist/esm/rn-commands/index.native.js +2 -2
  204. package/dist/esm/transformer/babel-core.mjs +2 -2
  205. package/dist/esm/transformer/babel-core.native.js +2 -2
  206. package/dist/esm/transformer/babel-transformer.mjs +108 -144
  207. package/dist/esm/transformer/babel-transformer.mjs.map +1 -1
  208. package/dist/esm/transformer/babel-transformer.native.js +114 -155
  209. package/dist/esm/transformer/babel-transformer.native.js.map +1 -1
  210. package/dist/esm/transformer/loadBabelConfig.mjs +29 -23
  211. package/dist/esm/transformer/loadBabelConfig.mjs.map +1 -1
  212. package/dist/esm/transformer/loadBabelConfig.native.js +33 -27
  213. package/dist/esm/transformer/loadBabelConfig.native.js.map +1 -1
  214. package/dist/esm/transformer/metroNativeWorker.mjs +1405 -1434
  215. package/dist/esm/transformer/metroNativeWorker.mjs.map +1 -1
  216. package/dist/esm/transformer/metroNativeWorker.native.js +2379 -2507
  217. package/dist/esm/transformer/metroNativeWorker.native.js.map +1 -1
  218. package/dist/esm/transformer/transformSync.mjs +32 -37
  219. package/dist/esm/transformer/transformSync.mjs.map +1 -1
  220. package/dist/esm/transformer/transformSync.native.js +34 -39
  221. package/dist/esm/transformer/transformSync.native.js.map +1 -1
  222. package/dist/esm/transformer/types.mjs +0 -2
  223. package/dist/esm/transformer/types.native.js +0 -2
  224. package/dist/esm/utils/exit.mjs +123 -112
  225. package/dist/esm/utils/exit.mjs.map +1 -1
  226. package/dist/esm/utils/exit.native.js +210 -215
  227. package/dist/esm/utils/exit.native.js.map +1 -1
  228. package/dist/esm/utils/getTerminalReporter.mjs +20 -21
  229. package/dist/esm/utils/getTerminalReporter.mjs.map +1 -1
  230. package/dist/esm/utils/getTerminalReporter.native.js +23 -24
  231. package/dist/esm/utils/getTerminalReporter.native.js.map +1 -1
  232. package/dist/esm/utils/metroCacheManager.mjs +73 -82
  233. package/dist/esm/utils/metroCacheManager.mjs.map +1 -1
  234. package/dist/esm/utils/metroCacheManager.native.js +91 -102
  235. package/dist/esm/utils/metroCacheManager.native.js.map +1 -1
  236. package/dist/esm/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.mjs +11 -10
  237. package/dist/esm/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.mjs.map +1 -1
  238. package/dist/esm/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.native.js +11 -10
  239. package/dist/esm/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.native.js.map +1 -1
  240. package/dist/esm/utils/projectImport.mjs +23 -25
  241. package/dist/esm/utils/projectImport.mjs.map +1 -1
  242. package/dist/esm/utils/projectImport.native.js +24 -33
  243. package/dist/esm/utils/projectImport.native.js.map +1 -1
  244. package/package.json +5 -6
  245. package/src/metro-config/getMetroConfigFromViteConfig.ts +11 -18
  246. package/src/transformer/metroNativeWorker.test.ts +110 -49
  247. package/src/transformer/metroNativeWorker.ts +3 -11
  248. package/types/babel-plugins/import-meta-env-plugin.d.ts.map +1 -1
  249. package/types/metro-config/getMetroConfigFromViteConfig.d.ts.map +1 -1
  250. package/types/rn-commands/bundle/assetPathUtils.d.ts.map +1 -1
  251. package/types/rn-commands/bundle/filterPlatformAssetScales.d.ts.map +1 -1
  252. package/types/rn-commands/bundle/getAssetDestPathAndroid.d.ts.map +1 -1
  253. package/types/rn-commands/bundle/getAssetDestPathIOS.d.ts.map +1 -1
  254. package/types/rn-commands/bundle/saveAssets.d.ts.map +1 -1
  255. package/types/transformer/metroNativeWorker.d.ts.map +1 -1
  256. package/dist/cjs/transformer/metroNativeWorker.test.cjs +0 -1054
  257. package/dist/cjs/transformer/metroNativeWorker.test.native.js +0 -1170
  258. package/dist/cjs/transformer/metroNativeWorker.test.native.js.map +0 -1
  259. package/dist/cjs/transformer/transformSync.test.cjs +0 -36
  260. package/dist/cjs/transformer/transformSync.test.native.js +0 -49
  261. package/dist/cjs/transformer/transformSync.test.native.js.map +0 -1
  262. package/dist/esm/index.js.map +0 -1
  263. package/dist/esm/index.mjs.map +0 -1
  264. package/dist/esm/index.native.js.map +0 -1
  265. package/dist/esm/metro-config/types.mjs.map +0 -1
  266. package/dist/esm/metro-config/types.native.js.map +0 -1
  267. package/dist/esm/rn-commands/bundle/index.mjs.map +0 -1
  268. package/dist/esm/rn-commands/bundle/index.native.js.map +0 -1
  269. package/dist/esm/rn-commands/bundle/types.mjs.map +0 -1
  270. package/dist/esm/rn-commands/bundle/types.native.js.map +0 -1
  271. package/dist/esm/rn-commands/index.mjs.map +0 -1
  272. package/dist/esm/rn-commands/index.native.js.map +0 -1
  273. package/dist/esm/transformer/babel-core.mjs.map +0 -1
  274. package/dist/esm/transformer/babel-core.native.js.map +0 -1
  275. package/dist/esm/transformer/metroNativeWorker.test.mjs +0 -1010
  276. package/dist/esm/transformer/metroNativeWorker.test.mjs.map +0 -1
  277. package/dist/esm/transformer/metroNativeWorker.test.native.js +0 -1124
  278. package/dist/esm/transformer/metroNativeWorker.test.native.js.map +0 -1
  279. package/dist/esm/transformer/transformSync.test.mjs +0 -37
  280. package/dist/esm/transformer/transformSync.test.mjs.map +0 -1
  281. package/dist/esm/transformer/transformSync.test.native.js +0 -47
  282. package/dist/esm/transformer/transformSync.test.native.js.map +0 -1
  283. package/dist/esm/transformer/types.mjs.map +0 -1
  284. package/dist/esm/transformer/types.native.js.map +0 -1
  285. package/types/transformer/metroNativeWorker.test.d.ts +0 -2
  286. package/types/transformer/metroNativeWorker.test.d.ts.map +0 -1
  287. package/types/transformer/transformSync.test.d.ts +0 -2
  288. package/types/transformer/transformSync.test.d.ts.map +0 -1
@@ -1,49 +1,44 @@
1
1
  import * as babel from "./babel-core.mjs";
2
+
2
3
  function isTypeScriptSource(fileName) {
3
- return fileName?.endsWith(".ts");
4
+ return fileName?.endsWith(".ts");
4
5
  }
5
6
  function isTSXSource(fileName) {
6
- return fileName?.endsWith(".tsx");
7
+ return fileName?.endsWith(".tsx");
7
8
  }
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);
9
+ function transformSync(src, babelConfig, { hermesParser }) {
10
+ const loadedBabelConfig = babel.loadOptions(babelConfig);
11
+ if (!loadedBabelConfig) return null;
12
+ let hasWorkletsPlugin = false;
13
+ loadedBabelConfig.plugins = loadedBabelConfig.plugins?.filter((plugin) => {
14
+ const workletsPlugin = plugin;
15
+ if (workletsPlugin.key !== "worklets") return true;
16
+ if (workletsPlugin.options && "workletizableModules" in workletsPlugin.options) {
17
+ throw new Error("[vxrn] `workletizableModules` was removed from react-native-worklets. use `importForwarding.moduleNames`.");
18
+ }
19
+ if (hasWorkletsPlugin) return false;
20
+ hasWorkletsPlugin = true;
21
+ return true;
22
+ });
23
+ const isTypeScript = isTypeScriptSource(loadedBabelConfig.filename ?? "") || isTSXSource(loadedBabelConfig.filename ?? "");
24
+ if (isTypeScript) {
25
+ return parseWithBabel(src, loadedBabelConfig);
26
+ }
27
+ if (!isTypeScript && (hermesParser || src.includes(" @flow"))) {
28
+ return parseWithHermes(src, loadedBabelConfig);
29
+ }
30
+ return parseWithBabel(src, loadedBabelConfig);
37
31
  }
38
32
  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);
33
+ const sourceAst = require("hermes-parser").parse(src, {
34
+ babel: true,
35
+ sourceType: babelConfig.sourceType
36
+ });
37
+ return babel.transformFromAstSync(sourceAst, src, babelConfig);
44
38
  }
45
39
  function parseWithBabel(src, babelConfig) {
46
- return babel.transformSync(src, babelConfig);
40
+ return babel.transformSync(src, babelConfig);
47
41
  }
42
+
48
43
  export { transformSync };
49
44
  //# sourceMappingURL=transformSync.mjs.map
@@ -1 +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":[]}
1
+ {"version":3,"file":"transformSync.js","names":[],"sources":["esm/transformer/transformSync.js"],"sourcesContent":["import * as babel from \"./babel-core\";\nfunction isTypeScriptSource(fileName) {\n return fileName?.endsWith(\".ts\");\n}\nfunction isTSXSource(fileName) {\n return fileName?.endsWith(\".tsx\");\n}\nfunction transformSync(src, babelConfig, { hermesParser }) {\n const loadedBabelConfig = babel.loadOptions(\n babelConfig\n );\n if (!loadedBabelConfig) return null;\n let hasWorkletsPlugin = false;\n loadedBabelConfig.plugins = loadedBabelConfig.plugins?.filter((plugin) => {\n const workletsPlugin = plugin;\n if (workletsPlugin.key !== \"worklets\") return true;\n if (workletsPlugin.options && \"workletizableModules\" in workletsPlugin.options) {\n throw new Error(\n \"[vxrn] `workletizableModules` was removed from react-native-worklets. use `importForwarding.moduleNames`.\"\n );\n }\n if (hasWorkletsPlugin) return false;\n hasWorkletsPlugin = true;\n return true;\n });\n const isTypeScript = isTypeScriptSource(loadedBabelConfig.filename ?? \"\") || isTSXSource(loadedBabelConfig.filename ?? \"\");\n if (isTypeScript) {\n return parseWithBabel(src, loadedBabelConfig);\n }\n if (!isTypeScript && // The Hermes parser doesn't support comments or babel proposals such as export default from, meaning it has lower compatibility with larger parts\n // of the ecosystem.\n // However, React Native ships with flow syntax that isn't supported in Babel so we need to use Hermes for those files.\n // 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.\n (hermesParser || src.includes(\" @flow\"))) {\n return parseWithHermes(src, loadedBabelConfig);\n }\n return parseWithBabel(src, loadedBabelConfig);\n}\nfunction parseWithHermes(src, babelConfig) {\n const sourceAst = require(\"hermes-parser\").parse(src, {\n babel: true,\n sourceType: babelConfig.sourceType\n });\n return babel.transformFromAstSync(sourceAst, src, babelConfig);\n}\nfunction parseWithBabel(src, babelConfig) {\n return babel.transformSync(src, babelConfig);\n}\nexport {\n transformSync\n};\n//# sourceMappingURL=transformSync.js.map\n"],"mappings":";;;;;;;;;;AACA,SAAS,mBAAmB,UAAU;CACpC,OAAO,UAAU,SAAS,KAAK;AACjC;AACA,SAAS,YAAY,UAAU;CAC7B,OAAO,UAAU,SAAS,MAAM;AAClC;AACA,SAAS,cAAc,KAAK,aAAa,EAAE,gBAAgB;CACzD,MAAM,oBAAoB,MAAM,YAC9B,WACF;CACA,IAAI,CAAC,mBAAmB,OAAO;CAC/B,IAAI,oBAAoB;CACxB,kBAAkB,UAAU,kBAAkB,SAAS,QAAQ,WAAW;EACxE,MAAM,iBAAiB;EACvB,IAAI,eAAe,QAAQ,YAAY,OAAO;EAC9C,IAAI,eAAe,WAAW,0BAA0B,eAAe,SAAS;GAC9E,MAAM,IAAI,MACR,2GACF;EACF;EACA,IAAI,mBAAmB,OAAO;EAC9B,oBAAoB;EACpB,OAAO;CACT,CAAC;CACD,MAAM,eAAe,mBAAmB,kBAAkB,YAAY,EAAE,KAAK,YAAY,kBAAkB,YAAY,EAAE;CACzH,IAAI,cAAc;EAChB,OAAO,eAAe,KAAK,iBAAiB;CAC9C;CACA,IAAI,CAAC,iBAIJ,gBAAgB,IAAI,SAAS,QAAQ,IAAI;EACxC,OAAO,gBAAgB,KAAK,iBAAiB;CAC/C;CACA,OAAO,eAAe,KAAK,iBAAiB;AAC9C;AACA,SAAS,gBAAgB,KAAK,aAAa;CACzC,MAAM,sBAAoB,eAAe,CAAC,CAAC,MAAM,KAAK;EACpD,OAAO;EACP,YAAY,YAAY;CAC1B,CAAC;CACD,OAAO,MAAM,qBAAqB,WAAW,KAAK,WAAW;AAC/D;AACA,SAAS,eAAe,KAAK,aAAa;CACxC,OAAO,MAAM,cAAc,KAAK,WAAW;AAC7C"}
@@ -1,52 +1,47 @@
1
1
  import * as babel from "./babel-core.native.js";
2
+
2
3
  function isTypeScriptSource(fileName) {
3
- return fileName === null || fileName === void 0 ? void 0 : fileName.endsWith(".ts");
4
+ return fileName === null || fileName === void 0 ? void 0 : fileName.endsWith(".ts");
4
5
  }
5
6
  function isTSXSource(fileName) {
6
- return fileName === null || fileName === void 0 ? void 0 : fileName.endsWith(".tsx");
7
+ return fileName === null || fileName === void 0 ? void 0 : fileName.endsWith(".tsx");
7
8
  }
8
9
  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);
10
+ var { hermesParser } = param;
11
+ var _loadedBabelConfig_filename, _loadedBabelConfig_filename1;
12
+ var _loadedBabelConfig_plugins;
13
+ var loadedBabelConfig = babel.loadOptions(babelConfig);
14
+ if (!loadedBabelConfig) return null;
15
+ var hasWorkletsPlugin = false;
16
+ loadedBabelConfig.plugins = (_loadedBabelConfig_plugins = loadedBabelConfig.plugins) === null || _loadedBabelConfig_plugins === void 0 ? void 0 : _loadedBabelConfig_plugins.filter(function(plugin) {
17
+ var workletsPlugin = plugin;
18
+ if (workletsPlugin.key !== "worklets") return true;
19
+ if (workletsPlugin.options && "workletizableModules" in workletsPlugin.options) {
20
+ throw new Error("[vxrn] `workletizableModules` was removed from react-native-worklets. use `importForwarding.moduleNames`.");
21
+ }
22
+ if (hasWorkletsPlugin) return false;
23
+ hasWorkletsPlugin = true;
24
+ return true;
25
+ });
26
+ 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 : "");
27
+ if (isTypeScript) {
28
+ return parseWithBabel(src, loadedBabelConfig);
29
+ }
30
+ if (!isTypeScript && (hermesParser || src.includes(" @flow"))) {
31
+ return parseWithHermes(src, loadedBabelConfig);
32
+ }
33
+ return parseWithBabel(src, loadedBabelConfig);
40
34
  }
41
35
  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);
36
+ var sourceAst = require("hermes-parser").parse(src, {
37
+ babel: true,
38
+ sourceType: babelConfig.sourceType
39
+ });
40
+ return babel.transformFromAstSync(sourceAst, src, babelConfig);
47
41
  }
48
42
  function parseWithBabel(src, babelConfig) {
49
- return babel.transformSync(src, babelConfig);
43
+ return babel.transformSync(src, babelConfig);
50
44
  }
45
+
51
46
  export { transformSync };
52
47
  //# sourceMappingURL=transformSync.native.js.map
@@ -1 +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":[]}
1
+ {"version":3,"file":"transformSync.native.js","names":[],"sources":["esm/transformer/transformSync.native.js"],"sourcesContent":["import * as babel from \"./babel-core\";\nfunction isTypeScriptSource(fileName) {\n return fileName === null || fileName === void 0 ? void 0 : fileName.endsWith(\".ts\");\n}\nfunction isTSXSource(fileName) {\n return fileName === null || fileName === void 0 ? void 0 : fileName.endsWith(\".tsx\");\n}\nfunction transformSync(src, babelConfig, param) {\n var { hermesParser } = param;\n var _loadedBabelConfig_filename, _loadedBabelConfig_filename1;\n var _loadedBabelConfig_plugins;\n var loadedBabelConfig = babel.loadOptions(babelConfig);\n if (!loadedBabelConfig) return null;\n var hasWorkletsPlugin = false;\n loadedBabelConfig.plugins = (_loadedBabelConfig_plugins = loadedBabelConfig.plugins) === null || _loadedBabelConfig_plugins === void 0 ? void 0 : _loadedBabelConfig_plugins.filter(function(plugin) {\n var workletsPlugin = plugin;\n if (workletsPlugin.key !== \"worklets\") return true;\n if (workletsPlugin.options && \"workletizableModules\" in workletsPlugin.options) {\n throw new Error(\"[vxrn] `workletizableModules` was removed from react-native-worklets. use `importForwarding.moduleNames`.\");\n }\n if (hasWorkletsPlugin) return false;\n hasWorkletsPlugin = true;\n return true;\n });\n 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 : \"\");\n if (isTypeScript) {\n return parseWithBabel(src, loadedBabelConfig);\n }\n if (!isTypeScript && // The Hermes parser doesn't support comments or babel proposals such as export default from, meaning it has lower compatibility with larger parts\n // of the ecosystem.\n // However, React Native ships with flow syntax that isn't supported in Babel so we need to use Hermes for those files.\n // 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.\n (hermesParser || src.includes(\" @flow\"))) {\n return parseWithHermes(src, loadedBabelConfig);\n }\n return parseWithBabel(src, loadedBabelConfig);\n}\nfunction parseWithHermes(src, babelConfig) {\n var sourceAst = require(\"hermes-parser\").parse(src, {\n babel: true,\n sourceType: babelConfig.sourceType\n });\n return babel.transformFromAstSync(sourceAst, src, babelConfig);\n}\nfunction parseWithBabel(src, babelConfig) {\n return babel.transformSync(src, babelConfig);\n}\nexport {\n transformSync\n};\n//# sourceMappingURL=transformSync.js.map\n"],"mappings":";;;;;;;;;;AACA,SAAS,mBAAmB,UAAU;CACpC,OAAO,aAAa,QAAQ,aAAa,KAAK,IAAI,KAAK,IAAI,SAAS,SAAS,KAAK;AACpF;AACA,SAAS,YAAY,UAAU;CAC7B,OAAO,aAAa,QAAQ,aAAa,KAAK,IAAI,KAAK,IAAI,SAAS,SAAS,MAAM;AACrF;AACA,SAAS,cAAc,KAAK,aAAa,OAAO;CAC9C,IAAI,EAAE,iBAAiB;CACvB,IAAI,6BAA6B;CACjC,IAAI;CACJ,IAAI,oBAAoB,MAAM,YAAY,WAAW;CACrD,IAAI,CAAC,mBAAmB,OAAO;CAC/B,IAAI,oBAAoB;CACxB,kBAAkB,WAAW,6BAA6B,kBAAkB,aAAa,QAAQ,+BAA+B,KAAK,IAAI,KAAK,IAAI,2BAA2B,OAAO,SAAS,QAAQ;EACnM,IAAI,iBAAiB;EACrB,IAAI,eAAe,QAAQ,YAAY,OAAO;EAC9C,IAAI,eAAe,WAAW,0BAA0B,eAAe,SAAS;GAC9E,MAAM,IAAI,MAAM,2GAA2G;EAC7H;EACA,IAAI,mBAAmB,OAAO;EAC9B,oBAAoB;EACpB,OAAO;CACT,CAAC;CACD,IAAI,eAAe,oBAAoB,8BAA8B,kBAAkB,cAAc,QAAQ,gCAAgC,KAAK,IAAI,8BAA8B,EAAE,KAAK,aAAa,+BAA+B,kBAAkB,cAAc,QAAQ,iCAAiC,KAAK,IAAI,+BAA+B,EAAE;CAC1V,IAAI,cAAc;EAChB,OAAO,eAAe,KAAK,iBAAiB;CAC9C;CACA,IAAI,CAAC,iBAIJ,gBAAgB,IAAI,SAAS,QAAQ,IAAI;EACxC,OAAO,gBAAgB,KAAK,iBAAiB;CAC/C;CACA,OAAO,eAAe,KAAK,iBAAiB;AAC9C;AACA,SAAS,gBAAgB,KAAK,aAAa;CACzC,IAAI,sBAAoB,eAAe,CAAC,CAAC,MAAM,KAAK;EAClD,OAAO;EACP,YAAY,YAAY;CAC1B,CAAC;CACD,OAAO,MAAM,qBAAqB,WAAW,KAAK,WAAW;AAC/D;AACA,SAAS,eAAe,KAAK,aAAa;CACxC,OAAO,MAAM,cAAc,KAAK,WAAW;AAC7C"}
@@ -1,2 +0,0 @@
1
-
2
- //# sourceMappingURL=types.mjs.map
@@ -1,2 +0,0 @@
1
-
2
- //# sourceMappingURL=types.native.js.map
@@ -1,135 +1,146 @@
1
1
  import { ChildProcess } from "node:child_process";
2
2
  import process from "node:process";
3
3
  import colors from "picocolors";
4
- const debug = (..._) => {};
5
- const PRE_EXIT_SIGNALS = ["SIGHUP", "SIGINT", "SIGTERM", "SIGBREAK"];
4
+
5
+ const debug = ((..._) => {});
6
+ const PRE_EXIT_SIGNALS = [
7
+ "SIGHUP",
8
+ "SIGINT",
9
+ "SIGTERM",
10
+ "SIGBREAK"
11
+ ];
6
12
  const queue = [];
7
13
  let unsubscribe = null;
8
14
  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
- };
15
+ if (!queue.length) {
16
+ unsubscribe = attachMasterListener();
17
+ }
18
+ queue.push(asyncExitHook);
19
+ return () => {
20
+ const index = queue.indexOf(asyncExitHook);
21
+ if (index >= 0) {
22
+ queue.splice(index, 1);
23
+ }
24
+ if (!queue.length) {
25
+ unsubscribe?.();
26
+ }
27
+ };
22
28
  }
23
29
  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
- });
30
+ return guardAsync(async () => {
31
+ debug(`pre-exit (signal: ${signal}, queue length: ${queue.length})`);
32
+ for (const [index, hookAsync] of Object.entries(queue)) {
33
+ try {
34
+ await hookAsync(signal);
35
+ } catch (error) {
36
+ debug(`Error in exit hook: %O (queue: ${index})`, error);
37
+ }
38
+ }
39
+ debug(`post-exit (code: ${process.exitCode ?? 0})`);
40
+ process.exit();
41
+ });
36
42
  }
37
43
  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
- };
44
+ const hooks = [];
45
+ for (const signal of PRE_EXIT_SIGNALS) {
46
+ const hook = createExitHook(signal);
47
+ hooks.push([signal, hook]);
48
+ process.on(signal, hook);
49
+ }
50
+ return () => {
51
+ for (const [signal, hook] of hooks) {
52
+ process.removeListener(signal, hook);
53
+ }
54
+ };
49
55
  }
50
56
  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);
57
+ const expectedResources = [
58
+ process.stdout.isTTY ? "TTYWrap" : "PipeWrap",
59
+ process.stderr.isTTY ? "TTYWrap" : "PipeWrap",
60
+ process.stdin.isTTY ? "TTYWrap" : "PipeWrap"
61
+ ];
62
+ const activeResources = process.getActiveResourcesInfo();
63
+ const unexpectedActiveResources = activeResources.filter((activeResource) => {
64
+ const index = expectedResources.indexOf(activeResource);
65
+ if (index >= 0) {
66
+ expectedResources.splice(index, 1);
67
+ return false;
68
+ }
69
+ return true;
70
+ });
71
+ const canExitProcess = !unexpectedActiveResources.length;
72
+ if (canExitProcess) {
73
+ return debug("no active resources detected, process can safely exit");
74
+ }
75
+ debug(`process is trying to exit, but is stuck on unexpected active resources:`, unexpectedActiveResources);
76
+ const elapsedTime = Date.now() - startedAtMs;
77
+ const killedChildren = killActiveChildProcesses(elapsedTime < 200 ? "SIGTERM" : "SIGKILL");
78
+ if (killedChildren > 0) {
79
+ const recheck = setTimeout(() => {
80
+ clearTimeout(recheck);
81
+ ensureProcessExitsAfterDelay(waitUntilExitMs, startedAtMs);
82
+ }, 50);
83
+ return;
84
+ }
85
+ if (elapsedTime > waitUntilExitMs) {
86
+ debug("active handles detected past the exit delay, forcefully exiting:", activeResources);
87
+ tryWarnActiveProcesses();
88
+ return process.exit(0);
89
+ }
90
+ const timeoutId = setTimeout(() => {
91
+ clearTimeout(timeoutId);
92
+ ensureProcessExitsAfterDelay(waitUntilExitMs, startedAtMs);
93
+ }, 100);
84
94
  }
85
95
  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
- }
96
+ try {
97
+ const children = process._getActiveHandles().filter((handle) => handle instanceof ChildProcess);
98
+ for (const child of children) {
99
+ try {
100
+ child.kill(signal);
101
+ } catch (err) {
102
+ debug("failed to kill child process:", err);
103
+ }
104
+ }
105
+ return children.length;
106
+ } catch (err) {
107
+ debug("failed to enumerate active child processes:", err);
108
+ return 0;
109
+ }
100
110
  }
101
111
  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
- }
112
+ let activeProcesses = [];
113
+ try {
114
+ const children = process._getActiveHandles().filter((handle) => handle instanceof ChildProcess);
115
+ if (children.length) {
116
+ activeProcesses = children.map((child) => child.spawnargs.join(" "));
117
+ }
118
+ } catch (error) {
119
+ debug("failed to get active process information:", error);
120
+ }
121
+ if (!activeProcesses.length) {
122
+ warn("Something prevented Expo from exiting, forcefully exiting now.");
123
+ } else {
124
+ const singularOrPlural = activeProcesses.length === 1 ? "1 process" : `${activeProcesses.length} processes`;
125
+ warn(`Detected ${singularOrPlural} preventing process from exiting, forcefully exiting now.`);
126
+ warn(" - " + activeProcesses.join("\n - "));
127
+ }
118
128
  }
119
129
  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
+ let invoked = false;
131
+ let returnValue;
132
+ const guard = async (...args) => {
133
+ if (!invoked) {
134
+ invoked = true;
135
+ returnValue = await fn(...args);
136
+ }
137
+ return returnValue;
138
+ };
139
+ return guard;
130
140
  }
131
141
  function warn(...message) {
132
- console.warn(...message.map(value => colors.yellow(value)));
142
+ console.warn(...message.map((value) => colors.yellow(value)));
133
143
  }
144
+
134
145
  export { ensureProcessExitsAfterDelay, guardAsync, installExitHooks, warn };
135
146
  //# sourceMappingURL=exit.mjs.map
@@ -1 +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":[]}
1
+ {"version":3,"file":"exit.js","names":[],"sources":["esm/utils/exit.js"],"sourcesContent":["import { ChildProcess } from \"node:child_process\";\nimport process from \"node:process\";\nimport colors from \"picocolors\";\nconst debug = ((..._) => {\n});\nconst PRE_EXIT_SIGNALS = [\"SIGHUP\", \"SIGINT\", \"SIGTERM\", \"SIGBREAK\"];\nconst queue = [];\nlet unsubscribe = null;\nfunction installExitHooks(asyncExitHook) {\n if (!queue.length) {\n unsubscribe = attachMasterListener();\n }\n queue.push(asyncExitHook);\n return () => {\n const index = queue.indexOf(asyncExitHook);\n if (index >= 0) {\n queue.splice(index, 1);\n }\n if (!queue.length) {\n unsubscribe?.();\n }\n };\n}\nfunction createExitHook(signal) {\n return guardAsync(async () => {\n debug(`pre-exit (signal: ${signal}, queue length: ${queue.length})`);\n for (const [index, hookAsync] of Object.entries(queue)) {\n try {\n await hookAsync(signal);\n } catch (error) {\n debug(`Error in exit hook: %O (queue: ${index})`, error);\n }\n }\n debug(`post-exit (code: ${process.exitCode ?? 0})`);\n process.exit();\n });\n}\nfunction attachMasterListener() {\n const hooks = [];\n for (const signal of PRE_EXIT_SIGNALS) {\n const hook = createExitHook(signal);\n hooks.push([signal, hook]);\n process.on(signal, hook);\n }\n return () => {\n for (const [signal, hook] of hooks) {\n process.removeListener(signal, hook);\n }\n };\n}\nfunction ensureProcessExitsAfterDelay(waitUntilExitMs = 1e4, startedAtMs = Date.now()) {\n const expectedResources = [\n process.stdout.isTTY ? \"TTYWrap\" : \"PipeWrap\",\n process.stderr.isTTY ? \"TTYWrap\" : \"PipeWrap\",\n process.stdin.isTTY ? \"TTYWrap\" : \"PipeWrap\"\n ];\n const activeResources = process.getActiveResourcesInfo();\n const unexpectedActiveResources = activeResources.filter((activeResource) => {\n const index = expectedResources.indexOf(activeResource);\n if (index >= 0) {\n expectedResources.splice(index, 1);\n return false;\n }\n return true;\n });\n const canExitProcess = !unexpectedActiveResources.length;\n if (canExitProcess) {\n return debug(\"no active resources detected, process can safely exit\");\n }\n debug(\n `process is trying to exit, but is stuck on unexpected active resources:`,\n unexpectedActiveResources\n );\n const elapsedTime = Date.now() - startedAtMs;\n const killedChildren = killActiveChildProcesses(\n elapsedTime < 200 ? \"SIGTERM\" : \"SIGKILL\"\n );\n if (killedChildren > 0) {\n const recheck = setTimeout(() => {\n clearTimeout(recheck);\n ensureProcessExitsAfterDelay(waitUntilExitMs, startedAtMs);\n }, 50);\n return;\n }\n if (elapsedTime > waitUntilExitMs) {\n debug(\n \"active handles detected past the exit delay, forcefully exiting:\",\n activeResources\n );\n tryWarnActiveProcesses();\n return process.exit(0);\n }\n const timeoutId = setTimeout(() => {\n clearTimeout(timeoutId);\n ensureProcessExitsAfterDelay(waitUntilExitMs, startedAtMs);\n }, 100);\n}\nfunction killActiveChildProcesses(signal) {\n try {\n const children = process._getActiveHandles().filter((handle) => handle instanceof ChildProcess);\n for (const child of children) {\n try {\n child.kill(signal);\n } catch (err) {\n debug(\"failed to kill child process:\", err);\n }\n }\n return children.length;\n } catch (err) {\n debug(\"failed to enumerate active child processes:\", err);\n return 0;\n }\n}\nfunction tryWarnActiveProcesses() {\n let activeProcesses = [];\n try {\n const children = process._getActiveHandles().filter((handle) => handle instanceof ChildProcess);\n if (children.length) {\n activeProcesses = children.map((child) => child.spawnargs.join(\" \"));\n }\n } catch (error) {\n debug(\"failed to get active process information:\", error);\n }\n if (!activeProcesses.length) {\n warn(\"Something prevented Expo from exiting, forcefully exiting now.\");\n } else {\n const singularOrPlural = activeProcesses.length === 1 ? \"1 process\" : `${activeProcesses.length} processes`;\n warn(\n `Detected ${singularOrPlural} preventing process from exiting, forcefully exiting now.`\n );\n warn(\" - \" + activeProcesses.join(\"\\n - \"));\n }\n}\nfunction guardAsync(fn) {\n let invoked = false;\n let returnValue;\n const guard = async (...args) => {\n if (!invoked) {\n invoked = true;\n returnValue = await fn(...args);\n }\n return returnValue;\n };\n return guard;\n}\nfunction warn(...message) {\n console.warn(...message.map((value) => colors.yellow(value)));\n}\nexport {\n ensureProcessExitsAfterDelay,\n guardAsync,\n installExitHooks,\n warn\n};\n//# sourceMappingURL=exit.js.map\n"],"mappings":";;;;;AAGA,MAAM,UAAU,GAAG,MAAM,CACzB;AACA,MAAM,mBAAmB;CAAC;CAAU;CAAU;CAAW;AAAU;AACnE,MAAM,QAAQ,CAAC;AACf,IAAI,cAAc;AAClB,SAAS,iBAAiB,eAAe;CACvC,IAAI,CAAC,MAAM,QAAQ;EACjB,cAAc,qBAAqB;CACrC;CACA,MAAM,KAAK,aAAa;CACxB,aAAa;EACX,MAAM,QAAQ,MAAM,QAAQ,aAAa;EACzC,IAAI,SAAS,GAAG;GACd,MAAM,OAAO,OAAO,CAAC;EACvB;EACA,IAAI,CAAC,MAAM,QAAQ;GACjB,cAAc;EAChB;CACF;AACF;AACA,SAAS,eAAe,QAAQ;CAC9B,OAAO,WAAW,YAAY;EAC5B,MAAM,qBAAqB,OAAO,kBAAkB,MAAM,OAAO,EAAE;EACnE,KAAK,MAAM,CAAC,OAAO,cAAc,OAAO,QAAQ,KAAK,GAAG;GACtD,IAAI;IACF,MAAM,UAAU,MAAM;GACxB,SAAS,OAAO;IACd,MAAM,kCAAkC,MAAM,IAAI,KAAK;GACzD;EACF;EACA,MAAM,oBAAoB,QAAQ,YAAY,EAAE,EAAE;EAClD,QAAQ,KAAK;CACf,CAAC;AACH;AACA,SAAS,uBAAuB;CAC9B,MAAM,QAAQ,CAAC;CACf,KAAK,MAAM,UAAU,kBAAkB;EACrC,MAAM,OAAO,eAAe,MAAM;EAClC,MAAM,KAAK,CAAC,QAAQ,IAAI,CAAC;EACzB,QAAQ,GAAG,QAAQ,IAAI;CACzB;CACA,aAAa;EACX,KAAK,MAAM,CAAC,QAAQ,SAAS,OAAO;GAClC,QAAQ,eAAe,QAAQ,IAAI;EACrC;CACF;AACF;AACA,SAAS,6BAA6B,kBAAkB,KAAK,cAAc,KAAK,IAAI,GAAG;CACrF,MAAM,oBAAoB;EACxB,QAAQ,OAAO,QAAQ,YAAY;EACnC,QAAQ,OAAO,QAAQ,YAAY;EACnC,QAAQ,MAAM,QAAQ,YAAY;CACpC;CACA,MAAM,kBAAkB,QAAQ,uBAAuB;CACvD,MAAM,4BAA4B,gBAAgB,QAAQ,mBAAmB;EAC3E,MAAM,QAAQ,kBAAkB,QAAQ,cAAc;EACtD,IAAI,SAAS,GAAG;GACd,kBAAkB,OAAO,OAAO,CAAC;GACjC,OAAO;EACT;EACA,OAAO;CACT,CAAC;CACD,MAAM,iBAAiB,CAAC,0BAA0B;CAClD,IAAI,gBAAgB;EAClB,OAAO,MAAM,uDAAuD;CACtE;CACA,MACE,2EACA,yBACF;CACA,MAAM,cAAc,KAAK,IAAI,IAAI;CACjC,MAAM,iBAAiB,yBACrB,cAAc,MAAM,YAAY,SAClC;CACA,IAAI,iBAAiB,GAAG;EACtB,MAAM,UAAU,iBAAiB;GAC/B,aAAa,OAAO;GACpB,6BAA6B,iBAAiB,WAAW;EAC3D,GAAG,EAAE;EACL;CACF;CACA,IAAI,cAAc,iBAAiB;EACjC,MACE,oEACA,eACF;EACA,uBAAuB;EACvB,OAAO,QAAQ,KAAK,CAAC;CACvB;CACA,MAAM,YAAY,iBAAiB;EACjC,aAAa,SAAS;EACtB,6BAA6B,iBAAiB,WAAW;CAC3D,GAAG,GAAG;AACR;AACA,SAAS,yBAAyB,QAAQ;CACxC,IAAI;EACF,MAAM,WAAW,QAAQ,kBAAkB,CAAC,CAAC,QAAQ,WAAW,kBAAkB,YAAY;EAC9F,KAAK,MAAM,SAAS,UAAU;GAC5B,IAAI;IACF,MAAM,KAAK,MAAM;GACnB,SAAS,KAAK;IACZ,MAAM,iCAAiC,GAAG;GAC5C;EACF;EACA,OAAO,SAAS;CAClB,SAAS,KAAK;EACZ,MAAM,+CAA+C,GAAG;EACxD,OAAO;CACT;AACF;AACA,SAAS,yBAAyB;CAChC,IAAI,kBAAkB,CAAC;CACvB,IAAI;EACF,MAAM,WAAW,QAAQ,kBAAkB,CAAC,CAAC,QAAQ,WAAW,kBAAkB,YAAY;EAC9F,IAAI,SAAS,QAAQ;GACnB,kBAAkB,SAAS,KAAK,UAAU,MAAM,UAAU,KAAK,GAAG,CAAC;EACrE;CACF,SAAS,OAAO;EACd,MAAM,6CAA6C,KAAK;CAC1D;CACA,IAAI,CAAC,gBAAgB,QAAQ;EAC3B,KAAK,gEAAgE;CACvE,OAAO;EACL,MAAM,mBAAmB,gBAAgB,WAAW,IAAI,cAAc,GAAG,gBAAgB,OAAO;EAChG,KACE,YAAY,iBAAiB,0DAC/B;EACA,KAAK,SAAS,gBAAgB,KAAK,QAAQ,CAAC;CAC9C;AACF;AACA,SAAS,WAAW,IAAI;CACtB,IAAI,UAAU;CACd,IAAI;CACJ,MAAM,QAAQ,OAAO,GAAG,SAAS;EAC/B,IAAI,CAAC,SAAS;GACZ,UAAU;GACV,cAAc,MAAM,GAAG,GAAG,IAAI;EAChC;EACA,OAAO;CACT;CACA,OAAO;AACT;AACA,SAAS,KAAK,GAAG,SAAS;CACxB,QAAQ,KAAK,GAAG,QAAQ,KAAK,UAAU,OAAO,OAAO,KAAK,CAAC,CAAC;AAC9D"}