@expo/cli 0.22.25 → 0.22.26
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 +91 -93
- package/build/bin/cli.map +1 -1
- package/build/metro-require/require.js +52 -53
- package/build/src/api/endpoint.js +2 -6
- package/build/src/api/endpoint.js.map +1 -1
- package/build/src/api/getExpoGoIntermediateCertificate.js +3 -5
- package/build/src/api/getExpoGoIntermediateCertificate.js.map +1 -1
- package/build/src/api/getExpoSchema.js +12 -16
- package/build/src/api/getExpoSchema.js.map +1 -1
- package/build/src/api/getNativeModuleVersions.js +4 -6
- package/build/src/api/getNativeModuleVersions.js.map +1 -1
- package/build/src/api/getProjectDevelopmentCertificate.js +3 -5
- package/build/src/api/getProjectDevelopmentCertificate.js.map +1 -1
- package/build/src/api/getVersions.js +5 -7
- package/build/src/api/getVersions.js.map +1 -1
- package/build/src/api/graphql/client.js +26 -32
- package/build/src/api/graphql/client.js.map +1 -1
- package/build/src/api/graphql/queries/AppQuery.js +4 -6
- package/build/src/api/graphql/queries/AppQuery.js.map +1 -1
- package/build/src/api/graphql/queries/UserQuery.js +3 -5
- package/build/src/api/graphql/queries/UserQuery.js.map +1 -1
- package/build/src/api/graphql/types/App.js +1 -3
- package/build/src/api/graphql/types/App.js.map +1 -1
- package/build/src/api/rest/cache/FileSystemResponseCache.js +8 -10
- package/build/src/api/rest/cache/FileSystemResponseCache.js.map +1 -1
- package/build/src/api/rest/cache/ResponseCache.js +12 -20
- package/build/src/api/rest/cache/ResponseCache.js.map +1 -1
- package/build/src/api/rest/cache/wrapFetchWithCache.js +11 -13
- package/build/src/api/rest/cache/wrapFetchWithCache.js.map +1 -1
- package/build/src/api/rest/client.js +35 -53
- 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 +3 -5
- package/build/src/api/rest/wrapFetchWithBaseUrl.js.map +1 -1
- package/build/src/api/rest/wrapFetchWithOffline.js +3 -5
- package/build/src/api/rest/wrapFetchWithOffline.js.map +1 -1
- package/build/src/api/rest/wrapFetchWithProgress.js +7 -11
- package/build/src/api/rest/wrapFetchWithProgress.js.map +1 -1
- package/build/src/api/rest/wrapFetchWithProxy.js +3 -5
- package/build/src/api/rest/wrapFetchWithProxy.js.map +1 -1
- package/build/src/api/rest/wrapFetchWithUserAgent.js +6 -8
- package/build/src/api/rest/wrapFetchWithUserAgent.js.map +1 -1
- package/build/src/api/settings.js +5 -7
- package/build/src/api/settings.js.map +1 -1
- package/build/src/api/updateDevelopmentSession.js +17 -23
- package/build/src/api/updateDevelopmentSession.js.map +1 -1
- package/build/src/api/user/UserSettings.js +21 -39
- package/build/src/api/user/UserSettings.js.map +1 -1
- package/build/src/api/user/actions.js +21 -27
- package/build/src/api/user/actions.js.map +1 -1
- package/build/src/api/user/expoSsoLauncher.js +26 -30
- package/build/src/api/user/expoSsoLauncher.js.map +1 -1
- package/build/src/api/user/otp.js +29 -35
- package/build/src/api/user/otp.js.map +1 -1
- package/build/src/api/user/user.js +30 -44
- package/build/src/api/user/user.js.map +1 -1
- package/build/src/config/configAsync.js +23 -29
- package/build/src/config/configAsync.js.map +1 -1
- package/build/src/config/index.js +21 -25
- package/build/src/config/index.js.map +1 -1
- package/build/src/customize/customizeAsync.js +6 -8
- package/build/src/customize/customizeAsync.js.map +1 -1
- package/build/src/customize/generate.js +16 -20
- package/build/src/customize/generate.js.map +1 -1
- package/build/src/customize/index.js +12 -14
- package/build/src/customize/index.js.map +1 -1
- package/build/src/customize/resolveOptions.js +2 -4
- package/build/src/customize/resolveOptions.js.map +1 -1
- package/build/src/customize/templates.js +54 -58
- package/build/src/customize/templates.js.map +1 -1
- package/build/src/customize/typescript.js +7 -11
- package/build/src/customize/typescript.js.map +1 -1
- package/build/src/export/createMetadataJson.js +9 -11
- package/build/src/export/createMetadataJson.js.map +1 -1
- package/build/src/export/embed/exportEager.js +6 -8
- package/build/src/export/embed/exportEager.js.map +1 -1
- package/build/src/export/embed/exportEmbedAsync.js +61 -71
- package/build/src/export/embed/exportEmbedAsync.js.map +1 -1
- package/build/src/export/embed/exportServer.js +55 -57
- package/build/src/export/embed/exportServer.js.map +1 -1
- package/build/src/export/embed/index.js +40 -44
- package/build/src/export/embed/index.js.map +1 -1
- package/build/src/export/embed/resolveOptions.js +36 -44
- package/build/src/export/embed/resolveOptions.js.map +1 -1
- package/build/src/export/embed/xcodeCompilerLogger.js +27 -39
- package/build/src/export/embed/xcodeCompilerLogger.js.map +1 -1
- package/build/src/export/exportApp.js +63 -67
- package/build/src/export/exportApp.js.map +1 -1
- package/build/src/export/exportAssets.js +27 -35
- package/build/src/export/exportAssets.js.map +1 -1
- package/build/src/export/exportAsync.js +9 -13
- package/build/src/export/exportAsync.js.map +1 -1
- package/build/src/export/exportDomComponents.js +45 -53
- package/build/src/export/exportDomComponents.js.map +1 -1
- package/build/src/export/exportHermes.js +63 -85
- package/build/src/export/exportHermes.js.map +1 -1
- package/build/src/export/exportStaticAsync.js +62 -72
- package/build/src/export/exportStaticAsync.js.map +1 -1
- package/build/src/export/favicon.js +27 -33
- package/build/src/export/favicon.js.map +1 -1
- package/build/src/export/getPublicExpoManifest.js +5 -7
- package/build/src/export/getPublicExpoManifest.js.map +1 -1
- package/build/src/export/getResolvedLocales.js +9 -11
- package/build/src/export/getResolvedLocales.js.map +1 -1
- package/build/src/export/html.js +6 -10
- package/build/src/export/html.js.map +1 -1
- package/build/src/export/index.js +28 -32
- package/build/src/export/index.js.map +1 -1
- package/build/src/export/metroAssetLocalPath.js +30 -36
- package/build/src/export/metroAssetLocalPath.js.map +1 -1
- package/build/src/export/persistMetroAssets.js +34 -42
- package/build/src/export/persistMetroAssets.js.map +1 -1
- package/build/src/export/publicFolder.js +6 -10
- package/build/src/export/publicFolder.js.map +1 -1
- package/build/src/export/resolveOptions.js +24 -28
- package/build/src/export/resolveOptions.js.map +1 -1
- package/build/src/export/saveAssets.js +46 -50
- package/build/src/export/saveAssets.js.map +1 -1
- package/build/src/export/web/exportWebAsync.js +11 -13
- package/build/src/export/web/exportWebAsync.js.map +1 -1
- package/build/src/export/web/index.js +15 -19
- package/build/src/export/web/index.js.map +1 -1
- package/build/src/export/web/resolveOptions.js +3 -5
- package/build/src/export/web/resolveOptions.js.map +1 -1
- package/build/src/export/writeContents.js +2 -4
- package/build/src/export/writeContents.js.map +1 -1
- package/build/src/graphql/generated.js +274 -400
- package/build/src/graphql/generated.js.map +1 -1
- package/build/src/install/applyPlugins.js +7 -11
- package/build/src/install/applyPlugins.js.map +1 -1
- package/build/src/install/checkPackages.js +22 -26
- package/build/src/install/checkPackages.js.map +1 -1
- package/build/src/install/fixPackages.js +12 -16
- package/build/src/install/fixPackages.js.map +1 -1
- package/build/src/install/index.js +16 -18
- package/build/src/install/index.js.map +1 -1
- package/build/src/install/installAsync.js +26 -32
- package/build/src/install/installAsync.js.map +1 -1
- package/build/src/install/installExpoPackage.js +18 -22
- package/build/src/install/installExpoPackage.js.map +1 -1
- package/build/src/install/resolveOptions.js +19 -21
- package/build/src/install/resolveOptions.js.map +1 -1
- package/build/src/install/utils/autoAddConfigPlugins.js +14 -18
- package/build/src/install/utils/autoAddConfigPlugins.js.map +1 -1
- package/build/src/install/utils/checkPackagesCompatibility.js +11 -13
- package/build/src/install/utils/checkPackagesCompatibility.js.map +1 -1
- package/build/src/lint/ESlintPrerequisite.js +44 -50
- package/build/src/lint/ESlintPrerequisite.js.map +1 -1
- package/build/src/lint/index.js +8 -12
- package/build/src/lint/index.js.map +1 -1
- package/build/src/lint/lintAsync.js +8 -10
- package/build/src/lint/lintAsync.js.map +1 -1
- package/build/src/log.js +16 -36
- package/build/src/log.js.map +1 -1
- package/build/src/login/index.js +20 -24
- package/build/src/login/index.js.map +1 -1
- package/build/src/logout/index.js +7 -11
- package/build/src/logout/index.js.map +1 -1
- package/build/src/prebuild/clearNativeFolder.js +26 -38
- package/build/src/prebuild/clearNativeFolder.js.map +1 -1
- package/build/src/prebuild/configureProjectAsync.js +14 -18
- package/build/src/prebuild/configureProjectAsync.js.map +1 -1
- package/build/src/prebuild/copyTemplateFiles.js +13 -17
- package/build/src/prebuild/copyTemplateFiles.js.map +1 -1
- package/build/src/prebuild/ensureConfigAsync.js +4 -6
- package/build/src/prebuild/ensureConfigAsync.js.map +1 -1
- package/build/src/prebuild/index.js +32 -36
- package/build/src/prebuild/index.js.map +1 -1
- package/build/src/prebuild/prebuildAsync.js +25 -29
- package/build/src/prebuild/prebuildAsync.js.map +1 -1
- package/build/src/prebuild/renameTemplateAppName.js +40 -46
- package/build/src/prebuild/renameTemplateAppName.js.map +1 -1
- package/build/src/prebuild/resolveOptions.js +52 -66
- package/build/src/prebuild/resolveOptions.js.map +1 -1
- package/build/src/prebuild/resolveTemplate.js +32 -36
- package/build/src/prebuild/resolveTemplate.js.map +1 -1
- package/build/src/prebuild/updateFromTemplate.js +13 -19
- package/build/src/prebuild/updateFromTemplate.js.map +1 -1
- package/build/src/prebuild/updatePackageJson.js +39 -53
- package/build/src/prebuild/updatePackageJson.js.map +1 -1
- package/build/src/prebuild/validateTemplatePlatforms.js +8 -12
- package/build/src/prebuild/validateTemplatePlatforms.js.map +1 -1
- package/build/src/register/index.js +7 -11
- package/build/src/register/index.js.map +1 -1
- package/build/src/register/registerAsync.js +3 -5
- package/build/src/register/registerAsync.js.map +1 -1
- package/build/src/run/android/index.js +32 -36
- package/build/src/run/android/index.js.map +1 -1
- package/build/src/run/android/resolveDevice.js +8 -10
- package/build/src/run/android/resolveDevice.js.map +1 -1
- package/build/src/run/android/resolveGradlePropsAsync.js +16 -18
- package/build/src/run/android/resolveGradlePropsAsync.js.map +1 -1
- package/build/src/run/android/resolveInstallApkName.js +15 -17
- package/build/src/run/android/resolveInstallApkName.js.map +1 -1
- package/build/src/run/android/resolveLaunchProps.js +10 -12
- package/build/src/run/android/resolveLaunchProps.js.map +1 -1
- package/build/src/run/android/resolveOptions.js +2 -4
- package/build/src/run/android/resolveOptions.js.map +1 -1
- package/build/src/run/android/runAndroidAsync.js +21 -23
- package/build/src/run/android/runAndroidAsync.js.map +1 -1
- package/build/src/run/ensureNativeProject.js +5 -7
- package/build/src/run/ensureNativeProject.js.map +1 -1
- package/build/src/run/hints.js +7 -13
- package/build/src/run/hints.js.map +1 -1
- package/build/src/run/index.js +23 -27
- package/build/src/run/index.js.map +1 -1
- package/build/src/run/ios/XcodeBuild.js +56 -74
- 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 +63 -69
- package/build/src/run/ios/appleDevice/AppleDevice.js.map +1 -1
- package/build/src/run/ios/appleDevice/ClientManager.js +26 -29
- package/build/src/run/ios/appleDevice/ClientManager.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/AFCClient.js +25 -28
- package/build/src/run/ios/appleDevice/client/AFCClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/DebugserverClient.js +26 -29
- package/build/src/run/ios/appleDevice/client/DebugserverClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/InstallationProxyClient.js +21 -22
- package/build/src/run/ios/appleDevice/client/InstallationProxyClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/LockdowndClient.js +29 -32
- package/build/src/run/ios/appleDevice/client/LockdowndClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/MobileImageMounterClient.js +24 -28
- package/build/src/run/ios/appleDevice/client/MobileImageMounterClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/ServiceClient.js +4 -7
- package/build/src/run/ios/appleDevice/client/ServiceClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/UsbmuxdClient.js +27 -28
- package/build/src/run/ios/appleDevice/client/UsbmuxdClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/installOnDeviceAsync.js +17 -23
- package/build/src/run/ios/appleDevice/installOnDeviceAsync.js.map +1 -1
- package/build/src/run/ios/appleDevice/protocol/AFCProtocol.js +132 -146
- package/build/src/run/ios/appleDevice/protocol/AFCProtocol.js.map +1 -1
- package/build/src/run/ios/appleDevice/protocol/AbstractProtocol.js +21 -29
- package/build/src/run/ios/appleDevice/protocol/AbstractProtocol.js.map +1 -1
- package/build/src/run/ios/appleDevice/protocol/GDBProtocol.js +21 -29
- package/build/src/run/ios/appleDevice/protocol/GDBProtocol.js.map +1 -1
- package/build/src/run/ios/appleDevice/protocol/LockdownProtocol.js +22 -34
- package/build/src/run/ios/appleDevice/protocol/LockdownProtocol.js.map +1 -1
- package/build/src/run/ios/appleDevice/protocol/UsbmuxProtocol.js +17 -27
- package/build/src/run/ios/appleDevice/protocol/UsbmuxProtocol.js.map +1 -1
- package/build/src/run/ios/codeSigning/Security.js +39 -53
- package/build/src/run/ios/codeSigning/Security.js.map +1 -1
- package/build/src/run/ios/codeSigning/configureCodeSigning.js +9 -13
- package/build/src/run/ios/codeSigning/configureCodeSigning.js.map +1 -1
- package/build/src/run/ios/codeSigning/resolveCertificateSigningIdentity.js +19 -27
- package/build/src/run/ios/codeSigning/resolveCertificateSigningIdentity.js.map +1 -1
- package/build/src/run/ios/codeSigning/settings.js +5 -9
- package/build/src/run/ios/codeSigning/settings.js.map +1 -1
- package/build/src/run/ios/codeSigning/simulatorCodeSigning.js +12 -14
- package/build/src/run/ios/codeSigning/simulatorCodeSigning.js.map +1 -1
- package/build/src/run/ios/codeSigning/xcodeCodeSigning.js +21 -27
- package/build/src/run/ios/codeSigning/xcodeCodeSigning.js.map +1 -1
- package/build/src/run/ios/index.js +36 -40
- package/build/src/run/ios/index.js.map +1 -1
- package/build/src/run/ios/launchApp.js +17 -23
- package/build/src/run/ios/launchApp.js.map +1 -1
- package/build/src/run/ios/options/appleDestinations.js +36 -38
- package/build/src/run/ios/options/appleDestinations.js.map +1 -1
- package/build/src/run/ios/options/promptDevice.js +16 -20
- package/build/src/run/ios/options/promptDevice.js.map +1 -1
- package/build/src/run/ios/options/resolveDevice.js +24 -30
- package/build/src/run/ios/options/resolveDevice.js.map +1 -1
- package/build/src/run/ios/options/resolveNativeScheme.js +23 -31
- package/build/src/run/ios/options/resolveNativeScheme.js.map +1 -1
- package/build/src/run/ios/options/resolveOptions.js +5 -7
- package/build/src/run/ios/options/resolveOptions.js.map +1 -1
- package/build/src/run/ios/options/resolveXcodeProject.js +5 -7
- package/build/src/run/ios/options/resolveXcodeProject.js.map +1 -1
- package/build/src/run/ios/runIosAsync.js +44 -48
- package/build/src/run/ios/runIosAsync.js.map +1 -1
- package/build/src/run/ios/validateExternalBinary.js +22 -24
- package/build/src/run/ios/validateExternalBinary.js.map +1 -1
- package/build/src/run/resolveBundlerProps.js +2 -4
- package/build/src/run/resolveBundlerProps.js.map +1 -1
- package/build/src/run/startBundler.js +12 -16
- package/build/src/run/startBundler.js.map +1 -1
- package/build/src/serve/index.js +16 -20
- package/build/src/serve/index.js.map +1 -1
- package/build/src/serve/serveAsync.js +32 -36
- package/build/src/serve/serveAsync.js.map +1 -1
- package/build/src/start/detectDevClient.js +9 -13
- package/build/src/start/detectDevClient.js.map +1 -1
- package/build/src/start/doctor/Prerequisite.js +7 -12
- package/build/src/start/doctor/Prerequisite.js.map +1 -1
- package/build/src/start/doctor/SecurityBinPrerequisite.js +11 -13
- package/build/src/start/doctor/SecurityBinPrerequisite.js.map +1 -1
- package/build/src/start/doctor/apple/SimulatorAppPrerequisite.js +19 -23
- package/build/src/start/doctor/apple/SimulatorAppPrerequisite.js.map +1 -1
- package/build/src/start/doctor/apple/XcodeDeveloperDiskImagePrerequisite.js +19 -23
- package/build/src/start/doctor/apple/XcodeDeveloperDiskImagePrerequisite.js.map +1 -1
- package/build/src/start/doctor/apple/XcodePrerequisite.js +45 -51
- package/build/src/start/doctor/apple/XcodePrerequisite.js.map +1 -1
- package/build/src/start/doctor/apple/XcrunPrerequisite.js +16 -18
- package/build/src/start/doctor/apple/XcrunPrerequisite.js.map +1 -1
- package/build/src/start/doctor/dependencies/bundledNativeModules.js +19 -23
- package/build/src/start/doctor/dependencies/bundledNativeModules.js.map +1 -1
- package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js +25 -31
- package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js.map +1 -1
- package/build/src/start/doctor/dependencies/getMissingPackages.js +17 -25
- package/build/src/start/doctor/dependencies/getMissingPackages.js.map +1 -1
- package/build/src/start/doctor/dependencies/getVersionedPackages.js +32 -40
- package/build/src/start/doctor/dependencies/getVersionedPackages.js.map +1 -1
- package/build/src/start/doctor/dependencies/resolvePackages.js +26 -32
- package/build/src/start/doctor/dependencies/resolvePackages.js.map +1 -1
- package/build/src/start/doctor/dependencies/validateDependenciesVersions.js +31 -41
- package/build/src/start/doctor/dependencies/validateDependenciesVersions.js.map +1 -1
- package/build/src/start/doctor/ngrok/ExternalModule.js +29 -34
- package/build/src/start/doctor/ngrok/ExternalModule.js.map +1 -1
- package/build/src/start/doctor/ngrok/NgrokResolver.js +8 -12
- package/build/src/start/doctor/ngrok/NgrokResolver.js.map +1 -1
- package/build/src/start/doctor/typescript/TypeScriptProjectPrerequisite.js +28 -32
- package/build/src/start/doctor/typescript/TypeScriptProjectPrerequisite.js.map +1 -1
- package/build/src/start/doctor/typescript/updateTSConfig.js +17 -23
- package/build/src/start/doctor/typescript/updateTSConfig.js.map +1 -1
- package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js +27 -33
- package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js.map +1 -1
- package/build/src/start/index.js +42 -46
- package/build/src/start/index.js.map +1 -1
- package/build/src/start/interface/KeyPressHandler.js +14 -18
- package/build/src/start/interface/KeyPressHandler.js.map +1 -1
- package/build/src/start/interface/commandsTable.js +80 -94
- package/build/src/start/interface/commandsTable.js.map +1 -1
- package/build/src/start/interface/interactiveActions.js +40 -44
- package/build/src/start/interface/interactiveActions.js.map +1 -1
- package/build/src/start/interface/startInterface.js +61 -65
- package/build/src/start/interface/startInterface.js.map +1 -1
- package/build/src/start/platforms/AppIdResolver.js +4 -6
- package/build/src/start/platforms/AppIdResolver.js.map +1 -1
- package/build/src/start/platforms/DeviceManager.js +6 -10
- package/build/src/start/platforms/DeviceManager.js.map +1 -1
- package/build/src/start/platforms/ExpoGoInstaller.js +20 -25
- package/build/src/start/platforms/ExpoGoInstaller.js.map +1 -1
- package/build/src/start/platforms/PlatformManager.js +15 -17
- package/build/src/start/platforms/PlatformManager.js.map +1 -1
- package/build/src/start/platforms/android/ADBServer.js +35 -39
- package/build/src/start/platforms/android/ADBServer.js.map +1 -1
- package/build/src/start/platforms/android/AndroidAppIdResolver.js +16 -18
- package/build/src/start/platforms/android/AndroidAppIdResolver.js.map +1 -1
- package/build/src/start/platforms/android/AndroidDeviceManager.js +20 -24
- 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 +9 -11
- package/build/src/start/platforms/android/AndroidSdk.js.map +1 -1
- package/build/src/start/platforms/android/activateWindow.js +22 -26
- package/build/src/start/platforms/android/activateWindow.js.map +1 -1
- package/build/src/start/platforms/android/adb.js +83 -121
- package/build/src/start/platforms/android/adb.js.map +1 -1
- package/build/src/start/platforms/android/adbReverse.js +12 -20
- package/build/src/start/platforms/android/adbReverse.js.map +1 -1
- package/build/src/start/platforms/android/emulator.js +26 -36
- package/build/src/start/platforms/android/emulator.js.map +1 -1
- package/build/src/start/platforms/android/getDevices.js +5 -7
- package/build/src/start/platforms/android/getDevices.js.map +1 -1
- package/build/src/start/platforms/android/gradle.js +28 -36
- package/build/src/start/platforms/android/gradle.js.map +1 -1
- package/build/src/start/platforms/android/promptAndroidDevice.js +15 -19
- package/build/src/start/platforms/android/promptAndroidDevice.js.map +1 -1
- package/build/src/start/platforms/ios/AppleAppIdResolver.js +19 -21
- package/build/src/start/platforms/ios/AppleAppIdResolver.js.map +1 -1
- package/build/src/start/platforms/ios/AppleDeviceManager.js +31 -37
- 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 +7 -9
- package/build/src/start/platforms/ios/assertSystemRequirements.js.map +1 -1
- package/build/src/start/platforms/ios/devicectl.js +73 -87
- package/build/src/start/platforms/ios/devicectl.js.map +1 -1
- package/build/src/start/platforms/ios/ensureSimulatorAppRunning.js +18 -22
- package/build/src/start/platforms/ios/ensureSimulatorAppRunning.js.map +1 -1
- package/build/src/start/platforms/ios/getBestSimulator.js +19 -29
- package/build/src/start/platforms/ios/getBestSimulator.js.map +1 -1
- package/build/src/start/platforms/ios/promptAppleDevice.js +10 -14
- package/build/src/start/platforms/ios/promptAppleDevice.js.map +1 -1
- package/build/src/start/platforms/ios/simctl.js +74 -102
- package/build/src/start/platforms/ios/simctl.js.map +1 -1
- package/build/src/start/platforms/ios/simctlLogging.js +52 -57
- package/build/src/start/platforms/ios/simctlLogging.js.map +1 -1
- package/build/src/start/platforms/ios/xcrun.js +18 -22
- package/build/src/start/platforms/ios/xcrun.js.map +1 -1
- package/build/src/start/project/devices.js +9 -19
- package/build/src/start/project/devices.js.map +1 -1
- package/build/src/start/project/dotExpo.js +11 -15
- package/build/src/start/project/dotExpo.js.map +1 -1
- package/build/src/start/project/settings.js +2 -4
- package/build/src/start/project/settings.js.map +1 -1
- package/build/src/start/resolveOptions.js +40 -48
- package/build/src/start/resolveOptions.js.map +1 -1
- package/build/src/start/server/AsyncNgrok.js +51 -55
- package/build/src/start/server/AsyncNgrok.js.map +1 -1
- package/build/src/start/server/AsyncWsTunnel.js +36 -40
- package/build/src/start/server/AsyncWsTunnel.js.map +1 -1
- package/build/src/start/server/BundlerDevServer.js +79 -81
- package/build/src/start/server/BundlerDevServer.js.map +1 -1
- package/build/src/start/server/DevServerManager.js +38 -42
- package/build/src/start/server/DevServerManager.js.map +1 -1
- package/build/src/start/server/DevToolsPluginManager.js +14 -18
- package/build/src/start/server/DevToolsPluginManager.js.map +1 -1
- package/build/src/start/server/DevelopmentSession.js +14 -18
- package/build/src/start/server/DevelopmentSession.js.map +1 -1
- package/build/src/start/server/ReactDevToolsProxy.js +10 -16
- package/build/src/start/server/ReactDevToolsProxy.js.map +1 -1
- package/build/src/start/server/UrlCreator.js +33 -36
- package/build/src/start/server/UrlCreator.js.map +1 -1
- package/build/src/start/server/getStaticRenderFunctions.js +21 -29
- package/build/src/start/server/getStaticRenderFunctions.js.map +1 -1
- package/build/src/start/server/metro/DevToolsPluginWebsocketEndpoint.js +4 -6
- package/build/src/start/server/metro/DevToolsPluginWebsocketEndpoint.js.map +1 -1
- package/build/src/start/server/metro/MetroBundlerDevServer.js +271 -269
- package/build/src/start/server/metro/MetroBundlerDevServer.js.map +1 -1
- package/build/src/start/server/metro/MetroTerminalReporter.js +56 -63
- package/build/src/start/server/metro/MetroTerminalReporter.js.map +1 -1
- package/build/src/start/server/metro/TerminalReporter.js +33 -39
- 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/createExpoMetroResolver.js +40 -46
- package/build/src/start/server/metro/createExpoMetroResolver.js.map +1 -1
- package/build/src/start/server/metro/createJResolver.js +28 -32
- package/build/src/start/server/metro/createJResolver.js.map +1 -1
- package/build/src/start/server/metro/createServerComponentsMiddleware.js +92 -96
- package/build/src/start/server/metro/createServerComponentsMiddleware.js.map +1 -1
- package/build/src/start/server/metro/createServerRouteMiddleware.js +30 -32
- package/build/src/start/server/metro/createServerRouteMiddleware.js.map +1 -1
- package/build/src/start/server/metro/debugging/AtlasPrerequisite.js +11 -13
- package/build/src/start/server/metro/debugging/AtlasPrerequisite.js.map +1 -1
- package/build/src/start/server/metro/debugging/MessageHandler.js +1 -3
- package/build/src/start/server/metro/debugging/MessageHandler.js.map +1 -1
- package/build/src/start/server/metro/debugging/attachAtlas.js +22 -26
- package/build/src/start/server/metro/debugging/attachAtlas.js.map +1 -1
- package/build/src/start/server/metro/debugging/createDebugMiddleware.js +17 -19
- package/build/src/start/server/metro/debugging/createDebugMiddleware.js.map +1 -1
- package/build/src/start/server/metro/debugging/createHandlersFactory.js +31 -25
- package/build/src/start/server/metro/debugging/createHandlersFactory.js.map +1 -1
- package/build/src/start/server/metro/debugging/getDebuggerType.js +4 -6
- package/build/src/start/server/metro/debugging/getDebuggerType.js.map +1 -1
- package/build/src/start/server/metro/debugging/messageHandlers/NetworkResponse.js +8 -14
- package/build/src/start/server/metro/debugging/messageHandlers/NetworkResponse.js.map +1 -1
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerGetPossibleBreakpoints.js +5 -7
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerGetPossibleBreakpoints.js.map +1 -1
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerSetBreakpointByUrl.js +6 -8
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerSetBreakpointByUrl.js.map +1 -1
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeCallFunctionOn.js +5 -7
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeCallFunctionOn.js.map +1 -1
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeEvaluate.js +12 -14
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeEvaluate.js.map +1 -1
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeGetProperties.js +10 -14
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeGetProperties.js.map +1 -1
- package/build/src/start/server/metro/debugging/pageIsSupported.js +4 -6
- 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 +16 -18
- package/build/src/start/server/metro/dev-server/createEventSocket.js.map +1 -1
- package/build/src/start/server/metro/dev-server/createMessageSocket.js +21 -23
- package/build/src/start/server/metro/dev-server/createMessageSocket.js.map +1 -1
- package/build/src/start/server/metro/dev-server/createMetroMiddleware.js +21 -23
- package/build/src/start/server/metro/dev-server/createMetroMiddleware.js.map +1 -1
- package/build/src/start/server/metro/dev-server/utils/createSocketBroadcaster.js +2 -4
- 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 +2 -4
- 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 +4 -8
- package/build/src/start/server/metro/dev-server/utils/socketMessages.js.map +1 -1
- package/build/src/start/server/metro/externals.js +25 -33
- package/build/src/start/server/metro/externals.js.map +1 -1
- package/build/src/start/server/metro/fetchRouterManifest.js +12 -16
- package/build/src/start/server/metro/fetchRouterManifest.js.map +1 -1
- package/build/src/start/server/metro/formatFileCandidates.js +9 -11
- package/build/src/start/server/metro/formatFileCandidates.js.map +1 -1
- package/build/src/start/server/metro/getCssModulesFromBundler.js +18 -22
- package/build/src/start/server/metro/getCssModulesFromBundler.js.map +1 -1
- package/build/src/start/server/metro/instantiateMetro.js +79 -85
- package/build/src/start/server/metro/instantiateMetro.js.map +1 -1
- package/build/src/start/server/metro/log-box/LogBoxLog.js +36 -40
- package/build/src/start/server/metro/log-box/LogBoxLog.js.map +1 -1
- package/build/src/start/server/metro/log-box/LogBoxSymbolication.js +14 -20
- package/build/src/start/server/metro/log-box/LogBoxSymbolication.js.map +1 -1
- package/build/src/start/server/metro/log-box/formatProjectFilePath.js +6 -10
- package/build/src/start/server/metro/log-box/formatProjectFilePath.js.map +1 -1
- package/build/src/start/server/metro/metroErrorInterface.js +78 -88
- package/build/src/start/server/metro/metroErrorInterface.js.map +1 -1
- package/build/src/start/server/metro/metroErrors.js +4 -8
- package/build/src/start/server/metro/metroErrors.js.map +1 -1
- package/build/src/start/server/metro/metroPrivateServer.js +7 -9
- package/build/src/start/server/metro/metroPrivateServer.js.map +1 -1
- package/build/src/start/server/metro/metroVirtualModules.js +8 -10
- package/build/src/start/server/metro/metroVirtualModules.js.map +1 -1
- package/build/src/start/server/metro/metroWatchTypeScriptFiles.js +22 -24
- package/build/src/start/server/metro/metroWatchTypeScriptFiles.js.map +1 -1
- package/build/src/start/server/metro/router.js +32 -48
- package/build/src/start/server/metro/router.js.map +1 -1
- package/build/src/start/server/metro/runServer-fork.js +22 -24
- package/build/src/start/server/metro/runServer-fork.js.map +1 -1
- package/build/src/start/server/metro/serializeHtml.js +22 -24
- 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 +29 -35
- package/build/src/start/server/metro/waitForMetroToObserveTypeScriptFile.js.map +1 -1
- package/build/src/start/server/metro/withMetroMultiPlatform.js +139 -149
- package/build/src/start/server/metro/withMetroMultiPlatform.js.map +1 -1
- package/build/src/start/server/metro/withMetroResolvers.js +39 -49
- package/build/src/start/server/metro/withMetroResolvers.js.map +1 -1
- package/build/src/start/server/middleware/ContextModuleSourceMapsMiddleware.js +6 -8
- package/build/src/start/server/middleware/ContextModuleSourceMapsMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/CorsMiddleware.js +15 -17
- package/build/src/start/server/middleware/CorsMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/CreateFileMiddleware.js +31 -32
- package/build/src/start/server/middleware/CreateFileMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/DevToolsPluginMiddleware.js +19 -22
- package/build/src/start/server/middleware/DevToolsPluginMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/DomComponentsMiddleware.js +27 -33
- package/build/src/start/server/middleware/DomComponentsMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js +60 -64
- package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/ExpoMiddleware.js +9 -15
- package/build/src/start/server/middleware/ExpoMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/FaviconMiddleware.js +14 -15
- package/build/src/start/server/middleware/FaviconMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/HistoryFallbackMiddleware.js +2 -4
- package/build/src/start/server/middleware/HistoryFallbackMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/InterstitialPageMiddleware.js +31 -34
- package/build/src/start/server/middleware/InterstitialPageMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/ManifestMiddleware.js +56 -64
- package/build/src/start/server/middleware/ManifestMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/ReactDevToolsPageMiddleware.js +19 -23
- package/build/src/start/server/middleware/ReactDevToolsPageMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js +19 -20
- package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/ServeStaticMiddleware.js +9 -11
- package/build/src/start/server/middleware/ServeStaticMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/createBuiltinAPIRequestHandler.js +11 -17
- package/build/src/start/server/middleware/createBuiltinAPIRequestHandler.js.map +1 -1
- package/build/src/start/server/middleware/inspector/CdpClient.js +10 -12
- package/build/src/start/server/middleware/inspector/CdpClient.js.map +1 -1
- package/build/src/start/server/middleware/inspector/JsInspector.js +27 -35
- package/build/src/start/server/middleware/inspector/JsInspector.js.map +1 -1
- package/build/src/start/server/middleware/inspector/createJsInspectorMiddleware.js +19 -21
- package/build/src/start/server/middleware/inspector/createJsInspectorMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/inspector/middlwareMutations.js +2 -6
- package/build/src/start/server/middleware/inspector/middlwareMutations.js.map +1 -1
- package/build/src/start/server/middleware/metroOptions.js +96 -120
- package/build/src/start/server/middleware/metroOptions.js.map +1 -1
- package/build/src/start/server/middleware/mutations.js +3 -7
- package/build/src/start/server/middleware/mutations.js.map +1 -1
- package/build/src/start/server/middleware/resolveAssets.js +18 -26
- package/build/src/start/server/middleware/resolveAssets.js.map +1 -1
- package/build/src/start/server/middleware/resolvePlatform.js +15 -23
- package/build/src/start/server/middleware/resolvePlatform.js.map +1 -1
- package/build/src/start/server/middleware/resolveRuntimeVersionWithExpoUpdatesAsync.js +9 -11
- 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 +8 -10
- package/build/src/start/server/openPlatforms.js.map +1 -1
- package/build/src/start/server/platformBundlers.js +11 -13
- package/build/src/start/server/platformBundlers.js.map +1 -1
- package/build/src/start/server/serverLogLikeMetro.js +50 -58
- package/build/src/start/server/serverLogLikeMetro.js.map +1 -1
- package/build/src/start/server/type-generation/expo-env.js +7 -11
- package/build/src/start/server/type-generation/expo-env.js.map +1 -1
- package/build/src/start/server/type-generation/routes.js +54 -76
- package/build/src/start/server/type-generation/routes.js.map +1 -1
- package/build/src/start/server/type-generation/startTypescriptTypeGeneration.js +19 -21
- package/build/src/start/server/type-generation/startTypescriptTypeGeneration.js.map +1 -1
- package/build/src/start/server/type-generation/tsconfig.js +28 -36
- package/build/src/start/server/type-generation/tsconfig.js.map +1 -1
- package/build/src/start/server/webTemplate.js +24 -28
- package/build/src/start/server/webTemplate.js.map +1 -1
- package/build/src/start/server/webpack/WebpackBundlerDevServer.js +46 -52
- package/build/src/start/server/webpack/WebpackBundlerDevServer.js.map +1 -1
- package/build/src/start/server/webpack/compile.js +11 -15
- package/build/src/start/server/webpack/compile.js.map +1 -1
- package/build/src/start/server/webpack/formatWebpackMessages.js +26 -28
- package/build/src/start/server/webpack/formatWebpackMessages.js.map +1 -1
- package/build/src/start/server/webpack/resolveFromProject.js +12 -18
- package/build/src/start/server/webpack/resolveFromProject.js.map +1 -1
- package/build/src/start/server/webpack/tls.js +12 -18
- package/build/src/start/server/webpack/tls.js.map +1 -1
- package/build/src/start/startAsync.js +27 -31
- package/build/src/start/startAsync.js.map +1 -1
- package/build/src/utils/FileNotifier.js +17 -20
- package/build/src/utils/FileNotifier.js.map +1 -1
- package/build/src/utils/ansi.js +5 -7
- package/build/src/utils/ansi.js.map +1 -1
- package/build/src/utils/args.js +14 -24
- package/build/src/utils/args.js.map +1 -1
- package/build/src/utils/array.js +6 -18
- package/build/src/utils/array.js.map +1 -1
- package/build/src/utils/cocoapods.js +46 -54
- package/build/src/utils/cocoapods.js.map +1 -1
- package/build/src/utils/codesigning.js +68 -78
- package/build/src/utils/codesigning.js.map +1 -1
- package/build/src/utils/createFileTransform.js +12 -16
- package/build/src/utils/createFileTransform.js.map +1 -1
- package/build/src/utils/createTempPath.js +13 -17
- package/build/src/utils/createTempPath.js.map +1 -1
- package/build/src/utils/delay.js +6 -12
- package/build/src/utils/delay.js.map +1 -1
- package/build/src/utils/dir.js +28 -46
- package/build/src/utils/dir.js.map +1 -1
- package/build/src/utils/downloadAppAsync.js +8 -10
- package/build/src/utils/downloadAppAsync.js.map +1 -1
- package/build/src/utils/downloadExpoGoAsync.js +21 -25
- package/build/src/utils/downloadExpoGoAsync.js.map +1 -1
- package/build/src/utils/editor.js +35 -41
- package/build/src/utils/editor.js.map +1 -1
- package/build/src/utils/env.js +59 -63
- package/build/src/utils/env.js.map +1 -1
- package/build/src/utils/errors.js +30 -37
- package/build/src/utils/errors.js.map +1 -1
- package/build/src/utils/exit.js +31 -35
- package/build/src/utils/exit.js.map +1 -1
- package/build/src/utils/expoUpdatesCli.js +22 -32
- package/build/src/utils/expoUpdatesCli.js.map +1 -1
- package/build/src/utils/fetch.js +4 -8
- package/build/src/utils/fetch.js.map +1 -1
- package/build/src/utils/filePath.js +6 -10
- package/build/src/utils/filePath.js.map +1 -1
- package/build/src/utils/findUp.js +9 -13
- package/build/src/utils/findUp.js.map +1 -1
- package/build/src/utils/fn.js +2 -6
- package/build/src/utils/fn.js.map +1 -1
- package/build/src/utils/getOrPromptApplicationId.js +26 -32
- package/build/src/utils/getOrPromptApplicationId.js.map +1 -1
- package/build/src/utils/getRunningProcess.js +21 -29
- package/build/src/utils/getRunningProcess.js.map +1 -1
- package/build/src/utils/git.js +20 -26
- package/build/src/utils/git.js.map +1 -1
- package/build/src/utils/glob.js +4 -8
- package/build/src/utils/glob.js.map +1 -1
- package/build/src/utils/interactive.js +1 -3
- package/build/src/utils/interactive.js.map +1 -1
- package/build/src/utils/ip.js +19 -21
- package/build/src/utils/ip.js.map +1 -1
- package/build/src/utils/isModuleSymlinked.js +9 -11
- package/build/src/utils/isModuleSymlinked.js.map +1 -1
- package/build/src/utils/jsonSchemaDeref.js +18 -20
- package/build/src/utils/jsonSchemaDeref.js.map +1 -1
- package/build/src/utils/link.js +13 -17
- package/build/src/utils/link.js.map +1 -1
- package/build/src/utils/mergeGitIgnorePaths.js +28 -46
- package/build/src/utils/mergeGitIgnorePaths.js.map +1 -1
- package/build/src/utils/modifyConfigAsync.js +10 -16
- package/build/src/utils/modifyConfigAsync.js.map +1 -1
- package/build/src/utils/modifyConfigPlugins.js +6 -10
- package/build/src/utils/modifyConfigPlugins.js.map +1 -1
- package/build/src/utils/nodeEnv.js +6 -12
- package/build/src/utils/nodeEnv.js.map +1 -1
- package/build/src/utils/nodeModules.js +8 -10
- package/build/src/utils/nodeModules.js.map +1 -1
- package/build/src/utils/npm.js +36 -50
- package/build/src/utils/npm.js.map +1 -1
- package/build/src/utils/obj.js +5 -11
- package/build/src/utils/obj.js.map +1 -1
- package/build/src/utils/open.js +8 -10
- package/build/src/utils/open.js.map +1 -1
- package/build/src/utils/ora.js +7 -13
- package/build/src/utils/ora.js.map +1 -1
- package/build/src/utils/plist.js +15 -21
- package/build/src/utils/plist.js.map +1 -1
- package/build/src/utils/port.js +33 -43
- package/build/src/utils/port.js.map +1 -1
- package/build/src/utils/profile.js +7 -11
- package/build/src/utils/profile.js.map +1 -1
- package/build/src/utils/progress.js +5 -11
- package/build/src/utils/progress.js.map +1 -1
- package/build/src/utils/prompts.js +29 -47
- package/build/src/utils/prompts.js.map +1 -1
- package/build/src/utils/resolveArgs.js +24 -36
- package/build/src/utils/resolveArgs.js.map +1 -1
- package/build/src/utils/scheme.js +32 -40
- package/build/src/utils/scheme.js.map +1 -1
- package/build/src/utils/stream.js +3 -5
- package/build/src/utils/stream.js.map +1 -1
- package/build/src/utils/strings.js +4 -6
- package/build/src/utils/strings.js.map +1 -1
- package/build/src/utils/tar.js +15 -19
- package/build/src/utils/tar.js.map +1 -1
- package/build/src/utils/telemetry/Telemetry.js +27 -29
- package/build/src/utils/telemetry/Telemetry.js.map +1 -1
- package/build/src/utils/telemetry/clients/FetchClient.js +13 -15
- package/build/src/utils/telemetry/clients/FetchClient.js.map +1 -1
- package/build/src/utils/telemetry/clients/FetchDetachedClient.js +22 -26
- package/build/src/utils/telemetry/clients/FetchDetachedClient.js.map +1 -1
- package/build/src/utils/telemetry/clients/RudderClient.js +8 -10
- package/build/src/utils/telemetry/clients/RudderClient.js.map +1 -1
- package/build/src/utils/telemetry/clients/RudderDetachedClient.js +22 -26
- package/build/src/utils/telemetry/clients/RudderDetachedClient.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/clients/flushRudderDetached.js +10 -10
- package/build/src/utils/telemetry/clients/flushRudderDetached.js.map +1 -1
- package/build/src/utils/telemetry/events.js +2 -4
- package/build/src/utils/telemetry/events.js.map +1 -1
- package/build/src/utils/telemetry/flushDetached.js.map +1 -1
- package/build/src/utils/telemetry/index.js +29 -25
- 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 +4 -8
- package/build/src/utils/telemetry/utils/constants.js.map +1 -1
- package/build/src/utils/telemetry/utils/context.js +14 -18
- package/build/src/utils/telemetry/utils/context.js.map +1 -1
- package/build/src/utils/template.js +4 -6
- package/build/src/utils/template.js.map +1 -1
- package/build/src/utils/terminal.js +2 -4
- package/build/src/utils/terminal.js.map +1 -1
- package/build/src/utils/tsconfig/evaluateTsConfig.js +17 -21
- package/build/src/utils/tsconfig/evaluateTsConfig.js.map +1 -1
- package/build/src/utils/tsconfig/loadTsConfigPaths.js +14 -18
- package/build/src/utils/tsconfig/loadTsConfigPaths.js.map +1 -1
- package/build/src/utils/tsconfig/matchTsConfigPathAlias.js +5 -7
- package/build/src/utils/tsconfig/matchTsConfigPathAlias.js.map +1 -1
- package/build/src/utils/tsconfig/resolveWithTsConfigPaths.js +12 -14
- package/build/src/utils/tsconfig/resolveWithTsConfigPaths.js.map +1 -1
- package/build/src/utils/url.js +13 -23
- package/build/src/utils/url.js.map +1 -1
- package/build/src/utils/validateApplicationId.js +86 -108
- package/build/src/utils/validateApplicationId.js.map +1 -1
- package/build/src/utils/variadic.js +16 -22
- package/build/src/utils/variadic.js.map +1 -1
- package/build/src/whoami/index.js +7 -11
- package/build/src/whoami/index.js.map +1 -1
- package/build/src/whoami/whoamiAsync.js +7 -11
- package/build/src/whoami/whoamiAsync.js.map +1 -1
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/run/ios/options/resolveNativeScheme.ts"],"sourcesContent":["import { IOSConfig } from '@expo/config-plugins';\nimport chalk from 'chalk';\nimport path from 'path';\n\nimport * as Log from '../../../log';\nimport { CommandError } from '../../../utils/errors';\nimport { profile } from '../../../utils/profile';\nimport { selectAsync } from '../../../utils/prompts';\nimport { Options, ProjectInfo, XcodeConfiguration } from '../XcodeBuild.types';\n\nconst debug = require('debug')('expo:run:ios:options:resolveNativeScheme') as typeof console.log;\n\ntype NativeSchemeProps = {\n name: string;\n osType?: string;\n};\n\nexport async function resolveNativeSchemePropsAsync(\n projectRoot: string,\n options: Pick<Options, 'scheme' | 'configuration'>,\n xcodeProject: ProjectInfo\n): Promise<NativeSchemeProps> {\n return (\n (await promptOrQueryNativeSchemeAsync(projectRoot, options)) ??\n getDefaultNativeScheme(projectRoot, options, xcodeProject)\n );\n}\n\n/** Resolve the native iOS build `scheme` for a given `configuration`. If the `scheme` isn't provided then the user will be prompted to select one. */\nexport async function promptOrQueryNativeSchemeAsync(\n projectRoot: string,\n { scheme, configuration }: { scheme?: string | boolean; configuration?: XcodeConfiguration }\n): Promise<NativeSchemeProps | null> {\n const schemes = IOSConfig.BuildScheme.getRunnableSchemesFromXcodeproj(projectRoot, {\n configuration,\n });\n\n if (!schemes.length) {\n throw new CommandError('IOS_MALFORMED', 'No native iOS build schemes found');\n }\n\n if (scheme === true) {\n if (schemes.length === 1) {\n Log.log(`Auto selecting only available scheme: ${schemes[0].name}`);\n return schemes[0];\n }\n const resolvedSchemeName = await selectAsync(\n 'Select a scheme',\n schemes.map((value) => {\n const isApp =\n value.type === IOSConfig.Target.TargetType.APPLICATION && value.osType === 'iOS';\n return {\n value: value.name,\n title: isApp ? chalk.bold(value.name) + chalk.gray(' (app)') : value.name,\n };\n }),\n {\n nonInteractiveHelp: `--scheme: argument must be provided with a string in non-interactive mode. Valid choices are: ${schemes.join(\n ', '\n )}`,\n }\n );\n return schemes.find(({ name }) => resolvedSchemeName === name) ?? null;\n }\n // Attempt to match the schemes up so we can open the correct simulator\n return scheme ? schemes.find(({ name }) => name === scheme) || { name: scheme } : null;\n}\n\nexport function getDefaultNativeScheme(\n projectRoot: string,\n options: Pick<Options, 'configuration'>,\n xcodeProject: Pick<ProjectInfo, 'name'>\n): NativeSchemeProps {\n // If the resolution failed then we should just use the first runnable scheme that\n // matches the provided configuration.\n const resolvedSchemes = profile(IOSConfig.BuildScheme.getRunnableSchemesFromXcodeproj)(\n projectRoot,\n {\n configuration: options.configuration,\n }\n );\n\n // If there are multiple schemes, then the default should be the application.\n if (resolvedSchemes.length > 1) {\n const scheme =\n resolvedSchemes.find(({ type }) => type === IOSConfig.Target.TargetType.APPLICATION) ??\n resolvedSchemes[0];\n debug(`Using default scheme: ${scheme.name}`);\n return scheme;\n }\n\n // If we couldn't find the scheme, then we'll guess at it,\n // this is needed for cases where the native code hasn't been generated yet.\n if (resolvedSchemes[0]) {\n return resolvedSchemes[0];\n }\n return {\n name: path.basename(xcodeProject.name, path.extname(xcodeProject.name)),\n };\n}\n"],"names":["
|
|
1
|
+
{"version":3,"sources":["../../../../../src/run/ios/options/resolveNativeScheme.ts"],"sourcesContent":["import { IOSConfig } from '@expo/config-plugins';\nimport chalk from 'chalk';\nimport path from 'path';\n\nimport * as Log from '../../../log';\nimport { CommandError } from '../../../utils/errors';\nimport { profile } from '../../../utils/profile';\nimport { selectAsync } from '../../../utils/prompts';\nimport { Options, ProjectInfo, XcodeConfiguration } from '../XcodeBuild.types';\n\nconst debug = require('debug')('expo:run:ios:options:resolveNativeScheme') as typeof console.log;\n\ntype NativeSchemeProps = {\n name: string;\n osType?: string;\n};\n\nexport async function resolveNativeSchemePropsAsync(\n projectRoot: string,\n options: Pick<Options, 'scheme' | 'configuration'>,\n xcodeProject: ProjectInfo\n): Promise<NativeSchemeProps> {\n return (\n (await promptOrQueryNativeSchemeAsync(projectRoot, options)) ??\n getDefaultNativeScheme(projectRoot, options, xcodeProject)\n );\n}\n\n/** Resolve the native iOS build `scheme` for a given `configuration`. If the `scheme` isn't provided then the user will be prompted to select one. */\nexport async function promptOrQueryNativeSchemeAsync(\n projectRoot: string,\n { scheme, configuration }: { scheme?: string | boolean; configuration?: XcodeConfiguration }\n): Promise<NativeSchemeProps | null> {\n const schemes = IOSConfig.BuildScheme.getRunnableSchemesFromXcodeproj(projectRoot, {\n configuration,\n });\n\n if (!schemes.length) {\n throw new CommandError('IOS_MALFORMED', 'No native iOS build schemes found');\n }\n\n if (scheme === true) {\n if (schemes.length === 1) {\n Log.log(`Auto selecting only available scheme: ${schemes[0].name}`);\n return schemes[0];\n }\n const resolvedSchemeName = await selectAsync(\n 'Select a scheme',\n schemes.map((value) => {\n const isApp =\n value.type === IOSConfig.Target.TargetType.APPLICATION && value.osType === 'iOS';\n return {\n value: value.name,\n title: isApp ? chalk.bold(value.name) + chalk.gray(' (app)') : value.name,\n };\n }),\n {\n nonInteractiveHelp: `--scheme: argument must be provided with a string in non-interactive mode. Valid choices are: ${schemes.join(\n ', '\n )}`,\n }\n );\n return schemes.find(({ name }) => resolvedSchemeName === name) ?? null;\n }\n // Attempt to match the schemes up so we can open the correct simulator\n return scheme ? schemes.find(({ name }) => name === scheme) || { name: scheme } : null;\n}\n\nexport function getDefaultNativeScheme(\n projectRoot: string,\n options: Pick<Options, 'configuration'>,\n xcodeProject: Pick<ProjectInfo, 'name'>\n): NativeSchemeProps {\n // If the resolution failed then we should just use the first runnable scheme that\n // matches the provided configuration.\n const resolvedSchemes = profile(IOSConfig.BuildScheme.getRunnableSchemesFromXcodeproj)(\n projectRoot,\n {\n configuration: options.configuration,\n }\n );\n\n // If there are multiple schemes, then the default should be the application.\n if (resolvedSchemes.length > 1) {\n const scheme =\n resolvedSchemes.find(({ type }) => type === IOSConfig.Target.TargetType.APPLICATION) ??\n resolvedSchemes[0];\n debug(`Using default scheme: ${scheme.name}`);\n return scheme;\n }\n\n // If we couldn't find the scheme, then we'll guess at it,\n // this is needed for cases where the native code hasn't been generated yet.\n if (resolvedSchemes[0]) {\n return resolvedSchemes[0];\n }\n return {\n name: path.basename(xcodeProject.name, path.extname(xcodeProject.name)),\n };\n}\n"],"names":["resolveNativeSchemePropsAsync","promptOrQueryNativeSchemeAsync","getDefaultNativeScheme","debug","require","projectRoot","options","xcodeProject","scheme","configuration","schemes","IOSConfig","BuildScheme","getRunnableSchemesFromXcodeproj","length","CommandError","Log","log","name","resolvedSchemeName","selectAsync","map","value","isApp","type","Target","TargetType","APPLICATION","osType","title","chalk","bold","gray","nonInteractiveHelp","join","find","resolvedSchemes","profile","path","basename","extname"],"mappings":"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"}
|
|
@@ -4,9 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
});
|
|
5
5
|
Object.defineProperty(exports, "resolveOptionsAsync", {
|
|
6
6
|
enumerable: true,
|
|
7
|
-
get:
|
|
8
|
-
return resolveOptionsAsync;
|
|
9
|
-
}
|
|
7
|
+
get: ()=>resolveOptionsAsync
|
|
10
8
|
});
|
|
11
9
|
const _resolveDevice = require("./resolveDevice");
|
|
12
10
|
const _resolveNativeScheme = require("./resolveNativeScheme");
|
|
@@ -19,9 +17,9 @@ async function resolveOptionsAsync(projectRoot, options) {
|
|
|
19
17
|
const bundlerProps = await (0, _resolveBundlerProps.resolveBundlerPropsAsync)(projectRoot, options);
|
|
20
18
|
// Resolve the scheme before the device so we can filter devices based on
|
|
21
19
|
// whichever scheme is selected (i.e. don't present TV devices if the scheme cannot be run on a TV).
|
|
22
|
-
const { osType, name: scheme
|
|
20
|
+
const { osType , name: scheme } = await (0, _resolveNativeScheme.resolveNativeSchemePropsAsync)(projectRoot, options, xcodeProject);
|
|
23
21
|
// Use the configuration or `Debug` if none is provided.
|
|
24
|
-
const configuration = options.configuration ||
|
|
22
|
+
const configuration = options.configuration || "Debug";
|
|
25
23
|
// Resolve the device based on the provided device id or prompt
|
|
26
24
|
// from a list of devices (connected or simulated) that are filtered by the scheme.
|
|
27
25
|
const device = await (0, _profile.profile)(_resolveDevice.resolveDeviceAsync)(options.device, {
|
|
@@ -36,10 +34,10 @@ async function resolveOptionsAsync(projectRoot, options) {
|
|
|
36
34
|
// The cache is reset in `../node_modules/react-native/scripts/react-native-xcode.sh` when the
|
|
37
35
|
// project is running in Debug and built onto a physical device. It seems that this is done because
|
|
38
36
|
// the script is run from Xcode and unaware of the CLI instance.
|
|
39
|
-
const shouldSkipInitialBundling = configuration ===
|
|
37
|
+
const shouldSkipInitialBundling = configuration === "Debug" && !isSimulator;
|
|
40
38
|
return {
|
|
41
39
|
...bundlerProps,
|
|
42
|
-
shouldStartBundler: options.configuration ===
|
|
40
|
+
shouldStartBundler: options.configuration === "Debug" || bundlerProps.shouldStartBundler,
|
|
43
41
|
projectRoot,
|
|
44
42
|
isSimulator,
|
|
45
43
|
xcodeProject,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/run/ios/options/resolveOptions.ts"],"sourcesContent":["import { isSimulatorDevice, resolveDeviceAsync } from './resolveDevice';\nimport { resolveNativeSchemePropsAsync } from './resolveNativeScheme';\nimport { resolveXcodeProject } from './resolveXcodeProject';\nimport { isOSType } from '../../../start/platforms/ios/simctl';\nimport { profile } from '../../../utils/profile';\nimport { resolveBundlerPropsAsync } from '../../resolveBundlerProps';\nimport { BuildProps, Options } from '../XcodeBuild.types';\n\n/** Resolve arguments for the `run:ios` command. */\nexport async function resolveOptionsAsync(\n projectRoot: string,\n options: Options\n): Promise<BuildProps> {\n const xcodeProject = resolveXcodeProject(projectRoot);\n\n const bundlerProps = await resolveBundlerPropsAsync(projectRoot, options);\n\n // Resolve the scheme before the device so we can filter devices based on\n // whichever scheme is selected (i.e. don't present TV devices if the scheme cannot be run on a TV).\n const { osType, name: scheme } = await resolveNativeSchemePropsAsync(\n projectRoot,\n options,\n xcodeProject\n );\n\n // Use the configuration or `Debug` if none is provided.\n const configuration = options.configuration || 'Debug';\n\n // Resolve the device based on the provided device id or prompt\n // from a list of devices (connected or simulated) that are filtered by the scheme.\n const device = await profile(resolveDeviceAsync)(options.device, {\n // It's unclear if there's any value to asserting that we haven't hardcoded the os type in the CLI.\n osType: isOSType(osType) ? osType : undefined,\n xcodeProject,\n scheme,\n configuration,\n });\n\n const isSimulator = isSimulatorDevice(device);\n\n // This optimization skips resetting the Metro cache needlessly.\n // The cache is reset in `../node_modules/react-native/scripts/react-native-xcode.sh` when the\n // project is running in Debug and built onto a physical device. It seems that this is done because\n // the script is run from Xcode and unaware of the CLI instance.\n const shouldSkipInitialBundling = configuration === 'Debug' && !isSimulator;\n\n return {\n ...bundlerProps,\n shouldStartBundler: options.configuration === 'Debug' || bundlerProps.shouldStartBundler,\n projectRoot,\n isSimulator,\n xcodeProject,\n device,\n configuration,\n shouldSkipInitialBundling,\n buildCache: options.buildCache !== false,\n scheme,\n };\n}\n"],"names":["resolveOptionsAsync","projectRoot","options","xcodeProject","resolveXcodeProject","bundlerProps","resolveBundlerPropsAsync","osType","name","scheme","resolveNativeSchemePropsAsync","configuration","device","profile","resolveDeviceAsync","isOSType","undefined","isSimulator","isSimulatorDevice","shouldSkipInitialBundling","shouldStartBundler","buildCache"],"mappings":";;;;+BASsBA
|
|
1
|
+
{"version":3,"sources":["../../../../../src/run/ios/options/resolveOptions.ts"],"sourcesContent":["import { isSimulatorDevice, resolveDeviceAsync } from './resolveDevice';\nimport { resolveNativeSchemePropsAsync } from './resolveNativeScheme';\nimport { resolveXcodeProject } from './resolveXcodeProject';\nimport { isOSType } from '../../../start/platforms/ios/simctl';\nimport { profile } from '../../../utils/profile';\nimport { resolveBundlerPropsAsync } from '../../resolveBundlerProps';\nimport { BuildProps, Options } from '../XcodeBuild.types';\n\n/** Resolve arguments for the `run:ios` command. */\nexport async function resolveOptionsAsync(\n projectRoot: string,\n options: Options\n): Promise<BuildProps> {\n const xcodeProject = resolveXcodeProject(projectRoot);\n\n const bundlerProps = await resolveBundlerPropsAsync(projectRoot, options);\n\n // Resolve the scheme before the device so we can filter devices based on\n // whichever scheme is selected (i.e. don't present TV devices if the scheme cannot be run on a TV).\n const { osType, name: scheme } = await resolveNativeSchemePropsAsync(\n projectRoot,\n options,\n xcodeProject\n );\n\n // Use the configuration or `Debug` if none is provided.\n const configuration = options.configuration || 'Debug';\n\n // Resolve the device based on the provided device id or prompt\n // from a list of devices (connected or simulated) that are filtered by the scheme.\n const device = await profile(resolveDeviceAsync)(options.device, {\n // It's unclear if there's any value to asserting that we haven't hardcoded the os type in the CLI.\n osType: isOSType(osType) ? osType : undefined,\n xcodeProject,\n scheme,\n configuration,\n });\n\n const isSimulator = isSimulatorDevice(device);\n\n // This optimization skips resetting the Metro cache needlessly.\n // The cache is reset in `../node_modules/react-native/scripts/react-native-xcode.sh` when the\n // project is running in Debug and built onto a physical device. It seems that this is done because\n // the script is run from Xcode and unaware of the CLI instance.\n const shouldSkipInitialBundling = configuration === 'Debug' && !isSimulator;\n\n return {\n ...bundlerProps,\n shouldStartBundler: options.configuration === 'Debug' || bundlerProps.shouldStartBundler,\n projectRoot,\n isSimulator,\n xcodeProject,\n device,\n configuration,\n shouldSkipInitialBundling,\n buildCache: options.buildCache !== false,\n scheme,\n };\n}\n"],"names":["resolveOptionsAsync","projectRoot","options","xcodeProject","resolveXcodeProject","bundlerProps","resolveBundlerPropsAsync","osType","name","scheme","resolveNativeSchemePropsAsync","configuration","device","profile","resolveDeviceAsync","isOSType","undefined","isSimulator","isSimulatorDevice","shouldSkipInitialBundling","shouldStartBundler","buildCache"],"mappings":"AAAA;;;;+BASsBA,qBAAmB;;aAAnBA,mBAAmB;;+BATa,iBAAiB;qCACzB,uBAAuB;qCACjC,uBAAuB;wBAClC,qCAAqC;yBACtC,wBAAwB;qCACP,2BAA2B;AAI7D,eAAeA,mBAAmB,CACvCC,WAAmB,EACnBC,OAAgB,EACK;IACrB,MAAMC,YAAY,GAAGC,IAAAA,oBAAmB,oBAAA,EAACH,WAAW,CAAC,AAAC;IAEtD,MAAMI,YAAY,GAAG,MAAMC,IAAAA,oBAAwB,yBAAA,EAACL,WAAW,EAAEC,OAAO,CAAC,AAAC;IAE1E,yEAAyE;IACzE,oGAAoG;IACpG,MAAM,EAAEK,MAAM,CAAA,EAAEC,IAAI,EAAEC,MAAM,CAAA,EAAE,GAAG,MAAMC,IAAAA,oBAA6B,8BAAA,EAClET,WAAW,EACXC,OAAO,EACPC,YAAY,CACb,AAAC;IAEF,wDAAwD;IACxD,MAAMQ,aAAa,GAAGT,OAAO,CAACS,aAAa,IAAI,OAAO,AAAC;IAEvD,+DAA+D;IAC/D,mFAAmF;IACnF,MAAMC,MAAM,GAAG,MAAMC,IAAAA,QAAO,QAAA,EAACC,cAAkB,mBAAA,CAAC,CAACZ,OAAO,CAACU,MAAM,EAAE;QAC/D,mGAAmG;QACnGL,MAAM,EAAEQ,IAAAA,OAAQ,SAAA,EAACR,MAAM,CAAC,GAAGA,MAAM,GAAGS,SAAS;QAC7Cb,YAAY;QACZM,MAAM;QACNE,aAAa;KACd,CAAC,AAAC;IAEH,MAAMM,WAAW,GAAGC,IAAAA,cAAiB,kBAAA,EAACN,MAAM,CAAC,AAAC;IAE9C,gEAAgE;IAChE,8FAA8F;IAC9F,mGAAmG;IACnG,gEAAgE;IAChE,MAAMO,yBAAyB,GAAGR,aAAa,KAAK,OAAO,IAAI,CAACM,WAAW,AAAC;IAE5E,OAAO;QACL,GAAGZ,YAAY;QACfe,kBAAkB,EAAElB,OAAO,CAACS,aAAa,KAAK,OAAO,IAAIN,YAAY,CAACe,kBAAkB;QACxFnB,WAAW;QACXgB,WAAW;QACXd,YAAY;QACZS,MAAM;QACND,aAAa;QACbQ,yBAAyB;QACzBE,UAAU,EAAEnB,OAAO,CAACmB,UAAU,KAAK,KAAK;QACxCZ,MAAM;KACP,CAAC;AACJ,CAAC"}
|
|
@@ -4,9 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
});
|
|
5
5
|
Object.defineProperty(exports, "resolveXcodeProject", {
|
|
6
6
|
enumerable: true,
|
|
7
|
-
get:
|
|
8
|
-
return resolveXcodeProject;
|
|
9
|
-
}
|
|
7
|
+
get: ()=>resolveXcodeProject
|
|
10
8
|
});
|
|
11
9
|
function _glob() {
|
|
12
10
|
const data = require("glob");
|
|
@@ -17,7 +15,7 @@ function _glob() {
|
|
|
17
15
|
}
|
|
18
16
|
const _errors = require("../../../utils/errors");
|
|
19
17
|
const ignoredPaths = [
|
|
20
|
-
|
|
18
|
+
"**/@(Carthage|Pods|vendor|node_modules)/**"
|
|
21
19
|
];
|
|
22
20
|
function findXcodeProjectPaths(projectRoot, extension) {
|
|
23
21
|
return (0, _glob().sync)(`ios/*.${extension}`, {
|
|
@@ -27,7 +25,7 @@ function findXcodeProjectPaths(projectRoot, extension) {
|
|
|
27
25
|
});
|
|
28
26
|
}
|
|
29
27
|
function resolveXcodeProject(projectRoot) {
|
|
30
|
-
let paths = findXcodeProjectPaths(projectRoot,
|
|
28
|
+
let paths = findXcodeProjectPaths(projectRoot, "xcworkspace");
|
|
31
29
|
if (paths.length) {
|
|
32
30
|
return {
|
|
33
31
|
// Use full path instead of relative project root so that warnings and errors contain full paths as well, this helps with filtering.
|
|
@@ -37,14 +35,14 @@ function resolveXcodeProject(projectRoot) {
|
|
|
37
35
|
isWorkspace: true
|
|
38
36
|
};
|
|
39
37
|
}
|
|
40
|
-
paths = findXcodeProjectPaths(projectRoot,
|
|
38
|
+
paths = findXcodeProjectPaths(projectRoot, "xcodeproj");
|
|
41
39
|
if (paths.length) {
|
|
42
40
|
return {
|
|
43
41
|
name: paths[0],
|
|
44
42
|
isWorkspace: false
|
|
45
43
|
};
|
|
46
44
|
}
|
|
47
|
-
throw new _errors.CommandError(
|
|
45
|
+
throw new _errors.CommandError("IOS_MALFORMED", `Xcode project not found in project: ${projectRoot}. You can generate a project with \`npx expo prebuild\``);
|
|
48
46
|
}
|
|
49
47
|
|
|
50
48
|
//# sourceMappingURL=resolveXcodeProject.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/run/ios/options/resolveXcodeProject.ts"],"sourcesContent":["import { sync as globSync } from 'glob';\n\nimport { CommandError } from '../../../utils/errors';\nimport { ProjectInfo } from '../XcodeBuild.types';\n\nconst ignoredPaths = ['**/@(Carthage|Pods|vendor|node_modules)/**'];\n\nfunction findXcodeProjectPaths(\n projectRoot: string,\n extension: 'xcworkspace' | 'xcodeproj'\n): string[] {\n return globSync(`ios/*.${extension}`, {\n absolute: true,\n cwd: projectRoot,\n ignore: ignoredPaths,\n });\n}\n\n/** Return the path and type of Xcode project in the given folder. */\nexport function resolveXcodeProject(projectRoot: string): ProjectInfo {\n let paths = findXcodeProjectPaths(projectRoot, 'xcworkspace');\n if (paths.length) {\n return {\n // Use full path instead of relative project root so that warnings and errors contain full paths as well, this helps with filtering.\n // Also helps keep things consistent in monorepos.\n name: paths[0],\n // name: path.relative(projectRoot, paths[0]),\n isWorkspace: true,\n };\n }\n paths = findXcodeProjectPaths(projectRoot, 'xcodeproj');\n if (paths.length) {\n return { name: paths[0], isWorkspace: false };\n }\n throw new CommandError(\n 'IOS_MALFORMED',\n `Xcode project not found in project: ${projectRoot}. You can generate a project with \\`npx expo prebuild\\``\n );\n}\n"],"names":["resolveXcodeProject","ignoredPaths","findXcodeProjectPaths","projectRoot","extension","globSync","absolute","cwd","ignore","paths","length","name","isWorkspace","CommandError"],"mappings":";;;;+BAmBgBA;;;
|
|
1
|
+
{"version":3,"sources":["../../../../../src/run/ios/options/resolveXcodeProject.ts"],"sourcesContent":["import { sync as globSync } from 'glob';\n\nimport { CommandError } from '../../../utils/errors';\nimport { ProjectInfo } from '../XcodeBuild.types';\n\nconst ignoredPaths = ['**/@(Carthage|Pods|vendor|node_modules)/**'];\n\nfunction findXcodeProjectPaths(\n projectRoot: string,\n extension: 'xcworkspace' | 'xcodeproj'\n): string[] {\n return globSync(`ios/*.${extension}`, {\n absolute: true,\n cwd: projectRoot,\n ignore: ignoredPaths,\n });\n}\n\n/** Return the path and type of Xcode project in the given folder. */\nexport function resolveXcodeProject(projectRoot: string): ProjectInfo {\n let paths = findXcodeProjectPaths(projectRoot, 'xcworkspace');\n if (paths.length) {\n return {\n // Use full path instead of relative project root so that warnings and errors contain full paths as well, this helps with filtering.\n // Also helps keep things consistent in monorepos.\n name: paths[0],\n // name: path.relative(projectRoot, paths[0]),\n isWorkspace: true,\n };\n }\n paths = findXcodeProjectPaths(projectRoot, 'xcodeproj');\n if (paths.length) {\n return { name: paths[0], isWorkspace: false };\n }\n throw new CommandError(\n 'IOS_MALFORMED',\n `Xcode project not found in project: ${projectRoot}. You can generate a project with \\`npx expo prebuild\\``\n );\n}\n"],"names":["resolveXcodeProject","ignoredPaths","findXcodeProjectPaths","projectRoot","extension","globSync","absolute","cwd","ignore","paths","length","name","isWorkspace","CommandError"],"mappings":"AAAA;;;;+BAmBgBA,qBAAmB;;aAAnBA,mBAAmB;;;yBAnBF,MAAM;;;;;;wBAEV,uBAAuB;AAGpD,MAAMC,YAAY,GAAG;IAAC,4CAA4C;CAAC,AAAC;AAEpE,SAASC,qBAAqB,CAC5BC,WAAmB,EACnBC,SAAsC,EAC5B;IACV,OAAOC,IAAAA,KAAQ,EAAA,KAAA,EAAC,CAAC,MAAM,EAAED,SAAS,CAAC,CAAC,EAAE;QACpCE,QAAQ,EAAE,IAAI;QACdC,GAAG,EAAEJ,WAAW;QAChBK,MAAM,EAAEP,YAAY;KACrB,CAAC,CAAC;AACL,CAAC;AAGM,SAASD,mBAAmB,CAACG,WAAmB,EAAe;IACpE,IAAIM,KAAK,GAAGP,qBAAqB,CAACC,WAAW,EAAE,aAAa,CAAC,AAAC;IAC9D,IAAIM,KAAK,CAACC,MAAM,EAAE;QAChB,OAAO;YACL,oIAAoI;YACpI,kDAAkD;YAClDC,IAAI,EAAEF,KAAK,CAAC,CAAC,CAAC;YACd,8CAA8C;YAC9CG,WAAW,EAAE,IAAI;SAClB,CAAC;IACJ,CAAC;IACDH,KAAK,GAAGP,qBAAqB,CAACC,WAAW,EAAE,WAAW,CAAC,CAAC;IACxD,IAAIM,KAAK,CAACC,MAAM,EAAE;QAChB,OAAO;YAAEC,IAAI,EAAEF,KAAK,CAAC,CAAC,CAAC;YAAEG,WAAW,EAAE,KAAK;SAAE,CAAC;IAChD,CAAC;IACD,MAAM,IAAIC,OAAY,aAAA,CACpB,eAAe,EACf,CAAC,oCAAoC,EAAEV,WAAW,CAAC,uDAAuD,CAAC,CAC5G,CAAC;AACJ,CAAC"}
|
|
@@ -4,40 +4,38 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
});
|
|
5
5
|
Object.defineProperty(exports, "runIosAsync", {
|
|
6
6
|
enumerable: true,
|
|
7
|
-
get:
|
|
8
|
-
return runIosAsync;
|
|
9
|
-
}
|
|
7
|
+
get: ()=>runIosAsync
|
|
10
8
|
});
|
|
11
|
-
function
|
|
12
|
-
const data = /*#__PURE__*/
|
|
13
|
-
|
|
9
|
+
function _spawnAsync() {
|
|
10
|
+
const data = /*#__PURE__*/ _interopRequireDefault(require("@expo/spawn-async"));
|
|
11
|
+
_spawnAsync = function() {
|
|
14
12
|
return data;
|
|
15
13
|
};
|
|
16
14
|
return data;
|
|
17
15
|
}
|
|
18
16
|
function _chalk() {
|
|
19
|
-
const data = /*#__PURE__*/
|
|
17
|
+
const data = /*#__PURE__*/ _interopRequireDefault(require("chalk"));
|
|
20
18
|
_chalk = function() {
|
|
21
19
|
return data;
|
|
22
20
|
};
|
|
23
21
|
return data;
|
|
24
22
|
}
|
|
25
23
|
function _fs() {
|
|
26
|
-
const data = /*#__PURE__*/
|
|
24
|
+
const data = /*#__PURE__*/ _interopRequireDefault(require("fs"));
|
|
27
25
|
_fs = function() {
|
|
28
26
|
return data;
|
|
29
27
|
};
|
|
30
28
|
return data;
|
|
31
29
|
}
|
|
32
30
|
function _path() {
|
|
33
|
-
const data = /*#__PURE__*/
|
|
31
|
+
const data = /*#__PURE__*/ _interopRequireDefault(require("path"));
|
|
34
32
|
_path = function() {
|
|
35
33
|
return data;
|
|
36
34
|
};
|
|
37
35
|
return data;
|
|
38
36
|
}
|
|
39
|
-
const _log = /*#__PURE__*/
|
|
40
|
-
const
|
|
37
|
+
const _log = /*#__PURE__*/ _interopRequireWildcard(require("../../log"));
|
|
38
|
+
const _appleAppIdResolver = require("../../start/platforms/ios/AppleAppIdResolver");
|
|
41
39
|
const _cocoapods = require("../../utils/cocoapods");
|
|
42
40
|
const _nodeEnv = require("../../utils/nodeEnv");
|
|
43
41
|
const _port = require("../../utils/port");
|
|
@@ -46,14 +44,14 @@ const _scheme = require("../../utils/scheme");
|
|
|
46
44
|
const _ensureNativeProject = require("../ensureNativeProject");
|
|
47
45
|
const _hints = require("../hints");
|
|
48
46
|
const _startBundler = require("../startBundler");
|
|
49
|
-
const
|
|
47
|
+
const _xcodeBuild = /*#__PURE__*/ _interopRequireWildcard(require("./XcodeBuild"));
|
|
50
48
|
const _launchApp = require("./launchApp");
|
|
51
49
|
const _resolveOptions = require("./options/resolveOptions");
|
|
52
50
|
const _validateExternalBinary = require("./validateExternalBinary");
|
|
53
51
|
const _exportEager = require("../../export/embed/exportEager");
|
|
54
52
|
const _simctl = require("../../start/platforms/ios/simctl");
|
|
55
53
|
const _errors = require("../../utils/errors");
|
|
56
|
-
function
|
|
54
|
+
function _interopRequireDefault(obj) {
|
|
57
55
|
return obj && obj.__esModule ? obj : {
|
|
58
56
|
default: obj
|
|
59
57
|
};
|
|
@@ -66,7 +64,7 @@ function _getRequireWildcardCache(nodeInterop) {
|
|
|
66
64
|
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
|
67
65
|
})(nodeInterop);
|
|
68
66
|
}
|
|
69
|
-
function
|
|
67
|
+
function _interopRequireWildcard(obj, nodeInterop) {
|
|
70
68
|
if (!nodeInterop && obj && obj.__esModule) {
|
|
71
69
|
return obj;
|
|
72
70
|
}
|
|
@@ -79,9 +77,7 @@ function _interop_require_wildcard(obj, nodeInterop) {
|
|
|
79
77
|
if (cache && cache.has(obj)) {
|
|
80
78
|
return cache.get(obj);
|
|
81
79
|
}
|
|
82
|
-
var newObj = {
|
|
83
|
-
__proto__: null
|
|
84
|
-
};
|
|
80
|
+
var newObj = {};
|
|
85
81
|
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
86
82
|
for(var key in obj){
|
|
87
83
|
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
@@ -99,15 +95,15 @@ function _interop_require_wildcard(obj, nodeInterop) {
|
|
|
99
95
|
}
|
|
100
96
|
return newObj;
|
|
101
97
|
}
|
|
102
|
-
const debug = require(
|
|
98
|
+
const debug = require("debug")("expo:run:ios");
|
|
103
99
|
async function runIosAsync(projectRoot, options) {
|
|
104
|
-
var
|
|
105
|
-
(0, _nodeEnv.setNodeEnv)(options.configuration ===
|
|
106
|
-
require(
|
|
100
|
+
var ref;
|
|
101
|
+
(0, _nodeEnv.setNodeEnv)(options.configuration === "Release" ? "production" : "development");
|
|
102
|
+
require("@expo/env").load(projectRoot);
|
|
107
103
|
assertPlatform();
|
|
108
104
|
const install = !!options.install;
|
|
109
105
|
if (await (0, _ensureNativeProject.ensureNativeProjectAsync)(projectRoot, {
|
|
110
|
-
platform:
|
|
106
|
+
platform: "ios",
|
|
111
107
|
install
|
|
112
108
|
}) && install) {
|
|
113
109
|
await (0, _cocoapods.maybePromptToSyncPodsAsync)(projectRoot);
|
|
@@ -120,9 +116,9 @@ async function runIosAsync(projectRoot, options) {
|
|
|
120
116
|
let binaryPath;
|
|
121
117
|
if (!options.binary) {
|
|
122
118
|
if (!props.isSimulator) {
|
|
123
|
-
throw new Error(
|
|
119
|
+
throw new Error("Re-bundling on physical devices requires the --binary flag.");
|
|
124
120
|
}
|
|
125
|
-
const appId = await new
|
|
121
|
+
const appId = await new _appleAppIdResolver.AppleAppIdResolver(projectRoot).getAppIdAsync();
|
|
126
122
|
const possibleBinaryPath = await (0, _simctl.getContainerPathAsync)(props.device, {
|
|
127
123
|
appId
|
|
128
124
|
});
|
|
@@ -130,71 +126,71 @@ async function runIosAsync(projectRoot, options) {
|
|
|
130
126
|
throw new _errors.CommandError(`Cannot rebundle because no --binary was provided and no existing binary was found on the device for ID: ${appId}.`);
|
|
131
127
|
}
|
|
132
128
|
binaryPath = possibleBinaryPath;
|
|
133
|
-
_log.log(
|
|
129
|
+
_log.log("Re-using existing binary path:", binaryPath);
|
|
134
130
|
// Set the binary path to the existing binary path.
|
|
135
131
|
options.binary = binaryPath;
|
|
136
132
|
}
|
|
137
|
-
_log.log(
|
|
133
|
+
_log.log("Rebundling the Expo config file");
|
|
138
134
|
// Re-bundle the config file the same way the app was originally bundled.
|
|
139
|
-
await (0,
|
|
140
|
-
_path().default.join(require.resolve(
|
|
135
|
+
await (0, _spawnAsync().default)("node", [
|
|
136
|
+
_path().default.join(require.resolve("expo-constants/package.json"), "../scripts/getAppConfig.js"),
|
|
141
137
|
projectRoot,
|
|
142
|
-
_path().default.join(options.binary,
|
|
138
|
+
_path().default.join(options.binary, "EXConstants.bundle"),
|
|
143
139
|
]);
|
|
144
140
|
// Re-bundle the app.
|
|
145
|
-
const possibleBundleOutput = _path().default.join(options.binary,
|
|
141
|
+
const possibleBundleOutput = _path().default.join(options.binary, "main.jsbundle");
|
|
146
142
|
if (_fs().default.existsSync(possibleBundleOutput)) {
|
|
147
|
-
_log.log(
|
|
143
|
+
_log.log("Rebundling the app...");
|
|
148
144
|
await (0, _exportEager.exportEagerAsync)(projectRoot, {
|
|
149
145
|
resetCache: false,
|
|
150
146
|
dev: false,
|
|
151
|
-
platform:
|
|
152
|
-
assetsDest: _path().default.join(options.binary,
|
|
147
|
+
platform: "ios",
|
|
148
|
+
assetsDest: _path().default.join(options.binary, "assets"),
|
|
153
149
|
bundleOutput: possibleBundleOutput
|
|
154
150
|
});
|
|
155
151
|
} else {
|
|
156
|
-
_log.warn(
|
|
152
|
+
_log.warn("Bundle output not found at expected location:", possibleBundleOutput);
|
|
157
153
|
}
|
|
158
154
|
}
|
|
159
|
-
let
|
|
155
|
+
let binaryPath1;
|
|
160
156
|
if (options.binary) {
|
|
161
|
-
|
|
162
|
-
_log.log(
|
|
157
|
+
binaryPath1 = await (0, _validateExternalBinary.getValidBinaryPathAsync)(options.binary, props);
|
|
158
|
+
_log.log("Using custom binary path:", binaryPath1);
|
|
163
159
|
} else {
|
|
164
160
|
let eagerBundleOptions;
|
|
165
|
-
if (options.configuration ===
|
|
161
|
+
if (options.configuration === "Release") {
|
|
166
162
|
eagerBundleOptions = JSON.stringify(await (0, _exportEager.exportEagerAsync)(projectRoot, {
|
|
167
163
|
dev: false,
|
|
168
|
-
platform:
|
|
164
|
+
platform: "ios"
|
|
169
165
|
}));
|
|
170
166
|
}
|
|
171
167
|
// Spawn the `xcodebuild` process to create the app binary.
|
|
172
|
-
const buildOutput = await
|
|
168
|
+
const buildOutput = await _xcodeBuild.buildAsync({
|
|
173
169
|
...props,
|
|
174
170
|
eagerBundleOptions
|
|
175
171
|
});
|
|
176
172
|
// Find the path to the built app binary, this will be used to install the binary
|
|
177
173
|
// on a device.
|
|
178
|
-
|
|
174
|
+
binaryPath1 = await (0, _profile.profile)(_xcodeBuild.getAppBinaryPath)(buildOutput);
|
|
179
175
|
}
|
|
180
|
-
debug(
|
|
176
|
+
debug("Binary path:", binaryPath1);
|
|
181
177
|
// Ensure the port hasn't become busy during the build.
|
|
182
178
|
if (props.shouldStartBundler && !await (0, _port.ensurePortAvailabilityAsync)(projectRoot, props)) {
|
|
183
179
|
props.shouldStartBundler = false;
|
|
184
180
|
}
|
|
185
|
-
const launchInfo = await (0, _launchApp.getLaunchInfoForBinaryAsync)(
|
|
181
|
+
const launchInfo = await (0, _launchApp.getLaunchInfoForBinaryAsync)(binaryPath1);
|
|
186
182
|
const isCustomBinary = !!options.binary;
|
|
187
183
|
// Always close the app before launching on a simulator. Otherwise certain cached resources like the splashscreen will not be available.
|
|
188
184
|
if (props.isSimulator) {
|
|
189
185
|
try {
|
|
190
186
|
await (0, _simctl.simctlAsync)([
|
|
191
|
-
|
|
187
|
+
"terminate",
|
|
192
188
|
props.device.udid,
|
|
193
189
|
launchInfo.bundleId
|
|
194
190
|
]);
|
|
195
191
|
} catch (error) {
|
|
196
192
|
// If we failed it's likely that the app was not running to begin with and we will get an `invalid device` error
|
|
197
|
-
debug(
|
|
193
|
+
debug("Failed to terminate app (possibly because it was not running):", error);
|
|
198
194
|
}
|
|
199
195
|
}
|
|
200
196
|
// Start the dev server which creates all of the required info for
|
|
@@ -203,10 +199,10 @@ async function runIosAsync(projectRoot, options) {
|
|
|
203
199
|
port: props.port,
|
|
204
200
|
headless: !props.shouldStartBundler,
|
|
205
201
|
// If a scheme is specified then use that instead of the package name.
|
|
206
|
-
scheme: isCustomBinary ? launchInfo.schemes[0] : (
|
|
202
|
+
scheme: isCustomBinary ? launchInfo.schemes[0] : (ref = await (0, _scheme.getSchemesForIosAsync)(projectRoot)) == null ? void 0 : ref[0]
|
|
207
203
|
});
|
|
208
204
|
// Install and launch the app binary on a device.
|
|
209
|
-
await (0, _launchApp.launchAppAsync)(
|
|
205
|
+
await (0, _launchApp.launchAppAsync)(binaryPath1, manager, {
|
|
210
206
|
isSimulator: props.isSimulator,
|
|
211
207
|
device: props.device,
|
|
212
208
|
shouldStartBundler: props.shouldStartBundler
|
|
@@ -219,7 +215,7 @@ async function runIosAsync(projectRoot, options) {
|
|
|
219
215
|
}
|
|
220
216
|
}
|
|
221
217
|
function assertPlatform() {
|
|
222
|
-
if (process.platform !==
|
|
218
|
+
if (process.platform !== "darwin") {
|
|
223
219
|
_log.exit((0, _chalk().default)`iOS apps can only be built on macOS devices. Use {cyan eas build -p ios} to build in the cloud.`);
|
|
224
220
|
}
|
|
225
221
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/run/ios/runIosAsync.ts"],"sourcesContent":["import spawnAsync from '@expo/spawn-async';\nimport chalk from 'chalk';\nimport fs from 'fs';\nimport path from 'path';\n\nimport * as Log from '../../log';\nimport { AppleAppIdResolver } from '../../start/platforms/ios/AppleAppIdResolver';\nimport { maybePromptToSyncPodsAsync } from '../../utils/cocoapods';\nimport { setNodeEnv } from '../../utils/nodeEnv';\nimport { ensurePortAvailabilityAsync } from '../../utils/port';\nimport { profile } from '../../utils/profile';\nimport { getSchemesForIosAsync } from '../../utils/scheme';\nimport { ensureNativeProjectAsync } from '../ensureNativeProject';\nimport { logProjectLogsLocation } from '../hints';\nimport { startBundlerAsync } from '../startBundler';\nimport * as XcodeBuild from './XcodeBuild';\nimport { Options } from './XcodeBuild.types';\nimport { getLaunchInfoForBinaryAsync, launchAppAsync } from './launchApp';\nimport { resolveOptionsAsync } from './options/resolveOptions';\nimport { getValidBinaryPathAsync } from './validateExternalBinary';\nimport { exportEagerAsync } from '../../export/embed/exportEager';\nimport { getContainerPathAsync, simctlAsync } from '../../start/platforms/ios/simctl';\nimport { CommandError } from '../../utils/errors';\n\nconst debug = require('debug')('expo:run:ios');\n\nexport async function runIosAsync(projectRoot: string, options: Options) {\n setNodeEnv(options.configuration === 'Release' ? 'production' : 'development');\n require('@expo/env').load(projectRoot);\n\n assertPlatform();\n\n const install = !!options.install;\n\n if ((await ensureNativeProjectAsync(projectRoot, { platform: 'ios', install })) && install) {\n await maybePromptToSyncPodsAsync(projectRoot);\n }\n\n // Resolve the CLI arguments into useable options.\n const props = await profile(resolveOptionsAsync)(projectRoot, options);\n\n if (options.rebundle) {\n Log.warn(`The --unstable-rebundle flag is experimental and may not work as expected.`);\n // Get the existing binary path to re-bundle the app.\n\n let binaryPath: string;\n if (!options.binary) {\n if (!props.isSimulator) {\n throw new Error('Re-bundling on physical devices requires the --binary flag.');\n }\n const appId = await new AppleAppIdResolver(projectRoot).getAppIdAsync();\n const possibleBinaryPath = await getContainerPathAsync(props.device, {\n appId,\n });\n if (!possibleBinaryPath) {\n throw new CommandError(\n `Cannot rebundle because no --binary was provided and no existing binary was found on the device for ID: ${appId}.`\n );\n }\n binaryPath = possibleBinaryPath;\n Log.log('Re-using existing binary path:', binaryPath);\n // Set the binary path to the existing binary path.\n options.binary = binaryPath;\n }\n\n Log.log('Rebundling the Expo config file');\n // Re-bundle the config file the same way the app was originally bundled.\n await spawnAsync('node', [\n path.join(require.resolve('expo-constants/package.json'), '../scripts/getAppConfig.js'),\n projectRoot,\n path.join(options.binary, 'EXConstants.bundle'),\n ]);\n // Re-bundle the app.\n\n const possibleBundleOutput = path.join(options.binary, 'main.jsbundle');\n\n if (fs.existsSync(possibleBundleOutput)) {\n Log.log('Rebundling the app...');\n await exportEagerAsync(projectRoot, {\n resetCache: false,\n dev: false,\n platform: 'ios',\n assetsDest: path.join(options.binary, 'assets'),\n bundleOutput: possibleBundleOutput,\n });\n } else {\n Log.warn('Bundle output not found at expected location:', possibleBundleOutput);\n }\n }\n\n let binaryPath: string;\n if (options.binary) {\n binaryPath = await getValidBinaryPathAsync(options.binary, props);\n Log.log('Using custom binary path:', binaryPath);\n } else {\n let eagerBundleOptions: string | undefined;\n\n if (options.configuration === 'Release') {\n eagerBundleOptions = JSON.stringify(\n await exportEagerAsync(projectRoot, {\n dev: false,\n platform: 'ios',\n })\n );\n }\n\n // Spawn the `xcodebuild` process to create the app binary.\n const buildOutput = await XcodeBuild.buildAsync({\n ...props,\n eagerBundleOptions,\n });\n\n // Find the path to the built app binary, this will be used to install the binary\n // on a device.\n binaryPath = await profile(XcodeBuild.getAppBinaryPath)(buildOutput);\n }\n debug('Binary path:', binaryPath);\n\n // Ensure the port hasn't become busy during the build.\n if (props.shouldStartBundler && !(await ensurePortAvailabilityAsync(projectRoot, props))) {\n props.shouldStartBundler = false;\n }\n\n const launchInfo = await getLaunchInfoForBinaryAsync(binaryPath);\n const isCustomBinary = !!options.binary;\n\n // Always close the app before launching on a simulator. Otherwise certain cached resources like the splashscreen will not be available.\n if (props.isSimulator) {\n try {\n await simctlAsync(['terminate', props.device.udid, launchInfo.bundleId]);\n } catch (error) {\n // If we failed it's likely that the app was not running to begin with and we will get an `invalid device` error\n debug('Failed to terminate app (possibly because it was not running):', error);\n }\n }\n\n // Start the dev server which creates all of the required info for\n // launching the app on a simulator.\n const manager = await startBundlerAsync(projectRoot, {\n port: props.port,\n headless: !props.shouldStartBundler,\n // If a scheme is specified then use that instead of the package name.\n\n scheme: isCustomBinary\n ? // If launching a custom binary, use the schemes in the Info.plist.\n launchInfo.schemes[0]\n : // If a scheme is specified then use that instead of the package name.\n (await getSchemesForIosAsync(projectRoot))?.[0],\n });\n\n // Install and launch the app binary on a device.\n await launchAppAsync(\n binaryPath,\n manager,\n {\n isSimulator: props.isSimulator,\n device: props.device,\n shouldStartBundler: props.shouldStartBundler,\n },\n launchInfo.bundleId\n );\n\n // Log the location of the JS logs for the device.\n if (props.shouldStartBundler) {\n logProjectLogsLocation();\n } else {\n await manager.stopAsync();\n }\n}\n\nfunction assertPlatform() {\n if (process.platform !== 'darwin') {\n Log.exit(\n chalk`iOS apps can only be built on macOS devices. Use {cyan eas build -p ios} to build in the cloud.`\n );\n }\n}\n"],"names":["runIosAsync","debug","require","projectRoot","options","setNodeEnv","configuration","load","assertPlatform","install","ensureNativeProjectAsync","platform","maybePromptToSyncPodsAsync","props","profile","resolveOptionsAsync","rebundle","Log","warn","binaryPath","binary","isSimulator","Error","appId","AppleAppIdResolver","getAppIdAsync","possibleBinaryPath","getContainerPathAsync","device","CommandError","log","spawnAsync","path","join","resolve","possibleBundleOutput","fs","existsSync","exportEagerAsync","resetCache","dev","assetsDest","bundleOutput","getValidBinaryPathAsync","eagerBundleOptions","JSON","stringify","buildOutput","XcodeBuild","buildAsync","getAppBinaryPath","shouldStartBundler","ensurePortAvailabilityAsync","launchInfo","getLaunchInfoForBinaryAsync","isCustomBinary","simctlAsync","udid","bundleId","error","manager","startBundlerAsync","port","headless","scheme","schemes","getSchemesForIosAsync","launchAppAsync","logProjectLogsLocation","stopAsync","process","exit","chalk"],"mappings":";;;;+BA0BsBA;;;eAAAA;;;;gEA1BC;;;;;;;gEACL;;;;;;;gEACH;;;;;;;gEACE;;;;;;6DAEI;oCACc;2BACQ;yBAChB;sBACiB;yBACpB;wBACc;qCACG;uBACF;8BACL;oEACN;2BAEgC;gCACxB;wCACI;6BACP;wBACkB;wBACtB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAE7B,MAAMC,QAAQC,QAAQ,SAAS;AAExB,eAAeF,YAAYG,WAAmB,EAAEC,OAAgB;QAyH9D;IAxHPC,IAAAA,mBAAU,EAACD,QAAQE,aAAa,KAAK,YAAY,eAAe;IAChEJ,QAAQ,aAAaK,IAAI,CAACJ;IAE1BK;IAEA,MAAMC,UAAU,CAAC,CAACL,QAAQK,OAAO;IAEjC,IAAI,AAAC,MAAMC,IAAAA,6CAAwB,EAACP,aAAa;QAAEQ,UAAU;QAAOF;IAAQ,MAAOA,SAAS;QAC1F,MAAMG,IAAAA,qCAA0B,EAACT;IACnC;IAEA,kDAAkD;IAClD,MAAMU,QAAQ,MAAMC,IAAAA,gBAAO,EAACC,mCAAmB,EAAEZ,aAAaC;IAE9D,IAAIA,QAAQY,QAAQ,EAAE;QACpBC,KAAIC,IAAI,CAAC,CAAC,0EAA0E,CAAC;QACrF,qDAAqD;QAErD,IAAIC;QACJ,IAAI,CAACf,QAAQgB,MAAM,EAAE;YACnB,IAAI,CAACP,MAAMQ,WAAW,EAAE;gBACtB,MAAM,IAAIC,MAAM;YAClB;YACA,MAAMC,QAAQ,MAAM,IAAIC,sCAAkB,CAACrB,aAAasB,aAAa;YACrE,MAAMC,qBAAqB,MAAMC,IAAAA,6BAAqB,EAACd,MAAMe,MAAM,EAAE;gBACnEL;YACF;YACA,IAAI,CAACG,oBAAoB;gBACvB,MAAM,IAAIG,oBAAY,CACpB,CAAC,wGAAwG,EAAEN,MAAM,CAAC,CAAC;YAEvH;YACAJ,aAAaO;YACbT,KAAIa,GAAG,CAAC,kCAAkCX;YAC1C,mDAAmD;YACnDf,QAAQgB,MAAM,GAAGD;QACnB;QAEAF,KAAIa,GAAG,CAAC;QACR,yEAAyE;QACzE,MAAMC,IAAAA,qBAAU,EAAC,QAAQ;YACvBC,eAAI,CAACC,IAAI,CAAC/B,QAAQgC,OAAO,CAAC,gCAAgC;YAC1D/B;YACA6B,eAAI,CAACC,IAAI,CAAC7B,QAAQgB,MAAM,EAAE;SAC3B;QACD,qBAAqB;QAErB,MAAMe,uBAAuBH,eAAI,CAACC,IAAI,CAAC7B,QAAQgB,MAAM,EAAE;QAEvD,IAAIgB,aAAE,CAACC,UAAU,CAACF,uBAAuB;YACvClB,KAAIa,GAAG,CAAC;YACR,MAAMQ,IAAAA,6BAAgB,EAACnC,aAAa;gBAClCoC,YAAY;gBACZC,KAAK;gBACL7B,UAAU;gBACV8B,YAAYT,eAAI,CAACC,IAAI,CAAC7B,QAAQgB,MAAM,EAAE;gBACtCsB,cAAcP;YAChB;QACF,OAAO;YACLlB,KAAIC,IAAI,CAAC,iDAAiDiB;QAC5D;IACF;IAEA,IAAIhB;IACJ,IAAIf,QAAQgB,MAAM,EAAE;QAClBD,aAAa,MAAMwB,IAAAA,+CAAuB,EAACvC,QAAQgB,MAAM,EAAEP;QAC3DI,KAAIa,GAAG,CAAC,6BAA6BX;IACvC,OAAO;QACL,IAAIyB;QAEJ,IAAIxC,QAAQE,aAAa,KAAK,WAAW;YACvCsC,qBAAqBC,KAAKC,SAAS,CACjC,MAAMR,IAAAA,6BAAgB,EAACnC,aAAa;gBAClCqC,KAAK;gBACL7B,UAAU;YACZ;QAEJ;QAEA,2DAA2D;QAC3D,MAAMoC,cAAc,MAAMC,YAAWC,UAAU,CAAC;YAC9C,GAAGpC,KAAK;YACR+B;QACF;QAEA,iFAAiF;QACjF,eAAe;QACfzB,aAAa,MAAML,IAAAA,gBAAO,EAACkC,YAAWE,gBAAgB,EAAEH;IAC1D;IACA9C,MAAM,gBAAgBkB;IAEtB,uDAAuD;IACvD,IAAIN,MAAMsC,kBAAkB,IAAI,CAAE,MAAMC,IAAAA,iCAA2B,EAACjD,aAAaU,QAAS;QACxFA,MAAMsC,kBAAkB,GAAG;IAC7B;IAEA,MAAME,aAAa,MAAMC,IAAAA,sCAA2B,EAACnC;IACrD,MAAMoC,iBAAiB,CAAC,CAACnD,QAAQgB,MAAM;IAEvC,wIAAwI;IACxI,IAAIP,MAAMQ,WAAW,EAAE;QACrB,IAAI;YACF,MAAMmC,IAAAA,mBAAW,EAAC;gBAAC;gBAAa3C,MAAMe,MAAM,CAAC6B,IAAI;gBAAEJ,WAAWK,QAAQ;aAAC;QACzE,EAAE,OAAOC,OAAO;YACd,gHAAgH;YAChH1D,MAAM,kEAAkE0D;QAC1E;IACF;IAEA,kEAAkE;IAClE,oCAAoC;IACpC,MAAMC,UAAU,MAAMC,IAAAA,+BAAiB,EAAC1D,aAAa;QACnD2D,MAAMjD,MAAMiD,IAAI;QAChBC,UAAU,CAAClD,MAAMsC,kBAAkB;QACnC,sEAAsE;QAEtEa,QAAQT,iBAEJF,WAAWY,OAAO,CAAC,EAAE,IAEpB,QAAA,MAAMC,IAAAA,6BAAqB,EAAC/D,iCAA7B,AAAC,KAA2C,CAAC,EAAE;IACrD;IAEA,iDAAiD;IACjD,MAAMgE,IAAAA,yBAAc,EAClBhD,YACAyC,SACA;QACEvC,aAAaR,MAAMQ,WAAW;QAC9BO,QAAQf,MAAMe,MAAM;QACpBuB,oBAAoBtC,MAAMsC,kBAAkB;IAC9C,GACAE,WAAWK,QAAQ;IAGrB,kDAAkD;IAClD,IAAI7C,MAAMsC,kBAAkB,EAAE;QAC5BiB,IAAAA,6BAAsB;IACxB,OAAO;QACL,MAAMR,QAAQS,SAAS;IACzB;AACF;AAEA,SAAS7D;IACP,IAAI8D,QAAQ3D,QAAQ,KAAK,UAAU;QACjCM,KAAIsD,IAAI,CACNC,IAAAA,gBAAK,CAAA,CAAC,+FAA+F,CAAC;IAE1G;AACF"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/run/ios/runIosAsync.ts"],"sourcesContent":["import spawnAsync from '@expo/spawn-async';\nimport chalk from 'chalk';\nimport fs from 'fs';\nimport path from 'path';\n\nimport * as Log from '../../log';\nimport { AppleAppIdResolver } from '../../start/platforms/ios/AppleAppIdResolver';\nimport { maybePromptToSyncPodsAsync } from '../../utils/cocoapods';\nimport { setNodeEnv } from '../../utils/nodeEnv';\nimport { ensurePortAvailabilityAsync } from '../../utils/port';\nimport { profile } from '../../utils/profile';\nimport { getSchemesForIosAsync } from '../../utils/scheme';\nimport { ensureNativeProjectAsync } from '../ensureNativeProject';\nimport { logProjectLogsLocation } from '../hints';\nimport { startBundlerAsync } from '../startBundler';\nimport * as XcodeBuild from './XcodeBuild';\nimport { Options } from './XcodeBuild.types';\nimport { getLaunchInfoForBinaryAsync, launchAppAsync } from './launchApp';\nimport { resolveOptionsAsync } from './options/resolveOptions';\nimport { getValidBinaryPathAsync } from './validateExternalBinary';\nimport { exportEagerAsync } from '../../export/embed/exportEager';\nimport { getContainerPathAsync, simctlAsync } from '../../start/platforms/ios/simctl';\nimport { CommandError } from '../../utils/errors';\n\nconst debug = require('debug')('expo:run:ios');\n\nexport async function runIosAsync(projectRoot: string, options: Options) {\n setNodeEnv(options.configuration === 'Release' ? 'production' : 'development');\n require('@expo/env').load(projectRoot);\n\n assertPlatform();\n\n const install = !!options.install;\n\n if ((await ensureNativeProjectAsync(projectRoot, { platform: 'ios', install })) && install) {\n await maybePromptToSyncPodsAsync(projectRoot);\n }\n\n // Resolve the CLI arguments into useable options.\n const props = await profile(resolveOptionsAsync)(projectRoot, options);\n\n if (options.rebundle) {\n Log.warn(`The --unstable-rebundle flag is experimental and may not work as expected.`);\n // Get the existing binary path to re-bundle the app.\n\n let binaryPath: string;\n if (!options.binary) {\n if (!props.isSimulator) {\n throw new Error('Re-bundling on physical devices requires the --binary flag.');\n }\n const appId = await new AppleAppIdResolver(projectRoot).getAppIdAsync();\n const possibleBinaryPath = await getContainerPathAsync(props.device, {\n appId,\n });\n if (!possibleBinaryPath) {\n throw new CommandError(\n `Cannot rebundle because no --binary was provided and no existing binary was found on the device for ID: ${appId}.`\n );\n }\n binaryPath = possibleBinaryPath;\n Log.log('Re-using existing binary path:', binaryPath);\n // Set the binary path to the existing binary path.\n options.binary = binaryPath;\n }\n\n Log.log('Rebundling the Expo config file');\n // Re-bundle the config file the same way the app was originally bundled.\n await spawnAsync('node', [\n path.join(require.resolve('expo-constants/package.json'), '../scripts/getAppConfig.js'),\n projectRoot,\n path.join(options.binary, 'EXConstants.bundle'),\n ]);\n // Re-bundle the app.\n\n const possibleBundleOutput = path.join(options.binary, 'main.jsbundle');\n\n if (fs.existsSync(possibleBundleOutput)) {\n Log.log('Rebundling the app...');\n await exportEagerAsync(projectRoot, {\n resetCache: false,\n dev: false,\n platform: 'ios',\n assetsDest: path.join(options.binary, 'assets'),\n bundleOutput: possibleBundleOutput,\n });\n } else {\n Log.warn('Bundle output not found at expected location:', possibleBundleOutput);\n }\n }\n\n let binaryPath: string;\n if (options.binary) {\n binaryPath = await getValidBinaryPathAsync(options.binary, props);\n Log.log('Using custom binary path:', binaryPath);\n } else {\n let eagerBundleOptions: string | undefined;\n\n if (options.configuration === 'Release') {\n eagerBundleOptions = JSON.stringify(\n await exportEagerAsync(projectRoot, {\n dev: false,\n platform: 'ios',\n })\n );\n }\n\n // Spawn the `xcodebuild` process to create the app binary.\n const buildOutput = await XcodeBuild.buildAsync({\n ...props,\n eagerBundleOptions,\n });\n\n // Find the path to the built app binary, this will be used to install the binary\n // on a device.\n binaryPath = await profile(XcodeBuild.getAppBinaryPath)(buildOutput);\n }\n debug('Binary path:', binaryPath);\n\n // Ensure the port hasn't become busy during the build.\n if (props.shouldStartBundler && !(await ensurePortAvailabilityAsync(projectRoot, props))) {\n props.shouldStartBundler = false;\n }\n\n const launchInfo = await getLaunchInfoForBinaryAsync(binaryPath);\n const isCustomBinary = !!options.binary;\n\n // Always close the app before launching on a simulator. Otherwise certain cached resources like the splashscreen will not be available.\n if (props.isSimulator) {\n try {\n await simctlAsync(['terminate', props.device.udid, launchInfo.bundleId]);\n } catch (error) {\n // If we failed it's likely that the app was not running to begin with and we will get an `invalid device` error\n debug('Failed to terminate app (possibly because it was not running):', error);\n }\n }\n\n // Start the dev server which creates all of the required info for\n // launching the app on a simulator.\n const manager = await startBundlerAsync(projectRoot, {\n port: props.port,\n headless: !props.shouldStartBundler,\n // If a scheme is specified then use that instead of the package name.\n\n scheme: isCustomBinary\n ? // If launching a custom binary, use the schemes in the Info.plist.\n launchInfo.schemes[0]\n : // If a scheme is specified then use that instead of the package name.\n (await getSchemesForIosAsync(projectRoot))?.[0],\n });\n\n // Install and launch the app binary on a device.\n await launchAppAsync(\n binaryPath,\n manager,\n {\n isSimulator: props.isSimulator,\n device: props.device,\n shouldStartBundler: props.shouldStartBundler,\n },\n launchInfo.bundleId\n );\n\n // Log the location of the JS logs for the device.\n if (props.shouldStartBundler) {\n logProjectLogsLocation();\n } else {\n await manager.stopAsync();\n }\n}\n\nfunction assertPlatform() {\n if (process.platform !== 'darwin') {\n Log.exit(\n chalk`iOS apps can only be built on macOS devices. Use {cyan eas build -p ios} to build in the cloud.`\n );\n }\n}\n"],"names":["runIosAsync","debug","require","projectRoot","options","setNodeEnv","configuration","load","assertPlatform","install","ensureNativeProjectAsync","platform","maybePromptToSyncPodsAsync","props","profile","resolveOptionsAsync","rebundle","Log","warn","binaryPath","binary","isSimulator","Error","appId","AppleAppIdResolver","getAppIdAsync","possibleBinaryPath","getContainerPathAsync","device","CommandError","log","spawnAsync","path","join","resolve","possibleBundleOutput","fs","existsSync","exportEagerAsync","resetCache","dev","assetsDest","bundleOutput","getValidBinaryPathAsync","eagerBundleOptions","JSON","stringify","buildOutput","XcodeBuild","buildAsync","getAppBinaryPath","shouldStartBundler","ensurePortAvailabilityAsync","launchInfo","getLaunchInfoForBinaryAsync","isCustomBinary","simctlAsync","udid","bundleId","error","manager","startBundlerAsync","port","headless","scheme","schemes","getSchemesForIosAsync","launchAppAsync","logProjectLogsLocation","stopAsync","process","exit","chalk"],"mappings":"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"}
|
|
@@ -4,19 +4,17 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
});
|
|
5
5
|
Object.defineProperty(exports, "getValidBinaryPathAsync", {
|
|
6
6
|
enumerable: true,
|
|
7
|
-
get:
|
|
8
|
-
return getValidBinaryPathAsync;
|
|
9
|
-
}
|
|
7
|
+
get: ()=>getValidBinaryPathAsync
|
|
10
8
|
});
|
|
11
|
-
function
|
|
12
|
-
const data = /*#__PURE__*/
|
|
13
|
-
|
|
9
|
+
function _spawnAsync() {
|
|
10
|
+
const data = /*#__PURE__*/ _interopRequireDefault(require("@expo/spawn-async"));
|
|
11
|
+
_spawnAsync = function() {
|
|
14
12
|
return data;
|
|
15
13
|
};
|
|
16
14
|
return data;
|
|
17
15
|
}
|
|
18
16
|
function _fs() {
|
|
19
|
-
const data = /*#__PURE__*/
|
|
17
|
+
const data = /*#__PURE__*/ _interopRequireDefault(require("fs"));
|
|
20
18
|
_fs = function() {
|
|
21
19
|
return data;
|
|
22
20
|
};
|
|
@@ -30,7 +28,7 @@ function _glob() {
|
|
|
30
28
|
return data;
|
|
31
29
|
}
|
|
32
30
|
function _path() {
|
|
33
|
-
const data = /*#__PURE__*/
|
|
31
|
+
const data = /*#__PURE__*/ _interopRequireDefault(require("path"));
|
|
34
32
|
_path = function() {
|
|
35
33
|
return data;
|
|
36
34
|
};
|
|
@@ -39,21 +37,21 @@ function _path() {
|
|
|
39
37
|
const _createTempPath = require("../../utils/createTempPath");
|
|
40
38
|
const _errors = require("../../utils/errors");
|
|
41
39
|
const _plist = require("../../utils/plist");
|
|
42
|
-
function
|
|
40
|
+
function _interopRequireDefault(obj) {
|
|
43
41
|
return obj && obj.__esModule ? obj : {
|
|
44
42
|
default: obj
|
|
45
43
|
};
|
|
46
44
|
}
|
|
47
|
-
const debug = require(
|
|
45
|
+
const debug = require("debug")("expo:run:ios:binary");
|
|
48
46
|
async function getValidBinaryPathAsync(input, props) {
|
|
49
47
|
const resolved = _path().default.resolve(input);
|
|
50
48
|
if (!_fs().default.existsSync(resolved)) {
|
|
51
49
|
throw new _errors.CommandError(`The path to the iOS binary does not exist: ${resolved}`);
|
|
52
50
|
}
|
|
53
51
|
// If the file is an ipa then move it to a temp directory and extract the app binary.
|
|
54
|
-
if (resolved.endsWith(
|
|
52
|
+
if (resolved.endsWith(".ipa")) {
|
|
55
53
|
const outputPath = (0, _createTempPath.createTempDirectoryPath)();
|
|
56
|
-
debug(
|
|
54
|
+
debug("Extracting IPA:", resolved, outputPath);
|
|
57
55
|
const appDir = await extractIpaAsync(resolved, outputPath);
|
|
58
56
|
if (props.isSimulator) {
|
|
59
57
|
assertProvisionedForSimulator(appDir);
|
|
@@ -73,40 +71,40 @@ async function extractIpaAsync(ipaPath, outputPath) {
|
|
|
73
71
|
}
|
|
74
72
|
// Use the unzip command to extract the IPA file
|
|
75
73
|
try {
|
|
76
|
-
await (0,
|
|
77
|
-
|
|
74
|
+
await (0, _spawnAsync().default)("unzip", [
|
|
75
|
+
"-o",
|
|
78
76
|
ipaPath,
|
|
79
|
-
|
|
77
|
+
"-d",
|
|
80
78
|
outputPath
|
|
81
79
|
]);
|
|
82
80
|
} catch (error) {
|
|
83
81
|
throw new Error(`Error extracting IPA: ${error.message}`);
|
|
84
82
|
}
|
|
85
|
-
const appBinPaths = await (0, _glob().glob)(
|
|
83
|
+
const appBinPaths = await (0, _glob().glob)("Payload/*.app", {
|
|
86
84
|
cwd: outputPath,
|
|
87
85
|
absolute: true,
|
|
88
86
|
maxDepth: 2
|
|
89
87
|
});
|
|
90
88
|
if (appBinPaths.length === 0) {
|
|
91
|
-
throw new Error(
|
|
89
|
+
throw new Error("No .app directory found in the IPA");
|
|
92
90
|
}
|
|
93
91
|
return appBinPaths[0];
|
|
94
92
|
}
|
|
95
93
|
async function assertProvisionedForSimulator(appPath) {
|
|
96
|
-
const provisionPath = _path().default.join(appPath,
|
|
94
|
+
const provisionPath = _path().default.join(appPath, "embedded.mobileprovision");
|
|
97
95
|
if (!_fs().default.existsSync(provisionPath)) {
|
|
98
96
|
// This can often result in false positives.
|
|
99
|
-
debug(
|
|
97
|
+
debug("No embedded.mobileprovision file found. Likely provisioned for simulator.");
|
|
100
98
|
return;
|
|
101
99
|
}
|
|
102
|
-
const provisionData = _fs().default.readFileSync(provisionPath,
|
|
103
|
-
const start = provisionData.indexOf(
|
|
104
|
-
const end = provisionData.indexOf(
|
|
100
|
+
const provisionData = _fs().default.readFileSync(provisionPath, "utf8");
|
|
101
|
+
const start = provisionData.indexOf("<?xml");
|
|
102
|
+
const end = provisionData.indexOf("</plist>") + 8;
|
|
105
103
|
const plistData = provisionData.substring(start, end);
|
|
106
104
|
const parsedData = await (0, _plist.parsePlistAsync)(plistData);
|
|
107
|
-
const platforms = parsedData[
|
|
105
|
+
const platforms = parsedData["ProvisionsAllDevices"];
|
|
108
106
|
if (platforms) {
|
|
109
|
-
throw new _errors.CommandError(
|
|
107
|
+
throw new _errors.CommandError("The app binary is provisioned for devices, and cannot be run on simulators.");
|
|
110
108
|
}
|
|
111
109
|
}
|
|
112
110
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/run/ios/validateExternalBinary.ts"],"sourcesContent":["import spawnAsync from '@expo/spawn-async';\nimport fs from 'fs';\nimport { glob as globAsync } from 'glob';\nimport path from 'path';\n\nimport { createTempDirectoryPath } from '../../utils/createTempPath';\nimport { CommandError } from '../../utils/errors';\nimport { parsePlistAsync } from '../../utils/plist';\n\nconst debug = require('debug')('expo:run:ios:binary');\n\nexport async function getValidBinaryPathAsync(input: string, props: { isSimulator: boolean }) {\n const resolved = path.resolve(input);\n\n if (!fs.existsSync(resolved)) {\n throw new CommandError(`The path to the iOS binary does not exist: ${resolved}`);\n }\n\n // If the file is an ipa then move it to a temp directory and extract the app binary.\n if (resolved.endsWith('.ipa')) {\n const outputPath = createTempDirectoryPath();\n debug('Extracting IPA:', resolved, outputPath);\n const appDir = await extractIpaAsync(resolved, outputPath);\n\n if (props.isSimulator) {\n assertProvisionedForSimulator(appDir);\n } else {\n // TODO: Assert provisioned for devices in the future (this is difficult).\n }\n return appDir;\n }\n return resolved;\n}\n\nasync function extractIpaAsync(ipaPath: string, outputPath: string): Promise<string> {\n // Create the output directory if it does not exist\n if (!fs.existsSync(outputPath)) {\n fs.mkdirSync(outputPath, { recursive: true });\n }\n\n // Use the unzip command to extract the IPA file\n try {\n await spawnAsync('unzip', ['-o', ipaPath, '-d', outputPath]);\n } catch (error: any) {\n throw new Error(`Error extracting IPA: ${error.message}`);\n }\n\n const appBinPaths = await globAsync('Payload/*.app', {\n cwd: outputPath,\n absolute: true,\n maxDepth: 2,\n });\n\n if (appBinPaths.length === 0) {\n throw new Error('No .app directory found in the IPA');\n }\n\n return appBinPaths[0];\n}\n\nasync function assertProvisionedForSimulator(appPath: string) {\n const provisionPath = path.join(appPath, 'embedded.mobileprovision');\n\n if (!fs.existsSync(provisionPath)) {\n // This can often result in false positives.\n debug('No embedded.mobileprovision file found. Likely provisioned for simulator.');\n return;\n }\n\n const provisionData = fs.readFileSync(provisionPath, 'utf8');\n const start = provisionData.indexOf('<?xml');\n const end = provisionData.indexOf('</plist>') + 8;\n const plistData = provisionData.substring(start, end);\n const parsedData = await parsePlistAsync(plistData);\n\n const platforms = parsedData['ProvisionsAllDevices'];\n if (platforms) {\n throw new CommandError(\n 'The app binary is provisioned for devices, and cannot be run on simulators.'\n );\n }\n}\n"],"names":["getValidBinaryPathAsync","debug","require","input","props","resolved","path","resolve","fs","existsSync","CommandError","endsWith","outputPath","createTempDirectoryPath","appDir","extractIpaAsync","isSimulator","assertProvisionedForSimulator","ipaPath","mkdirSync","recursive","spawnAsync","error","Error","message","appBinPaths","globAsync","cwd","absolute","maxDepth","length","appPath","provisionPath","join","provisionData","readFileSync","start","indexOf","end","plistData","substring","parsedData","parsePlistAsync","platforms"],"mappings":";;;;+BAWsBA;;;
|
|
1
|
+
{"version":3,"sources":["../../../../src/run/ios/validateExternalBinary.ts"],"sourcesContent":["import spawnAsync from '@expo/spawn-async';\nimport fs from 'fs';\nimport { glob as globAsync } from 'glob';\nimport path from 'path';\n\nimport { createTempDirectoryPath } from '../../utils/createTempPath';\nimport { CommandError } from '../../utils/errors';\nimport { parsePlistAsync } from '../../utils/plist';\n\nconst debug = require('debug')('expo:run:ios:binary');\n\nexport async function getValidBinaryPathAsync(input: string, props: { isSimulator: boolean }) {\n const resolved = path.resolve(input);\n\n if (!fs.existsSync(resolved)) {\n throw new CommandError(`The path to the iOS binary does not exist: ${resolved}`);\n }\n\n // If the file is an ipa then move it to a temp directory and extract the app binary.\n if (resolved.endsWith('.ipa')) {\n const outputPath = createTempDirectoryPath();\n debug('Extracting IPA:', resolved, outputPath);\n const appDir = await extractIpaAsync(resolved, outputPath);\n\n if (props.isSimulator) {\n assertProvisionedForSimulator(appDir);\n } else {\n // TODO: Assert provisioned for devices in the future (this is difficult).\n }\n return appDir;\n }\n return resolved;\n}\n\nasync function extractIpaAsync(ipaPath: string, outputPath: string): Promise<string> {\n // Create the output directory if it does not exist\n if (!fs.existsSync(outputPath)) {\n fs.mkdirSync(outputPath, { recursive: true });\n }\n\n // Use the unzip command to extract the IPA file\n try {\n await spawnAsync('unzip', ['-o', ipaPath, '-d', outputPath]);\n } catch (error: any) {\n throw new Error(`Error extracting IPA: ${error.message}`);\n }\n\n const appBinPaths = await globAsync('Payload/*.app', {\n cwd: outputPath,\n absolute: true,\n maxDepth: 2,\n });\n\n if (appBinPaths.length === 0) {\n throw new Error('No .app directory found in the IPA');\n }\n\n return appBinPaths[0];\n}\n\nasync function assertProvisionedForSimulator(appPath: string) {\n const provisionPath = path.join(appPath, 'embedded.mobileprovision');\n\n if (!fs.existsSync(provisionPath)) {\n // This can often result in false positives.\n debug('No embedded.mobileprovision file found. Likely provisioned for simulator.');\n return;\n }\n\n const provisionData = fs.readFileSync(provisionPath, 'utf8');\n const start = provisionData.indexOf('<?xml');\n const end = provisionData.indexOf('</plist>') + 8;\n const plistData = provisionData.substring(start, end);\n const parsedData = await parsePlistAsync(plistData);\n\n const platforms = parsedData['ProvisionsAllDevices'];\n if (platforms) {\n throw new CommandError(\n 'The app binary is provisioned for devices, and cannot be run on simulators.'\n );\n }\n}\n"],"names":["getValidBinaryPathAsync","debug","require","input","props","resolved","path","resolve","fs","existsSync","CommandError","endsWith","outputPath","createTempDirectoryPath","appDir","extractIpaAsync","isSimulator","assertProvisionedForSimulator","ipaPath","mkdirSync","recursive","spawnAsync","error","Error","message","appBinPaths","globAsync","cwd","absolute","maxDepth","length","appPath","provisionPath","join","provisionData","readFileSync","start","indexOf","end","plistData","substring","parsedData","parsePlistAsync","platforms"],"mappings":"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"}
|