@expo/cli 0.17.10 → 0.18.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (693) hide show
  1. package/build/bin/cli +98 -118
  2. package/build/bin/cli.map +1 -1
  3. package/build/src/api/endpoint.js +11 -3
  4. package/build/src/api/endpoint.js.map +1 -1
  5. package/build/src/api/getExpoGoIntermediateCertificate.js +7 -4
  6. package/build/src/api/getExpoGoIntermediateCertificate.js.map +1 -1
  7. package/build/src/api/getExpoSchema.js +32 -12
  8. package/build/src/api/getExpoSchema.js.map +1 -1
  9. package/build/src/api/getNativeModuleVersions.js +7 -4
  10. package/build/src/api/getNativeModuleVersions.js.map +1 -1
  11. package/build/src/api/getProjectDevelopmentCertificate.js +7 -4
  12. package/build/src/api/getProjectDevelopmentCertificate.js.map +1 -1
  13. package/build/src/api/getVersions.js +7 -4
  14. package/build/src/api/getVersions.js.map +1 -1
  15. package/build/src/api/graphql/client.js +78 -40
  16. package/build/src/api/graphql/client.js.map +1 -1
  17. package/build/src/api/graphql/queries/AppQuery.js +22 -8
  18. package/build/src/api/graphql/queries/AppQuery.js.map +1 -1
  19. package/build/src/api/graphql/queries/UserQuery.js +13 -5
  20. package/build/src/api/graphql/queries/UserQuery.js.map +1 -1
  21. package/build/src/api/graphql/types/App.js +12 -4
  22. package/build/src/api/graphql/types/App.js.map +1 -1
  23. package/build/src/api/rest/cache/FileSystemCache.js +25 -11
  24. package/build/src/api/rest/cache/FileSystemCache.js.map +1 -1
  25. package/build/src/api/rest/cache/response.js +13 -4
  26. package/build/src/api/rest/cache/response.js.map +1 -1
  27. package/build/src/api/rest/cache/wrapFetchWithCache.js +51 -18
  28. package/build/src/api/rest/cache/wrapFetchWithCache.js.map +1 -1
  29. package/build/src/api/rest/client.js +55 -30
  30. package/build/src/api/rest/client.js.map +1 -1
  31. package/build/src/api/rest/wrapFetchWithBaseUrl.js +13 -5
  32. package/build/src/api/rest/wrapFetchWithBaseUrl.js.map +1 -1
  33. package/build/src/api/rest/wrapFetchWithOffline.js +5 -2
  34. package/build/src/api/rest/wrapFetchWithOffline.js.map +1 -1
  35. package/build/src/api/rest/wrapFetchWithProgress.js +40 -19
  36. package/build/src/api/rest/wrapFetchWithProgress.js.map +1 -1
  37. package/build/src/api/rest/wrapFetchWithProxy.js +13 -4
  38. package/build/src/api/rest/wrapFetchWithProxy.js.map +1 -1
  39. package/build/src/api/settings.js +16 -5
  40. package/build/src/api/settings.js.map +1 -1
  41. package/build/src/api/updateDevelopmentSession.js +33 -13
  42. package/build/src/api/updateDevelopmentSession.js.map +1 -1
  43. package/build/src/api/user/UserSettings.js +31 -11
  44. package/build/src/api/user/UserSettings.js.map +1 -1
  45. package/build/src/api/user/actions.js +78 -41
  46. package/build/src/api/user/actions.js.map +1 -1
  47. package/build/src/api/user/expoSsoLauncher.js +72 -27
  48. package/build/src/api/user/expoSsoLauncher.js.map +1 -1
  49. package/build/src/api/user/otp.js +82 -50
  50. package/build/src/api/user/otp.js.map +1 -1
  51. package/build/src/api/user/user.js +80 -48
  52. package/build/src/api/user/user.js.map +1 -1
  53. package/build/src/config/configAsync.js +82 -45
  54. package/build/src/config/configAsync.js.map +1 -1
  55. package/build/src/config/index.js +52 -30
  56. package/build/src/config/index.js.map +1 -1
  57. package/build/src/customize/customizeAsync.js +21 -12
  58. package/build/src/customize/customizeAsync.js.map +1 -1
  59. package/build/src/customize/generate.js +74 -47
  60. package/build/src/customize/generate.js.map +1 -1
  61. package/build/src/customize/index.js +16 -8
  62. package/build/src/customize/index.js.map +1 -1
  63. package/build/src/customize/resolveOptions.js +7 -4
  64. package/build/src/customize/resolveOptions.js.map +1 -1
  65. package/build/src/customize/templates.js +58 -37
  66. package/build/src/customize/templates.js.map +1 -1
  67. package/build/src/customize/typescript.js +50 -29
  68. package/build/src/customize/typescript.js.map +1 -1
  69. package/build/src/export/createMetadataJson.js +14 -7
  70. package/build/src/export/createMetadataJson.js.map +1 -1
  71. package/build/src/export/embed/exportEmbedAsync.js +103 -50
  72. package/build/src/export/embed/exportEmbedAsync.js.map +1 -1
  73. package/build/src/export/embed/index.js +61 -37
  74. package/build/src/export/embed/index.js.map +1 -1
  75. package/build/src/export/embed/resolveOptions.js +14 -5
  76. package/build/src/export/embed/resolveOptions.js.map +1 -1
  77. package/build/src/export/embed/xcodeCompilerLogger.js +33 -9
  78. package/build/src/export/embed/xcodeCompilerLogger.js.map +1 -1
  79. package/build/src/export/exportApp.js +110 -73
  80. package/build/src/export/exportApp.js.map +1 -1
  81. package/build/src/export/exportAssets.js +84 -47
  82. package/build/src/export/exportAssets.js.map +1 -1
  83. package/build/src/export/exportAsync.js +56 -27
  84. package/build/src/export/exportAsync.js.map +1 -1
  85. package/build/src/export/exportHermes.js +46 -26
  86. package/build/src/export/exportHermes.js.map +1 -1
  87. package/build/src/export/exportStaticAsync.js +109 -66
  88. package/build/src/export/exportStaticAsync.js.map +1 -1
  89. package/build/src/export/favicon.js +47 -15
  90. package/build/src/export/favicon.js.map +1 -1
  91. package/build/src/export/fork-bundleAsync.js +92 -44
  92. package/build/src/export/fork-bundleAsync.js.map +1 -1
  93. package/build/src/export/getPublicExpoManifest.js +16 -7
  94. package/build/src/export/getPublicExpoManifest.js.map +1 -1
  95. package/build/src/export/getResolvedLocales.js +20 -5
  96. package/build/src/export/getResolvedLocales.js.map +1 -1
  97. package/build/src/export/html.js +12 -4
  98. package/build/src/export/html.js.map +1 -1
  99. package/build/src/export/index.js +55 -33
  100. package/build/src/export/index.js.map +1 -1
  101. package/build/src/export/metroAssetLocalPath.js +30 -8
  102. package/build/src/export/metroAssetLocalPath.js.map +1 -1
  103. package/build/src/export/persistMetroAssets.js +59 -33
  104. package/build/src/export/persistMetroAssets.js.map +1 -1
  105. package/build/src/export/publicFolder.js +31 -11
  106. package/build/src/export/publicFolder.js.map +1 -1
  107. package/build/src/export/resolveOptions.js +26 -16
  108. package/build/src/export/resolveOptions.js.map +1 -1
  109. package/build/src/export/saveAssets.js +77 -49
  110. package/build/src/export/saveAssets.js.map +1 -1
  111. package/build/src/export/web/exportWebAsync.js +28 -13
  112. package/build/src/export/web/exportWebAsync.js.map +1 -1
  113. package/build/src/export/web/index.js +53 -31
  114. package/build/src/export/web/index.js.map +1 -1
  115. package/build/src/export/web/resolveOptions.js +4 -1
  116. package/build/src/export/web/resolveOptions.js.map +1 -1
  117. package/build/src/export/writeContents.js +12 -7
  118. package/build/src/export/writeContents.js.map +1 -1
  119. package/build/src/graphql/generated.js +141 -128
  120. package/build/src/graphql/generated.js.map +1 -1
  121. package/build/src/install/applyPlugins.js +50 -26
  122. package/build/src/install/applyPlugins.js.map +1 -1
  123. package/build/src/install/checkPackages.js +68 -36
  124. package/build/src/install/checkPackages.js.map +1 -1
  125. package/build/src/install/fixPackages.js +58 -35
  126. package/build/src/install/fixPackages.js.map +1 -1
  127. package/build/src/install/index.js +21 -13
  128. package/build/src/install/index.js.map +1 -1
  129. package/build/src/install/installAsync.js +107 -64
  130. package/build/src/install/installAsync.js.map +1 -1
  131. package/build/src/install/installExpoPackage.js +60 -27
  132. package/build/src/install/installExpoPackage.js.map +1 -1
  133. package/build/src/install/resolveOptions.js +8 -5
  134. package/build/src/install/resolveOptions.js.map +1 -1
  135. package/build/src/install/utils/autoAddConfigPlugins.js +29 -9
  136. package/build/src/install/utils/autoAddConfigPlugins.js.map +1 -1
  137. package/build/src/lint/ESlintPrerequisite.js +174 -0
  138. package/build/src/lint/ESlintPrerequisite.js.map +1 -0
  139. package/build/src/lint/index.js +66 -0
  140. package/build/src/lint/index.js.map +1 -0
  141. package/build/src/lint/lintAsync.js +33 -0
  142. package/build/src/lint/lintAsync.js.map +1 -0
  143. package/build/src/log.js +27 -15
  144. package/build/src/log.js.map +1 -1
  145. package/build/src/login/index.js +43 -25
  146. package/build/src/login/index.js.map +1 -1
  147. package/build/src/logout/index.js +43 -25
  148. package/build/src/logout/index.js.map +1 -1
  149. package/build/src/prebuild/clearNativeFolder.js +97 -50
  150. package/build/src/prebuild/clearNativeFolder.js.map +1 -1
  151. package/build/src/prebuild/configureProjectAsync.js +64 -31
  152. package/build/src/prebuild/configureProjectAsync.js.map +1 -1
  153. package/build/src/prebuild/copyTemplateFiles.js +41 -17
  154. package/build/src/prebuild/copyTemplateFiles.js.map +1 -1
  155. package/build/src/prebuild/ensureConfigAsync.js +74 -30
  156. package/build/src/prebuild/ensureConfigAsync.js.map +1 -1
  157. package/build/src/prebuild/index.js +58 -38
  158. package/build/src/prebuild/index.js.map +1 -1
  159. package/build/src/prebuild/prebuildAsync.js +75 -52
  160. package/build/src/prebuild/prebuildAsync.js.map +1 -1
  161. package/build/src/prebuild/renameTemplateAppName.js +124 -0
  162. package/build/src/prebuild/renameTemplateAppName.js.map +1 -0
  163. package/build/src/prebuild/resolveOptions.js +85 -36
  164. package/build/src/prebuild/resolveOptions.js.map +1 -1
  165. package/build/src/prebuild/resolveTemplate.js +102 -46
  166. package/build/src/prebuild/resolveTemplate.js.map +1 -1
  167. package/build/src/prebuild/updateFromTemplate.js +80 -41
  168. package/build/src/prebuild/updateFromTemplate.js.map +1 -1
  169. package/build/src/prebuild/updatePackageJson.js +111 -54
  170. package/build/src/prebuild/updatePackageJson.js.map +1 -1
  171. package/build/src/prebuild/validateTemplatePlatforms.js +56 -23
  172. package/build/src/prebuild/validateTemplatePlatforms.js.map +1 -1
  173. package/build/src/register/index.js +43 -25
  174. package/build/src/register/index.js.map +1 -1
  175. package/build/src/register/registerAsync.js +14 -11
  176. package/build/src/register/registerAsync.js.map +1 -1
  177. package/build/src/run/android/index.js +64 -32
  178. package/build/src/run/android/index.js.map +1 -1
  179. package/build/src/run/android/resolveDevice.js +9 -6
  180. package/build/src/run/android/resolveDevice.js.map +1 -1
  181. package/build/src/run/android/resolveGradlePropsAsync.js +56 -0
  182. package/build/src/run/android/resolveGradlePropsAsync.js.map +1 -0
  183. package/build/src/run/android/resolveInstallApkName.js +28 -14
  184. package/build/src/run/android/resolveInstallApkName.js.map +1 -1
  185. package/build/src/run/android/resolveLaunchProps.js +16 -7
  186. package/build/src/run/android/resolveLaunchProps.js.map +1 -1
  187. package/build/src/run/android/resolveOptions.js +14 -9
  188. package/build/src/run/android/resolveOptions.js.map +1 -1
  189. package/build/src/run/android/runAndroidAsync.js +39 -27
  190. package/build/src/run/android/runAndroidAsync.js.map +1 -1
  191. package/build/src/run/ensureNativeProject.js +24 -9
  192. package/build/src/run/ensureNativeProject.js.map +1 -1
  193. package/build/src/run/hints.js +23 -9
  194. package/build/src/run/hints.js.map +1 -1
  195. package/build/src/run/index.js +55 -35
  196. package/build/src/run/index.js.map +1 -1
  197. package/build/src/run/ios/XcodeBuild.js +126 -66
  198. package/build/src/run/ios/XcodeBuild.js.map +1 -1
  199. package/build/src/run/ios/appleDevice/AppleDevice.js +52 -27
  200. package/build/src/run/ios/appleDevice/AppleDevice.js.map +1 -1
  201. package/build/src/run/ios/appleDevice/ClientManager.js +70 -31
  202. package/build/src/run/ios/appleDevice/ClientManager.js.map +1 -1
  203. package/build/src/run/ios/appleDevice/client/AFCClient.js +94 -44
  204. package/build/src/run/ios/appleDevice/client/AFCClient.js.map +1 -1
  205. package/build/src/run/ios/appleDevice/client/DebugserverClient.js +63 -24
  206. package/build/src/run/ios/appleDevice/client/DebugserverClient.js.map +1 -1
  207. package/build/src/run/ios/appleDevice/client/InstallationProxyClient.js +21 -6
  208. package/build/src/run/ios/appleDevice/client/InstallationProxyClient.js.map +1 -1
  209. package/build/src/run/ios/appleDevice/client/LockdowndClient.js +64 -25
  210. package/build/src/run/ios/appleDevice/client/LockdowndClient.js.map +1 -1
  211. package/build/src/run/ios/appleDevice/client/MobileImageMounterClient.js +66 -28
  212. package/build/src/run/ios/appleDevice/client/MobileImageMounterClient.js.map +1 -1
  213. package/build/src/run/ios/appleDevice/client/ServiceClient.js +18 -4
  214. package/build/src/run/ios/appleDevice/client/ServiceClient.js.map +1 -1
  215. package/build/src/run/ios/appleDevice/client/UsbmuxdClient.js +42 -15
  216. package/build/src/run/ios/appleDevice/client/UsbmuxdClient.js.map +1 -1
  217. package/build/src/run/ios/appleDevice/installOnDeviceAsync.js +78 -34
  218. package/build/src/run/ios/appleDevice/installOnDeviceAsync.js.map +1 -1
  219. package/build/src/run/ios/appleDevice/protocol/AFCProtocol.js +85 -66
  220. package/build/src/run/ios/appleDevice/protocol/AFCProtocol.js.map +1 -1
  221. package/build/src/run/ios/appleDevice/protocol/AbstractProtocol.js +41 -15
  222. package/build/src/run/ios/appleDevice/protocol/AbstractProtocol.js.map +1 -1
  223. package/build/src/run/ios/appleDevice/protocol/GDBProtocol.js +30 -11
  224. package/build/src/run/ios/appleDevice/protocol/GDBProtocol.js.map +1 -1
  225. package/build/src/run/ios/appleDevice/protocol/LockdownProtocol.js +39 -14
  226. package/build/src/run/ios/appleDevice/protocol/LockdownProtocol.js.map +1 -1
  227. package/build/src/run/ios/appleDevice/protocol/UsbmuxProtocol.js +36 -11
  228. package/build/src/run/ios/appleDevice/protocol/UsbmuxProtocol.js.map +1 -1
  229. package/build/src/run/ios/codeSigning/Security.js +40 -21
  230. package/build/src/run/ios/codeSigning/Security.js.map +1 -1
  231. package/build/src/run/ios/codeSigning/configureCodeSigning.js +55 -28
  232. package/build/src/run/ios/codeSigning/configureCodeSigning.js.map +1 -1
  233. package/build/src/run/ios/codeSigning/resolveCertificateSigningIdentity.js +67 -36
  234. package/build/src/run/ios/codeSigning/resolveCertificateSigningIdentity.js.map +1 -1
  235. package/build/src/run/ios/codeSigning/settings.js +11 -3
  236. package/build/src/run/ios/codeSigning/settings.js.map +1 -1
  237. package/build/src/run/ios/codeSigning/simulatorCodeSigning.js +30 -10
  238. package/build/src/run/ios/codeSigning/simulatorCodeSigning.js.map +1 -1
  239. package/build/src/run/ios/codeSigning/xcodeCodeSigning.js +33 -15
  240. package/build/src/run/ios/codeSigning/xcodeCodeSigning.js.map +1 -1
  241. package/build/src/run/ios/index.js +63 -35
  242. package/build/src/run/ios/index.js.map +1 -1
  243. package/build/src/run/ios/launchApp.js +65 -32
  244. package/build/src/run/ios/launchApp.js.map +1 -1
  245. package/build/src/run/ios/options/promptDevice.js +24 -14
  246. package/build/src/run/ios/options/promptDevice.js.map +1 -1
  247. package/build/src/run/ios/options/resolveDevice.js +64 -41
  248. package/build/src/run/ios/options/resolveDevice.js.map +1 -1
  249. package/build/src/run/ios/options/resolveNativeScheme.js +80 -39
  250. package/build/src/run/ios/options/resolveNativeScheme.js.map +1 -1
  251. package/build/src/run/ios/options/resolveOptions.js +15 -12
  252. package/build/src/run/ios/options/resolveOptions.js.map +1 -1
  253. package/build/src/run/ios/options/resolveXcodeProject.js +13 -4
  254. package/build/src/run/ios/options/resolveXcodeProject.js.map +1 -1
  255. package/build/src/run/ios/runIosAsync.js +71 -42
  256. package/build/src/run/ios/runIosAsync.js.map +1 -1
  257. package/build/src/run/resolveBundlerProps.js +8 -5
  258. package/build/src/run/resolveBundlerProps.js.map +1 -1
  259. package/build/src/run/startBundler.js +60 -27
  260. package/build/src/run/startBundler.js.map +1 -1
  261. package/build/src/start/detectDevClient.js +32 -0
  262. package/build/src/start/detectDevClient.js.map +1 -0
  263. package/build/src/start/doctor/Prerequisite.js +15 -7
  264. package/build/src/start/doctor/Prerequisite.js.map +1 -1
  265. package/build/src/start/doctor/SecurityBinPrerequisite.js +13 -4
  266. package/build/src/start/doctor/SecurityBinPrerequisite.js.map +1 -1
  267. package/build/src/start/doctor/apple/SimulatorAppPrerequisite.js +57 -24
  268. package/build/src/start/doctor/apple/SimulatorAppPrerequisite.js.map +1 -1
  269. package/build/src/start/doctor/apple/XcodeDeveloperDiskImagePrerequisite.js +57 -24
  270. package/build/src/start/doctor/apple/XcodeDeveloperDiskImagePrerequisite.js.map +1 -1
  271. package/build/src/start/doctor/apple/XcodePrerequisite.js +132 -57
  272. package/build/src/start/doctor/apple/XcodePrerequisite.js.map +1 -1
  273. package/build/src/start/doctor/apple/XcrunPrerequisite.js +34 -13
  274. package/build/src/start/doctor/apple/XcrunPrerequisite.js.map +1 -1
  275. package/build/src/start/doctor/dependencies/bundledNativeModules.js +69 -30
  276. package/build/src/start/doctor/dependencies/bundledNativeModules.js.map +1 -1
  277. package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js +120 -57
  278. package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js.map +1 -1
  279. package/build/src/start/doctor/dependencies/getMissingPackages.js +38 -12
  280. package/build/src/start/doctor/dependencies/getMissingPackages.js.map +1 -1
  281. package/build/src/start/doctor/dependencies/getVersionedPackages.js +29 -15
  282. package/build/src/start/doctor/dependencies/getVersionedPackages.js.map +1 -1
  283. package/build/src/start/doctor/dependencies/resolvePackages.js +39 -15
  284. package/build/src/start/doctor/dependencies/resolvePackages.js.map +1 -1
  285. package/build/src/start/doctor/dependencies/validateDependenciesVersions.js +88 -55
  286. package/build/src/start/doctor/dependencies/validateDependenciesVersions.js.map +1 -1
  287. package/build/src/start/doctor/ngrok/ExternalModule.js +88 -39
  288. package/build/src/start/doctor/ngrok/ExternalModule.js.map +1 -1
  289. package/build/src/start/doctor/ngrok/NgrokResolver.js +12 -5
  290. package/build/src/start/doctor/ngrok/NgrokResolver.js.map +1 -1
  291. package/build/src/start/doctor/typescript/TypeScriptProjectPrerequisite.js +75 -45
  292. package/build/src/start/doctor/typescript/TypeScriptProjectPrerequisite.js.map +1 -1
  293. package/build/src/start/doctor/typescript/updateTSConfig.js +81 -40
  294. package/build/src/start/doctor/typescript/updateTSConfig.js.map +1 -1
  295. package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js +70 -32
  296. package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js.map +1 -1
  297. package/build/src/start/index.js +62 -42
  298. package/build/src/start/index.js.map +1 -1
  299. package/build/src/start/interface/KeyPressHandler.js +43 -22
  300. package/build/src/start/interface/KeyPressHandler.js.map +1 -1
  301. package/build/src/start/interface/commandsTable.js +81 -41
  302. package/build/src/start/interface/commandsTable.js.map +1 -1
  303. package/build/src/start/interface/interactiveActions.js +91 -68
  304. package/build/src/start/interface/interactiveActions.js.map +1 -1
  305. package/build/src/start/interface/startInterface.js +84 -57
  306. package/build/src/start/interface/startInterface.js.map +1 -1
  307. package/build/src/start/platforms/AppIdResolver.js +16 -7
  308. package/build/src/start/platforms/AppIdResolver.js.map +1 -1
  309. package/build/src/start/platforms/DeviceManager.js +47 -20
  310. package/build/src/start/platforms/DeviceManager.js.map +1 -1
  311. package/build/src/start/platforms/ExpoGoInstaller.js +81 -45
  312. package/build/src/start/platforms/ExpoGoInstaller.js.map +1 -1
  313. package/build/src/start/platforms/PlatformManager.js +42 -20
  314. package/build/src/start/platforms/PlatformManager.js.map +1 -1
  315. package/build/src/start/platforms/android/ADBServer.js +28 -13
  316. package/build/src/start/platforms/android/ADBServer.js.map +1 -1
  317. package/build/src/start/platforms/android/AndroidAppIdResolver.js +18 -10
  318. package/build/src/start/platforms/android/AndroidAppIdResolver.js.map +1 -1
  319. package/build/src/start/platforms/android/AndroidDeviceManager.js +86 -54
  320. package/build/src/start/platforms/android/AndroidDeviceManager.js.map +1 -1
  321. package/build/src/start/platforms/android/AndroidPlatformManager.js +9 -6
  322. package/build/src/start/platforms/android/AndroidPlatformManager.js.map +1 -1
  323. package/build/src/start/platforms/android/AndroidSdk.js +38 -11
  324. package/build/src/start/platforms/android/AndroidSdk.js.map +1 -1
  325. package/build/src/start/platforms/android/activateWindow.js +54 -21
  326. package/build/src/start/platforms/android/activateWindow.js.map +1 -1
  327. package/build/src/start/platforms/android/adb.js +89 -51
  328. package/build/src/start/platforms/android/adb.js.map +1 -1
  329. package/build/src/start/platforms/android/adbReverse.js +57 -31
  330. package/build/src/start/platforms/android/adbReverse.js.map +1 -1
  331. package/build/src/start/platforms/android/emulator.js +89 -44
  332. package/build/src/start/platforms/android/emulator.js.map +1 -1
  333. package/build/src/start/platforms/android/getDevices.js +11 -10
  334. package/build/src/start/platforms/android/getDevices.js.map +1 -1
  335. package/build/src/start/platforms/android/gradle.js +38 -14
  336. package/build/src/start/platforms/android/gradle.js.map +1 -1
  337. package/build/src/start/platforms/android/promptAndroidDevice.js +22 -16
  338. package/build/src/start/platforms/android/promptAndroidDevice.js.map +1 -1
  339. package/build/src/start/platforms/ios/AppleAppIdResolver.js +31 -10
  340. package/build/src/start/platforms/ios/AppleAppIdResolver.js.map +1 -1
  341. package/build/src/start/platforms/ios/AppleDeviceManager.js +120 -62
  342. package/build/src/start/platforms/ios/AppleDeviceManager.js.map +1 -1
  343. package/build/src/start/platforms/ios/ApplePlatformManager.js +7 -4
  344. package/build/src/start/platforms/ios/ApplePlatformManager.js.map +1 -1
  345. package/build/src/start/platforms/ios/assertSystemRequirements.js +11 -7
  346. package/build/src/start/platforms/ios/assertSystemRequirements.js.map +1 -1
  347. package/build/src/start/platforms/ios/ensureSimulatorAppRunning.js +60 -27
  348. package/build/src/start/platforms/ios/ensureSimulatorAppRunning.js.map +1 -1
  349. package/build/src/start/platforms/ios/getBestSimulator.js +60 -30
  350. package/build/src/start/platforms/ios/getBestSimulator.js.map +1 -1
  351. package/build/src/start/platforms/ios/promptAppleDevice.js +25 -13
  352. package/build/src/start/platforms/ios/promptAppleDevice.js.map +1 -1
  353. package/build/src/start/platforms/ios/simctl.js +75 -46
  354. package/build/src/start/platforms/ios/simctl.js.map +1 -1
  355. package/build/src/start/platforms/ios/simctlLogging.js +100 -47
  356. package/build/src/start/platforms/ios/simctlLogging.js.map +1 -1
  357. package/build/src/start/platforms/ios/xcrun.js +21 -6
  358. package/build/src/start/platforms/ios/xcrun.js.map +1 -1
  359. package/build/src/start/project/devices.js +19 -16
  360. package/build/src/start/project/devices.js.map +1 -1
  361. package/build/src/start/project/dotExpo.js +37 -11
  362. package/build/src/start/project/dotExpo.js.map +1 -1
  363. package/build/src/start/project/settings.js +6 -4
  364. package/build/src/start/project/settings.js.map +1 -1
  365. package/build/src/start/resolveOptions.js +52 -27
  366. package/build/src/start/resolveOptions.js.map +1 -1
  367. package/build/src/start/server/AsyncNgrok.js +91 -47
  368. package/build/src/start/server/AsyncNgrok.js.map +1 -1
  369. package/build/src/start/server/BundlerDevServer.js +77 -45
  370. package/build/src/start/server/BundlerDevServer.js.map +1 -1
  371. package/build/src/start/server/DevServerManager.js +100 -70
  372. package/build/src/start/server/DevServerManager.js.map +1 -1
  373. package/build/src/start/server/DevToolsPluginManager.js +35 -18
  374. package/build/src/start/server/DevToolsPluginManager.js.map +1 -1
  375. package/build/src/start/server/DevelopmentSession.js +57 -33
  376. package/build/src/start/server/DevelopmentSession.js.map +1 -1
  377. package/build/src/start/server/ReactDevToolsProxy.js +37 -11
  378. package/build/src/start/server/ReactDevToolsProxy.js.map +1 -1
  379. package/build/src/start/server/UrlCreator.js +61 -27
  380. package/build/src/start/server/UrlCreator.js.map +1 -1
  381. package/build/src/start/server/getStaticRenderFunctions.js +125 -77
  382. package/build/src/start/server/getStaticRenderFunctions.js.map +1 -1
  383. package/build/src/start/server/metro/MetroBundlerDevServer.js +333 -158
  384. package/build/src/start/server/metro/MetroBundlerDevServer.js.map +1 -1
  385. package/build/src/start/server/metro/MetroTerminalReporter.js +50 -28
  386. package/build/src/start/server/metro/MetroTerminalReporter.js.map +1 -1
  387. package/build/src/start/server/metro/TerminalReporter.js +40 -12
  388. package/build/src/start/server/metro/TerminalReporter.js.map +1 -1
  389. package/build/src/start/server/metro/TerminalReporter.types.js.map +1 -1
  390. package/build/src/start/server/metro/createExpoMetroResolver.js +82 -35
  391. package/build/src/start/server/metro/createExpoMetroResolver.js.map +1 -1
  392. package/build/src/start/server/metro/createJResolver.js +143 -73
  393. package/build/src/start/server/metro/createJResolver.js.map +1 -1
  394. package/build/src/start/server/metro/createServerRouteMiddleware.js +47 -38
  395. package/build/src/start/server/metro/createServerRouteMiddleware.js.map +1 -1
  396. package/build/src/start/server/metro/debugging/MessageHandler.js +30 -0
  397. package/build/src/start/server/metro/debugging/MessageHandler.js.map +1 -0
  398. package/build/src/start/server/metro/debugging/createDebugMiddleware.js +18 -14
  399. package/build/src/start/server/metro/debugging/createDebugMiddleware.js.map +1 -1
  400. package/build/src/start/server/metro/debugging/createHandlersFactory.js +64 -0
  401. package/build/src/start/server/metro/debugging/createHandlersFactory.js.map +1 -0
  402. package/build/src/start/server/metro/debugging/{inspectorHandlers/utils.js → getDebuggerType.js} +6 -8
  403. package/build/src/start/server/metro/debugging/getDebuggerType.js.map +1 -0
  404. package/build/src/start/server/metro/debugging/{inspectorHandlers → messageHandlers}/NetworkResponse.js +12 -6
  405. package/build/src/start/server/metro/debugging/messageHandlers/NetworkResponse.js.map +1 -0
  406. package/build/src/start/server/metro/debugging/messageHandlers/PageReload.js +26 -0
  407. package/build/src/start/server/metro/debugging/messageHandlers/PageReload.js.map +1 -0
  408. package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerGetPossibleBreakpoints.js +28 -0
  409. package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerGetPossibleBreakpoints.js.map +1 -0
  410. package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerSetBreakpointByUrl.js +25 -0
  411. package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerSetBreakpointByUrl.js.map +1 -0
  412. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeCallFunctionOn.js +31 -0
  413. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeCallFunctionOn.js.map +1 -0
  414. package/build/src/start/server/metro/debugging/{inspectorHandlers → messageHandlers}/VscodeRuntimeGetProperties.js +14 -7
  415. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeGetProperties.js.map +1 -0
  416. package/build/src/start/server/metro/debugging/pageIsSupported.js +17 -0
  417. package/build/src/start/server/metro/debugging/pageIsSupported.js.map +1 -0
  418. package/build/src/start/server/metro/debugging/types.js.map +1 -0
  419. package/build/src/start/server/metro/externals.js +67 -69
  420. package/build/src/start/server/metro/externals.js.map +1 -1
  421. package/build/src/start/server/metro/fetchRouterManifest.js +26 -7
  422. package/build/src/start/server/metro/fetchRouterManifest.js.map +1 -1
  423. package/build/src/start/server/metro/formatFileCandidates.js +28 -18
  424. package/build/src/start/server/metro/formatFileCandidates.js.map +1 -1
  425. package/build/src/start/server/metro/getCssModulesFromBundler.js +44 -12
  426. package/build/src/start/server/metro/getCssModulesFromBundler.js.map +1 -1
  427. package/build/src/start/server/metro/instantiateMetro.js +141 -62
  428. package/build/src/start/server/metro/instantiateMetro.js.map +1 -1
  429. package/build/src/start/server/metro/metroErrorInterface.js +75 -47
  430. package/build/src/start/server/metro/metroErrorInterface.js.map +1 -1
  431. package/build/src/start/server/metro/metroErrors.js +11 -2
  432. package/build/src/start/server/metro/metroErrors.js.map +1 -1
  433. package/build/src/start/server/metro/metroVirtualModules.js +90 -0
  434. package/build/src/start/server/metro/metroVirtualModules.js.map +1 -0
  435. package/build/src/start/server/metro/metroWatchTypeScriptFiles.js +12 -3
  436. package/build/src/start/server/metro/metroWatchTypeScriptFiles.js.map +1 -1
  437. package/build/src/start/server/metro/router.js +64 -30
  438. package/build/src/start/server/metro/router.js.map +1 -1
  439. package/build/src/start/server/metro/runServer-fork.js +68 -19
  440. package/build/src/start/server/metro/runServer-fork.js.map +1 -1
  441. package/build/src/start/server/metro/serializeHtml.js +32 -19
  442. package/build/src/start/server/metro/serializeHtml.js.map +1 -1
  443. package/build/src/start/server/metro/waitForMetroToObserveTypeScriptFile.js +19 -5
  444. package/build/src/start/server/metro/waitForMetroToObserveTypeScriptFile.js.map +1 -1
  445. package/build/src/start/server/metro/withMetroMultiPlatform.js +232 -104
  446. package/build/src/start/server/metro/withMetroMultiPlatform.js.map +1 -1
  447. package/build/src/start/server/metro/withMetroResolvers.js +95 -47
  448. package/build/src/start/server/metro/withMetroResolvers.js.map +1 -1
  449. package/build/src/start/server/middleware/ContextModuleSourceMapsMiddleware.js +4 -1
  450. package/build/src/start/server/middleware/ContextModuleSourceMapsMiddleware.js.map +1 -1
  451. package/build/src/start/server/middleware/CorsMiddleware.js +4 -1
  452. package/build/src/start/server/middleware/CorsMiddleware.js.map +1 -1
  453. package/build/src/start/server/middleware/CreateFileMiddleware.js +33 -13
  454. package/build/src/start/server/middleware/CreateFileMiddleware.js.map +1 -1
  455. package/build/src/start/server/middleware/DevToolsPluginMiddleware.js +27 -12
  456. package/build/src/start/server/middleware/DevToolsPluginMiddleware.js.map +1 -1
  457. package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js +65 -28
  458. package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js.map +1 -1
  459. package/build/src/start/server/middleware/ExpoMiddleware.js +54 -22
  460. package/build/src/start/server/middleware/ExpoMiddleware.js.map +1 -1
  461. package/build/src/start/server/middleware/FaviconMiddleware.js +8 -5
  462. package/build/src/start/server/middleware/FaviconMiddleware.js.map +1 -1
  463. package/build/src/start/server/middleware/HistoryFallbackMiddleware.js +6 -3
  464. package/build/src/start/server/middleware/HistoryFallbackMiddleware.js.map +1 -1
  465. package/build/src/start/server/middleware/InterstitialPageMiddleware.js +58 -21
  466. package/build/src/start/server/middleware/InterstitialPageMiddleware.js.map +1 -1
  467. package/build/src/start/server/middleware/ManifestMiddleware.js +117 -63
  468. package/build/src/start/server/middleware/ManifestMiddleware.js.map +1 -1
  469. package/build/src/start/server/middleware/ReactDevToolsPageMiddleware.js +35 -10
  470. package/build/src/start/server/middleware/ReactDevToolsPageMiddleware.js.map +1 -1
  471. package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js +54 -27
  472. package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js.map +1 -1
  473. package/build/src/start/server/middleware/ServeStaticMiddleware.js +31 -10
  474. package/build/src/start/server/middleware/ServeStaticMiddleware.js.map +1 -1
  475. package/build/src/start/server/middleware/inspector/JsInspector.js +45 -22
  476. package/build/src/start/server/middleware/inspector/JsInspector.js.map +1 -1
  477. package/build/src/start/server/middleware/inspector/LaunchBrowser.js +25 -11
  478. package/build/src/start/server/middleware/inspector/LaunchBrowser.js.map +1 -1
  479. package/build/src/start/server/middleware/inspector/LaunchBrowser.types.js +4 -2
  480. package/build/src/start/server/middleware/inspector/LaunchBrowser.types.js.map +1 -1
  481. package/build/src/start/server/middleware/inspector/LaunchBrowserImplLinux.js +36 -14
  482. package/build/src/start/server/middleware/inspector/LaunchBrowserImplLinux.js.map +1 -1
  483. package/build/src/start/server/middleware/inspector/LaunchBrowserImplMacOS.js +84 -38
  484. package/build/src/start/server/middleware/inspector/LaunchBrowserImplMacOS.js.map +1 -1
  485. package/build/src/start/server/middleware/inspector/LaunchBrowserImplWindows.js +42 -20
  486. package/build/src/start/server/middleware/inspector/LaunchBrowserImplWindows.js.map +1 -1
  487. package/build/src/start/server/middleware/inspector/createJsInspectorMiddleware.js +40 -13
  488. package/build/src/start/server/middleware/inspector/createJsInspectorMiddleware.js.map +1 -1
  489. package/build/src/start/server/middleware/inspector/middlwareMutations.js +11 -4
  490. package/build/src/start/server/middleware/inspector/middlwareMutations.js.map +1 -1
  491. package/build/src/start/server/middleware/metroOptions.js +36 -18
  492. package/build/src/start/server/middleware/metroOptions.js.map +1 -1
  493. package/build/src/start/server/middleware/mutations.js +11 -4
  494. package/build/src/start/server/middleware/mutations.js.map +1 -1
  495. package/build/src/start/server/middleware/resolveAssets.js +78 -42
  496. package/build/src/start/server/middleware/resolveAssets.js.map +1 -1
  497. package/build/src/start/server/middleware/resolvePlatform.js +21 -7
  498. package/build/src/start/server/middleware/resolvePlatform.js.map +1 -1
  499. package/build/src/start/server/middleware/suppressErrorMiddleware.js +4 -1
  500. package/build/src/start/server/middleware/suppressErrorMiddleware.js.map +1 -1
  501. package/build/src/start/server/openPlatforms.js +7 -6
  502. package/build/src/start/server/openPlatforms.js.map +1 -1
  503. package/build/src/start/server/platformBundlers.js +12 -3
  504. package/build/src/start/server/platformBundlers.js.map +1 -1
  505. package/build/src/start/server/serverLogLikeMetro.js +93 -40
  506. package/build/src/start/server/serverLogLikeMetro.js.map +1 -1
  507. package/build/src/start/server/type-generation/expo-env.js +26 -6
  508. package/build/src/start/server/type-generation/expo-env.js.map +1 -1
  509. package/build/src/start/server/type-generation/routes.js +137 -82
  510. package/build/src/start/server/type-generation/routes.js.map +1 -1
  511. package/build/src/start/server/type-generation/startTypescriptTypeGeneration.js +44 -23
  512. package/build/src/start/server/type-generation/startTypescriptTypeGeneration.js.map +1 -1
  513. package/build/src/start/server/type-generation/tsconfig.js +41 -16
  514. package/build/src/start/server/type-generation/tsconfig.js.map +1 -1
  515. package/build/src/start/server/webTemplate.js +43 -19
  516. package/build/src/start/server/webTemplate.js.map +1 -1
  517. package/build/src/start/server/webpack/WebpackBundlerDevServer.js +105 -56
  518. package/build/src/start/server/webpack/WebpackBundlerDevServer.js.map +1 -1
  519. package/build/src/start/server/webpack/compile.js +60 -27
  520. package/build/src/start/server/webpack/compile.js.map +1 -1
  521. package/build/src/start/server/webpack/formatWebpackMessages.js +35 -25
  522. package/build/src/start/server/webpack/formatWebpackMessages.js.map +1 -1
  523. package/build/src/start/server/webpack/resolveFromProject.js +20 -6
  524. package/build/src/start/server/webpack/resolveFromProject.js.map +1 -1
  525. package/build/src/start/server/webpack/tls.js +84 -34
  526. package/build/src/start/server/webpack/tls.js.map +1 -1
  527. package/build/src/start/startAsync.js +98 -52
  528. package/build/src/start/startAsync.js.map +1 -1
  529. package/build/src/utils/FileNotifier.js +73 -28
  530. package/build/src/utils/FileNotifier.js.map +1 -1
  531. package/build/src/utils/analytics/getDevClientProperties.js +48 -22
  532. package/build/src/utils/analytics/getDevClientProperties.js.map +1 -1
  533. package/build/src/utils/analytics/getMetroDebugProperties.js +4 -1
  534. package/build/src/utils/analytics/getMetroDebugProperties.js.map +1 -1
  535. package/build/src/utils/analytics/getMetroProperties.js +4 -1
  536. package/build/src/utils/analytics/getMetroProperties.js.map +1 -1
  537. package/build/src/utils/analytics/metroDebuggerMiddleware.js +14 -6
  538. package/build/src/utils/analytics/metroDebuggerMiddleware.js.map +1 -1
  539. package/build/src/utils/ansi.js +5 -2
  540. package/build/src/utils/ansi.js.map +1 -1
  541. package/build/src/utils/args.js +83 -31
  542. package/build/src/utils/args.js.map +1 -1
  543. package/build/src/utils/array.js +16 -9
  544. package/build/src/utils/array.js.map +1 -1
  545. package/build/src/utils/cocoapods.js +127 -67
  546. package/build/src/utils/cocoapods.js.map +1 -1
  547. package/build/src/utils/codesigning.js +144 -72
  548. package/build/src/utils/codesigning.js.map +1 -1
  549. package/build/src/utils/createFileTransform.js +34 -71
  550. package/build/src/utils/createFileTransform.js.map +1 -1
  551. package/build/src/utils/delay.js +13 -6
  552. package/build/src/utils/delay.js.map +1 -1
  553. package/build/src/utils/dir.js +50 -40
  554. package/build/src/utils/dir.js.map +1 -1
  555. package/build/src/utils/downloadAppAsync.js +51 -18
  556. package/build/src/utils/downloadAppAsync.js.map +1 -1
  557. package/build/src/utils/downloadExpoGoAsync.js +47 -26
  558. package/build/src/utils/downloadExpoGoAsync.js.map +1 -1
  559. package/build/src/utils/editor.js +65 -27
  560. package/build/src/utils/editor.js.map +1 -1
  561. package/build/src/utils/env.js +44 -33
  562. package/build/src/utils/env.js.map +1 -1
  563. package/build/src/utils/errors.js +35 -12
  564. package/build/src/utils/errors.js.map +1 -1
  565. package/build/src/utils/exit.js +10 -7
  566. package/build/src/utils/exit.js.map +1 -1
  567. package/build/src/utils/findUp.js +38 -8
  568. package/build/src/utils/findUp.js.map +1 -1
  569. package/build/src/utils/fn.js +11 -3
  570. package/build/src/utils/fn.js.map +1 -1
  571. package/build/src/utils/getOrPromptApplicationId.js +84 -46
  572. package/build/src/utils/getOrPromptApplicationId.js.map +1 -1
  573. package/build/src/utils/getRunningProcess.js +63 -25
  574. package/build/src/utils/getRunningProcess.js.map +1 -1
  575. package/build/src/utils/git.js +76 -38
  576. package/build/src/utils/git.js.map +1 -1
  577. package/build/src/utils/glob.js +23 -12
  578. package/build/src/utils/glob.js.map +1 -1
  579. package/build/src/utils/interactive.js +5 -2
  580. package/build/src/utils/interactive.js.map +1 -1
  581. package/build/src/utils/ip.js +12 -3
  582. package/build/src/utils/ip.js.map +1 -1
  583. package/build/src/utils/isModuleSymlinked.js +20 -5
  584. package/build/src/utils/isModuleSymlinked.js.map +1 -1
  585. package/build/src/utils/link.js +28 -8
  586. package/build/src/utils/link.js.map +1 -1
  587. package/build/src/utils/mergeGitIgnorePaths.js +45 -28
  588. package/build/src/utils/mergeGitIgnorePaths.js.map +1 -1
  589. package/build/src/utils/modifyConfigAsync.js +69 -31
  590. package/build/src/utils/modifyConfigAsync.js.map +1 -1
  591. package/build/src/utils/modifyConfigPlugins.js +50 -23
  592. package/build/src/utils/modifyConfigPlugins.js.map +1 -1
  593. package/build/src/utils/nodeEnv.js +8 -1
  594. package/build/src/utils/nodeEnv.js.map +1 -1
  595. package/build/src/utils/nodeModules.js +29 -8
  596. package/build/src/utils/nodeModules.js.map +1 -1
  597. package/build/src/utils/npm.js +86 -31
  598. package/build/src/utils/npm.js.map +1 -1
  599. package/build/src/utils/obj.js +12 -4
  600. package/build/src/utils/obj.js.map +1 -1
  601. package/build/src/utils/open.js +13 -4
  602. package/build/src/utils/open.js.map +1 -1
  603. package/build/src/utils/ora.js +38 -22
  604. package/build/src/utils/ora.js.map +1 -1
  605. package/build/src/utils/plist.js +73 -29
  606. package/build/src/utils/plist.js.map +1 -1
  607. package/build/src/utils/port.js +74 -36
  608. package/build/src/utils/port.js.map +1 -1
  609. package/build/src/utils/profile.js +56 -29
  610. package/build/src/utils/profile.js.map +1 -1
  611. package/build/src/utils/progress.js +23 -13
  612. package/build/src/utils/progress.js.map +1 -1
  613. package/build/src/utils/prompts.js +45 -28
  614. package/build/src/utils/prompts.js.map +1 -1
  615. package/build/src/utils/resolveArgs.js +23 -20
  616. package/build/src/utils/resolveArgs.js.map +1 -1
  617. package/build/src/utils/scheme.js +128 -52
  618. package/build/src/utils/scheme.js.map +1 -1
  619. package/build/src/utils/strings.js +11 -4
  620. package/build/src/utils/strings.js.map +1 -1
  621. package/build/src/utils/tar.js +56 -23
  622. package/build/src/utils/tar.js.map +1 -1
  623. package/build/src/utils/telemetry/DetachedClient.js +90 -0
  624. package/build/src/utils/telemetry/DetachedClient.js.map +1 -0
  625. package/build/src/utils/telemetry/RudderClient.js +101 -0
  626. package/build/src/utils/telemetry/RudderClient.js.map +1 -0
  627. package/build/src/utils/telemetry/flushDetached.js +44 -0
  628. package/build/src/utils/telemetry/flushDetached.js.map +1 -0
  629. package/build/src/utils/telemetry/getContext.js +112 -0
  630. package/build/src/utils/telemetry/getContext.js.map +1 -0
  631. package/build/src/utils/telemetry/index.js +37 -0
  632. package/build/src/utils/telemetry/index.js.map +1 -0
  633. package/build/src/utils/telemetry/types.js +6 -0
  634. package/build/src/utils/telemetry/types.js.map +1 -0
  635. package/build/src/utils/template.js +27 -2
  636. package/build/src/utils/template.js.map +1 -1
  637. package/build/src/utils/terminal.js +5 -2
  638. package/build/src/utils/terminal.js.map +1 -1
  639. package/build/src/utils/tsconfig/evaluateTsConfig.js +32 -14
  640. package/build/src/utils/tsconfig/evaluateTsConfig.js.map +1 -1
  641. package/build/src/utils/tsconfig/loadTsConfigPaths.js +34 -14
  642. package/build/src/utils/tsconfig/loadTsConfigPaths.js.map +1 -1
  643. package/build/src/utils/tsconfig/matchTsConfigPathAlias.js +8 -4
  644. package/build/src/utils/tsconfig/matchTsConfigPathAlias.js.map +1 -1
  645. package/build/src/utils/tsconfig/resolveWithTsConfigPaths.js +20 -11
  646. package/build/src/utils/tsconfig/resolveWithTsConfigPaths.js.map +1 -1
  647. package/build/src/utils/url.js +35 -19
  648. package/build/src/utils/url.js.map +1 -1
  649. package/build/src/utils/validateApplicationId.js +47 -28
  650. package/build/src/utils/validateApplicationId.js.map +1 -1
  651. package/build/src/utils/variadic.js +15 -11
  652. package/build/src/utils/variadic.js.map +1 -1
  653. package/build/src/whoami/index.js +43 -25
  654. package/build/src/whoami/index.js.map +1 -1
  655. package/build/src/whoami/whoamiAsync.js +50 -23
  656. package/build/src/whoami/whoamiAsync.js.map +1 -1
  657. package/package.json +16 -17
  658. package/static/canary/react-native/Libraries/Renderer/implementations/ReactFabric-dev.js +27907 -0
  659. package/static/canary/react-native/Libraries/Renderer/implementations/ReactFabric-prod.js +9494 -0
  660. package/static/canary/react-native/Libraries/Renderer/implementations/ReactFabric-profiling.js +10015 -0
  661. package/static/canary/react-native/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +28375 -0
  662. package/static/canary/react-native/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +9714 -0
  663. package/build/src/run/android/resolveGradleProps.js +0 -37
  664. package/build/src/run/android/resolveGradleProps.js.map +0 -1
  665. package/build/src/start/server/metro/bundleApiRoutes.js +0 -52
  666. package/build/src/start/server/metro/bundleApiRoutes.js.map +0 -1
  667. package/build/src/start/server/metro/debugging/InspectorDevice.js +0 -80
  668. package/build/src/start/server/metro/debugging/InspectorDevice.js.map +0 -1
  669. package/build/src/start/server/metro/debugging/InspectorProxy.js +0 -116
  670. package/build/src/start/server/metro/debugging/InspectorProxy.js.map +0 -1
  671. package/build/src/start/server/metro/debugging/inspectorHandlers/NetworkResponse.js.map +0 -1
  672. package/build/src/start/server/metro/debugging/inspectorHandlers/PageReload.js +0 -22
  673. package/build/src/start/server/metro/debugging/inspectorHandlers/PageReload.js.map +0 -1
  674. package/build/src/start/server/metro/debugging/inspectorHandlers/VscodeDebuggerGetPossibleBreakpoints.js +0 -21
  675. package/build/src/start/server/metro/debugging/inspectorHandlers/VscodeDebuggerGetPossibleBreakpoints.js.map +0 -1
  676. package/build/src/start/server/metro/debugging/inspectorHandlers/VscodeDebuggerScriptParsed.js +0 -56
  677. package/build/src/start/server/metro/debugging/inspectorHandlers/VscodeDebuggerScriptParsed.js.map +0 -1
  678. package/build/src/start/server/metro/debugging/inspectorHandlers/VscodeDebuggerSetBreakpointByUrl.js +0 -18
  679. package/build/src/start/server/metro/debugging/inspectorHandlers/VscodeDebuggerSetBreakpointByUrl.js.map +0 -1
  680. package/build/src/start/server/metro/debugging/inspectorHandlers/VscodeRuntimeCallFunctionOn.js +0 -24
  681. package/build/src/start/server/metro/debugging/inspectorHandlers/VscodeRuntimeCallFunctionOn.js.map +0 -1
  682. package/build/src/start/server/metro/debugging/inspectorHandlers/VscodeRuntimeGetProperties.js.map +0 -1
  683. package/build/src/start/server/metro/debugging/inspectorHandlers/types.js.map +0 -1
  684. package/build/src/start/server/metro/debugging/inspectorHandlers/utils.js.map +0 -1
  685. package/build/src/start/server/type-generation/__typetests__/fixtures/basic.js +0 -38
  686. package/build/src/start/server/type-generation/__typetests__/fixtures/basic.js.map +0 -1
  687. package/build/src/start/server/type-generation/__typetests__/generateFixtures.js +0 -38
  688. package/build/src/start/server/type-generation/__typetests__/generateFixtures.js.map +0 -1
  689. package/build/src/start/server/type-generation/__typetests__/route.test.js +0 -184
  690. package/build/src/start/server/type-generation/__typetests__/route.test.js.map +0 -1
  691. package/build/src/utils/analytics/rudderstackClient.js +0 -147
  692. package/build/src/utils/analytics/rudderstackClient.js.map +0 -1
  693. /package/build/src/start/server/metro/debugging/{inspectorHandlers/types.js → types.js} +0 -0
