@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,34 +4,36 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
});
|
|
5
5
|
Object.defineProperty(exports, "resolveDestinationsAsync", {
|
|
6
6
|
enumerable: true,
|
|
7
|
-
get: ()
|
|
7
|
+
get: function() {
|
|
8
|
+
return resolveDestinationsAsync;
|
|
9
|
+
}
|
|
8
10
|
});
|
|
9
|
-
function
|
|
10
|
-
const data = /*#__PURE__*/
|
|
11
|
-
|
|
11
|
+
function _spawnasync() {
|
|
12
|
+
const data = /*#__PURE__*/ _interop_require_default(require("@expo/spawn-async"));
|
|
13
|
+
_spawnasync = function() {
|
|
12
14
|
return data;
|
|
13
15
|
};
|
|
14
16
|
return data;
|
|
15
17
|
}
|
|
16
18
|
const _log = require("../../../log");
|
|
17
|
-
function
|
|
19
|
+
function _interop_require_default(obj) {
|
|
18
20
|
return obj && obj.__esModule ? obj : {
|
|
19
21
|
default: obj
|
|
20
22
|
};
|
|
21
23
|
}
|
|
22
|
-
const debug = require(
|
|
24
|
+
const debug = require('debug')('expo:apple-destination');
|
|
23
25
|
function coerceDestinationPlatformToOsType(platform) {
|
|
24
26
|
// The only two devices I have to test against...
|
|
25
27
|
switch(platform){
|
|
26
|
-
case
|
|
27
|
-
return
|
|
28
|
-
case
|
|
29
|
-
case
|
|
30
|
-
return
|
|
31
|
-
case
|
|
32
|
-
return
|
|
28
|
+
case 'iOS':
|
|
29
|
+
return 'iOS';
|
|
30
|
+
case 'xrOS':
|
|
31
|
+
case 'visionOS':
|
|
32
|
+
return 'xrOS';
|
|
33
|
+
case 'macOS':
|
|
34
|
+
return 'macOS';
|
|
33
35
|
default:
|
|
34
|
-
debug(
|
|
36
|
+
debug('Unknown destination platform (needs to be added to Expo CLI):', platform);
|
|
35
37
|
return platform;
|
|
36
38
|
}
|
|
37
39
|
}
|
|
@@ -40,26 +42,26 @@ function filterBoolean(array) {
|
|
|
40
42
|
return array.filter(Boolean);
|
|
41
43
|
}
|
|
42
44
|
function warnDestinationObject(obj) {
|
|
43
|
-
if (!obj || typeof obj !==
|
|
45
|
+
if (!obj || typeof obj !== 'object') {
|
|
44
46
|
return null;
|
|
45
47
|
}
|
|
46
|
-
if (
|
|
48
|
+
if ('platform' in obj && 'id' in obj && 'name' in obj) {
|
|
47
49
|
return obj;
|
|
48
50
|
}
|
|
49
|
-
_log.Log.warn(
|
|
51
|
+
_log.Log.warn('Unexpected xcode destination object:', obj);
|
|
50
52
|
return null;
|
|
51
53
|
}
|
|
52
54
|
function parseXcodeDestinationString(str) {
|
|
53
|
-
const parsedLines = filterBoolean(str.trim().split(
|
|
55
|
+
const parsedLines = filterBoolean(str.trim().split('\n').map((line)=>{
|
|
54
56
|
line = line.trim();
|
|
55
|
-
return line.startsWith(
|
|
57
|
+
return line.startsWith('{') ? line : null;
|
|
56
58
|
})).map((line)=>{
|
|
57
|
-
var
|
|
58
|
-
const inner = (
|
|
59
|
+
var _line_match;
|
|
60
|
+
const inner = (_line_match = line.match(/{(.*)}/)) == null ? void 0 : _line_match[1];
|
|
59
61
|
if (!inner) return null;
|
|
60
|
-
return Object.fromEntries(filterBoolean(inner.trim().split(
|
|
61
|
-
var
|
|
62
|
-
return (
|
|
62
|
+
return Object.fromEntries(filterBoolean(inner.trim().split(', ').map((item)=>{
|
|
63
|
+
var _item_trim_match;
|
|
64
|
+
return (_item_trim_match = item.trim().match(/(?<key>[^:]+):(?<value>.+)/)) == null ? void 0 : _item_trim_match.groups;
|
|
63
65
|
})).map((item)=>[
|
|
64
66
|
item.key,
|
|
65
67
|
item.value
|
|
@@ -73,21 +75,21 @@ function coercePhysicalDevice(device) {
|
|
|
73
75
|
/** @example `00008101-001964A22629003A` */ udid: device.id,
|
|
74
76
|
/** @example `Evan's phone` */ name: device.name,
|
|
75
77
|
/** @example `iPhone13,4` */ // model: 'UNKNOWN',
|
|
76
|
-
/** @example `device` */ deviceType:
|
|
78
|
+
/** @example `device` */ deviceType: 'device',
|
|
77
79
|
osType: coerceDestinationPlatformToOsType(device.platform),
|
|
78
|
-
osVersion:
|
|
80
|
+
osVersion: ''
|
|
79
81
|
};
|
|
80
82
|
}
|
|
81
83
|
function coerceSimulatorDevice(device) {
|
|
82
84
|
// simulator
|
|
83
85
|
return {
|
|
84
86
|
/** '00E55DC0-0364-49DF-9EC6-77BE587137D4' */ udid: device.id,
|
|
85
|
-
/** 'com.apple.CoreSimulator.SimRuntime.iOS-15-1' */ runtime:
|
|
87
|
+
/** 'com.apple.CoreSimulator.SimRuntime.iOS-15-1' */ runtime: '',
|
|
86
88
|
/** If the device is "available" which generally means that the OS files haven't been deleted (this can happen when Xcode updates). */ isAvailable: true,
|
|
87
|
-
deviceTypeIdentifier:
|
|
88
|
-
state:
|
|
89
|
+
deviceTypeIdentifier: '',
|
|
90
|
+
state: 'Shutdown',
|
|
89
91
|
/** 'iPhone 13 Pro' */ name: device.name,
|
|
90
|
-
/** Type of OS the device uses. */ osType: device.platform ===
|
|
92
|
+
/** Type of OS the device uses. */ osType: device.platform === 'visionOS Simulator' ? 'xrOS' : 'iOS',
|
|
91
93
|
/** '15.1' */ osVersion: device.OS,
|
|
92
94
|
/** 'iPhone 13 Pro (15.1)' */ windowName: `${device.name} (${device.OS})`
|
|
93
95
|
};
|
|
@@ -106,15 +108,15 @@ function coerceDestinationObjectToKnownDeviceType(device) {
|
|
|
106
108
|
}
|
|
107
109
|
async function resolveDestinationsAsync(props) {
|
|
108
110
|
// xcodebuild -workspace /Users/evanbacon/Documents/GitHub/lab/apr23/ios/apr23.xcworkspace -configuration Debug -scheme apr23 -showdestinations -json
|
|
109
|
-
const { stdout
|
|
110
|
-
props.xcodeProject.isWorkspace ?
|
|
111
|
+
const { stdout } = await (0, _spawnasync().default)('xcodebuild', [
|
|
112
|
+
props.xcodeProject.isWorkspace ? '-workspace' : '-project',
|
|
111
113
|
props.xcodeProject.name,
|
|
112
|
-
|
|
114
|
+
'-configuration',
|
|
113
115
|
props.configuration,
|
|
114
|
-
|
|
116
|
+
'-scheme',
|
|
115
117
|
props.scheme,
|
|
116
|
-
|
|
117
|
-
|
|
118
|
+
'-showdestinations',
|
|
119
|
+
'-quiet'
|
|
118
120
|
]);
|
|
119
121
|
// console.log(JSON.stringify(stdout, null, 2));
|
|
120
122
|
const destinationObjects = parseXcodeDestinationString(stdout);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/run/ios/options/appleDestinations.ts"],"sourcesContent":["import spawnAsync from '@expo/spawn-async';\n\nimport { Log } from '../../../log';\nimport { OSType } from '../../../start/platforms/ios/simctl';\nimport * as SimControl from '../../../start/platforms/ios/simctl';\nimport { BuildProps } from '../XcodeBuild.types';\nimport * as AppleDevice from '../appleDevice/AppleDevice';\n\nconst debug = require('debug')('expo:apple-destination') as typeof console.log;\n\ninterface Destination {\n // 'visionOS'\n platform: string;\n // 'arm64'\n arch?: string;\n // 'Designed for [iPad,iPhone]'\n variant?: string;\n // '00008112-001A20EC1E78A01E'\n id: string;\n // 'Apple Vision Pro'\n name: string;\n // Available in simulators\n OS?: string;\n}\n\nfunction coerceDestinationPlatformToOsType(platform: string): OSType {\n // The only two devices I have to test against...\n switch (platform) {\n case 'iOS':\n return 'iOS';\n case 'xrOS':\n case 'visionOS':\n return 'xrOS';\n case 'macOS':\n return 'macOS';\n default:\n debug('Unknown destination platform (needs to be added to Expo CLI):', platform);\n return platform as OSType;\n }\n}\n\n// Runs `.filter(Boolean)` on the array with correct types.\nfunction filterBoolean<T>(array: (T | null | undefined)[]): T[] {\n return array.filter(Boolean) as T[];\n}\n\nfunction warnDestinationObject(obj: any): Destination | null {\n if (!obj || typeof obj !== 'object') {\n return null;\n }\n\n if ('platform' in obj && 'id' in obj && 'name' in obj) {\n return obj;\n }\n Log.warn('Unexpected xcode destination object:', obj);\n return null;\n}\n\nfunction parseXcodeDestinationString(str: string): Destination[] {\n const parsedLines = filterBoolean(\n str\n .trim()\n .split('\\n')\n .map((line: string) => {\n line = line.trim();\n return line.startsWith('{') ? line : null;\n })\n ).map((line) => {\n const inner = line.match(/{(.*)}/)?.[1];\n\n if (!inner) return null;\n\n return Object.fromEntries(\n filterBoolean(\n inner\n .trim()\n .split(', ')\n .map((item) => item.trim().match(/(?<key>[^:]+):(?<value>.+)/)?.groups)\n ).map((item) => [item!.key, item!.value])\n );\n });\n\n return filterBoolean(parsedLines.map(warnDestinationObject));\n}\n\nfunction coercePhysicalDevice(\n device: Destination\n): Pick<AppleDevice.ConnectedDevice, 'udid' | 'name' | 'osType' | 'deviceType' | 'osVersion'> {\n // physical device\n return {\n /** @example `00008101-001964A22629003A` */\n udid: device.id,\n /** @example `Evan's phone` */\n name: device.name,\n /** @example `iPhone13,4` */\n // model: 'UNKNOWN',\n /** @example `device` */\n deviceType: 'device',\n osType: coerceDestinationPlatformToOsType(device.platform),\n\n osVersion: '',\n };\n}\n\nfunction coerceSimulatorDevice(\n device: Destination\n): Pick<\n SimControl.Device,\n | 'udid'\n | 'name'\n | 'osType'\n | 'osVersion'\n | 'runtime'\n | 'isAvailable'\n | 'deviceTypeIdentifier'\n | 'state'\n | 'windowName'\n> {\n // simulator\n return {\n /** '00E55DC0-0364-49DF-9EC6-77BE587137D4' */\n udid: device.id,\n /** 'com.apple.CoreSimulator.SimRuntime.iOS-15-1' */\n runtime: '',\n /** If the device is \"available\" which generally means that the OS files haven't been deleted (this can happen when Xcode updates). */\n isAvailable: true,\n\n deviceTypeIdentifier: '',\n\n state: 'Shutdown',\n /** 'iPhone 13 Pro' */\n name: device.name,\n /** Type of OS the device uses. */\n osType: device.platform === 'visionOS Simulator' ? 'xrOS' : 'iOS',\n /** '15.1' */\n osVersion: device.OS!,\n /** 'iPhone 13 Pro (15.1)' */\n windowName: `${device.name} (${device.OS})`,\n };\n}\n\nfunction coerceDestinationObjectToKnownDeviceType(device: Destination) {\n if (device.arch) {\n // physical device\n return coercePhysicalDevice(device);\n } else if (device.OS) {\n // simulator\n return coerceSimulatorDevice(device);\n } else {\n // \"Any device\"\n return null;\n }\n}\n\nexport async function resolveDestinationsAsync(\n props: Pick<BuildProps, 'configuration' | 'scheme' | 'xcodeProject'>\n): Promise<{ name: string; osType: OSType; osVersion: string; udid: string }[]> {\n // xcodebuild -workspace /Users/evanbacon/Documents/GitHub/lab/apr23/ios/apr23.xcworkspace -configuration Debug -scheme apr23 -showdestinations -json\n\n const { stdout } = await spawnAsync('xcodebuild', [\n props.xcodeProject.isWorkspace ? '-workspace' : '-project',\n props.xcodeProject.name,\n '-configuration',\n props.configuration,\n '-scheme',\n props.scheme,\n '-showdestinations',\n '-quiet',\n ]);\n\n // console.log(JSON.stringify(stdout, null, 2));\n\n const destinationObjects = parseXcodeDestinationString(stdout);\n\n return filterBoolean(destinationObjects.map(coerceDestinationObjectToKnownDeviceType));\n}\n"],"names":["resolveDestinationsAsync","debug","require","coerceDestinationPlatformToOsType","platform","filterBoolean","array","filter","Boolean","warnDestinationObject","obj","Log","warn","parseXcodeDestinationString","str","parsedLines","trim","split","map","line","startsWith","inner","match","Object","fromEntries","item","groups","key","value","coercePhysicalDevice","device","udid","id","name","deviceType","osType","osVersion","coerceSimulatorDevice","runtime","isAvailable","deviceTypeIdentifier","state","OS","windowName","coerceDestinationObjectToKnownDeviceType","arch","props","stdout","spawnAsync","xcodeProject","isWorkspace","configuration","scheme","destinationObjects"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../../../src/run/ios/options/appleDestinations.ts"],"sourcesContent":["import spawnAsync from '@expo/spawn-async';\n\nimport { Log } from '../../../log';\nimport { OSType } from '../../../start/platforms/ios/simctl';\nimport * as SimControl from '../../../start/platforms/ios/simctl';\nimport { BuildProps } from '../XcodeBuild.types';\nimport * as AppleDevice from '../appleDevice/AppleDevice';\n\nconst debug = require('debug')('expo:apple-destination') as typeof console.log;\n\ninterface Destination {\n // 'visionOS'\n platform: string;\n // 'arm64'\n arch?: string;\n // 'Designed for [iPad,iPhone]'\n variant?: string;\n // '00008112-001A20EC1E78A01E'\n id: string;\n // 'Apple Vision Pro'\n name: string;\n // Available in simulators\n OS?: string;\n}\n\nfunction coerceDestinationPlatformToOsType(platform: string): OSType {\n // The only two devices I have to test against...\n switch (platform) {\n case 'iOS':\n return 'iOS';\n case 'xrOS':\n case 'visionOS':\n return 'xrOS';\n case 'macOS':\n return 'macOS';\n default:\n debug('Unknown destination platform (needs to be added to Expo CLI):', platform);\n return platform as OSType;\n }\n}\n\n// Runs `.filter(Boolean)` on the array with correct types.\nfunction filterBoolean<T>(array: (T | null | undefined)[]): T[] {\n return array.filter(Boolean) as T[];\n}\n\nfunction warnDestinationObject(obj: any): Destination | null {\n if (!obj || typeof obj !== 'object') {\n return null;\n }\n\n if ('platform' in obj && 'id' in obj && 'name' in obj) {\n return obj;\n }\n Log.warn('Unexpected xcode destination object:', obj);\n return null;\n}\n\nfunction parseXcodeDestinationString(str: string): Destination[] {\n const parsedLines = filterBoolean(\n str\n .trim()\n .split('\\n')\n .map((line: string) => {\n line = line.trim();\n return line.startsWith('{') ? line : null;\n })\n ).map((line) => {\n const inner = line.match(/{(.*)}/)?.[1];\n\n if (!inner) return null;\n\n return Object.fromEntries(\n filterBoolean(\n inner\n .trim()\n .split(', ')\n .map((item) => item.trim().match(/(?<key>[^:]+):(?<value>.+)/)?.groups)\n ).map((item) => [item!.key, item!.value])\n );\n });\n\n return filterBoolean(parsedLines.map(warnDestinationObject));\n}\n\nfunction coercePhysicalDevice(\n device: Destination\n): Pick<AppleDevice.ConnectedDevice, 'udid' | 'name' | 'osType' | 'deviceType' | 'osVersion'> {\n // physical device\n return {\n /** @example `00008101-001964A22629003A` */\n udid: device.id,\n /** @example `Evan's phone` */\n name: device.name,\n /** @example `iPhone13,4` */\n // model: 'UNKNOWN',\n /** @example `device` */\n deviceType: 'device',\n osType: coerceDestinationPlatformToOsType(device.platform),\n\n osVersion: '',\n };\n}\n\nfunction coerceSimulatorDevice(\n device: Destination\n): Pick<\n SimControl.Device,\n | 'udid'\n | 'name'\n | 'osType'\n | 'osVersion'\n | 'runtime'\n | 'isAvailable'\n | 'deviceTypeIdentifier'\n | 'state'\n | 'windowName'\n> {\n // simulator\n return {\n /** '00E55DC0-0364-49DF-9EC6-77BE587137D4' */\n udid: device.id,\n /** 'com.apple.CoreSimulator.SimRuntime.iOS-15-1' */\n runtime: '',\n /** If the device is \"available\" which generally means that the OS files haven't been deleted (this can happen when Xcode updates). */\n isAvailable: true,\n\n deviceTypeIdentifier: '',\n\n state: 'Shutdown',\n /** 'iPhone 13 Pro' */\n name: device.name,\n /** Type of OS the device uses. */\n osType: device.platform === 'visionOS Simulator' ? 'xrOS' : 'iOS',\n /** '15.1' */\n osVersion: device.OS!,\n /** 'iPhone 13 Pro (15.1)' */\n windowName: `${device.name} (${device.OS})`,\n };\n}\n\nfunction coerceDestinationObjectToKnownDeviceType(device: Destination) {\n if (device.arch) {\n // physical device\n return coercePhysicalDevice(device);\n } else if (device.OS) {\n // simulator\n return coerceSimulatorDevice(device);\n } else {\n // \"Any device\"\n return null;\n }\n}\n\nexport async function resolveDestinationsAsync(\n props: Pick<BuildProps, 'configuration' | 'scheme' | 'xcodeProject'>\n): Promise<{ name: string; osType: OSType; osVersion: string; udid: string }[]> {\n // xcodebuild -workspace /Users/evanbacon/Documents/GitHub/lab/apr23/ios/apr23.xcworkspace -configuration Debug -scheme apr23 -showdestinations -json\n\n const { stdout } = await spawnAsync('xcodebuild', [\n props.xcodeProject.isWorkspace ? '-workspace' : '-project',\n props.xcodeProject.name,\n '-configuration',\n props.configuration,\n '-scheme',\n props.scheme,\n '-showdestinations',\n '-quiet',\n ]);\n\n // console.log(JSON.stringify(stdout, null, 2));\n\n const destinationObjects = parseXcodeDestinationString(stdout);\n\n return filterBoolean(destinationObjects.map(coerceDestinationObjectToKnownDeviceType));\n}\n"],"names":["resolveDestinationsAsync","debug","require","coerceDestinationPlatformToOsType","platform","filterBoolean","array","filter","Boolean","warnDestinationObject","obj","Log","warn","parseXcodeDestinationString","str","parsedLines","trim","split","map","line","startsWith","inner","match","Object","fromEntries","item","groups","key","value","coercePhysicalDevice","device","udid","id","name","deviceType","osType","osVersion","coerceSimulatorDevice","runtime","isAvailable","deviceTypeIdentifier","state","OS","windowName","coerceDestinationObjectToKnownDeviceType","arch","props","stdout","spawnAsync","xcodeProject","isWorkspace","configuration","scheme","destinationObjects"],"mappings":";;;;+BA0JsBA;;;eAAAA;;;;gEA1JC;;;;;;qBAEH;;;;;;AAMpB,MAAMC,QAAQC,QAAQ,SAAS;AAiB/B,SAASC,kCAAkCC,QAAgB;IACzD,iDAAiD;IACjD,OAAQA;QACN,KAAK;YACH,OAAO;QACT,KAAK;QACL,KAAK;YACH,OAAO;QACT,KAAK;YACH,OAAO;QACT;YACEH,MAAM,iEAAiEG;YACvE,OAAOA;IACX;AACF;AAEA,2DAA2D;AAC3D,SAASC,cAAiBC,KAA+B;IACvD,OAAOA,MAAMC,MAAM,CAACC;AACtB;AAEA,SAASC,sBAAsBC,GAAQ;IACrC,IAAI,CAACA,OAAO,OAAOA,QAAQ,UAAU;QACnC,OAAO;IACT;IAEA,IAAI,cAAcA,OAAO,QAAQA,OAAO,UAAUA,KAAK;QACrD,OAAOA;IACT;IACAC,QAAG,CAACC,IAAI,CAAC,wCAAwCF;IACjD,OAAO;AACT;AAEA,SAASG,4BAA4BC,GAAW;IAC9C,MAAMC,cAAcV,cAClBS,IACGE,IAAI,GACJC,KAAK,CAAC,MACNC,GAAG,CAAC,CAACC;QACJA,OAAOA,KAAKH,IAAI;QAChB,OAAOG,KAAKC,UAAU,CAAC,OAAOD,OAAO;IACvC,IACFD,GAAG,CAAC,CAACC;YACSA;QAAd,MAAME,SAAQF,cAAAA,KAAKG,KAAK,CAAC,8BAAXH,WAAsB,CAAC,EAAE;QAEvC,IAAI,CAACE,OAAO,OAAO;QAEnB,OAAOE,OAAOC,WAAW,CACvBnB,cACEgB,MACGL,IAAI,GACJC,KAAK,CAAC,MACNC,GAAG,CAAC,CAACO;gBAASA;oBAAAA,mBAAAA,KAAKT,IAAI,GAAGM,KAAK,CAAC,kDAAlBG,iBAAiDC,MAAM;YACxER,GAAG,CAAC,CAACO,OAAS;gBAACA,KAAME,GAAG;gBAAEF,KAAMG,KAAK;aAAC;IAE5C;IAEA,OAAOvB,cAAcU,YAAYG,GAAG,CAACT;AACvC;AAEA,SAASoB,qBACPC,MAAmB;IAEnB,kBAAkB;IAClB,OAAO;QACL,yCAAyC,GACzCC,MAAMD,OAAOE,EAAE;QACf,4BAA4B,GAC5BC,MAAMH,OAAOG,IAAI;QACjB,0BAA0B,GAC1B,oBAAoB;QACpB,sBAAsB,GACtBC,YAAY;QACZC,QAAQhC,kCAAkC2B,OAAO1B,QAAQ;QAEzDgC,WAAW;IACb;AACF;AAEA,SAASC,sBACPP,MAAmB;IAanB,YAAY;IACZ,OAAO;QACL,2CAA2C,GAC3CC,MAAMD,OAAOE,EAAE;QACf,kDAAkD,GAClDM,SAAS;QACT,qIAAqI,GACrIC,aAAa;QAEbC,sBAAsB;QAEtBC,OAAO;QACP,oBAAoB,GACpBR,MAAMH,OAAOG,IAAI;QACjB,gCAAgC,GAChCE,QAAQL,OAAO1B,QAAQ,KAAK,uBAAuB,SAAS;QAC5D,WAAW,GACXgC,WAAWN,OAAOY,EAAE;QACpB,2BAA2B,GAC3BC,YAAY,GAAGb,OAAOG,IAAI,CAAC,EAAE,EAAEH,OAAOY,EAAE,CAAC,CAAC,CAAC;IAC7C;AACF;AAEA,SAASE,yCAAyCd,MAAmB;IACnE,IAAIA,OAAOe,IAAI,EAAE;QACf,kBAAkB;QAClB,OAAOhB,qBAAqBC;IAC9B,OAAO,IAAIA,OAAOY,EAAE,EAAE;QACpB,YAAY;QACZ,OAAOL,sBAAsBP;IAC/B,OAAO;QACL,eAAe;QACf,OAAO;IACT;AACF;AAEO,eAAe9B,yBACpB8C,KAAoE;IAEpE,qJAAqJ;IAErJ,MAAM,EAAEC,MAAM,EAAE,GAAG,MAAMC,IAAAA,qBAAU,EAAC,cAAc;QAChDF,MAAMG,YAAY,CAACC,WAAW,GAAG,eAAe;QAChDJ,MAAMG,YAAY,CAAChB,IAAI;QACvB;QACAa,MAAMK,aAAa;QACnB;QACAL,MAAMM,MAAM;QACZ;QACA;KACD;IAED,kDAAkD;IAElD,MAAMC,qBAAqBxC,4BAA4BkC;IAEvD,OAAO1C,cAAcgD,mBAAmBnC,GAAG,CAAC0B;AAC9C"}
|
|
@@ -9,48 +9,52 @@ function _export(target, all) {
|
|
|
9
9
|
});
|
|
10
10
|
}
|
|
11
11
|
_export(exports, {
|
|
12
|
-
formatDeviceChoice: ()
|
|
13
|
-
|
|
12
|
+
formatDeviceChoice: function() {
|
|
13
|
+
return formatDeviceChoice;
|
|
14
|
+
},
|
|
15
|
+
promptDeviceAsync: function() {
|
|
16
|
+
return promptDeviceAsync;
|
|
17
|
+
}
|
|
14
18
|
});
|
|
15
19
|
function _chalk() {
|
|
16
|
-
const data = /*#__PURE__*/
|
|
20
|
+
const data = /*#__PURE__*/ _interop_require_default(require("chalk"));
|
|
17
21
|
_chalk = function() {
|
|
18
22
|
return data;
|
|
19
23
|
};
|
|
20
24
|
return data;
|
|
21
25
|
}
|
|
22
|
-
const _prompts = /*#__PURE__*/
|
|
23
|
-
function
|
|
26
|
+
const _prompts = /*#__PURE__*/ _interop_require_default(require("../../../utils/prompts"));
|
|
27
|
+
function _interop_require_default(obj) {
|
|
24
28
|
return obj && obj.__esModule ? obj : {
|
|
25
29
|
default: obj
|
|
26
30
|
};
|
|
27
31
|
}
|
|
28
32
|
function isConnectedDevice(item) {
|
|
29
|
-
return
|
|
33
|
+
return 'deviceType' in item;
|
|
30
34
|
}
|
|
31
35
|
function isSimControlDevice(item) {
|
|
32
|
-
return
|
|
36
|
+
return 'state' in item;
|
|
33
37
|
}
|
|
34
38
|
function formatDeviceChoice(item) {
|
|
35
|
-
const isConnected = isConnectedDevice(item) && item.deviceType ===
|
|
36
|
-
const isActive = isSimControlDevice(item) && item.state ===
|
|
37
|
-
const symbol = item.osType ===
|
|
39
|
+
const isConnected = isConnectedDevice(item) && item.deviceType === 'device';
|
|
40
|
+
const isActive = isSimControlDevice(item) && item.state === 'Booted';
|
|
41
|
+
const symbol = item.osType === 'macOS' ? '🖥️ ' : isConnected ? item.connectionType === 'Network' ? '🌐 ' : '🔌 ' : '';
|
|
38
42
|
const format = isActive ? _chalk().default.bold : (text)=>text;
|
|
39
43
|
return {
|
|
40
|
-
title: `${symbol}${format(item.name)}${item.osVersion ? _chalk().default.dim(` (${item.osVersion})`) :
|
|
44
|
+
title: `${symbol}${format(item.name)}${item.osVersion ? _chalk().default.dim(` (${item.osVersion})`) : ''}`,
|
|
41
45
|
value: item.udid
|
|
42
46
|
};
|
|
43
47
|
}
|
|
44
48
|
async function promptDeviceAsync(devices) {
|
|
45
49
|
// --device with no props after
|
|
46
|
-
const { value
|
|
47
|
-
type:
|
|
48
|
-
name:
|
|
50
|
+
const { value } = await (0, _prompts.default)({
|
|
51
|
+
type: 'autocomplete',
|
|
52
|
+
name: 'value',
|
|
49
53
|
limit: 11,
|
|
50
|
-
message:
|
|
54
|
+
message: 'Select a device',
|
|
51
55
|
choices: devices.map((item)=>formatDeviceChoice(item)),
|
|
52
56
|
suggest: (input, choices)=>{
|
|
53
|
-
const regex = new RegExp(input,
|
|
57
|
+
const regex = new RegExp(input, 'i');
|
|
54
58
|
return choices.filter((choice)=>regex.test(choice.title));
|
|
55
59
|
}
|
|
56
60
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/run/ios/options/promptDevice.ts"],"sourcesContent":["import chalk from 'chalk';\n\nimport * as SimControl from '../../../start/platforms/ios/simctl';\nimport prompt from '../../../utils/prompts';\nimport { ConnectedDevice } from '../appleDevice/AppleDevice';\n\ntype AnyDevice = SimControl.Device | ConnectedDevice;\n\nfunction isConnectedDevice(item: AnyDevice): item is ConnectedDevice {\n return 'deviceType' in item;\n}\n\nfunction isSimControlDevice(item: AnyDevice): item is SimControl.Device {\n return 'state' in item;\n}\n\n/** Format a device for the prompt list. Exposed for testing. */\nexport function formatDeviceChoice(item: AnyDevice): { title: string; value: string } {\n const isConnected = isConnectedDevice(item) && item.deviceType === 'device';\n const isActive = isSimControlDevice(item) && item.state === 'Booted';\n const symbol =\n item.osType === 'macOS'\n ? '🖥️ '\n : isConnected\n ? item.connectionType === 'Network'\n ? '🌐 '\n : '🔌 '\n : '';\n const format = isActive ? chalk.bold : (text: string) => text;\n return {\n title: `${symbol}${format(item.name)}${\n item.osVersion ? chalk.dim(` (${item.osVersion})`) : ''\n }`,\n value: item.udid,\n };\n}\n\n/** Prompt to select a device from a searchable list of devices. */\nexport async function promptDeviceAsync(devices: AnyDevice[]): Promise<AnyDevice> {\n // --device with no props after\n const { value } = await prompt({\n type: 'autocomplete',\n name: 'value',\n limit: 11,\n message: 'Select a device',\n choices: devices.map((item) => formatDeviceChoice(item)),\n suggest: (input: any, choices: any) => {\n const regex = new RegExp(input, 'i');\n return choices.filter((choice: any) => regex.test(choice.title));\n },\n });\n return devices.find((device) => device.udid === value)!;\n}\n"],"names":["formatDeviceChoice","promptDeviceAsync","isConnectedDevice","item","isSimControlDevice","isConnected","deviceType","isActive","state","symbol","osType","connectionType","format","chalk","bold","text","title","name","osVersion","dim","value","udid","devices","prompt","type","limit","message","choices","map","suggest","input","regex","RegExp","filter","choice","test","find","device"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../../../src/run/ios/options/promptDevice.ts"],"sourcesContent":["import chalk from 'chalk';\n\nimport * as SimControl from '../../../start/platforms/ios/simctl';\nimport prompt from '../../../utils/prompts';\nimport { ConnectedDevice } from '../appleDevice/AppleDevice';\n\ntype AnyDevice = SimControl.Device | ConnectedDevice;\n\nfunction isConnectedDevice(item: AnyDevice): item is ConnectedDevice {\n return 'deviceType' in item;\n}\n\nfunction isSimControlDevice(item: AnyDevice): item is SimControl.Device {\n return 'state' in item;\n}\n\n/** Format a device for the prompt list. Exposed for testing. */\nexport function formatDeviceChoice(item: AnyDevice): { title: string; value: string } {\n const isConnected = isConnectedDevice(item) && item.deviceType === 'device';\n const isActive = isSimControlDevice(item) && item.state === 'Booted';\n const symbol =\n item.osType === 'macOS'\n ? '🖥️ '\n : isConnected\n ? item.connectionType === 'Network'\n ? '🌐 '\n : '🔌 '\n : '';\n const format = isActive ? chalk.bold : (text: string) => text;\n return {\n title: `${symbol}${format(item.name)}${\n item.osVersion ? chalk.dim(` (${item.osVersion})`) : ''\n }`,\n value: item.udid,\n };\n}\n\n/** Prompt to select a device from a searchable list of devices. */\nexport async function promptDeviceAsync(devices: AnyDevice[]): Promise<AnyDevice> {\n // --device with no props after\n const { value } = await prompt({\n type: 'autocomplete',\n name: 'value',\n limit: 11,\n message: 'Select a device',\n choices: devices.map((item) => formatDeviceChoice(item)),\n suggest: (input: any, choices: any) => {\n const regex = new RegExp(input, 'i');\n return choices.filter((choice: any) => regex.test(choice.title));\n },\n });\n return devices.find((device) => device.udid === value)!;\n}\n"],"names":["formatDeviceChoice","promptDeviceAsync","isConnectedDevice","item","isSimControlDevice","isConnected","deviceType","isActive","state","symbol","osType","connectionType","format","chalk","bold","text","title","name","osVersion","dim","value","udid","devices","prompt","type","limit","message","choices","map","suggest","input","regex","RegExp","filter","choice","test","find","device"],"mappings":";;;;;;;;;;;IAiBgBA,kBAAkB;eAAlBA;;IAqBMC,iBAAiB;eAAjBA;;;;gEAtCJ;;;;;;gEAGC;;;;;;AAKnB,SAASC,kBAAkBC,IAAe;IACxC,OAAO,gBAAgBA;AACzB;AAEA,SAASC,mBAAmBD,IAAe;IACzC,OAAO,WAAWA;AACpB;AAGO,SAASH,mBAAmBG,IAAe;IAChD,MAAME,cAAcH,kBAAkBC,SAASA,KAAKG,UAAU,KAAK;IACnE,MAAMC,WAAWH,mBAAmBD,SAASA,KAAKK,KAAK,KAAK;IAC5D,MAAMC,SACJN,KAAKO,MAAM,KAAK,UACZ,UACAL,cACEF,KAAKQ,cAAc,KAAK,YACtB,QACA,QACF;IACR,MAAMC,SAASL,WAAWM,gBAAK,CAACC,IAAI,GAAG,CAACC,OAAiBA;IACzD,OAAO;QACLC,OAAO,GAAGP,SAASG,OAAOT,KAAKc,IAAI,IACjCd,KAAKe,SAAS,GAAGL,gBAAK,CAACM,GAAG,CAAC,CAAC,EAAE,EAAEhB,KAAKe,SAAS,CAAC,CAAC,CAAC,IAAI,IACrD;QACFE,OAAOjB,KAAKkB,IAAI;IAClB;AACF;AAGO,eAAepB,kBAAkBqB,OAAoB;IAC1D,+BAA+B;IAC/B,MAAM,EAAEF,KAAK,EAAE,GAAG,MAAMG,IAAAA,gBAAM,EAAC;QAC7BC,MAAM;QACNP,MAAM;QACNQ,OAAO;QACPC,SAAS;QACTC,SAASL,QAAQM,GAAG,CAAC,CAACzB,OAASH,mBAAmBG;QAClD0B,SAAS,CAACC,OAAYH;YACpB,MAAMI,QAAQ,IAAIC,OAAOF,OAAO;YAChC,OAAOH,QAAQM,MAAM,CAAC,CAACC,SAAgBH,MAAMI,IAAI,CAACD,OAAOlB,KAAK;QAChE;IACF;IACA,OAAOM,QAAQc,IAAI,CAAC,CAACC,SAAWA,OAAOhB,IAAI,KAAKD;AAClD"}
|
|
@@ -10,19 +10,23 @@ function _export(target, all) {
|
|
|
10
10
|
});
|
|
11
11
|
}
|
|
12
12
|
_export(exports, {
|
|
13
|
-
|
|
14
|
-
|
|
13
|
+
isSimulatorDevice: function() {
|
|
14
|
+
return isSimulatorDevice;
|
|
15
|
+
},
|
|
16
|
+
resolveDeviceAsync: function() {
|
|
17
|
+
return resolveDeviceAsync;
|
|
18
|
+
}
|
|
15
19
|
});
|
|
16
20
|
const _promptDevice = require("./promptDevice");
|
|
17
|
-
const _log = /*#__PURE__*/
|
|
18
|
-
const
|
|
21
|
+
const _log = /*#__PURE__*/ _interop_require_wildcard(require("../../../log"));
|
|
22
|
+
const _AppleDeviceManager = require("../../../start/platforms/ios/AppleDeviceManager");
|
|
19
23
|
const _promptAppleDevice = require("../../../start/platforms/ios/promptAppleDevice");
|
|
20
|
-
const _simctl = /*#__PURE__*/
|
|
24
|
+
const _simctl = /*#__PURE__*/ _interop_require_wildcard(require("../../../start/platforms/ios/simctl"));
|
|
21
25
|
const _array = require("../../../utils/array");
|
|
22
26
|
const _errors = require("../../../utils/errors");
|
|
23
27
|
const _profile = require("../../../utils/profile");
|
|
24
28
|
const _hints = require("../../hints");
|
|
25
|
-
const
|
|
29
|
+
const _AppleDevice = /*#__PURE__*/ _interop_require_wildcard(require("../appleDevice/AppleDevice"));
|
|
26
30
|
function _getRequireWildcardCache(nodeInterop) {
|
|
27
31
|
if (typeof WeakMap !== "function") return null;
|
|
28
32
|
var cacheBabelInterop = new WeakMap();
|
|
@@ -31,7 +35,7 @@ function _getRequireWildcardCache(nodeInterop) {
|
|
|
31
35
|
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
|
32
36
|
})(nodeInterop);
|
|
33
37
|
}
|
|
34
|
-
function
|
|
38
|
+
function _interop_require_wildcard(obj, nodeInterop) {
|
|
35
39
|
if (!nodeInterop && obj && obj.__esModule) {
|
|
36
40
|
return obj;
|
|
37
41
|
}
|
|
@@ -44,7 +48,9 @@ function _interopRequireWildcard(obj, nodeInterop) {
|
|
|
44
48
|
if (cache && cache.has(obj)) {
|
|
45
49
|
return cache.get(obj);
|
|
46
50
|
}
|
|
47
|
-
var newObj = {
|
|
51
|
+
var newObj = {
|
|
52
|
+
__proto__: null
|
|
53
|
+
};
|
|
48
54
|
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
49
55
|
for(var key in obj){
|
|
50
56
|
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
@@ -63,22 +69,22 @@ function _interopRequireWildcard(obj, nodeInterop) {
|
|
|
63
69
|
return newObj;
|
|
64
70
|
}
|
|
65
71
|
// type AnyDevice = SimControl.Device | AppleDevice.ConnectedDevice;
|
|
66
|
-
/** Get a list of devices (called destinations) that are connected to the host machine. Filter by `osType` if defined. */ async function getDevicesAsync({ osType
|
|
72
|
+
/** Get a list of devices (called destinations) that are connected to the host machine. Filter by `osType` if defined. */ async function getDevicesAsync({ osType }) {
|
|
67
73
|
const devices = await (0, _promptAppleDevice.sortDefaultDeviceToBeginningAsync)((0, _array.uniqBy)((await Promise.all([
|
|
68
|
-
|
|
69
|
-
await (0, _profile.profile)(_simctl.getDevicesAsync)()
|
|
74
|
+
_AppleDevice.getConnectedDevicesAsync(),
|
|
75
|
+
await (0, _profile.profile)(_simctl.getDevicesAsync)()
|
|
70
76
|
])).flat(), (item)=>item.udid), osType);
|
|
71
77
|
// Sort devices to top of front of the list
|
|
72
78
|
const physical = [];
|
|
73
79
|
const simulators = devices.filter((device)=>{
|
|
74
|
-
if (
|
|
80
|
+
if ('isAvailable' in device) {
|
|
75
81
|
return true;
|
|
76
82
|
} else {
|
|
77
83
|
physical.push(device);
|
|
78
84
|
return false;
|
|
79
85
|
}
|
|
80
86
|
});
|
|
81
|
-
const isPhone = (a)=>a.osType ===
|
|
87
|
+
const isPhone = (a)=>a.osType === 'iOS';
|
|
82
88
|
const sorted = [
|
|
83
89
|
...physical.sort((a, b)=>{
|
|
84
90
|
const aPhone = isPhone(a);
|
|
@@ -87,7 +93,7 @@ function _interopRequireWildcard(obj, nodeInterop) {
|
|
|
87
93
|
if (!aPhone && bPhone) return 1;
|
|
88
94
|
return 0;
|
|
89
95
|
}),
|
|
90
|
-
...simulators
|
|
96
|
+
...simulators
|
|
91
97
|
];
|
|
92
98
|
// If osType is defined, then filter out ineligible simulators.
|
|
93
99
|
// Only do this inside of the device selection so users who pass the entire device udid can attempt to select any simulator (even if it's invalid).
|
|
@@ -95,21 +101,21 @@ function _interopRequireWildcard(obj, nodeInterop) {
|
|
|
95
101
|
}
|
|
96
102
|
/** @returns a list of devices, filtered by the provided `osType`. */ function filterDevicesForOsType(devices, osType) {
|
|
97
103
|
return devices.filter((device)=>{
|
|
98
|
-
if (osType ===
|
|
104
|
+
if (osType === 'iOS') {
|
|
99
105
|
// Compatible devices for iOS builds
|
|
100
106
|
return [
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
107
|
+
'iOS',
|
|
108
|
+
'macOS',
|
|
109
|
+
'xrOS'
|
|
104
110
|
].includes(device.osType);
|
|
105
111
|
}
|
|
106
112
|
return device.osType === osType;
|
|
107
113
|
});
|
|
108
114
|
}
|
|
109
115
|
async function resolveDeviceAsync(device, buildProps) {
|
|
110
|
-
await
|
|
116
|
+
await _AppleDeviceManager.AppleDeviceManager.assertSystemRequirementsAsync();
|
|
111
117
|
if (!device) {
|
|
112
|
-
/** Finds the first possible device and returns in a booted state. */ const manager = await
|
|
118
|
+
/** Finds the first possible device and returns in a booted state. */ const manager = await _AppleDeviceManager.AppleDeviceManager.resolveAsync({
|
|
113
119
|
device: {
|
|
114
120
|
osType: buildProps.osType
|
|
115
121
|
}
|
|
@@ -123,13 +129,13 @@ async function resolveDeviceAsync(device, buildProps) {
|
|
|
123
129
|
return ensureBootedAsync(resolved);
|
|
124
130
|
}
|
|
125
131
|
function isSimulatorDevice(device) {
|
|
126
|
-
var
|
|
127
|
-
return !(
|
|
132
|
+
var _device_deviceType_startsWith, _device_deviceType;
|
|
133
|
+
return !('deviceType' in device) || !!((_device_deviceType = device.deviceType) == null ? void 0 : (_device_deviceType_startsWith = _device_deviceType.startsWith) == null ? void 0 : _device_deviceType_startsWith.call(_device_deviceType, 'com.apple.CoreSimulator.SimDeviceType.'));
|
|
128
134
|
}
|
|
129
135
|
/** @returns device matching the `searchValue` against name or UDID. */ function findDeviceFromSearchValue(devices, searchValue) {
|
|
130
136
|
const device = devices.find((device)=>device.udid.toLowerCase() === searchValue || device.name.toLowerCase() === searchValue);
|
|
131
137
|
if (!device) {
|
|
132
|
-
throw new _errors.CommandError(
|
|
138
|
+
throw new _errors.CommandError('BAD_ARGS', `No device UDID or name matching "${searchValue}"`);
|
|
133
139
|
}
|
|
134
140
|
return device;
|
|
135
141
|
}
|
|
@@ -137,7 +143,7 @@ function isSimulatorDevice(device) {
|
|
|
137
143
|
// --device with no props after
|
|
138
144
|
(0, _hints.logDeviceArgument)(device.udid);
|
|
139
145
|
if (isSimulatorDevice(device)) {
|
|
140
|
-
return (0,
|
|
146
|
+
return (0, _AppleDeviceManager.ensureSimulatorOpenAsync)({
|
|
141
147
|
udid: device.udid
|
|
142
148
|
});
|
|
143
149
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/run/ios/options/resolveDevice.ts"],"sourcesContent":["// import { resolveDestinationsAsync } from './appleDestinations';\nimport { promptDeviceAsync } from './promptDevice';\nimport * as Log from '../../../log';\nimport {\n AppleDeviceManager,\n ensureSimulatorOpenAsync,\n} from '../../../start/platforms/ios/AppleDeviceManager';\nimport { sortDefaultDeviceToBeginningAsync } from '../../../start/platforms/ios/promptAppleDevice';\nimport { OSType } from '../../../start/platforms/ios/simctl';\nimport * as SimControl from '../../../start/platforms/ios/simctl';\nimport { uniqBy } from '../../../utils/array';\nimport { CommandError } from '../../../utils/errors';\nimport { profile } from '../../../utils/profile';\nimport { logDeviceArgument } from '../../hints';\nimport { BuildProps } from '../XcodeBuild.types';\nimport * as AppleDevice from '../appleDevice/AppleDevice';\n\ntype AnyDevice = {\n name: string;\n osType: OSType;\n osVersion: string;\n udid: string;\n deviceType?: string;\n};\n// type AnyDevice = SimControl.Device | AppleDevice.ConnectedDevice;\n\n/** Get a list of devices (called destinations) that are connected to the host machine. Filter by `osType` if defined. */\nasync function getDevicesAsync({\n osType,\n // ...buildProps\n}: { osType?: OSType } & Pick<BuildProps, 'xcodeProject' | 'scheme' | 'configuration'>): Promise<\n AnyDevice[]\n> {\n const devices = await sortDefaultDeviceToBeginningAsync(\n uniqBy(\n (\n await Promise.all([\n AppleDevice.getConnectedDevicesAsync(),\n await profile(SimControl.getDevicesAsync)(),\n // resolveDestinationsAsync(buildProps),\n ])\n ).flat(),\n (item) => item.udid\n ),\n osType\n );\n\n // Sort devices to top of front of the list\n\n const physical: AnyDevice[] = [];\n\n const simulators = devices.filter((device) => {\n if ('isAvailable' in device) {\n return true;\n } else {\n physical.push(device);\n return false;\n }\n });\n\n const isPhone = (a: any) => a.osType === 'iOS';\n const sorted = [\n ...physical.sort((a, b) => {\n const aPhone = isPhone(a);\n const bPhone = isPhone(b);\n if (aPhone && !bPhone) return -1;\n if (!aPhone && bPhone) return 1;\n\n return 0;\n }),\n ...simulators,\n ];\n\n // If osType is defined, then filter out ineligible simulators.\n // Only do this inside of the device selection so users who pass the entire device udid can attempt to select any simulator (even if it's invalid).\n return osType ? filterDevicesForOsType(sorted, osType) : sorted;\n}\n\n/** @returns a list of devices, filtered by the provided `osType`. */\nfunction filterDevicesForOsType<TDevice extends { osType: OSType }>(\n devices: TDevice[],\n osType: OSType\n): TDevice[] {\n return devices.filter((device) => {\n if (osType === 'iOS') {\n // Compatible devices for iOS builds\n return ['iOS', 'macOS', 'xrOS'].includes(device.osType);\n }\n return device.osType === osType;\n });\n}\n\n/** Given a `device` argument from the CLI, parse and prompt our way to a usable device for building. */\nexport async function resolveDeviceAsync(\n device: string | boolean | undefined,\n buildProps: { osType?: OSType } & Pick<BuildProps, 'xcodeProject' | 'scheme' | 'configuration'>\n): Promise<AnyDevice> {\n await AppleDeviceManager.assertSystemRequirementsAsync();\n\n if (!device) {\n /** Finds the first possible device and returns in a booted state. */\n const manager = await AppleDeviceManager.resolveAsync({\n device: {\n osType: buildProps.osType,\n },\n });\n Log.debug(\n `Resolved default device (name: ${manager.device.name}, udid: ${manager.device.udid}, osType: ${buildProps.osType})`\n );\n return manager.device;\n }\n\n const devices = await getDevicesAsync(buildProps);\n\n const resolved =\n device === true\n ? // `--device` (no props after)\n // @ts-expect-error\n await promptDeviceAsync(devices)\n : // `--device <name|udid>`\n findDeviceFromSearchValue(devices, device.toLowerCase());\n\n return ensureBootedAsync(resolved);\n}\n\n/** @returns `true` if the given device is a simulator. */\nexport function isSimulatorDevice(device: AnyDevice): boolean {\n return (\n !('deviceType' in device) ||\n !!device.deviceType?.startsWith?.('com.apple.CoreSimulator.SimDeviceType.')\n );\n}\n\n/** @returns device matching the `searchValue` against name or UDID. */\nfunction findDeviceFromSearchValue(devices: AnyDevice[], searchValue: string): AnyDevice {\n const device = devices.find(\n (device) =>\n device.udid.toLowerCase() === searchValue || device.name.toLowerCase() === searchValue\n );\n if (!device) {\n throw new CommandError('BAD_ARGS', `No device UDID or name matching \"${searchValue}\"`);\n }\n return device;\n}\n\n/** Ensures the device is booted if it's a simulator. */\nasync function ensureBootedAsync(device: AnyDevice): Promise<AnyDevice> {\n // --device with no props after\n logDeviceArgument(device.udid);\n if (isSimulatorDevice(device)) {\n return ensureSimulatorOpenAsync({ udid: device.udid });\n }\n return device;\n}\n"],"names":["
|
|
1
|
+
{"version":3,"sources":["../../../../../src/run/ios/options/resolveDevice.ts"],"sourcesContent":["// import { resolveDestinationsAsync } from './appleDestinations';\nimport { promptDeviceAsync } from './promptDevice';\nimport * as Log from '../../../log';\nimport {\n AppleDeviceManager,\n ensureSimulatorOpenAsync,\n} from '../../../start/platforms/ios/AppleDeviceManager';\nimport { sortDefaultDeviceToBeginningAsync } from '../../../start/platforms/ios/promptAppleDevice';\nimport { OSType } from '../../../start/platforms/ios/simctl';\nimport * as SimControl from '../../../start/platforms/ios/simctl';\nimport { uniqBy } from '../../../utils/array';\nimport { CommandError } from '../../../utils/errors';\nimport { profile } from '../../../utils/profile';\nimport { logDeviceArgument } from '../../hints';\nimport { BuildProps } from '../XcodeBuild.types';\nimport * as AppleDevice from '../appleDevice/AppleDevice';\n\ntype AnyDevice = {\n name: string;\n osType: OSType;\n osVersion: string;\n udid: string;\n deviceType?: string;\n};\n// type AnyDevice = SimControl.Device | AppleDevice.ConnectedDevice;\n\n/** Get a list of devices (called destinations) that are connected to the host machine. Filter by `osType` if defined. */\nasync function getDevicesAsync({\n osType,\n // ...buildProps\n}: { osType?: OSType } & Pick<BuildProps, 'xcodeProject' | 'scheme' | 'configuration'>): Promise<\n AnyDevice[]\n> {\n const devices = await sortDefaultDeviceToBeginningAsync(\n uniqBy(\n (\n await Promise.all([\n AppleDevice.getConnectedDevicesAsync(),\n await profile(SimControl.getDevicesAsync)(),\n // resolveDestinationsAsync(buildProps),\n ])\n ).flat(),\n (item) => item.udid\n ),\n osType\n );\n\n // Sort devices to top of front of the list\n\n const physical: AnyDevice[] = [];\n\n const simulators = devices.filter((device) => {\n if ('isAvailable' in device) {\n return true;\n } else {\n physical.push(device);\n return false;\n }\n });\n\n const isPhone = (a: any) => a.osType === 'iOS';\n const sorted = [\n ...physical.sort((a, b) => {\n const aPhone = isPhone(a);\n const bPhone = isPhone(b);\n if (aPhone && !bPhone) return -1;\n if (!aPhone && bPhone) return 1;\n\n return 0;\n }),\n ...simulators,\n ];\n\n // If osType is defined, then filter out ineligible simulators.\n // Only do this inside of the device selection so users who pass the entire device udid can attempt to select any simulator (even if it's invalid).\n return osType ? filterDevicesForOsType(sorted, osType) : sorted;\n}\n\n/** @returns a list of devices, filtered by the provided `osType`. */\nfunction filterDevicesForOsType<TDevice extends { osType: OSType }>(\n devices: TDevice[],\n osType: OSType\n): TDevice[] {\n return devices.filter((device) => {\n if (osType === 'iOS') {\n // Compatible devices for iOS builds\n return ['iOS', 'macOS', 'xrOS'].includes(device.osType);\n }\n return device.osType === osType;\n });\n}\n\n/** Given a `device` argument from the CLI, parse and prompt our way to a usable device for building. */\nexport async function resolveDeviceAsync(\n device: string | boolean | undefined,\n buildProps: { osType?: OSType } & Pick<BuildProps, 'xcodeProject' | 'scheme' | 'configuration'>\n): Promise<AnyDevice> {\n await AppleDeviceManager.assertSystemRequirementsAsync();\n\n if (!device) {\n /** Finds the first possible device and returns in a booted state. */\n const manager = await AppleDeviceManager.resolveAsync({\n device: {\n osType: buildProps.osType,\n },\n });\n Log.debug(\n `Resolved default device (name: ${manager.device.name}, udid: ${manager.device.udid}, osType: ${buildProps.osType})`\n );\n return manager.device;\n }\n\n const devices = await getDevicesAsync(buildProps);\n\n const resolved =\n device === true\n ? // `--device` (no props after)\n // @ts-expect-error\n await promptDeviceAsync(devices)\n : // `--device <name|udid>`\n findDeviceFromSearchValue(devices, device.toLowerCase());\n\n return ensureBootedAsync(resolved);\n}\n\n/** @returns `true` if the given device is a simulator. */\nexport function isSimulatorDevice(device: AnyDevice): boolean {\n return (\n !('deviceType' in device) ||\n !!device.deviceType?.startsWith?.('com.apple.CoreSimulator.SimDeviceType.')\n );\n}\n\n/** @returns device matching the `searchValue` against name or UDID. */\nfunction findDeviceFromSearchValue(devices: AnyDevice[], searchValue: string): AnyDevice {\n const device = devices.find(\n (device) =>\n device.udid.toLowerCase() === searchValue || device.name.toLowerCase() === searchValue\n );\n if (!device) {\n throw new CommandError('BAD_ARGS', `No device UDID or name matching \"${searchValue}\"`);\n }\n return device;\n}\n\n/** Ensures the device is booted if it's a simulator. */\nasync function ensureBootedAsync(device: AnyDevice): Promise<AnyDevice> {\n // --device with no props after\n logDeviceArgument(device.udid);\n if (isSimulatorDevice(device)) {\n return ensureSimulatorOpenAsync({ udid: device.udid });\n }\n return device;\n}\n"],"names":["isSimulatorDevice","resolveDeviceAsync","getDevicesAsync","osType","devices","sortDefaultDeviceToBeginningAsync","uniqBy","Promise","all","AppleDevice","getConnectedDevicesAsync","profile","SimControl","flat","item","udid","physical","simulators","filter","device","push","isPhone","a","sorted","sort","b","aPhone","bPhone","filterDevicesForOsType","includes","buildProps","AppleDeviceManager","assertSystemRequirementsAsync","manager","resolveAsync","Log","debug","name","resolved","promptDeviceAsync","findDeviceFromSearchValue","toLowerCase","ensureBootedAsync","deviceType","startsWith","searchValue","find","CommandError","logDeviceArgument","ensureSimulatorOpenAsync"],"mappings":"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"}
|
|
@@ -9,36 +9,42 @@ function _export(target, all) {
|
|
|
9
9
|
});
|
|
10
10
|
}
|
|
11
11
|
_export(exports, {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
12
|
+
getDefaultNativeScheme: function() {
|
|
13
|
+
return getDefaultNativeScheme;
|
|
14
|
+
},
|
|
15
|
+
promptOrQueryNativeSchemeAsync: function() {
|
|
16
|
+
return promptOrQueryNativeSchemeAsync;
|
|
17
|
+
},
|
|
18
|
+
resolveNativeSchemePropsAsync: function() {
|
|
19
|
+
return resolveNativeSchemePropsAsync;
|
|
20
|
+
}
|
|
15
21
|
});
|
|
16
|
-
function
|
|
22
|
+
function _configplugins() {
|
|
17
23
|
const data = require("@expo/config-plugins");
|
|
18
|
-
|
|
24
|
+
_configplugins = function() {
|
|
19
25
|
return data;
|
|
20
26
|
};
|
|
21
27
|
return data;
|
|
22
28
|
}
|
|
23
29
|
function _chalk() {
|
|
24
|
-
const data = /*#__PURE__*/
|
|
30
|
+
const data = /*#__PURE__*/ _interop_require_default(require("chalk"));
|
|
25
31
|
_chalk = function() {
|
|
26
32
|
return data;
|
|
27
33
|
};
|
|
28
34
|
return data;
|
|
29
35
|
}
|
|
30
36
|
function _path() {
|
|
31
|
-
const data = /*#__PURE__*/
|
|
37
|
+
const data = /*#__PURE__*/ _interop_require_default(require("path"));
|
|
32
38
|
_path = function() {
|
|
33
39
|
return data;
|
|
34
40
|
};
|
|
35
41
|
return data;
|
|
36
42
|
}
|
|
37
|
-
const _log = /*#__PURE__*/
|
|
43
|
+
const _log = /*#__PURE__*/ _interop_require_wildcard(require("../../../log"));
|
|
38
44
|
const _errors = require("../../../utils/errors");
|
|
39
45
|
const _profile = require("../../../utils/profile");
|
|
40
46
|
const _prompts = require("../../../utils/prompts");
|
|
41
|
-
function
|
|
47
|
+
function _interop_require_default(obj) {
|
|
42
48
|
return obj && obj.__esModule ? obj : {
|
|
43
49
|
default: obj
|
|
44
50
|
};
|
|
@@ -51,7 +57,7 @@ function _getRequireWildcardCache(nodeInterop) {
|
|
|
51
57
|
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
|
52
58
|
})(nodeInterop);
|
|
53
59
|
}
|
|
54
|
-
function
|
|
60
|
+
function _interop_require_wildcard(obj, nodeInterop) {
|
|
55
61
|
if (!nodeInterop && obj && obj.__esModule) {
|
|
56
62
|
return obj;
|
|
57
63
|
}
|
|
@@ -64,7 +70,9 @@ function _interopRequireWildcard(obj, nodeInterop) {
|
|
|
64
70
|
if (cache && cache.has(obj)) {
|
|
65
71
|
return cache.get(obj);
|
|
66
72
|
}
|
|
67
|
-
var newObj = {
|
|
73
|
+
var newObj = {
|
|
74
|
+
__proto__: null
|
|
75
|
+
};
|
|
68
76
|
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
69
77
|
for(var key in obj){
|
|
70
78
|
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
@@ -82,47 +90,47 @@ function _interopRequireWildcard(obj, nodeInterop) {
|
|
|
82
90
|
}
|
|
83
91
|
return newObj;
|
|
84
92
|
}
|
|
85
|
-
const debug = require(
|
|
93
|
+
const debug = require('debug')('expo:run:ios:options:resolveNativeScheme');
|
|
86
94
|
async function resolveNativeSchemePropsAsync(projectRoot, options, xcodeProject) {
|
|
87
95
|
return await promptOrQueryNativeSchemeAsync(projectRoot, options) ?? getDefaultNativeScheme(projectRoot, options, xcodeProject);
|
|
88
96
|
}
|
|
89
|
-
async function promptOrQueryNativeSchemeAsync(projectRoot, { scheme
|
|
90
|
-
const schemes =
|
|
97
|
+
async function promptOrQueryNativeSchemeAsync(projectRoot, { scheme, configuration }) {
|
|
98
|
+
const schemes = _configplugins().IOSConfig.BuildScheme.getRunnableSchemesFromXcodeproj(projectRoot, {
|
|
91
99
|
configuration
|
|
92
100
|
});
|
|
93
101
|
if (!schemes.length) {
|
|
94
|
-
throw new _errors.CommandError(
|
|
102
|
+
throw new _errors.CommandError('IOS_MALFORMED', 'No native iOS build schemes found');
|
|
95
103
|
}
|
|
96
104
|
if (scheme === true) {
|
|
97
105
|
if (schemes.length === 1) {
|
|
98
106
|
_log.log(`Auto selecting only available scheme: ${schemes[0].name}`);
|
|
99
107
|
return schemes[0];
|
|
100
108
|
}
|
|
101
|
-
const resolvedSchemeName = await (0, _prompts.selectAsync)(
|
|
102
|
-
const isApp = value.type ===
|
|
109
|
+
const resolvedSchemeName = await (0, _prompts.selectAsync)('Select a scheme', schemes.map((value)=>{
|
|
110
|
+
const isApp = value.type === _configplugins().IOSConfig.Target.TargetType.APPLICATION && value.osType === 'iOS';
|
|
103
111
|
return {
|
|
104
112
|
value: value.name,
|
|
105
|
-
title: isApp ? _chalk().default.bold(value.name) + _chalk().default.gray(
|
|
113
|
+
title: isApp ? _chalk().default.bold(value.name) + _chalk().default.gray(' (app)') : value.name
|
|
106
114
|
};
|
|
107
115
|
}), {
|
|
108
|
-
nonInteractiveHelp: `--scheme: argument must be provided with a string in non-interactive mode. Valid choices are: ${schemes.join(
|
|
116
|
+
nonInteractiveHelp: `--scheme: argument must be provided with a string in non-interactive mode. Valid choices are: ${schemes.join(', ')}`
|
|
109
117
|
});
|
|
110
|
-
return schemes.find(({ name
|
|
118
|
+
return schemes.find(({ name })=>resolvedSchemeName === name) ?? null;
|
|
111
119
|
}
|
|
112
120
|
// Attempt to match the schemes up so we can open the correct simulator
|
|
113
|
-
return scheme ? schemes.find(({ name
|
|
121
|
+
return scheme ? schemes.find(({ name })=>name === scheme) || {
|
|
114
122
|
name: scheme
|
|
115
123
|
} : null;
|
|
116
124
|
}
|
|
117
125
|
function getDefaultNativeScheme(projectRoot, options, xcodeProject) {
|
|
118
126
|
// If the resolution failed then we should just use the first runnable scheme that
|
|
119
127
|
// matches the provided configuration.
|
|
120
|
-
const resolvedSchemes = (0, _profile.profile)(
|
|
128
|
+
const resolvedSchemes = (0, _profile.profile)(_configplugins().IOSConfig.BuildScheme.getRunnableSchemesFromXcodeproj)(projectRoot, {
|
|
121
129
|
configuration: options.configuration
|
|
122
130
|
});
|
|
123
131
|
// If there are multiple schemes, then the default should be the application.
|
|
124
132
|
if (resolvedSchemes.length > 1) {
|
|
125
|
-
const scheme = resolvedSchemes.find(({ type
|
|
133
|
+
const scheme = resolvedSchemes.find(({ type })=>type === _configplugins().IOSConfig.Target.TargetType.APPLICATION) ?? resolvedSchemes[0];
|
|
126
134
|
debug(`Using default scheme: ${scheme.name}`);
|
|
127
135
|
return scheme;
|
|
128
136
|
}
|