@expo/cli 0.17.10 → 0.18.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/bin/cli +98 -118
- package/build/bin/cli.map +1 -1
- package/build/src/api/endpoint.js +11 -3
- package/build/src/api/endpoint.js.map +1 -1
- package/build/src/api/getExpoGoIntermediateCertificate.js +7 -4
- package/build/src/api/getExpoGoIntermediateCertificate.js.map +1 -1
- package/build/src/api/getExpoSchema.js +32 -12
- package/build/src/api/getExpoSchema.js.map +1 -1
- package/build/src/api/getNativeModuleVersions.js +7 -4
- package/build/src/api/getNativeModuleVersions.js.map +1 -1
- package/build/src/api/getProjectDevelopmentCertificate.js +7 -4
- package/build/src/api/getProjectDevelopmentCertificate.js.map +1 -1
- package/build/src/api/getVersions.js +7 -4
- package/build/src/api/getVersions.js.map +1 -1
- package/build/src/api/graphql/client.js +78 -40
- package/build/src/api/graphql/client.js.map +1 -1
- package/build/src/api/graphql/queries/AppQuery.js +22 -8
- package/build/src/api/graphql/queries/AppQuery.js.map +1 -1
- package/build/src/api/graphql/queries/UserQuery.js +13 -5
- package/build/src/api/graphql/queries/UserQuery.js.map +1 -1
- package/build/src/api/graphql/types/App.js +12 -4
- package/build/src/api/graphql/types/App.js.map +1 -1
- package/build/src/api/rest/cache/FileSystemCache.js +25 -11
- package/build/src/api/rest/cache/FileSystemCache.js.map +1 -1
- package/build/src/api/rest/cache/response.js +13 -4
- package/build/src/api/rest/cache/response.js.map +1 -1
- package/build/src/api/rest/cache/wrapFetchWithCache.js +51 -18
- package/build/src/api/rest/cache/wrapFetchWithCache.js.map +1 -1
- package/build/src/api/rest/client.js +55 -30
- package/build/src/api/rest/client.js.map +1 -1
- package/build/src/api/rest/wrapFetchWithBaseUrl.js +13 -5
- package/build/src/api/rest/wrapFetchWithBaseUrl.js.map +1 -1
- package/build/src/api/rest/wrapFetchWithOffline.js +5 -2
- package/build/src/api/rest/wrapFetchWithOffline.js.map +1 -1
- package/build/src/api/rest/wrapFetchWithProgress.js +40 -19
- package/build/src/api/rest/wrapFetchWithProgress.js.map +1 -1
- package/build/src/api/rest/wrapFetchWithProxy.js +13 -4
- package/build/src/api/rest/wrapFetchWithProxy.js.map +1 -1
- package/build/src/api/settings.js +16 -5
- package/build/src/api/settings.js.map +1 -1
- package/build/src/api/updateDevelopmentSession.js +33 -13
- package/build/src/api/updateDevelopmentSession.js.map +1 -1
- package/build/src/api/user/UserSettings.js +31 -11
- package/build/src/api/user/UserSettings.js.map +1 -1
- package/build/src/api/user/actions.js +78 -41
- package/build/src/api/user/actions.js.map +1 -1
- package/build/src/api/user/expoSsoLauncher.js +72 -27
- package/build/src/api/user/expoSsoLauncher.js.map +1 -1
- package/build/src/api/user/otp.js +82 -50
- package/build/src/api/user/otp.js.map +1 -1
- package/build/src/api/user/user.js +80 -48
- package/build/src/api/user/user.js.map +1 -1
- package/build/src/config/configAsync.js +82 -45
- package/build/src/config/configAsync.js.map +1 -1
- package/build/src/config/index.js +52 -30
- package/build/src/config/index.js.map +1 -1
- package/build/src/customize/customizeAsync.js +21 -12
- package/build/src/customize/customizeAsync.js.map +1 -1
- package/build/src/customize/generate.js +74 -47
- package/build/src/customize/generate.js.map +1 -1
- package/build/src/customize/index.js +16 -8
- package/build/src/customize/index.js.map +1 -1
- package/build/src/customize/resolveOptions.js +7 -4
- package/build/src/customize/resolveOptions.js.map +1 -1
- package/build/src/customize/templates.js +58 -37
- package/build/src/customize/templates.js.map +1 -1
- package/build/src/customize/typescript.js +50 -29
- package/build/src/customize/typescript.js.map +1 -1
- package/build/src/export/createMetadataJson.js +14 -7
- package/build/src/export/createMetadataJson.js.map +1 -1
- package/build/src/export/embed/exportEmbedAsync.js +103 -50
- package/build/src/export/embed/exportEmbedAsync.js.map +1 -1
- package/build/src/export/embed/index.js +61 -37
- package/build/src/export/embed/index.js.map +1 -1
- package/build/src/export/embed/resolveOptions.js +14 -5
- package/build/src/export/embed/resolveOptions.js.map +1 -1
- package/build/src/export/embed/xcodeCompilerLogger.js +33 -9
- package/build/src/export/embed/xcodeCompilerLogger.js.map +1 -1
- package/build/src/export/exportApp.js +110 -73
- package/build/src/export/exportApp.js.map +1 -1
- package/build/src/export/exportAssets.js +84 -47
- package/build/src/export/exportAssets.js.map +1 -1
- package/build/src/export/exportAsync.js +56 -27
- package/build/src/export/exportAsync.js.map +1 -1
- package/build/src/export/exportHermes.js +46 -26
- package/build/src/export/exportHermes.js.map +1 -1
- package/build/src/export/exportStaticAsync.js +109 -66
- package/build/src/export/exportStaticAsync.js.map +1 -1
- package/build/src/export/favicon.js +47 -15
- package/build/src/export/favicon.js.map +1 -1
- package/build/src/export/fork-bundleAsync.js +92 -44
- package/build/src/export/fork-bundleAsync.js.map +1 -1
- package/build/src/export/getPublicExpoManifest.js +16 -7
- package/build/src/export/getPublicExpoManifest.js.map +1 -1
- package/build/src/export/getResolvedLocales.js +20 -5
- package/build/src/export/getResolvedLocales.js.map +1 -1
- package/build/src/export/html.js +12 -4
- package/build/src/export/html.js.map +1 -1
- package/build/src/export/index.js +55 -33
- package/build/src/export/index.js.map +1 -1
- package/build/src/export/metroAssetLocalPath.js +30 -8
- package/build/src/export/metroAssetLocalPath.js.map +1 -1
- package/build/src/export/persistMetroAssets.js +59 -33
- package/build/src/export/persistMetroAssets.js.map +1 -1
- package/build/src/export/publicFolder.js +31 -11
- package/build/src/export/publicFolder.js.map +1 -1
- package/build/src/export/resolveOptions.js +26 -16
- package/build/src/export/resolveOptions.js.map +1 -1
- package/build/src/export/saveAssets.js +77 -49
- package/build/src/export/saveAssets.js.map +1 -1
- package/build/src/export/web/exportWebAsync.js +28 -13
- package/build/src/export/web/exportWebAsync.js.map +1 -1
- package/build/src/export/web/index.js +53 -31
- package/build/src/export/web/index.js.map +1 -1
- package/build/src/export/web/resolveOptions.js +4 -1
- package/build/src/export/web/resolveOptions.js.map +1 -1
- package/build/src/export/writeContents.js +12 -7
- package/build/src/export/writeContents.js.map +1 -1
- package/build/src/graphql/generated.js +141 -128
- package/build/src/graphql/generated.js.map +1 -1
- package/build/src/install/applyPlugins.js +50 -26
- package/build/src/install/applyPlugins.js.map +1 -1
- package/build/src/install/checkPackages.js +68 -36
- package/build/src/install/checkPackages.js.map +1 -1
- package/build/src/install/fixPackages.js +58 -35
- package/build/src/install/fixPackages.js.map +1 -1
- package/build/src/install/index.js +21 -13
- package/build/src/install/index.js.map +1 -1
- package/build/src/install/installAsync.js +107 -64
- package/build/src/install/installAsync.js.map +1 -1
- package/build/src/install/installExpoPackage.js +60 -27
- package/build/src/install/installExpoPackage.js.map +1 -1
- package/build/src/install/resolveOptions.js +8 -5
- package/build/src/install/resolveOptions.js.map +1 -1
- package/build/src/install/utils/autoAddConfigPlugins.js +29 -9
- package/build/src/install/utils/autoAddConfigPlugins.js.map +1 -1
- package/build/src/lint/ESlintPrerequisite.js +174 -0
- package/build/src/lint/ESlintPrerequisite.js.map +1 -0
- package/build/src/lint/index.js +66 -0
- package/build/src/lint/index.js.map +1 -0
- package/build/src/lint/lintAsync.js +33 -0
- package/build/src/lint/lintAsync.js.map +1 -0
- package/build/src/log.js +27 -15
- package/build/src/log.js.map +1 -1
- package/build/src/login/index.js +43 -25
- package/build/src/login/index.js.map +1 -1
- package/build/src/logout/index.js +43 -25
- package/build/src/logout/index.js.map +1 -1
- package/build/src/prebuild/clearNativeFolder.js +97 -50
- package/build/src/prebuild/clearNativeFolder.js.map +1 -1
- package/build/src/prebuild/configureProjectAsync.js +64 -31
- package/build/src/prebuild/configureProjectAsync.js.map +1 -1
- package/build/src/prebuild/copyTemplateFiles.js +41 -17
- package/build/src/prebuild/copyTemplateFiles.js.map +1 -1
- package/build/src/prebuild/ensureConfigAsync.js +74 -30
- package/build/src/prebuild/ensureConfigAsync.js.map +1 -1
- package/build/src/prebuild/index.js +58 -38
- package/build/src/prebuild/index.js.map +1 -1
- package/build/src/prebuild/prebuildAsync.js +75 -52
- package/build/src/prebuild/prebuildAsync.js.map +1 -1
- package/build/src/prebuild/renameTemplateAppName.js +124 -0
- package/build/src/prebuild/renameTemplateAppName.js.map +1 -0
- package/build/src/prebuild/resolveOptions.js +85 -36
- package/build/src/prebuild/resolveOptions.js.map +1 -1
- package/build/src/prebuild/resolveTemplate.js +102 -46
- package/build/src/prebuild/resolveTemplate.js.map +1 -1
- package/build/src/prebuild/updateFromTemplate.js +80 -41
- package/build/src/prebuild/updateFromTemplate.js.map +1 -1
- package/build/src/prebuild/updatePackageJson.js +111 -54
- package/build/src/prebuild/updatePackageJson.js.map +1 -1
- package/build/src/prebuild/validateTemplatePlatforms.js +56 -23
- package/build/src/prebuild/validateTemplatePlatforms.js.map +1 -1
- package/build/src/register/index.js +43 -25
- package/build/src/register/index.js.map +1 -1
- package/build/src/register/registerAsync.js +14 -11
- package/build/src/register/registerAsync.js.map +1 -1
- package/build/src/run/android/index.js +64 -32
- package/build/src/run/android/index.js.map +1 -1
- package/build/src/run/android/resolveDevice.js +9 -6
- package/build/src/run/android/resolveDevice.js.map +1 -1
- package/build/src/run/android/resolveGradlePropsAsync.js +56 -0
- package/build/src/run/android/resolveGradlePropsAsync.js.map +1 -0
- package/build/src/run/android/resolveInstallApkName.js +28 -14
- package/build/src/run/android/resolveInstallApkName.js.map +1 -1
- package/build/src/run/android/resolveLaunchProps.js +16 -7
- package/build/src/run/android/resolveLaunchProps.js.map +1 -1
- package/build/src/run/android/resolveOptions.js +14 -9
- package/build/src/run/android/resolveOptions.js.map +1 -1
- package/build/src/run/android/runAndroidAsync.js +39 -27
- package/build/src/run/android/runAndroidAsync.js.map +1 -1
- package/build/src/run/ensureNativeProject.js +24 -9
- package/build/src/run/ensureNativeProject.js.map +1 -1
- package/build/src/run/hints.js +23 -9
- package/build/src/run/hints.js.map +1 -1
- package/build/src/run/index.js +55 -35
- package/build/src/run/index.js.map +1 -1
- package/build/src/run/ios/XcodeBuild.js +126 -66
- package/build/src/run/ios/XcodeBuild.js.map +1 -1
- package/build/src/run/ios/appleDevice/AppleDevice.js +52 -27
- package/build/src/run/ios/appleDevice/AppleDevice.js.map +1 -1
- package/build/src/run/ios/appleDevice/ClientManager.js +70 -31
- package/build/src/run/ios/appleDevice/ClientManager.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/AFCClient.js +94 -44
- package/build/src/run/ios/appleDevice/client/AFCClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/DebugserverClient.js +63 -24
- package/build/src/run/ios/appleDevice/client/DebugserverClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/InstallationProxyClient.js +21 -6
- package/build/src/run/ios/appleDevice/client/InstallationProxyClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/LockdowndClient.js +64 -25
- package/build/src/run/ios/appleDevice/client/LockdowndClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/MobileImageMounterClient.js +66 -28
- package/build/src/run/ios/appleDevice/client/MobileImageMounterClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/ServiceClient.js +18 -4
- package/build/src/run/ios/appleDevice/client/ServiceClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/UsbmuxdClient.js +42 -15
- package/build/src/run/ios/appleDevice/client/UsbmuxdClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/installOnDeviceAsync.js +78 -34
- package/build/src/run/ios/appleDevice/installOnDeviceAsync.js.map +1 -1
- package/build/src/run/ios/appleDevice/protocol/AFCProtocol.js +85 -66
- package/build/src/run/ios/appleDevice/protocol/AFCProtocol.js.map +1 -1
- package/build/src/run/ios/appleDevice/protocol/AbstractProtocol.js +41 -15
- package/build/src/run/ios/appleDevice/protocol/AbstractProtocol.js.map +1 -1
- package/build/src/run/ios/appleDevice/protocol/GDBProtocol.js +30 -11
- package/build/src/run/ios/appleDevice/protocol/GDBProtocol.js.map +1 -1
- package/build/src/run/ios/appleDevice/protocol/LockdownProtocol.js +39 -14
- package/build/src/run/ios/appleDevice/protocol/LockdownProtocol.js.map +1 -1
- package/build/src/run/ios/appleDevice/protocol/UsbmuxProtocol.js +36 -11
- package/build/src/run/ios/appleDevice/protocol/UsbmuxProtocol.js.map +1 -1
- package/build/src/run/ios/codeSigning/Security.js +40 -21
- package/build/src/run/ios/codeSigning/Security.js.map +1 -1
- package/build/src/run/ios/codeSigning/configureCodeSigning.js +55 -28
- package/build/src/run/ios/codeSigning/configureCodeSigning.js.map +1 -1
- package/build/src/run/ios/codeSigning/resolveCertificateSigningIdentity.js +67 -36
- package/build/src/run/ios/codeSigning/resolveCertificateSigningIdentity.js.map +1 -1
- package/build/src/run/ios/codeSigning/settings.js +11 -3
- package/build/src/run/ios/codeSigning/settings.js.map +1 -1
- package/build/src/run/ios/codeSigning/simulatorCodeSigning.js +30 -10
- package/build/src/run/ios/codeSigning/simulatorCodeSigning.js.map +1 -1
- package/build/src/run/ios/codeSigning/xcodeCodeSigning.js +33 -15
- package/build/src/run/ios/codeSigning/xcodeCodeSigning.js.map +1 -1
- package/build/src/run/ios/index.js +63 -35
- package/build/src/run/ios/index.js.map +1 -1
- package/build/src/run/ios/launchApp.js +65 -32
- package/build/src/run/ios/launchApp.js.map +1 -1
- package/build/src/run/ios/options/promptDevice.js +24 -14
- package/build/src/run/ios/options/promptDevice.js.map +1 -1
- package/build/src/run/ios/options/resolveDevice.js +64 -41
- package/build/src/run/ios/options/resolveDevice.js.map +1 -1
- package/build/src/run/ios/options/resolveNativeScheme.js +80 -39
- package/build/src/run/ios/options/resolveNativeScheme.js.map +1 -1
- package/build/src/run/ios/options/resolveOptions.js +15 -12
- package/build/src/run/ios/options/resolveOptions.js.map +1 -1
- package/build/src/run/ios/options/resolveXcodeProject.js +13 -4
- package/build/src/run/ios/options/resolveXcodeProject.js.map +1 -1
- package/build/src/run/ios/runIosAsync.js +71 -42
- package/build/src/run/ios/runIosAsync.js.map +1 -1
- package/build/src/run/resolveBundlerProps.js +8 -5
- package/build/src/run/resolveBundlerProps.js.map +1 -1
- package/build/src/run/startBundler.js +60 -27
- package/build/src/run/startBundler.js.map +1 -1
- package/build/src/start/detectDevClient.js +32 -0
- package/build/src/start/detectDevClient.js.map +1 -0
- package/build/src/start/doctor/Prerequisite.js +15 -7
- package/build/src/start/doctor/Prerequisite.js.map +1 -1
- package/build/src/start/doctor/SecurityBinPrerequisite.js +13 -4
- package/build/src/start/doctor/SecurityBinPrerequisite.js.map +1 -1
- package/build/src/start/doctor/apple/SimulatorAppPrerequisite.js +57 -24
- package/build/src/start/doctor/apple/SimulatorAppPrerequisite.js.map +1 -1
- package/build/src/start/doctor/apple/XcodeDeveloperDiskImagePrerequisite.js +57 -24
- package/build/src/start/doctor/apple/XcodeDeveloperDiskImagePrerequisite.js.map +1 -1
- package/build/src/start/doctor/apple/XcodePrerequisite.js +132 -57
- package/build/src/start/doctor/apple/XcodePrerequisite.js.map +1 -1
- package/build/src/start/doctor/apple/XcrunPrerequisite.js +34 -13
- package/build/src/start/doctor/apple/XcrunPrerequisite.js.map +1 -1
- package/build/src/start/doctor/dependencies/bundledNativeModules.js +69 -30
- package/build/src/start/doctor/dependencies/bundledNativeModules.js.map +1 -1
- package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js +120 -57
- package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js.map +1 -1
- package/build/src/start/doctor/dependencies/getMissingPackages.js +38 -12
- package/build/src/start/doctor/dependencies/getMissingPackages.js.map +1 -1
- package/build/src/start/doctor/dependencies/getVersionedPackages.js +29 -15
- package/build/src/start/doctor/dependencies/getVersionedPackages.js.map +1 -1
- package/build/src/start/doctor/dependencies/resolvePackages.js +39 -15
- package/build/src/start/doctor/dependencies/resolvePackages.js.map +1 -1
- package/build/src/start/doctor/dependencies/validateDependenciesVersions.js +88 -55
- package/build/src/start/doctor/dependencies/validateDependenciesVersions.js.map +1 -1
- package/build/src/start/doctor/ngrok/ExternalModule.js +88 -39
- package/build/src/start/doctor/ngrok/ExternalModule.js.map +1 -1
- package/build/src/start/doctor/ngrok/NgrokResolver.js +12 -5
- package/build/src/start/doctor/ngrok/NgrokResolver.js.map +1 -1
- package/build/src/start/doctor/typescript/TypeScriptProjectPrerequisite.js +75 -45
- package/build/src/start/doctor/typescript/TypeScriptProjectPrerequisite.js.map +1 -1
- package/build/src/start/doctor/typescript/updateTSConfig.js +81 -40
- package/build/src/start/doctor/typescript/updateTSConfig.js.map +1 -1
- package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js +70 -32
- package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js.map +1 -1
- package/build/src/start/index.js +62 -42
- package/build/src/start/index.js.map +1 -1
- package/build/src/start/interface/KeyPressHandler.js +43 -22
- package/build/src/start/interface/KeyPressHandler.js.map +1 -1
- package/build/src/start/interface/commandsTable.js +81 -41
- package/build/src/start/interface/commandsTable.js.map +1 -1
- package/build/src/start/interface/interactiveActions.js +91 -68
- package/build/src/start/interface/interactiveActions.js.map +1 -1
- package/build/src/start/interface/startInterface.js +84 -57
- package/build/src/start/interface/startInterface.js.map +1 -1
- package/build/src/start/platforms/AppIdResolver.js +16 -7
- package/build/src/start/platforms/AppIdResolver.js.map +1 -1
- package/build/src/start/platforms/DeviceManager.js +47 -20
- package/build/src/start/platforms/DeviceManager.js.map +1 -1
- package/build/src/start/platforms/ExpoGoInstaller.js +81 -45
- package/build/src/start/platforms/ExpoGoInstaller.js.map +1 -1
- package/build/src/start/platforms/PlatformManager.js +42 -20
- package/build/src/start/platforms/PlatformManager.js.map +1 -1
- package/build/src/start/platforms/android/ADBServer.js +28 -13
- package/build/src/start/platforms/android/ADBServer.js.map +1 -1
- package/build/src/start/platforms/android/AndroidAppIdResolver.js +18 -10
- package/build/src/start/platforms/android/AndroidAppIdResolver.js.map +1 -1
- package/build/src/start/platforms/android/AndroidDeviceManager.js +86 -54
- package/build/src/start/platforms/android/AndroidDeviceManager.js.map +1 -1
- package/build/src/start/platforms/android/AndroidPlatformManager.js +9 -6
- package/build/src/start/platforms/android/AndroidPlatformManager.js.map +1 -1
- package/build/src/start/platforms/android/AndroidSdk.js +38 -11
- package/build/src/start/platforms/android/AndroidSdk.js.map +1 -1
- package/build/src/start/platforms/android/activateWindow.js +54 -21
- package/build/src/start/platforms/android/activateWindow.js.map +1 -1
- package/build/src/start/platforms/android/adb.js +89 -51
- package/build/src/start/platforms/android/adb.js.map +1 -1
- package/build/src/start/platforms/android/adbReverse.js +57 -31
- package/build/src/start/platforms/android/adbReverse.js.map +1 -1
- package/build/src/start/platforms/android/emulator.js +89 -44
- package/build/src/start/platforms/android/emulator.js.map +1 -1
- package/build/src/start/platforms/android/getDevices.js +11 -10
- package/build/src/start/platforms/android/getDevices.js.map +1 -1
- package/build/src/start/platforms/android/gradle.js +38 -14
- package/build/src/start/platforms/android/gradle.js.map +1 -1
- package/build/src/start/platforms/android/promptAndroidDevice.js +22 -16
- package/build/src/start/platforms/android/promptAndroidDevice.js.map +1 -1
- package/build/src/start/platforms/ios/AppleAppIdResolver.js +31 -10
- package/build/src/start/platforms/ios/AppleAppIdResolver.js.map +1 -1
- package/build/src/start/platforms/ios/AppleDeviceManager.js +120 -62
- package/build/src/start/platforms/ios/AppleDeviceManager.js.map +1 -1
- package/build/src/start/platforms/ios/ApplePlatformManager.js +7 -4
- package/build/src/start/platforms/ios/ApplePlatformManager.js.map +1 -1
- package/build/src/start/platforms/ios/assertSystemRequirements.js +11 -7
- package/build/src/start/platforms/ios/assertSystemRequirements.js.map +1 -1
- package/build/src/start/platforms/ios/ensureSimulatorAppRunning.js +60 -27
- package/build/src/start/platforms/ios/ensureSimulatorAppRunning.js.map +1 -1
- package/build/src/start/platforms/ios/getBestSimulator.js +60 -30
- package/build/src/start/platforms/ios/getBestSimulator.js.map +1 -1
- package/build/src/start/platforms/ios/promptAppleDevice.js +25 -13
- package/build/src/start/platforms/ios/promptAppleDevice.js.map +1 -1
- package/build/src/start/platforms/ios/simctl.js +75 -46
- package/build/src/start/platforms/ios/simctl.js.map +1 -1
- package/build/src/start/platforms/ios/simctlLogging.js +100 -47
- package/build/src/start/platforms/ios/simctlLogging.js.map +1 -1
- package/build/src/start/platforms/ios/xcrun.js +21 -6
- package/build/src/start/platforms/ios/xcrun.js.map +1 -1
- package/build/src/start/project/devices.js +19 -16
- package/build/src/start/project/devices.js.map +1 -1
- package/build/src/start/project/dotExpo.js +37 -11
- package/build/src/start/project/dotExpo.js.map +1 -1
- package/build/src/start/project/settings.js +6 -4
- package/build/src/start/project/settings.js.map +1 -1
- package/build/src/start/resolveOptions.js +52 -27
- package/build/src/start/resolveOptions.js.map +1 -1
- package/build/src/start/server/AsyncNgrok.js +91 -47
- package/build/src/start/server/AsyncNgrok.js.map +1 -1
- package/build/src/start/server/BundlerDevServer.js +77 -45
- package/build/src/start/server/BundlerDevServer.js.map +1 -1
- package/build/src/start/server/DevServerManager.js +100 -70
- package/build/src/start/server/DevServerManager.js.map +1 -1
- package/build/src/start/server/DevToolsPluginManager.js +35 -18
- package/build/src/start/server/DevToolsPluginManager.js.map +1 -1
- package/build/src/start/server/DevelopmentSession.js +57 -33
- package/build/src/start/server/DevelopmentSession.js.map +1 -1
- package/build/src/start/server/ReactDevToolsProxy.js +37 -11
- package/build/src/start/server/ReactDevToolsProxy.js.map +1 -1
- package/build/src/start/server/UrlCreator.js +61 -27
- package/build/src/start/server/UrlCreator.js.map +1 -1
- package/build/src/start/server/getStaticRenderFunctions.js +125 -77
- package/build/src/start/server/getStaticRenderFunctions.js.map +1 -1
- package/build/src/start/server/metro/MetroBundlerDevServer.js +333 -158
- package/build/src/start/server/metro/MetroBundlerDevServer.js.map +1 -1
- package/build/src/start/server/metro/MetroTerminalReporter.js +50 -28
- package/build/src/start/server/metro/MetroTerminalReporter.js.map +1 -1
- package/build/src/start/server/metro/TerminalReporter.js +40 -12
- 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 +82 -35
- package/build/src/start/server/metro/createExpoMetroResolver.js.map +1 -1
- package/build/src/start/server/metro/createJResolver.js +143 -73
- package/build/src/start/server/metro/createJResolver.js.map +1 -1
- package/build/src/start/server/metro/createServerRouteMiddleware.js +47 -38
- package/build/src/start/server/metro/createServerRouteMiddleware.js.map +1 -1
- package/build/src/start/server/metro/debugging/MessageHandler.js +30 -0
- package/build/src/start/server/metro/debugging/MessageHandler.js.map +1 -0
- package/build/src/start/server/metro/debugging/createDebugMiddleware.js +18 -14
- package/build/src/start/server/metro/debugging/createDebugMiddleware.js.map +1 -1
- package/build/src/start/server/metro/debugging/createHandlersFactory.js +64 -0
- package/build/src/start/server/metro/debugging/createHandlersFactory.js.map +1 -0
- package/build/src/start/server/metro/debugging/{inspectorHandlers/utils.js → getDebuggerType.js} +6 -8
- package/build/src/start/server/metro/debugging/getDebuggerType.js.map +1 -0
- package/build/src/start/server/metro/debugging/{inspectorHandlers → messageHandlers}/NetworkResponse.js +12 -6
- package/build/src/start/server/metro/debugging/messageHandlers/NetworkResponse.js.map +1 -0
- package/build/src/start/server/metro/debugging/messageHandlers/PageReload.js +26 -0
- package/build/src/start/server/metro/debugging/messageHandlers/PageReload.js.map +1 -0
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerGetPossibleBreakpoints.js +28 -0
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerGetPossibleBreakpoints.js.map +1 -0
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerSetBreakpointByUrl.js +25 -0
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerSetBreakpointByUrl.js.map +1 -0
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeCallFunctionOn.js +31 -0
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeCallFunctionOn.js.map +1 -0
- package/build/src/start/server/metro/debugging/{inspectorHandlers → messageHandlers}/VscodeRuntimeGetProperties.js +14 -7
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeGetProperties.js.map +1 -0
- package/build/src/start/server/metro/debugging/pageIsSupported.js +17 -0
- package/build/src/start/server/metro/debugging/pageIsSupported.js.map +1 -0
- package/build/src/start/server/metro/debugging/types.js.map +1 -0
- package/build/src/start/server/metro/externals.js +67 -69
- package/build/src/start/server/metro/externals.js.map +1 -1
- package/build/src/start/server/metro/fetchRouterManifest.js +26 -7
- package/build/src/start/server/metro/fetchRouterManifest.js.map +1 -1
- package/build/src/start/server/metro/formatFileCandidates.js +28 -18
- package/build/src/start/server/metro/formatFileCandidates.js.map +1 -1
- package/build/src/start/server/metro/getCssModulesFromBundler.js +44 -12
- package/build/src/start/server/metro/getCssModulesFromBundler.js.map +1 -1
- package/build/src/start/server/metro/instantiateMetro.js +141 -62
- package/build/src/start/server/metro/instantiateMetro.js.map +1 -1
- package/build/src/start/server/metro/metroErrorInterface.js +75 -47
- package/build/src/start/server/metro/metroErrorInterface.js.map +1 -1
- package/build/src/start/server/metro/metroErrors.js +11 -2
- package/build/src/start/server/metro/metroErrors.js.map +1 -1
- package/build/src/start/server/metro/metroVirtualModules.js +90 -0
- package/build/src/start/server/metro/metroVirtualModules.js.map +1 -0
- package/build/src/start/server/metro/metroWatchTypeScriptFiles.js +12 -3
- package/build/src/start/server/metro/metroWatchTypeScriptFiles.js.map +1 -1
- package/build/src/start/server/metro/router.js +64 -30
- package/build/src/start/server/metro/router.js.map +1 -1
- package/build/src/start/server/metro/runServer-fork.js +68 -19
- package/build/src/start/server/metro/runServer-fork.js.map +1 -1
- package/build/src/start/server/metro/serializeHtml.js +32 -19
- package/build/src/start/server/metro/serializeHtml.js.map +1 -1
- package/build/src/start/server/metro/waitForMetroToObserveTypeScriptFile.js +19 -5
- package/build/src/start/server/metro/waitForMetroToObserveTypeScriptFile.js.map +1 -1
- package/build/src/start/server/metro/withMetroMultiPlatform.js +232 -104
- package/build/src/start/server/metro/withMetroMultiPlatform.js.map +1 -1
- package/build/src/start/server/metro/withMetroResolvers.js +95 -47
- package/build/src/start/server/metro/withMetroResolvers.js.map +1 -1
- package/build/src/start/server/middleware/ContextModuleSourceMapsMiddleware.js +4 -1
- package/build/src/start/server/middleware/ContextModuleSourceMapsMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/CorsMiddleware.js +4 -1
- package/build/src/start/server/middleware/CorsMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/CreateFileMiddleware.js +33 -13
- package/build/src/start/server/middleware/CreateFileMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/DevToolsPluginMiddleware.js +27 -12
- package/build/src/start/server/middleware/DevToolsPluginMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js +65 -28
- package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/ExpoMiddleware.js +54 -22
- package/build/src/start/server/middleware/ExpoMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/FaviconMiddleware.js +8 -5
- package/build/src/start/server/middleware/FaviconMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/HistoryFallbackMiddleware.js +6 -3
- package/build/src/start/server/middleware/HistoryFallbackMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/InterstitialPageMiddleware.js +58 -21
- package/build/src/start/server/middleware/InterstitialPageMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/ManifestMiddleware.js +117 -63
- package/build/src/start/server/middleware/ManifestMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/ReactDevToolsPageMiddleware.js +35 -10
- package/build/src/start/server/middleware/ReactDevToolsPageMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js +54 -27
- package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/ServeStaticMiddleware.js +31 -10
- package/build/src/start/server/middleware/ServeStaticMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/inspector/JsInspector.js +45 -22
- package/build/src/start/server/middleware/inspector/JsInspector.js.map +1 -1
- package/build/src/start/server/middleware/inspector/LaunchBrowser.js +25 -11
- package/build/src/start/server/middleware/inspector/LaunchBrowser.js.map +1 -1
- package/build/src/start/server/middleware/inspector/LaunchBrowser.types.js +4 -2
- package/build/src/start/server/middleware/inspector/LaunchBrowser.types.js.map +1 -1
- package/build/src/start/server/middleware/inspector/LaunchBrowserImplLinux.js +36 -14
- package/build/src/start/server/middleware/inspector/LaunchBrowserImplLinux.js.map +1 -1
- package/build/src/start/server/middleware/inspector/LaunchBrowserImplMacOS.js +84 -38
- package/build/src/start/server/middleware/inspector/LaunchBrowserImplMacOS.js.map +1 -1
- package/build/src/start/server/middleware/inspector/LaunchBrowserImplWindows.js +42 -20
- package/build/src/start/server/middleware/inspector/LaunchBrowserImplWindows.js.map +1 -1
- package/build/src/start/server/middleware/inspector/createJsInspectorMiddleware.js +40 -13
- package/build/src/start/server/middleware/inspector/createJsInspectorMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/inspector/middlwareMutations.js +11 -4
- package/build/src/start/server/middleware/inspector/middlwareMutations.js.map +1 -1
- package/build/src/start/server/middleware/metroOptions.js +36 -18
- package/build/src/start/server/middleware/metroOptions.js.map +1 -1
- package/build/src/start/server/middleware/mutations.js +11 -4
- package/build/src/start/server/middleware/mutations.js.map +1 -1
- package/build/src/start/server/middleware/resolveAssets.js +78 -42
- package/build/src/start/server/middleware/resolveAssets.js.map +1 -1
- package/build/src/start/server/middleware/resolvePlatform.js +21 -7
- package/build/src/start/server/middleware/resolvePlatform.js.map +1 -1
- package/build/src/start/server/middleware/suppressErrorMiddleware.js +4 -1
- package/build/src/start/server/middleware/suppressErrorMiddleware.js.map +1 -1
- package/build/src/start/server/openPlatforms.js +7 -6
- package/build/src/start/server/openPlatforms.js.map +1 -1
- package/build/src/start/server/platformBundlers.js +12 -3
- package/build/src/start/server/platformBundlers.js.map +1 -1
- package/build/src/start/server/serverLogLikeMetro.js +93 -40
- package/build/src/start/server/serverLogLikeMetro.js.map +1 -1
- package/build/src/start/server/type-generation/expo-env.js +26 -6
- package/build/src/start/server/type-generation/expo-env.js.map +1 -1
- package/build/src/start/server/type-generation/routes.js +137 -82
- package/build/src/start/server/type-generation/routes.js.map +1 -1
- package/build/src/start/server/type-generation/startTypescriptTypeGeneration.js +44 -23
- package/build/src/start/server/type-generation/startTypescriptTypeGeneration.js.map +1 -1
- package/build/src/start/server/type-generation/tsconfig.js +41 -16
- package/build/src/start/server/type-generation/tsconfig.js.map +1 -1
- package/build/src/start/server/webTemplate.js +43 -19
- package/build/src/start/server/webTemplate.js.map +1 -1
- package/build/src/start/server/webpack/WebpackBundlerDevServer.js +105 -56
- package/build/src/start/server/webpack/WebpackBundlerDevServer.js.map +1 -1
- package/build/src/start/server/webpack/compile.js +60 -27
- package/build/src/start/server/webpack/compile.js.map +1 -1
- package/build/src/start/server/webpack/formatWebpackMessages.js +35 -25
- package/build/src/start/server/webpack/formatWebpackMessages.js.map +1 -1
- package/build/src/start/server/webpack/resolveFromProject.js +20 -6
- package/build/src/start/server/webpack/resolveFromProject.js.map +1 -1
- package/build/src/start/server/webpack/tls.js +84 -34
- package/build/src/start/server/webpack/tls.js.map +1 -1
- package/build/src/start/startAsync.js +98 -52
- package/build/src/start/startAsync.js.map +1 -1
- package/build/src/utils/FileNotifier.js +73 -28
- package/build/src/utils/FileNotifier.js.map +1 -1
- package/build/src/utils/analytics/getDevClientProperties.js +48 -22
- package/build/src/utils/analytics/getDevClientProperties.js.map +1 -1
- package/build/src/utils/analytics/getMetroDebugProperties.js +4 -1
- package/build/src/utils/analytics/getMetroDebugProperties.js.map +1 -1
- package/build/src/utils/analytics/getMetroProperties.js +4 -1
- package/build/src/utils/analytics/getMetroProperties.js.map +1 -1
- package/build/src/utils/analytics/metroDebuggerMiddleware.js +14 -6
- package/build/src/utils/analytics/metroDebuggerMiddleware.js.map +1 -1
- package/build/src/utils/ansi.js +5 -2
- package/build/src/utils/ansi.js.map +1 -1
- package/build/src/utils/args.js +83 -31
- package/build/src/utils/args.js.map +1 -1
- package/build/src/utils/array.js +16 -9
- package/build/src/utils/array.js.map +1 -1
- package/build/src/utils/cocoapods.js +127 -67
- package/build/src/utils/cocoapods.js.map +1 -1
- package/build/src/utils/codesigning.js +144 -72
- package/build/src/utils/codesigning.js.map +1 -1
- package/build/src/utils/createFileTransform.js +34 -71
- package/build/src/utils/createFileTransform.js.map +1 -1
- package/build/src/utils/delay.js +13 -6
- package/build/src/utils/delay.js.map +1 -1
- package/build/src/utils/dir.js +50 -40
- package/build/src/utils/dir.js.map +1 -1
- package/build/src/utils/downloadAppAsync.js +51 -18
- package/build/src/utils/downloadAppAsync.js.map +1 -1
- package/build/src/utils/downloadExpoGoAsync.js +47 -26
- package/build/src/utils/downloadExpoGoAsync.js.map +1 -1
- package/build/src/utils/editor.js +65 -27
- package/build/src/utils/editor.js.map +1 -1
- package/build/src/utils/env.js +44 -33
- package/build/src/utils/env.js.map +1 -1
- package/build/src/utils/errors.js +35 -12
- package/build/src/utils/errors.js.map +1 -1
- package/build/src/utils/exit.js +10 -7
- package/build/src/utils/exit.js.map +1 -1
- package/build/src/utils/findUp.js +38 -8
- package/build/src/utils/findUp.js.map +1 -1
- package/build/src/utils/fn.js +11 -3
- package/build/src/utils/fn.js.map +1 -1
- package/build/src/utils/getOrPromptApplicationId.js +84 -46
- package/build/src/utils/getOrPromptApplicationId.js.map +1 -1
- package/build/src/utils/getRunningProcess.js +63 -25
- package/build/src/utils/getRunningProcess.js.map +1 -1
- package/build/src/utils/git.js +76 -38
- package/build/src/utils/git.js.map +1 -1
- package/build/src/utils/glob.js +23 -12
- package/build/src/utils/glob.js.map +1 -1
- package/build/src/utils/interactive.js +5 -2
- package/build/src/utils/interactive.js.map +1 -1
- package/build/src/utils/ip.js +12 -3
- package/build/src/utils/ip.js.map +1 -1
- package/build/src/utils/isModuleSymlinked.js +20 -5
- package/build/src/utils/isModuleSymlinked.js.map +1 -1
- package/build/src/utils/link.js +28 -8
- package/build/src/utils/link.js.map +1 -1
- package/build/src/utils/mergeGitIgnorePaths.js +45 -28
- package/build/src/utils/mergeGitIgnorePaths.js.map +1 -1
- package/build/src/utils/modifyConfigAsync.js +69 -31
- package/build/src/utils/modifyConfigAsync.js.map +1 -1
- package/build/src/utils/modifyConfigPlugins.js +50 -23
- package/build/src/utils/modifyConfigPlugins.js.map +1 -1
- package/build/src/utils/nodeEnv.js +8 -1
- package/build/src/utils/nodeEnv.js.map +1 -1
- package/build/src/utils/nodeModules.js +29 -8
- package/build/src/utils/nodeModules.js.map +1 -1
- package/build/src/utils/npm.js +86 -31
- package/build/src/utils/npm.js.map +1 -1
- package/build/src/utils/obj.js +12 -4
- package/build/src/utils/obj.js.map +1 -1
- package/build/src/utils/open.js +13 -4
- package/build/src/utils/open.js.map +1 -1
- package/build/src/utils/ora.js +38 -22
- package/build/src/utils/ora.js.map +1 -1
- package/build/src/utils/plist.js +73 -29
- package/build/src/utils/plist.js.map +1 -1
- package/build/src/utils/port.js +74 -36
- package/build/src/utils/port.js.map +1 -1
- package/build/src/utils/profile.js +56 -29
- package/build/src/utils/profile.js.map +1 -1
- package/build/src/utils/progress.js +23 -13
- package/build/src/utils/progress.js.map +1 -1
- package/build/src/utils/prompts.js +45 -28
- package/build/src/utils/prompts.js.map +1 -1
- package/build/src/utils/resolveArgs.js +23 -20
- package/build/src/utils/resolveArgs.js.map +1 -1
- package/build/src/utils/scheme.js +128 -52
- package/build/src/utils/scheme.js.map +1 -1
- package/build/src/utils/strings.js +11 -4
- package/build/src/utils/strings.js.map +1 -1
- package/build/src/utils/tar.js +56 -23
- package/build/src/utils/tar.js.map +1 -1
- package/build/src/utils/telemetry/DetachedClient.js +90 -0
- package/build/src/utils/telemetry/DetachedClient.js.map +1 -0
- package/build/src/utils/telemetry/RudderClient.js +101 -0
- package/build/src/utils/telemetry/RudderClient.js.map +1 -0
- package/build/src/utils/telemetry/flushDetached.js +44 -0
- package/build/src/utils/telemetry/flushDetached.js.map +1 -0
- package/build/src/utils/telemetry/getContext.js +112 -0
- package/build/src/utils/telemetry/getContext.js.map +1 -0
- package/build/src/utils/telemetry/index.js +37 -0
- package/build/src/utils/telemetry/index.js.map +1 -0
- package/build/src/utils/telemetry/types.js +6 -0
- package/build/src/utils/telemetry/types.js.map +1 -0
- package/build/src/utils/template.js +27 -2
- package/build/src/utils/template.js.map +1 -1
- package/build/src/utils/terminal.js +5 -2
- package/build/src/utils/terminal.js.map +1 -1
- package/build/src/utils/tsconfig/evaluateTsConfig.js +32 -14
- package/build/src/utils/tsconfig/evaluateTsConfig.js.map +1 -1
- package/build/src/utils/tsconfig/loadTsConfigPaths.js +34 -14
- package/build/src/utils/tsconfig/loadTsConfigPaths.js.map +1 -1
- package/build/src/utils/tsconfig/matchTsConfigPathAlias.js +8 -4
- package/build/src/utils/tsconfig/matchTsConfigPathAlias.js.map +1 -1
- package/build/src/utils/tsconfig/resolveWithTsConfigPaths.js +20 -11
- package/build/src/utils/tsconfig/resolveWithTsConfigPaths.js.map +1 -1
- package/build/src/utils/url.js +35 -19
- package/build/src/utils/url.js.map +1 -1
- package/build/src/utils/validateApplicationId.js +47 -28
- package/build/src/utils/validateApplicationId.js.map +1 -1
- package/build/src/utils/variadic.js +15 -11
- package/build/src/utils/variadic.js.map +1 -1
- package/build/src/whoami/index.js +43 -25
- package/build/src/whoami/index.js.map +1 -1
- package/build/src/whoami/whoamiAsync.js +50 -23
- package/build/src/whoami/whoamiAsync.js.map +1 -1
- package/package.json +16 -17
- package/static/canary/react-native/Libraries/Renderer/implementations/ReactFabric-dev.js +27907 -0
- package/static/canary/react-native/Libraries/Renderer/implementations/ReactFabric-prod.js +9494 -0
- package/static/canary/react-native/Libraries/Renderer/implementations/ReactFabric-profiling.js +10015 -0
- package/static/canary/react-native/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +28375 -0
- package/static/canary/react-native/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +9714 -0
- package/build/src/run/android/resolveGradleProps.js +0 -37
- package/build/src/run/android/resolveGradleProps.js.map +0 -1
- package/build/src/start/server/metro/bundleApiRoutes.js +0 -52
- package/build/src/start/server/metro/bundleApiRoutes.js.map +0 -1
- package/build/src/start/server/metro/debugging/InspectorDevice.js +0 -80
- package/build/src/start/server/metro/debugging/InspectorDevice.js.map +0 -1
- package/build/src/start/server/metro/debugging/InspectorProxy.js +0 -116
- package/build/src/start/server/metro/debugging/InspectorProxy.js.map +0 -1
- package/build/src/start/server/metro/debugging/inspectorHandlers/NetworkResponse.js.map +0 -1
- package/build/src/start/server/metro/debugging/inspectorHandlers/PageReload.js +0 -22
- package/build/src/start/server/metro/debugging/inspectorHandlers/PageReload.js.map +0 -1
- package/build/src/start/server/metro/debugging/inspectorHandlers/VscodeDebuggerGetPossibleBreakpoints.js +0 -21
- package/build/src/start/server/metro/debugging/inspectorHandlers/VscodeDebuggerGetPossibleBreakpoints.js.map +0 -1
- package/build/src/start/server/metro/debugging/inspectorHandlers/VscodeDebuggerScriptParsed.js +0 -56
- package/build/src/start/server/metro/debugging/inspectorHandlers/VscodeDebuggerScriptParsed.js.map +0 -1
- package/build/src/start/server/metro/debugging/inspectorHandlers/VscodeDebuggerSetBreakpointByUrl.js +0 -18
- package/build/src/start/server/metro/debugging/inspectorHandlers/VscodeDebuggerSetBreakpointByUrl.js.map +0 -1
- package/build/src/start/server/metro/debugging/inspectorHandlers/VscodeRuntimeCallFunctionOn.js +0 -24
- package/build/src/start/server/metro/debugging/inspectorHandlers/VscodeRuntimeCallFunctionOn.js.map +0 -1
- package/build/src/start/server/metro/debugging/inspectorHandlers/VscodeRuntimeGetProperties.js.map +0 -1
- package/build/src/start/server/metro/debugging/inspectorHandlers/types.js.map +0 -1
- package/build/src/start/server/metro/debugging/inspectorHandlers/utils.js.map +0 -1
- package/build/src/start/server/type-generation/__typetests__/fixtures/basic.js +0 -38
- package/build/src/start/server/type-generation/__typetests__/fixtures/basic.js.map +0 -1
- package/build/src/start/server/type-generation/__typetests__/generateFixtures.js +0 -38
- package/build/src/start/server/type-generation/__typetests__/generateFixtures.js.map +0 -1
- package/build/src/start/server/type-generation/__typetests__/route.test.js +0 -184
- package/build/src/start/server/type-generation/__typetests__/route.test.js.map +0 -1
- package/build/src/utils/analytics/rudderstackClient.js +0 -147
- package/build/src/utils/analytics/rudderstackClient.js.map +0 -1
- /package/build/src/start/server/metro/debugging/{inspectorHandlers/types.js → types.js} +0 -0
|
@@ -2,40 +2,92 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", {
|
|
3
3
|
value: true
|
|
4
4
|
});
|
|
5
|
-
|
|
6
|
-
var
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
5
|
+
function _export(target, all) {
|
|
6
|
+
for(var name in all)Object.defineProperty(target, name, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: all[name]
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
_export(exports, {
|
|
12
|
+
getXcodeVersionAsync: ()=>getXcodeVersionAsync,
|
|
13
|
+
XcodePrerequisite: ()=>XcodePrerequisite
|
|
14
|
+
});
|
|
15
|
+
function _spawnAsync() {
|
|
16
|
+
const data = /*#__PURE__*/ _interopRequireDefault(require("@expo/spawn-async"));
|
|
17
|
+
_spawnAsync = function() {
|
|
18
|
+
return data;
|
|
19
|
+
};
|
|
20
|
+
return data;
|
|
21
|
+
}
|
|
22
|
+
function _chalk() {
|
|
23
|
+
const data = /*#__PURE__*/ _interopRequireDefault(require("chalk"));
|
|
24
|
+
_chalk = function() {
|
|
25
|
+
return data;
|
|
26
|
+
};
|
|
27
|
+
return data;
|
|
28
|
+
}
|
|
29
|
+
function _childProcess() {
|
|
30
|
+
const data = require("child_process");
|
|
31
|
+
_childProcess = function() {
|
|
32
|
+
return data;
|
|
33
|
+
};
|
|
34
|
+
return data;
|
|
35
|
+
}
|
|
36
|
+
function _semver() {
|
|
37
|
+
const data = /*#__PURE__*/ _interopRequireDefault(require("semver"));
|
|
38
|
+
_semver = function() {
|
|
39
|
+
return data;
|
|
40
|
+
};
|
|
41
|
+
return data;
|
|
42
|
+
}
|
|
43
|
+
const _log = /*#__PURE__*/ _interopRequireWildcard(require("../../../log"));
|
|
44
|
+
const _errors = require("../../../utils/errors");
|
|
45
|
+
const _profile = require("../../../utils/profile");
|
|
46
|
+
const _prompts = require("../../../utils/prompts");
|
|
47
|
+
const _prerequisite = require("../Prerequisite");
|
|
14
48
|
function _interopRequireDefault(obj) {
|
|
15
49
|
return obj && obj.__esModule ? obj : {
|
|
16
50
|
default: obj
|
|
17
51
|
};
|
|
18
52
|
}
|
|
19
|
-
function
|
|
20
|
-
if (
|
|
53
|
+
function _getRequireWildcardCache(nodeInterop) {
|
|
54
|
+
if (typeof WeakMap !== "function") return null;
|
|
55
|
+
var cacheBabelInterop = new WeakMap();
|
|
56
|
+
var cacheNodeInterop = new WeakMap();
|
|
57
|
+
return (_getRequireWildcardCache = function(nodeInterop) {
|
|
58
|
+
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
|
59
|
+
})(nodeInterop);
|
|
60
|
+
}
|
|
61
|
+
function _interopRequireWildcard(obj, nodeInterop) {
|
|
62
|
+
if (!nodeInterop && obj && obj.__esModule) {
|
|
21
63
|
return obj;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
64
|
+
}
|
|
65
|
+
if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
|
|
66
|
+
return {
|
|
67
|
+
default: obj
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
var cache = _getRequireWildcardCache(nodeInterop);
|
|
71
|
+
if (cache && cache.has(obj)) {
|
|
72
|
+
return cache.get(obj);
|
|
73
|
+
}
|
|
74
|
+
var newObj = {};
|
|
75
|
+
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
76
|
+
for(var key in obj){
|
|
77
|
+
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
78
|
+
var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
|
|
79
|
+
if (desc && (desc.get || desc.set)) {
|
|
80
|
+
Object.defineProperty(newObj, key, desc);
|
|
81
|
+
} else {
|
|
82
|
+
newObj[key] = obj[key];
|
|
34
83
|
}
|
|
35
84
|
}
|
|
36
|
-
newObj.default = obj;
|
|
37
|
-
return newObj;
|
|
38
85
|
}
|
|
86
|
+
newObj.default = obj;
|
|
87
|
+
if (cache) {
|
|
88
|
+
cache.set(obj, newObj);
|
|
89
|
+
}
|
|
90
|
+
return newObj;
|
|
39
91
|
}
|
|
40
92
|
const debug = require("debug")("expo:doctor:apple:xcode");
|
|
41
93
|
// Based on the Apple announcement (last updated: Aug 2023).
|
|
@@ -45,46 +97,68 @@ const APP_STORE_ID = "497799835";
|
|
|
45
97
|
const SUGGESTED_XCODE_VERSION = `${MIN_XCODE_VERSION}.0`;
|
|
46
98
|
const promptToOpenAppStoreAsync = async (message)=>{
|
|
47
99
|
// This prompt serves no purpose accept informing the user what to do next, we could just open the App Store but it could be confusing if they don't know what's going on.
|
|
48
|
-
const confirm = await (0, _prompts
|
|
100
|
+
const confirm = await (0, _prompts.confirmAsync)({
|
|
49
101
|
initial: true,
|
|
50
102
|
message
|
|
51
103
|
});
|
|
52
104
|
if (confirm) {
|
|
53
|
-
|
|
105
|
+
_log.log(`Going to the App Store, re-run Expo CLI when Xcode has finished installing.`);
|
|
54
106
|
openAppStore(APP_STORE_ID);
|
|
55
107
|
}
|
|
56
108
|
};
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
109
|
+
let _xcodeVersionPromise = null;
|
|
110
|
+
const getXcodeVersionAsync = async ({ silent , force } = {})=>{
|
|
111
|
+
const logError = silent ? debug : _log.warn;
|
|
112
|
+
const getVersion = async ()=>{
|
|
113
|
+
try {
|
|
114
|
+
var ref;
|
|
115
|
+
const { stdout } = await (0, _spawnAsync().default)("xcodebuild", [
|
|
116
|
+
"-version"
|
|
117
|
+
]);
|
|
118
|
+
const last = (ref = stdout.match(/^Xcode (\d+\.\d+)/)) == null ? void 0 : ref[1];
|
|
119
|
+
// Convert to a semver string
|
|
120
|
+
if (last) {
|
|
121
|
+
const version = `${last}.0`;
|
|
122
|
+
if (!_semver().default.valid(version)) {
|
|
123
|
+
// Not sure why this would happen, if it does we should add a more confident error message.
|
|
124
|
+
return {
|
|
125
|
+
error: `Xcode version is in an unknown format: ${version}`,
|
|
126
|
+
value: false
|
|
127
|
+
};
|
|
128
|
+
}
|
|
129
|
+
return {
|
|
130
|
+
value: version
|
|
131
|
+
};
|
|
70
132
|
}
|
|
71
|
-
|
|
133
|
+
// not sure what's going on
|
|
134
|
+
return {
|
|
135
|
+
error: "Unable to check Xcode version. Command ran successfully but no version number was found.",
|
|
136
|
+
value: null
|
|
137
|
+
};
|
|
138
|
+
} catch {
|
|
139
|
+
// not installed
|
|
72
140
|
}
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
141
|
+
return {
|
|
142
|
+
value: null
|
|
143
|
+
};
|
|
144
|
+
};
|
|
145
|
+
if (force) {
|
|
146
|
+
_xcodeVersionPromise = null;
|
|
77
147
|
}
|
|
78
|
-
|
|
148
|
+
_xcodeVersionPromise = _xcodeVersionPromise != null ? _xcodeVersionPromise : getVersion();
|
|
149
|
+
const result = await _xcodeVersionPromise;
|
|
150
|
+
if (result.error) {
|
|
151
|
+
logError(result.error);
|
|
152
|
+
}
|
|
153
|
+
return result.value;
|
|
79
154
|
};
|
|
80
|
-
exports.getXcodeVersionAsync = getXcodeVersionAsync;
|
|
81
155
|
/**
|
|
82
156
|
* Open a link to the App Store. Just link in mobile apps, **never** redirect without prompting first.
|
|
83
157
|
*
|
|
84
158
|
* @param appId
|
|
85
159
|
*/ function openAppStore(appId) {
|
|
86
160
|
const link = getAppStoreLink(appId);
|
|
87
|
-
(0, _childProcess).execSync(`open ${link}`, {
|
|
161
|
+
(0, _childProcess().execSync)(`open ${link}`, {
|
|
88
162
|
stdio: "ignore"
|
|
89
163
|
});
|
|
90
164
|
}
|
|
@@ -97,7 +171,7 @@ function getAppStoreLink(appId) {
|
|
|
97
171
|
}
|
|
98
172
|
function spawnForString(cmd) {
|
|
99
173
|
try {
|
|
100
|
-
return (0, _childProcess).execSync(cmd, {
|
|
174
|
+
return (0, _childProcess().execSync)(cmd, {
|
|
101
175
|
stdio: "pipe"
|
|
102
176
|
}).toString().trim();
|
|
103
177
|
} catch {}
|
|
@@ -114,25 +188,27 @@ class XcodePrerequisite extends _prerequisite.Prerequisite {
|
|
|
114
188
|
/**
|
|
115
189
|
* Ensure Xcode is installed and recent enough to be used with Expo.
|
|
116
190
|
*/ async assertImplementation() {
|
|
117
|
-
const version = (0, _profile
|
|
191
|
+
const version = await (0, _profile.profile)(getXcodeVersionAsync)({
|
|
192
|
+
force: process.env.NODE_ENV === "test"
|
|
193
|
+
});
|
|
118
194
|
debug(`Xcode version: ${version}`);
|
|
119
195
|
if (!version) {
|
|
120
196
|
// A couple different issues could have occurred, let's check them after we're past the point of no return
|
|
121
197
|
// since we no longer need to be fast about validation.
|
|
122
198
|
// Ensure Xcode.app can be found before we prompt to sudo select it.
|
|
123
199
|
if (getXcodeInstalled()) {
|
|
124
|
-
const selectPath = (0, _profile
|
|
200
|
+
const selectPath = (0, _profile.profile)(getXcodeSelectPathAsync)();
|
|
125
201
|
debug(`Xcode select path: ${selectPath}`);
|
|
126
202
|
if (!selectPath) {
|
|
127
|
-
|
|
203
|
+
_log.error([
|
|
128
204
|
"",
|
|
129
|
-
_chalk.default.bold("Xcode has not been fully setup for Apple development yet."),
|
|
205
|
+
_chalk().default.bold("Xcode has not been fully setup for Apple development yet."),
|
|
130
206
|
"Download at: https://developer.apple.com/xcode/",
|
|
131
207
|
"or in the App Store.",
|
|
132
208
|
"",
|
|
133
209
|
"After downloading Xcode, run the following two commands in your terminal:",
|
|
134
|
-
_chalk.default.cyan(" sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer"),
|
|
135
|
-
_chalk.default.cyan(" sudo xcodebuild -runFirstLaunch"),
|
|
210
|
+
_chalk().default.cyan(" sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer"),
|
|
211
|
+
_chalk().default.cyan(" sudo xcodebuild -runFirstLaunch"),
|
|
136
212
|
"",
|
|
137
213
|
"Then you can re-run Expo CLI. Alternatively, you can build apps in the cloud with EAS CLI, or preview using the Expo Go app on a physical device.",
|
|
138
214
|
"",
|
|
@@ -146,13 +222,12 @@ class XcodePrerequisite extends _prerequisite.Prerequisite {
|
|
|
146
222
|
await promptToOpenAppStoreAsync(`Xcode must be fully installed before you can continue. Continue to the App Store?`);
|
|
147
223
|
throw new _errors.AbortCommandError();
|
|
148
224
|
}
|
|
149
|
-
if (_semver.default.lt(version, SUGGESTED_XCODE_VERSION)) {
|
|
225
|
+
if (_semver().default.lt(version, SUGGESTED_XCODE_VERSION)) {
|
|
150
226
|
// Xcode version is too old.
|
|
151
227
|
await promptToOpenAppStoreAsync(`Xcode (${version}) needs to be updated to at least version ${MIN_XCODE_VERSION}. Continue to the App Store?`);
|
|
152
228
|
throw new _errors.AbortCommandError();
|
|
153
229
|
}
|
|
154
230
|
}
|
|
155
231
|
}
|
|
156
|
-
exports.XcodePrerequisite = XcodePrerequisite;
|
|
157
232
|
|
|
158
233
|
//# sourceMappingURL=XcodePrerequisite.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/start/doctor/apple/XcodePrerequisite.ts"],"sourcesContent":["import chalk from 'chalk';\nimport { execSync } from 'child_process';\nimport semver from 'semver';\n\nimport * as Log from '../../../log';\nimport { AbortCommandError } from '../../../utils/errors';\nimport { profile } from '../../../utils/profile';\nimport { confirmAsync } from '../../../utils/prompts';\nimport { Prerequisite } from '../Prerequisite';\n\nconst debug = require('debug')('expo:doctor:apple:xcode') as typeof console.log;\n\n// Based on the Apple announcement (last updated: Aug 2023).\n// https://developer.apple.com/news/upcoming-requirements/?id=04252023a\nconst MIN_XCODE_VERSION = '14.1';\nconst APP_STORE_ID = '497799835';\n\nconst SUGGESTED_XCODE_VERSION = `${MIN_XCODE_VERSION}.0`;\n\nconst promptToOpenAppStoreAsync = async (message: string) => {\n // This prompt serves no purpose accept informing the user what to do next, we could just open the App Store but it could be confusing if they don't know what's going on.\n const confirm = await confirmAsync({ initial: true, message });\n if (confirm) {\n Log.log(`Going to the App Store, re-run Expo CLI when Xcode has finished installing.`);\n openAppStore(APP_STORE_ID);\n }\n};\n\n/** Exposed for testing, use `getXcodeVersion` */\nexport const getXcodeVersionAsync = (): string | null | false => {\n try {\n const last = execSync('xcodebuild -version', { stdio: 'pipe' })\n .toString()\n .match(/^Xcode (\\d+\\.\\d+)/)?.[1];\n // Convert to a semver string\n if (last) {\n const version = `${last}.0`;\n\n if (!semver.valid(version)) {\n // Not sure why this would happen, if it does we should add a more confident error message.\n Log.error(`Xcode version is in an unknown format: ${version}`);\n return false;\n }\n\n return version;\n }\n // not sure what's going on\n Log.error(\n 'Unable to check Xcode version. Command ran successfully but no version number was found.'\n );\n } catch {\n // not installed\n }\n return null;\n};\n\n/**\n * Open a link to the App Store. Just link in mobile apps, **never** redirect without prompting first.\n *\n * @param appId\n */\nfunction openAppStore(appId: string) {\n const link = getAppStoreLink(appId);\n execSync(`open ${link}`, { stdio: 'ignore' });\n}\n\nfunction getAppStoreLink(appId: string): string {\n if (process.platform === 'darwin') {\n // TODO: Is there ever a case where the macappstore isn't available on mac?\n return `macappstore://itunes.apple.com/app/id${appId}`;\n }\n return `https://apps.apple.com/us/app/id${appId}`;\n}\n\nfunction spawnForString(cmd: string): string | null {\n try {\n return execSync(cmd, { stdio: 'pipe' }).toString().trim();\n } catch {}\n return null;\n}\n\n/** @returns a string like `/Applications/Xcode.app/Contents/Developer` when Xcode has a correctly selected path. */\nfunction getXcodeSelectPathAsync() {\n return spawnForString('/usr/bin/xcode-select --print-path');\n}\nfunction getXcodeInstalled() {\n return spawnForString('ls /Applications/Xcode.app/Contents/Developer');\n}\n\nexport class XcodePrerequisite extends Prerequisite {\n static instance = new XcodePrerequisite();\n\n /**\n * Ensure Xcode is installed and recent enough to be used with Expo.\n */\n async assertImplementation(): Promise<void> {\n const version = profile(getXcodeVersionAsync)();\n debug(`Xcode version: ${version}`);\n if (!version) {\n // A couple different issues could have occurred, let's check them after we're past the point of no return\n // since we no longer need to be fast about validation.\n\n // Ensure Xcode.app can be found before we prompt to sudo select it.\n if (getXcodeInstalled()) {\n const selectPath = profile(getXcodeSelectPathAsync)();\n debug(`Xcode select path: ${selectPath}`);\n if (!selectPath) {\n Log.error(\n [\n '',\n chalk.bold('Xcode has not been fully setup for Apple development yet.'),\n 'Download at: https://developer.apple.com/xcode/',\n 'or in the App Store.',\n '',\n 'After downloading Xcode, run the following two commands in your terminal:',\n chalk.cyan(' sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer'),\n chalk.cyan(' sudo xcodebuild -runFirstLaunch'),\n '',\n 'Then you can re-run Expo CLI. Alternatively, you can build apps in the cloud with EAS CLI, or preview using the Expo Go app on a physical device.',\n '',\n ].join('\\n')\n );\n throw new AbortCommandError();\n } else {\n debug(`Unexpected Xcode setup (version: ${version}, select: ${selectPath})`);\n }\n }\n\n // Almost certainly Xcode isn't installed.\n await promptToOpenAppStoreAsync(\n `Xcode must be fully installed before you can continue. Continue to the App Store?`\n );\n throw new AbortCommandError();\n }\n\n if (semver.lt(version, SUGGESTED_XCODE_VERSION)) {\n // Xcode version is too old.\n await promptToOpenAppStoreAsync(\n `Xcode (${version}) needs to be updated to at least version ${MIN_XCODE_VERSION}. Continue to the App Store?`\n );\n throw new AbortCommandError();\n }\n }\n}\n"],"names":["Log","debug","require","MIN_XCODE_VERSION","APP_STORE_ID","SUGGESTED_XCODE_VERSION","promptToOpenAppStoreAsync","message","confirm","confirmAsync","initial","log","openAppStore","getXcodeVersionAsync","execSync","last","stdio","toString","match","version","semver","valid","error","appId","link","getAppStoreLink","process","platform","spawnForString","cmd","trim","getXcodeSelectPathAsync","getXcodeInstalled","XcodePrerequisite","Prerequisite","instance","assertImplementation","profile","selectPath","chalk","bold","cyan","join","AbortCommandError","lt"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../../../src/start/doctor/apple/XcodePrerequisite.ts"],"sourcesContent":["import spawnAsync from '@expo/spawn-async';\nimport chalk from 'chalk';\nimport { execSync } from 'child_process';\nimport semver from 'semver';\n\nimport * as Log from '../../../log';\nimport { AbortCommandError } from '../../../utils/errors';\nimport { profile } from '../../../utils/profile';\nimport { confirmAsync } from '../../../utils/prompts';\nimport { Prerequisite } from '../Prerequisite';\n\nconst debug = require('debug')('expo:doctor:apple:xcode') as typeof console.log;\n\n// Based on the Apple announcement (last updated: Aug 2023).\n// https://developer.apple.com/news/upcoming-requirements/?id=04252023a\nconst MIN_XCODE_VERSION = '14.1';\nconst APP_STORE_ID = '497799835';\n\nconst SUGGESTED_XCODE_VERSION = `${MIN_XCODE_VERSION}.0`;\n\nconst promptToOpenAppStoreAsync = async (message: string) => {\n // This prompt serves no purpose accept informing the user what to do next, we could just open the App Store but it could be confusing if they don't know what's going on.\n const confirm = await confirmAsync({ initial: true, message });\n if (confirm) {\n Log.log(`Going to the App Store, re-run Expo CLI when Xcode has finished installing.`);\n openAppStore(APP_STORE_ID);\n }\n};\n\nlet _xcodeVersionPromise: Promise<{ value: string | null | false; error?: string }> | null = null;\n\nexport const getXcodeVersionAsync = async ({\n silent,\n force,\n}: { silent?: boolean; force?: boolean } = {}): Promise<string | null | false> => {\n const logError = silent ? debug : Log.warn;\n const getVersion = async (): Promise<{ value: string | null | false; error?: string }> => {\n try {\n const { stdout } = await spawnAsync('xcodebuild', ['-version']);\n const last = stdout.match(/^Xcode (\\d+\\.\\d+)/)?.[1];\n // Convert to a semver string\n if (last) {\n const version = `${last}.0`;\n\n if (!semver.valid(version)) {\n // Not sure why this would happen, if it does we should add a more confident error message.\n return { error: `Xcode version is in an unknown format: ${version}`, value: false };\n }\n return { value: version };\n }\n\n // not sure what's going on\n return {\n error:\n 'Unable to check Xcode version. Command ran successfully but no version number was found.',\n value: null,\n };\n } catch {\n // not installed\n }\n return { value: null };\n };\n\n if (force) {\n _xcodeVersionPromise = null;\n }\n\n _xcodeVersionPromise = _xcodeVersionPromise ?? getVersion();\n\n const result = await _xcodeVersionPromise;\n\n if (result.error) {\n logError(result.error);\n }\n\n return result.value;\n};\n\n/**\n * Open a link to the App Store. Just link in mobile apps, **never** redirect without prompting first.\n *\n * @param appId\n */\nfunction openAppStore(appId: string) {\n const link = getAppStoreLink(appId);\n execSync(`open ${link}`, { stdio: 'ignore' });\n}\n\nfunction getAppStoreLink(appId: string): string {\n if (process.platform === 'darwin') {\n // TODO: Is there ever a case where the macappstore isn't available on mac?\n return `macappstore://itunes.apple.com/app/id${appId}`;\n }\n return `https://apps.apple.com/us/app/id${appId}`;\n}\n\nfunction spawnForString(cmd: string): string | null {\n try {\n return execSync(cmd, { stdio: 'pipe' }).toString().trim();\n } catch {}\n return null;\n}\n\n/** @returns a string like `/Applications/Xcode.app/Contents/Developer` when Xcode has a correctly selected path. */\nfunction getXcodeSelectPathAsync() {\n return spawnForString('/usr/bin/xcode-select --print-path');\n}\nfunction getXcodeInstalled() {\n return spawnForString('ls /Applications/Xcode.app/Contents/Developer');\n}\n\nexport class XcodePrerequisite extends Prerequisite {\n static instance = new XcodePrerequisite();\n\n /**\n * Ensure Xcode is installed and recent enough to be used with Expo.\n */\n async assertImplementation(): Promise<void> {\n const version = await profile(getXcodeVersionAsync)({ force: process.env.NODE_ENV === 'test' });\n debug(`Xcode version: ${version}`);\n if (!version) {\n // A couple different issues could have occurred, let's check them after we're past the point of no return\n // since we no longer need to be fast about validation.\n\n // Ensure Xcode.app can be found before we prompt to sudo select it.\n if (getXcodeInstalled()) {\n const selectPath = profile(getXcodeSelectPathAsync)();\n debug(`Xcode select path: ${selectPath}`);\n if (!selectPath) {\n Log.error(\n [\n '',\n chalk.bold('Xcode has not been fully setup for Apple development yet.'),\n 'Download at: https://developer.apple.com/xcode/',\n 'or in the App Store.',\n '',\n 'After downloading Xcode, run the following two commands in your terminal:',\n chalk.cyan(' sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer'),\n chalk.cyan(' sudo xcodebuild -runFirstLaunch'),\n '',\n 'Then you can re-run Expo CLI. Alternatively, you can build apps in the cloud with EAS CLI, or preview using the Expo Go app on a physical device.',\n '',\n ].join('\\n')\n );\n throw new AbortCommandError();\n } else {\n debug(`Unexpected Xcode setup (version: ${version}, select: ${selectPath})`);\n }\n }\n\n // Almost certainly Xcode isn't installed.\n await promptToOpenAppStoreAsync(\n `Xcode must be fully installed before you can continue. Continue to the App Store?`\n );\n throw new AbortCommandError();\n }\n\n if (semver.lt(version, SUGGESTED_XCODE_VERSION)) {\n // Xcode version is too old.\n await promptToOpenAppStoreAsync(\n `Xcode (${version}) needs to be updated to at least version ${MIN_XCODE_VERSION}. Continue to the App Store?`\n );\n throw new AbortCommandError();\n }\n }\n}\n"],"names":["getXcodeVersionAsync","XcodePrerequisite","debug","require","MIN_XCODE_VERSION","APP_STORE_ID","SUGGESTED_XCODE_VERSION","promptToOpenAppStoreAsync","message","confirm","confirmAsync","initial","Log","log","openAppStore","_xcodeVersionPromise","silent","force","logError","warn","getVersion","stdout","spawnAsync","last","match","version","semver","valid","error","value","result","appId","link","getAppStoreLink","execSync","stdio","process","platform","spawnForString","cmd","toString","trim","getXcodeSelectPathAsync","getXcodeInstalled","Prerequisite","instance","assertImplementation","profile","env","NODE_ENV","selectPath","chalk","bold","cyan","join","AbortCommandError","lt"],"mappings":"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"}
|
|
@@ -2,13 +2,35 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", {
|
|
3
3
|
value: true
|
|
4
4
|
});
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
5
|
+
Object.defineProperty(exports, "XcrunPrerequisite", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: ()=>XcrunPrerequisite
|
|
8
|
+
});
|
|
9
|
+
function _spawnAsync() {
|
|
10
|
+
const data = /*#__PURE__*/ _interopRequireDefault(require("@expo/spawn-async"));
|
|
11
|
+
_spawnAsync = function() {
|
|
12
|
+
return data;
|
|
13
|
+
};
|
|
14
|
+
return data;
|
|
15
|
+
}
|
|
16
|
+
function _chalk() {
|
|
17
|
+
const data = /*#__PURE__*/ _interopRequireDefault(require("chalk"));
|
|
18
|
+
_chalk = function() {
|
|
19
|
+
return data;
|
|
20
|
+
};
|
|
21
|
+
return data;
|
|
22
|
+
}
|
|
23
|
+
function _childProcess() {
|
|
24
|
+
const data = require("child_process");
|
|
25
|
+
_childProcess = function() {
|
|
26
|
+
return data;
|
|
27
|
+
};
|
|
28
|
+
return data;
|
|
29
|
+
}
|
|
30
|
+
const _delay = require("../../../utils/delay");
|
|
31
|
+
const _errors = require("../../../utils/errors");
|
|
32
|
+
const _prompts = require("../../../utils/prompts");
|
|
33
|
+
const _prerequisite = require("../Prerequisite");
|
|
12
34
|
function _interopRequireDefault(obj) {
|
|
13
35
|
return obj && obj.__esModule ? obj : {
|
|
14
36
|
default: obj
|
|
@@ -16,7 +38,7 @@ function _interopRequireDefault(obj) {
|
|
|
16
38
|
}
|
|
17
39
|
async function isXcrunInstalledAsync() {
|
|
18
40
|
try {
|
|
19
|
-
(0, _childProcess).execSync("xcrun --version", {
|
|
41
|
+
(0, _childProcess().execSync)("xcrun --version", {
|
|
20
42
|
stdio: "ignore"
|
|
21
43
|
});
|
|
22
44
|
return true;
|
|
@@ -35,18 +57,18 @@ class XcrunPrerequisite extends _prerequisite.Prerequisite {
|
|
|
35
57
|
}
|
|
36
58
|
async function pendingAsync() {
|
|
37
59
|
if (!await isXcrunInstalledAsync()) {
|
|
38
|
-
await (0, _delay
|
|
60
|
+
await (0, _delay.delayAsync)(100);
|
|
39
61
|
return await pendingAsync();
|
|
40
62
|
}
|
|
41
63
|
}
|
|
42
64
|
// This prompt serves no purpose accept informing the user what to do next, we could just open the App Store but it could be confusing if they don't know what's going on.
|
|
43
|
-
const confirm = await (0, _prompts
|
|
65
|
+
const confirm = await (0, _prompts.confirmAsync)({
|
|
44
66
|
initial: true,
|
|
45
|
-
message: _chalk.default`Xcode {bold Command Line Tools} needs to be installed (requires {bold sudo}), continue?`
|
|
67
|
+
message: (0, _chalk().default)`Xcode {bold Command Line Tools} needs to be installed (requires {bold sudo}), continue?`
|
|
46
68
|
});
|
|
47
69
|
if (confirm) {
|
|
48
70
|
try {
|
|
49
|
-
await (0, _spawnAsync).default("sudo", [
|
|
71
|
+
await (0, _spawnAsync().default)("sudo", [
|
|
50
72
|
"xcode-select",
|
|
51
73
|
"--install"
|
|
52
74
|
]);
|
|
@@ -60,6 +82,5 @@ class XcrunPrerequisite extends _prerequisite.Prerequisite {
|
|
|
60
82
|
throw new _errors.AbortCommandError();
|
|
61
83
|
}
|
|
62
84
|
}
|
|
63
|
-
exports.XcrunPrerequisite = XcrunPrerequisite;
|
|
64
85
|
|
|
65
86
|
//# sourceMappingURL=XcrunPrerequisite.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/start/doctor/apple/XcrunPrerequisite.ts"],"sourcesContent":["import spawnAsync from '@expo/spawn-async';\nimport chalk from 'chalk';\nimport { execSync } from 'child_process';\n\nimport { delayAsync } from '../../../utils/delay';\nimport { AbortCommandError } from '../../../utils/errors';\nimport { confirmAsync } from '../../../utils/prompts';\nimport { Prerequisite } from '../Prerequisite';\n\nasync function isXcrunInstalledAsync() {\n try {\n execSync('xcrun --version', { stdio: 'ignore' });\n return true;\n } catch {\n return false;\n }\n}\n\nexport class XcrunPrerequisite extends Prerequisite {\n static instance = new XcrunPrerequisite();\n\n /**\n * Ensure Xcode CLI is installed.\n */\n async assertImplementation(): Promise<void> {\n if (await isXcrunInstalledAsync()) {\n // Run this second to ensure the Xcode version check is run.\n return;\n }\n\n async function pendingAsync(): Promise<void> {\n if (!(await isXcrunInstalledAsync())) {\n await delayAsync(100);\n return await pendingAsync();\n }\n }\n\n // This prompt serves no purpose accept informing the user what to do next, we could just open the App Store but it could be confusing if they don't know what's going on.\n const confirm = await confirmAsync({\n initial: true,\n message: chalk`Xcode {bold Command Line Tools} needs to be installed (requires {bold sudo}), continue?`,\n });\n\n if (confirm) {\n try {\n await spawnAsync('sudo', [\n 'xcode-select',\n '--install',\n // TODO: Is there any harm in skipping this?\n // '--switch', '/Applications/Xcode.app'\n ]);\n // Most likely the user will cancel the process, but if they don't this will continue checking until the CLI is available.\n return await pendingAsync();\n } catch {\n // TODO: Figure out why this might get called (cancel early, network issues, server problems)\n // TODO: Handle me\n }\n }\n\n throw new AbortCommandError();\n }\n}\n"],"names":["isXcrunInstalledAsync","execSync","stdio","
|
|
1
|
+
{"version":3,"sources":["../../../../../src/start/doctor/apple/XcrunPrerequisite.ts"],"sourcesContent":["import spawnAsync from '@expo/spawn-async';\nimport chalk from 'chalk';\nimport { execSync } from 'child_process';\n\nimport { delayAsync } from '../../../utils/delay';\nimport { AbortCommandError } from '../../../utils/errors';\nimport { confirmAsync } from '../../../utils/prompts';\nimport { Prerequisite } from '../Prerequisite';\n\nasync function isXcrunInstalledAsync() {\n try {\n execSync('xcrun --version', { stdio: 'ignore' });\n return true;\n } catch {\n return false;\n }\n}\n\nexport class XcrunPrerequisite extends Prerequisite {\n static instance = new XcrunPrerequisite();\n\n /**\n * Ensure Xcode CLI is installed.\n */\n async assertImplementation(): Promise<void> {\n if (await isXcrunInstalledAsync()) {\n // Run this second to ensure the Xcode version check is run.\n return;\n }\n\n async function pendingAsync(): Promise<void> {\n if (!(await isXcrunInstalledAsync())) {\n await delayAsync(100);\n return await pendingAsync();\n }\n }\n\n // This prompt serves no purpose accept informing the user what to do next, we could just open the App Store but it could be confusing if they don't know what's going on.\n const confirm = await confirmAsync({\n initial: true,\n message: chalk`Xcode {bold Command Line Tools} needs to be installed (requires {bold sudo}), continue?`,\n });\n\n if (confirm) {\n try {\n await spawnAsync('sudo', [\n 'xcode-select',\n '--install',\n // TODO: Is there any harm in skipping this?\n // '--switch', '/Applications/Xcode.app'\n ]);\n // Most likely the user will cancel the process, but if they don't this will continue checking until the CLI is available.\n return await pendingAsync();\n } catch {\n // TODO: Figure out why this might get called (cancel early, network issues, server problems)\n // TODO: Handle me\n }\n }\n\n throw new AbortCommandError();\n }\n}\n"],"names":["XcrunPrerequisite","isXcrunInstalledAsync","execSync","stdio","Prerequisite","instance","assertImplementation","pendingAsync","delayAsync","confirm","confirmAsync","initial","message","chalk","spawnAsync","AbortCommandError"],"mappings":"AAAA;;;;+BAkBaA,mBAAiB;;aAAjBA,iBAAiB;;;8DAlBP,mBAAmB;;;;;;;8DACxB,OAAO;;;;;;;yBACA,eAAe;;;;;;uBAEb,sBAAsB;wBACf,uBAAuB;yBAC5B,wBAAwB;8BACxB,iBAAiB;;;;;;AAE9C,eAAeC,qBAAqB,GAAG;IACrC,IAAI;QACFC,IAAAA,aAAQ,EAAA,SAAA,EAAC,iBAAiB,EAAE;YAAEC,KAAK,EAAE,QAAQ;SAAE,CAAC,CAAC;QACjD,OAAO,IAAI,CAAC;IACd,EAAE,OAAM;QACN,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAEM,MAAMH,iBAAiB,SAASI,aAAY,aAAA;IACjD,OAAOC,QAAQ,GAAG,IAAIL,iBAAiB,EAAE,CAAC;IAE1C;;GAEC,SACKM,oBAAoB,GAAkB;QAC1C,IAAI,MAAML,qBAAqB,EAAE,EAAE;YACjC,4DAA4D;YAC5D,OAAO;QACT,CAAC;QAED,eAAeM,YAAY,GAAkB;YAC3C,IAAI,CAAE,MAAMN,qBAAqB,EAAE,AAAC,EAAE;gBACpC,MAAMO,IAAAA,MAAU,WAAA,EAAC,GAAG,CAAC,CAAC;gBACtB,OAAO,MAAMD,YAAY,EAAE,CAAC;YAC9B,CAAC;QACH,CAAC;QAED,0KAA0K;QAC1K,MAAME,OAAO,GAAG,MAAMC,IAAAA,QAAY,aAAA,EAAC;YACjCC,OAAO,EAAE,IAAI;YACbC,OAAO,EAAEC,IAAAA,MAAK,EAAA,QAAA,CAAA,CAAC,uFAAuF,CAAC;SACxG,CAAC,AAAC;QAEH,IAAIJ,OAAO,EAAE;YACX,IAAI;gBACF,MAAMK,IAAAA,WAAU,EAAA,QAAA,EAAC,MAAM,EAAE;oBACvB,cAAc;oBACd,WAAW;iBAGZ,CAAC,CAAC;gBACH,0HAA0H;gBAC1H,OAAO,MAAMP,YAAY,EAAE,CAAC;YAC9B,EAAE,OAAM;YACN,6FAA6F;YAC7F,kBAAkB;YACpB,CAAC;QACH,CAAC;QAED,MAAM,IAAIQ,OAAiB,kBAAA,EAAE,CAAC;IAChC;CACD"}
|
|
@@ -2,49 +2,88 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", {
|
|
3
3
|
value: true
|
|
4
4
|
});
|
|
5
|
-
exports
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
5
|
+
Object.defineProperty(exports, "getVersionedNativeModulesAsync", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: ()=>getVersionedNativeModulesAsync
|
|
8
|
+
});
|
|
9
|
+
function _jsonFile() {
|
|
10
|
+
const data = /*#__PURE__*/ _interopRequireDefault(require("@expo/json-file"));
|
|
11
|
+
_jsonFile = function() {
|
|
12
|
+
return data;
|
|
13
|
+
};
|
|
14
|
+
return data;
|
|
15
|
+
}
|
|
16
|
+
function _chalk() {
|
|
17
|
+
const data = /*#__PURE__*/ _interopRequireDefault(require("chalk"));
|
|
18
|
+
_chalk = function() {
|
|
19
|
+
return data;
|
|
20
|
+
};
|
|
21
|
+
return data;
|
|
22
|
+
}
|
|
23
|
+
function _resolveFrom() {
|
|
24
|
+
const data = /*#__PURE__*/ _interopRequireDefault(require("resolve-from"));
|
|
25
|
+
_resolveFrom = function() {
|
|
26
|
+
return data;
|
|
27
|
+
};
|
|
28
|
+
return data;
|
|
29
|
+
}
|
|
30
|
+
const _getNativeModuleVersions = require("../../../api/getNativeModuleVersions");
|
|
31
|
+
const _log = /*#__PURE__*/ _interopRequireWildcard(require("../../../log"));
|
|
32
|
+
const _env = require("../../../utils/env");
|
|
33
|
+
const _errors = require("../../../utils/errors");
|
|
13
34
|
function _interopRequireDefault(obj) {
|
|
14
35
|
return obj && obj.__esModule ? obj : {
|
|
15
36
|
default: obj
|
|
16
37
|
};
|
|
17
38
|
}
|
|
18
|
-
function
|
|
19
|
-
if (
|
|
39
|
+
function _getRequireWildcardCache(nodeInterop) {
|
|
40
|
+
if (typeof WeakMap !== "function") return null;
|
|
41
|
+
var cacheBabelInterop = new WeakMap();
|
|
42
|
+
var cacheNodeInterop = new WeakMap();
|
|
43
|
+
return (_getRequireWildcardCache = function(nodeInterop) {
|
|
44
|
+
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
|
45
|
+
})(nodeInterop);
|
|
46
|
+
}
|
|
47
|
+
function _interopRequireWildcard(obj, nodeInterop) {
|
|
48
|
+
if (!nodeInterop && obj && obj.__esModule) {
|
|
20
49
|
return obj;
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
50
|
+
}
|
|
51
|
+
if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
|
|
52
|
+
return {
|
|
53
|
+
default: obj
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
var cache = _getRequireWildcardCache(nodeInterop);
|
|
57
|
+
if (cache && cache.has(obj)) {
|
|
58
|
+
return cache.get(obj);
|
|
59
|
+
}
|
|
60
|
+
var newObj = {};
|
|
61
|
+
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
62
|
+
for(var key in obj){
|
|
63
|
+
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
64
|
+
var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
|
|
65
|
+
if (desc && (desc.get || desc.set)) {
|
|
66
|
+
Object.defineProperty(newObj, key, desc);
|
|
67
|
+
} else {
|
|
68
|
+
newObj[key] = obj[key];
|
|
33
69
|
}
|
|
34
70
|
}
|
|
35
|
-
newObj.default = obj;
|
|
36
|
-
return newObj;
|
|
37
71
|
}
|
|
72
|
+
newObj.default = obj;
|
|
73
|
+
if (cache) {
|
|
74
|
+
cache.set(obj, newObj);
|
|
75
|
+
}
|
|
76
|
+
return newObj;
|
|
38
77
|
}
|
|
39
78
|
const debug = require("debug")("expo:doctor:dependencies:bundledNativeModules");
|
|
40
79
|
async function getVersionedNativeModulesAsync(projectRoot, sdkVersion, options = {}) {
|
|
41
80
|
if (sdkVersion !== "UNVERSIONED" && !_env.env.EXPO_OFFLINE && !options.skipRemoteVersions) {
|
|
42
81
|
try {
|
|
43
82
|
debug("Fetching bundled native modules from the server...");
|
|
44
|
-
return await (0, _getNativeModuleVersions
|
|
83
|
+
return await (0, _getNativeModuleVersions.getNativeModuleVersionsAsync)(sdkVersion);
|
|
45
84
|
} catch (error) {
|
|
46
85
|
if (error instanceof _errors.CommandError && (error.code === "OFFLINE" || error.code === "API")) {
|
|
47
|
-
|
|
86
|
+
_log.warn((0, _chalk().default)`Unable to reach well-known versions endpoint. Using local dependency map {bold expo/bundledNativeModules.json} for version validation`);
|
|
48
87
|
} else {
|
|
49
88
|
throw error;
|
|
50
89
|
}
|
|
@@ -58,12 +97,12 @@ async function getVersionedNativeModulesAsync(projectRoot, sdkVersion, options =
|
|
|
58
97
|
* that's shipped with the version of `expo` that the project has installed.
|
|
59
98
|
*/ async function getBundledNativeModulesAsync(projectRoot) {
|
|
60
99
|
// TODO: Revisit now that this code is in the `expo` package.
|
|
61
|
-
const bundledNativeModulesPath = _resolveFrom.default.silent(projectRoot, "expo/bundledNativeModules.json");
|
|
100
|
+
const bundledNativeModulesPath = _resolveFrom().default.silent(projectRoot, "expo/bundledNativeModules.json");
|
|
62
101
|
if (!bundledNativeModulesPath) {
|
|
63
|
-
|
|
64
|
-
throw new _errors.CommandError(_chalk.default`The dependency map {bold expo/bundledNativeModules.json} cannot be found, please ensure you have the package "{bold expo}" installed in your project.`);
|
|
102
|
+
_log.log();
|
|
103
|
+
throw new _errors.CommandError((0, _chalk().default)`The dependency map {bold expo/bundledNativeModules.json} cannot be found, please ensure you have the package "{bold expo}" installed in your project.`);
|
|
65
104
|
}
|
|
66
|
-
return await _jsonFile.default.readAsync(bundledNativeModulesPath);
|
|
105
|
+
return await _jsonFile().default.readAsync(bundledNativeModulesPath);
|
|
67
106
|
}
|
|
68
107
|
|
|
69
108
|
//# sourceMappingURL=bundledNativeModules.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/start/doctor/dependencies/bundledNativeModules.ts"],"sourcesContent":["import JsonFile from '@expo/json-file';\nimport chalk from 'chalk';\nimport resolveFrom from 'resolve-from';\n\nimport { getNativeModuleVersionsAsync } from '../../../api/getNativeModuleVersions';\nimport * as Log from '../../../log';\nimport { env } from '../../../utils/env';\nimport { CommandError } from '../../../utils/errors';\n\nconst debug = require('debug')(\n 'expo:doctor:dependencies:bundledNativeModules'\n) as typeof console.log;\n\nexport type BundledNativeModules = Record<string, string>;\n\n/**\n * Gets the bundledNativeModules.json for a given SDK version:\n * - Tries to fetch the data from the /sdks/:sdkVersion/native-modules API endpoint.\n * - If the data is missing on the server (it can happen for SDKs that are yet fully released)\n * or there's a downtime, reads the local .json file from the \"expo\" package.\n * - For UNVERSIONED, returns the local .json file contents.\n */\nexport async function getVersionedNativeModulesAsync(\n projectRoot: string,\n sdkVersion: string,\n options: {\n skipRemoteVersions?: boolean;\n } = {}\n): Promise<BundledNativeModules> {\n if (sdkVersion !== 'UNVERSIONED' && !env.EXPO_OFFLINE && !options.skipRemoteVersions) {\n try {\n debug('Fetching bundled native modules from the server...');\n return await getNativeModuleVersionsAsync(sdkVersion);\n } catch (error: any) {\n if (error instanceof CommandError && (error.code === 'OFFLINE' || error.code === 'API')) {\n Log.warn(\n chalk`Unable to reach well-known versions endpoint. Using local dependency map {bold expo/bundledNativeModules.json} for version validation`\n );\n } else {\n throw error;\n }\n }\n }\n\n debug('Fetching bundled native modules from the local JSON file...');\n return await getBundledNativeModulesAsync(projectRoot);\n}\n\n/**\n * Get the legacy static `bundledNativeModules.json` file\n * that's shipped with the version of `expo` that the project has installed.\n */\nasync function getBundledNativeModulesAsync(projectRoot: string): Promise<BundledNativeModules> {\n // TODO: Revisit now that this code is in the `expo` package.\n const bundledNativeModulesPath = resolveFrom.silent(\n projectRoot,\n 'expo/bundledNativeModules.json'\n );\n if (!bundledNativeModulesPath) {\n Log.log();\n throw new CommandError(\n chalk`The dependency map {bold expo/bundledNativeModules.json} cannot be found, please ensure you have the package \"{bold expo}\" installed in your project.`\n );\n }\n return await JsonFile.readAsync<BundledNativeModules>(bundledNativeModulesPath);\n}\n"],"names":["getVersionedNativeModulesAsync","
|
|
1
|
+
{"version":3,"sources":["../../../../../src/start/doctor/dependencies/bundledNativeModules.ts"],"sourcesContent":["import JsonFile from '@expo/json-file';\nimport chalk from 'chalk';\nimport resolveFrom from 'resolve-from';\n\nimport { getNativeModuleVersionsAsync } from '../../../api/getNativeModuleVersions';\nimport * as Log from '../../../log';\nimport { env } from '../../../utils/env';\nimport { CommandError } from '../../../utils/errors';\n\nconst debug = require('debug')(\n 'expo:doctor:dependencies:bundledNativeModules'\n) as typeof console.log;\n\nexport type BundledNativeModules = Record<string, string>;\n\n/**\n * Gets the bundledNativeModules.json for a given SDK version:\n * - Tries to fetch the data from the /sdks/:sdkVersion/native-modules API endpoint.\n * - If the data is missing on the server (it can happen for SDKs that are yet fully released)\n * or there's a downtime, reads the local .json file from the \"expo\" package.\n * - For UNVERSIONED, returns the local .json file contents.\n */\nexport async function getVersionedNativeModulesAsync(\n projectRoot: string,\n sdkVersion: string,\n options: {\n skipRemoteVersions?: boolean;\n } = {}\n): Promise<BundledNativeModules> {\n if (sdkVersion !== 'UNVERSIONED' && !env.EXPO_OFFLINE && !options.skipRemoteVersions) {\n try {\n debug('Fetching bundled native modules from the server...');\n return await getNativeModuleVersionsAsync(sdkVersion);\n } catch (error: any) {\n if (error instanceof CommandError && (error.code === 'OFFLINE' || error.code === 'API')) {\n Log.warn(\n chalk`Unable to reach well-known versions endpoint. Using local dependency map {bold expo/bundledNativeModules.json} for version validation`\n );\n } else {\n throw error;\n }\n }\n }\n\n debug('Fetching bundled native modules from the local JSON file...');\n return await getBundledNativeModulesAsync(projectRoot);\n}\n\n/**\n * Get the legacy static `bundledNativeModules.json` file\n * that's shipped with the version of `expo` that the project has installed.\n */\nasync function getBundledNativeModulesAsync(projectRoot: string): Promise<BundledNativeModules> {\n // TODO: Revisit now that this code is in the `expo` package.\n const bundledNativeModulesPath = resolveFrom.silent(\n projectRoot,\n 'expo/bundledNativeModules.json'\n );\n if (!bundledNativeModulesPath) {\n Log.log();\n throw new CommandError(\n chalk`The dependency map {bold expo/bundledNativeModules.json} cannot be found, please ensure you have the package \"{bold expo}\" installed in your project.`\n );\n }\n return await JsonFile.readAsync<BundledNativeModules>(bundledNativeModulesPath);\n}\n"],"names":["getVersionedNativeModulesAsync","debug","require","projectRoot","sdkVersion","options","env","EXPO_OFFLINE","skipRemoteVersions","getNativeModuleVersionsAsync","error","CommandError","code","Log","warn","chalk","getBundledNativeModulesAsync","bundledNativeModulesPath","resolveFrom","silent","log","JsonFile","readAsync"],"mappings":"AAAA;;;;+BAsBsBA,gCAA8B;;aAA9BA,8BAA8B;;;8DAtB/B,iBAAiB;;;;;;;8DACpB,OAAO;;;;;;;8DACD,cAAc;;;;;;yCAEO,sCAAsC;2DAC9D,cAAc;qBACf,oBAAoB;wBACX,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEpD,MAAMC,KAAK,GAAGC,OAAO,CAAC,OAAO,CAAC,CAC5B,+CAA+C,CAChD,AAAsB,AAAC;AAWjB,eAAeF,8BAA8B,CAClDG,WAAmB,EACnBC,UAAkB,EAClBC,OAEC,GAAG,EAAE,EACyB;IAC/B,IAAID,UAAU,KAAK,aAAa,IAAI,CAACE,IAAG,IAAA,CAACC,YAAY,IAAI,CAACF,OAAO,CAACG,kBAAkB,EAAE;QACpF,IAAI;YACFP,KAAK,CAAC,oDAAoD,CAAC,CAAC;YAC5D,OAAO,MAAMQ,IAAAA,wBAA4B,6BAAA,EAACL,UAAU,CAAC,CAAC;QACxD,EAAE,OAAOM,KAAK,EAAO;YACnB,IAAIA,KAAK,YAAYC,OAAY,aAAA,IAAI,CAACD,KAAK,CAACE,IAAI,KAAK,SAAS,IAAIF,KAAK,CAACE,IAAI,KAAK,KAAK,CAAC,EAAE;gBACvFC,IAAG,CAACC,IAAI,CACNC,IAAAA,MAAK,EAAA,QAAA,CAAA,CAAC,qIAAqI,CAAC,CAC7I,CAAC;YACJ,OAAO;gBACL,MAAML,KAAK,CAAC;YACd,CAAC;QACH,CAAC;IACH,CAAC;IAEDT,KAAK,CAAC,6DAA6D,CAAC,CAAC;IACrE,OAAO,MAAMe,4BAA4B,CAACb,WAAW,CAAC,CAAC;AACzD,CAAC;AAED;;;CAGC,GACD,eAAea,4BAA4B,CAACb,WAAmB,EAAiC;IAC9F,6DAA6D;IAC7D,MAAMc,wBAAwB,GAAGC,YAAW,EAAA,QAAA,CAACC,MAAM,CACjDhB,WAAW,EACX,gCAAgC,CACjC,AAAC;IACF,IAAI,CAACc,wBAAwB,EAAE;QAC7BJ,IAAG,CAACO,GAAG,EAAE,CAAC;QACV,MAAM,IAAIT,OAAY,aAAA,CACpBI,IAAAA,MAAK,EAAA,QAAA,CAAA,CAAC,qJAAqJ,CAAC,CAC7J,CAAC;IACJ,CAAC;IACD,OAAO,MAAMM,SAAQ,EAAA,QAAA,CAACC,SAAS,CAAuBL,wBAAwB,CAAC,CAAC;AAClF,CAAC"}
|