@@ -1,69 +1,85 @@
1
- "use strict";
1
+ /**
2
+ * Copyright © 2023 650 Industries.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */ "use strict";
2
7
  Object.defineProperty(exports, "__esModule", {
3
8
  value: true
4
9
  });
5
- exports.getNodeExternalModuleId = getNodeExternalModuleId;
6
- exports.setupShimFiles = setupShimFiles;
7
- exports.setupNodeExternals = setupNodeExternals;
8
- exports.isNodeExternal = isNodeExternal;
9
- exports.METRO_SHIMS_FOLDER = exports.METRO_EXTERNALS_FOLDER = exports.EXTERNAL_REQUIRE_NATIVE_POLYFILL = exports.EXTERNAL_REQUIRE_POLYFILL = exports.NODE_STDLIB_MODULES = void 0;
10
- var _fs = _interopRequireDefault(require("fs"));
11
- var _module = require("module");
12
- var _path = _interopRequireDefault(require("path"));
13
- var _dir = require("../../../utils/dir");
10
+ function _export(target, all) {
11
+ for(var name in all)Object.defineProperty(target, name, {
12
+ enumerable: true,
13
+ get: all[name]
14
+ });
15
+ }
16
+ _export(exports, {
17
+ NODE_STDLIB_MODULES: ()=>NODE_STDLIB_MODULES,
18
+ shouldCreateVirtualShim: ()=>shouldCreateVirtualShim,
19
+ shouldCreateVirtualCanary: ()=>shouldCreateVirtualCanary,
20
+ isNodeExternal: ()=>isNodeExternal
21
+ });
22
+ function _fs() {
23
+ const data = /*#__PURE__*/ _interopRequireDefault(require("fs"));
24
+ _fs = function() {
25
+ return data;
26
+ };
27
+ return data;
28
+ }
29
+ function _module() {
30
+ const data = require("module");
31
+ _module = function() {
32
+ return data;
33
+ };
34
+ return data;
35
+ }
36
+ function _path() {
37
+ const data = /*#__PURE__*/ _interopRequireDefault(require("path"));
38
+ _path = function() {
39
+ return data;
40
+ };
41
+ return data;
42
+ }
14
43
  function _interopRequireDefault(obj) {
15
44
  return obj && obj.__esModule ? obj : {
16
45
  default: obj
17
46
  };
18
47
  }
