@depup/expo__cli 55.0.16-depup.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (782) hide show
  1. package/README.md +55 -0
  2. package/add-module.js +8 -0
  3. package/build/bin/cli +278 -0
  4. package/build/bin/cli.map +1 -0
  5. package/build/metro-require/require.js +608 -0
  6. package/build/src/api/endpoint.js +39 -0
  7. package/build/src/api/endpoint.js.map +1 -0
  8. package/build/src/api/getExpoGoIntermediateCertificate.js +23 -0
  9. package/build/src/api/getExpoGoIntermediateCertificate.js.map +1 -0
  10. package/build/src/api/getExpoSchema.js +97 -0
  11. package/build/src/api/getExpoSchema.js.map +1 -0
  12. package/build/src/api/getNativeModuleVersions.js +37 -0
  13. package/build/src/api/getNativeModuleVersions.js.map +1 -0
  14. package/build/src/api/getProjectDevelopmentCertificate.js +26 -0
  15. package/build/src/api/getProjectDevelopmentCertificate.js.map +1 -0
  16. package/build/src/api/getVersions.js +29 -0
  17. package/build/src/api/getVersions.js.map +1 -0
  18. package/build/src/api/graphql/client.js +204 -0
  19. package/build/src/api/graphql/client.js.map +1 -0
  20. package/build/src/api/graphql/queries/AppQuery.js +40 -0
  21. package/build/src/api/graphql/queries/AppQuery.js.map +1 -0
  22. package/build/src/api/graphql/queries/UserQuery.js +63 -0
  23. package/build/src/api/graphql/queries/UserQuery.js.map +1 -0
  24. package/build/src/api/rest/cache/FileSystemResponseCache.js +184 -0
  25. package/build/src/api/rest/cache/FileSystemResponseCache.js.map +1 -0
  26. package/build/src/api/rest/cache/ResponseCache.js +116 -0
  27. package/build/src/api/rest/cache/ResponseCache.js.map +1 -0
  28. package/build/src/api/rest/cache/wrapFetchWithCache.js +76 -0
  29. package/build/src/api/rest/cache/wrapFetchWithCache.js.map +1 -0
  30. package/build/src/api/rest/client.js +168 -0
  31. package/build/src/api/rest/client.js.map +1 -0
  32. package/build/src/api/rest/client.types.js +6 -0
  33. package/build/src/api/rest/client.types.js.map +1 -0
  34. package/build/src/api/rest/wrapFetchWithBaseUrl.js +32 -0
  35. package/build/src/api/rest/wrapFetchWithBaseUrl.js.map +1 -0
  36. package/build/src/api/rest/wrapFetchWithOffline.js +26 -0
  37. package/build/src/api/rest/wrapFetchWithOffline.js.map +1 -0
  38. package/build/src/api/rest/wrapFetchWithProgress.js +108 -0
  39. package/build/src/api/rest/wrapFetchWithProgress.js.map +1 -0
  40. package/build/src/api/rest/wrapFetchWithUserAgent.js +34 -0
  41. package/build/src/api/rest/wrapFetchWithUserAgent.js.map +1 -0
  42. package/build/src/api/settings.js +33 -0
  43. package/build/src/api/settings.js.map +1 -0
  44. package/build/src/api/updateDevelopmentSession.js +100 -0
  45. package/build/src/api/updateDevelopmentSession.js.map +1 -0
  46. package/build/src/api/user/UserSettings.js +183 -0
  47. package/build/src/api/user/UserSettings.js.map +1 -0
  48. package/build/src/api/user/actions.js +167 -0
  49. package/build/src/api/user/actions.js.map +1 -0
  50. package/build/src/api/user/expoSsoLauncher.js +149 -0
  51. package/build/src/api/user/expoSsoLauncher.js.map +1 -0
  52. package/build/src/api/user/otp.js +177 -0
  53. package/build/src/api/user/otp.js.map +1 -0
  54. package/build/src/api/user/user.js +154 -0
  55. package/build/src/api/user/user.js.map +1 -0
  56. package/build/src/config/configAsync.js +180 -0
  57. package/build/src/config/configAsync.js.map +1 -0
  58. package/build/src/config/index.js +101 -0
  59. package/build/src/config/index.js.map +1 -0
  60. package/build/src/customize/customizeAsync.js +57 -0
  61. package/build/src/customize/customizeAsync.js.map +1 -0
  62. package/build/src/customize/generate.js +94 -0
  63. package/build/src/customize/generate.js.map +1 -0
  64. package/build/src/customize/index.js +51 -0
  65. package/build/src/customize/index.js.map +1 -0
  66. package/build/src/customize/resolveOptions.js +23 -0
  67. package/build/src/customize/resolveOptions.js.map +1 -0
  68. package/build/src/customize/templates.js +189 -0
  69. package/build/src/customize/templates.js.map +1 -0
  70. package/build/src/customize/typescript.js +81 -0
  71. package/build/src/customize/typescript.js.map +1 -0
  72. package/build/src/events/builder.js +6 -0
  73. package/build/src/events/builder.js.map +1 -0
  74. package/build/src/events/index.js +132 -0
  75. package/build/src/events/index.js.map +1 -0
  76. package/build/src/events/stream.js +303 -0
  77. package/build/src/events/stream.js.map +1 -0
  78. package/build/src/events/types.js +6 -0
  79. package/build/src/events/types.js.map +1 -0
  80. package/build/src/expoUpdatesExports.js +28 -0
  81. package/build/src/expoUpdatesExports.js.map +1 -0
  82. package/build/src/export/createMetadataJson.js +55 -0
  83. package/build/src/export/createMetadataJson.js.map +1 -0
  84. package/build/src/export/embed/exportEager.js +33 -0
  85. package/build/src/export/embed/exportEager.js.map +1 -0
  86. package/build/src/export/embed/exportEmbedAsync.js +457 -0
  87. package/build/src/export/embed/exportEmbedAsync.js.map +1 -0
  88. package/build/src/export/embed/exportServer.js +353 -0
  89. package/build/src/export/embed/exportServer.js.map +1 -0
  90. package/build/src/export/embed/index.js +161 -0
  91. package/build/src/export/embed/index.js.map +1 -0
  92. package/build/src/export/embed/resolveOptions.js +159 -0
  93. package/build/src/export/embed/resolveOptions.js.map +1 -0
  94. package/build/src/export/embed/xcodeCompilerLogger.js +148 -0
  95. package/build/src/export/embed/xcodeCompilerLogger.js.map +1 -0
  96. package/build/src/export/exportApp.js +387 -0
  97. package/build/src/export/exportApp.js.map +1 -0
  98. package/build/src/export/exportAssets.js +245 -0
  99. package/build/src/export/exportAssets.js.map +1 -0
  100. package/build/src/export/exportAsync.js +103 -0
  101. package/build/src/export/exportAsync.js.map +1 -0
  102. package/build/src/export/exportDomComponents.js +185 -0
  103. package/build/src/export/exportDomComponents.js.map +1 -0
  104. package/build/src/export/exportHermes.js +251 -0
  105. package/build/src/export/exportHermes.js.map +1 -0
  106. package/build/src/export/exportStaticAsync.js +623 -0
  107. package/build/src/export/exportStaticAsync.js.map +1 -0
  108. package/build/src/export/favicon.js +138 -0
  109. package/build/src/export/favicon.js.map +1 -0
  110. package/build/src/export/getPublicExpoManifest.js +39 -0
  111. package/build/src/export/getPublicExpoManifest.js.map +1 -0
  112. package/build/src/export/getResolvedLocales.js +52 -0
  113. package/build/src/export/getResolvedLocales.js.map +1 -0
  114. package/build/src/export/html.js +33 -0
  115. package/build/src/export/html.js.map +1 -0
  116. package/build/src/export/index.js +146 -0
  117. package/build/src/export/index.js.map +1 -0
  118. package/build/src/export/metroAssetLocalPath.js +130 -0
  119. package/build/src/export/metroAssetLocalPath.js.map +1 -0
  120. package/build/src/export/persistMetroAssets.js +269 -0
  121. package/build/src/export/persistMetroAssets.js.map +1 -0
  122. package/build/src/export/publicFolder.js +61 -0
  123. package/build/src/export/publicFolder.js.map +1 -0
  124. package/build/src/export/resolveOptions.js +92 -0
  125. package/build/src/export/resolveOptions.js.map +1 -0
  126. package/build/src/export/saveAssets.js +273 -0
  127. package/build/src/export/saveAssets.js.map +1 -0
  128. package/build/src/export/web/exportWebAsync.js +57 -0
  129. package/build/src/export/web/exportWebAsync.js.map +1 -0
  130. package/build/src/export/web/index.js +92 -0
  131. package/build/src/export/web/index.js.map +1 -0
  132. package/build/src/export/web/resolveOptions.js +18 -0
  133. package/build/src/export/web/resolveOptions.js.map +1 -0
  134. package/build/src/export/writeContents.js +19 -0
  135. package/build/src/export/writeContents.js.map +1 -0
  136. package/build/src/install/applyPlugins.js +81 -0
  137. package/build/src/install/applyPlugins.js.map +1 -0
  138. package/build/src/install/checkPackages.js +157 -0
  139. package/build/src/install/checkPackages.js.map +1 -0
  140. package/build/src/install/fixPackages.js +111 -0
  141. package/build/src/install/fixPackages.js.map +1 -0
  142. package/build/src/install/index.js +64 -0
  143. package/build/src/install/index.js.map +1 -0
  144. package/build/src/install/installAsync.js +203 -0
  145. package/build/src/install/installAsync.js.map +1 -0
  146. package/build/src/install/installExpoPackage.js +124 -0
  147. package/build/src/install/installExpoPackage.js.map +1 -0
  148. package/build/src/install/resolveOptions.js +65 -0
  149. package/build/src/install/resolveOptions.js.map +1 -0
  150. package/build/src/install/utils/autoAddConfigPlugins.js +90 -0
  151. package/build/src/install/utils/autoAddConfigPlugins.js.map +1 -0
  152. package/build/src/install/utils/checkPackagesCompatibility.js +66 -0
  153. package/build/src/install/utils/checkPackagesCompatibility.js.map +1 -0
  154. package/build/src/install/utils/parsePackageSpecifier.js +24 -0
  155. package/build/src/install/utils/parsePackageSpecifier.js.map +1 -0
  156. package/build/src/lint/ESlintPrerequisite.js +163 -0
  157. package/build/src/lint/ESlintPrerequisite.js.map +1 -0
  158. package/build/src/lint/index.js +68 -0
  159. package/build/src/lint/index.js.map +1 -0
  160. package/build/src/lint/lintAsync.js +183 -0
  161. package/build/src/lint/lintAsync.js.map +1 -0
  162. package/build/src/lint/resolveOptions.js +115 -0
  163. package/build/src/lint/resolveOptions.js.map +1 -0
  164. package/build/src/log.js +106 -0
  165. package/build/src/log.js.map +1 -0
  166. package/build/src/login/index.js +92 -0
  167. package/build/src/login/index.js.map +1 -0
  168. package/build/src/logout/index.js +70 -0
  169. package/build/src/logout/index.js.map +1 -0
  170. package/build/src/prebuild/clearNativeFolder.js +202 -0
  171. package/build/src/prebuild/clearNativeFolder.js.map +1 -0
  172. package/build/src/prebuild/configureProjectAsync.js +106 -0
  173. package/build/src/prebuild/configureProjectAsync.js.map +1 -0
  174. package/build/src/prebuild/copyTemplateFiles.js +95 -0
  175. package/build/src/prebuild/copyTemplateFiles.js.map +1 -0
  176. package/build/src/prebuild/ensureConfigAsync.js +32 -0
  177. package/build/src/prebuild/ensureConfigAsync.js.map +1 -0
  178. package/build/src/prebuild/index.js +122 -0
  179. package/build/src/prebuild/index.js.map +1 -0
  180. package/build/src/prebuild/prebuildAsync.js +192 -0
  181. package/build/src/prebuild/prebuildAsync.js.map +1 -0
  182. package/build/src/prebuild/renameTemplateAppName.js +135 -0
  183. package/build/src/prebuild/renameTemplateAppName.js.map +1 -0
  184. package/build/src/prebuild/resolveLocalTemplate.js +72 -0
  185. package/build/src/prebuild/resolveLocalTemplate.js.map +1 -0
  186. package/build/src/prebuild/resolveOptions.js +222 -0
  187. package/build/src/prebuild/resolveOptions.js.map +1 -0
  188. package/build/src/prebuild/resolveTemplate.js +216 -0
  189. package/build/src/prebuild/resolveTemplate.js.map +1 -0
  190. package/build/src/prebuild/updateFromTemplate.js +148 -0
  191. package/build/src/prebuild/updateFromTemplate.js.map +1 -0
  192. package/build/src/prebuild/updatePackageJson.js +305 -0
  193. package/build/src/prebuild/updatePackageJson.js.map +1 -0
  194. package/build/src/prebuild/validateTemplatePlatforms.js +85 -0
  195. package/build/src/prebuild/validateTemplatePlatforms.js.map +1 -0
  196. package/build/src/register/index.js +70 -0
  197. package/build/src/register/index.js.map +1 -0
  198. package/build/src/register/registerAsync.js +39 -0
  199. package/build/src/register/registerAsync.js.map +1 -0
  200. package/build/src/run/android/index.js +139 -0
  201. package/build/src/run/android/index.js.map +1 -0
  202. package/build/src/run/android/resolveDevice.js +28 -0
  203. package/build/src/run/android/resolveDevice.js.map +1 -0
  204. package/build/src/run/android/resolveGradlePropsAsync.js +82 -0
  205. package/build/src/run/android/resolveGradlePropsAsync.js.map +1 -0
  206. package/build/src/run/android/resolveInstallApkName.js +67 -0
  207. package/build/src/run/android/resolveInstallApkName.js.map +1 -0
  208. package/build/src/run/android/resolveLaunchProps.js +44 -0
  209. package/build/src/run/android/resolveLaunchProps.js.map +1 -0
  210. package/build/src/run/android/resolveOptions.js +43 -0
  211. package/build/src/run/android/resolveOptions.js.map +1 -0
  212. package/build/src/run/android/runAndroidAsync.js +157 -0
  213. package/build/src/run/android/runAndroidAsync.js.map +1 -0
  214. package/build/src/run/ensureNativeProject.js +53 -0
  215. package/build/src/run/ensureNativeProject.js.map +1 -0
  216. package/build/src/run/hints.js +46 -0
  217. package/build/src/run/hints.js.map +1 -0
  218. package/build/src/run/index.js +124 -0
  219. package/build/src/run/index.js.map +1 -0
  220. package/build/src/run/ios/XcodeBuild.js +382 -0
  221. package/build/src/run/ios/XcodeBuild.js.map +1 -0
  222. package/build/src/run/ios/XcodeBuild.types.js +6 -0
  223. package/build/src/run/ios/XcodeBuild.types.js.map +1 -0
  224. package/build/src/run/ios/appleDevice/AppleDevice.js +316 -0
  225. package/build/src/run/ios/appleDevice/AppleDevice.js.map +1 -0
  226. package/build/src/run/ios/appleDevice/ClientManager.js +207 -0
  227. package/build/src/run/ios/appleDevice/ClientManager.js.map +1 -0
  228. package/build/src/run/ios/appleDevice/client/AFCClient.js +248 -0
  229. package/build/src/run/ios/appleDevice/client/AFCClient.js.map +1 -0
  230. package/build/src/run/ios/appleDevice/client/DebugserverClient.js +149 -0
  231. package/build/src/run/ios/appleDevice/client/DebugserverClient.js.map +1 -0
  232. package/build/src/run/ios/appleDevice/client/InstallationProxyClient.js +113 -0
  233. package/build/src/run/ios/appleDevice/client/InstallationProxyClient.js.map +1 -0
  234. package/build/src/run/ios/appleDevice/client/LockdowndClient.js +186 -0
  235. package/build/src/run/ios/appleDevice/client/LockdowndClient.js.map +1 -0
  236. package/build/src/run/ios/appleDevice/client/MobileImageMounterClient.js +133 -0
  237. package/build/src/run/ios/appleDevice/client/MobileImageMounterClient.js.map +1 -0
  238. package/build/src/run/ios/appleDevice/client/ServiceClient.js +38 -0
  239. package/build/src/run/ios/appleDevice/client/ServiceClient.js.map +1 -0
  240. package/build/src/run/ios/appleDevice/client/UsbmuxdClient.js +146 -0
  241. package/build/src/run/ios/appleDevice/client/UsbmuxdClient.js.map +1 -0
  242. package/build/src/run/ios/appleDevice/installOnDeviceAsync.js +153 -0
  243. package/build/src/run/ios/appleDevice/installOnDeviceAsync.js.map +1 -0
  244. package/build/src/run/ios/appleDevice/protocol/AFCProtocol.js +365 -0
  245. package/build/src/run/ios/appleDevice/protocol/AFCProtocol.js.map +1 -0
  246. package/build/src/run/ios/appleDevice/protocol/AbstractProtocol.js +167 -0
  247. package/build/src/run/ios/appleDevice/protocol/AbstractProtocol.js.map +1 -0
  248. package/build/src/run/ios/appleDevice/protocol/GDBProtocol.js +153 -0
  249. package/build/src/run/ios/appleDevice/protocol/GDBProtocol.js.map +1 -0
  250. package/build/src/run/ios/appleDevice/protocol/LockdownProtocol.js +111 -0
  251. package/build/src/run/ios/appleDevice/protocol/LockdownProtocol.js.map +1 -0
  252. package/build/src/run/ios/appleDevice/protocol/UsbmuxProtocol.js +100 -0
  253. package/build/src/run/ios/appleDevice/protocol/UsbmuxProtocol.js.map +1 -0
  254. package/build/src/run/ios/codeSigning/Security.js +116 -0
  255. package/build/src/run/ios/codeSigning/Security.js.map +1 -0
  256. package/build/src/run/ios/codeSigning/configureCodeSigning.js +108 -0
  257. package/build/src/run/ios/codeSigning/configureCodeSigning.js.map +1 -0
  258. package/build/src/run/ios/codeSigning/resolveCertificateSigningIdentity.js +165 -0
  259. package/build/src/run/ios/codeSigning/resolveCertificateSigningIdentity.js.map +1 -0
  260. package/build/src/run/ios/codeSigning/settings.js +27 -0
  261. package/build/src/run/ios/codeSigning/settings.js.map +1 -0
  262. package/build/src/run/ios/codeSigning/simulatorCodeSigning.js +67 -0
  263. package/build/src/run/ios/codeSigning/simulatorCodeSigning.js.map +1 -0
  264. package/build/src/run/ios/codeSigning/xcodeCodeSigning.js +103 -0
  265. package/build/src/run/ios/codeSigning/xcodeCodeSigning.js.map +1 -0
  266. package/build/src/run/ios/index.js +137 -0
  267. package/build/src/run/ios/index.js.map +1 -0
  268. package/build/src/run/ios/launchApp.js +142 -0
  269. package/build/src/run/ios/launchApp.js.map +1 -0
  270. package/build/src/run/ios/options/appleDestinations.js +126 -0
  271. package/build/src/run/ios/options/appleDestinations.js.map +1 -0
  272. package/build/src/run/ios/options/promptDevice.js +64 -0
  273. package/build/src/run/ios/options/promptDevice.js.map +1 -0
  274. package/build/src/run/ios/options/resolveDevice.js +151 -0
  275. package/build/src/run/ios/options/resolveDevice.js.map +1 -0
  276. package/build/src/run/ios/options/resolveNativeScheme.js +147 -0
  277. package/build/src/run/ios/options/resolveNativeScheme.js.map +1 -0
  278. package/build/src/run/ios/options/resolveOptions.js +66 -0
  279. package/build/src/run/ios/options/resolveOptions.js.map +1 -0
  280. package/build/src/run/ios/options/resolveXcodeProject.js +50 -0
  281. package/build/src/run/ios/options/resolveXcodeProject.js.map +1 -0
  282. package/build/src/run/ios/runIosAsync.js +255 -0
  283. package/build/src/run/ios/runIosAsync.js.map +1 -0
  284. package/build/src/run/ios/validateExternalBinary.js +113 -0
  285. package/build/src/run/ios/validateExternalBinary.js.map +1 -0
  286. package/build/src/run/resolveBundlerProps.js +38 -0
  287. package/build/src/run/resolveBundlerProps.js.map +1 -0
  288. package/build/src/run/startBundler.js +119 -0
  289. package/build/src/run/startBundler.js.map +1 -0
  290. package/build/src/serve/index.js +95 -0
  291. package/build/src/serve/index.js.map +1 -0
  292. package/build/src/serve/serveAsync.js +227 -0
  293. package/build/src/serve/serveAsync.js.map +1 -0
  294. package/build/src/start/detectDevClient.js +53 -0
  295. package/build/src/start/detectDevClient.js.map +1 -0
  296. package/build/src/start/doctor/Prerequisite.js +60 -0
  297. package/build/src/start/doctor/Prerequisite.js.map +1 -0
  298. package/build/src/start/doctor/SecurityBinPrerequisite.js +38 -0
  299. package/build/src/start/doctor/SecurityBinPrerequisite.js.map +1 -0
  300. package/build/src/start/doctor/apple/SimulatorAppPrerequisite.js +144 -0
  301. package/build/src/start/doctor/apple/SimulatorAppPrerequisite.js.map +1 -0
  302. package/build/src/start/doctor/apple/XcodeDeveloperDiskImagePrerequisite.js +106 -0
  303. package/build/src/start/doctor/apple/XcodeDeveloperDiskImagePrerequisite.js.map +1 -0
  304. package/build/src/start/doctor/apple/XcodePrerequisite.js +239 -0
  305. package/build/src/start/doctor/apple/XcodePrerequisite.js.map +1 -0
  306. package/build/src/start/doctor/apple/XcrunPrerequisite.js +88 -0
  307. package/build/src/start/doctor/apple/XcrunPrerequisite.js.map +1 -0
  308. package/build/src/start/doctor/dependencies/bundledNativeModules.js +112 -0
  309. package/build/src/start/doctor/dependencies/bundledNativeModules.js.map +1 -0
  310. package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js +192 -0
  311. package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js.map +1 -0
  312. package/build/src/start/doctor/dependencies/getMissingPackages.js +108 -0
  313. package/build/src/start/doctor/dependencies/getMissingPackages.js.map +1 -0
  314. package/build/src/start/doctor/dependencies/getVersionedPackages.js +165 -0
  315. package/build/src/start/doctor/dependencies/getVersionedPackages.js.map +1 -0
  316. package/build/src/start/doctor/dependencies/resolvePackages.js +95 -0
  317. package/build/src/start/doctor/dependencies/resolvePackages.js.map +1 -0
  318. package/build/src/start/doctor/dependencies/validateDependenciesVersions.js +262 -0
  319. package/build/src/start/doctor/dependencies/validateDependenciesVersions.js.map +1 -0
  320. package/build/src/start/doctor/ngrok/ExternalModule.js +214 -0
  321. package/build/src/start/doctor/ngrok/ExternalModule.js.map +1 -0
  322. package/build/src/start/doctor/ngrok/NgrokResolver.js +33 -0
  323. package/build/src/start/doctor/ngrok/NgrokResolver.js.map +1 -0
  324. package/build/src/start/doctor/typescript/TypeScriptProjectPrerequisite.js +205 -0
  325. package/build/src/start/doctor/typescript/TypeScriptProjectPrerequisite.js.map +1 -0
  326. package/build/src/start/doctor/typescript/updateTSConfig.js +144 -0
  327. package/build/src/start/doctor/typescript/updateTSConfig.js.map +1 -0
  328. package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js +164 -0
  329. package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js.map +1 -0
  330. package/build/src/start/index.js +151 -0
  331. package/build/src/start/index.js.map +1 -0
  332. package/build/src/start/interface/KeyPressHandler.js +126 -0
  333. package/build/src/start/interface/KeyPressHandler.js.map +1 -0
  334. package/build/src/start/interface/cliExtensionMenuItemHandler.js +173 -0
  335. package/build/src/start/interface/cliExtensionMenuItemHandler.js.map +1 -0
  336. package/build/src/start/interface/commandsTable.js +273 -0
  337. package/build/src/start/interface/commandsTable.js.map +1 -0
  338. package/build/src/start/interface/createDevToolsMenuItems.js +159 -0
  339. package/build/src/start/interface/createDevToolsMenuItems.js.map +1 -0
  340. package/build/src/start/interface/interactiveActions.js +225 -0
  341. package/build/src/start/interface/interactiveActions.js.map +1 -0
  342. package/build/src/start/interface/startInterface.js +261 -0
  343. package/build/src/start/interface/startInterface.js.map +1 -0
  344. package/build/src/start/platforms/AppIdResolver.js +55 -0
  345. package/build/src/start/platforms/AppIdResolver.js.map +1 -0
  346. package/build/src/start/platforms/DeviceManager.js +74 -0
  347. package/build/src/start/platforms/DeviceManager.js.map +1 -0
  348. package/build/src/start/platforms/ExpoGoInstaller.js +167 -0
  349. package/build/src/start/platforms/ExpoGoInstaller.js.map +1 -0
  350. package/build/src/start/platforms/PlatformManager.js +149 -0
  351. package/build/src/start/platforms/PlatformManager.js.map +1 -0
  352. package/build/src/start/platforms/android/ADBServer.js +139 -0
  353. package/build/src/start/platforms/android/ADBServer.js.map +1 -0
  354. package/build/src/start/platforms/android/AndroidAppIdResolver.js +54 -0
  355. package/build/src/start/platforms/android/AndroidAppIdResolver.js.map +1 -0
  356. package/build/src/start/platforms/android/AndroidDeviceManager.js +216 -0
  357. package/build/src/start/platforms/android/AndroidDeviceManager.js.map +1 -0
  358. package/build/src/start/platforms/android/AndroidPlatformManager.js +80 -0
  359. package/build/src/start/platforms/android/AndroidPlatformManager.js.map +1 -0
  360. package/build/src/start/platforms/android/AndroidSdk.js +79 -0
  361. package/build/src/start/platforms/android/AndroidSdk.js.map +1 -0
  362. package/build/src/start/platforms/android/activateWindow.js +117 -0
  363. package/build/src/start/platforms/android/activateWindow.js.map +1 -0
  364. package/build/src/start/platforms/android/adb.js +367 -0
  365. package/build/src/start/platforms/android/adb.js.map +1 -0
  366. package/build/src/start/platforms/android/adbReverse.js +129 -0
  367. package/build/src/start/platforms/android/adbReverse.js.map +1 -0
  368. package/build/src/start/platforms/android/emulator.js +185 -0
  369. package/build/src/start/platforms/android/emulator.js.map +1 -0
  370. package/build/src/start/platforms/android/getDevices.js +39 -0
  371. package/build/src/start/platforms/android/getDevices.js.map +1 -0
  372. package/build/src/start/platforms/android/gradle.js +125 -0
  373. package/build/src/start/platforms/android/gradle.js.map +1 -0
  374. package/build/src/start/platforms/android/promptAndroidDevice.js +82 -0
  375. package/build/src/start/platforms/android/promptAndroidDevice.js.map +1 -0
  376. package/build/src/start/platforms/ios/AppleAppIdResolver.js +76 -0
  377. package/build/src/start/platforms/ios/AppleAppIdResolver.js.map +1 -0
  378. package/build/src/start/platforms/ios/AppleDeviceManager.js +283 -0
  379. package/build/src/start/platforms/ios/AppleDeviceManager.js.map +1 -0
  380. package/build/src/start/platforms/ios/ApplePlatformManager.js +34 -0
  381. package/build/src/start/platforms/ios/ApplePlatformManager.js.map +1 -0
  382. package/build/src/start/platforms/ios/assertSystemRequirements.js +22 -0
  383. package/build/src/start/platforms/ios/assertSystemRequirements.js.map +1 -0
  384. package/build/src/start/platforms/ios/devicectl.js +398 -0
  385. package/build/src/start/platforms/ios/devicectl.js.map +1 -0
  386. package/build/src/start/platforms/ios/ensureSimulatorAppRunning.js +122 -0
  387. package/build/src/start/platforms/ios/ensureSimulatorAppRunning.js.map +1 -0
  388. package/build/src/start/platforms/ios/getBestSimulator.js +148 -0
  389. package/build/src/start/platforms/ios/getBestSimulator.js.map +1 -0
  390. package/build/src/start/platforms/ios/promptAppleDevice.js +72 -0
  391. package/build/src/start/platforms/ios/promptAppleDevice.js.map +1 -0
  392. package/build/src/start/platforms/ios/simctl.js +386 -0
  393. package/build/src/start/platforms/ios/simctl.js.map +1 -0
  394. package/build/src/start/platforms/ios/simctlLogging.js +276 -0
  395. package/build/src/start/platforms/ios/simctlLogging.js.map +1 -0
  396. package/build/src/start/platforms/ios/xcrun.js +74 -0
  397. package/build/src/start/platforms/ios/xcrun.js.map +1 -0
  398. package/build/src/start/project/devices.js +92 -0
  399. package/build/src/start/project/devices.js.map +1 -0
  400. package/build/src/start/project/dotExpo.js +109 -0
  401. package/build/src/start/project/dotExpo.js.map +1 -0
  402. package/build/src/start/project/settings.js +17 -0
  403. package/build/src/start/project/settings.js.map +1 -0
  404. package/build/src/start/resolveOptions.js +173 -0
  405. package/build/src/start/resolveOptions.js.map +1 -0
  406. package/build/src/start/server/AsyncNgrok.js +269 -0
  407. package/build/src/start/server/AsyncNgrok.js.map +1 -0
  408. package/build/src/start/server/AsyncWsTunnel.js +156 -0
  409. package/build/src/start/server/AsyncWsTunnel.js.map +1 -0
  410. package/build/src/start/server/Bonjour.js +103 -0
  411. package/build/src/start/server/Bonjour.js.map +1 -0
  412. package/build/src/start/server/BundlerDevServer.js +410 -0
  413. package/build/src/start/server/BundlerDevServer.js.map +1 -0
  414. package/build/src/start/server/DevServerManager.js +259 -0
  415. package/build/src/start/server/DevServerManager.js.map +1 -0
  416. package/build/src/start/server/DevToolsPlugin.js +60 -0
  417. package/build/src/start/server/DevToolsPlugin.js.map +1 -0
  418. package/build/src/start/server/DevToolsPlugin.schema.js +79 -0
  419. package/build/src/start/server/DevToolsPlugin.schema.js.map +1 -0
  420. package/build/src/start/server/DevToolsPluginCliExtensionExecutor.js +119 -0
  421. package/build/src/start/server/DevToolsPluginCliExtensionExecutor.js.map +1 -0
  422. package/build/src/start/server/DevToolsPluginCliExtensionResults.js +61 -0
  423. package/build/src/start/server/DevToolsPluginCliExtensionResults.js.map +1 -0
  424. package/build/src/start/server/DevToolsPluginManager.js +60 -0
  425. package/build/src/start/server/DevToolsPluginManager.js.map +1 -0
  426. package/build/src/start/server/DevelopmentSession.js +132 -0
  427. package/build/src/start/server/DevelopmentSession.js.map +1 -0
  428. package/build/src/start/server/MCP.js +106 -0
  429. package/build/src/start/server/MCP.js.map +1 -0
  430. package/build/src/start/server/MCPDevToolsPluginCLIExtensions.js +86 -0
  431. package/build/src/start/server/MCPDevToolsPluginCLIExtensions.js.map +1 -0
  432. package/build/src/start/server/UrlCreator.js +219 -0
  433. package/build/src/start/server/UrlCreator.js.map +1 -0
  434. package/build/src/start/server/createMCPDevToolsExtensionSchema.js +67 -0
  435. package/build/src/start/server/createMCPDevToolsExtensionSchema.js.map +1 -0
  436. package/build/src/start/server/getStaticRenderFunctions.js +171 -0
  437. package/build/src/start/server/getStaticRenderFunctions.js.map +1 -0
  438. package/build/src/start/server/metro/DevToolsPluginWebsocketEndpoint.js +39 -0
  439. package/build/src/start/server/metro/DevToolsPluginWebsocketEndpoint.js.map +1 -0
  440. package/build/src/start/server/metro/MetroBundlerDevServer.js +1654 -0
  441. package/build/src/start/server/metro/MetroBundlerDevServer.js.map +1 -0
  442. package/build/src/start/server/metro/MetroTerminalReporter.js +438 -0
  443. package/build/src/start/server/metro/MetroTerminalReporter.js.map +1 -0
  444. package/build/src/start/server/metro/TerminalReporter.js +180 -0
  445. package/build/src/start/server/metro/TerminalReporter.js.map +1 -0
  446. package/build/src/start/server/metro/TerminalReporter.types.js +6 -0
  447. package/build/src/start/server/metro/TerminalReporter.types.js.map +1 -0
  448. package/build/src/start/server/metro/createExpoAutolinkingResolver.js +123 -0
  449. package/build/src/start/server/metro/createExpoAutolinkingResolver.js.map +1 -0
  450. package/build/src/start/server/metro/createExpoFallbackResolver.js +143 -0
  451. package/build/src/start/server/metro/createExpoFallbackResolver.js.map +1 -0
  452. package/build/src/start/server/metro/createServerComponentsMiddleware.js +501 -0
  453. package/build/src/start/server/metro/createServerComponentsMiddleware.js.map +1 -0
  454. package/build/src/start/server/metro/createServerRouteMiddleware.js +229 -0
  455. package/build/src/start/server/metro/createServerRouteMiddleware.js.map +1 -0
  456. package/build/src/start/server/metro/debugging/AtlasPrerequisite.js +49 -0
  457. package/build/src/start/server/metro/debugging/AtlasPrerequisite.js.map +1 -0
  458. package/build/src/start/server/metro/debugging/MessageHandler.js +30 -0
  459. package/build/src/start/server/metro/debugging/MessageHandler.js.map +1 -0
  460. package/build/src/start/server/metro/debugging/attachAtlas.js +103 -0
  461. package/build/src/start/server/metro/debugging/attachAtlas.js.map +1 -0
  462. package/build/src/start/server/metro/debugging/createDebugMiddleware.js +127 -0
  463. package/build/src/start/server/metro/debugging/createDebugMiddleware.js.map +1 -0
  464. package/build/src/start/server/metro/debugging/createHandlersFactory.js +58 -0
  465. package/build/src/start/server/metro/debugging/createHandlersFactory.js.map +1 -0
  466. package/build/src/start/server/metro/debugging/getDebuggerType.js +20 -0
  467. package/build/src/start/server/metro/debugging/getDebuggerType.js.map +1 -0
  468. package/build/src/start/server/metro/debugging/messageHandlers/NetworkResponse.js +44 -0
  469. package/build/src/start/server/metro/debugging/messageHandlers/NetworkResponse.js.map +1 -0
  470. package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerGetPossibleBreakpoints.js +30 -0
  471. package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerGetPossibleBreakpoints.js.map +1 -0
  472. package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerSetBreakpointByUrl.js +27 -0
  473. package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerSetBreakpointByUrl.js.map +1 -0
  474. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeCallFunctionOn.js +33 -0
  475. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeCallFunctionOn.js.map +1 -0
  476. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeEvaluate.js +56 -0
  477. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeEvaluate.js.map +1 -0
  478. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeGetProperties.js +49 -0
  479. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeGetProperties.js.map +1 -0
  480. package/build/src/start/server/metro/debugging/pageIsSupported.js +17 -0
  481. package/build/src/start/server/metro/debugging/pageIsSupported.js.map +1 -0
  482. package/build/src/start/server/metro/debugging/types.js +6 -0
  483. package/build/src/start/server/metro/debugging/types.js.map +1 -0
  484. package/build/src/start/server/metro/dev-server/compression.js +45 -0
  485. package/build/src/start/server/metro/dev-server/compression.js.map +1 -0
  486. package/build/src/start/server/metro/dev-server/createEventSocket.js +103 -0
  487. package/build/src/start/server/metro/dev-server/createEventSocket.js.map +1 -0
  488. package/build/src/start/server/metro/dev-server/createMessageSocket.js +129 -0
  489. package/build/src/start/server/metro/dev-server/createMessageSocket.js.map +1 -0
  490. package/build/src/start/server/metro/dev-server/createMetroMiddleware.js +82 -0
  491. package/build/src/start/server/metro/dev-server/createMetroMiddleware.js.map +1 -0
  492. package/build/src/start/server/metro/dev-server/utils/createSocketBroadcaster.js +27 -0
  493. package/build/src/start/server/metro/dev-server/utils/createSocketBroadcaster.js.map +1 -0
  494. package/build/src/start/server/metro/dev-server/utils/createSocketMap.js +43 -0
  495. package/build/src/start/server/metro/dev-server/utils/createSocketMap.js.map +1 -0
  496. package/build/src/start/server/metro/dev-server/utils/socketMessages.js +41 -0
  497. package/build/src/start/server/metro/dev-server/utils/socketMessages.js.map +1 -0
  498. package/build/src/start/server/metro/errors/FailedToResolveNativeOnlyModuleError.js +17 -0
  499. package/build/src/start/server/metro/errors/FailedToResolveNativeOnlyModuleError.js.map +1 -0
  500. package/build/src/start/server/metro/externals.js +89 -0
  501. package/build/src/start/server/metro/externals.js.map +1 -0
  502. package/build/src/start/server/metro/fetchRouterManifest.js +83 -0
  503. package/build/src/start/server/metro/fetchRouterManifest.js.map +1 -0
  504. package/build/src/start/server/metro/getCssModulesFromBundler.js +114 -0
  505. package/build/src/start/server/metro/getCssModulesFromBundler.js.map +1 -0
  506. package/build/src/start/server/metro/instantiateMetro.js +492 -0
  507. package/build/src/start/server/metro/instantiateMetro.js.map +1 -0
  508. package/build/src/start/server/metro/log-box/LogBoxLog.js +211 -0
  509. package/build/src/start/server/metro/log-box/LogBoxLog.js.map +1 -0
  510. package/build/src/start/server/metro/log-box/LogBoxSymbolication.js +124 -0
  511. package/build/src/start/server/metro/log-box/LogBoxSymbolication.js.map +1 -0
  512. package/build/src/start/server/metro/log-box/formatProjectFilePath.js +46 -0
  513. package/build/src/start/server/metro/log-box/formatProjectFilePath.js.map +1 -0
  514. package/build/src/start/server/metro/metroErrorInterface.js +403 -0
  515. package/build/src/start/server/metro/metroErrorInterface.js.map +1 -0
  516. package/build/src/start/server/metro/metroErrors.js +27 -0
  517. package/build/src/start/server/metro/metroErrors.js.map +1 -0
  518. package/build/src/start/server/metro/metroVirtualModules.js +92 -0
  519. package/build/src/start/server/metro/metroVirtualModules.js.map +1 -0
  520. package/build/src/start/server/metro/metroWatchTypeScriptFiles.js +62 -0
  521. package/build/src/start/server/metro/metroWatchTypeScriptFiles.js.map +1 -0
  522. package/build/src/start/server/metro/resolveLoader.js +68 -0
  523. package/build/src/start/server/metro/resolveLoader.js.map +1 -0
  524. package/build/src/start/server/metro/router.js +218 -0
  525. package/build/src/start/server/metro/router.js.map +1 -0
  526. package/build/src/start/server/metro/runServer-fork.js +179 -0
  527. package/build/src/start/server/metro/runServer-fork.js.map +1 -0
  528. package/build/src/start/server/metro/serializeHtml.js +138 -0
  529. package/build/src/start/server/metro/serializeHtml.js.map +1 -0
  530. package/build/src/start/server/metro/symbolicate.js +6 -0
  531. package/build/src/start/server/metro/symbolicate.js.map +1 -0
  532. package/build/src/start/server/metro/waitForMetroToObserveTypeScriptFile.js +103 -0
  533. package/build/src/start/server/metro/waitForMetroToObserveTypeScriptFile.js.map +1 -0
  534. package/build/src/start/server/metro/withMetroErrorReportingResolver.js +266 -0
  535. package/build/src/start/server/metro/withMetroErrorReportingResolver.js.map +1 -0
  536. package/build/src/start/server/metro/withMetroMultiPlatform.js +748 -0
  537. package/build/src/start/server/metro/withMetroMultiPlatform.js.map +1 -0
  538. package/build/src/start/server/metro/withMetroResolvers.js +110 -0
  539. package/build/src/start/server/metro/withMetroResolvers.js.map +1 -0
  540. package/build/src/start/server/metro/withMetroSupervisingTransformWorker.js +63 -0
  541. package/build/src/start/server/metro/withMetroSupervisingTransformWorker.js.map +1 -0
  542. package/build/src/start/server/middleware/ContextModuleSourceMapsMiddleware.js +32 -0
  543. package/build/src/start/server/middleware/ContextModuleSourceMapsMiddleware.js.map +1 -0
  544. package/build/src/start/server/middleware/CorsMiddleware.js +92 -0
  545. package/build/src/start/server/middleware/CorsMiddleware.js.map +1 -0
  546. package/build/src/start/server/middleware/CreateFileMiddleware.js +166 -0
  547. package/build/src/start/server/middleware/CreateFileMiddleware.js.map +1 -0
  548. package/build/src/start/server/middleware/DevToolsPluginMiddleware.js +78 -0
  549. package/build/src/start/server/middleware/DevToolsPluginMiddleware.js.map +1 -0
  550. package/build/src/start/server/middleware/DomComponentsMiddleware.js +138 -0
  551. package/build/src/start/server/middleware/DomComponentsMiddleware.js.map +1 -0
  552. package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js +288 -0
  553. package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js.map +1 -0
  554. package/build/src/start/server/middleware/ExpoMiddleware.js +121 -0
  555. package/build/src/start/server/middleware/ExpoMiddleware.js.map +1 -0
  556. package/build/src/start/server/middleware/FaviconMiddleware.js +52 -0
  557. package/build/src/start/server/middleware/FaviconMiddleware.js.map +1 -0
  558. package/build/src/start/server/middleware/HistoryFallbackMiddleware.js +29 -0
  559. package/build/src/start/server/middleware/HistoryFallbackMiddleware.js.map +1 -0
  560. package/build/src/start/server/middleware/InterstitialPageMiddleware.js +116 -0
  561. package/build/src/start/server/middleware/InterstitialPageMiddleware.js.map +1 -0
  562. package/build/src/start/server/middleware/ManifestMiddleware.js +362 -0
  563. package/build/src/start/server/middleware/ManifestMiddleware.js.map +1 -0
  564. package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js +103 -0
  565. package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js.map +1 -0
  566. package/build/src/start/server/middleware/ServeStaticMiddleware.js +85 -0
  567. package/build/src/start/server/middleware/ServeStaticMiddleware.js.map +1 -0
  568. package/build/src/start/server/middleware/inspector/CdpClient.js +81 -0
  569. package/build/src/start/server/middleware/inspector/CdpClient.js.map +1 -0
  570. package/build/src/start/server/middleware/inspector/JsInspector.js +123 -0
  571. package/build/src/start/server/middleware/inspector/JsInspector.js.map +1 -0
  572. package/build/src/start/server/middleware/inspector/createJsInspectorMiddleware.js +91 -0
  573. package/build/src/start/server/middleware/inspector/createJsInspectorMiddleware.js.map +1 -0
  574. package/build/src/start/server/middleware/inspector/middlwareMutations.js +30 -0
  575. package/build/src/start/server/middleware/inspector/middlwareMutations.js.map +1 -0
  576. package/build/src/start/server/middleware/metroOptions.js +367 -0
  577. package/build/src/start/server/middleware/metroOptions.js.map +1 -0
  578. package/build/src/start/server/middleware/mutations.js +33 -0
  579. package/build/src/start/server/middleware/mutations.js.map +1 -0
  580. package/build/src/start/server/middleware/resolveAssets.js +154 -0
  581. package/build/src/start/server/middleware/resolveAssets.js.map +1 -0
  582. package/build/src/start/server/middleware/resolvePlatform.js +71 -0
  583. package/build/src/start/server/middleware/resolvePlatform.js.map +1 -0
  584. package/build/src/start/server/middleware/resolveRuntimeVersionWithExpoUpdatesAsync.js +38 -0
  585. package/build/src/start/server/middleware/resolveRuntimeVersionWithExpoUpdatesAsync.js.map +1 -0
  586. package/build/src/start/server/middleware/server.types.js +6 -0
  587. package/build/src/start/server/middleware/server.types.js.map +1 -0
  588. package/build/src/start/server/openPlatforms.js +33 -0
  589. package/build/src/start/server/openPlatforms.js.map +1 -0
  590. package/build/src/start/server/platformBundlers.js +39 -0
  591. package/build/src/start/server/platformBundlers.js.map +1 -0
  592. package/build/src/start/server/serverLogLikeMetro.js +309 -0
  593. package/build/src/start/server/serverLogLikeMetro.js.map +1 -0
  594. package/build/src/start/server/type-generation/expo-env.js +51 -0
  595. package/build/src/start/server/type-generation/expo-env.js.map +1 -0
  596. package/build/src/start/server/type-generation/routes.js +510 -0
  597. package/build/src/start/server/type-generation/routes.js.map +1 -0
  598. package/build/src/start/server/type-generation/startTypescriptTypeGeneration.js +79 -0
  599. package/build/src/start/server/type-generation/startTypescriptTypeGeneration.js.map +1 -0
  600. package/build/src/start/server/type-generation/tsconfig.js +122 -0
  601. package/build/src/start/server/type-generation/tsconfig.js.map +1 -0
  602. package/build/src/start/server/webTemplate.js +111 -0
  603. package/build/src/start/server/webTemplate.js.map +1 -0
  604. package/build/src/start/server/webpack/WebpackBundlerDevServer.js +316 -0
  605. package/build/src/start/server/webpack/WebpackBundlerDevServer.js.map +1 -0
  606. package/build/src/start/server/webpack/compile.js +101 -0
  607. package/build/src/start/server/webpack/compile.js.map +1 -0
  608. package/build/src/start/server/webpack/formatWebpackMessages.js +106 -0
  609. package/build/src/start/server/webpack/formatWebpackMessages.js.map +1 -0
  610. package/build/src/start/server/webpack/resolveFromProject.js +63 -0
  611. package/build/src/start/server/webpack/resolveFromProject.js.map +1 -0
  612. package/build/src/start/server/webpack/tls.js +128 -0
  613. package/build/src/start/server/webpack/tls.js.map +1 -0
  614. package/build/src/start/startAsync.js +204 -0
  615. package/build/src/start/startAsync.js.map +1 -0
  616. package/build/src/types.d.ts +2 -0
  617. package/build/src/utils/FileNotifier.js +138 -0
  618. package/build/src/utils/FileNotifier.js.map +1 -0
  619. package/build/src/utils/ansi.js +22 -0
  620. package/build/src/utils/ansi.js.map +1 -0
  621. package/build/src/utils/args.js +141 -0
  622. package/build/src/utils/args.js.map +1 -0
  623. package/build/src/utils/array.js +92 -0
  624. package/build/src/utils/array.js.map +1 -0
  625. package/build/src/utils/build-cache-providers/helpers.js +61 -0
  626. package/build/src/utils/build-cache-providers/helpers.js.map +1 -0
  627. package/build/src/utils/build-cache-providers/index.js +283 -0
  628. package/build/src/utils/build-cache-providers/index.js.map +1 -0
  629. package/build/src/utils/cocoapods.js +258 -0
  630. package/build/src/utils/cocoapods.js.map +1 -0
  631. package/build/src/utils/codesigning.js +395 -0
  632. package/build/src/utils/codesigning.js.map +1 -0
  633. package/build/src/utils/createFileTransform.js +34 -0
  634. package/build/src/utils/createFileTransform.js.map +1 -0
  635. package/build/src/utils/createTempPath.js +68 -0
  636. package/build/src/utils/createTempPath.js.map +1 -0
  637. package/build/src/utils/delay.js +58 -0
  638. package/build/src/utils/delay.js.map +1 -0
  639. package/build/src/utils/dir.js +121 -0
  640. package/build/src/utils/dir.js.map +1 -0
  641. package/build/src/utils/downloadAppAsync.js +98 -0
  642. package/build/src/utils/downloadAppAsync.js.map +1 -0
  643. package/build/src/utils/downloadExpoGoAsync.js +170 -0
  644. package/build/src/utils/downloadExpoGoAsync.js.map +1 -0
  645. package/build/src/utils/editor.js +527 -0
  646. package/build/src/utils/editor.js.map +1 -0
  647. package/build/src/utils/env.js +266 -0
  648. package/build/src/utils/env.js.map +1 -0
  649. package/build/src/utils/errors.js +134 -0
  650. package/build/src/utils/errors.js.map +1 -0
  651. package/build/src/utils/exit.js +210 -0
  652. package/build/src/utils/exit.js.map +1 -0
  653. package/build/src/utils/expoUpdatesCli.js +120 -0
  654. package/build/src/utils/expoUpdatesCli.js.map +1 -0
  655. package/build/src/utils/fetch.js +41 -0
  656. package/build/src/utils/fetch.js.map +1 -0
  657. package/build/src/utils/filePath.js +42 -0
  658. package/build/src/utils/filePath.js.map +1 -0
  659. package/build/src/utils/findUp.js +61 -0
  660. package/build/src/utils/findUp.js.map +1 -0
  661. package/build/src/utils/fn.js +44 -0
  662. package/build/src/utils/fn.js.map +1 -0
  663. package/build/src/utils/freeport.js +70 -0
  664. package/build/src/utils/freeport.js.map +1 -0
  665. package/build/src/utils/getOrPromptApplicationId.js +259 -0
  666. package/build/src/utils/getOrPromptApplicationId.js.map +1 -0
  667. package/build/src/utils/getRunningProcess.js +181 -0
  668. package/build/src/utils/getRunningProcess.js.map +1 -0
  669. package/build/src/utils/git.js +132 -0
  670. package/build/src/utils/git.js.map +1 -0
  671. package/build/src/utils/glob.js +46 -0
  672. package/build/src/utils/glob.js.map +1 -0
  673. package/build/src/utils/interactive.js +17 -0
  674. package/build/src/utils/interactive.js.map +1 -0
  675. package/build/src/utils/ip.js +63 -0
  676. package/build/src/utils/ip.js.map +1 -0
  677. package/build/src/utils/isModuleSymlinked.js +54 -0
  678. package/build/src/utils/isModuleSymlinked.js.map +1 -0
  679. package/build/src/utils/link.js +55 -0
  680. package/build/src/utils/link.js.map +1 -0
  681. package/build/src/utils/mergeGitIgnorePaths.js +189 -0
  682. package/build/src/utils/mergeGitIgnorePaths.js.map +1 -0
  683. package/build/src/utils/modifyConfigAsync.js +106 -0
  684. package/build/src/utils/modifyConfigAsync.js.map +1 -0
  685. package/build/src/utils/modifyConfigPlugins.js +79 -0
  686. package/build/src/utils/modifyConfigPlugins.js.map +1 -0
  687. package/build/src/utils/net.js +43 -0
  688. package/build/src/utils/net.js.map +1 -0
  689. package/build/src/utils/nodeEnv.js +168 -0
  690. package/build/src/utils/nodeEnv.js.map +1 -0
  691. package/build/src/utils/nodeModules.js +52 -0
  692. package/build/src/utils/nodeModules.js.map +1 -0
  693. package/build/src/utils/npm.js +222 -0
  694. package/build/src/utils/npm.js.map +1 -0
  695. package/build/src/utils/obj.js +59 -0
  696. package/build/src/utils/obj.js.map +1 -0
  697. package/build/src/utils/open.js +36 -0
  698. package/build/src/utils/open.js.map +1 -0
  699. package/build/src/utils/ora.js +113 -0
  700. package/build/src/utils/ora.js.map +1 -0
  701. package/build/src/utils/plist.js +108 -0
  702. package/build/src/utils/plist.js.map +1 -0
  703. package/build/src/utils/port.js +196 -0
  704. package/build/src/utils/port.js.map +1 -0
  705. package/build/src/utils/profile.js +94 -0
  706. package/build/src/utils/profile.js.map +1 -0
  707. package/build/src/utils/progress.js +76 -0
  708. package/build/src/utils/progress.js.map +1 -0
  709. package/build/src/utils/prompts.js +151 -0
  710. package/build/src/utils/prompts.js.map +1 -0
  711. package/build/src/utils/qr.js +186 -0
  712. package/build/src/utils/qr.js.map +1 -0
  713. package/build/src/utils/resolveArgs.js +236 -0
  714. package/build/src/utils/resolveArgs.js.map +1 -0
  715. package/build/src/utils/resolveGlobal.js +195 -0
  716. package/build/src/utils/resolveGlobal.js.map +1 -0
  717. package/build/src/utils/scheme.js +212 -0
  718. package/build/src/utils/scheme.js.map +1 -0
  719. package/build/src/utils/stream.js +31 -0
  720. package/build/src/utils/stream.js.map +1 -0
  721. package/build/src/utils/strings.js +33 -0
  722. package/build/src/utils/strings.js.map +1 -0
  723. package/build/src/utils/tar.js +168 -0
  724. package/build/src/utils/tar.js.map +1 -0
  725. package/build/src/utils/telemetry/Telemetry.js +131 -0
  726. package/build/src/utils/telemetry/Telemetry.js.map +1 -0
  727. package/build/src/utils/telemetry/clients/FetchClient.js +91 -0
  728. package/build/src/utils/telemetry/clients/FetchClient.js.map +1 -0
  729. package/build/src/utils/telemetry/clients/FetchDetachedClient.js +86 -0
  730. package/build/src/utils/telemetry/clients/FetchDetachedClient.js.map +1 -0
  731. package/build/src/utils/telemetry/clients/flushFetchDetached.js +39 -0
  732. package/build/src/utils/telemetry/clients/flushFetchDetached.js.map +1 -0
  733. package/build/src/utils/telemetry/events.js +20 -0
  734. package/build/src/utils/telemetry/events.js.map +1 -0
  735. package/build/src/utils/telemetry/index.js +72 -0
  736. package/build/src/utils/telemetry/index.js.map +1 -0
  737. package/build/src/utils/telemetry/types.js +6 -0
  738. package/build/src/utils/telemetry/types.js.map +1 -0
  739. package/build/src/utils/telemetry/utils/constants.js +23 -0
  740. package/build/src/utils/telemetry/utils/constants.js.map +1 -0
  741. package/build/src/utils/telemetry/utils/context.js +115 -0
  742. package/build/src/utils/telemetry/utils/context.js.map +1 -0
  743. package/build/src/utils/template.js +48 -0
  744. package/build/src/utils/template.js.map +1 -0
  745. package/build/src/utils/terminal.js +15 -0
  746. package/build/src/utils/terminal.js.map +1 -0
  747. package/build/src/utils/tsconfig/evaluateTsConfig.js +87 -0
  748. package/build/src/utils/tsconfig/evaluateTsConfig.js.map +1 -0
  749. package/build/src/utils/tsconfig/loadTsConfigPaths.js +84 -0
  750. package/build/src/utils/tsconfig/loadTsConfigPaths.js.map +1 -0
  751. package/build/src/utils/tsconfig/matchTsConfigPathAlias.js +94 -0
  752. package/build/src/utils/tsconfig/matchTsConfigPathAlias.js.map +1 -0
  753. package/build/src/utils/tsconfig/resolveWithTsConfigPaths.js +62 -0
  754. package/build/src/utils/tsconfig/resolveWithTsConfigPaths.js.map +1 -0
  755. package/build/src/utils/url.js +92 -0
  756. package/build/src/utils/url.js.map +1 -0
  757. package/build/src/utils/validateApplicationId.js +255 -0
  758. package/build/src/utils/validateApplicationId.js.map +1 -0
  759. package/build/src/utils/variadic.js +132 -0
  760. package/build/src/utils/variadic.js.map +1 -0
  761. package/build/src/whoami/index.js +69 -0
  762. package/build/src/whoami/index.js.map +1 -0
  763. package/build/src/whoami/whoamiAsync.js +75 -0
  764. package/build/src/whoami/whoamiAsync.js.map +1 -0
  765. package/changes.json +106 -0
  766. package/internal/unstable-expo-updates-exports.d.ts +31 -0
  767. package/internal/unstable-expo-updates-exports.js +3 -0
  768. package/package.json +275 -0
  769. package/static/loading-page/index.html +363 -0
  770. package/static/shims/react-native-web/dist/cjs/exports/AppRegistry/AppContainer.js +13 -0
  771. package/static/shims/react-native-web/dist/cjs/exports/BackHandler/index.js +10 -0
  772. package/static/shims/react-native-web/dist/exports/AppRegistry/AppContainer.js +12 -0
  773. package/static/shims/react-native-web/dist/exports/BackHandler/index.js +7 -0
  774. package/static/template/+html.tsx +28 -0
  775. package/static/template/+native-intent.ts +9 -0
  776. package/static/template/.eslintrc.js +5 -0
  777. package/static/template/[...rsc]+api.ts +16 -0
  778. package/static/template/babel.config.js +6 -0
  779. package/static/template/eslint.config.js +10 -0
  780. package/static/template/index.html +36 -0
  781. package/static/template/metro.config.js +7 -0
  782. package/static/template/webpack.config.js +7 -0
