@expo/cli 1.0.0-canary-20250320-7a205d3 → 1.0.0-canary-20250402-161f57b
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.
- package/build/bin/cli +93 -91
- package/build/bin/cli.map +1 -1
- package/build/metro-require/require.js +53 -52
- package/build/src/api/endpoint.js +6 -2
- package/build/src/api/endpoint.js.map +1 -1
- package/build/src/api/getExpoGoIntermediateCertificate.js +5 -3
- package/build/src/api/getExpoGoIntermediateCertificate.js.map +1 -1
- package/build/src/api/getExpoSchema.js +16 -12
- package/build/src/api/getExpoSchema.js.map +1 -1
- package/build/src/api/getNativeModuleVersions.js +6 -4
- package/build/src/api/getNativeModuleVersions.js.map +1 -1
- package/build/src/api/getProjectDevelopmentCertificate.js +5 -3
- package/build/src/api/getProjectDevelopmentCertificate.js.map +1 -1
- package/build/src/api/getVersions.js +7 -5
- package/build/src/api/getVersions.js.map +1 -1
- package/build/src/api/graphql/client.js +32 -26
- package/build/src/api/graphql/client.js.map +1 -1
- package/build/src/api/graphql/queries/AppQuery.js +6 -4
- package/build/src/api/graphql/queries/AppQuery.js.map +1 -1
- package/build/src/api/graphql/queries/UserQuery.js +5 -3
- package/build/src/api/graphql/queries/UserQuery.js.map +1 -1
- package/build/src/api/graphql/types/App.js +3 -1
- package/build/src/api/graphql/types/App.js.map +1 -1
- package/build/src/api/rest/cache/FileSystemResponseCache.js +36 -32
- package/build/src/api/rest/cache/FileSystemResponseCache.js.map +1 -1
- package/build/src/api/rest/cache/ResponseCache.js +20 -12
- package/build/src/api/rest/cache/ResponseCache.js.map +1 -1
- package/build/src/api/rest/cache/wrapFetchWithCache.js +13 -11
- package/build/src/api/rest/cache/wrapFetchWithCache.js.map +1 -1
- package/build/src/api/rest/client.js +55 -37
- package/build/src/api/rest/client.js.map +1 -1
- package/build/src/api/rest/client.types.js.map +1 -1
- package/build/src/api/rest/wrapFetchWithBaseUrl.js +5 -3
- package/build/src/api/rest/wrapFetchWithBaseUrl.js.map +1 -1
- package/build/src/api/rest/wrapFetchWithOffline.js +5 -3
- package/build/src/api/rest/wrapFetchWithOffline.js.map +1 -1
- package/build/src/api/rest/wrapFetchWithProgress.js +11 -7
- package/build/src/api/rest/wrapFetchWithProgress.js.map +1 -1
- package/build/src/api/rest/wrapFetchWithProxy.js +5 -3
- package/build/src/api/rest/wrapFetchWithProxy.js.map +1 -1
- package/build/src/api/rest/wrapFetchWithUserAgent.js +8 -6
- package/build/src/api/rest/wrapFetchWithUserAgent.js.map +1 -1
- package/build/src/api/settings.js +7 -5
- package/build/src/api/settings.js.map +1 -1
- package/build/src/api/updateDevelopmentSession.js +23 -17
- package/build/src/api/updateDevelopmentSession.js.map +1 -1
- package/build/src/api/user/UserSettings.js +53 -31
- package/build/src/api/user/UserSettings.js.map +1 -1
- package/build/src/api/user/actions.js +27 -21
- package/build/src/api/user/actions.js.map +1 -1
- package/build/src/api/user/expoSsoLauncher.js +30 -26
- package/build/src/api/user/expoSsoLauncher.js.map +1 -1
- package/build/src/api/user/otp.js +35 -29
- package/build/src/api/user/otp.js.map +1 -1
- package/build/src/api/user/user.js +44 -30
- package/build/src/api/user/user.js.map +1 -1
- package/build/src/config/configAsync.js +29 -23
- package/build/src/config/configAsync.js.map +1 -1
- package/build/src/config/index.js +25 -21
- package/build/src/config/index.js.map +1 -1
- package/build/src/customize/customizeAsync.js +8 -6
- package/build/src/customize/customizeAsync.js.map +1 -1
- package/build/src/customize/generate.js +20 -16
- package/build/src/customize/generate.js.map +1 -1
- package/build/src/customize/index.js +14 -12
- package/build/src/customize/index.js.map +1 -1
- package/build/src/customize/resolveOptions.js +4 -2
- package/build/src/customize/resolveOptions.js.map +1 -1
- package/build/src/customize/templates.js +58 -54
- package/build/src/customize/templates.js.map +1 -1
- package/build/src/customize/typescript.js +11 -7
- package/build/src/customize/typescript.js.map +1 -1
- package/build/src/export/createMetadataJson.js +11 -9
- package/build/src/export/createMetadataJson.js.map +1 -1
- package/build/src/export/embed/exportEager.js +8 -6
- package/build/src/export/embed/exportEager.js.map +1 -1
- package/build/src/export/embed/exportEmbedAsync.js +72 -62
- package/build/src/export/embed/exportEmbedAsync.js.map +1 -1
- package/build/src/export/embed/exportServer.js +57 -55
- package/build/src/export/embed/exportServer.js.map +1 -1
- package/build/src/export/embed/index.js +44 -40
- package/build/src/export/embed/index.js.map +1 -1
- package/build/src/export/embed/resolveOptions.js +44 -36
- package/build/src/export/embed/resolveOptions.js.map +1 -1
- package/build/src/export/embed/xcodeCompilerLogger.js +39 -27
- package/build/src/export/embed/xcodeCompilerLogger.js.map +1 -1
- package/build/src/export/exportApp.js +68 -64
- package/build/src/export/exportApp.js.map +1 -1
- package/build/src/export/exportAssets.js +34 -26
- package/build/src/export/exportAssets.js.map +1 -1
- package/build/src/export/exportAsync.js +13 -9
- package/build/src/export/exportAsync.js.map +1 -1
- package/build/src/export/exportDomComponents.js +53 -45
- package/build/src/export/exportDomComponents.js.map +1 -1
- package/build/src/export/exportHermes.js +75 -53
- package/build/src/export/exportHermes.js.map +1 -1
- package/build/src/export/exportStaticAsync.js +73 -62
- package/build/src/export/exportStaticAsync.js.map +1 -1
- package/build/src/export/favicon.js +33 -27
- package/build/src/export/favicon.js.map +1 -1
- package/build/src/export/getPublicExpoManifest.js +7 -5
- package/build/src/export/getPublicExpoManifest.js.map +1 -1
- package/build/src/export/getResolvedLocales.js +11 -9
- package/build/src/export/getResolvedLocales.js.map +1 -1
- package/build/src/export/html.js +10 -6
- package/build/src/export/html.js.map +1 -1
- package/build/src/export/index.js +32 -28
- package/build/src/export/index.js.map +1 -1
- package/build/src/export/metroAssetLocalPath.js +36 -30
- package/build/src/export/metroAssetLocalPath.js.map +1 -1
- package/build/src/export/persistMetroAssets.js +64 -34
- package/build/src/export/persistMetroAssets.js.map +1 -1
- package/build/src/export/publicFolder.js +10 -6
- package/build/src/export/publicFolder.js.map +1 -1
- package/build/src/export/resolveOptions.js +28 -24
- package/build/src/export/resolveOptions.js.map +1 -1
- package/build/src/export/saveAssets.js +50 -46
- package/build/src/export/saveAssets.js.map +1 -1
- package/build/src/export/web/exportWebAsync.js +13 -11
- package/build/src/export/web/exportWebAsync.js.map +1 -1
- package/build/src/export/web/index.js +19 -15
- package/build/src/export/web/index.js.map +1 -1
- package/build/src/export/web/resolveOptions.js +5 -3
- package/build/src/export/web/resolveOptions.js.map +1 -1
- package/build/src/export/writeContents.js +4 -2
- package/build/src/export/writeContents.js.map +1 -1
- package/build/src/graphql/generated.js +705 -479
- package/build/src/graphql/generated.js.map +1 -1
- package/build/src/install/applyPlugins.js +11 -7
- package/build/src/install/applyPlugins.js.map +1 -1
- package/build/src/install/checkPackages.js +26 -22
- package/build/src/install/checkPackages.js.map +1 -1
- package/build/src/install/fixPackages.js +16 -12
- package/build/src/install/fixPackages.js.map +1 -1
- package/build/src/install/index.js +18 -16
- package/build/src/install/index.js.map +1 -1
- package/build/src/install/installAsync.js +32 -26
- package/build/src/install/installAsync.js.map +1 -1
- package/build/src/install/installExpoPackage.js +22 -18
- package/build/src/install/installExpoPackage.js.map +1 -1
- package/build/src/install/resolveOptions.js +21 -19
- package/build/src/install/resolveOptions.js.map +1 -1
- package/build/src/install/utils/autoAddConfigPlugins.js +18 -14
- package/build/src/install/utils/autoAddConfigPlugins.js.map +1 -1
- package/build/src/install/utils/checkPackagesCompatibility.js +14 -12
- package/build/src/install/utils/checkPackagesCompatibility.js.map +1 -1
- package/build/src/lint/ESlintPrerequisite.js +50 -44
- package/build/src/lint/ESlintPrerequisite.js.map +1 -1
- package/build/src/lint/index.js +12 -8
- package/build/src/lint/index.js.map +1 -1
- package/build/src/lint/lintAsync.js +10 -8
- package/build/src/lint/lintAsync.js.map +1 -1
- package/build/src/log.js +36 -16
- package/build/src/log.js.map +1 -1
- package/build/src/login/index.js +24 -20
- package/build/src/login/index.js.map +1 -1
- package/build/src/logout/index.js +11 -7
- package/build/src/logout/index.js.map +1 -1
- package/build/src/prebuild/clearNativeFolder.js +38 -26
- package/build/src/prebuild/clearNativeFolder.js.map +1 -1
- package/build/src/prebuild/configureProjectAsync.js +18 -14
- package/build/src/prebuild/configureProjectAsync.js.map +1 -1
- package/build/src/prebuild/copyTemplateFiles.js +17 -13
- package/build/src/prebuild/copyTemplateFiles.js.map +1 -1
- package/build/src/prebuild/ensureConfigAsync.js +6 -4
- package/build/src/prebuild/ensureConfigAsync.js.map +1 -1
- package/build/src/prebuild/index.js +36 -32
- package/build/src/prebuild/index.js.map +1 -1
- package/build/src/prebuild/prebuildAsync.js +29 -25
- package/build/src/prebuild/prebuildAsync.js.map +1 -1
- package/build/src/prebuild/renameTemplateAppName.js +43 -37
- package/build/src/prebuild/renameTemplateAppName.js.map +1 -1
- package/build/src/prebuild/resolveOptions.js +70 -53
- package/build/src/prebuild/resolveOptions.js.map +1 -1
- package/build/src/prebuild/resolveTemplate.js +36 -32
- package/build/src/prebuild/resolveTemplate.js.map +1 -1
- package/build/src/prebuild/updateFromTemplate.js +19 -13
- package/build/src/prebuild/updateFromTemplate.js.map +1 -1
- package/build/src/prebuild/updatePackageJson.js +53 -39
- package/build/src/prebuild/updatePackageJson.js.map +1 -1
- package/build/src/prebuild/validateTemplatePlatforms.js +12 -8
- package/build/src/prebuild/validateTemplatePlatforms.js.map +1 -1
- package/build/src/register/index.js +11 -7
- package/build/src/register/index.js.map +1 -1
- package/build/src/register/registerAsync.js +5 -3
- package/build/src/register/registerAsync.js.map +1 -1
- package/build/src/run/android/index.js +36 -32
- package/build/src/run/android/index.js.map +1 -1
- package/build/src/run/android/resolveDevice.js +10 -8
- package/build/src/run/android/resolveDevice.js.map +1 -1
- package/build/src/run/android/resolveGradlePropsAsync.js +18 -16
- package/build/src/run/android/resolveGradlePropsAsync.js.map +1 -1
- package/build/src/run/android/resolveInstallApkName.js +17 -15
- package/build/src/run/android/resolveInstallApkName.js.map +1 -1
- package/build/src/run/android/resolveLaunchProps.js +12 -10
- package/build/src/run/android/resolveLaunchProps.js.map +1 -1
- package/build/src/run/android/resolveOptions.js +4 -2
- package/build/src/run/android/resolveOptions.js.map +1 -1
- package/build/src/run/android/runAndroidAsync.js +23 -21
- package/build/src/run/android/runAndroidAsync.js.map +1 -1
- package/build/src/run/ensureNativeProject.js +7 -5
- package/build/src/run/ensureNativeProject.js.map +1 -1
- package/build/src/run/hints.js +13 -7
- package/build/src/run/hints.js.map +1 -1
- package/build/src/run/index.js +27 -23
- package/build/src/run/index.js.map +1 -1
- package/build/src/run/ios/XcodeBuild.js +80 -60
- package/build/src/run/ios/XcodeBuild.js.map +1 -1
- package/build/src/run/ios/XcodeBuild.types.js.map +1 -1
- package/build/src/run/ios/appleDevice/AppleDevice.js +69 -63
- package/build/src/run/ios/appleDevice/AppleDevice.js.map +1 -1
- package/build/src/run/ios/appleDevice/ClientManager.js +29 -26
- package/build/src/run/ios/appleDevice/ClientManager.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/AFCClient.js +28 -25
- package/build/src/run/ios/appleDevice/client/AFCClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/DebugserverClient.js +29 -26
- package/build/src/run/ios/appleDevice/client/DebugserverClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/InstallationProxyClient.js +22 -21
- package/build/src/run/ios/appleDevice/client/InstallationProxyClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/LockdowndClient.js +32 -29
- package/build/src/run/ios/appleDevice/client/LockdowndClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/MobileImageMounterClient.js +28 -24
- package/build/src/run/ios/appleDevice/client/MobileImageMounterClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/ServiceClient.js +7 -4
- package/build/src/run/ios/appleDevice/client/ServiceClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/UsbmuxdClient.js +28 -27
- package/build/src/run/ios/appleDevice/client/UsbmuxdClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/installOnDeviceAsync.js +23 -17
- package/build/src/run/ios/appleDevice/installOnDeviceAsync.js.map +1 -1
- package/build/src/run/ios/appleDevice/protocol/AFCProtocol.js +146 -132
- package/build/src/run/ios/appleDevice/protocol/AFCProtocol.js.map +1 -1
- package/build/src/run/ios/appleDevice/protocol/AbstractProtocol.js +29 -21
- package/build/src/run/ios/appleDevice/protocol/AbstractProtocol.js.map +1 -1
- package/build/src/run/ios/appleDevice/protocol/GDBProtocol.js +29 -21
- package/build/src/run/ios/appleDevice/protocol/GDBProtocol.js.map +1 -1
- package/build/src/run/ios/appleDevice/protocol/LockdownProtocol.js +34 -22
- package/build/src/run/ios/appleDevice/protocol/LockdownProtocol.js.map +1 -1
- package/build/src/run/ios/appleDevice/protocol/UsbmuxProtocol.js +27 -17
- package/build/src/run/ios/appleDevice/protocol/UsbmuxProtocol.js.map +1 -1
- package/build/src/run/ios/codeSigning/Security.js +53 -39
- package/build/src/run/ios/codeSigning/Security.js.map +1 -1
- package/build/src/run/ios/codeSigning/configureCodeSigning.js +13 -9
- package/build/src/run/ios/codeSigning/configureCodeSigning.js.map +1 -1
- package/build/src/run/ios/codeSigning/resolveCertificateSigningIdentity.js +27 -19
- package/build/src/run/ios/codeSigning/resolveCertificateSigningIdentity.js.map +1 -1
- package/build/src/run/ios/codeSigning/settings.js +9 -5
- package/build/src/run/ios/codeSigning/settings.js.map +1 -1
- package/build/src/run/ios/codeSigning/simulatorCodeSigning.js +14 -12
- package/build/src/run/ios/codeSigning/simulatorCodeSigning.js.map +1 -1
- package/build/src/run/ios/codeSigning/xcodeCodeSigning.js +27 -21
- package/build/src/run/ios/codeSigning/xcodeCodeSigning.js.map +1 -1
- package/build/src/run/ios/index.js +40 -36
- package/build/src/run/ios/index.js.map +1 -1
- package/build/src/run/ios/launchApp.js +23 -17
- package/build/src/run/ios/launchApp.js.map +1 -1
- package/build/src/run/ios/options/appleDestinations.js +38 -36
- package/build/src/run/ios/options/appleDestinations.js.map +1 -1
- package/build/src/run/ios/options/promptDevice.js +20 -16
- package/build/src/run/ios/options/promptDevice.js.map +1 -1
- package/build/src/run/ios/options/resolveDevice.js +30 -24
- package/build/src/run/ios/options/resolveDevice.js.map +1 -1
- package/build/src/run/ios/options/resolveNativeScheme.js +31 -23
- package/build/src/run/ios/options/resolveNativeScheme.js.map +1 -1
- package/build/src/run/ios/options/resolveOptions.js +7 -5
- package/build/src/run/ios/options/resolveOptions.js.map +1 -1
- package/build/src/run/ios/options/resolveXcodeProject.js +7 -5
- package/build/src/run/ios/options/resolveXcodeProject.js.map +1 -1
- package/build/src/run/ios/runIosAsync.js +48 -44
- package/build/src/run/ios/runIosAsync.js.map +1 -1
- package/build/src/run/ios/validateExternalBinary.js +24 -22
- package/build/src/run/ios/validateExternalBinary.js.map +1 -1
- package/build/src/run/resolveBundlerProps.js +4 -2
- package/build/src/run/resolveBundlerProps.js.map +1 -1
- package/build/src/run/startBundler.js +16 -12
- package/build/src/run/startBundler.js.map +1 -1
- package/build/src/serve/index.js +20 -16
- package/build/src/serve/index.js.map +1 -1
- package/build/src/serve/serveAsync.js +36 -32
- package/build/src/serve/serveAsync.js.map +1 -1
- package/build/src/start/detectDevClient.js +13 -9
- package/build/src/start/detectDevClient.js.map +1 -1
- package/build/src/start/doctor/Prerequisite.js +12 -7
- package/build/src/start/doctor/Prerequisite.js.map +1 -1
- package/build/src/start/doctor/SecurityBinPrerequisite.js +13 -11
- package/build/src/start/doctor/SecurityBinPrerequisite.js.map +1 -1
- package/build/src/start/doctor/apple/SimulatorAppPrerequisite.js +23 -19
- package/build/src/start/doctor/apple/SimulatorAppPrerequisite.js.map +1 -1
- package/build/src/start/doctor/apple/XcodeDeveloperDiskImagePrerequisite.js +23 -19
- package/build/src/start/doctor/apple/XcodeDeveloperDiskImagePrerequisite.js.map +1 -1
- package/build/src/start/doctor/apple/XcodePrerequisite.js +51 -45
- package/build/src/start/doctor/apple/XcodePrerequisite.js.map +1 -1
- package/build/src/start/doctor/apple/XcrunPrerequisite.js +18 -16
- package/build/src/start/doctor/apple/XcrunPrerequisite.js.map +1 -1
- package/build/src/start/doctor/dependencies/bundledNativeModules.js +23 -19
- package/build/src/start/doctor/dependencies/bundledNativeModules.js.map +1 -1
- package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js +31 -25
- package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js.map +1 -1
- package/build/src/start/doctor/dependencies/getMissingPackages.js +25 -17
- package/build/src/start/doctor/dependencies/getMissingPackages.js.map +1 -1
- package/build/src/start/doctor/dependencies/getVersionedPackages.js +40 -32
- package/build/src/start/doctor/dependencies/getVersionedPackages.js.map +1 -1
- package/build/src/start/doctor/dependencies/resolvePackages.js +32 -26
- package/build/src/start/doctor/dependencies/resolvePackages.js.map +1 -1
- package/build/src/start/doctor/dependencies/validateDependenciesVersions.js +41 -31
- package/build/src/start/doctor/dependencies/validateDependenciesVersions.js.map +1 -1
- package/build/src/start/doctor/ngrok/ExternalModule.js +34 -29
- package/build/src/start/doctor/ngrok/ExternalModule.js.map +1 -1
- package/build/src/start/doctor/ngrok/NgrokResolver.js +12 -8
- package/build/src/start/doctor/ngrok/NgrokResolver.js.map +1 -1
- package/build/src/start/doctor/typescript/TypeScriptProjectPrerequisite.js +32 -28
- package/build/src/start/doctor/typescript/TypeScriptProjectPrerequisite.js.map +1 -1
- package/build/src/start/doctor/typescript/updateTSConfig.js +23 -17
- package/build/src/start/doctor/typescript/updateTSConfig.js.map +1 -1
- package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js +33 -27
- package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js.map +1 -1
- package/build/src/start/index.js +46 -42
- package/build/src/start/index.js.map +1 -1
- package/build/src/start/interface/KeyPressHandler.js +18 -14
- package/build/src/start/interface/KeyPressHandler.js.map +1 -1
- package/build/src/start/interface/commandsTable.js +94 -80
- package/build/src/start/interface/commandsTable.js.map +1 -1
- package/build/src/start/interface/interactiveActions.js +44 -40
- package/build/src/start/interface/interactiveActions.js.map +1 -1
- package/build/src/start/interface/startInterface.js +65 -61
- package/build/src/start/interface/startInterface.js.map +1 -1
- package/build/src/start/platforms/AppIdResolver.js +6 -4
- package/build/src/start/platforms/AppIdResolver.js.map +1 -1
- package/build/src/start/platforms/DeviceManager.js +10 -6
- package/build/src/start/platforms/DeviceManager.js.map +1 -1
- package/build/src/start/platforms/ExpoGoInstaller.js +25 -20
- package/build/src/start/platforms/ExpoGoInstaller.js.map +1 -1
- package/build/src/start/platforms/PlatformManager.js +17 -15
- package/build/src/start/platforms/PlatformManager.js.map +1 -1
- package/build/src/start/platforms/android/ADBServer.js +39 -35
- package/build/src/start/platforms/android/ADBServer.js.map +1 -1
- package/build/src/start/platforms/android/AndroidAppIdResolver.js +18 -16
- package/build/src/start/platforms/android/AndroidAppIdResolver.js.map +1 -1
- package/build/src/start/platforms/android/AndroidDeviceManager.js +24 -20
- package/build/src/start/platforms/android/AndroidDeviceManager.js.map +1 -1
- package/build/src/start/platforms/android/AndroidPlatformManager.js +17 -17
- package/build/src/start/platforms/android/AndroidPlatformManager.js.map +1 -1
- package/build/src/start/platforms/android/AndroidSdk.js +11 -9
- package/build/src/start/platforms/android/AndroidSdk.js.map +1 -1
- package/build/src/start/platforms/android/activateWindow.js +26 -22
- package/build/src/start/platforms/android/activateWindow.js.map +1 -1
- package/build/src/start/platforms/android/adb.js +121 -83
- package/build/src/start/platforms/android/adb.js.map +1 -1
- package/build/src/start/platforms/android/adbReverse.js +20 -12
- package/build/src/start/platforms/android/adbReverse.js.map +1 -1
- package/build/src/start/platforms/android/emulator.js +36 -26
- package/build/src/start/platforms/android/emulator.js.map +1 -1
- package/build/src/start/platforms/android/getDevices.js +7 -5
- package/build/src/start/platforms/android/getDevices.js.map +1 -1
- package/build/src/start/platforms/android/gradle.js +36 -28
- package/build/src/start/platforms/android/gradle.js.map +1 -1
- package/build/src/start/platforms/android/promptAndroidDevice.js +19 -15
- package/build/src/start/platforms/android/promptAndroidDevice.js.map +1 -1
- package/build/src/start/platforms/ios/AppleAppIdResolver.js +21 -19
- package/build/src/start/platforms/ios/AppleAppIdResolver.js.map +1 -1
- package/build/src/start/platforms/ios/AppleDeviceManager.js +37 -31
- package/build/src/start/platforms/ios/AppleDeviceManager.js.map +1 -1
- package/build/src/start/platforms/ios/ApplePlatformManager.js +12 -12
- package/build/src/start/platforms/ios/ApplePlatformManager.js.map +1 -1
- package/build/src/start/platforms/ios/assertSystemRequirements.js +9 -7
- package/build/src/start/platforms/ios/assertSystemRequirements.js.map +1 -1
- package/build/src/start/platforms/ios/devicectl.js +88 -74
- package/build/src/start/platforms/ios/devicectl.js.map +1 -1
- package/build/src/start/platforms/ios/ensureSimulatorAppRunning.js +22 -18
- package/build/src/start/platforms/ios/ensureSimulatorAppRunning.js.map +1 -1
- package/build/src/start/platforms/ios/getBestSimulator.js +29 -19
- package/build/src/start/platforms/ios/getBestSimulator.js.map +1 -1
- package/build/src/start/platforms/ios/promptAppleDevice.js +14 -10
- package/build/src/start/platforms/ios/promptAppleDevice.js.map +1 -1
- package/build/src/start/platforms/ios/simctl.js +102 -74
- package/build/src/start/platforms/ios/simctl.js.map +1 -1
- package/build/src/start/platforms/ios/simctlLogging.js +57 -52
- package/build/src/start/platforms/ios/simctlLogging.js.map +1 -1
- package/build/src/start/platforms/ios/xcrun.js +22 -18
- package/build/src/start/platforms/ios/xcrun.js.map +1 -1
- package/build/src/start/project/devices.js +19 -9
- package/build/src/start/project/devices.js.map +1 -1
- package/build/src/start/project/dotExpo.js +15 -11
- package/build/src/start/project/dotExpo.js.map +1 -1
- package/build/src/start/project/settings.js +4 -2
- package/build/src/start/project/settings.js.map +1 -1
- package/build/src/start/resolveOptions.js +48 -40
- package/build/src/start/resolveOptions.js.map +1 -1
- package/build/src/start/server/AsyncNgrok.js +55 -51
- package/build/src/start/server/AsyncNgrok.js.map +1 -1
- package/build/src/start/server/AsyncWsTunnel.js +37 -33
- package/build/src/start/server/AsyncWsTunnel.js.map +1 -1
- package/build/src/start/server/BundlerDevServer.js +81 -79
- package/build/src/start/server/BundlerDevServer.js.map +1 -1
- package/build/src/start/server/DevServerManager.js +42 -38
- package/build/src/start/server/DevServerManager.js.map +1 -1
- package/build/src/start/server/DevToolsPluginManager.js +18 -14
- package/build/src/start/server/DevToolsPluginManager.js.map +1 -1
- package/build/src/start/server/DevelopmentSession.js +18 -14
- package/build/src/start/server/DevelopmentSession.js.map +1 -1
- package/build/src/start/server/ReactDevToolsProxy.js +16 -10
- package/build/src/start/server/ReactDevToolsProxy.js.map +1 -1
- package/build/src/start/server/UrlCreator.js +36 -33
- package/build/src/start/server/UrlCreator.js.map +1 -1
- package/build/src/start/server/getStaticRenderFunctions.js +30 -22
- package/build/src/start/server/getStaticRenderFunctions.js.map +1 -1
- package/build/src/start/server/metro/DevToolsPluginWebsocketEndpoint.js +9 -5
- package/build/src/start/server/metro/DevToolsPluginWebsocketEndpoint.js.map +1 -1
- package/build/src/start/server/metro/MetroBundlerDevServer.js +293 -280
- package/build/src/start/server/metro/MetroBundlerDevServer.js.map +1 -1
- package/build/src/start/server/metro/MetroTerminalReporter.js +63 -56
- package/build/src/start/server/metro/MetroTerminalReporter.js.map +1 -1
- package/build/src/start/server/metro/TerminalReporter.js +39 -33
- package/build/src/start/server/metro/TerminalReporter.js.map +1 -1
- package/build/src/start/server/metro/TerminalReporter.types.js.map +1 -1
- package/build/src/start/server/metro/createExpoFallbackResolver.js +13 -11
- package/build/src/start/server/metro/createExpoFallbackResolver.js.map +1 -1
- package/build/src/start/server/metro/createExpoMetroResolver.js +47 -41
- package/build/src/start/server/metro/createExpoMetroResolver.js.map +1 -1
- package/build/src/start/server/metro/createJResolver.js +31 -27
- package/build/src/start/server/metro/createJResolver.js.map +1 -1
- package/build/src/start/server/metro/createServerComponentsMiddleware.js +110 -98
- package/build/src/start/server/metro/createServerComponentsMiddleware.js.map +1 -1
- package/build/src/start/server/metro/createServerRouteMiddleware.js +34 -30
- package/build/src/start/server/metro/createServerRouteMiddleware.js.map +1 -1
- package/build/src/start/server/metro/debugging/AtlasPrerequisite.js +13 -11
- package/build/src/start/server/metro/debugging/AtlasPrerequisite.js.map +1 -1
- package/build/src/start/server/metro/debugging/MessageHandler.js +3 -1
- package/build/src/start/server/metro/debugging/MessageHandler.js.map +1 -1
- package/build/src/start/server/metro/debugging/attachAtlas.js +26 -22
- package/build/src/start/server/metro/debugging/attachAtlas.js.map +1 -1
- package/build/src/start/server/metro/debugging/createDebugMiddleware.js +19 -17
- package/build/src/start/server/metro/debugging/createDebugMiddleware.js.map +1 -1
- package/build/src/start/server/metro/debugging/createHandlersFactory.js +25 -31
- package/build/src/start/server/metro/debugging/createHandlersFactory.js.map +1 -1
- package/build/src/start/server/metro/debugging/getDebuggerType.js +6 -4
- package/build/src/start/server/metro/debugging/getDebuggerType.js.map +1 -1
- package/build/src/start/server/metro/debugging/messageHandlers/NetworkResponse.js +14 -8
- package/build/src/start/server/metro/debugging/messageHandlers/NetworkResponse.js.map +1 -1
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerGetPossibleBreakpoints.js +7 -5
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerGetPossibleBreakpoints.js.map +1 -1
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerSetBreakpointByUrl.js +8 -6
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerSetBreakpointByUrl.js.map +1 -1
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeCallFunctionOn.js +7 -5
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeCallFunctionOn.js.map +1 -1
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeEvaluate.js +14 -12
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeEvaluate.js.map +1 -1
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeGetProperties.js +14 -10
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeGetProperties.js.map +1 -1
- package/build/src/start/server/metro/debugging/pageIsSupported.js +6 -4
- package/build/src/start/server/metro/debugging/pageIsSupported.js.map +1 -1
- package/build/src/start/server/metro/debugging/types.js.map +1 -1
- package/build/src/start/server/metro/dev-server/createEventSocket.js +18 -16
- package/build/src/start/server/metro/dev-server/createEventSocket.js.map +1 -1
- package/build/src/start/server/metro/dev-server/createMessageSocket.js +23 -21
- package/build/src/start/server/metro/dev-server/createMessageSocket.js.map +1 -1
- package/build/src/start/server/metro/dev-server/createMetroMiddleware.js +23 -21
- package/build/src/start/server/metro/dev-server/createMetroMiddleware.js.map +1 -1
- package/build/src/start/server/metro/dev-server/utils/createSocketBroadcaster.js +4 -2
- package/build/src/start/server/metro/dev-server/utils/createSocketBroadcaster.js.map +1 -1
- package/build/src/start/server/metro/dev-server/utils/createSocketMap.js +4 -2
- package/build/src/start/server/metro/dev-server/utils/createSocketMap.js.map +1 -1
- package/build/src/start/server/metro/dev-server/utils/socketMessages.js +8 -4
- package/build/src/start/server/metro/dev-server/utils/socketMessages.js.map +1 -1
- package/build/src/start/server/metro/externals.js +33 -25
- package/build/src/start/server/metro/externals.js.map +1 -1
- package/build/src/start/server/metro/fetchRouterManifest.js +28 -12
- package/build/src/start/server/metro/fetchRouterManifest.js.map +1 -1
- package/build/src/start/server/metro/formatFileCandidates.js +11 -9
- package/build/src/start/server/metro/formatFileCandidates.js.map +1 -1
- package/build/src/start/server/metro/getCssModulesFromBundler.js +24 -20
- package/build/src/start/server/metro/getCssModulesFromBundler.js.map +1 -1
- package/build/src/start/server/metro/instantiateMetro.js +87 -81
- package/build/src/start/server/metro/instantiateMetro.js.map +1 -1
- package/build/src/start/server/metro/log-box/LogBoxLog.js +40 -36
- package/build/src/start/server/metro/log-box/LogBoxLog.js.map +1 -1
- package/build/src/start/server/metro/log-box/LogBoxSymbolication.js +20 -14
- package/build/src/start/server/metro/log-box/LogBoxSymbolication.js.map +1 -1
- package/build/src/start/server/metro/log-box/formatProjectFilePath.js +10 -6
- package/build/src/start/server/metro/log-box/formatProjectFilePath.js.map +1 -1
- package/build/src/start/server/metro/metroErrorInterface.js +88 -78
- package/build/src/start/server/metro/metroErrorInterface.js.map +1 -1
- package/build/src/start/server/metro/metroErrors.js +8 -4
- package/build/src/start/server/metro/metroErrors.js.map +1 -1
- package/build/src/start/server/metro/metroPrivateServer.js +9 -7
- package/build/src/start/server/metro/metroPrivateServer.js.map +1 -1
- package/build/src/start/server/metro/metroVirtualModules.js +10 -8
- package/build/src/start/server/metro/metroVirtualModules.js.map +1 -1
- package/build/src/start/server/metro/metroWatchTypeScriptFiles.js +24 -22
- package/build/src/start/server/metro/metroWatchTypeScriptFiles.js.map +1 -1
- package/build/src/start/server/metro/router.js +48 -32
- package/build/src/start/server/metro/router.js.map +1 -1
- package/build/src/start/server/metro/runServer-fork.js +24 -22
- package/build/src/start/server/metro/runServer-fork.js.map +1 -1
- package/build/src/start/server/metro/serializeHtml.js +24 -22
- package/build/src/start/server/metro/serializeHtml.js.map +1 -1
- package/build/src/start/server/metro/symbolicate.js.map +1 -1
- package/build/src/start/server/metro/waitForMetroToObserveTypeScriptFile.js +35 -29
- package/build/src/start/server/metro/waitForMetroToObserveTypeScriptFile.js.map +1 -1
- package/build/src/start/server/metro/withMetroMultiPlatform.js +150 -140
- package/build/src/start/server/metro/withMetroMultiPlatform.js.map +1 -1
- package/build/src/start/server/metro/withMetroResolvers.js +49 -39
- package/build/src/start/server/metro/withMetroResolvers.js.map +1 -1
- package/build/src/start/server/middleware/ContextModuleSourceMapsMiddleware.js +8 -6
- package/build/src/start/server/middleware/ContextModuleSourceMapsMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/CorsMiddleware.js +17 -15
- package/build/src/start/server/middleware/CorsMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/CreateFileMiddleware.js +32 -31
- package/build/src/start/server/middleware/CreateFileMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/DevToolsPluginMiddleware.js +22 -19
- package/build/src/start/server/middleware/DevToolsPluginMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/DomComponentsMiddleware.js +33 -27
- package/build/src/start/server/middleware/DomComponentsMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js +61 -57
- package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/ExpoMiddleware.js +15 -9
- package/build/src/start/server/middleware/ExpoMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/FaviconMiddleware.js +16 -15
- package/build/src/start/server/middleware/FaviconMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/HistoryFallbackMiddleware.js +4 -2
- package/build/src/start/server/middleware/HistoryFallbackMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/InterstitialPageMiddleware.js +34 -31
- package/build/src/start/server/middleware/InterstitialPageMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/ManifestMiddleware.js +64 -56
- package/build/src/start/server/middleware/ManifestMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/ReactDevToolsPageMiddleware.js +23 -19
- package/build/src/start/server/middleware/ReactDevToolsPageMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js +20 -19
- package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/ServeStaticMiddleware.js +11 -9
- package/build/src/start/server/middleware/ServeStaticMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/createBuiltinAPIRequestHandler.js +17 -11
- package/build/src/start/server/middleware/createBuiltinAPIRequestHandler.js.map +1 -1
- package/build/src/start/server/middleware/inspector/CdpClient.js +12 -10
- package/build/src/start/server/middleware/inspector/CdpClient.js.map +1 -1
- package/build/src/start/server/middleware/inspector/JsInspector.js +35 -27
- package/build/src/start/server/middleware/inspector/JsInspector.js.map +1 -1
- package/build/src/start/server/middleware/inspector/createJsInspectorMiddleware.js +21 -19
- package/build/src/start/server/middleware/inspector/createJsInspectorMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/inspector/middlwareMutations.js +6 -2
- package/build/src/start/server/middleware/inspector/middlwareMutations.js.map +1 -1
- package/build/src/start/server/middleware/metroOptions.js +120 -96
- package/build/src/start/server/middleware/metroOptions.js.map +1 -1
- package/build/src/start/server/middleware/mutations.js +7 -3
- package/build/src/start/server/middleware/mutations.js.map +1 -1
- package/build/src/start/server/middleware/resolveAssets.js +26 -18
- package/build/src/start/server/middleware/resolveAssets.js.map +1 -1
- package/build/src/start/server/middleware/resolvePlatform.js +23 -15
- package/build/src/start/server/middleware/resolvePlatform.js.map +1 -1
- package/build/src/start/server/middleware/resolveRuntimeVersionWithExpoUpdatesAsync.js +11 -9
- package/build/src/start/server/middleware/resolveRuntimeVersionWithExpoUpdatesAsync.js.map +1 -1
- package/build/src/start/server/middleware/server.types.js.map +1 -1
- package/build/src/start/server/openPlatforms.js +10 -8
- package/build/src/start/server/openPlatforms.js.map +1 -1
- package/build/src/start/server/platformBundlers.js +13 -11
- package/build/src/start/server/platformBundlers.js.map +1 -1
- package/build/src/start/server/serverLogLikeMetro.js +58 -50
- package/build/src/start/server/serverLogLikeMetro.js.map +1 -1
- package/build/src/start/server/type-generation/expo-env.js +11 -7
- package/build/src/start/server/type-generation/expo-env.js.map +1 -1
- package/build/src/start/server/type-generation/routes.js +72 -50
- package/build/src/start/server/type-generation/routes.js.map +1 -1
- package/build/src/start/server/type-generation/startTypescriptTypeGeneration.js +21 -19
- package/build/src/start/server/type-generation/startTypescriptTypeGeneration.js.map +1 -1
- package/build/src/start/server/type-generation/tsconfig.js +36 -28
- package/build/src/start/server/type-generation/tsconfig.js.map +1 -1
- package/build/src/start/server/webTemplate.js +28 -24
- package/build/src/start/server/webTemplate.js.map +1 -1
- package/build/src/start/server/webpack/WebpackBundlerDevServer.js +52 -46
- package/build/src/start/server/webpack/WebpackBundlerDevServer.js.map +1 -1
- package/build/src/start/server/webpack/compile.js +15 -11
- package/build/src/start/server/webpack/compile.js.map +1 -1
- package/build/src/start/server/webpack/formatWebpackMessages.js +28 -26
- package/build/src/start/server/webpack/formatWebpackMessages.js.map +1 -1
- package/build/src/start/server/webpack/resolveFromProject.js +18 -12
- package/build/src/start/server/webpack/resolveFromProject.js.map +1 -1
- package/build/src/start/server/webpack/tls.js +18 -12
- package/build/src/start/server/webpack/tls.js.map +1 -1
- package/build/src/start/startAsync.js +31 -27
- package/build/src/start/startAsync.js.map +1 -1
- package/build/src/utils/FileNotifier.js +20 -17
- package/build/src/utils/FileNotifier.js.map +1 -1
- package/build/src/utils/ansi.js +7 -5
- package/build/src/utils/ansi.js.map +1 -1
- package/build/src/utils/args.js +24 -14
- package/build/src/utils/args.js.map +1 -1
- package/build/src/utils/array.js +18 -6
- package/build/src/utils/array.js.map +1 -1
- package/build/src/utils/cocoapods.js +54 -46
- package/build/src/utils/cocoapods.js.map +1 -1
- package/build/src/utils/codesigning.js +79 -69
- package/build/src/utils/codesigning.js.map +1 -1
- package/build/src/utils/createFileTransform.js +16 -12
- package/build/src/utils/createFileTransform.js.map +1 -1
- package/build/src/utils/createTempPath.js +12 -8
- package/build/src/utils/createTempPath.js.map +1 -1
- package/build/src/utils/delay.js +12 -6
- package/build/src/utils/delay.js.map +1 -1
- package/build/src/utils/dir.js +40 -22
- package/build/src/utils/dir.js.map +1 -1
- package/build/src/utils/downloadAppAsync.js +10 -8
- package/build/src/utils/downloadAppAsync.js.map +1 -1
- package/build/src/utils/downloadExpoGoAsync.js +27 -23
- package/build/src/utils/downloadExpoGoAsync.js.map +1 -1
- package/build/src/utils/editor.js +41 -35
- package/build/src/utils/editor.js.map +1 -1
- package/build/src/utils/env.js +63 -59
- package/build/src/utils/env.js.map +1 -1
- package/build/src/utils/errors.js +37 -30
- package/build/src/utils/errors.js.map +1 -1
- package/build/src/utils/exit.js +35 -31
- package/build/src/utils/exit.js.map +1 -1
- package/build/src/utils/expoUpdatesCli.js +32 -22
- package/build/src/utils/expoUpdatesCli.js.map +1 -1
- package/build/src/utils/fetch.js +8 -4
- package/build/src/utils/fetch.js.map +1 -1
- package/build/src/utils/filePath.js +10 -6
- package/build/src/utils/filePath.js.map +1 -1
- package/build/src/utils/findUp.js +13 -9
- package/build/src/utils/findUp.js.map +1 -1
- package/build/src/utils/fn.js +6 -2
- package/build/src/utils/fn.js.map +1 -1
- package/build/src/utils/getOrPromptApplicationId.js +41 -35
- package/build/src/utils/getOrPromptApplicationId.js.map +1 -1
- package/build/src/utils/getRunningProcess.js +29 -21
- package/build/src/utils/getRunningProcess.js.map +1 -1
- package/build/src/utils/git.js +26 -20
- package/build/src/utils/git.js.map +1 -1
- package/build/src/utils/glob.js +8 -4
- package/build/src/utils/glob.js.map +1 -1
- package/build/src/utils/interactive.js +3 -1
- package/build/src/utils/interactive.js.map +1 -1
- package/build/src/utils/ip.js +21 -19
- package/build/src/utils/ip.js.map +1 -1
- package/build/src/utils/isModuleSymlinked.js +11 -9
- package/build/src/utils/isModuleSymlinked.js.map +1 -1
- package/build/src/utils/jsonSchemaDeref.js +20 -18
- package/build/src/utils/jsonSchemaDeref.js.map +1 -1
- package/build/src/utils/link.js +17 -13
- package/build/src/utils/link.js.map +1 -1
- package/build/src/utils/mergeGitIgnorePaths.js +46 -28
- package/build/src/utils/mergeGitIgnorePaths.js.map +1 -1
- package/build/src/utils/modifyConfigAsync.js +16 -10
- package/build/src/utils/modifyConfigAsync.js.map +1 -1
- package/build/src/utils/modifyConfigPlugins.js +10 -6
- package/build/src/utils/modifyConfigPlugins.js.map +1 -1
- package/build/src/utils/multipartMixed.js +13 -11
- package/build/src/utils/multipartMixed.js.map +1 -1
- package/build/src/utils/nodeEnv.js +12 -6
- package/build/src/utils/nodeEnv.js.map +1 -1
- package/build/src/utils/nodeModules.js +10 -8
- package/build/src/utils/nodeModules.js.map +1 -1
- package/build/src/utils/npm.js +49 -35
- package/build/src/utils/npm.js.map +1 -1
- package/build/src/utils/obj.js +11 -5
- package/build/src/utils/obj.js.map +1 -1
- package/build/src/utils/open.js +10 -8
- package/build/src/utils/open.js.map +1 -1
- package/build/src/utils/ora.js +13 -7
- package/build/src/utils/ora.js.map +1 -1
- package/build/src/utils/plist.js +21 -15
- package/build/src/utils/plist.js.map +1 -1
- package/build/src/utils/port.js +43 -33
- package/build/src/utils/port.js.map +1 -1
- package/build/src/utils/profile.js +11 -7
- package/build/src/utils/profile.js.map +1 -1
- package/build/src/utils/progress.js +11 -5
- package/build/src/utils/progress.js.map +1 -1
- package/build/src/utils/prompts.js +47 -29
- package/build/src/utils/prompts.js.map +1 -1
- package/build/src/utils/resolveArgs.js +36 -24
- package/build/src/utils/resolveArgs.js.map +1 -1
- package/build/src/utils/scheme.js +40 -32
- package/build/src/utils/scheme.js.map +1 -1
- package/build/src/utils/stream.js +5 -3
- package/build/src/utils/stream.js.map +1 -1
- package/build/src/utils/strings.js +6 -4
- package/build/src/utils/strings.js.map +1 -1
- package/build/src/utils/tar.js +18 -14
- package/build/src/utils/tar.js.map +1 -1
- package/build/src/utils/telemetry/Telemetry.js +29 -27
- package/build/src/utils/telemetry/Telemetry.js.map +1 -1
- package/build/src/utils/telemetry/clients/FetchClient.js +15 -13
- package/build/src/utils/telemetry/clients/FetchClient.js.map +1 -1
- package/build/src/utils/telemetry/clients/FetchDetachedClient.js +26 -22
- package/build/src/utils/telemetry/clients/FetchDetachedClient.js.map +1 -1
- package/build/src/utils/telemetry/clients/flushFetchDetached.js +10 -10
- package/build/src/utils/telemetry/clients/flushFetchDetached.js.map +1 -1
- package/build/src/utils/telemetry/events.js +4 -2
- package/build/src/utils/telemetry/events.js.map +1 -1
- package/build/src/utils/telemetry/index.js +25 -29
- package/build/src/utils/telemetry/index.js.map +1 -1
- package/build/src/utils/telemetry/types.js.map +1 -1
- package/build/src/utils/telemetry/utils/constants.js +8 -4
- package/build/src/utils/telemetry/utils/constants.js.map +1 -1
- package/build/src/utils/telemetry/utils/context.js +18 -14
- package/build/src/utils/telemetry/utils/context.js.map +1 -1
- package/build/src/utils/template.js +6 -4
- package/build/src/utils/template.js.map +1 -1
- package/build/src/utils/terminal.js +4 -2
- package/build/src/utils/terminal.js.map +1 -1
- package/build/src/utils/tsconfig/evaluateTsConfig.js +21 -17
- package/build/src/utils/tsconfig/evaluateTsConfig.js.map +1 -1
- package/build/src/utils/tsconfig/loadTsConfigPaths.js +18 -14
- package/build/src/utils/tsconfig/loadTsConfigPaths.js.map +1 -1
- package/build/src/utils/tsconfig/matchTsConfigPathAlias.js +7 -5
- package/build/src/utils/tsconfig/matchTsConfigPathAlias.js.map +1 -1
- package/build/src/utils/tsconfig/resolveWithTsConfigPaths.js +14 -12
- package/build/src/utils/tsconfig/resolveWithTsConfigPaths.js.map +1 -1
- package/build/src/utils/url.js +23 -13
- package/build/src/utils/url.js.map +1 -1
- package/build/src/utils/validateApplicationId.js +108 -86
- package/build/src/utils/validateApplicationId.js.map +1 -1
- package/build/src/utils/variadic.js +22 -16
- package/build/src/utils/variadic.js.map +1 -1
- package/build/src/whoami/index.js +11 -7
- package/build/src/whoami/index.js.map +1 -1
- package/build/src/whoami/whoamiAsync.js +11 -7
- package/build/src/whoami/whoamiAsync.js.map +1 -1
- package/package.json +17 -16
|
@@ -4,7 +4,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
});
|
|
5
5
|
Object.defineProperty(exports, "DevServerManager", {
|
|
6
6
|
enumerable: true,
|
|
7
|
-
get: ()
|
|
7
|
+
get: function() {
|
|
8
|
+
return DevServerManager;
|
|
9
|
+
}
|
|
8
10
|
});
|
|
9
11
|
function _config() {
|
|
10
12
|
const data = require("@expo/config");
|
|
@@ -14,29 +16,29 @@ function _config() {
|
|
|
14
16
|
return data;
|
|
15
17
|
}
|
|
16
18
|
function _assert() {
|
|
17
|
-
const data = /*#__PURE__*/
|
|
19
|
+
const data = /*#__PURE__*/ _interop_require_default(require("assert"));
|
|
18
20
|
_assert = function() {
|
|
19
21
|
return data;
|
|
20
22
|
};
|
|
21
23
|
return data;
|
|
22
24
|
}
|
|
23
25
|
function _chalk() {
|
|
24
|
-
const data = /*#__PURE__*/
|
|
26
|
+
const data = /*#__PURE__*/ _interop_require_default(require("chalk"));
|
|
25
27
|
_chalk = function() {
|
|
26
28
|
return data;
|
|
27
29
|
};
|
|
28
30
|
return data;
|
|
29
31
|
}
|
|
30
|
-
const
|
|
32
|
+
const _DevToolsPluginManager = /*#__PURE__*/ _interop_require_default(require("./DevToolsPluginManager"));
|
|
31
33
|
const _platformBundlers = require("./platformBundlers");
|
|
32
34
|
const _log = require("../../log");
|
|
33
|
-
const
|
|
35
|
+
const _FileNotifier = require("../../utils/FileNotifier");
|
|
34
36
|
const _env = require("../../utils/env");
|
|
35
|
-
const
|
|
37
|
+
const _TypeScriptProjectPrerequisite = require("../doctor/typescript/TypeScriptProjectPrerequisite");
|
|
36
38
|
const _commandsTable = require("../interface/commandsTable");
|
|
37
|
-
const _adb = /*#__PURE__*/
|
|
39
|
+
const _adb = /*#__PURE__*/ _interop_require_wildcard(require("../platforms/android/adb"));
|
|
38
40
|
const _resolveOptions = require("../resolveOptions");
|
|
39
|
-
function
|
|
41
|
+
function _interop_require_default(obj) {
|
|
40
42
|
return obj && obj.__esModule ? obj : {
|
|
41
43
|
default: obj
|
|
42
44
|
};
|
|
@@ -49,7 +51,7 @@ function _getRequireWildcardCache(nodeInterop) {
|
|
|
49
51
|
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
|
50
52
|
})(nodeInterop);
|
|
51
53
|
}
|
|
52
|
-
function
|
|
54
|
+
function _interop_require_wildcard(obj, nodeInterop) {
|
|
53
55
|
if (!nodeInterop && obj && obj.__esModule) {
|
|
54
56
|
return obj;
|
|
55
57
|
}
|
|
@@ -62,7 +64,9 @@ function _interopRequireWildcard(obj, nodeInterop) {
|
|
|
62
64
|
if (cache && cache.has(obj)) {
|
|
63
65
|
return cache.get(obj);
|
|
64
66
|
}
|
|
65
|
-
var newObj = {
|
|
67
|
+
var newObj = {
|
|
68
|
+
__proto__: null
|
|
69
|
+
};
|
|
66
70
|
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
67
71
|
for(var key in obj){
|
|
68
72
|
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
@@ -80,23 +84,23 @@ function _interopRequireWildcard(obj, nodeInterop) {
|
|
|
80
84
|
}
|
|
81
85
|
return newObj;
|
|
82
86
|
}
|
|
83
|
-
const debug = require(
|
|
87
|
+
const debug = require('debug')('expo:start:server:devServerManager');
|
|
84
88
|
const BUNDLERS = {
|
|
85
|
-
webpack: ()=>require(
|
|
86
|
-
metro: ()=>require(
|
|
89
|
+
webpack: ()=>require('./webpack/WebpackBundlerDevServer').WebpackBundlerDevServer,
|
|
90
|
+
metro: ()=>require('./metro/MetroBundlerDevServer').MetroBundlerDevServer
|
|
87
91
|
};
|
|
88
92
|
class DevServerManager {
|
|
89
93
|
static async startMetroAsync(projectRoot, startOptions) {
|
|
90
94
|
const devServerManager = new DevServerManager(projectRoot, startOptions);
|
|
91
95
|
await devServerManager.startAsync([
|
|
92
96
|
{
|
|
93
|
-
type:
|
|
97
|
+
type: 'metro',
|
|
94
98
|
options: startOptions
|
|
95
|
-
}
|
|
99
|
+
}
|
|
96
100
|
]);
|
|
97
101
|
return devServerManager;
|
|
98
102
|
}
|
|
99
|
-
constructor(projectRoot, options){
|
|
103
|
+
constructor(projectRoot, /** Keep track of the original CLI options for bundlers that are started interactively. */ options){
|
|
100
104
|
this.projectRoot = projectRoot;
|
|
101
105
|
this.options = options;
|
|
102
106
|
this.devServers = [];
|
|
@@ -105,15 +109,15 @@ class DevServerManager {
|
|
|
105
109
|
if (!options.isExporting) {
|
|
106
110
|
this.notifier = this.watchBabelConfig();
|
|
107
111
|
}
|
|
108
|
-
this.devtoolsPluginManager = new
|
|
112
|
+
this.devtoolsPluginManager = new _DevToolsPluginManager.default(projectRoot);
|
|
109
113
|
}
|
|
110
114
|
watchBabelConfig() {
|
|
111
|
-
const notifier = new
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
115
|
+
const notifier = new _FileNotifier.FileNotifier(this.projectRoot, [
|
|
116
|
+
'./babel.config.js',
|
|
117
|
+
'./babel.config.json',
|
|
118
|
+
'./.babelrc.json',
|
|
119
|
+
'./.babelrc',
|
|
120
|
+
'./.babelrc.js'
|
|
117
121
|
], {
|
|
118
122
|
additionalWarning: (0, _chalk().default)` You may need to clear the bundler cache with the {bold --clear} flag for your changes to take effect.`
|
|
119
123
|
});
|
|
@@ -140,9 +144,9 @@ class DevServerManager {
|
|
|
140
144
|
});
|
|
141
145
|
}
|
|
142
146
|
/** Get the port for the dev server (either Webpack or Metro) that is hosting code for React Native runtimes. */ getNativeDevServerPort() {
|
|
143
|
-
var
|
|
147
|
+
var _server_getInstance;
|
|
144
148
|
const server = this.devServers.find((server)=>server.isTargetingNative());
|
|
145
|
-
return (
|
|
149
|
+
return (server == null ? void 0 : (_server_getInstance = server.getInstance()) == null ? void 0 : _server_getInstance.location.port) ?? null;
|
|
146
150
|
}
|
|
147
151
|
/** Get the first server that targets web. */ getWebDevServer() {
|
|
148
152
|
const server = this.devServers.find((server)=>server.isTargetingWeb());
|
|
@@ -152,7 +156,7 @@ class DevServerManager {
|
|
|
152
156
|
// Return the first native dev server otherwise return the first dev server.
|
|
153
157
|
const server = this.devServers.find((server)=>server.isTargetingNative());
|
|
154
158
|
const defaultServer = server ?? this.devServers[0];
|
|
155
|
-
(0, _assert().default)(defaultServer,
|
|
159
|
+
(0, _assert().default)(defaultServer, 'No dev servers are running');
|
|
156
160
|
return defaultServer;
|
|
157
161
|
}
|
|
158
162
|
async ensureWebDevServerRunningAsync() {
|
|
@@ -160,7 +164,7 @@ class DevServerManager {
|
|
|
160
164
|
if (server) {
|
|
161
165
|
return;
|
|
162
166
|
}
|
|
163
|
-
const { exp
|
|
167
|
+
const { exp } = (0, _config().getConfig)(this.projectRoot, {
|
|
164
168
|
skipPlugins: true,
|
|
165
169
|
skipSDKVersionRequirement: true
|
|
166
170
|
});
|
|
@@ -170,11 +174,11 @@ class DevServerManager {
|
|
|
170
174
|
{
|
|
171
175
|
type: bundler,
|
|
172
176
|
options: this.options
|
|
173
|
-
}
|
|
177
|
+
}
|
|
174
178
|
]);
|
|
175
179
|
}
|
|
176
180
|
/** Switch between Expo Go and Expo Dev Clients. */ async toggleRuntimeMode(isUsingDevClient = !this.options.devClient) {
|
|
177
|
-
const nextMode = isUsingDevClient ?
|
|
181
|
+
const nextMode = isUsingDevClient ? '--dev-client' : '--go';
|
|
178
182
|
_log.Log.log((0, _commandsTable.printItem)((0, _chalk().default)`Switching to {bold ${nextMode}}`));
|
|
179
183
|
const nextScheme = await (0, _resolveOptions.resolveSchemeAsync)(this.projectRoot, {
|
|
180
184
|
devClient: isUsingDevClient
|
|
@@ -191,12 +195,12 @@ class DevServerManager {
|
|
|
191
195
|
return true;
|
|
192
196
|
}
|
|
193
197
|
/** Start all dev servers. */ async startAsync(startOptions) {
|
|
194
|
-
const { exp
|
|
198
|
+
const { exp } = (0, _config().getConfig)(this.projectRoot, {
|
|
195
199
|
skipSDKVersionRequirement: true
|
|
196
200
|
});
|
|
197
201
|
const platformBundlers = (0, _platformBundlers.getPlatformBundlers)(this.projectRoot, exp);
|
|
198
202
|
// Start all dev servers...
|
|
199
|
-
for (const { type
|
|
203
|
+
for (const { type, options } of startOptions){
|
|
200
204
|
const BundlerDevServerClass = await BUNDLERS[type]();
|
|
201
205
|
const server = new BundlerDevServerClass(this.projectRoot, platformBundlers, {
|
|
202
206
|
devToolsPluginManager: this.devtoolsPluginManager,
|
|
@@ -208,13 +212,13 @@ class DevServerManager {
|
|
|
208
212
|
return exp;
|
|
209
213
|
}
|
|
210
214
|
async bootstrapTypeScriptAsync() {
|
|
211
|
-
const typescriptPrerequisite = await this.ensureProjectPrerequisiteAsync(
|
|
215
|
+
const typescriptPrerequisite = await this.ensureProjectPrerequisiteAsync(_TypeScriptProjectPrerequisite.TypeScriptProjectPrerequisite);
|
|
212
216
|
if (_env.env.EXPO_NO_TYPESCRIPT_SETUP) {
|
|
213
217
|
return;
|
|
214
218
|
}
|
|
215
219
|
// Optionally, wait for the user to add TypeScript during the
|
|
216
220
|
// development cycle.
|
|
217
|
-
const server = this.devServers.find((server)=>server.name ===
|
|
221
|
+
const server = this.devServers.find((server)=>server.name === 'metro');
|
|
218
222
|
if (!server) {
|
|
219
223
|
return;
|
|
220
224
|
}
|
|
@@ -230,20 +234,20 @@ class DevServerManager {
|
|
|
230
234
|
}
|
|
231
235
|
}
|
|
232
236
|
async watchEnvironmentVariables() {
|
|
233
|
-
var
|
|
234
|
-
await ((
|
|
237
|
+
var _this_devServers_find;
|
|
238
|
+
await ((_this_devServers_find = this.devServers.find((server)=>server.name === 'metro')) == null ? void 0 : _this_devServers_find.watchEnvironmentVariables());
|
|
235
239
|
}
|
|
236
240
|
/** Stop all servers including ADB. */ async stopAsync() {
|
|
237
|
-
var
|
|
241
|
+
var _this_notifier;
|
|
238
242
|
await Promise.allSettled([
|
|
239
|
-
(
|
|
243
|
+
(_this_notifier = this.notifier) == null ? void 0 : _this_notifier.stopObserving(),
|
|
240
244
|
// Stop ADB
|
|
241
245
|
_adb.getServer().stopAsync(),
|
|
242
246
|
// Stop all dev servers
|
|
243
247
|
...this.devServers.map((server)=>server.stopAsync().catch((error)=>{
|
|
244
248
|
_log.Log.error(`Failed to stop dev server (bundler: ${server.name})`);
|
|
245
249
|
_log.Log.exception(error);
|
|
246
|
-
}))
|
|
250
|
+
}))
|
|
247
251
|
]);
|
|
248
252
|
}
|
|
249
253
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/start/server/DevServerManager.ts"],"sourcesContent":["import { ExpoConfig, getConfig } from '@expo/config';\nimport assert from 'assert';\nimport chalk from 'chalk';\n\nimport { BundlerDevServer, BundlerStartOptions } from './BundlerDevServer';\nimport DevToolsPluginManager from './DevToolsPluginManager';\nimport { getPlatformBundlers } from './platformBundlers';\nimport { Log } from '../../log';\nimport { FileNotifier } from '../../utils/FileNotifier';\nimport { env } from '../../utils/env';\nimport { ProjectPrerequisite } from '../doctor/Prerequisite';\nimport { TypeScriptProjectPrerequisite } from '../doctor/typescript/TypeScriptProjectPrerequisite';\nimport { printItem } from '../interface/commandsTable';\nimport * as AndroidDebugBridge from '../platforms/android/adb';\nimport { resolveSchemeAsync } from '../resolveOptions';\n\nconst debug = require('debug')('expo:start:server:devServerManager') as typeof console.log;\n\nexport type MultiBundlerStartOptions = {\n type: keyof typeof BUNDLERS;\n options?: BundlerStartOptions;\n}[];\n\nconst BUNDLERS = {\n webpack: () =>\n require('./webpack/WebpackBundlerDevServer')\n .WebpackBundlerDevServer as typeof import('./webpack/WebpackBundlerDevServer').WebpackBundlerDevServer,\n metro: () =>\n require('./metro/MetroBundlerDevServer')\n .MetroBundlerDevServer as typeof import('./metro/MetroBundlerDevServer').MetroBundlerDevServer,\n};\n\n/** Manages interacting with multiple dev servers. */\nexport class DevServerManager {\n private devServers: BundlerDevServer[] = [];\n\n static async startMetroAsync(projectRoot: string, startOptions: BundlerStartOptions) {\n const devServerManager = new DevServerManager(projectRoot, startOptions);\n\n await devServerManager.startAsync([\n {\n type: 'metro',\n options: startOptions,\n },\n ]);\n return devServerManager;\n }\n\n private projectPrerequisites: ProjectPrerequisite<any, void>[] = [];\n public readonly devtoolsPluginManager: DevToolsPluginManager;\n\n private notifier: FileNotifier | null = null;\n\n constructor(\n public projectRoot: string,\n /** Keep track of the original CLI options for bundlers that are started interactively. */\n public options: BundlerStartOptions\n ) {\n if (!options.isExporting) {\n this.notifier = this.watchBabelConfig();\n }\n this.devtoolsPluginManager = new DevToolsPluginManager(projectRoot);\n }\n\n private watchBabelConfig() {\n const notifier = new FileNotifier(\n this.projectRoot,\n [\n './babel.config.js',\n './babel.config.json',\n './.babelrc.json',\n './.babelrc',\n './.babelrc.js',\n ],\n {\n additionalWarning: chalk` You may need to clear the bundler cache with the {bold --clear} flag for your changes to take effect.`,\n }\n );\n\n notifier.startObserving();\n\n return notifier;\n }\n\n /** Lazily load and assert a project-level prerequisite. */\n async ensureProjectPrerequisiteAsync(PrerequisiteClass: typeof ProjectPrerequisite<any, any>) {\n let prerequisite = this.projectPrerequisites.find(\n (prerequisite) => prerequisite instanceof PrerequisiteClass\n );\n if (!prerequisite) {\n prerequisite = new PrerequisiteClass(this.projectRoot);\n this.projectPrerequisites.push(prerequisite);\n }\n return await prerequisite.assertAsync();\n }\n\n /**\n * Sends a message over web sockets to all connected devices,\n * does nothing when the dev server is not running.\n *\n * @param method name of the command. In RN projects `reload`, and `devMenu` are available. In Expo Go, `sendDevCommand` is available.\n * @param params extra event info to send over the socket.\n */\n broadcastMessage(method: 'reload' | 'devMenu' | 'sendDevCommand', params?: Record<string, any>) {\n this.devServers.forEach((server) => {\n server.broadcastMessage(method, params);\n });\n }\n\n /** Get the port for the dev server (either Webpack or Metro) that is hosting code for React Native runtimes. */\n getNativeDevServerPort() {\n const server = this.devServers.find((server) => server.isTargetingNative());\n return server?.getInstance()?.location.port ?? null;\n }\n\n /** Get the first server that targets web. */\n getWebDevServer() {\n const server = this.devServers.find((server) => server.isTargetingWeb());\n return server ?? null;\n }\n\n getDefaultDevServer(): BundlerDevServer {\n // Return the first native dev server otherwise return the first dev server.\n const server = this.devServers.find((server) => server.isTargetingNative());\n const defaultServer = server ?? this.devServers[0];\n assert(defaultServer, 'No dev servers are running');\n return defaultServer;\n }\n\n async ensureWebDevServerRunningAsync() {\n const [server] = this.devServers.filter((server) => server.isTargetingWeb());\n if (server) {\n return;\n }\n const { exp } = getConfig(this.projectRoot, {\n skipPlugins: true,\n skipSDKVersionRequirement: true,\n });\n const bundler = getPlatformBundlers(this.projectRoot, exp).web;\n debug(`Starting ${bundler} dev server for web`);\n return this.startAsync([\n {\n type: bundler,\n options: this.options,\n },\n ]);\n }\n\n /** Switch between Expo Go and Expo Dev Clients. */\n async toggleRuntimeMode(isUsingDevClient: boolean = !this.options.devClient): Promise<boolean> {\n const nextMode = isUsingDevClient ? '--dev-client' : '--go';\n Log.log(printItem(chalk`Switching to {bold ${nextMode}}`));\n\n const nextScheme = await resolveSchemeAsync(this.projectRoot, {\n devClient: isUsingDevClient,\n // NOTE: The custom `--scheme` argument is lost from this point on.\n });\n\n this.options.location.scheme = nextScheme;\n this.options.devClient = isUsingDevClient;\n for (const devServer of this.devServers) {\n devServer.isDevClient = isUsingDevClient;\n const urlCreator = devServer.getUrlCreator();\n urlCreator.defaults ??= {};\n urlCreator.defaults.scheme = nextScheme;\n }\n\n debug(`New runtime options (runtime: ${nextMode}):`, this.options);\n return true;\n }\n\n /** Start all dev servers. */\n async startAsync(startOptions: MultiBundlerStartOptions): Promise<ExpoConfig> {\n const { exp } = getConfig(this.projectRoot, { skipSDKVersionRequirement: true });\n const platformBundlers = getPlatformBundlers(this.projectRoot, exp);\n\n // Start all dev servers...\n for (const { type, options } of startOptions) {\n const BundlerDevServerClass = await BUNDLERS[type]();\n const server = new BundlerDevServerClass(this.projectRoot, platformBundlers, {\n devToolsPluginManager: this.devtoolsPluginManager,\n isDevClient: !!options?.devClient,\n });\n await server.startAsync(options ?? this.options);\n this.devServers.push(server);\n }\n\n return exp;\n }\n\n async bootstrapTypeScriptAsync() {\n const typescriptPrerequisite = await this.ensureProjectPrerequisiteAsync(\n TypeScriptProjectPrerequisite\n );\n\n if (env.EXPO_NO_TYPESCRIPT_SETUP) {\n return;\n }\n\n // Optionally, wait for the user to add TypeScript during the\n // development cycle.\n const server = this.devServers.find((server) => server.name === 'metro');\n if (!server) {\n return;\n }\n\n // The dev server shouldn't wait for the typescript services\n if (!typescriptPrerequisite) {\n server.waitForTypeScriptAsync().then(async (success) => {\n if (success) {\n server.startTypeScriptServices();\n }\n });\n } else {\n server.startTypeScriptServices();\n }\n }\n\n async watchEnvironmentVariables() {\n await this.devServers.find((server) => server.name === 'metro')?.watchEnvironmentVariables();\n }\n\n /** Stop all servers including ADB. */\n async stopAsync(): Promise<void> {\n await Promise.allSettled([\n this.notifier?.stopObserving(),\n // Stop ADB\n AndroidDebugBridge.getServer().stopAsync(),\n // Stop all dev servers\n ...this.devServers.map((server) =>\n server.stopAsync().catch((error) => {\n Log.error(`Failed to stop dev server (bundler: ${server.name})`);\n Log.exception(error);\n })\n ),\n ]);\n }\n}\n"],"names":["DevServerManager","debug","require","BUNDLERS","webpack","WebpackBundlerDevServer","metro","MetroBundlerDevServer","startMetroAsync","projectRoot","startOptions","devServerManager","startAsync","type","options","constructor","devServers","projectPrerequisites","notifier","isExporting","watchBabelConfig","devtoolsPluginManager","DevToolsPluginManager","FileNotifier","additionalWarning","chalk","startObserving","ensureProjectPrerequisiteAsync","PrerequisiteClass","prerequisite","find","push","assertAsync","broadcastMessage","method","params","forEach","server","getNativeDevServerPort","isTargetingNative","getInstance","location","port","getWebDevServer","isTargetingWeb","getDefaultDevServer","defaultServer","assert","ensureWebDevServerRunningAsync","filter","exp","getConfig","skipPlugins","skipSDKVersionRequirement","bundler","getPlatformBundlers","web","toggleRuntimeMode","isUsingDevClient","devClient","nextMode","Log","log","printItem","nextScheme","resolveSchemeAsync","scheme","devServer","isDevClient","urlCreator","getUrlCreator","defaults","platformBundlers","BundlerDevServerClass","devToolsPluginManager","bootstrapTypeScriptAsync","typescriptPrerequisite","TypeScriptProjectPrerequisite","env","EXPO_NO_TYPESCRIPT_SETUP","name","waitForTypeScriptAsync","then","success","startTypeScriptServices","watchEnvironmentVariables","stopAsync","Promise","allSettled","stopObserving","AndroidDebugBridge","getServer","map","catch","error","exception"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/start/server/DevServerManager.ts"],"sourcesContent":["import { ExpoConfig, getConfig } from '@expo/config';\nimport assert from 'assert';\nimport chalk from 'chalk';\n\nimport { BundlerDevServer, BundlerStartOptions } from './BundlerDevServer';\nimport DevToolsPluginManager from './DevToolsPluginManager';\nimport { getPlatformBundlers } from './platformBundlers';\nimport { Log } from '../../log';\nimport { FileNotifier } from '../../utils/FileNotifier';\nimport { env } from '../../utils/env';\nimport { ProjectPrerequisite } from '../doctor/Prerequisite';\nimport { TypeScriptProjectPrerequisite } from '../doctor/typescript/TypeScriptProjectPrerequisite';\nimport { printItem } from '../interface/commandsTable';\nimport * as AndroidDebugBridge from '../platforms/android/adb';\nimport { resolveSchemeAsync } from '../resolveOptions';\n\nconst debug = require('debug')('expo:start:server:devServerManager') as typeof console.log;\n\nexport type MultiBundlerStartOptions = {\n type: keyof typeof BUNDLERS;\n options?: BundlerStartOptions;\n}[];\n\nconst BUNDLERS = {\n webpack: () =>\n require('./webpack/WebpackBundlerDevServer')\n .WebpackBundlerDevServer as typeof import('./webpack/WebpackBundlerDevServer').WebpackBundlerDevServer,\n metro: () =>\n require('./metro/MetroBundlerDevServer')\n .MetroBundlerDevServer as typeof import('./metro/MetroBundlerDevServer').MetroBundlerDevServer,\n};\n\n/** Manages interacting with multiple dev servers. */\nexport class DevServerManager {\n private devServers: BundlerDevServer[] = [];\n\n static async startMetroAsync(projectRoot: string, startOptions: BundlerStartOptions) {\n const devServerManager = new DevServerManager(projectRoot, startOptions);\n\n await devServerManager.startAsync([\n {\n type: 'metro',\n options: startOptions,\n },\n ]);\n return devServerManager;\n }\n\n private projectPrerequisites: ProjectPrerequisite<any, void>[] = [];\n public readonly devtoolsPluginManager: DevToolsPluginManager;\n\n private notifier: FileNotifier | null = null;\n\n constructor(\n public projectRoot: string,\n /** Keep track of the original CLI options for bundlers that are started interactively. */\n public options: BundlerStartOptions\n ) {\n if (!options.isExporting) {\n this.notifier = this.watchBabelConfig();\n }\n this.devtoolsPluginManager = new DevToolsPluginManager(projectRoot);\n }\n\n private watchBabelConfig() {\n const notifier = new FileNotifier(\n this.projectRoot,\n [\n './babel.config.js',\n './babel.config.json',\n './.babelrc.json',\n './.babelrc',\n './.babelrc.js',\n ],\n {\n additionalWarning: chalk` You may need to clear the bundler cache with the {bold --clear} flag for your changes to take effect.`,\n }\n );\n\n notifier.startObserving();\n\n return notifier;\n }\n\n /** Lazily load and assert a project-level prerequisite. */\n async ensureProjectPrerequisiteAsync(PrerequisiteClass: typeof ProjectPrerequisite<any, any>) {\n let prerequisite = this.projectPrerequisites.find(\n (prerequisite) => prerequisite instanceof PrerequisiteClass\n );\n if (!prerequisite) {\n prerequisite = new PrerequisiteClass(this.projectRoot);\n this.projectPrerequisites.push(prerequisite);\n }\n return await prerequisite.assertAsync();\n }\n\n /**\n * Sends a message over web sockets to all connected devices,\n * does nothing when the dev server is not running.\n *\n * @param method name of the command. In RN projects `reload`, and `devMenu` are available. In Expo Go, `sendDevCommand` is available.\n * @param params extra event info to send over the socket.\n */\n broadcastMessage(method: 'reload' | 'devMenu' | 'sendDevCommand', params?: Record<string, any>) {\n this.devServers.forEach((server) => {\n server.broadcastMessage(method, params);\n });\n }\n\n /** Get the port for the dev server (either Webpack or Metro) that is hosting code for React Native runtimes. */\n getNativeDevServerPort() {\n const server = this.devServers.find((server) => server.isTargetingNative());\n return server?.getInstance()?.location.port ?? null;\n }\n\n /** Get the first server that targets web. */\n getWebDevServer() {\n const server = this.devServers.find((server) => server.isTargetingWeb());\n return server ?? null;\n }\n\n getDefaultDevServer(): BundlerDevServer {\n // Return the first native dev server otherwise return the first dev server.\n const server = this.devServers.find((server) => server.isTargetingNative());\n const defaultServer = server ?? this.devServers[0];\n assert(defaultServer, 'No dev servers are running');\n return defaultServer;\n }\n\n async ensureWebDevServerRunningAsync() {\n const [server] = this.devServers.filter((server) => server.isTargetingWeb());\n if (server) {\n return;\n }\n const { exp } = getConfig(this.projectRoot, {\n skipPlugins: true,\n skipSDKVersionRequirement: true,\n });\n const bundler = getPlatformBundlers(this.projectRoot, exp).web;\n debug(`Starting ${bundler} dev server for web`);\n return this.startAsync([\n {\n type: bundler,\n options: this.options,\n },\n ]);\n }\n\n /** Switch between Expo Go and Expo Dev Clients. */\n async toggleRuntimeMode(isUsingDevClient: boolean = !this.options.devClient): Promise<boolean> {\n const nextMode = isUsingDevClient ? '--dev-client' : '--go';\n Log.log(printItem(chalk`Switching to {bold ${nextMode}}`));\n\n const nextScheme = await resolveSchemeAsync(this.projectRoot, {\n devClient: isUsingDevClient,\n // NOTE: The custom `--scheme` argument is lost from this point on.\n });\n\n this.options.location.scheme = nextScheme;\n this.options.devClient = isUsingDevClient;\n for (const devServer of this.devServers) {\n devServer.isDevClient = isUsingDevClient;\n const urlCreator = devServer.getUrlCreator();\n urlCreator.defaults ??= {};\n urlCreator.defaults.scheme = nextScheme;\n }\n\n debug(`New runtime options (runtime: ${nextMode}):`, this.options);\n return true;\n }\n\n /** Start all dev servers. */\n async startAsync(startOptions: MultiBundlerStartOptions): Promise<ExpoConfig> {\n const { exp } = getConfig(this.projectRoot, { skipSDKVersionRequirement: true });\n const platformBundlers = getPlatformBundlers(this.projectRoot, exp);\n\n // Start all dev servers...\n for (const { type, options } of startOptions) {\n const BundlerDevServerClass = await BUNDLERS[type]();\n const server = new BundlerDevServerClass(this.projectRoot, platformBundlers, {\n devToolsPluginManager: this.devtoolsPluginManager,\n isDevClient: !!options?.devClient,\n });\n await server.startAsync(options ?? this.options);\n this.devServers.push(server);\n }\n\n return exp;\n }\n\n async bootstrapTypeScriptAsync() {\n const typescriptPrerequisite = await this.ensureProjectPrerequisiteAsync(\n TypeScriptProjectPrerequisite\n );\n\n if (env.EXPO_NO_TYPESCRIPT_SETUP) {\n return;\n }\n\n // Optionally, wait for the user to add TypeScript during the\n // development cycle.\n const server = this.devServers.find((server) => server.name === 'metro');\n if (!server) {\n return;\n }\n\n // The dev server shouldn't wait for the typescript services\n if (!typescriptPrerequisite) {\n server.waitForTypeScriptAsync().then(async (success) => {\n if (success) {\n server.startTypeScriptServices();\n }\n });\n } else {\n server.startTypeScriptServices();\n }\n }\n\n async watchEnvironmentVariables() {\n await this.devServers.find((server) => server.name === 'metro')?.watchEnvironmentVariables();\n }\n\n /** Stop all servers including ADB. */\n async stopAsync(): Promise<void> {\n await Promise.allSettled([\n this.notifier?.stopObserving(),\n // Stop ADB\n AndroidDebugBridge.getServer().stopAsync(),\n // Stop all dev servers\n ...this.devServers.map((server) =>\n server.stopAsync().catch((error) => {\n Log.error(`Failed to stop dev server (bundler: ${server.name})`);\n Log.exception(error);\n })\n ),\n ]);\n }\n}\n"],"names":["DevServerManager","debug","require","BUNDLERS","webpack","WebpackBundlerDevServer","metro","MetroBundlerDevServer","startMetroAsync","projectRoot","startOptions","devServerManager","startAsync","type","options","constructor","devServers","projectPrerequisites","notifier","isExporting","watchBabelConfig","devtoolsPluginManager","DevToolsPluginManager","FileNotifier","additionalWarning","chalk","startObserving","ensureProjectPrerequisiteAsync","PrerequisiteClass","prerequisite","find","push","assertAsync","broadcastMessage","method","params","forEach","server","getNativeDevServerPort","isTargetingNative","getInstance","location","port","getWebDevServer","isTargetingWeb","getDefaultDevServer","defaultServer","assert","ensureWebDevServerRunningAsync","filter","exp","getConfig","skipPlugins","skipSDKVersionRequirement","bundler","getPlatformBundlers","web","toggleRuntimeMode","isUsingDevClient","devClient","nextMode","Log","log","printItem","nextScheme","resolveSchemeAsync","scheme","devServer","isDevClient","urlCreator","getUrlCreator","defaults","platformBundlers","BundlerDevServerClass","devToolsPluginManager","bootstrapTypeScriptAsync","typescriptPrerequisite","TypeScriptProjectPrerequisite","env","EXPO_NO_TYPESCRIPT_SETUP","name","waitForTypeScriptAsync","then","success","startTypeScriptServices","watchEnvironmentVariables","stopAsync","Promise","allSettled","stopObserving","AndroidDebugBridge","getServer","map","catch","error","exception"],"mappings":"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"}
|
|
@@ -9,30 +9,34 @@ function _export(target, all) {
|
|
|
9
9
|
});
|
|
10
10
|
}
|
|
11
11
|
_export(exports, {
|
|
12
|
-
DevToolsPluginEndpoint: ()
|
|
13
|
-
|
|
12
|
+
DevToolsPluginEndpoint: function() {
|
|
13
|
+
return DevToolsPluginEndpoint;
|
|
14
|
+
},
|
|
15
|
+
default: function() {
|
|
16
|
+
return DevToolsPluginManager;
|
|
17
|
+
}
|
|
14
18
|
});
|
|
15
19
|
function _path() {
|
|
16
|
-
const data = /*#__PURE__*/
|
|
20
|
+
const data = /*#__PURE__*/ _interop_require_default(require("path"));
|
|
17
21
|
_path = function() {
|
|
18
22
|
return data;
|
|
19
23
|
};
|
|
20
24
|
return data;
|
|
21
25
|
}
|
|
22
|
-
function
|
|
23
|
-
const data = /*#__PURE__*/
|
|
24
|
-
|
|
26
|
+
function _resolvefrom() {
|
|
27
|
+
const data = /*#__PURE__*/ _interop_require_default(require("resolve-from"));
|
|
28
|
+
_resolvefrom = function() {
|
|
25
29
|
return data;
|
|
26
30
|
};
|
|
27
31
|
return data;
|
|
28
32
|
}
|
|
29
|
-
function
|
|
33
|
+
function _interop_require_default(obj) {
|
|
30
34
|
return obj && obj.__esModule ? obj : {
|
|
31
35
|
default: obj
|
|
32
36
|
};
|
|
33
37
|
}
|
|
34
|
-
const debug = require(
|
|
35
|
-
const DevToolsPluginEndpoint =
|
|
38
|
+
const debug = require('debug')('expo:start:server:devtools');
|
|
39
|
+
const DevToolsPluginEndpoint = '/_expo/plugins';
|
|
36
40
|
class DevToolsPluginManager {
|
|
37
41
|
constructor(projectRoot){
|
|
38
42
|
this.projectRoot = projectRoot;
|
|
@@ -55,23 +59,23 @@ class DevToolsPluginManager {
|
|
|
55
59
|
return (plugin == null ? void 0 : plugin.webpageRoot) ?? null;
|
|
56
60
|
}
|
|
57
61
|
async queryAutolinkedPluginsAsync(projectRoot) {
|
|
58
|
-
const expoPackagePath =
|
|
62
|
+
const expoPackagePath = _resolvefrom().default.silent(projectRoot, 'expo/package.json');
|
|
59
63
|
if (!expoPackagePath) {
|
|
60
64
|
return [];
|
|
61
65
|
}
|
|
62
|
-
const resolvedPath =
|
|
66
|
+
const resolvedPath = _resolvefrom().default.silent(_path().default.dirname(expoPackagePath), 'expo-modules-autolinking/exports');
|
|
63
67
|
if (!resolvedPath) {
|
|
64
68
|
return [];
|
|
65
69
|
}
|
|
66
70
|
const autolinkingModule = require(resolvedPath);
|
|
67
71
|
if (!autolinkingModule.queryAutolinkingModulesFromProjectAsync) {
|
|
68
|
-
throw new Error(
|
|
72
|
+
throw new Error('Missing exported `queryAutolinkingModulesFromProjectAsync()` function from `expo-modules-autolinking`');
|
|
69
73
|
}
|
|
70
74
|
const plugins = await autolinkingModule.queryAutolinkingModulesFromProjectAsync(projectRoot, {
|
|
71
|
-
platform:
|
|
75
|
+
platform: 'devtools',
|
|
72
76
|
onlyProjectDeps: false
|
|
73
77
|
});
|
|
74
|
-
debug(
|
|
78
|
+
debug('Found autolinked plugins', this.plugins);
|
|
75
79
|
return plugins;
|
|
76
80
|
}
|
|
77
81
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/start/server/DevToolsPluginManager.ts"],"sourcesContent":["import type { ModuleDescriptorDevTools } from 'expo-modules-autolinking/exports';\nimport path from 'path';\nimport resolveFrom from 'resolve-from';\n\nconst debug = require('debug')('expo:start:server:devtools');\n\nexport const DevToolsPluginEndpoint = '/_expo/plugins';\n\ninterface AutolinkingPlugin {\n packageName: string;\n packageRoot: string;\n webpageRoot: string;\n}\n\nexport interface DevToolsPlugin extends AutolinkingPlugin {\n webpageEndpoint: string;\n}\n\nexport default class DevToolsPluginManager {\n private plugins: DevToolsPlugin[] | null = null;\n\n constructor(private projectRoot: string) {}\n\n public async queryPluginsAsync(): Promise<DevToolsPlugin[]> {\n if (this.plugins) {\n return this.plugins;\n }\n const plugins = (await this.queryAutolinkedPluginsAsync(this.projectRoot)).map((plugin) => ({\n ...plugin,\n webpageEndpoint: `${DevToolsPluginEndpoint}/${plugin.packageName}`,\n }));\n this.plugins = plugins;\n return this.plugins;\n }\n\n public async queryPluginWebpageRootAsync(pluginName: string): Promise<string | null> {\n const plugins = await this.queryPluginsAsync();\n const plugin = plugins.find((p) => p.packageName === pluginName);\n return plugin?.webpageRoot ?? null;\n }\n\n private async queryAutolinkedPluginsAsync(projectRoot: string): Promise<AutolinkingPlugin[]> {\n const expoPackagePath = resolveFrom.silent(projectRoot, 'expo/package.json');\n if (!expoPackagePath) {\n return [];\n }\n const resolvedPath = resolveFrom.silent(\n path.dirname(expoPackagePath),\n 'expo-modules-autolinking/exports'\n );\n if (!resolvedPath) {\n return [];\n }\n const autolinkingModule = require(\n resolvedPath\n ) as typeof import('expo-modules-autolinking/exports');\n if (!autolinkingModule.queryAutolinkingModulesFromProjectAsync) {\n throw new Error(\n 'Missing exported `queryAutolinkingModulesFromProjectAsync()` function from `expo-modules-autolinking`'\n );\n }\n const plugins = (await autolinkingModule.queryAutolinkingModulesFromProjectAsync(projectRoot, {\n platform: 'devtools',\n onlyProjectDeps: false,\n })) as ModuleDescriptorDevTools[];\n debug('Found autolinked plugins', this.plugins);\n return plugins;\n }\n}\n"],"names":["DevToolsPluginEndpoint","DevToolsPluginManager","debug","require","constructor","projectRoot","plugins","queryPluginsAsync","queryAutolinkedPluginsAsync","map","plugin","webpageEndpoint","packageName","queryPluginWebpageRootAsync","pluginName","find","p","webpageRoot","expoPackagePath","resolveFrom","silent","resolvedPath","path","dirname","autolinkingModule","queryAutolinkingModulesFromProjectAsync","Error","platform","onlyProjectDeps"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../../src/start/server/DevToolsPluginManager.ts"],"sourcesContent":["import type { ModuleDescriptorDevTools } from 'expo-modules-autolinking/exports';\nimport path from 'path';\nimport resolveFrom from 'resolve-from';\n\nconst debug = require('debug')('expo:start:server:devtools');\n\nexport const DevToolsPluginEndpoint = '/_expo/plugins';\n\ninterface AutolinkingPlugin {\n packageName: string;\n packageRoot: string;\n webpageRoot: string;\n}\n\nexport interface DevToolsPlugin extends AutolinkingPlugin {\n webpageEndpoint: string;\n}\n\nexport default class DevToolsPluginManager {\n private plugins: DevToolsPlugin[] | null = null;\n\n constructor(private projectRoot: string) {}\n\n public async queryPluginsAsync(): Promise<DevToolsPlugin[]> {\n if (this.plugins) {\n return this.plugins;\n }\n const plugins = (await this.queryAutolinkedPluginsAsync(this.projectRoot)).map((plugin) => ({\n ...plugin,\n webpageEndpoint: `${DevToolsPluginEndpoint}/${plugin.packageName}`,\n }));\n this.plugins = plugins;\n return this.plugins;\n }\n\n public async queryPluginWebpageRootAsync(pluginName: string): Promise<string | null> {\n const plugins = await this.queryPluginsAsync();\n const plugin = plugins.find((p) => p.packageName === pluginName);\n return plugin?.webpageRoot ?? null;\n }\n\n private async queryAutolinkedPluginsAsync(projectRoot: string): Promise<AutolinkingPlugin[]> {\n const expoPackagePath = resolveFrom.silent(projectRoot, 'expo/package.json');\n if (!expoPackagePath) {\n return [];\n }\n const resolvedPath = resolveFrom.silent(\n path.dirname(expoPackagePath),\n 'expo-modules-autolinking/exports'\n );\n if (!resolvedPath) {\n return [];\n }\n const autolinkingModule = require(\n resolvedPath\n ) as typeof import('expo-modules-autolinking/exports');\n if (!autolinkingModule.queryAutolinkingModulesFromProjectAsync) {\n throw new Error(\n 'Missing exported `queryAutolinkingModulesFromProjectAsync()` function from `expo-modules-autolinking`'\n );\n }\n const plugins = (await autolinkingModule.queryAutolinkingModulesFromProjectAsync(projectRoot, {\n platform: 'devtools',\n onlyProjectDeps: false,\n })) as ModuleDescriptorDevTools[];\n debug('Found autolinked plugins', this.plugins);\n return plugins;\n }\n}\n"],"names":["DevToolsPluginEndpoint","DevToolsPluginManager","debug","require","constructor","projectRoot","plugins","queryPluginsAsync","queryAutolinkedPluginsAsync","map","plugin","webpageEndpoint","packageName","queryPluginWebpageRootAsync","pluginName","find","p","webpageRoot","expoPackagePath","resolveFrom","silent","resolvedPath","path","dirname","autolinkingModule","queryAutolinkingModulesFromProjectAsync","Error","platform","onlyProjectDeps"],"mappings":";;;;;;;;;;;IAMaA,sBAAsB;eAAtBA;;IAYb,OAkDC;eAlDoBC;;;;gEAjBJ;;;;;;;gEACO;;;;;;;;;;;AAExB,MAAMC,QAAQC,QAAQ,SAAS;AAExB,MAAMH,yBAAyB;AAYvB,MAAMC;IAGnBG,YAAY,AAAQC,WAAmB,CAAE;aAArBA,cAAAA;aAFZC,UAAmC;IAED;IAE1C,MAAaC,oBAA+C;QAC1D,IAAI,IAAI,CAACD,OAAO,EAAE;YAChB,OAAO,IAAI,CAACA,OAAO;QACrB;QACA,MAAMA,UAAU,AAAC,CAAA,MAAM,IAAI,CAACE,2BAA2B,CAAC,IAAI,CAACH,WAAW,CAAA,EAAGI,GAAG,CAAC,CAACC,SAAY,CAAA;gBAC1F,GAAGA,MAAM;gBACTC,iBAAiB,GAAGX,uBAAuB,CAAC,EAAEU,OAAOE,WAAW,EAAE;YACpE,CAAA;QACA,IAAI,CAACN,OAAO,GAAGA;QACf,OAAO,IAAI,CAACA,OAAO;IACrB;IAEA,MAAaO,4BAA4BC,UAAkB,EAA0B;QACnF,MAAMR,UAAU,MAAM,IAAI,CAACC,iBAAiB;QAC5C,MAAMG,SAASJ,QAAQS,IAAI,CAAC,CAACC,IAAMA,EAAEJ,WAAW,KAAKE;QACrD,OAAOJ,CAAAA,0BAAAA,OAAQO,WAAW,KAAI;IAChC;IAEA,MAAcT,4BAA4BH,WAAmB,EAAgC;QAC3F,MAAMa,kBAAkBC,sBAAW,CAACC,MAAM,CAACf,aAAa;QACxD,IAAI,CAACa,iBAAiB;YACpB,OAAO,EAAE;QACX;QACA,MAAMG,eAAeF,sBAAW,CAACC,MAAM,CACrCE,eAAI,CAACC,OAAO,CAACL,kBACb;QAEF,IAAI,CAACG,cAAc;YACjB,OAAO,EAAE;QACX;QACA,MAAMG,oBAAoBrB,QACxBkB;QAEF,IAAI,CAACG,kBAAkBC,uCAAuC,EAAE;YAC9D,MAAM,IAAIC,MACR;QAEJ;QACA,MAAMpB,UAAW,MAAMkB,kBAAkBC,uCAAuC,CAACpB,aAAa;YAC5FsB,UAAU;YACVC,iBAAiB;QACnB;QACA1B,MAAM,4BAA4B,IAAI,CAACI,OAAO;QAC9C,OAAOA;IACT;AACF"}
|
|
@@ -4,7 +4,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
});
|
|
5
5
|
Object.defineProperty(exports, "DevelopmentSession", {
|
|
6
6
|
enumerable: true,
|
|
7
|
-
get: ()
|
|
7
|
+
get: function() {
|
|
8
|
+
return DevelopmentSession;
|
|
9
|
+
}
|
|
8
10
|
});
|
|
9
11
|
function _config() {
|
|
10
12
|
const data = require("@expo/config");
|
|
@@ -14,9 +16,9 @@ function _config() {
|
|
|
14
16
|
return data;
|
|
15
17
|
}
|
|
16
18
|
const _updateDevelopmentSession = require("../../api/updateDevelopmentSession");
|
|
17
|
-
const
|
|
19
|
+
const _UserSettings = require("../../api/user/UserSettings");
|
|
18
20
|
const _env = require("../../utils/env");
|
|
19
|
-
const _devices = /*#__PURE__*/
|
|
21
|
+
const _devices = /*#__PURE__*/ _interop_require_wildcard(require("../project/devices"));
|
|
20
22
|
function _getRequireWildcardCache(nodeInterop) {
|
|
21
23
|
if (typeof WeakMap !== "function") return null;
|
|
22
24
|
var cacheBabelInterop = new WeakMap();
|
|
@@ -25,7 +27,7 @@ function _getRequireWildcardCache(nodeInterop) {
|
|
|
25
27
|
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
|
26
28
|
})(nodeInterop);
|
|
27
29
|
}
|
|
28
|
-
function
|
|
30
|
+
function _interop_require_wildcard(obj, nodeInterop) {
|
|
29
31
|
if (!nodeInterop && obj && obj.__esModule) {
|
|
30
32
|
return obj;
|
|
31
33
|
}
|
|
@@ -38,7 +40,9 @@ function _interopRequireWildcard(obj, nodeInterop) {
|
|
|
38
40
|
if (cache && cache.has(obj)) {
|
|
39
41
|
return cache.get(obj);
|
|
40
42
|
}
|
|
41
|
-
var newObj = {
|
|
43
|
+
var newObj = {
|
|
44
|
+
__proto__: null
|
|
45
|
+
};
|
|
42
46
|
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
43
47
|
for(var key in obj){
|
|
44
48
|
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
@@ -56,9 +60,9 @@ function _interopRequireWildcard(obj, nodeInterop) {
|
|
|
56
60
|
}
|
|
57
61
|
return newObj;
|
|
58
62
|
}
|
|
59
|
-
const debug = require(
|
|
63
|
+
const debug = require('debug')('expo:start:server:developmentSession');
|
|
60
64
|
class DevelopmentSession {
|
|
61
|
-
constructor(projectRoot, url){
|
|
65
|
+
constructor(/** Project root directory. */ projectRoot, /** Development Server URL. */ url){
|
|
62
66
|
this.projectRoot = projectRoot;
|
|
63
67
|
this.url = url;
|
|
64
68
|
this.hasActiveSession = false;
|
|
@@ -70,15 +74,15 @@ class DevelopmentSession {
|
|
|
70
74
|
* @param projectRoot Project root folder, used for retrieving device installation IDs.
|
|
71
75
|
* @param props.exp Partial Expo config with values that will be used in the Expo Go app.
|
|
72
76
|
* @param props.runtime which runtime the app should be opened in. `native` for dev clients, `web` for web browsers.
|
|
73
|
-
*/ async startAsync({ exp =(0, _config().getConfig)(this.projectRoot).exp
|
|
77
|
+
*/ async startAsync({ exp = (0, _config().getConfig)(this.projectRoot).exp, runtime }) {
|
|
74
78
|
try {
|
|
75
79
|
if (_env.env.CI || _env.env.EXPO_OFFLINE) {
|
|
76
|
-
debug(_env.env.CI ?
|
|
80
|
+
debug(_env.env.CI ? 'This project will not be suggested in Expo Go or Dev Clients because Expo CLI is running in CI.' : 'This project will not be suggested in Expo Go or Dev Clients because Expo CLI is running in offline-mode.');
|
|
77
81
|
return;
|
|
78
82
|
}
|
|
79
83
|
const deviceIds = await this.getDeviceInstallationIdsAsync();
|
|
80
|
-
if (!(0,
|
|
81
|
-
debug(
|
|
84
|
+
if (!(0, _UserSettings.hasCredentials)() && !(deviceIds == null ? void 0 : deviceIds.length)) {
|
|
85
|
+
debug('Development session will not ping because the user is not authenticated and there are no devices.');
|
|
82
86
|
return;
|
|
83
87
|
}
|
|
84
88
|
if (this.url) {
|
|
@@ -96,8 +100,8 @@ class DevelopmentSession {
|
|
|
96
100
|
}
|
|
97
101
|
}
|
|
98
102
|
/** Get all recent devices for the project. */ async getDeviceInstallationIdsAsync() {
|
|
99
|
-
const { devices
|
|
100
|
-
return devices.map(({ installationId
|
|
103
|
+
const { devices } = await _devices.getDevicesInfoAsync(this.projectRoot);
|
|
104
|
+
return devices.map(({ installationId })=>installationId);
|
|
101
105
|
}
|
|
102
106
|
/** Try to close any pending development sessions, but always resolve */ async closeAsync() {
|
|
103
107
|
if (_env.env.CI || _env.env.EXPO_OFFLINE || !this.hasActiveSession) {
|
|
@@ -108,7 +112,7 @@ class DevelopmentSession {
|
|
|
108
112
|
this.hasActiveSession = false;
|
|
109
113
|
try {
|
|
110
114
|
const deviceIds = await this.getDeviceInstallationIdsAsync();
|
|
111
|
-
if (!(0,
|
|
115
|
+
if (!(0, _UserSettings.hasCredentials)() && !(deviceIds == null ? void 0 : deviceIds.length)) {
|
|
112
116
|
return false;
|
|
113
117
|
}
|
|
114
118
|
if (this.url) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/start/server/DevelopmentSession.ts"],"sourcesContent":["import { ExpoConfig, getConfig } from '@expo/config';\n\nimport {\n closeDevelopmentSessionAsync,\n updateDevelopmentSessionAsync,\n} from '../../api/updateDevelopmentSession';\nimport { hasCredentials } from '../../api/user/UserSettings';\nimport { env } from '../../utils/env';\nimport * as ProjectDevices from '../project/devices';\n\nconst debug = require('debug')('expo:start:server:developmentSession') as typeof console.log;\n\nexport class DevelopmentSession {\n /** If the `startAsync` was successfully called */\n private hasActiveSession = false;\n\n constructor(\n /** Project root directory. */\n private projectRoot: string,\n /** Development Server URL. */\n public url: string | null\n ) {}\n\n /**\n * Notify the Expo servers that a project is running, this enables the Expo Go app\n * and Dev Clients to offer a \"recently in development\" section for quick access.\n *\n * @param projectRoot Project root folder, used for retrieving device installation IDs.\n * @param props.exp Partial Expo config with values that will be used in the Expo Go app.\n * @param props.runtime which runtime the app should be opened in. `native` for dev clients, `web` for web browsers.\n */\n public async startAsync({\n exp = getConfig(this.projectRoot).exp,\n runtime,\n }: {\n exp?: Pick<ExpoConfig, 'name' | 'description' | 'slug' | 'primaryColor'>;\n runtime: 'native' | 'web';\n }): Promise<void> {\n try {\n if (env.CI || env.EXPO_OFFLINE) {\n debug(\n env.CI\n ? 'This project will not be suggested in Expo Go or Dev Clients because Expo CLI is running in CI.'\n : 'This project will not be suggested in Expo Go or Dev Clients because Expo CLI is running in offline-mode.'\n );\n return;\n }\n\n const deviceIds = await this.getDeviceInstallationIdsAsync();\n\n if (!hasCredentials() && !deviceIds?.length) {\n debug(\n 'Development session will not ping because the user is not authenticated and there are no devices.'\n );\n return;\n }\n\n if (this.url) {\n debug(`Development session ping (runtime: ${runtime}, url: ${this.url})`);\n await updateDevelopmentSessionAsync({\n url: this.url,\n runtime,\n exp,\n deviceIds,\n });\n this.hasActiveSession = true;\n }\n } catch (error: any) {\n debug(`Error updating development session API: ${error}`);\n }\n }\n\n /** Get all recent devices for the project. */\n private async getDeviceInstallationIdsAsync(): Promise<string[]> {\n const { devices } = await ProjectDevices.getDevicesInfoAsync(this.projectRoot);\n return devices.map(({ installationId }) => installationId);\n }\n\n /** Try to close any pending development sessions, but always resolve */\n public async closeAsync(): Promise<boolean> {\n if (env.CI || env.EXPO_OFFLINE || !this.hasActiveSession) {\n return false;\n }\n\n // Clear out the development session, even if the call fails.\n // This blocks subsequent calls to `stopAsync`\n this.hasActiveSession = false;\n\n try {\n const deviceIds = await this.getDeviceInstallationIdsAsync();\n\n if (!hasCredentials() && !deviceIds?.length) {\n return false;\n }\n\n if (this.url) {\n await closeDevelopmentSessionAsync({\n url: this.url,\n deviceIds,\n });\n }\n\n return true;\n } catch (error: any) {\n debug(`Error closing development session API: ${error}`);\n return false;\n }\n }\n}\n"],"names":["DevelopmentSession","debug","require","constructor","projectRoot","url","hasActiveSession","startAsync","exp","getConfig","runtime","env","CI","EXPO_OFFLINE","deviceIds","getDeviceInstallationIdsAsync","hasCredentials","length","updateDevelopmentSessionAsync","error","devices","ProjectDevices","getDevicesInfoAsync","map","installationId","closeAsync","closeDevelopmentSessionAsync"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../../src/start/server/DevelopmentSession.ts"],"sourcesContent":["import { ExpoConfig, getConfig } from '@expo/config';\n\nimport {\n closeDevelopmentSessionAsync,\n updateDevelopmentSessionAsync,\n} from '../../api/updateDevelopmentSession';\nimport { hasCredentials } from '../../api/user/UserSettings';\nimport { env } from '../../utils/env';\nimport * as ProjectDevices from '../project/devices';\n\nconst debug = require('debug')('expo:start:server:developmentSession') as typeof console.log;\n\nexport class DevelopmentSession {\n /** If the `startAsync` was successfully called */\n private hasActiveSession = false;\n\n constructor(\n /** Project root directory. */\n private projectRoot: string,\n /** Development Server URL. */\n public url: string | null\n ) {}\n\n /**\n * Notify the Expo servers that a project is running, this enables the Expo Go app\n * and Dev Clients to offer a \"recently in development\" section for quick access.\n *\n * @param projectRoot Project root folder, used for retrieving device installation IDs.\n * @param props.exp Partial Expo config with values that will be used in the Expo Go app.\n * @param props.runtime which runtime the app should be opened in. `native` for dev clients, `web` for web browsers.\n */\n public async startAsync({\n exp = getConfig(this.projectRoot).exp,\n runtime,\n }: {\n exp?: Pick<ExpoConfig, 'name' | 'description' | 'slug' | 'primaryColor'>;\n runtime: 'native' | 'web';\n }): Promise<void> {\n try {\n if (env.CI || env.EXPO_OFFLINE) {\n debug(\n env.CI\n ? 'This project will not be suggested in Expo Go or Dev Clients because Expo CLI is running in CI.'\n : 'This project will not be suggested in Expo Go or Dev Clients because Expo CLI is running in offline-mode.'\n );\n return;\n }\n\n const deviceIds = await this.getDeviceInstallationIdsAsync();\n\n if (!hasCredentials() && !deviceIds?.length) {\n debug(\n 'Development session will not ping because the user is not authenticated and there are no devices.'\n );\n return;\n }\n\n if (this.url) {\n debug(`Development session ping (runtime: ${runtime}, url: ${this.url})`);\n await updateDevelopmentSessionAsync({\n url: this.url,\n runtime,\n exp,\n deviceIds,\n });\n this.hasActiveSession = true;\n }\n } catch (error: any) {\n debug(`Error updating development session API: ${error}`);\n }\n }\n\n /** Get all recent devices for the project. */\n private async getDeviceInstallationIdsAsync(): Promise<string[]> {\n const { devices } = await ProjectDevices.getDevicesInfoAsync(this.projectRoot);\n return devices.map(({ installationId }) => installationId);\n }\n\n /** Try to close any pending development sessions, but always resolve */\n public async closeAsync(): Promise<boolean> {\n if (env.CI || env.EXPO_OFFLINE || !this.hasActiveSession) {\n return false;\n }\n\n // Clear out the development session, even if the call fails.\n // This blocks subsequent calls to `stopAsync`\n this.hasActiveSession = false;\n\n try {\n const deviceIds = await this.getDeviceInstallationIdsAsync();\n\n if (!hasCredentials() && !deviceIds?.length) {\n return false;\n }\n\n if (this.url) {\n await closeDevelopmentSessionAsync({\n url: this.url,\n deviceIds,\n });\n }\n\n return true;\n } catch (error: any) {\n debug(`Error closing development session API: ${error}`);\n return false;\n }\n }\n}\n"],"names":["DevelopmentSession","debug","require","constructor","projectRoot","url","hasActiveSession","startAsync","exp","getConfig","runtime","env","CI","EXPO_OFFLINE","deviceIds","getDeviceInstallationIdsAsync","hasCredentials","length","updateDevelopmentSessionAsync","error","devices","ProjectDevices","getDevicesInfoAsync","map","installationId","closeAsync","closeDevelopmentSessionAsync"],"mappings":";;;;+BAYaA;;;eAAAA;;;;yBAZyB;;;;;;0CAK/B;8BACwB;qBACX;iEACY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEhC,MAAMC,QAAQC,QAAQ,SAAS;AAExB,MAAMF;IAIXG,YACE,4BAA4B,GAC5B,AAAQC,WAAmB,EAC3B,4BAA4B,GAC5B,AAAOC,GAAkB,CACzB;aAHQD,cAAAA;aAEDC,MAAAA;aANDC,mBAAmB;IAOxB;IAEH;;;;;;;GAOC,GACD,MAAaC,WAAW,EACtBC,MAAMC,IAAAA,mBAAS,EAAC,IAAI,CAACL,WAAW,EAAEI,GAAG,EACrCE,OAAO,EAIR,EAAiB;QAChB,IAAI;YACF,IAAIC,QAAG,CAACC,EAAE,IAAID,QAAG,CAACE,YAAY,EAAE;gBAC9BZ,MACEU,QAAG,CAACC,EAAE,GACF,oGACA;gBAEN;YACF;YAEA,MAAME,YAAY,MAAM,IAAI,CAACC,6BAA6B;YAE1D,IAAI,CAACC,IAAAA,4BAAc,OAAM,EAACF,6BAAAA,UAAWG,MAAM,GAAE;gBAC3ChB,MACE;gBAEF;YACF;YAEA,IAAI,IAAI,CAACI,GAAG,EAAE;gBACZJ,MAAM,CAAC,mCAAmC,EAAES,QAAQ,OAAO,EAAE,IAAI,CAACL,GAAG,CAAC,CAAC,CAAC;gBACxE,MAAMa,IAAAA,uDAA6B,EAAC;oBAClCb,KAAK,IAAI,CAACA,GAAG;oBACbK;oBACAF;oBACAM;gBACF;gBACA,IAAI,CAACR,gBAAgB,GAAG;YAC1B;QACF,EAAE,OAAOa,OAAY;YACnBlB,MAAM,CAAC,wCAAwC,EAAEkB,OAAO;QAC1D;IACF;IAEA,4CAA4C,GAC5C,MAAcJ,gCAAmD;QAC/D,MAAM,EAAEK,OAAO,EAAE,GAAG,MAAMC,SAAeC,mBAAmB,CAAC,IAAI,CAAClB,WAAW;QAC7E,OAAOgB,QAAQG,GAAG,CAAC,CAAC,EAAEC,cAAc,EAAE,GAAKA;IAC7C;IAEA,sEAAsE,GACtE,MAAaC,aAA+B;QAC1C,IAAId,QAAG,CAACC,EAAE,IAAID,QAAG,CAACE,YAAY,IAAI,CAAC,IAAI,CAACP,gBAAgB,EAAE;YACxD,OAAO;QACT;QAEA,6DAA6D;QAC7D,8CAA8C;QAC9C,IAAI,CAACA,gBAAgB,GAAG;QAExB,IAAI;YACF,MAAMQ,YAAY,MAAM,IAAI,CAACC,6BAA6B;YAE1D,IAAI,CAACC,IAAAA,4BAAc,OAAM,EAACF,6BAAAA,UAAWG,MAAM,GAAE;gBAC3C,OAAO;YACT;YAEA,IAAI,IAAI,CAACZ,GAAG,EAAE;gBACZ,MAAMqB,IAAAA,sDAA4B,EAAC;oBACjCrB,KAAK,IAAI,CAACA,GAAG;oBACbS;gBACF;YACF;YAEA,OAAO;QACT,EAAE,OAAOK,OAAY;YACnBlB,MAAM,CAAC,uCAAuC,EAAEkB,OAAO;YACvD,OAAO;QACT;IACF;AACF"}
|
|
@@ -9,12 +9,18 @@ function _export(target, all) {
|
|
|
9
9
|
});
|
|
10
10
|
}
|
|
11
11
|
_export(exports, {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
12
|
+
addReactDevToolsReloadListener: function() {
|
|
13
|
+
return addReactDevToolsReloadListener;
|
|
14
|
+
},
|
|
15
|
+
closeReactDevToolsProxy: function() {
|
|
16
|
+
return closeReactDevToolsProxy;
|
|
17
|
+
},
|
|
18
|
+
startReactDevToolsProxyAsync: function() {
|
|
19
|
+
return startReactDevToolsProxyAsync;
|
|
20
|
+
}
|
|
15
21
|
});
|
|
16
22
|
function _assert() {
|
|
17
|
-
const data = /*#__PURE__*/
|
|
23
|
+
const data = /*#__PURE__*/ _interop_require_default(require("assert"));
|
|
18
24
|
_assert = function() {
|
|
19
25
|
return data;
|
|
20
26
|
};
|
|
@@ -28,13 +34,13 @@ function _events() {
|
|
|
28
34
|
return data;
|
|
29
35
|
}
|
|
30
36
|
function _ws() {
|
|
31
|
-
const data = /*#__PURE__*/
|
|
37
|
+
const data = /*#__PURE__*/ _interop_require_default(require("ws"));
|
|
32
38
|
_ws = function() {
|
|
33
39
|
return data;
|
|
34
40
|
};
|
|
35
41
|
return data;
|
|
36
42
|
}
|
|
37
|
-
function
|
|
43
|
+
function _interop_require_default(obj) {
|
|
38
44
|
return obj && obj.__esModule ? obj : {
|
|
39
45
|
default: obj
|
|
40
46
|
};
|
|
@@ -48,7 +54,7 @@ const eventEmitter = new (_events()).EventEmitter();
|
|
|
48
54
|
* If we reload the frontend without reloading the app, the react-devtools will stuck on incorrect state.
|
|
49
55
|
* We introduce this special reload command.
|
|
50
56
|
* As long as the frontend reload, we will close app's WebSocket connection and tell app to reconnect again.
|
|
51
|
-
*/ const RELOAD_COMMAND =
|
|
57
|
+
*/ const RELOAD_COMMAND = 'Expo::RELOAD';
|
|
52
58
|
async function startReactDevToolsProxyAsync(options) {
|
|
53
59
|
if (serverInstance != null) {
|
|
54
60
|
return;
|
|
@@ -56,8 +62,8 @@ async function startReactDevToolsProxyAsync(options) {
|
|
|
56
62
|
serverInstance = new (_ws()).default.WebSocketServer({
|
|
57
63
|
port: (options == null ? void 0 : options.port) ?? 8097
|
|
58
64
|
});
|
|
59
|
-
serverInstance.on(
|
|
60
|
-
ws.on(
|
|
65
|
+
serverInstance.on('connection', function connection(ws) {
|
|
66
|
+
ws.on('message', function message(rawData, isBinary) {
|
|
61
67
|
(0, _assert().default)(!isBinary);
|
|
62
68
|
const data = rawData.toString();
|
|
63
69
|
if (data === RELOAD_COMMAND) {
|
|
@@ -74,7 +80,7 @@ async function startReactDevToolsProxyAsync(options) {
|
|
|
74
80
|
});
|
|
75
81
|
});
|
|
76
82
|
});
|
|
77
|
-
serverInstance.on(
|
|
83
|
+
serverInstance.on('close', function() {
|
|
78
84
|
serverInstance = null;
|
|
79
85
|
});
|
|
80
86
|
}
|