19
48
  const NODE_STDLIB_MODULES = [
49
+ // Add all nested imports...
50
+ "assert/strict",
51
+ "dns/promises",
52
+ "inspector/promises",
20
53
  "fs/promises",
21
- ...(_module.builtinModules || // @ts-expect-error
54
+ "stream/web",
55
+ "stream/promises",
56
+ "path/posix",
57
+ "path/win32",
58
+ "readline/promises",
59
+ "stream/consumers",
60
+ "timers/promises",
61
+ "util/types",
62
+ // Collect all builtin modules...
63
+ ...(_module().builtinModules || // @ts-expect-error
22
64
  (process.binding ? Object.keys(process.binding("natives")) : []) || []).filter((x)=>!/^_|^(internal|v8|node-inspect)\/|\//.test(x) && ![
23
65
  "sys"
24
- ].includes(x)
25
- ),
66
+ ].includes(x)),
26
67
  ].sort();
27
- exports.NODE_STDLIB_MODULES = NODE_STDLIB_MODULES;
28
- const EXTERNAL_REQUIRE_POLYFILL = ".expo/metro/polyfill.js";
29
- exports.EXTERNAL_REQUIRE_POLYFILL = EXTERNAL_REQUIRE_POLYFILL;
30
- const EXTERNAL_REQUIRE_NATIVE_POLYFILL = ".expo/metro/polyfill.native.js";
31
- exports.EXTERNAL_REQUIRE_NATIVE_POLYFILL = EXTERNAL_REQUIRE_NATIVE_POLYFILL;
32
- const METRO_EXTERNALS_FOLDER = ".expo/metro/externals";
33
- exports.METRO_EXTERNALS_FOLDER = METRO_EXTERNALS_FOLDER;
34
- const METRO_SHIMS_FOLDER = ".expo/metro/shims";
35
- exports.METRO_SHIMS_FOLDER = METRO_SHIMS_FOLDER;
36
- function getNodeExternalModuleId(fromModule, moduleId) {
37
- return _path.default.relative(_path.default.dirname(fromModule), _path.default.join(METRO_EXTERNALS_FOLDER, moduleId, "index.js"));
38
- }
39
- async function setupShimFiles(projectRoot) {
40
- await _fs.default.promises.mkdir(_path.default.join(projectRoot, METRO_SHIMS_FOLDER), {
41
- recursive: true
42
- });
43
- // Copy the shims to the project folder in case we're running in a monorepo.
44
- const shimsFolder = _path.default.join(require.resolve("@expo/cli/package.json"), "../static/shims");
45
- await (0, _dir).copyAsync(shimsFolder, _path.default.join(projectRoot, METRO_SHIMS_FOLDER), {
46
- overwrite: false,
47
- recursive: true
48
- });
49
- }
50
- async function setupNodeExternals(projectRoot) {
51
- await tapExternalRequirePolyfill(projectRoot);
52
- await tapNodeShims(projectRoot);
53
- }
54
- async function tapExternalRequirePolyfill(projectRoot) {
55
- await _fs.default.promises.mkdir(_path.default.join(projectRoot, _path.default.dirname(EXTERNAL_REQUIRE_POLYFILL)), {
56
- recursive: true
57
- });
58
- await writeIfDifferentAsync(_path.default.join(projectRoot, EXTERNAL_REQUIRE_POLYFILL), 'global.$$require_external = typeof window === "undefined" ? require : () => null;');
59
- await writeIfDifferentAsync(_path.default.join(projectRoot, EXTERNAL_REQUIRE_NATIVE_POLYFILL), "global.$$require_external = (moduleId) => {throw new Error(`Node.js standard library module ${moduleId} is not available in this JavaScript environment`);}");
68
+ const shimsFolder = _path().default.join(require.resolve("@expo/cli/package.json"), "../static/shims");
69
+ const canaryFolder = _path().default.join(require.resolve("@expo/cli/package.json"), "../static/canary");
70
+ function shouldCreateVirtualShim(normalName) {
71
+ const shimPath = _path().default.join(shimsFolder, normalName);
72
+ if (_fs().default.existsSync(shimPath)) {
73
+ return shimPath;
74
+ }
75
+ return null;
60
76
  }
61
- async function writeIfDifferentAsync(filePath, contents) {
62
- if (_fs.default.existsSync(filePath)) {
63
- const current = await _fs.default.promises.readFile(filePath, "utf8");
64
- if (current === contents) return;
77
+ function shouldCreateVirtualCanary(normalName) {
78
+ const canaryPath = _path().default.join(canaryFolder, normalName);
79
+ if (_fs().default.existsSync(canaryPath)) {
80
+ return canaryPath;
65
81
  }
66
- await _fs.default.promises.writeFile(filePath, contents);
82
+ return null;
67
83
  }
68
84
  function isNodeExternal(moduleName) {
69
85
  const moduleId = moduleName.replace(/^node:/, "");
@@ -72,23 +88,5 @@ function isNodeExternal(moduleName) {
72
88
  }
73
89
  return null;
74
90
  }
75
- function tapNodeShimContents(moduleId) {
76
- return `module.exports = $$require_external('node:${moduleId}');`;
77
- }
78
- // Ensure Node.js shims which require using `$$require_external` are available inside the project.
79
- async function tapNodeShims(projectRoot) {
80
- const externals = {};
81
- for (const moduleId of NODE_STDLIB_MODULES){
82
- const shimDir = _path.default.join(projectRoot, METRO_EXTERNALS_FOLDER, moduleId);
83
- const shimPath = _path.default.join(shimDir, "index.js");
84
- externals[moduleId] = shimPath;
85
- if (!_fs.default.existsSync(shimPath)) {
86
- await _fs.default.promises.mkdir(shimDir, {
87
- recursive: true
88
- });
89
- await _fs.default.promises.writeFile(shimPath, tapNodeShimContents(moduleId));
90
- }
91
- }
92
- }
93
91
 
94
92
  //# sourceMappingURL=externals.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/start/server/metro/externals.ts"],"sourcesContent":["/**\n * Copyright © 2023 650 Industries.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport fs from 'fs';\nimport { builtinModules } from 'module';\nimport path from 'path';\n\nimport { copyAsync } from '../../../utils/dir';\n\n// A list of the Node.js standard library modules that are currently\n// available,\nexport const NODE_STDLIB_MODULES: string[] = [\n 'fs/promises',\n ...(\n builtinModules ||\n // @ts-expect-error\n (process.binding ? Object.keys(process.binding('natives')) : []) ||\n []\n ).filter((x) => !/^_|^(internal|v8|node-inspect)\\/|\\//.test(x) && !['sys'].includes(x)),\n].sort();\n\nexport const EXTERNAL_REQUIRE_POLYFILL = '.expo/metro/polyfill.js';\nexport const EXTERNAL_REQUIRE_NATIVE_POLYFILL = '.expo/metro/polyfill.native.js';\nexport const METRO_EXTERNALS_FOLDER = '.expo/metro/externals';\nexport const METRO_SHIMS_FOLDER = '.expo/metro/shims';\n\nexport function getNodeExternalModuleId(fromModule: string, moduleId: string) {\n return path.relative(\n path.dirname(fromModule),\n path.join(METRO_EXTERNALS_FOLDER, moduleId, 'index.js')\n );\n}\n\nexport async function setupShimFiles(projectRoot: string) {\n await fs.promises.mkdir(path.join(projectRoot, METRO_SHIMS_FOLDER), { recursive: true });\n // Copy the shims to the project folder in case we're running in a monorepo.\n const shimsFolder = path.join(require.resolve('@expo/cli/package.json'), '../static/shims');\n\n await copyAsync(shimsFolder, path.join(projectRoot, METRO_SHIMS_FOLDER), {\n overwrite: false,\n recursive: true,\n });\n}\n\nexport async function setupNodeExternals(projectRoot: string) {\n await tapExternalRequirePolyfill(projectRoot);\n await tapNodeShims(projectRoot);\n}\n\nasync function tapExternalRequirePolyfill(projectRoot: string) {\n await fs.promises.mkdir(path.join(projectRoot, path.dirname(EXTERNAL_REQUIRE_POLYFILL)), {\n recursive: true,\n });\n await writeIfDifferentAsync(\n path.join(projectRoot, EXTERNAL_REQUIRE_POLYFILL),\n 'global.$$require_external = typeof window === \"undefined\" ? require : () => null;'\n );\n await writeIfDifferentAsync(\n path.join(projectRoot, EXTERNAL_REQUIRE_NATIVE_POLYFILL),\n 'global.$$require_external = (moduleId) => {throw new Error(`Node.js standard library module ${moduleId} is not available in this JavaScript environment`);}'\n );\n}\n\nasync function writeIfDifferentAsync(filePath: string, contents: string): Promise<void> {\n if (fs.existsSync(filePath)) {\n const current = await fs.promises.readFile(filePath, 'utf8');\n if (current === contents) return;\n }\n\n await fs.promises.writeFile(filePath, contents);\n}\n\nexport function isNodeExternal(moduleName: string): string | null {\n const moduleId = moduleName.replace(/^node:/, '');\n if (NODE_STDLIB_MODULES.includes(moduleId)) {\n return moduleId;\n }\n return null;\n}\n\nfunction tapNodeShimContents(moduleId: string): string {\n return `module.exports = $$require_external('node:${moduleId}');`;\n}\n\n// Ensure Node.js shims which require using `$$require_external` are available inside the project.\nasync function tapNodeShims(projectRoot: string) {\n const externals: Record<string, string> = {};\n for (const moduleId of NODE_STDLIB_MODULES) {\n const shimDir = path.join(projectRoot, METRO_EXTERNALS_FOLDER, moduleId);\n const shimPath = path.join(shimDir, 'index.js');\n externals[moduleId] = shimPath;\n\n if (!fs.existsSync(shimPath)) {\n await fs.promises.mkdir(shimDir, { recursive: true });\n await fs.promises.writeFile(shimPath, tapNodeShimContents(moduleId));\n }\n }\n}\n"],"names":["getNodeExternalModuleId","setupShimFiles","setupNodeExternals","isNodeExternal","NODE_STDLIB_MODULES","builtinModules","process","binding","Object","keys","filter","x","test","includes","sort","EXTERNAL_REQUIRE_POLYFILL","EXTERNAL_REQUIRE_NATIVE_POLYFILL","METRO_EXTERNALS_FOLDER","METRO_SHIMS_FOLDER","fromModule","moduleId","path","relative","dirname","join","projectRoot","fs","promises","mkdir","recursive","shimsFolder","require","resolve","copyAsync","overwrite","tapExternalRequirePolyfill","tapNodeShims","writeIfDifferentAsync","filePath","contents","existsSync","current","readFile","writeFile","moduleName","replace","tapNodeShimContents","externals","shimDir","shimPath"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../../src/start/server/metro/externals.ts"],"sourcesContent":["/**\n * Copyright © 2023 650 Industries.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport fs from 'fs';\nimport { builtinModules } from 'module';\nimport path from 'path';\n\n// A list of the Node.js standard library modules that are currently\n// available,\nexport const NODE_STDLIB_MODULES: string[] = [\n // Add all nested imports...\n 'assert/strict',\n 'dns/promises',\n 'inspector/promises',\n 'fs/promises',\n 'stream/web',\n 'stream/promises',\n 'path/posix',\n 'path/win32',\n 'readline/promises',\n 'stream/consumers',\n 'timers/promises',\n 'util/types',\n // Collect all builtin modules...\n ...(\n builtinModules ||\n // @ts-expect-error\n (process.binding ? Object.keys(process.binding('natives')) : []) ||\n []\n ).filter((x) => !/^_|^(internal|v8|node-inspect)\\/|\\//.test(x) && !['sys'].includes(x)),\n].sort();\n\nconst shimsFolder = path.join(require.resolve('@expo/cli/package.json'), '../static/shims');\nconst canaryFolder = path.join(require.resolve('@expo/cli/package.json'), '../static/canary');\n\nexport function shouldCreateVirtualShim(normalName: string) {\n const shimPath = path.join(shimsFolder, normalName);\n if (fs.existsSync(shimPath)) {\n return shimPath;\n }\n return null;\n}\nexport function shouldCreateVirtualCanary(normalName: string): string | null {\n const canaryPath = path.join(canaryFolder, normalName);\n if (fs.existsSync(canaryPath)) {\n return canaryPath;\n }\n return null;\n}\n\nexport function isNodeExternal(moduleName: string): string | null {\n const moduleId = moduleName.replace(/^node:/, '');\n if (NODE_STDLIB_MODULES.includes(moduleId)) {\n return moduleId;\n }\n return null;\n}\n"],"names":["NODE_STDLIB_MODULES","shouldCreateVirtualShim","shouldCreateVirtualCanary","isNodeExternal","builtinModules","process","binding","Object","keys","filter","x","test","includes","sort","shimsFolder","path","join","require","resolve","canaryFolder","normalName","shimPath","fs","existsSync","canaryPath","moduleName","moduleId","replace"],"mappings":"AAAA;;;;;CAKC,GACD;;;;;;;;;;;IAMaA,mBAAmB,MAAnBA,mBAAmB;IA0BhBC,uBAAuB,MAAvBA,uBAAuB;IAOvBC,yBAAyB,MAAzBA,yBAAyB;IAQzBC,cAAc,MAAdA,cAAc;;;8DA/Cf,IAAI;;;;;;;yBACY,QAAQ;;;;;;;8DACtB,MAAM;;;;;;;;;;;AAIhB,MAAMH,mBAAmB,GAAa;IAC3C,4BAA4B;IAC5B,eAAe;IACf,cAAc;IACd,oBAAoB;IACpB,aAAa;IACb,YAAY;IACZ,iBAAiB;IACjB,YAAY;IACZ,YAAY;IACZ,mBAAmB;IACnB,kBAAkB;IAClB,iBAAiB;IACjB,YAAY;IACZ,iCAAiC;OAC9B,CACDI,OAAc,EAAA,eAAA,IACd,mBAAmB;IACnB,CAACC,OAAO,CAACC,OAAO,GAAGC,MAAM,CAACC,IAAI,CAACH,OAAO,CAACC,OAAO,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,CAAC,IAChE,EAAE,CACH,CAACG,MAAM,CAAC,CAACC,CAAC,GAAK,CAAC,sCAAsCC,IAAI,CAACD,CAAC,CAAC,IAAI,CAAC;YAAC,KAAK;SAAC,CAACE,QAAQ,CAACF,CAAC,CAAC,CAAC;CACxF,CAACG,IAAI,EAAE,AAAC;AAET,MAAMC,WAAW,GAAGC,KAAI,EAAA,QAAA,CAACC,IAAI,CAACC,OAAO,CAACC,OAAO,CAAC,wBAAwB,CAAC,EAAE,iBAAiB,CAAC,AAAC;AAC5F,MAAMC,YAAY,GAAGJ,KAAI,EAAA,QAAA,CAACC,IAAI,CAACC,OAAO,CAACC,OAAO,CAAC,wBAAwB,CAAC,EAAE,kBAAkB,CAAC,AAAC;AAEvF,SAASjB,uBAAuB,CAACmB,UAAkB,EAAE;IAC1D,MAAMC,QAAQ,GAAGN,KAAI,EAAA,QAAA,CAACC,IAAI,CAACF,WAAW,EAAEM,UAAU,CAAC,AAAC;IACpD,IAAIE,GAAE,EAAA,QAAA,CAACC,UAAU,CAACF,QAAQ,CAAC,EAAE;QAC3B,OAAOA,QAAQ,CAAC;IAClB,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AACM,SAASnB,yBAAyB,CAACkB,UAAkB,EAAiB;IAC3E,MAAMI,UAAU,GAAGT,KAAI,EAAA,QAAA,CAACC,IAAI,CAACG,YAAY,EAAEC,UAAU,CAAC,AAAC;IACvD,IAAIE,GAAE,EAAA,QAAA,CAACC,UAAU,CAACC,UAAU,CAAC,EAAE;QAC7B,OAAOA,UAAU,CAAC;IACpB,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAEM,SAASrB,cAAc,CAACsB,UAAkB,EAAiB;IAChE,MAAMC,QAAQ,GAAGD,UAAU,CAACE,OAAO,WAAW,EAAE,CAAC,AAAC;IAClD,IAAI3B,mBAAmB,CAACY,QAAQ,CAACc,QAAQ,CAAC,EAAE;QAC1C,OAAOA,QAAQ,CAAC;IAClB,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -1,22 +1,41 @@
1
- "use strict";
1
+ /**
2
+ * Copyright © 2022 650 Industries.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */ "use strict";
2
7
  Object.defineProperty(exports, "__esModule", {
3
8
  value: true
4
9
  });
5
- exports.fetchManifest = fetchManifest;
6
- exports.inflateManifest = inflateManifest;
7
- var _resolveFrom = _interopRequireDefault(require("resolve-from"));
8
- var _router = require("./router");
10
+ function _export(target, all) {
11
+ for(var name in all)Object.defineProperty(target, name, {
12
+ enumerable: true,
13
+ get: all[name]
14
+ });
15
+ }
16
+ _export(exports, {
17
+ fetchManifest: ()=>fetchManifest,
18
+ inflateManifest: ()=>inflateManifest
19
+ });
20
+ function _resolveFrom() {
21
+ const data = /*#__PURE__*/ _interopRequireDefault(require("resolve-from"));
22
+ _resolveFrom = function() {
23
+ return data;
24
+ };
25
+ return data;
26
+ }
27
+ const _router = require("./router");
9
28
  function _interopRequireDefault(obj) {
10
29
  return obj && obj.__esModule ? obj : {
11
30
  default: obj
12
31
  };
13
32
  }
14
33
  function getExpoRouteManifestBuilderAsync(projectRoot) {
15
- return require((0, _resolveFrom).default(projectRoot, "expo-router/build/routes-manifest")).createRoutesManifest;
34
+ return require((0, _resolveFrom().default)(projectRoot, "expo-router/build/routes-manifest")).createRoutesManifest;
16
35
  }
17
36
  async function fetchManifest(projectRoot, options) {
18
37
  const getManifest = getExpoRouteManifestBuilderAsync(projectRoot);
19
- const paths = (0, _router).getRoutePaths(options.appDir);
38
+ const paths = (0, _router.getRoutePaths)(options.appDir);
20
39
  // Get the serialized manifest
21
40
  const jsonManifest = getManifest(paths);
22
41
  if (!jsonManifest) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/start/server/metro/fetchRouterManifest.ts"],"sourcesContent":["/**\n * Copyright © 2022 650 Industries.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport resolveFrom from 'resolve-from';\n\nimport { getRoutePaths } from './router';\n\nexport type ExpoRouterServerManifestV1Route<TRegex = string> = {\n file: string;\n page: string;\n routeKeys: Record<string, string>;\n namedRegex: TRegex;\n generated?: boolean;\n};\n\nexport type ExpoRouterServerManifestV1<TRegex = string> = {\n apiRoutes: ExpoRouterServerManifestV1Route<TRegex>[];\n htmlRoutes: ExpoRouterServerManifestV1Route<TRegex>[];\n notFoundRoutes: ExpoRouterServerManifestV1Route<TRegex>[];\n};\n\nfunction getExpoRouteManifestBuilderAsync(projectRoot: string) {\n return require(resolveFrom(projectRoot, 'expo-router/build/routes-manifest'))\n .createRoutesManifest as typeof import('expo-router/build/routes-manifest').createRoutesManifest;\n}\n\n// TODO: Simplify this now that we use Node.js directly, no need for the Metro bundler caching layer.\nexport async function fetchManifest<TRegex = string>(\n projectRoot: string,\n options: { asJson?: boolean; appDir: string }\n): Promise<ExpoRouterServerManifestV1<TRegex> | null> {\n const getManifest = getExpoRouteManifestBuilderAsync(projectRoot);\n const paths = getRoutePaths(options.appDir);\n // Get the serialized manifest\n const jsonManifest = getManifest(paths);\n\n if (!jsonManifest) {\n return null;\n }\n\n if (!jsonManifest.htmlRoutes || !jsonManifest.apiRoutes) {\n throw new Error('Routes manifest is malformed: ' + JSON.stringify(jsonManifest, null, 2));\n }\n\n if (!options.asJson) {\n // @ts-expect-error\n return inflateManifest(jsonManifest);\n }\n // @ts-expect-error\n return jsonManifest;\n}\n\n// Convert the serialized manifest to a usable format\nexport function inflateManifest(\n json: ExpoRouterServerManifestV1<string>\n): ExpoRouterServerManifestV1<RegExp> {\n return {\n ...json,\n htmlRoutes: json.htmlRoutes?.map((value) => {\n return {\n ...value,\n namedRegex: new RegExp(value.namedRegex),\n };\n }),\n apiRoutes: json.apiRoutes?.map((value) => {\n return {\n ...value,\n namedRegex: new RegExp(value.namedRegex),\n };\n }),\n notFoundRoutes: json.notFoundRoutes?.map((value) => {\n return {\n ...value,\n namedRegex: new RegExp(value.namedRegex),\n };\n }),\n };\n}\n"],"names":["fetchManifest","inflateManifest","getExpoRouteManifestBuilderAsync","projectRoot","require","resolveFrom","createRoutesManifest","options","getManifest","paths","getRoutePaths","appDir","jsonManifest","htmlRoutes","apiRoutes","Error","JSON","stringify","asJson","json","map","value","namedRegex","RegExp","notFoundRoutes"],"mappings":"AAMA;;;;QAwBsBA,aAAa,GAAbA,aAAa;QA0BnBC,eAAe,GAAfA,eAAe;AAlDP,IAAA,YAAc,kCAAd,cAAc,EAAA;AAER,IAAA,OAAU,WAAV,UAAU,CAAA;;;;;;AAgBxC,SAASC,gCAAgC,CAACC,WAAmB,EAAE;IAC7D,OAAOC,OAAO,CAACC,CAAAA,GAAAA,YAAW,AAAkD,CAAA,QAAlD,CAACF,WAAW,EAAE,mCAAmC,CAAC,CAAC,CAC1EG,oBAAoB,CAA4E;CACpG;AAGM,eAAeN,aAAa,CACjCG,WAAmB,EACnBI,OAA6C,EACO;IACpD,MAAMC,WAAW,GAAGN,gCAAgC,CAACC,WAAW,CAAC,AAAC;IAClE,MAAMM,KAAK,GAAGC,CAAAA,GAAAA,OAAa,AAAgB,CAAA,cAAhB,CAACH,OAAO,CAACI,MAAM,CAAC,AAAC;IAC5C,8BAA8B;IAC9B,MAAMC,YAAY,GAAGJ,WAAW,CAACC,KAAK,CAAC,AAAC;IAExC,IAAI,CAACG,YAAY,EAAE;QACjB,OAAO,IAAI,CAAC;KACb;IAED,IAAI,CAACA,YAAY,CAACC,UAAU,IAAI,CAACD,YAAY,CAACE,SAAS,EAAE;QACvD,MAAM,IAAIC,KAAK,CAAC,gCAAgC,GAAGC,IAAI,CAACC,SAAS,CAACL,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;KAC3F;IAED,IAAI,CAACL,OAAO,CAACW,MAAM,EAAE;QACnB,mBAAmB;QACnB,OAAOjB,eAAe,CAACW,YAAY,CAAC,CAAC;KACtC;IACD,mBAAmB;IACnB,OAAOA,YAAY,CAAC;CACrB;AAGM,SAASX,eAAe,CAC7BkB,IAAwC,EACJ;QAGtBA,GAAe,EAMhBA,IAAc,EAMTA,IAAmB;IAdrC,OAAO;QACL,GAAGA,IAAI;QACPN,UAAU,EAAEM,CAAAA,GAAe,GAAfA,IAAI,CAACN,UAAU,SAAK,GAApBM,KAAAA,CAAoB,GAApBA,GAAe,CAAEC,GAAG,CAAC,CAACC,KAAK,GAAK;YAC1C,OAAO;gBACL,GAAGA,KAAK;gBACRC,UAAU,EAAE,IAAIC,MAAM,CAACF,KAAK,CAACC,UAAU,CAAC;aACzC,CAAC;SACH,CAAC;QACFR,SAAS,EAAEK,CAAAA,IAAc,GAAdA,IAAI,CAACL,SAAS,SAAK,GAAnBK,KAAAA,CAAmB,GAAnBA,IAAc,CAAEC,GAAG,CAAC,CAACC,KAAK,GAAK;YACxC,OAAO;gBACL,GAAGA,KAAK;gBACRC,UAAU,EAAE,IAAIC,MAAM,CAACF,KAAK,CAACC,UAAU,CAAC;aACzC,CAAC;SACH,CAAC;QACFE,cAAc,EAAEL,CAAAA,IAAmB,GAAnBA,IAAI,CAACK,cAAc,SAAK,GAAxBL,KAAAA,CAAwB,GAAxBA,IAAmB,CAAEC,GAAG,CAAC,CAACC,KAAK,GAAK;YAClD,OAAO;gBACL,GAAGA,KAAK;gBACRC,UAAU,EAAE,IAAIC,MAAM,CAACF,KAAK,CAACC,UAAU,CAAC;aACzC,CAAC;SACH,CAAC;KACH,CAAC;CACH"}
1
+ {"version":3,"sources":["../../../../../src/start/server/metro/fetchRouterManifest.ts"],"sourcesContent":["/**\n * Copyright © 2022 650 Industries.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport resolveFrom from 'resolve-from';\n\nimport { getRoutePaths } from './router';\n\nexport type ExpoRouterServerManifestV1Route<TRegex = string> = {\n file: string;\n page: string;\n routeKeys: Record<string, string>;\n namedRegex: TRegex;\n generated?: boolean;\n};\n\nexport type ExpoRouterServerManifestV1<TRegex = string> = {\n apiRoutes: ExpoRouterServerManifestV1Route<TRegex>[];\n htmlRoutes: ExpoRouterServerManifestV1Route<TRegex>[];\n notFoundRoutes: ExpoRouterServerManifestV1Route<TRegex>[];\n};\n\nfunction getExpoRouteManifestBuilderAsync(projectRoot: string) {\n return require(resolveFrom(projectRoot, 'expo-router/build/routes-manifest'))\n .createRoutesManifest as typeof import('expo-router/build/routes-manifest').createRoutesManifest;\n}\n\n// TODO: Simplify this now that we use Node.js directly, no need for the Metro bundler caching layer.\nexport async function fetchManifest<TRegex = string>(\n projectRoot: string,\n options: { asJson?: boolean; appDir: string }\n): Promise<ExpoRouterServerManifestV1<TRegex> | null> {\n const getManifest = getExpoRouteManifestBuilderAsync(projectRoot);\n const paths = getRoutePaths(options.appDir);\n // Get the serialized manifest\n const jsonManifest = getManifest(paths);\n\n if (!jsonManifest) {\n return null;\n }\n\n if (!jsonManifest.htmlRoutes || !jsonManifest.apiRoutes) {\n throw new Error('Routes manifest is malformed: ' + JSON.stringify(jsonManifest, null, 2));\n }\n\n if (!options.asJson) {\n // @ts-expect-error\n return inflateManifest(jsonManifest);\n }\n // @ts-expect-error\n return jsonManifest;\n}\n\n// Convert the serialized manifest to a usable format\nexport function inflateManifest(\n json: ExpoRouterServerManifestV1<string>\n): ExpoRouterServerManifestV1<RegExp> {\n return {\n ...json,\n htmlRoutes: json.htmlRoutes?.map((value) => {\n return {\n ...value,\n namedRegex: new RegExp(value.namedRegex),\n };\n }),\n apiRoutes: json.apiRoutes?.map((value) => {\n return {\n ...value,\n namedRegex: new RegExp(value.namedRegex),\n };\n }),\n notFoundRoutes: json.notFoundRoutes?.map((value) => {\n return {\n ...value,\n namedRegex: new RegExp(value.namedRegex),\n };\n }),\n };\n}\n"],"names":["fetchManifest","inflateManifest","getExpoRouteManifestBuilderAsync","projectRoot","require","resolveFrom","createRoutesManifest","options","getManifest","paths","getRoutePaths","appDir","jsonManifest","htmlRoutes","apiRoutes","Error","JSON","stringify","asJson","json","map","value","namedRegex","RegExp","notFoundRoutes"],"mappings":"AAAA;;;;;CAKC,GACD;;;;;;;;;;;IAwBsBA,aAAa,MAAbA,aAAa;IA0BnBC,eAAe,MAAfA,eAAe;;;8DAlDP,cAAc;;;;;;wBAER,UAAU;;;;;;AAgBxC,SAASC,gCAAgC,CAACC,WAAmB,EAAE;IAC7D,OAAOC,OAAO,CAACC,IAAAA,YAAW,EAAA,QAAA,EAACF,WAAW,EAAE,mCAAmC,CAAC,CAAC,CAC1EG,oBAAoB,CAA4E;AACrG,CAAC;AAGM,eAAeN,aAAa,CACjCG,WAAmB,EACnBI,OAA6C,EACO;IACpD,MAAMC,WAAW,GAAGN,gCAAgC,CAACC,WAAW,CAAC,AAAC;IAClE,MAAMM,KAAK,GAAGC,IAAAA,OAAa,cAAA,EAACH,OAAO,CAACI,MAAM,CAAC,AAAC;IAC5C,8BAA8B;IAC9B,MAAMC,YAAY,GAAGJ,WAAW,CAACC,KAAK,CAAC,AAAC;IAExC,IAAI,CAACG,YAAY,EAAE;QACjB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAACA,YAAY,CAACC,UAAU,IAAI,CAACD,YAAY,CAACE,SAAS,EAAE;QACvD,MAAM,IAAIC,KAAK,CAAC,gCAAgC,GAAGC,IAAI,CAACC,SAAS,CAACL,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC5F,CAAC;IAED,IAAI,CAACL,OAAO,CAACW,MAAM,EAAE;QACnB,mBAAmB;QACnB,OAAOjB,eAAe,CAACW,YAAY,CAAC,CAAC;IACvC,CAAC;IACD,mBAAmB;IACnB,OAAOA,YAAY,CAAC;AACtB,CAAC;AAGM,SAASX,eAAe,CAC7BkB,IAAwC,EACJ;QAGtBA,GAAe,EAMhBA,IAAc,EAMTA,IAAmB;IAdrC,OAAO;QACL,GAAGA,IAAI;QACPN,UAAU,EAAEM,CAAAA,GAAe,GAAfA,IAAI,CAACN,UAAU,SAAK,GAApBM,KAAAA,CAAoB,GAApBA,GAAe,CAAEC,GAAG,CAAC,CAACC,KAAK,GAAK;YAC1C,OAAO;gBACL,GAAGA,KAAK;gBACRC,UAAU,EAAE,IAAIC,MAAM,CAACF,KAAK,CAACC,UAAU,CAAC;aACzC,CAAC;QACJ,CAAC,CAAC;QACFR,SAAS,EAAEK,CAAAA,IAAc,GAAdA,IAAI,CAACL,SAAS,SAAK,GAAnBK,KAAAA,CAAmB,GAAnBA,IAAc,CAAEC,GAAG,CAAC,CAACC,KAAK,GAAK;YACxC,OAAO;gBACL,GAAGA,KAAK;gBACRC,UAAU,EAAE,IAAIC,MAAM,CAACF,KAAK,CAACC,UAAU,CAAC;aACzC,CAAC;QACJ,CAAC,CAAC;QACFE,cAAc,EAAEL,CAAAA,IAAmB,GAAnBA,IAAI,CAACK,cAAc,SAAK,GAAxBL,KAAAA,CAAwB,GAAxBA,IAAmB,CAAEC,GAAG,CAAC,CAACC,KAAK,GAAK;YAClD,OAAO;gBACL,GAAGA,KAAK;gBACRC,UAAU,EAAE,IAAIC,MAAM,CAACF,KAAK,CAACC,UAAU,CAAC;aACzC,CAAC;QACJ,CAAC,CAAC;KACH,CAAC;AACJ,CAAC"}
@@ -1,9 +1,26 @@
1
- "use strict";
1
+ /**
2
+ * Copyright © 2022 650 Industries.
3
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
4
+ *
5
+ * This source code is licensed under the MIT license found in the
6
+ * LICENSE file in the root directory of this source tree.
7
+ *
8
+ * A fork of my proposed Metro change https://github.com/facebook/metro/pull/1036/files
9
+ */ "use strict";
2
10
  Object.defineProperty(exports, "__esModule", {
3
11
  value: true
4
12
  });
5
- exports.formatFileCandidates = formatFileCandidates;
6
- var _path = _interopRequireDefault(require("path"));
13
+ Object.defineProperty(exports, "formatFileCandidates", {
14
+ enumerable: true,
15
+ get: ()=>formatFileCandidates
16
+ });
17
+ function _path() {
18
+ const data = /*#__PURE__*/ _interopRequireDefault(require("path"));
19
+ _path = function() {
20
+ return data;
21
+ };
22
+ return data;
23
+ }
7
24
  function _interopRequireDefault(obj) {
8
25
  return obj && obj.__esModule ? obj : {
9
26
  default: obj
@@ -11,16 +28,13 @@ function _interopRequireDefault(obj) {
11
28
  }
12
29
  function groupExtensions(exts) {
13
30
  // Reverse the extensions and split into parts
14
- const extParts = exts.map((ext)=>ext.split(".").reverse()
15
- );
31
+ const extParts = exts.map((ext)=>ext.split(".").reverse());
16
32
  // Find the maximum depth of extension parts
17
- const maxDepth = Math.max(...extParts.map((parts)=>parts.length
18
- ));
33
+ const maxDepth = Math.max(...extParts.map((parts)=>parts.length));
19
34
  // Initialize groups based on the max depth
20
35
  const groups = Array.from({
21
36
  length: maxDepth
22
- }, ()=>new Set()
23
- );
37
+ }, ()=>new Set());
24
38
  extParts.forEach((parts)=>{
25
39
  parts.forEach((part, i)=>{
26
40
  // Add parts to the corresponding group based on their depth
@@ -33,14 +47,12 @@ function groupExtensions(exts) {
33
47
  // NOTE: This doesn't support extensions like `.native.native.js`
34
48
  groups.forEach((otherGroup, otherIndex)=>{
35
49
  if (index < otherIndex) {
36
- otherGroup.forEach((part)=>group.delete(part)
37
- );
50
+ otherGroup.forEach((part)=>group.delete(part));
38
51
  }
39
52
  });
40
53
  });
41
54
  // Convert sets back to arrays and reverse groups to correct order
42
- return groups.map((group)=>Array.from(group)
43
- ).reverse();
55
+ return groups.map((group)=>Array.from(group)).reverse();
44
56
  }
45
57
  function createMatcherPatternForExtensions(exts) {
46
58
  let formatted = "";
@@ -48,8 +60,7 @@ function createMatcherPatternForExtensions(exts) {
48
60
  // Apply grouping function
49
61
  const groups = groupExtensions(exts);
50
62
  formatted += groups.map((group, index)=>{
51
- return index < groups.length - 1 ? `(${group.map((ext)=>`.${ext}`
52
- ).join("|")})?` : `.(${group.join("|")})`;
63
+ return index < groups.length - 1 ? `(${group.map((ext)=>`.${ext}`).join("|")})?` : `.(${group.join("|")})`;
53
64
  }).join("");
54
65
  }
55
66
  return formatted;
@@ -60,11 +71,10 @@ function formatFileCandidates(candidates, allowIndex = false) {
60
71
  }
61
72
  let formatted = candidates.filePathPrefix;
62
73
  if (allowIndex) {
63
- formatted += `(${_path.default.sep}index)?`;
74
+ formatted += `(${_path().default.sep}index)?`;
64
75
  }
65
76
  const extensions = candidates.candidateExts// Drop additional dots, the first character if it is a dot, and remove empty strings.
66
- .map((ext)=>ext.replace(/\.+/g, ".").replace(/^\./g, "")
67
- ).filter(Boolean);
77
+ .map((ext)=>ext.replace(/\.+/g, ".").replace(/^\./g, "")).filter(Boolean);
68
78
  formatted += createMatcherPatternForExtensions(extensions);
69
79
  return formatted;
70
80
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/start/server/metro/formatFileCandidates.ts"],"sourcesContent":["/**\n * Copyright © 2022 650 Industries.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * A fork of my proposed Metro change https://github.com/facebook/metro/pull/1036/files\n */\n\nimport type { FileCandidates } from 'metro-resolver';\nimport path from 'path';\n\nfunction groupExtensions(exts: readonly string[]): string[][] {\n // Reverse the extensions and split into parts\n const extParts = exts.map((ext) => ext.split('.').reverse());\n\n // Find the maximum depth of extension parts\n const maxDepth = Math.max(...extParts.map((parts) => parts.length));\n\n // Initialize groups based on the max depth\n const groups = Array.from({ length: maxDepth }, () => new Set<string>());\n\n extParts.forEach((parts) => {\n parts.forEach((part, i) => {\n // Add parts to the corresponding group based on their depth\n groups[i].add(part);\n });\n });\n\n // Cycle groups and remove duplicates that appear forwards\n groups.forEach((group, index) => {\n // Remove duplicates that appear forwards\n // NOTE: This doesn't support extensions like `.native.native.js`\n groups.forEach((otherGroup, otherIndex) => {\n if (index < otherIndex) {\n otherGroup.forEach((part) => group.delete(part));\n }\n });\n });\n\n // Convert sets back to arrays and reverse groups to correct order\n return groups.map((group) => Array.from(group)).reverse();\n}\n\nfunction createMatcherPatternForExtensions(exts: readonly string[]): string {\n let formatted = '';\n\n if (exts.length) {\n // Apply grouping function\n const groups = groupExtensions(exts);\n\n formatted += groups\n .map((group, index) => {\n return index < groups.length - 1\n ? `(${group.map((ext) => `.${ext}`).join('|')})?`\n : `.(${group.join('|')})`;\n })\n .join('');\n }\n\n return formatted;\n}\n\nexport function formatFileCandidates(\n candidates: FileCandidates,\n allowIndex: boolean = false\n): string {\n if (candidates.type === 'asset') {\n return candidates.name;\n }\n\n let formatted = candidates.filePathPrefix;\n\n if (allowIndex) {\n formatted += `(${path.sep}index)?`;\n }\n\n const extensions = candidates.candidateExts\n // Drop additional dots, the first character if it is a dot, and remove empty strings.\n .map((ext) => ext.replace(/\\.+/g, '.').replace(/^\\./g, ''))\n .filter(Boolean);\n\n formatted += createMatcherPatternForExtensions(extensions);\n\n return formatted;\n}\n"],"names":["formatFileCandidates","groupExtensions","exts","extParts","map","ext","split","reverse","maxDepth","Math","max","parts","length","groups","Array","from","Set","forEach","part","i","add","group","index","otherGroup","otherIndex","delete","createMatcherPatternForExtensions","formatted","join","candidates","allowIndex","type","name","filePathPrefix","path","sep","extensions","candidateExts","replace","filter","Boolean"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../../src/start/server/metro/formatFileCandidates.ts"],"sourcesContent":["/**\n * Copyright © 2022 650 Industries.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * A fork of my proposed Metro change https://github.com/facebook/metro/pull/1036/files\n */\n\nimport type { FileCandidates } from 'metro-resolver';\nimport path from 'path';\n\nfunction groupExtensions(exts: readonly string[]): string[][] {\n // Reverse the extensions and split into parts\n const extParts = exts.map((ext) => ext.split('.').reverse());\n\n // Find the maximum depth of extension parts\n const maxDepth = Math.max(...extParts.map((parts) => parts.length));\n\n // Initialize groups based on the max depth\n const groups = Array.from({ length: maxDepth }, () => new Set<string>());\n\n extParts.forEach((parts) => {\n parts.forEach((part, i) => {\n // Add parts to the corresponding group based on their depth\n groups[i].add(part);\n });\n });\n\n // Cycle groups and remove duplicates that appear forwards\n groups.forEach((group, index) => {\n // Remove duplicates that appear forwards\n // NOTE: This doesn't support extensions like `.native.native.js`\n groups.forEach((otherGroup, otherIndex) => {\n if (index < otherIndex) {\n otherGroup.forEach((part) => group.delete(part));\n }\n });\n });\n\n // Convert sets back to arrays and reverse groups to correct order\n return groups.map((group) => Array.from(group)).reverse();\n}\n\nfunction createMatcherPatternForExtensions(exts: readonly string[]): string {\n let formatted = '';\n\n if (exts.length) {\n // Apply grouping function\n const groups = groupExtensions(exts);\n\n formatted += groups\n .map((group, index) => {\n return index < groups.length - 1\n ? `(${group.map((ext) => `.${ext}`).join('|')})?`\n : `.(${group.join('|')})`;\n })\n .join('');\n }\n\n return formatted;\n}\n\nexport function formatFileCandidates(\n candidates: FileCandidates,\n allowIndex: boolean = false\n): string {\n if (candidates.type === 'asset') {\n return candidates.name;\n }\n\n let formatted = candidates.filePathPrefix;\n\n if (allowIndex) {\n formatted += `(${path.sep}index)?`;\n }\n\n const extensions = candidates.candidateExts\n // Drop additional dots, the first character if it is a dot, and remove empty strings.\n .map((ext) => ext.replace(/\\.+/g, '.').replace(/^\\./g, ''))\n .filter(Boolean);\n\n formatted += createMatcherPatternForExtensions(extensions);\n\n return formatted;\n}\n"],"names":["formatFileCandidates","groupExtensions","exts","extParts","map","ext","split","reverse","maxDepth","Math","max","parts","length","groups","Array","from","Set","forEach","part","i","add","group","index","otherGroup","otherIndex","delete","createMatcherPatternForExtensions","formatted","join","candidates","allowIndex","type","name","filePathPrefix","path","sep","extensions","candidateExts","replace","filter","Boolean"],"mappings":"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"}
@@ -2,12 +2,44 @@
2
2
  Object.defineProperty(exports, "__esModule", {
3
3
  value: true
4
4
  });
5
- exports.getCssModulesFromBundler = getCssModulesFromBundler;
6
- exports.getFileName = getFileName;
7
- var _crypto = _interopRequireDefault(require("crypto"));
8
- var _js = require("metro/src/DeltaBundler/Serializers/helpers/js");
9
- var _splitBundleOptions = _interopRequireDefault(require("metro/src/lib/splitBundleOptions"));
10
- var _path = _interopRequireDefault(require("path"));
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
+ getCssModulesFromBundler: ()=>getCssModulesFromBundler,
13
+ getFileName: ()=>getFileName
14
+ });
15
+ function _crypto() {
16
+ const data = /*#__PURE__*/ _interopRequireDefault(require("crypto"));
17
+ _crypto = function() {
18
+ return data;
19
+ };
20
+ return data;
21
+ }
22
+ function _js() {
23
+ const data = require("metro/src/DeltaBundler/Serializers/helpers/js");
24
+ _js = function() {
25
+ return data;
26
+ };
27
+ return data;
28
+ }
29
+ function _splitBundleOptions() {
30
+ const data = /*#__PURE__*/ _interopRequireDefault(require("metro/src/lib/splitBundleOptions"));
31
+ _splitBundleOptions = function() {
32
+ return data;
33
+ };
34
+ return data;
35
+ }
36
+ function _path() {
37
+ const data = /*#__PURE__*/ _interopRequireDefault(require("path"));
38
+ _path = function() {
39
+ return data;
40
+ };
41
+ return data;
42
+ }
11
43
  function _interopRequireDefault(obj) {
12
44
  return obj && obj.__esModule ? obj : {
13
45
  default: obj
@@ -20,7 +52,7 @@ async function getCssModulesFromBundler(config, incrementalBundler, options) {
20
52
  if (options.platform !== "web") {
21
53
  return [];
22
54
  }
23
- const { entryFile , onProgress , resolverOptions , transformOptions } = (0, _splitBundleOptions).default(options);
55
+ const { entryFile , onProgress , resolverOptions , transformOptions } = (0, _splitBundleOptions().default)(options);
24
56
  const dependencies = await incrementalBundler.getDependencies([
25
57
  entryFile
26
58
  ], transformOptions, resolverOptions, {
@@ -37,20 +69,20 @@ async function getCssModulesFromBundler(config, incrementalBundler, options) {
37
69
  });
38
70
  }
39
71
  function hashString(str) {
40
- return _crypto.default.createHash("md5").update(str).digest("hex");
72
+ return _crypto().default.createHash("md5").update(str).digest("hex");
41
73
  }
42
74
  function getCssModules(dependencies, { processModuleFilter , projectRoot }) {
43
75
  const promises = [];
44
76
  for (const module of dependencies.values()){
45
- if ((0, _js).isJsModule(module) && processModuleFilter(module) && (0, _js).getJsOutput(module).type === "js/module" && _path.default.relative(projectRoot, module.path) !== "package.json") {
77
+ if ((0, _js().isJsModule)(module) && processModuleFilter(module) && (0, _js().getJsOutput)(module).type === "js/module" && _path().default.relative(projectRoot, module.path) !== "package.json") {
46
78
  const cssMetadata = getCssMetadata(module);
47
79
  if (cssMetadata) {
48
80
  const contents = cssMetadata.code;
49
- const filename = _path.default.join(// Consistent location
81
+ const filename = _path().default.join(// Consistent location
50
82
  STATIC_EXPORT_DIRECTORY, // Hashed file contents + name for caching
51
83
  getFileName(module.path) + "-" + hashString(module.path + contents) + ".css");
52
84
  promises.push({
53
- originFilename: _path.default.relative(projectRoot, module.path),
85
+ originFilename: _path().default.relative(projectRoot, module.path),
54
86
  filename,
55
87
  source: contents
56
88
  });
@@ -71,7 +103,7 @@ function getCssMetadata(module) {
71
103
  return null;
72
104
  }
73
105
  function getFileName(module) {
74
- return _path.default.basename(module).replace(/\.[^.]+$/, "");
106
+ return _path().default.basename(module).replace(/\.[^.]+$/, "");
75
107
  }
76
108
 
77
109
  //# sourceMappingURL=getCssModulesFromBundler.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/start/server/metro/getCssModulesFromBundler.ts"],"sourcesContent":["import { MetroConfig } from '@expo/metro-config';\nimport crypto from 'crypto';\nimport type { Module } from 'metro';\nimport { getJsOutput, isJsModule } from 'metro/src/DeltaBundler/Serializers/helpers/js';\nimport type { ReadOnlyDependencies } from 'metro/src/DeltaBundler/types';\nimport type IncrementalBundler from 'metro/src/IncrementalBundler';\nimport splitBundleOptions from 'metro/src/lib/splitBundleOptions';\nimport path from 'path';\n\ntype Options = {\n processModuleFilter: (modules: Module) => boolean;\n assetPlugins: readonly string[];\n platform?: string | null;\n projectRoot: string;\n publicPath: string;\n};\n\ntype MetroModuleCSSMetadata = {\n code: string;\n lineCount: number;\n map: any[];\n};\n\nexport type CSSAsset = {\n // 'styles.css'\n originFilename: string;\n // '_expo/static/css/bc6aa0a69dcebf8e8cac1faa76705756.css'\n filename: string;\n // '\\ndiv {\\n background: cyan;\\n}\\n\\n'\n source: string;\n};\n\n// s = static\nconst STATIC_EXPORT_DIRECTORY = '_expo/static/css';\n\n/** @returns the static CSS assets used in a given bundle. CSS assets are only enabled if the `@expo/metro-config` `transformerPath` is used. */\nexport async function getCssModulesFromBundler(\n config: MetroConfig,\n incrementalBundler: IncrementalBundler,\n options: any\n): Promise<CSSAsset[]> {\n // Static CSS is a web-only feature.\n if (options.platform !== 'web') {\n return [];\n }\n\n const { entryFile, onProgress, resolverOptions, transformOptions } = splitBundleOptions(options);\n\n const dependencies = await incrementalBundler.getDependencies(\n [entryFile],\n transformOptions,\n resolverOptions,\n { onProgress, shallow: false }\n );\n\n return getCssModules(dependencies, {\n processModuleFilter: config.serializer.processModuleFilter,\n assetPlugins: config.transformer.assetPlugins,\n platform: transformOptions.platform,\n projectRoot: config.server.unstable_serverRoot ?? config.projectRoot,\n publicPath: config.transformer.publicPath,\n });\n}\n\nfunction hashString(str: string) {\n return crypto.createHash('md5').update(str).digest('hex');\n}\n\nfunction getCssModules(\n dependencies: ReadOnlyDependencies,\n { processModuleFilter, projectRoot }: Options\n) {\n const promises = [];\n\n for (const module of dependencies.values()) {\n if (\n isJsModule(module) &&\n processModuleFilter(module) &&\n getJsOutput(module).type === 'js/module' &&\n path.relative(projectRoot, module.path) !== 'package.json'\n ) {\n const cssMetadata = getCssMetadata(module);\n if (cssMetadata) {\n const contents = cssMetadata.code;\n const filename = path.join(\n // Consistent location\n STATIC_EXPORT_DIRECTORY,\n // Hashed file contents + name for caching\n getFileName(module.path) + '-' + hashString(module.path + contents) + '.css'\n );\n promises.push({\n originFilename: path.relative(projectRoot, module.path),\n filename,\n source: contents,\n });\n }\n }\n }\n\n return promises;\n}\n\nfunction getCssMetadata(module: Module): MetroModuleCSSMetadata | null {\n const data = module.output[0]?.data;\n if (data && typeof data === 'object' && 'css' in data) {\n if (typeof data.css !== 'object' || !('code' in (data as any).css)) {\n throw new Error(\n `Unexpected CSS metadata in Metro module (${module.path}): ${JSON.stringify(data.css)}`\n );\n }\n return data.css as MetroModuleCSSMetadata;\n }\n return null;\n}\n\nexport function getFileName(module: string) {\n return path.basename(module).replace(/\\.[^.]+$/, '');\n}\n"],"names":["getCssModulesFromBundler","getFileName","STATIC_EXPORT_DIRECTORY","config","incrementalBundler","options","platform","entryFile","onProgress","resolverOptions","transformOptions","splitBundleOptions","dependencies","getDependencies","shallow","getCssModules","processModuleFilter","serializer","assetPlugins","transformer","projectRoot","server","unstable_serverRoot","publicPath","hashString","str","crypto","createHash","update","digest","promises","module","values","isJsModule","getJsOutput","type","path","relative","cssMetadata","getCssMetadata","contents","code","filename","join","push","originFilename","source","data","output","css","Error","JSON","stringify","basename","replace"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../../src/start/server/metro/getCssModulesFromBundler.ts"],"sourcesContent":["import { MetroConfig } from '@expo/metro-config';\nimport crypto from 'crypto';\nimport type { Module } from 'metro';\nimport { getJsOutput, isJsModule } from 'metro/src/DeltaBundler/Serializers/helpers/js';\nimport type { ReadOnlyDependencies } from 'metro/src/DeltaBundler/types';\nimport type IncrementalBundler from 'metro/src/IncrementalBundler';\nimport splitBundleOptions from 'metro/src/lib/splitBundleOptions';\nimport path from 'path';\n\ntype Options = {\n processModuleFilter: (modules: Module) => boolean;\n assetPlugins: readonly string[];\n platform?: string | null;\n projectRoot: string;\n publicPath: string;\n};\n\ntype MetroModuleCSSMetadata = {\n code: string;\n lineCount: number;\n map: any[];\n};\n\nexport type CSSAsset = {\n // 'styles.css'\n originFilename: string;\n // '_expo/static/css/bc6aa0a69dcebf8e8cac1faa76705756.css'\n filename: string;\n // '\\ndiv {\\n background: cyan;\\n}\\n\\n'\n source: string;\n};\n\n// s = static\nconst STATIC_EXPORT_DIRECTORY = '_expo/static/css';\n\n/** @returns the static CSS assets used in a given bundle. CSS assets are only enabled if the `@expo/metro-config` `transformerPath` is used. */\nexport async function getCssModulesFromBundler(\n config: MetroConfig,\n incrementalBundler: IncrementalBundler,\n options: any\n): Promise<CSSAsset[]> {\n // Static CSS is a web-only feature.\n if (options.platform !== 'web') {\n return [];\n }\n\n const { entryFile, onProgress, resolverOptions, transformOptions } = splitBundleOptions(options);\n\n const dependencies = await incrementalBundler.getDependencies(\n [entryFile],\n transformOptions,\n resolverOptions,\n { onProgress, shallow: false }\n );\n\n return getCssModules(dependencies, {\n processModuleFilter: config.serializer.processModuleFilter,\n assetPlugins: config.transformer.assetPlugins,\n platform: transformOptions.platform,\n projectRoot: config.server.unstable_serverRoot ?? config.projectRoot,\n publicPath: config.transformer.publicPath,\n });\n}\n\nfunction hashString(str: string) {\n return crypto.createHash('md5').update(str).digest('hex');\n}\n\nfunction getCssModules(\n dependencies: ReadOnlyDependencies,\n { processModuleFilter, projectRoot }: Options\n) {\n const promises = [];\n\n for (const module of dependencies.values()) {\n if (\n isJsModule(module) &&\n processModuleFilter(module) &&\n getJsOutput(module).type === 'js/module' &&\n path.relative(projectRoot, module.path) !== 'package.json'\n ) {\n const cssMetadata = getCssMetadata(module);\n if (cssMetadata) {\n const contents = cssMetadata.code;\n const filename = path.join(\n // Consistent location\n STATIC_EXPORT_DIRECTORY,\n // Hashed file contents + name for caching\n getFileName(module.path) + '-' + hashString(module.path + contents) + '.css'\n );\n promises.push({\n originFilename: path.relative(projectRoot, module.path),\n filename,\n source: contents,\n });\n }\n }\n }\n\n return promises;\n}\n\nfunction getCssMetadata(module: Module): MetroModuleCSSMetadata | null {\n const data = module.output[0]?.data;\n if (data && typeof data === 'object' && 'css' in data) {\n if (typeof data.css !== 'object' || !('code' in (data as any).css)) {\n throw new Error(\n `Unexpected CSS metadata in Metro module (${module.path}): ${JSON.stringify(data.css)}`\n );\n }\n return data.css as MetroModuleCSSMetadata;\n }\n return null;\n}\n\nexport function getFileName(module: string) {\n return path.basename(module).replace(/\\.[^.]+$/, '');\n}\n"],"names":["getCssModulesFromBundler","getFileName","STATIC_EXPORT_DIRECTORY","config","incrementalBundler","options","platform","entryFile","onProgress","resolverOptions","transformOptions","splitBundleOptions","dependencies","getDependencies","shallow","getCssModules","processModuleFilter","serializer","assetPlugins","transformer","projectRoot","server","unstable_serverRoot","publicPath","hashString","str","crypto","createHash","update","digest","promises","module","values","isJsModule","getJsOutput","type","path","relative","cssMetadata","getCssMetadata","contents","code","filename","join","push","originFilename","source","data","output","css","Error","JSON","stringify","basename","replace"],"mappings":"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"}