@@ -0,0 +1,259 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "DevServerManager", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return DevServerManager;
9
+ }
10
+ });
11
+ function _config() {
12
+ const data = require("@expo/config");
13
+ _config = function() {
14
+ return data;
15
+ };
16
+ return data;
17
+ }
18
+ function _assert() {
19
+ const data = /*#__PURE__*/ _interop_require_default(require("assert"));
20
+ _assert = function() {
21
+ return data;
22
+ };
23
+ return data;
24
+ }
25
+ function _chalk() {
26
+ const data = /*#__PURE__*/ _interop_require_default(require("chalk"));
27
+ _chalk = function() {
28
+ return data;
29
+ };
30
+ return data;
31
+ }
32
+ const _DevToolsPluginManager = /*#__PURE__*/ _interop_require_default(require("./DevToolsPluginManager"));
33
+ const _platformBundlers = require("./platformBundlers");
34
+ const _log = require("../../log");
35
+ const _FileNotifier = require("../../utils/FileNotifier");
36
+ const _env = require("../../utils/env");
37
+ const _TypeScriptProjectPrerequisite = require("../doctor/typescript/TypeScriptProjectPrerequisite");
38
+ const _commandsTable = require("../interface/commandsTable");
39
+ const _adb = /*#__PURE__*/ _interop_require_wildcard(require("../platforms/android/adb"));
40
+ const _resolveOptions = require("../resolveOptions");
41
+ function _interop_require_default(obj) {
42
+ return obj && obj.__esModule ? obj : {
43
+ default: obj
44
+ };
45
+ }
46
+ function _getRequireWildcardCache(nodeInterop) {
47
+ if (typeof WeakMap !== "function") return null;
48
+ var cacheBabelInterop = new WeakMap();
49
+ var cacheNodeInterop = new WeakMap();
50
+ return (_getRequireWildcardCache = function(nodeInterop) {
51
+ return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
52
+ })(nodeInterop);
53
+ }
54
+ function _interop_require_wildcard(obj, nodeInterop) {
55
+ if (!nodeInterop && obj && obj.__esModule) {
56
+ return obj;
57
+ }
58
+ if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
59
+ return {
60
+ default: obj
61
+ };
62
+ }
63
+ var cache = _getRequireWildcardCache(nodeInterop);
64
+ if (cache && cache.has(obj)) {
65
+ return cache.get(obj);
66
+ }
67
+ var newObj = {
68
+ __proto__: null
69
+ };
70
+ var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
71
+ for(var key in obj){
72
+ if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
73
+ var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
74
+ if (desc && (desc.get || desc.set)) {
75
+ Object.defineProperty(newObj, key, desc);
76
+ } else {
77
+ newObj[key] = obj[key];
78
+ }
79
+ }
80
+ }
81
+ newObj.default = obj;
82
+ if (cache) {
83
+ cache.set(obj, newObj);
84
+ }
85
+ return newObj;
86
+ }
87
+ const debug = require('debug')('expo:start:server:devServerManager');
88
+ const BUNDLERS = {
89
+ webpack: ()=>require('./webpack/WebpackBundlerDevServer').WebpackBundlerDevServer,
90
+ metro: ()=>require('./metro/MetroBundlerDevServer').MetroBundlerDevServer
91
+ };
92
+ class DevServerManager {
93
+ static async startMetroAsync(projectRoot, startOptions) {
94
+ const devServerManager = new DevServerManager(projectRoot, startOptions);
95
+ await devServerManager.startAsync([
96
+ {
97
+ type: 'metro',
98
+ options: startOptions
99
+ }
100
+ ]);
101
+ return devServerManager;
102
+ }
103
+ constructor(projectRoot, /** Keep track of the original CLI options for bundlers that are started interactively. */ options){
104
+ this.projectRoot = projectRoot;
105
+ this.options = options;
106
+ this.devServers = [];
107
+ this.projectPrerequisites = [];
108
+ this.notifier = null;
109
+ if (!options.isExporting) {
110
+ this.notifier = this.watchBabelConfig();
111
+ }
112
+ this.devtoolsPluginManager = new _DevToolsPluginManager.default(projectRoot);
113
+ }
114
+ watchBabelConfig() {
115
+ const notifier = new _FileNotifier.FileNotifier(this.projectRoot, [
116
+ './babel.config.js',
117
+ './babel.config.json',
118
+ './.babelrc.json',
119
+ './.babelrc',
120
+ './.babelrc.js'
121
+ ], {
122
+ additionalWarning: (0, _chalk().default)` You may need to clear the bundler cache with the {bold --clear} flag for your changes to take effect.`
123
+ });
124
+ notifier.startObserving();
125
+ return notifier;
126
+ }
127
+ /** Lazily load and assert a project-level prerequisite. */ async ensureProjectPrerequisiteAsync(PrerequisiteClass) {
128
+ let prerequisite = this.projectPrerequisites.find((prerequisite)=>prerequisite instanceof PrerequisiteClass);
129
+ if (!prerequisite) {
130
+ prerequisite = new PrerequisiteClass(this.projectRoot);
131
+ this.projectPrerequisites.push(prerequisite);
132
+ }
133
+ return await prerequisite.assertAsync();
134
+ }
135
+ /**
136
+ * Sends a message over web sockets to all connected devices,
137
+ * does nothing when the dev server is not running.
138
+ *
139
+ * @param method name of the command. In RN projects `reload`, and `devMenu` are available. In Expo Go, `sendDevCommand` is available.
140
+ * @param params extra event info to send over the socket.
141
+ */ broadcastMessage(method, params) {
142
+ this.devServers.forEach((server)=>{
143
+ server.broadcastMessage(method, params);
144
+ });
145
+ }
146
+ /** Get the port for the dev server (either Webpack or Metro) that is hosting code for React Native runtimes. */ getNativeDevServerPort() {
147
+ var _server_getInstance;
148
+ const server = this.devServers.find((server)=>server.isTargetingNative());
149
+ return (server == null ? void 0 : (_server_getInstance = server.getInstance()) == null ? void 0 : _server_getInstance.location.port) ?? null;
150
+ }
151
+ /** Get the first server that targets web. */ getWebDevServer() {
152
+ const server = this.devServers.find((server)=>server.isTargetingWeb());
153
+ return server ?? null;
154
+ }
155
+ getDefaultDevServer() {
156
+ // Return the first native dev server otherwise return the first dev server.
157
+ const server = this.devServers.find((server)=>server.isTargetingNative());
158
+ const defaultServer = server ?? this.devServers[0];
159
+ (0, _assert().default)(defaultServer, 'No dev servers are running');
160
+ return defaultServer;
161
+ }
162
+ async ensureWebDevServerRunningAsync() {
163
+ const [server] = this.devServers.filter((server)=>server.isTargetingWeb());
164
+ if (server) {
165
+ return;
166
+ }
167
+ const { exp } = (0, _config().getConfig)(this.projectRoot, {
168
+ skipPlugins: true,
169
+ skipSDKVersionRequirement: true
170
+ });
171
+ const bundler = (0, _platformBundlers.getPlatformBundlers)(this.projectRoot, exp).web;
172
+ debug(`Starting ${bundler} dev server for web`);
173
+ return this.startAsync([
174
+ {
175
+ type: bundler,
176
+ options: this.options
177
+ }
178
+ ]);
179
+ }
180
+ /** Switch between Expo Go and Expo Dev Clients. */ async toggleRuntimeMode(isUsingDevClient = !this.options.devClient) {
181
+ const nextMode = isUsingDevClient ? '--dev-client' : '--go';
182
+ _log.Log.log((0, _commandsTable.printItem)(`Switching to ${(0, _chalk().default)`{bold ${nextMode}}`}`, {
183
+ dim: true
184
+ }));
185
+ _log.Log.log();
186
+ const nextScheme = await (0, _resolveOptions.resolveSchemeAsync)(this.projectRoot, {
187
+ devClient: isUsingDevClient
188
+ });
189
+ this.options.location.scheme = nextScheme;
190
+ this.options.devClient = isUsingDevClient;
191
+ for (const devServer of this.devServers){
192
+ devServer.isDevClient = isUsingDevClient;
193
+ // TODO(@kitten): Clean up mode switching better
194
+ const urlCreator = devServer.getUrlCreator();
195
+ urlCreator.defaults ??= {};
196
+ urlCreator.defaults.scheme = nextScheme;
197
+ }
198
+ debug(`New runtime options (runtime: ${nextMode}):`, this.options);
199
+ return true;
200
+ }
201
+ /** Start all dev servers. */ async startAsync(startOptions) {
202
+ const { exp } = (0, _config().getConfig)(this.projectRoot, {
203
+ skipSDKVersionRequirement: true
204
+ });
205
+ const platformBundlers = (0, _platformBundlers.getPlatformBundlers)(this.projectRoot, exp);
206
+ // Start all dev servers...
207
+ for (const { type, options } of startOptions){
208
+ const BundlerDevServerClass = await BUNDLERS[type]();
209
+ const server = new BundlerDevServerClass(this.projectRoot, platformBundlers, {
210
+ devToolsPluginManager: this.devtoolsPluginManager,
211
+ isDevClient: !!(options == null ? void 0 : options.devClient)
212
+ });
213
+ await server.startAsync(options ?? this.options);
214
+ this.devServers.push(server);
215
+ }
216
+ return exp;
217
+ }
218
+ async bootstrapTypeScriptAsync() {
219
+ const typescriptPrerequisite = await this.ensureProjectPrerequisiteAsync(_TypeScriptProjectPrerequisite.TypeScriptProjectPrerequisite);
220
+ if (_env.env.EXPO_NO_TYPESCRIPT_SETUP) {
221
+ return;
222
+ }
223
+ // Optionally, wait for the user to add TypeScript during the
224
+ // development cycle.
225
+ const server = this.devServers.find((server)=>server.name === 'metro');
226
+ if (!server) {
227
+ return;
228
+ }
229
+ // The dev server shouldn't wait for the typescript services
230
+ if (!typescriptPrerequisite) {
231
+ server.waitForTypeScriptAsync().then(async (success)=>{
232
+ if (success) {
233
+ server.startTypeScriptServices();
234
+ }
235
+ });
236
+ } else {
237
+ server.startTypeScriptServices();
238
+ }
239
+ }
240
+ async watchEnvironmentVariables() {
241
+ var _this_devServers_find;
242
+ await ((_this_devServers_find = this.devServers.find((server)=>server.name === 'metro')) == null ? void 0 : _this_devServers_find.watchEnvironmentVariables());
243
+ }
244
+ /** Stop all servers including ADB. */ async stopAsync() {
245
+ var _this_notifier;
246
+ await Promise.allSettled([
247
+ (_this_notifier = this.notifier) == null ? void 0 : _this_notifier.stopObserving(),
248
+ // Stop ADB
249
+ _adb.getServer().stopAsync(),
250
+ // Stop all dev servers
251
+ ...this.devServers.map((server)=>server.stopAsync().catch((error)=>{
252
+ _log.Log.error(`Failed to stop dev server (bundler: ${server.name})`);
253
+ _log.Log.exception(error);
254
+ }))
255
+ ]);
256
+ }
257
+ }
258
+
259
+ //# sourceMappingURL=DevServerManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/start/server/DevServerManager.ts"],"sourcesContent":["import { ExpoConfig, getConfig } from '@expo/config';\nimport assert from 'assert';\nimport chalk from 'chalk';\n\nimport { BundlerDevServer, BundlerStartOptions } from './BundlerDevServer';\nimport DevToolsPluginManager from './DevToolsPluginManager';\nimport { getPlatformBundlers } from './platformBundlers';\nimport { Log } from '../../log';\nimport { FileNotifier } from '../../utils/FileNotifier';\nimport { env } from '../../utils/env';\nimport { ProjectPrerequisite } from '../doctor/Prerequisite';\nimport { TypeScriptProjectPrerequisite } from '../doctor/typescript/TypeScriptProjectPrerequisite';\nimport { printItem } from '../interface/commandsTable';\nimport * as AndroidDebugBridge from '../platforms/android/adb';\nimport { resolveSchemeAsync } from '../resolveOptions';\n\nconst debug = require('debug')('expo:start:server:devServerManager') as typeof console.log;\n\nexport type MultiBundlerStartOptions = {\n type: keyof typeof BUNDLERS;\n options?: BundlerStartOptions;\n}[];\n\nconst BUNDLERS = {\n webpack: () =>\n require('./webpack/WebpackBundlerDevServer')\n .WebpackBundlerDevServer as typeof import('./webpack/WebpackBundlerDevServer').WebpackBundlerDevServer,\n metro: () =>\n require('./metro/MetroBundlerDevServer')\n .MetroBundlerDevServer as typeof import('./metro/MetroBundlerDevServer').MetroBundlerDevServer,\n};\n\n/** Manages interacting with multiple dev servers. */\nexport class DevServerManager {\n private devServers: BundlerDevServer[] = [];\n\n static async startMetroAsync(projectRoot: string, startOptions: BundlerStartOptions) {\n const devServerManager = new DevServerManager(projectRoot, startOptions);\n\n await devServerManager.startAsync([\n {\n type: 'metro',\n options: startOptions,\n },\n ]);\n return devServerManager;\n }\n\n private projectPrerequisites: ProjectPrerequisite<any, void>[] = [];\n public readonly devtoolsPluginManager: DevToolsPluginManager;\n\n private notifier: FileNotifier | null = null;\n\n constructor(\n public projectRoot: string,\n /** Keep track of the original CLI options for bundlers that are started interactively. */\n public options: BundlerStartOptions\n ) {\n if (!options.isExporting) {\n this.notifier = this.watchBabelConfig();\n }\n this.devtoolsPluginManager = new DevToolsPluginManager(projectRoot);\n }\n\n private watchBabelConfig() {\n const notifier = new FileNotifier(\n this.projectRoot,\n [\n './babel.config.js',\n './babel.config.json',\n './.babelrc.json',\n './.babelrc',\n './.babelrc.js',\n ],\n {\n additionalWarning: chalk` You may need to clear the bundler cache with the {bold --clear} flag for your changes to take effect.`,\n }\n );\n\n notifier.startObserving();\n\n return notifier;\n }\n\n /** Lazily load and assert a project-level prerequisite. */\n async ensureProjectPrerequisiteAsync(PrerequisiteClass: typeof ProjectPrerequisite<any, any>) {\n let prerequisite = this.projectPrerequisites.find(\n (prerequisite) => prerequisite instanceof PrerequisiteClass\n );\n if (!prerequisite) {\n prerequisite = new PrerequisiteClass(this.projectRoot);\n this.projectPrerequisites.push(prerequisite);\n }\n return await prerequisite.assertAsync();\n }\n\n /**\n * Sends a message over web sockets to all connected devices,\n * does nothing when the dev server is not running.\n *\n * @param method name of the command. In RN projects `reload`, and `devMenu` are available. In Expo Go, `sendDevCommand` is available.\n * @param params extra event info to send over the socket.\n */\n broadcastMessage(method: 'reload' | 'devMenu' | 'sendDevCommand', params?: Record<string, any>) {\n this.devServers.forEach((server) => {\n server.broadcastMessage(method, params);\n });\n }\n\n /** Get the port for the dev server (either Webpack or Metro) that is hosting code for React Native runtimes. */\n getNativeDevServerPort() {\n const server = this.devServers.find((server) => server.isTargetingNative());\n return server?.getInstance()?.location.port ?? null;\n }\n\n /** Get the first server that targets web. */\n getWebDevServer() {\n const server = this.devServers.find((server) => server.isTargetingWeb());\n return server ?? null;\n }\n\n getDefaultDevServer(): BundlerDevServer {\n // Return the first native dev server otherwise return the first dev server.\n const server = this.devServers.find((server) => server.isTargetingNative());\n const defaultServer = server ?? this.devServers[0];\n assert(defaultServer, 'No dev servers are running');\n return defaultServer;\n }\n\n async ensureWebDevServerRunningAsync() {\n const [server] = this.devServers.filter((server) => server.isTargetingWeb());\n if (server) {\n return;\n }\n const { exp } = getConfig(this.projectRoot, {\n skipPlugins: true,\n skipSDKVersionRequirement: true,\n });\n const bundler = getPlatformBundlers(this.projectRoot, exp).web;\n debug(`Starting ${bundler} dev server for web`);\n return this.startAsync([\n {\n type: bundler,\n options: this.options,\n },\n ]);\n }\n\n /** Switch between Expo Go and Expo Dev Clients. */\n async toggleRuntimeMode(isUsingDevClient: boolean = !this.options.devClient): Promise<boolean> {\n const nextMode = isUsingDevClient ? '--dev-client' : '--go';\n Log.log(printItem(`Switching to ${chalk`{bold ${nextMode}}`}`, { dim: true }));\n Log.log();\n\n const nextScheme = await resolveSchemeAsync(this.projectRoot, {\n devClient: isUsingDevClient,\n // NOTE: The custom `--scheme` argument is lost from this point on.\n });\n\n this.options.location.scheme = nextScheme;\n this.options.devClient = isUsingDevClient;\n for (const devServer of this.devServers) {\n devServer.isDevClient = isUsingDevClient;\n // TODO(@kitten): Clean up mode switching better\n const urlCreator = devServer.getUrlCreator();\n urlCreator.defaults ??= {};\n urlCreator.defaults.scheme = nextScheme;\n }\n\n debug(`New runtime options (runtime: ${nextMode}):`, this.options);\n return true;\n }\n\n /** Start all dev servers. */\n async startAsync(startOptions: MultiBundlerStartOptions): Promise<ExpoConfig> {\n const { exp } = getConfig(this.projectRoot, { skipSDKVersionRequirement: true });\n const platformBundlers = getPlatformBundlers(this.projectRoot, exp);\n\n // Start all dev servers...\n for (const { type, options } of startOptions) {\n const BundlerDevServerClass = await BUNDLERS[type]();\n const server = new BundlerDevServerClass(this.projectRoot, platformBundlers, {\n devToolsPluginManager: this.devtoolsPluginManager,\n isDevClient: !!options?.devClient,\n });\n await server.startAsync(options ?? this.options);\n this.devServers.push(server);\n }\n\n return exp;\n }\n\n async bootstrapTypeScriptAsync() {\n const typescriptPrerequisite = await this.ensureProjectPrerequisiteAsync(\n TypeScriptProjectPrerequisite\n );\n\n if (env.EXPO_NO_TYPESCRIPT_SETUP) {\n return;\n }\n\n // Optionally, wait for the user to add TypeScript during the\n // development cycle.\n const server = this.devServers.find((server) => server.name === 'metro');\n if (!server) {\n return;\n }\n\n // The dev server shouldn't wait for the typescript services\n if (!typescriptPrerequisite) {\n server.waitForTypeScriptAsync().then(async (success) => {\n if (success) {\n server.startTypeScriptServices();\n }\n });\n } else {\n server.startTypeScriptServices();\n }\n }\n\n async watchEnvironmentVariables() {\n await this.devServers.find((server) => server.name === 'metro')?.watchEnvironmentVariables();\n }\n\n /** Stop all servers including ADB. */\n async stopAsync(): Promise<void> {\n await Promise.allSettled([\n this.notifier?.stopObserving(),\n // Stop ADB\n AndroidDebugBridge.getServer().stopAsync(),\n // Stop all dev servers\n ...this.devServers.map((server) =>\n server.stopAsync().catch((error) => {\n Log.error(`Failed to stop dev server (bundler: ${server.name})`);\n Log.exception(error);\n })\n ),\n ]);\n }\n}\n"],"names":["DevServerManager","debug","require","BUNDLERS","webpack","WebpackBundlerDevServer","metro","MetroBundlerDevServer","startMetroAsync","projectRoot","startOptions","devServerManager","startAsync","type","options","constructor","devServers","projectPrerequisites","notifier","isExporting","watchBabelConfig","devtoolsPluginManager","DevToolsPluginManager","FileNotifier","additionalWarning","chalk","startObserving","ensureProjectPrerequisiteAsync","PrerequisiteClass","prerequisite","find","push","assertAsync","broadcastMessage","method","params","forEach","server","getNativeDevServerPort","isTargetingNative","getInstance","location","port","getWebDevServer","isTargetingWeb","getDefaultDevServer","defaultServer","assert","ensureWebDevServerRunningAsync","filter","exp","getConfig","skipPlugins","skipSDKVersionRequirement","bundler","getPlatformBundlers","web","toggleRuntimeMode","isUsingDevClient","devClient","nextMode","Log","log","printItem","dim","nextScheme","resolveSchemeAsync","scheme","devServer","isDevClient","urlCreator","getUrlCreator","defaults","platformBundlers","BundlerDevServerClass","devToolsPluginManager","bootstrapTypeScriptAsync","typescriptPrerequisite","TypeScriptProjectPrerequisite","env","EXPO_NO_TYPESCRIPT_SETUP","name","waitForTypeScriptAsync","then","success","startTypeScriptServices","watchEnvironmentVariables","stopAsync","Promise","allSettled","stopObserving","AndroidDebugBridge","getServer","map","catch","error","exception"],"mappings":"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"}
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "DevToolsPlugin", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return DevToolsPlugin;
9
+ }
10
+ });
11
+ const _DevToolsPluginschema = require("./DevToolsPlugin.schema");
12
+ const _DevToolsPluginCliExtensionExecutor = require("./DevToolsPluginCliExtensionExecutor");
13
+ const _DevToolsPluginManager = require("./DevToolsPluginManager");
14
+ class DevToolsPlugin {
15
+ constructor(plugin, projectRoot){
16
+ this.plugin = plugin;
17
+ this.projectRoot = projectRoot;
18
+ this._executor = undefined;
19
+ // Validate configuration schema
20
+ const result = _DevToolsPluginschema.PluginSchema.safeParse(plugin);
21
+ if (!result.success) {
22
+ throw new Error(`Invalid plugin configuration: ${result.error.message}`, {
23
+ cause: result.error
24
+ });
25
+ }
26
+ }
27
+ get packageName() {
28
+ return this.plugin.packageName;
29
+ }
30
+ get packageRoot() {
31
+ return this.plugin.packageRoot;
32
+ }
33
+ get webpageEndpoint() {
34
+ var _this_plugin, _this_plugin1;
35
+ return ((_this_plugin = this.plugin) == null ? void 0 : _this_plugin.webpageRoot) ? `${_DevToolsPluginManager.DevToolsPluginEndpoint}/${(_this_plugin1 = this.plugin) == null ? void 0 : _this_plugin1.packageName}` : undefined;
36
+ }
37
+ get webpageRoot() {
38
+ var _this_plugin;
39
+ return (_this_plugin = this.plugin) == null ? void 0 : _this_plugin.webpageRoot;
40
+ }
41
+ get description() {
42
+ var _this_plugin_cliExtensions;
43
+ return ((_this_plugin_cliExtensions = this.plugin.cliExtensions) == null ? void 0 : _this_plugin_cliExtensions.description) ?? '';
44
+ }
45
+ get cliExtensions() {
46
+ return this.plugin.cliExtensions;
47
+ }
48
+ get executor() {
49
+ var _this_plugin_cliExtensions;
50
+ if (!((_this_plugin_cliExtensions = this.plugin.cliExtensions) == null ? void 0 : _this_plugin_cliExtensions.entryPoint)) {
51
+ return undefined;
52
+ }
53
+ if (!this._executor) {
54
+ this._executor = new _DevToolsPluginCliExtensionExecutor.DevToolsPluginCliExtensionExecutor(this.plugin, this.projectRoot);
55
+ }
56
+ return this._executor;
57
+ }
58
+ }
59
+
60
+ //# sourceMappingURL=DevToolsPlugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/start/server/DevToolsPlugin.ts"],"sourcesContent":["import { DevToolsPluginInfo, PluginSchema } from './DevToolsPlugin.schema';\nimport { DevToolsPluginCliExtensionExecutor } from './DevToolsPluginCliExtensionExecutor';\nimport { DevToolsPluginEndpoint } from './DevToolsPluginManager';\nimport { Log } from '../../log';\n\n/**\n * Class that represents a DevTools plugin with CLI and/or web extensions\n *\n * Responsibilities:\n * - Validates plugin configuration against schema\n * - Provides access to plugin metadata (name, description\n * , endpoints)\n * - Manages CLI command execution via DevToolsPluginExecutor\n * - Lazily initializes executor when needed\n * - Constructs web endpoint URLs based on server configuration\n */\nexport class DevToolsPlugin {\n constructor(\n private plugin: DevToolsPluginInfo,\n public readonly projectRoot: string\n ) {\n // Validate configuration schema\n const result = PluginSchema.safeParse(plugin);\n if (!result.success) {\n throw new Error(`Invalid plugin configuration: ${result.error.message}`, {\n cause: result.error,\n });\n }\n }\n\n private _executor: DevToolsPluginCliExtensionExecutor | undefined = undefined;\n\n get packageName(): string {\n return this.plugin.packageName;\n }\n\n get packageRoot(): string {\n return this.plugin.packageRoot;\n }\n\n get webpageEndpoint(): string | undefined {\n return this.plugin?.webpageRoot\n ? `${DevToolsPluginEndpoint}/${this.plugin?.packageName}`\n : undefined;\n }\n\n get webpageRoot(): string | undefined {\n return this.plugin?.webpageRoot;\n }\n\n get description(): string {\n return this.plugin.cliExtensions?.description ?? '';\n }\n\n get cliExtensions(): DevToolsPluginInfo['cliExtensions'] {\n return this.plugin.cliExtensions;\n }\n\n get executor(): DevToolsPluginCliExtensionExecutor | undefined {\n if (!this.plugin.cliExtensions?.entryPoint) {\n return undefined;\n }\n\n if (!this._executor) {\n this._executor = new DevToolsPluginCliExtensionExecutor(this.plugin, this.projectRoot);\n }\n\n return this._executor;\n }\n}\n"],"names":["DevToolsPlugin","constructor","plugin","projectRoot","_executor","undefined","result","PluginSchema","safeParse","success","Error","error","message","cause","packageName","packageRoot","webpageEndpoint","webpageRoot","DevToolsPluginEndpoint","description","cliExtensions","executor","entryPoint","DevToolsPluginCliExtensionExecutor"],"mappings":";;;;+BAgBaA;;;eAAAA;;;sCAhBoC;oDACE;uCACZ;AAchC,MAAMA;IACXC,YACE,AAAQC,MAA0B,EAClC,AAAgBC,WAAmB,CACnC;aAFQD,SAAAA;aACQC,cAAAA;aAWVC,YAA4DC;QATlE,gCAAgC;QAChC,MAAMC,SAASC,kCAAY,CAACC,SAAS,CAACN;QACtC,IAAI,CAACI,OAAOG,OAAO,EAAE;YACnB,MAAM,IAAIC,MAAM,CAAC,8BAA8B,EAAEJ,OAAOK,KAAK,CAACC,OAAO,EAAE,EAAE;gBACvEC,OAAOP,OAAOK,KAAK;YACrB;QACF;IACF;IAIA,IAAIG,cAAsB;QACxB,OAAO,IAAI,CAACZ,MAAM,CAACY,WAAW;IAChC;IAEA,IAAIC,cAAsB;QACxB,OAAO,IAAI,CAACb,MAAM,CAACa,WAAW;IAChC;IAEA,IAAIC,kBAAsC;YACjC,cAC0B;QADjC,OAAO,EAAA,eAAA,IAAI,CAACd,MAAM,qBAAX,aAAae,WAAW,IAC3B,GAAGC,6CAAsB,CAAC,CAAC,GAAE,gBAAA,IAAI,CAAChB,MAAM,qBAAX,cAAaY,WAAW,EAAE,GACvDT;IACN;IAEA,IAAIY,cAAkC;YAC7B;QAAP,QAAO,eAAA,IAAI,CAACf,MAAM,qBAAX,aAAae,WAAW;IACjC;IAEA,IAAIE,cAAsB;YACjB;QAAP,OAAO,EAAA,6BAAA,IAAI,CAACjB,MAAM,CAACkB,aAAa,qBAAzB,2BAA2BD,WAAW,KAAI;IACnD;IAEA,IAAIC,gBAAqD;QACvD,OAAO,IAAI,CAAClB,MAAM,CAACkB,aAAa;IAClC;IAEA,IAAIC,WAA2D;YACxD;QAAL,IAAI,GAAC,6BAAA,IAAI,CAACnB,MAAM,CAACkB,aAAa,qBAAzB,2BAA2BE,UAAU,GAAE;YAC1C,OAAOjB;QACT;QAEA,IAAI,CAAC,IAAI,CAACD,SAAS,EAAE;YACnB,IAAI,CAACA,SAAS,GAAG,IAAImB,sEAAkC,CAAC,IAAI,CAACrB,MAAM,EAAE,IAAI,CAACC,WAAW;QACvF;QAEA,OAAO,IAAI,CAACC,SAAS;IACvB;AACF"}
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ function _export(target, all) {
6
+ for(var name in all)Object.defineProperty(target, name, {
7
+ enumerable: true,
8
+ get: all[name]
9
+ });
10
+ }
11
+ _export(exports, {
12
+ DevToolsPluginOutputSchema: function() {
13
+ return DevToolsPluginOutputSchema;
14
+ },
15
+ PluginSchema: function() {
16
+ return PluginSchema;
17
+ }
18
+ });
19
+ function _zod() {
20
+ const data = require("zod");
21
+ _zod = function() {
22
+ return data;
23
+ };
24
+ return data;
25
+ }
26
+ const CommandParameterSchema = _zod().z.object({
27
+ name: _zod().z.string().min(1),
28
+ type: _zod().z.enum([
29
+ 'text',
30
+ 'number',
31
+ 'confirm'
32
+ ]),
33
+ description: _zod().z.string().optional()
34
+ });
35
+ const CommandSchema = _zod().z.object({
36
+ name: _zod().z.string().min(1),
37
+ title: _zod().z.string().min(1),
38
+ environments: _zod().z.array(_zod().z.enum([
39
+ 'cli',
40
+ 'mcp'
41
+ ])).readonly(),
42
+ parameters: _zod().z.array(CommandParameterSchema).optional()
43
+ });
44
+ const CliExtensionsSchema = _zod().z.object({
45
+ description: _zod().z.string(),
46
+ commands: _zod().z.array(CommandSchema).min(1),
47
+ entryPoint: _zod().z.string().min(1)
48
+ });
49
+ const PluginSchema = _zod().z.object({
50
+ packageName: _zod().z.string().min(1),
51
+ packageRoot: _zod().z.string().min(1),
52
+ webpageRoot: _zod().z.string().optional(),
53
+ cliExtensions: CliExtensionsSchema.optional()
54
+ });
55
+ const DevToolsPluginOutputLinesSchema = _zod().z.union([
56
+ _zod().z.object({
57
+ type: _zod().z.literal('text'),
58
+ text: _zod().z.string(),
59
+ url: _zod().z.string().optional(),
60
+ level: _zod().z.enum([
61
+ 'info',
62
+ 'warning',
63
+ 'error'
64
+ ])
65
+ }),
66
+ _zod().z.object({
67
+ type: _zod().z.literal('audio'),
68
+ url: _zod().z.string().url(),
69
+ text: _zod().z.string().optional()
70
+ }),
71
+ _zod().z.object({
72
+ type: _zod().z.literal('image'),
73
+ url: _zod().z.string().url(),
74
+ text: _zod().z.string().optional()
75
+ })
76
+ ]);
77
+ const DevToolsPluginOutputSchema = _zod().z.array(DevToolsPluginOutputLinesSchema);
78
+
79
+ //# sourceMappingURL=DevToolsPlugin.schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/start/server/DevToolsPlugin.schema.ts"],"sourcesContent":["import { z } from 'zod';\n\nconst CommandParameterSchema = z.object({\n name: z.string().min(1),\n type: z.enum(['text', 'number', 'confirm']),\n description: z.string().optional(),\n});\n\nexport type DevToolsPluginCommandParameter = z.infer<typeof CommandParameterSchema>;\n\nconst CommandSchema = z.object({\n name: z.string().min(1),\n title: z.string().min(1),\n environments: z.array(z.enum(['cli', 'mcp'])).readonly(),\n parameters: z.array(CommandParameterSchema).optional(),\n});\n\nexport type DevToolsPluginCommand = z.infer<typeof CommandSchema>;\n\nexport type DevToolsPluginExecutorArguments = {\n command: string;\n metroServerOrigin: string;\n args?: Record<string, string | number | boolean> | undefined;\n onOutput?: (output: DevToolsPluginOutput) => void;\n};\n\nconst CliExtensionsSchema = z.object({\n description: z.string(),\n commands: z.array(CommandSchema).min(1),\n entryPoint: z.string().min(1),\n});\n\nexport type DevToolsPluginCliExtensions = z.infer<typeof CliExtensionsSchema>;\n\nexport const PluginSchema = z.object({\n packageName: z.string().min(1),\n packageRoot: z.string().min(1),\n webpageRoot: z.string().optional(),\n cliExtensions: CliExtensionsSchema.optional(),\n});\n\nexport type DevToolsPluginInfo = z.infer<typeof PluginSchema>;\n\nconst DevToolsPluginOutputLinesSchema = z.union([\n z.object({\n type: z.literal('text'),\n text: z.string(),\n url: z.string().optional(),\n level: z.enum(['info', 'warning', 'error']),\n }),\n z.object({\n type: z.literal('audio'),\n url: z.string().url(),\n text: z.string().optional(),\n }),\n z.object({\n type: z.literal('image'),\n url: z.string().url(),\n text: z.string().optional(),\n }),\n]);\n\nexport const DevToolsPluginOutputSchema = z.array(DevToolsPluginOutputLinesSchema);\n\nexport type DevToolsPluginOutput = z.infer<typeof DevToolsPluginOutputSchema>;\n"],"names":["DevToolsPluginOutputSchema","PluginSchema","CommandParameterSchema","z","object","name","string","min","type","enum","description","optional","CommandSchema","title","environments","array","readonly","parameters","CliExtensionsSchema","commands","entryPoint","packageName","packageRoot","webpageRoot","cliExtensions","DevToolsPluginOutputLinesSchema","union","literal","text","url","level"],"mappings":";;;;;;;;;;;IA8DaA,0BAA0B;eAA1BA;;IA5BAC,YAAY;eAAZA;;;;yBAlCK;;;;;;AAElB,MAAMC,yBAAyBC,QAAC,CAACC,MAAM,CAAC;IACtCC,MAAMF,QAAC,CAACG,MAAM,GAAGC,GAAG,CAAC;IACrBC,MAAML,QAAC,CAACM,IAAI,CAAC;QAAC;QAAQ;QAAU;KAAU;IAC1CC,aAAaP,QAAC,CAACG,MAAM,GAAGK,QAAQ;AAClC;AAIA,MAAMC,gBAAgBT,QAAC,CAACC,MAAM,CAAC;IAC7BC,MAAMF,QAAC,CAACG,MAAM,GAAGC,GAAG,CAAC;IACrBM,OAAOV,QAAC,CAACG,MAAM,GAAGC,GAAG,CAAC;IACtBO,cAAcX,QAAC,CAACY,KAAK,CAACZ,QAAC,CAACM,IAAI,CAAC;QAAC;QAAO;KAAM,GAAGO,QAAQ;IACtDC,YAAYd,QAAC,CAACY,KAAK,CAACb,wBAAwBS,QAAQ;AACtD;AAWA,MAAMO,sBAAsBf,QAAC,CAACC,MAAM,CAAC;IACnCM,aAAaP,QAAC,CAACG,MAAM;IACrBa,UAAUhB,QAAC,CAACY,KAAK,CAACH,eAAeL,GAAG,CAAC;IACrCa,YAAYjB,QAAC,CAACG,MAAM,GAAGC,GAAG,CAAC;AAC7B;AAIO,MAAMN,eAAeE,QAAC,CAACC,MAAM,CAAC;IACnCiB,aAAalB,QAAC,CAACG,MAAM,GAAGC,GAAG,CAAC;IAC5Be,aAAanB,QAAC,CAACG,MAAM,GAAGC,GAAG,CAAC;IAC5BgB,aAAapB,QAAC,CAACG,MAAM,GAAGK,QAAQ;IAChCa,eAAeN,oBAAoBP,QAAQ;AAC7C;AAIA,MAAMc,kCAAkCtB,QAAC,CAACuB,KAAK,CAAC;IAC9CvB,QAAC,CAACC,MAAM,CAAC;QACPI,MAAML,QAAC,CAACwB,OAAO,CAAC;QAChBC,MAAMzB,QAAC,CAACG,MAAM;QACduB,KAAK1B,QAAC,CAACG,MAAM,GAAGK,QAAQ;QACxBmB,OAAO3B,QAAC,CAACM,IAAI,CAAC;YAAC;YAAQ;YAAW;SAAQ;IAC5C;IACAN,QAAC,CAACC,MAAM,CAAC;QACPI,MAAML,QAAC,CAACwB,OAAO,CAAC;QAChBE,KAAK1B,QAAC,CAACG,MAAM,GAAGuB,GAAG;QACnBD,MAAMzB,QAAC,CAACG,MAAM,GAAGK,QAAQ;IAC3B;IACAR,QAAC,CAACC,MAAM,CAAC;QACPI,MAAML,QAAC,CAACwB,OAAO,CAAC;QAChBE,KAAK1B,QAAC,CAACG,MAAM,GAAGuB,GAAG;QACnBD,MAAMzB,QAAC,CAACG,MAAM,GAAGK,QAAQ;IAC3B;CACD;AAEM,MAAMX,6BAA6BG,QAAC,CAACY,KAAK,CAACU"}
@@ -0,0 +1,119 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "DevToolsPluginCliExtensionExecutor", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return DevToolsPluginCliExtensionExecutor;
9
+ }
10
+ });
11
+ function _child_process() {
12
+ const data = require("child_process");
13
+ _child_process = function() {
14
+ return data;
15
+ };
16
+ return data;
17
+ }
18
+ function _path() {
19
+ const data = /*#__PURE__*/ _interop_require_default(require("path"));
20
+ _path = function() {
21
+ return data;
22
+ };
23
+ return data;
24
+ }
25
+ const _DevToolsPluginCliExtensionResults = require("./DevToolsPluginCliExtensionResults");
26
+ function _interop_require_default(obj) {
27
+ return obj && obj.__esModule ? obj : {
28
+ default: obj
29
+ };
30
+ }
31
+ const DEFAULT_TIMEOUT_MS = 10000; // 10 seconds
32
+ class DevToolsPluginCliExtensionExecutor {
33
+ constructor(plugin, projectRoot, spawnFunc = _child_process().spawn, timeoutMs = DEFAULT_TIMEOUT_MS // Timeout for command execution
34
+ ){
35
+ var _this_plugin_cliExtensions;
36
+ this.plugin = plugin;
37
+ this.projectRoot = projectRoot;
38
+ this.spawnFunc = spawnFunc;
39
+ this.timeoutMs = timeoutMs;
40
+ this.getCommandString = ({ command, args })=>{
41
+ return `node ${this.plugin.cliExtensions.entryPoint} ${command}${Object.keys(args ?? {}).length > 0 ? ' ' + JSON.stringify(args) : ''}`;
42
+ };
43
+ this.execute = async ({ command, args, metroServerOrigin, onOutput })=>{
44
+ this.validate({
45
+ command,
46
+ args
47
+ });
48
+ return new Promise(async (resolve)=>{
49
+ // Set up the command and its arguments
50
+ const tool = _path().default.join(this.plugin.packageRoot, this.plugin.cliExtensions.entryPoint);
51
+ const child = this.spawnFunc('node', [
52
+ tool,
53
+ command,
54
+ `${JSON.stringify(args)}`,
55
+ `${metroServerOrigin}`
56
+ ], {
57
+ cwd: this.projectRoot,
58
+ env: {
59
+ ...process.env
60
+ }
61
+ });
62
+ let finished = false;
63
+ const pluginResults = new _DevToolsPluginCliExtensionResults.DevToolsPluginCliExtensionResults(onOutput);
64
+ // Collect output/error data
65
+ child.stdout.on('data', (data)=>pluginResults.append(data.toString()));
66
+ child.stderr.on('data', (data)=>pluginResults.append(data.toString(), 'error'));
67
+ // Setup timeout
68
+ const timeout = setTimeout(()=>{
69
+ if (!finished) {
70
+ finished = true;
71
+ child.kill('SIGKILL');
72
+ pluginResults.append('Command timed out', 'error');
73
+ resolve(pluginResults.getOutput());
74
+ }
75
+ }, this.timeoutMs);
76
+ child.on('close', (code)=>{
77
+ if (finished) return;
78
+ clearTimeout(timeout);
79
+ finished = true;
80
+ pluginResults.exit(code);
81
+ resolve(pluginResults.getOutput());
82
+ });
83
+ child.on('error', (err)=>{
84
+ if (finished) return;
85
+ clearTimeout(timeout);
86
+ finished = true;
87
+ pluginResults.append(err.toString(), 'error');
88
+ resolve(pluginResults.getOutput());
89
+ });
90
+ });
91
+ };
92
+ // Validate that this is a plugin with cli extensions
93
+ if (!((_this_plugin_cliExtensions = this.plugin.cliExtensions) == null ? void 0 : _this_plugin_cliExtensions.entryPoint)) {
94
+ throw new Error(`Plugin ${this.plugin.packageName} has no CLI extensions`);
95
+ }
96
+ }
97
+ validate({ command, args }) {
98
+ var _this_plugin_cliExtensions, _commandElement_parameters;
99
+ const commandElement = (_this_plugin_cliExtensions = this.plugin.cliExtensions) == null ? void 0 : _this_plugin_cliExtensions.commands.find((c)=>c.name === command);
100
+ if (!commandElement) {
101
+ throw new Error(`Command "${command}" not found in plugin ${this.plugin.packageName}`);
102
+ }
103
+ const paramLength = ((_commandElement_parameters = commandElement.parameters) == null ? void 0 : _commandElement_parameters.length) ?? 0;
104
+ const argsLength = Object.keys(args ?? {}).length;
105
+ if (paramLength !== argsLength) {
106
+ // Quick check to see if the lengths match
107
+ throw new Error(`Expected ${paramLength} parameter(s), but got ${argsLength} argument(s) for the command "${command}".`);
108
+ }
109
+ const argsKeys = Object.keys(args ?? {});
110
+ for (const param of commandElement.parameters ?? []){
111
+ const found = argsKeys.find((key)=>key === param.name);
112
+ if (!found) {
113
+ throw new Error(`Parameter "${param.name}" not found in command "${command}" of plugin ${this.plugin.packageName}`);
114
+ }
115
+ }
116
+ }
117
+ }
118
+
119
+ //# sourceMappingURL=DevToolsPluginCliExtensionExecutor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/start/server/DevToolsPluginCliExtensionExecutor.ts"],"sourcesContent":["import { spawn } from 'child_process';\nimport path from 'path';\n\nimport {\n DevToolsPluginExecutorArguments,\n DevToolsPluginInfo,\n DevToolsPluginOutput,\n} from './DevToolsPlugin.schema';\nimport { DevToolsPluginCliExtensionResults } from './DevToolsPluginCliExtensionResults';\n\nconst DEFAULT_TIMEOUT_MS = 10_000; // 10 seconds\n\n/**\n * Class that executes CLI Extension commands for a given plugin\n *\n * ## Responsibilities:\n * - Verifies that requested commands exist and have correct parameters\n * - Validates that provided arguments match expected parameter schema\n * - Spawns and manages child processes for command execution\n * - Captures and streams stdout/stderr data from executed commands\n * - Manages process errors, timeouts, and unexpected failures\n * - Enforces execution time limits to prevent hanging processes\n * - Configures proper execution environment with color support\n * - Ensures proper cleanup of processes and timeouts\n * - Provides structured output with exit codes and error states\n */\nexport class DevToolsPluginCliExtensionExecutor {\n constructor(\n private plugin: DevToolsPluginInfo,\n private projectRoot: string,\n private spawnFunc: typeof spawn = spawn, // Used for injection when testing,\n private timeoutMs = DEFAULT_TIMEOUT_MS // Timeout for command execution\n ) {\n // Validate that this is a plugin with cli extensions\n if (!this.plugin.cliExtensions?.entryPoint) {\n throw new Error(`Plugin ${this.plugin.packageName} has no CLI extensions`);\n }\n }\n\n public validate({ command, args }: Omit<DevToolsPluginExecutorArguments, 'metroServerOrigin'>) {\n const commandElement = this.plugin.cliExtensions?.commands.find((c) => c.name === command);\n if (!commandElement) {\n throw new Error(`Command \"${command}\" not found in plugin ${this.plugin.packageName}`);\n }\n\n const paramLength = commandElement.parameters?.length ?? 0;\n const argsLength = Object.keys(args ?? {}).length;\n if (paramLength !== argsLength) {\n // Quick check to see if the lengths match\n throw new Error(\n `Expected ${paramLength} parameter(s), but got ${argsLength} argument(s) for the command \"${command}\".`\n );\n }\n\n const argsKeys = Object.keys(args ?? {});\n for (const param of commandElement.parameters ?? []) {\n const found = argsKeys.find((key) => key === param.name);\n if (!found) {\n throw new Error(\n `Parameter \"${param.name}\" not found in command \"${command}\" of plugin ${this.plugin.packageName}`\n );\n }\n }\n }\n\n /** this function is used for testing and showing the command in UI */\n public getCommandString = ({\n command,\n args,\n }: Omit<DevToolsPluginExecutorArguments, 'metroServerOrigin'>) => {\n return `node ${this.plugin.cliExtensions!.entryPoint} ${command}${Object.keys(args ?? {}).length > 0 ? ' ' + JSON.stringify(args) : ''}`;\n };\n\n public execute = async ({\n command,\n args,\n metroServerOrigin,\n onOutput,\n }: DevToolsPluginExecutorArguments): Promise<DevToolsPluginOutput> => {\n this.validate({ command, args });\n return new Promise<DevToolsPluginOutput>(async (resolve) => {\n // Set up the command and its arguments\n const tool = path.join(this.plugin.packageRoot, this.plugin.cliExtensions!.entryPoint);\n const child = this.spawnFunc(\n 'node',\n [tool, command, `${JSON.stringify(args)}`, `${metroServerOrigin}`],\n {\n cwd: this.projectRoot,\n env: { ...process.env },\n }\n );\n\n let finished = false;\n const pluginResults = new DevToolsPluginCliExtensionResults(onOutput);\n\n // Collect output/error data\n child.stdout.on('data', (data) => pluginResults.append(data.toString()));\n child.stderr.on('data', (data) => pluginResults.append(data.toString(), 'error'));\n\n // Setup timeout\n const timeout = setTimeout(() => {\n if (!finished) {\n finished = true;\n child.kill('SIGKILL');\n pluginResults.append('Command timed out', 'error');\n resolve(pluginResults.getOutput());\n }\n }, this.timeoutMs);\n\n child.on('close', (code: number) => {\n if (finished) return;\n clearTimeout(timeout);\n finished = true;\n pluginResults.exit(code);\n resolve(pluginResults.getOutput());\n });\n\n child.on('error', (err: Error) => {\n if (finished) return;\n clearTimeout(timeout);\n finished = true;\n pluginResults.append(err.toString(), 'error');\n resolve(pluginResults.getOutput());\n });\n });\n };\n}\n"],"names":["DevToolsPluginCliExtensionExecutor","DEFAULT_TIMEOUT_MS","constructor","plugin","projectRoot","spawnFunc","spawn","timeoutMs","getCommandString","command","args","cliExtensions","entryPoint","Object","keys","length","JSON","stringify","execute","metroServerOrigin","onOutput","validate","Promise","resolve","tool","path","join","packageRoot","child","cwd","env","process","finished","pluginResults","DevToolsPluginCliExtensionResults","stdout","on","data","append","toString","stderr","timeout","setTimeout","kill","getOutput","code","clearTimeout","exit","err","Error","packageName","commandElement","commands","find","c","name","paramLength","parameters","argsLength","argsKeys","param","found","key"],"mappings":"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"}
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "DevToolsPluginCliExtensionResults", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return DevToolsPluginCliExtensionResults;
9
+ }
10
+ });
11
+ const _DevToolsPluginschema = require("./DevToolsPlugin.schema");
12
+ class DevToolsPluginCliExtensionResults {
13
+ constructor(onOutput){
14
+ this.onOutput = onOutput;
15
+ this._output = [];
16
+ }
17
+ append(output, level = 'info') {
18
+ const results = this.parseOutputText(output, level);
19
+ this._output.push(...results);
20
+ this.onOutput == null ? void 0 : this.onOutput.call(this, results);
21
+ }
22
+ exit(code) {
23
+ if (code === 0) return;
24
+ this.append(`Process exited with code ${code}`, 'error');
25
+ }
26
+ getOutput() {
27
+ return this._output;
28
+ }
29
+ parseOutputText(txt, level = 'info') {
30
+ // Validate against schema
31
+ try {
32
+ const result = _DevToolsPluginschema.DevToolsPluginOutputSchema.safeParse(JSON.parse(txt));
33
+ if (!result.success) {
34
+ return [
35
+ {
36
+ type: 'text',
37
+ text: `Invalid JSON: ${result.error.issues.map((issue)=>issue.message).join(', ')}`,
38
+ level: 'error'
39
+ }
40
+ ];
41
+ }
42
+ return result.data;
43
+ } catch {
44
+ // Not JSON, treat as plain text
45
+ const lines = txt.split('\n');
46
+ const results = [];
47
+ for (const line of lines){
48
+ if (line) {
49
+ results.push({
50
+ type: 'text',
51
+ text: line,
52
+ level
53
+ });
54
+ }
55
+ }
56
+ return results;
57
+ }
58
+ }
59
+ }
60
+
61
+ //# sourceMappingURL=DevToolsPluginCliExtensionResults.js.map