@expo/cli 1.0.0-canary-20250320-7a205d3 → 1.0.0-canary-20250402-161f57b
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/bin/cli +93 -91
- package/build/bin/cli.map +1 -1
- package/build/metro-require/require.js +53 -52
- package/build/src/api/endpoint.js +6 -2
- package/build/src/api/endpoint.js.map +1 -1
- package/build/src/api/getExpoGoIntermediateCertificate.js +5 -3
- package/build/src/api/getExpoGoIntermediateCertificate.js.map +1 -1
- package/build/src/api/getExpoSchema.js +16 -12
- package/build/src/api/getExpoSchema.js.map +1 -1
- package/build/src/api/getNativeModuleVersions.js +6 -4
- package/build/src/api/getNativeModuleVersions.js.map +1 -1
- package/build/src/api/getProjectDevelopmentCertificate.js +5 -3
- package/build/src/api/getProjectDevelopmentCertificate.js.map +1 -1
- package/build/src/api/getVersions.js +7 -5
- package/build/src/api/getVersions.js.map +1 -1
- package/build/src/api/graphql/client.js +32 -26
- package/build/src/api/graphql/client.js.map +1 -1
- package/build/src/api/graphql/queries/AppQuery.js +6 -4
- package/build/src/api/graphql/queries/AppQuery.js.map +1 -1
- package/build/src/api/graphql/queries/UserQuery.js +5 -3
- package/build/src/api/graphql/queries/UserQuery.js.map +1 -1
- package/build/src/api/graphql/types/App.js +3 -1
- package/build/src/api/graphql/types/App.js.map +1 -1
- package/build/src/api/rest/cache/FileSystemResponseCache.js +36 -32
- package/build/src/api/rest/cache/FileSystemResponseCache.js.map +1 -1
- package/build/src/api/rest/cache/ResponseCache.js +20 -12
- package/build/src/api/rest/cache/ResponseCache.js.map +1 -1
- package/build/src/api/rest/cache/wrapFetchWithCache.js +13 -11
- package/build/src/api/rest/cache/wrapFetchWithCache.js.map +1 -1
- package/build/src/api/rest/client.js +55 -37
- package/build/src/api/rest/client.js.map +1 -1
- package/build/src/api/rest/client.types.js.map +1 -1
- package/build/src/api/rest/wrapFetchWithBaseUrl.js +5 -3
- package/build/src/api/rest/wrapFetchWithBaseUrl.js.map +1 -1
- package/build/src/api/rest/wrapFetchWithOffline.js +5 -3
- package/build/src/api/rest/wrapFetchWithOffline.js.map +1 -1
- package/build/src/api/rest/wrapFetchWithProgress.js +11 -7
- package/build/src/api/rest/wrapFetchWithProgress.js.map +1 -1
- package/build/src/api/rest/wrapFetchWithProxy.js +5 -3
- package/build/src/api/rest/wrapFetchWithProxy.js.map +1 -1
- package/build/src/api/rest/wrapFetchWithUserAgent.js +8 -6
- package/build/src/api/rest/wrapFetchWithUserAgent.js.map +1 -1
- package/build/src/api/settings.js +7 -5
- package/build/src/api/settings.js.map +1 -1
- package/build/src/api/updateDevelopmentSession.js +23 -17
- package/build/src/api/updateDevelopmentSession.js.map +1 -1
- package/build/src/api/user/UserSettings.js +53 -31
- package/build/src/api/user/UserSettings.js.map +1 -1
- package/build/src/api/user/actions.js +27 -21
- package/build/src/api/user/actions.js.map +1 -1
- package/build/src/api/user/expoSsoLauncher.js +30 -26
- package/build/src/api/user/expoSsoLauncher.js.map +1 -1
- package/build/src/api/user/otp.js +35 -29
- package/build/src/api/user/otp.js.map +1 -1
- package/build/src/api/user/user.js +44 -30
- package/build/src/api/user/user.js.map +1 -1
- package/build/src/config/configAsync.js +29 -23
- package/build/src/config/configAsync.js.map +1 -1
- package/build/src/config/index.js +25 -21
- package/build/src/config/index.js.map +1 -1
- package/build/src/customize/customizeAsync.js +8 -6
- package/build/src/customize/customizeAsync.js.map +1 -1
- package/build/src/customize/generate.js +20 -16
- package/build/src/customize/generate.js.map +1 -1
- package/build/src/customize/index.js +14 -12
- package/build/src/customize/index.js.map +1 -1
- package/build/src/customize/resolveOptions.js +4 -2
- package/build/src/customize/resolveOptions.js.map +1 -1
- package/build/src/customize/templates.js +58 -54
- package/build/src/customize/templates.js.map +1 -1
- package/build/src/customize/typescript.js +11 -7
- package/build/src/customize/typescript.js.map +1 -1
- package/build/src/export/createMetadataJson.js +11 -9
- package/build/src/export/createMetadataJson.js.map +1 -1
- package/build/src/export/embed/exportEager.js +8 -6
- package/build/src/export/embed/exportEager.js.map +1 -1
- package/build/src/export/embed/exportEmbedAsync.js +72 -62
- package/build/src/export/embed/exportEmbedAsync.js.map +1 -1
- package/build/src/export/embed/exportServer.js +57 -55
- package/build/src/export/embed/exportServer.js.map +1 -1
- package/build/src/export/embed/index.js +44 -40
- package/build/src/export/embed/index.js.map +1 -1
- package/build/src/export/embed/resolveOptions.js +44 -36
- package/build/src/export/embed/resolveOptions.js.map +1 -1
- package/build/src/export/embed/xcodeCompilerLogger.js +39 -27
- package/build/src/export/embed/xcodeCompilerLogger.js.map +1 -1
- package/build/src/export/exportApp.js +68 -64
- package/build/src/export/exportApp.js.map +1 -1
- package/build/src/export/exportAssets.js +34 -26
- package/build/src/export/exportAssets.js.map +1 -1
- package/build/src/export/exportAsync.js +13 -9
- package/build/src/export/exportAsync.js.map +1 -1
- package/build/src/export/exportDomComponents.js +53 -45
- package/build/src/export/exportDomComponents.js.map +1 -1
- package/build/src/export/exportHermes.js +75 -53
- package/build/src/export/exportHermes.js.map +1 -1
- package/build/src/export/exportStaticAsync.js +73 -62
- package/build/src/export/exportStaticAsync.js.map +1 -1
- package/build/src/export/favicon.js +33 -27
- package/build/src/export/favicon.js.map +1 -1
- package/build/src/export/getPublicExpoManifest.js +7 -5
- package/build/src/export/getPublicExpoManifest.js.map +1 -1
- package/build/src/export/getResolvedLocales.js +11 -9
- package/build/src/export/getResolvedLocales.js.map +1 -1
- package/build/src/export/html.js +10 -6
- package/build/src/export/html.js.map +1 -1
- package/build/src/export/index.js +32 -28
- package/build/src/export/index.js.map +1 -1
- package/build/src/export/metroAssetLocalPath.js +36 -30
- package/build/src/export/metroAssetLocalPath.js.map +1 -1
- package/build/src/export/persistMetroAssets.js +64 -34
- package/build/src/export/persistMetroAssets.js.map +1 -1
- package/build/src/export/publicFolder.js +10 -6
- package/build/src/export/publicFolder.js.map +1 -1
- package/build/src/export/resolveOptions.js +28 -24
- package/build/src/export/resolveOptions.js.map +1 -1
- package/build/src/export/saveAssets.js +50 -46
- package/build/src/export/saveAssets.js.map +1 -1
- package/build/src/export/web/exportWebAsync.js +13 -11
- package/build/src/export/web/exportWebAsync.js.map +1 -1
- package/build/src/export/web/index.js +19 -15
- package/build/src/export/web/index.js.map +1 -1
- package/build/src/export/web/resolveOptions.js +5 -3
- package/build/src/export/web/resolveOptions.js.map +1 -1
- package/build/src/export/writeContents.js +4 -2
- package/build/src/export/writeContents.js.map +1 -1
- package/build/src/graphql/generated.js +705 -479
- package/build/src/graphql/generated.js.map +1 -1
- package/build/src/install/applyPlugins.js +11 -7
- package/build/src/install/applyPlugins.js.map +1 -1
- package/build/src/install/checkPackages.js +26 -22
- package/build/src/install/checkPackages.js.map +1 -1
- package/build/src/install/fixPackages.js +16 -12
- package/build/src/install/fixPackages.js.map +1 -1
- package/build/src/install/index.js +18 -16
- package/build/src/install/index.js.map +1 -1
- package/build/src/install/installAsync.js +32 -26
- package/build/src/install/installAsync.js.map +1 -1
- package/build/src/install/installExpoPackage.js +22 -18
- package/build/src/install/installExpoPackage.js.map +1 -1
- package/build/src/install/resolveOptions.js +21 -19
- package/build/src/install/resolveOptions.js.map +1 -1
- package/build/src/install/utils/autoAddConfigPlugins.js +18 -14
- package/build/src/install/utils/autoAddConfigPlugins.js.map +1 -1
- package/build/src/install/utils/checkPackagesCompatibility.js +14 -12
- package/build/src/install/utils/checkPackagesCompatibility.js.map +1 -1
- package/build/src/lint/ESlintPrerequisite.js +50 -44
- package/build/src/lint/ESlintPrerequisite.js.map +1 -1
- package/build/src/lint/index.js +12 -8
- package/build/src/lint/index.js.map +1 -1
- package/build/src/lint/lintAsync.js +10 -8
- package/build/src/lint/lintAsync.js.map +1 -1
- package/build/src/log.js +36 -16
- package/build/src/log.js.map +1 -1
- package/build/src/login/index.js +24 -20
- package/build/src/login/index.js.map +1 -1
- package/build/src/logout/index.js +11 -7
- package/build/src/logout/index.js.map +1 -1
- package/build/src/prebuild/clearNativeFolder.js +38 -26
- package/build/src/prebuild/clearNativeFolder.js.map +1 -1
- package/build/src/prebuild/configureProjectAsync.js +18 -14
- package/build/src/prebuild/configureProjectAsync.js.map +1 -1
- package/build/src/prebuild/copyTemplateFiles.js +17 -13
- package/build/src/prebuild/copyTemplateFiles.js.map +1 -1
- package/build/src/prebuild/ensureConfigAsync.js +6 -4
- package/build/src/prebuild/ensureConfigAsync.js.map +1 -1
- package/build/src/prebuild/index.js +36 -32
- package/build/src/prebuild/index.js.map +1 -1
- package/build/src/prebuild/prebuildAsync.js +29 -25
- package/build/src/prebuild/prebuildAsync.js.map +1 -1
- package/build/src/prebuild/renameTemplateAppName.js +43 -37
- package/build/src/prebuild/renameTemplateAppName.js.map +1 -1
- package/build/src/prebuild/resolveOptions.js +70 -53
- package/build/src/prebuild/resolveOptions.js.map +1 -1
- package/build/src/prebuild/resolveTemplate.js +36 -32
- package/build/src/prebuild/resolveTemplate.js.map +1 -1
- package/build/src/prebuild/updateFromTemplate.js +19 -13
- package/build/src/prebuild/updateFromTemplate.js.map +1 -1
- package/build/src/prebuild/updatePackageJson.js +53 -39
- package/build/src/prebuild/updatePackageJson.js.map +1 -1
- package/build/src/prebuild/validateTemplatePlatforms.js +12 -8
- package/build/src/prebuild/validateTemplatePlatforms.js.map +1 -1
- package/build/src/register/index.js +11 -7
- package/build/src/register/index.js.map +1 -1
- package/build/src/register/registerAsync.js +5 -3
- package/build/src/register/registerAsync.js.map +1 -1
- package/build/src/run/android/index.js +36 -32
- package/build/src/run/android/index.js.map +1 -1
- package/build/src/run/android/resolveDevice.js +10 -8
- package/build/src/run/android/resolveDevice.js.map +1 -1
- package/build/src/run/android/resolveGradlePropsAsync.js +18 -16
- package/build/src/run/android/resolveGradlePropsAsync.js.map +1 -1
- package/build/src/run/android/resolveInstallApkName.js +17 -15
- package/build/src/run/android/resolveInstallApkName.js.map +1 -1
- package/build/src/run/android/resolveLaunchProps.js +12 -10
- package/build/src/run/android/resolveLaunchProps.js.map +1 -1
- package/build/src/run/android/resolveOptions.js +4 -2
- package/build/src/run/android/resolveOptions.js.map +1 -1
- package/build/src/run/android/runAndroidAsync.js +23 -21
- package/build/src/run/android/runAndroidAsync.js.map +1 -1
- package/build/src/run/ensureNativeProject.js +7 -5
- package/build/src/run/ensureNativeProject.js.map +1 -1
- package/build/src/run/hints.js +13 -7
- package/build/src/run/hints.js.map +1 -1
- package/build/src/run/index.js +27 -23
- package/build/src/run/index.js.map +1 -1
- package/build/src/run/ios/XcodeBuild.js +80 -60
- package/build/src/run/ios/XcodeBuild.js.map +1 -1
- package/build/src/run/ios/XcodeBuild.types.js.map +1 -1
- package/build/src/run/ios/appleDevice/AppleDevice.js +69 -63
- package/build/src/run/ios/appleDevice/AppleDevice.js.map +1 -1
- package/build/src/run/ios/appleDevice/ClientManager.js +29 -26
- package/build/src/run/ios/appleDevice/ClientManager.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/AFCClient.js +28 -25
- package/build/src/run/ios/appleDevice/client/AFCClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/DebugserverClient.js +29 -26
- package/build/src/run/ios/appleDevice/client/DebugserverClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/InstallationProxyClient.js +22 -21
- package/build/src/run/ios/appleDevice/client/InstallationProxyClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/LockdowndClient.js +32 -29
- package/build/src/run/ios/appleDevice/client/LockdowndClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/MobileImageMounterClient.js +28 -24
- package/build/src/run/ios/appleDevice/client/MobileImageMounterClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/ServiceClient.js +7 -4
- package/build/src/run/ios/appleDevice/client/ServiceClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/UsbmuxdClient.js +28 -27
- package/build/src/run/ios/appleDevice/client/UsbmuxdClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/installOnDeviceAsync.js +23 -17
- package/build/src/run/ios/appleDevice/installOnDeviceAsync.js.map +1 -1
- package/build/src/run/ios/appleDevice/protocol/AFCProtocol.js +146 -132
- package/build/src/run/ios/appleDevice/protocol/AFCProtocol.js.map +1 -1
- package/build/src/run/ios/appleDevice/protocol/AbstractProtocol.js +29 -21
- package/build/src/run/ios/appleDevice/protocol/AbstractProtocol.js.map +1 -1
- package/build/src/run/ios/appleDevice/protocol/GDBProtocol.js +29 -21
- package/build/src/run/ios/appleDevice/protocol/GDBProtocol.js.map +1 -1
- package/build/src/run/ios/appleDevice/protocol/LockdownProtocol.js +34 -22
- package/build/src/run/ios/appleDevice/protocol/LockdownProtocol.js.map +1 -1
- package/build/src/run/ios/appleDevice/protocol/UsbmuxProtocol.js +27 -17
- package/build/src/run/ios/appleDevice/protocol/UsbmuxProtocol.js.map +1 -1
- package/build/src/run/ios/codeSigning/Security.js +53 -39
- package/build/src/run/ios/codeSigning/Security.js.map +1 -1
- package/build/src/run/ios/codeSigning/configureCodeSigning.js +13 -9
- package/build/src/run/ios/codeSigning/configureCodeSigning.js.map +1 -1
- package/build/src/run/ios/codeSigning/resolveCertificateSigningIdentity.js +27 -19
- package/build/src/run/ios/codeSigning/resolveCertificateSigningIdentity.js.map +1 -1
- package/build/src/run/ios/codeSigning/settings.js +9 -5
- package/build/src/run/ios/codeSigning/settings.js.map +1 -1
- package/build/src/run/ios/codeSigning/simulatorCodeSigning.js +14 -12
- package/build/src/run/ios/codeSigning/simulatorCodeSigning.js.map +1 -1
- package/build/src/run/ios/codeSigning/xcodeCodeSigning.js +27 -21
- package/build/src/run/ios/codeSigning/xcodeCodeSigning.js.map +1 -1
- package/build/src/run/ios/index.js +40 -36
- package/build/src/run/ios/index.js.map +1 -1
- package/build/src/run/ios/launchApp.js +23 -17
- package/build/src/run/ios/launchApp.js.map +1 -1
- package/build/src/run/ios/options/appleDestinations.js +38 -36
- package/build/src/run/ios/options/appleDestinations.js.map +1 -1
- package/build/src/run/ios/options/promptDevice.js +20 -16
- package/build/src/run/ios/options/promptDevice.js.map +1 -1
- package/build/src/run/ios/options/resolveDevice.js +30 -24
- package/build/src/run/ios/options/resolveDevice.js.map +1 -1
- package/build/src/run/ios/options/resolveNativeScheme.js +31 -23
- package/build/src/run/ios/options/resolveNativeScheme.js.map +1 -1
- package/build/src/run/ios/options/resolveOptions.js +7 -5
- package/build/src/run/ios/options/resolveOptions.js.map +1 -1
- package/build/src/run/ios/options/resolveXcodeProject.js +7 -5
- package/build/src/run/ios/options/resolveXcodeProject.js.map +1 -1
- package/build/src/run/ios/runIosAsync.js +48 -44
- package/build/src/run/ios/runIosAsync.js.map +1 -1
- package/build/src/run/ios/validateExternalBinary.js +24 -22
- package/build/src/run/ios/validateExternalBinary.js.map +1 -1
- package/build/src/run/resolveBundlerProps.js +4 -2
- package/build/src/run/resolveBundlerProps.js.map +1 -1
- package/build/src/run/startBundler.js +16 -12
- package/build/src/run/startBundler.js.map +1 -1
- package/build/src/serve/index.js +20 -16
- package/build/src/serve/index.js.map +1 -1
- package/build/src/serve/serveAsync.js +36 -32
- package/build/src/serve/serveAsync.js.map +1 -1
- package/build/src/start/detectDevClient.js +13 -9
- package/build/src/start/detectDevClient.js.map +1 -1
- package/build/src/start/doctor/Prerequisite.js +12 -7
- package/build/src/start/doctor/Prerequisite.js.map +1 -1
- package/build/src/start/doctor/SecurityBinPrerequisite.js +13 -11
- package/build/src/start/doctor/SecurityBinPrerequisite.js.map +1 -1
- package/build/src/start/doctor/apple/SimulatorAppPrerequisite.js +23 -19
- package/build/src/start/doctor/apple/SimulatorAppPrerequisite.js.map +1 -1
- package/build/src/start/doctor/apple/XcodeDeveloperDiskImagePrerequisite.js +23 -19
- package/build/src/start/doctor/apple/XcodeDeveloperDiskImagePrerequisite.js.map +1 -1
- package/build/src/start/doctor/apple/XcodePrerequisite.js +51 -45
- package/build/src/start/doctor/apple/XcodePrerequisite.js.map +1 -1
- package/build/src/start/doctor/apple/XcrunPrerequisite.js +18 -16
- package/build/src/start/doctor/apple/XcrunPrerequisite.js.map +1 -1
- package/build/src/start/doctor/dependencies/bundledNativeModules.js +23 -19
- package/build/src/start/doctor/dependencies/bundledNativeModules.js.map +1 -1
- package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js +31 -25
- package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js.map +1 -1
- package/build/src/start/doctor/dependencies/getMissingPackages.js +25 -17
- package/build/src/start/doctor/dependencies/getMissingPackages.js.map +1 -1
- package/build/src/start/doctor/dependencies/getVersionedPackages.js +40 -32
- package/build/src/start/doctor/dependencies/getVersionedPackages.js.map +1 -1
- package/build/src/start/doctor/dependencies/resolvePackages.js +32 -26
- package/build/src/start/doctor/dependencies/resolvePackages.js.map +1 -1
- package/build/src/start/doctor/dependencies/validateDependenciesVersions.js +41 -31
- package/build/src/start/doctor/dependencies/validateDependenciesVersions.js.map +1 -1
- package/build/src/start/doctor/ngrok/ExternalModule.js +34 -29
- package/build/src/start/doctor/ngrok/ExternalModule.js.map +1 -1
- package/build/src/start/doctor/ngrok/NgrokResolver.js +12 -8
- package/build/src/start/doctor/ngrok/NgrokResolver.js.map +1 -1
- package/build/src/start/doctor/typescript/TypeScriptProjectPrerequisite.js +32 -28
- package/build/src/start/doctor/typescript/TypeScriptProjectPrerequisite.js.map +1 -1
- package/build/src/start/doctor/typescript/updateTSConfig.js +23 -17
- package/build/src/start/doctor/typescript/updateTSConfig.js.map +1 -1
- package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js +33 -27
- package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js.map +1 -1
- package/build/src/start/index.js +46 -42
- package/build/src/start/index.js.map +1 -1
- package/build/src/start/interface/KeyPressHandler.js +18 -14
- package/build/src/start/interface/KeyPressHandler.js.map +1 -1
- package/build/src/start/interface/commandsTable.js +94 -80
- package/build/src/start/interface/commandsTable.js.map +1 -1
- package/build/src/start/interface/interactiveActions.js +44 -40
- package/build/src/start/interface/interactiveActions.js.map +1 -1
- package/build/src/start/interface/startInterface.js +65 -61
- package/build/src/start/interface/startInterface.js.map +1 -1
- package/build/src/start/platforms/AppIdResolver.js +6 -4
- package/build/src/start/platforms/AppIdResolver.js.map +1 -1
- package/build/src/start/platforms/DeviceManager.js +10 -6
- package/build/src/start/platforms/DeviceManager.js.map +1 -1
- package/build/src/start/platforms/ExpoGoInstaller.js +25 -20
- package/build/src/start/platforms/ExpoGoInstaller.js.map +1 -1
- package/build/src/start/platforms/PlatformManager.js +17 -15
- package/build/src/start/platforms/PlatformManager.js.map +1 -1
- package/build/src/start/platforms/android/ADBServer.js +39 -35
- package/build/src/start/platforms/android/ADBServer.js.map +1 -1
- package/build/src/start/platforms/android/AndroidAppIdResolver.js +18 -16
- package/build/src/start/platforms/android/AndroidAppIdResolver.js.map +1 -1
- package/build/src/start/platforms/android/AndroidDeviceManager.js +24 -20
- package/build/src/start/platforms/android/AndroidDeviceManager.js.map +1 -1
- package/build/src/start/platforms/android/AndroidPlatformManager.js +17 -17
- package/build/src/start/platforms/android/AndroidPlatformManager.js.map +1 -1
- package/build/src/start/platforms/android/AndroidSdk.js +11 -9
- package/build/src/start/platforms/android/AndroidSdk.js.map +1 -1
- package/build/src/start/platforms/android/activateWindow.js +26 -22
- package/build/src/start/platforms/android/activateWindow.js.map +1 -1
- package/build/src/start/platforms/android/adb.js +121 -83
- package/build/src/start/platforms/android/adb.js.map +1 -1
- package/build/src/start/platforms/android/adbReverse.js +20 -12
- package/build/src/start/platforms/android/adbReverse.js.map +1 -1
- package/build/src/start/platforms/android/emulator.js +36 -26
- package/build/src/start/platforms/android/emulator.js.map +1 -1
- package/build/src/start/platforms/android/getDevices.js +7 -5
- package/build/src/start/platforms/android/getDevices.js.map +1 -1
- package/build/src/start/platforms/android/gradle.js +36 -28
- package/build/src/start/platforms/android/gradle.js.map +1 -1
- package/build/src/start/platforms/android/promptAndroidDevice.js +19 -15
- package/build/src/start/platforms/android/promptAndroidDevice.js.map +1 -1
- package/build/src/start/platforms/ios/AppleAppIdResolver.js +21 -19
- package/build/src/start/platforms/ios/AppleAppIdResolver.js.map +1 -1
- package/build/src/start/platforms/ios/AppleDeviceManager.js +37 -31
- package/build/src/start/platforms/ios/AppleDeviceManager.js.map +1 -1
- package/build/src/start/platforms/ios/ApplePlatformManager.js +12 -12
- package/build/src/start/platforms/ios/ApplePlatformManager.js.map +1 -1
- package/build/src/start/platforms/ios/assertSystemRequirements.js +9 -7
- package/build/src/start/platforms/ios/assertSystemRequirements.js.map +1 -1
- package/build/src/start/platforms/ios/devicectl.js +88 -74
- package/build/src/start/platforms/ios/devicectl.js.map +1 -1
- package/build/src/start/platforms/ios/ensureSimulatorAppRunning.js +22 -18
- package/build/src/start/platforms/ios/ensureSimulatorAppRunning.js.map +1 -1
- package/build/src/start/platforms/ios/getBestSimulator.js +29 -19
- package/build/src/start/platforms/ios/getBestSimulator.js.map +1 -1
- package/build/src/start/platforms/ios/promptAppleDevice.js +14 -10
- package/build/src/start/platforms/ios/promptAppleDevice.js.map +1 -1
- package/build/src/start/platforms/ios/simctl.js +102 -74
- package/build/src/start/platforms/ios/simctl.js.map +1 -1
- package/build/src/start/platforms/ios/simctlLogging.js +57 -52
- package/build/src/start/platforms/ios/simctlLogging.js.map +1 -1
- package/build/src/start/platforms/ios/xcrun.js +22 -18
- package/build/src/start/platforms/ios/xcrun.js.map +1 -1
- package/build/src/start/project/devices.js +19 -9
- package/build/src/start/project/devices.js.map +1 -1
- package/build/src/start/project/dotExpo.js +15 -11
- package/build/src/start/project/dotExpo.js.map +1 -1
- package/build/src/start/project/settings.js +4 -2
- package/build/src/start/project/settings.js.map +1 -1
- package/build/src/start/resolveOptions.js +48 -40
- package/build/src/start/resolveOptions.js.map +1 -1
- package/build/src/start/server/AsyncNgrok.js +55 -51
- package/build/src/start/server/AsyncNgrok.js.map +1 -1
- package/build/src/start/server/AsyncWsTunnel.js +37 -33
- package/build/src/start/server/AsyncWsTunnel.js.map +1 -1
- package/build/src/start/server/BundlerDevServer.js +81 -79
- package/build/src/start/server/BundlerDevServer.js.map +1 -1
- package/build/src/start/server/DevServerManager.js +42 -38
- package/build/src/start/server/DevServerManager.js.map +1 -1
- package/build/src/start/server/DevToolsPluginManager.js +18 -14
- package/build/src/start/server/DevToolsPluginManager.js.map +1 -1
- package/build/src/start/server/DevelopmentSession.js +18 -14
- package/build/src/start/server/DevelopmentSession.js.map +1 -1
- package/build/src/start/server/ReactDevToolsProxy.js +16 -10
- package/build/src/start/server/ReactDevToolsProxy.js.map +1 -1
- package/build/src/start/server/UrlCreator.js +36 -33
- package/build/src/start/server/UrlCreator.js.map +1 -1
- package/build/src/start/server/getStaticRenderFunctions.js +30 -22
- package/build/src/start/server/getStaticRenderFunctions.js.map +1 -1
- package/build/src/start/server/metro/DevToolsPluginWebsocketEndpoint.js +9 -5
- package/build/src/start/server/metro/DevToolsPluginWebsocketEndpoint.js.map +1 -1
- package/build/src/start/server/metro/MetroBundlerDevServer.js +293 -280
- package/build/src/start/server/metro/MetroBundlerDevServer.js.map +1 -1
- package/build/src/start/server/metro/MetroTerminalReporter.js +63 -56
- package/build/src/start/server/metro/MetroTerminalReporter.js.map +1 -1
- package/build/src/start/server/metro/TerminalReporter.js +39 -33
- package/build/src/start/server/metro/TerminalReporter.js.map +1 -1
- package/build/src/start/server/metro/TerminalReporter.types.js.map +1 -1
- package/build/src/start/server/metro/createExpoFallbackResolver.js +13 -11
- package/build/src/start/server/metro/createExpoFallbackResolver.js.map +1 -1
- package/build/src/start/server/metro/createExpoMetroResolver.js +47 -41
- package/build/src/start/server/metro/createExpoMetroResolver.js.map +1 -1
- package/build/src/start/server/metro/createJResolver.js +31 -27
- package/build/src/start/server/metro/createJResolver.js.map +1 -1
- package/build/src/start/server/metro/createServerComponentsMiddleware.js +110 -98
- package/build/src/start/server/metro/createServerComponentsMiddleware.js.map +1 -1
- package/build/src/start/server/metro/createServerRouteMiddleware.js +34 -30
- package/build/src/start/server/metro/createServerRouteMiddleware.js.map +1 -1
- package/build/src/start/server/metro/debugging/AtlasPrerequisite.js +13 -11
- package/build/src/start/server/metro/debugging/AtlasPrerequisite.js.map +1 -1
- package/build/src/start/server/metro/debugging/MessageHandler.js +3 -1
- package/build/src/start/server/metro/debugging/MessageHandler.js.map +1 -1
- package/build/src/start/server/metro/debugging/attachAtlas.js +26 -22
- package/build/src/start/server/metro/debugging/attachAtlas.js.map +1 -1
- package/build/src/start/server/metro/debugging/createDebugMiddleware.js +19 -17
- package/build/src/start/server/metro/debugging/createDebugMiddleware.js.map +1 -1
- package/build/src/start/server/metro/debugging/createHandlersFactory.js +25 -31
- package/build/src/start/server/metro/debugging/createHandlersFactory.js.map +1 -1
- package/build/src/start/server/metro/debugging/getDebuggerType.js +6 -4
- package/build/src/start/server/metro/debugging/getDebuggerType.js.map +1 -1
- package/build/src/start/server/metro/debugging/messageHandlers/NetworkResponse.js +14 -8
- package/build/src/start/server/metro/debugging/messageHandlers/NetworkResponse.js.map +1 -1
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerGetPossibleBreakpoints.js +7 -5
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerGetPossibleBreakpoints.js.map +1 -1
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerSetBreakpointByUrl.js +8 -6
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerSetBreakpointByUrl.js.map +1 -1
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeCallFunctionOn.js +7 -5
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeCallFunctionOn.js.map +1 -1
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeEvaluate.js +14 -12
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeEvaluate.js.map +1 -1
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeGetProperties.js +14 -10
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeGetProperties.js.map +1 -1
- package/build/src/start/server/metro/debugging/pageIsSupported.js +6 -4
- package/build/src/start/server/metro/debugging/pageIsSupported.js.map +1 -1
- package/build/src/start/server/metro/debugging/types.js.map +1 -1
- package/build/src/start/server/metro/dev-server/createEventSocket.js +18 -16
- package/build/src/start/server/metro/dev-server/createEventSocket.js.map +1 -1
- package/build/src/start/server/metro/dev-server/createMessageSocket.js +23 -21
- package/build/src/start/server/metro/dev-server/createMessageSocket.js.map +1 -1
- package/build/src/start/server/metro/dev-server/createMetroMiddleware.js +23 -21
- package/build/src/start/server/metro/dev-server/createMetroMiddleware.js.map +1 -1
- package/build/src/start/server/metro/dev-server/utils/createSocketBroadcaster.js +4 -2
- package/build/src/start/server/metro/dev-server/utils/createSocketBroadcaster.js.map +1 -1
- package/build/src/start/server/metro/dev-server/utils/createSocketMap.js +4 -2
- package/build/src/start/server/metro/dev-server/utils/createSocketMap.js.map +1 -1
- package/build/src/start/server/metro/dev-server/utils/socketMessages.js +8 -4
- package/build/src/start/server/metro/dev-server/utils/socketMessages.js.map +1 -1
- package/build/src/start/server/metro/externals.js +33 -25
- package/build/src/start/server/metro/externals.js.map +1 -1
- package/build/src/start/server/metro/fetchRouterManifest.js +28 -12
- package/build/src/start/server/metro/fetchRouterManifest.js.map +1 -1
- package/build/src/start/server/metro/formatFileCandidates.js +11 -9
- package/build/src/start/server/metro/formatFileCandidates.js.map +1 -1
- package/build/src/start/server/metro/getCssModulesFromBundler.js +24 -20
- package/build/src/start/server/metro/getCssModulesFromBundler.js.map +1 -1
- package/build/src/start/server/metro/instantiateMetro.js +87 -81
- package/build/src/start/server/metro/instantiateMetro.js.map +1 -1
- package/build/src/start/server/metro/log-box/LogBoxLog.js +40 -36
- package/build/src/start/server/metro/log-box/LogBoxLog.js.map +1 -1
- package/build/src/start/server/metro/log-box/LogBoxSymbolication.js +20 -14
- package/build/src/start/server/metro/log-box/LogBoxSymbolication.js.map +1 -1
- package/build/src/start/server/metro/log-box/formatProjectFilePath.js +10 -6
- package/build/src/start/server/metro/log-box/formatProjectFilePath.js.map +1 -1
- package/build/src/start/server/metro/metroErrorInterface.js +88 -78
- package/build/src/start/server/metro/metroErrorInterface.js.map +1 -1
- package/build/src/start/server/metro/metroErrors.js +8 -4
- package/build/src/start/server/metro/metroErrors.js.map +1 -1
- package/build/src/start/server/metro/metroPrivateServer.js +9 -7
- package/build/src/start/server/metro/metroPrivateServer.js.map +1 -1
- package/build/src/start/server/metro/metroVirtualModules.js +10 -8
- package/build/src/start/server/metro/metroVirtualModules.js.map +1 -1
- package/build/src/start/server/metro/metroWatchTypeScriptFiles.js +24 -22
- package/build/src/start/server/metro/metroWatchTypeScriptFiles.js.map +1 -1
- package/build/src/start/server/metro/router.js +48 -32
- package/build/src/start/server/metro/router.js.map +1 -1
- package/build/src/start/server/metro/runServer-fork.js +24 -22
- package/build/src/start/server/metro/runServer-fork.js.map +1 -1
- package/build/src/start/server/metro/serializeHtml.js +24 -22
- package/build/src/start/server/metro/serializeHtml.js.map +1 -1
- package/build/src/start/server/metro/symbolicate.js.map +1 -1
- package/build/src/start/server/metro/waitForMetroToObserveTypeScriptFile.js +35 -29
- package/build/src/start/server/metro/waitForMetroToObserveTypeScriptFile.js.map +1 -1
- package/build/src/start/server/metro/withMetroMultiPlatform.js +150 -140
- package/build/src/start/server/metro/withMetroMultiPlatform.js.map +1 -1
- package/build/src/start/server/metro/withMetroResolvers.js +49 -39
- package/build/src/start/server/metro/withMetroResolvers.js.map +1 -1
- package/build/src/start/server/middleware/ContextModuleSourceMapsMiddleware.js +8 -6
- package/build/src/start/server/middleware/ContextModuleSourceMapsMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/CorsMiddleware.js +17 -15
- package/build/src/start/server/middleware/CorsMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/CreateFileMiddleware.js +32 -31
- package/build/src/start/server/middleware/CreateFileMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/DevToolsPluginMiddleware.js +22 -19
- package/build/src/start/server/middleware/DevToolsPluginMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/DomComponentsMiddleware.js +33 -27
- package/build/src/start/server/middleware/DomComponentsMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js +61 -57
- package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/ExpoMiddleware.js +15 -9
- package/build/src/start/server/middleware/ExpoMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/FaviconMiddleware.js +16 -15
- package/build/src/start/server/middleware/FaviconMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/HistoryFallbackMiddleware.js +4 -2
- package/build/src/start/server/middleware/HistoryFallbackMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/InterstitialPageMiddleware.js +34 -31
- package/build/src/start/server/middleware/InterstitialPageMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/ManifestMiddleware.js +64 -56
- package/build/src/start/server/middleware/ManifestMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/ReactDevToolsPageMiddleware.js +23 -19
- package/build/src/start/server/middleware/ReactDevToolsPageMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js +20 -19
- package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/ServeStaticMiddleware.js +11 -9
- package/build/src/start/server/middleware/ServeStaticMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/createBuiltinAPIRequestHandler.js +17 -11
- package/build/src/start/server/middleware/createBuiltinAPIRequestHandler.js.map +1 -1
- package/build/src/start/server/middleware/inspector/CdpClient.js +12 -10
- package/build/src/start/server/middleware/inspector/CdpClient.js.map +1 -1
- package/build/src/start/server/middleware/inspector/JsInspector.js +35 -27
- package/build/src/start/server/middleware/inspector/JsInspector.js.map +1 -1
- package/build/src/start/server/middleware/inspector/createJsInspectorMiddleware.js +21 -19
- package/build/src/start/server/middleware/inspector/createJsInspectorMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/inspector/middlwareMutations.js +6 -2
- package/build/src/start/server/middleware/inspector/middlwareMutations.js.map +1 -1
- package/build/src/start/server/middleware/metroOptions.js +120 -96
- package/build/src/start/server/middleware/metroOptions.js.map +1 -1
- package/build/src/start/server/middleware/mutations.js +7 -3
- package/build/src/start/server/middleware/mutations.js.map +1 -1
- package/build/src/start/server/middleware/resolveAssets.js +26 -18
- package/build/src/start/server/middleware/resolveAssets.js.map +1 -1
- package/build/src/start/server/middleware/resolvePlatform.js +23 -15
- package/build/src/start/server/middleware/resolvePlatform.js.map +1 -1
- package/build/src/start/server/middleware/resolveRuntimeVersionWithExpoUpdatesAsync.js +11 -9
- package/build/src/start/server/middleware/resolveRuntimeVersionWithExpoUpdatesAsync.js.map +1 -1
- package/build/src/start/server/middleware/server.types.js.map +1 -1
- package/build/src/start/server/openPlatforms.js +10 -8
- package/build/src/start/server/openPlatforms.js.map +1 -1
- package/build/src/start/server/platformBundlers.js +13 -11
- package/build/src/start/server/platformBundlers.js.map +1 -1
- package/build/src/start/server/serverLogLikeMetro.js +58 -50
- package/build/src/start/server/serverLogLikeMetro.js.map +1 -1
- package/build/src/start/server/type-generation/expo-env.js +11 -7
- package/build/src/start/server/type-generation/expo-env.js.map +1 -1
- package/build/src/start/server/type-generation/routes.js +72 -50
- package/build/src/start/server/type-generation/routes.js.map +1 -1
- package/build/src/start/server/type-generation/startTypescriptTypeGeneration.js +21 -19
- package/build/src/start/server/type-generation/startTypescriptTypeGeneration.js.map +1 -1
- package/build/src/start/server/type-generation/tsconfig.js +36 -28
- package/build/src/start/server/type-generation/tsconfig.js.map +1 -1
- package/build/src/start/server/webTemplate.js +28 -24
- package/build/src/start/server/webTemplate.js.map +1 -1
- package/build/src/start/server/webpack/WebpackBundlerDevServer.js +52 -46
- package/build/src/start/server/webpack/WebpackBundlerDevServer.js.map +1 -1
- package/build/src/start/server/webpack/compile.js +15 -11
- package/build/src/start/server/webpack/compile.js.map +1 -1
- package/build/src/start/server/webpack/formatWebpackMessages.js +28 -26
- package/build/src/start/server/webpack/formatWebpackMessages.js.map +1 -1
- package/build/src/start/server/webpack/resolveFromProject.js +18 -12
- package/build/src/start/server/webpack/resolveFromProject.js.map +1 -1
- package/build/src/start/server/webpack/tls.js +18 -12
- package/build/src/start/server/webpack/tls.js.map +1 -1
- package/build/src/start/startAsync.js +31 -27
- package/build/src/start/startAsync.js.map +1 -1
- package/build/src/utils/FileNotifier.js +20 -17
- package/build/src/utils/FileNotifier.js.map +1 -1
- package/build/src/utils/ansi.js +7 -5
- package/build/src/utils/ansi.js.map +1 -1
- package/build/src/utils/args.js +24 -14
- package/build/src/utils/args.js.map +1 -1
- package/build/src/utils/array.js +18 -6
- package/build/src/utils/array.js.map +1 -1
- package/build/src/utils/cocoapods.js +54 -46
- package/build/src/utils/cocoapods.js.map +1 -1
- package/build/src/utils/codesigning.js +79 -69
- package/build/src/utils/codesigning.js.map +1 -1
- package/build/src/utils/createFileTransform.js +16 -12
- package/build/src/utils/createFileTransform.js.map +1 -1
- package/build/src/utils/createTempPath.js +12 -8
- package/build/src/utils/createTempPath.js.map +1 -1
- package/build/src/utils/delay.js +12 -6
- package/build/src/utils/delay.js.map +1 -1
- package/build/src/utils/dir.js +40 -22
- package/build/src/utils/dir.js.map +1 -1
- package/build/src/utils/downloadAppAsync.js +10 -8
- package/build/src/utils/downloadAppAsync.js.map +1 -1
- package/build/src/utils/downloadExpoGoAsync.js +27 -23
- package/build/src/utils/downloadExpoGoAsync.js.map +1 -1
- package/build/src/utils/editor.js +41 -35
- package/build/src/utils/editor.js.map +1 -1
- package/build/src/utils/env.js +63 -59
- package/build/src/utils/env.js.map +1 -1
- package/build/src/utils/errors.js +37 -30
- package/build/src/utils/errors.js.map +1 -1
- package/build/src/utils/exit.js +35 -31
- package/build/src/utils/exit.js.map +1 -1
- package/build/src/utils/expoUpdatesCli.js +32 -22
- package/build/src/utils/expoUpdatesCli.js.map +1 -1
- package/build/src/utils/fetch.js +8 -4
- package/build/src/utils/fetch.js.map +1 -1
- package/build/src/utils/filePath.js +10 -6
- package/build/src/utils/filePath.js.map +1 -1
- package/build/src/utils/findUp.js +13 -9
- package/build/src/utils/findUp.js.map +1 -1
- package/build/src/utils/fn.js +6 -2
- package/build/src/utils/fn.js.map +1 -1
- package/build/src/utils/getOrPromptApplicationId.js +41 -35
- package/build/src/utils/getOrPromptApplicationId.js.map +1 -1
- package/build/src/utils/getRunningProcess.js +29 -21
- package/build/src/utils/getRunningProcess.js.map +1 -1
- package/build/src/utils/git.js +26 -20
- package/build/src/utils/git.js.map +1 -1
- package/build/src/utils/glob.js +8 -4
- package/build/src/utils/glob.js.map +1 -1
- package/build/src/utils/interactive.js +3 -1
- package/build/src/utils/interactive.js.map +1 -1
- package/build/src/utils/ip.js +21 -19
- package/build/src/utils/ip.js.map +1 -1
- package/build/src/utils/isModuleSymlinked.js +11 -9
- package/build/src/utils/isModuleSymlinked.js.map +1 -1
- package/build/src/utils/jsonSchemaDeref.js +20 -18
- package/build/src/utils/jsonSchemaDeref.js.map +1 -1
- package/build/src/utils/link.js +17 -13
- package/build/src/utils/link.js.map +1 -1
- package/build/src/utils/mergeGitIgnorePaths.js +46 -28
- package/build/src/utils/mergeGitIgnorePaths.js.map +1 -1
- package/build/src/utils/modifyConfigAsync.js +16 -10
- package/build/src/utils/modifyConfigAsync.js.map +1 -1
- package/build/src/utils/modifyConfigPlugins.js +10 -6
- package/build/src/utils/modifyConfigPlugins.js.map +1 -1
- package/build/src/utils/multipartMixed.js +13 -11
- package/build/src/utils/multipartMixed.js.map +1 -1
- package/build/src/utils/nodeEnv.js +12 -6
- package/build/src/utils/nodeEnv.js.map +1 -1
- package/build/src/utils/nodeModules.js +10 -8
- package/build/src/utils/nodeModules.js.map +1 -1
- package/build/src/utils/npm.js +49 -35
- package/build/src/utils/npm.js.map +1 -1
- package/build/src/utils/obj.js +11 -5
- package/build/src/utils/obj.js.map +1 -1
- package/build/src/utils/open.js +10 -8
- package/build/src/utils/open.js.map +1 -1
- package/build/src/utils/ora.js +13 -7
- package/build/src/utils/ora.js.map +1 -1
- package/build/src/utils/plist.js +21 -15
- package/build/src/utils/plist.js.map +1 -1
- package/build/src/utils/port.js +43 -33
- package/build/src/utils/port.js.map +1 -1
- package/build/src/utils/profile.js +11 -7
- package/build/src/utils/profile.js.map +1 -1
- package/build/src/utils/progress.js +11 -5
- package/build/src/utils/progress.js.map +1 -1
- package/build/src/utils/prompts.js +47 -29
- package/build/src/utils/prompts.js.map +1 -1
- package/build/src/utils/resolveArgs.js +36 -24
- package/build/src/utils/resolveArgs.js.map +1 -1
- package/build/src/utils/scheme.js +40 -32
- package/build/src/utils/scheme.js.map +1 -1
- package/build/src/utils/stream.js +5 -3
- package/build/src/utils/stream.js.map +1 -1
- package/build/src/utils/strings.js +6 -4
- package/build/src/utils/strings.js.map +1 -1
- package/build/src/utils/tar.js +18 -14
- package/build/src/utils/tar.js.map +1 -1
- package/build/src/utils/telemetry/Telemetry.js +29 -27
- package/build/src/utils/telemetry/Telemetry.js.map +1 -1
- package/build/src/utils/telemetry/clients/FetchClient.js +15 -13
- package/build/src/utils/telemetry/clients/FetchClient.js.map +1 -1
- package/build/src/utils/telemetry/clients/FetchDetachedClient.js +26 -22
- package/build/src/utils/telemetry/clients/FetchDetachedClient.js.map +1 -1
- package/build/src/utils/telemetry/clients/flushFetchDetached.js +10 -10
- package/build/src/utils/telemetry/clients/flushFetchDetached.js.map +1 -1
- package/build/src/utils/telemetry/events.js +4 -2
- package/build/src/utils/telemetry/events.js.map +1 -1
- package/build/src/utils/telemetry/index.js +25 -29
- package/build/src/utils/telemetry/index.js.map +1 -1
- package/build/src/utils/telemetry/types.js.map +1 -1
- package/build/src/utils/telemetry/utils/constants.js +8 -4
- package/build/src/utils/telemetry/utils/constants.js.map +1 -1
- package/build/src/utils/telemetry/utils/context.js +18 -14
- package/build/src/utils/telemetry/utils/context.js.map +1 -1
- package/build/src/utils/template.js +6 -4
- package/build/src/utils/template.js.map +1 -1
- package/build/src/utils/terminal.js +4 -2
- package/build/src/utils/terminal.js.map +1 -1
- package/build/src/utils/tsconfig/evaluateTsConfig.js +21 -17
- package/build/src/utils/tsconfig/evaluateTsConfig.js.map +1 -1
- package/build/src/utils/tsconfig/loadTsConfigPaths.js +18 -14
- package/build/src/utils/tsconfig/loadTsConfigPaths.js.map +1 -1
- package/build/src/utils/tsconfig/matchTsConfigPathAlias.js +7 -5
- package/build/src/utils/tsconfig/matchTsConfigPathAlias.js.map +1 -1
- package/build/src/utils/tsconfig/resolveWithTsConfigPaths.js +14 -12
- package/build/src/utils/tsconfig/resolveWithTsConfigPaths.js.map +1 -1
- package/build/src/utils/url.js +23 -13
- package/build/src/utils/url.js.map +1 -1
- package/build/src/utils/validateApplicationId.js +108 -86
- package/build/src/utils/validateApplicationId.js.map +1 -1
- package/build/src/utils/variadic.js +22 -16
- package/build/src/utils/variadic.js.map +1 -1
- package/build/src/whoami/index.js +11 -7
- package/build/src/whoami/index.js.map +1 -1
- package/build/src/whoami/whoamiAsync.js +11 -7
- package/build/src/whoami/whoamiAsync.js.map +1 -1
- package/package.json +17 -16
|
@@ -15,39 +15,47 @@ function _export(target, all) {
|
|
|
15
15
|
});
|
|
16
16
|
}
|
|
17
17
|
_export(exports, {
|
|
18
|
-
USBMUXD_HEADER_SIZE: ()
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
18
|
+
USBMUXD_HEADER_SIZE: function() {
|
|
19
|
+
return USBMUXD_HEADER_SIZE;
|
|
20
|
+
},
|
|
21
|
+
UsbmuxProtocolClient: function() {
|
|
22
|
+
return UsbmuxProtocolClient;
|
|
23
|
+
},
|
|
24
|
+
UsbmuxProtocolReader: function() {
|
|
25
|
+
return UsbmuxProtocolReader;
|
|
26
|
+
},
|
|
27
|
+
UsbmuxProtocolWriter: function() {
|
|
28
|
+
return UsbmuxProtocolWriter;
|
|
29
|
+
}
|
|
22
30
|
});
|
|
23
31
|
function _plist() {
|
|
24
|
-
const data = /*#__PURE__*/
|
|
32
|
+
const data = /*#__PURE__*/ _interop_require_default(require("@expo/plist"));
|
|
25
33
|
_plist = function() {
|
|
26
34
|
return data;
|
|
27
35
|
};
|
|
28
36
|
return data;
|
|
29
37
|
}
|
|
30
38
|
function _debug() {
|
|
31
|
-
const data = /*#__PURE__*/
|
|
39
|
+
const data = /*#__PURE__*/ _interop_require_default(require("debug"));
|
|
32
40
|
_debug = function() {
|
|
33
41
|
return data;
|
|
34
42
|
};
|
|
35
43
|
return data;
|
|
36
44
|
}
|
|
37
|
-
const
|
|
38
|
-
function
|
|
45
|
+
const _AbstractProtocol = require("./AbstractProtocol");
|
|
46
|
+
function _interop_require_default(obj) {
|
|
39
47
|
return obj && obj.__esModule ? obj : {
|
|
40
48
|
default: obj
|
|
41
49
|
};
|
|
42
50
|
}
|
|
43
|
-
const debug = (0, _debug().default)(
|
|
51
|
+
const debug = (0, _debug().default)('expo:apple-device:protocol:usbmux');
|
|
44
52
|
const USBMUXD_HEADER_SIZE = 16;
|
|
45
|
-
class UsbmuxProtocolClient extends
|
|
53
|
+
class UsbmuxProtocolClient extends _AbstractProtocol.ProtocolClient {
|
|
46
54
|
constructor(socket){
|
|
47
|
-
super(socket, new
|
|
55
|
+
super(socket, new _AbstractProtocol.ProtocolReaderFactory(UsbmuxProtocolReader), new UsbmuxProtocolWriter());
|
|
48
56
|
}
|
|
49
57
|
}
|
|
50
|
-
class UsbmuxProtocolReader extends
|
|
58
|
+
class UsbmuxProtocolReader extends _AbstractProtocol.PlistProtocolReader {
|
|
51
59
|
constructor(callback){
|
|
52
60
|
super(USBMUXD_HEADER_SIZE, callback);
|
|
53
61
|
}
|
|
@@ -61,16 +69,15 @@ class UsbmuxProtocolReader extends _abstractProtocol.PlistProtocolReader {
|
|
|
61
69
|
}
|
|
62
70
|
}
|
|
63
71
|
class UsbmuxProtocolWriter {
|
|
64
|
-
useTag = 0;
|
|
65
72
|
write(socket, msg) {
|
|
66
73
|
// TODO Usbmux message type
|
|
67
74
|
debug(`socket write: ${JSON.stringify(msg)}`);
|
|
68
|
-
const { messageType
|
|
75
|
+
const { messageType, extraFields } = msg;
|
|
69
76
|
const plistMessage = _plist().default.build({
|
|
70
|
-
BundleID:
|
|
71
|
-
ClientVersionString:
|
|
77
|
+
BundleID: 'dev.expo.native-run',
|
|
78
|
+
ClientVersionString: 'usbmux.js',
|
|
72
79
|
MessageType: messageType,
|
|
73
|
-
ProgName:
|
|
80
|
+
ProgName: 'native-run',
|
|
74
81
|
kLibUSBMuxVersion: 3,
|
|
75
82
|
...extraFields
|
|
76
83
|
});
|
|
@@ -85,6 +92,9 @@ class UsbmuxProtocolWriter {
|
|
|
85
92
|
socket.write(header);
|
|
86
93
|
socket.write(plistMessage);
|
|
87
94
|
}
|
|
95
|
+
constructor(){
|
|
96
|
+
this.useTag = 0;
|
|
97
|
+
}
|
|
88
98
|
}
|
|
89
99
|
|
|
90
100
|
//# sourceMappingURL=UsbmuxProtocol.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../src/run/ios/appleDevice/protocol/UsbmuxProtocol.ts"],"sourcesContent":["/**\n * Copyright (c) 2021 Expo, Inc.\n * Copyright (c) 2018 Drifty Co.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport plist from '@expo/plist';\nimport Debug from 'debug';\nimport { Socket } from 'net';\n\nimport type { ProtocolWriter } from './AbstractProtocol';\nimport { PlistProtocolReader, ProtocolClient, ProtocolReaderFactory } from './AbstractProtocol';\n\nconst debug = Debug('expo:apple-device:protocol:usbmux');\n\nexport const USBMUXD_HEADER_SIZE = 16;\n\nexport interface UsbmuxMessage {\n messageType: string;\n extraFields?: { [key: string]: any };\n}\n\nexport class UsbmuxProtocolClient extends ProtocolClient<UsbmuxMessage> {\n constructor(socket: Socket) {\n super(socket, new ProtocolReaderFactory(UsbmuxProtocolReader), new UsbmuxProtocolWriter());\n }\n}\n\nexport class UsbmuxProtocolReader extends PlistProtocolReader {\n constructor(callback: (data: any) => any) {\n super(USBMUXD_HEADER_SIZE, callback);\n }\n\n parseHeader(data: Buffer) {\n return data.readUInt32LE(0) - USBMUXD_HEADER_SIZE;\n }\n\n parseBody(data: Buffer) {\n const resp = super.parseBody(data);\n debug(`Response: ${JSON.stringify(resp)}`);\n return resp;\n }\n}\n\nexport class UsbmuxProtocolWriter implements ProtocolWriter {\n private useTag = 0;\n\n write(socket: Socket, msg: UsbmuxMessage) {\n // TODO Usbmux message type\n debug(`socket write: ${JSON.stringify(msg)}`);\n const { messageType, extraFields } = msg;\n const plistMessage = plist.build({\n BundleID: 'dev.expo.native-run', // TODO\n ClientVersionString: 'usbmux.js', // TODO\n MessageType: messageType,\n ProgName: 'native-run', // TODO\n kLibUSBMuxVersion: 3,\n ...extraFields,\n });\n\n const dataSize = plistMessage ? plistMessage.length : 0;\n const protocolVersion = 1;\n const messageCode = 8;\n\n const header = Buffer.alloc(USBMUXD_HEADER_SIZE);\n header.writeUInt32LE(USBMUXD_HEADER_SIZE + dataSize, 0);\n header.writeUInt32LE(protocolVersion, 4);\n header.writeUInt32LE(messageCode, 8);\n header.writeUInt32LE(this.useTag++, 12); // TODO\n socket.write(header);\n socket.write(plistMessage);\n }\n}\n"],"names":["USBMUXD_HEADER_SIZE","UsbmuxProtocolClient","UsbmuxProtocolReader","UsbmuxProtocolWriter","debug","Debug","ProtocolClient","constructor","socket","ProtocolReaderFactory","PlistProtocolReader","callback","parseHeader","data","readUInt32LE","parseBody","resp","JSON","stringify","
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/run/ios/appleDevice/protocol/UsbmuxProtocol.ts"],"sourcesContent":["/**\n * Copyright (c) 2021 Expo, Inc.\n * Copyright (c) 2018 Drifty Co.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport plist from '@expo/plist';\nimport Debug from 'debug';\nimport { Socket } from 'net';\n\nimport type { ProtocolWriter } from './AbstractProtocol';\nimport { PlistProtocolReader, ProtocolClient, ProtocolReaderFactory } from './AbstractProtocol';\n\nconst debug = Debug('expo:apple-device:protocol:usbmux');\n\nexport const USBMUXD_HEADER_SIZE = 16;\n\nexport interface UsbmuxMessage {\n messageType: string;\n extraFields?: { [key: string]: any };\n}\n\nexport class UsbmuxProtocolClient extends ProtocolClient<UsbmuxMessage> {\n constructor(socket: Socket) {\n super(socket, new ProtocolReaderFactory(UsbmuxProtocolReader), new UsbmuxProtocolWriter());\n }\n}\n\nexport class UsbmuxProtocolReader extends PlistProtocolReader {\n constructor(callback: (data: any) => any) {\n super(USBMUXD_HEADER_SIZE, callback);\n }\n\n parseHeader(data: Buffer) {\n return data.readUInt32LE(0) - USBMUXD_HEADER_SIZE;\n }\n\n parseBody(data: Buffer) {\n const resp = super.parseBody(data);\n debug(`Response: ${JSON.stringify(resp)}`);\n return resp;\n }\n}\n\nexport class UsbmuxProtocolWriter implements ProtocolWriter {\n private useTag = 0;\n\n write(socket: Socket, msg: UsbmuxMessage) {\n // TODO Usbmux message type\n debug(`socket write: ${JSON.stringify(msg)}`);\n const { messageType, extraFields } = msg;\n const plistMessage = plist.build({\n BundleID: 'dev.expo.native-run', // TODO\n ClientVersionString: 'usbmux.js', // TODO\n MessageType: messageType,\n ProgName: 'native-run', // TODO\n kLibUSBMuxVersion: 3,\n ...extraFields,\n });\n\n const dataSize = plistMessage ? plistMessage.length : 0;\n const protocolVersion = 1;\n const messageCode = 8;\n\n const header = Buffer.alloc(USBMUXD_HEADER_SIZE);\n header.writeUInt32LE(USBMUXD_HEADER_SIZE + dataSize, 0);\n header.writeUInt32LE(protocolVersion, 4);\n header.writeUInt32LE(messageCode, 8);\n header.writeUInt32LE(this.useTag++, 12); // TODO\n socket.write(header);\n socket.write(plistMessage);\n }\n}\n"],"names":["USBMUXD_HEADER_SIZE","UsbmuxProtocolClient","UsbmuxProtocolReader","UsbmuxProtocolWriter","debug","Debug","ProtocolClient","constructor","socket","ProtocolReaderFactory","PlistProtocolReader","callback","parseHeader","data","readUInt32LE","parseBody","resp","JSON","stringify","write","msg","messageType","extraFields","plistMessage","plist","build","BundleID","ClientVersionString","MessageType","ProgName","kLibUSBMuxVersion","dataSize","length","protocolVersion","messageCode","header","Buffer","alloc","writeUInt32LE","useTag"],"mappings":"AAAA;;;;;;CAMC;;;;;;;;;;;IAWYA,mBAAmB;eAAnBA;;IAOAC,oBAAoB;eAApBA;;IAMAC,oBAAoB;eAApBA;;IAgBAC,oBAAoB;eAApBA;;;;gEAtCK;;;;;;;gEACA;;;;;;kCAIyD;;;;;;AAE3E,MAAMC,QAAQC,IAAAA,gBAAK,EAAC;AAEb,MAAML,sBAAsB;AAO5B,MAAMC,6BAA6BK,gCAAc;IACtDC,YAAYC,MAAc,CAAE;QAC1B,KAAK,CAACA,QAAQ,IAAIC,uCAAqB,CAACP,uBAAuB,IAAIC;IACrE;AACF;AAEO,MAAMD,6BAA6BQ,qCAAmB;IAC3DH,YAAYI,QAA4B,CAAE;QACxC,KAAK,CAACX,qBAAqBW;IAC7B;IAEAC,YAAYC,IAAY,EAAE;QACxB,OAAOA,KAAKC,YAAY,CAAC,KAAKd;IAChC;IAEAe,UAAUF,IAAY,EAAE;QACtB,MAAMG,OAAO,KAAK,CAACD,UAAUF;QAC7BT,MAAM,CAAC,UAAU,EAAEa,KAAKC,SAAS,CAACF,OAAO;QACzC,OAAOA;IACT;AACF;AAEO,MAAMb;IAGXgB,MAAMX,MAAc,EAAEY,GAAkB,EAAE;QACxC,2BAA2B;QAC3BhB,MAAM,CAAC,cAAc,EAAEa,KAAKC,SAAS,CAACE,MAAM;QAC5C,MAAM,EAAEC,WAAW,EAAEC,WAAW,EAAE,GAAGF;QACrC,MAAMG,eAAeC,gBAAK,CAACC,KAAK,CAAC;YAC/BC,UAAU;YACVC,qBAAqB;YACrBC,aAAaP;YACbQ,UAAU;YACVC,mBAAmB;YACnB,GAAGR,WAAW;QAChB;QAEA,MAAMS,WAAWR,eAAeA,aAAaS,MAAM,GAAG;QACtD,MAAMC,kBAAkB;QACxB,MAAMC,cAAc;QAEpB,MAAMC,SAASC,OAAOC,KAAK,CAACrC;QAC5BmC,OAAOG,aAAa,CAACtC,sBAAsB+B,UAAU;QACrDI,OAAOG,aAAa,CAACL,iBAAiB;QACtCE,OAAOG,aAAa,CAACJ,aAAa;QAClCC,OAAOG,aAAa,CAAC,IAAI,CAACC,MAAM,IAAI,KAAK,OAAO;QAChD/B,OAAOW,KAAK,CAACgB;QACb3B,OAAOW,KAAK,CAACI;IACf;;aA1BQgB,SAAS;;AA2BnB"}
|
|
@@ -9,43 +9,57 @@ function _export(target, all) {
|
|
|
9
9
|
});
|
|
10
10
|
}
|
|
11
11
|
_export(exports, {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
12
|
+
extractCodeSigningInfo: function() {
|
|
13
|
+
return extractCodeSigningInfo;
|
|
14
|
+
},
|
|
15
|
+
extractSigningId: function() {
|
|
16
|
+
return extractSigningId;
|
|
17
|
+
},
|
|
18
|
+
findIdentitiesAsync: function() {
|
|
19
|
+
return findIdentitiesAsync;
|
|
20
|
+
},
|
|
21
|
+
getCertificateForSigningIdAsync: function() {
|
|
22
|
+
return getCertificateForSigningIdAsync;
|
|
23
|
+
},
|
|
24
|
+
getSecurityPemAsync: function() {
|
|
25
|
+
return getSecurityPemAsync;
|
|
26
|
+
},
|
|
27
|
+
resolveCertificateSigningInfoAsync: function() {
|
|
28
|
+
return resolveCertificateSigningInfoAsync;
|
|
29
|
+
},
|
|
30
|
+
resolveIdentitiesAsync: function() {
|
|
31
|
+
return resolveIdentitiesAsync;
|
|
32
|
+
}
|
|
19
33
|
});
|
|
20
|
-
function
|
|
21
|
-
const data = /*#__PURE__*/
|
|
22
|
-
|
|
34
|
+
function _spawnasync() {
|
|
35
|
+
const data = /*#__PURE__*/ _interop_require_default(require("@expo/spawn-async"));
|
|
36
|
+
_spawnasync = function() {
|
|
23
37
|
return data;
|
|
24
38
|
};
|
|
25
39
|
return data;
|
|
26
40
|
}
|
|
27
|
-
function
|
|
28
|
-
const data = /*#__PURE__*/
|
|
29
|
-
|
|
41
|
+
function _nodeforge() {
|
|
42
|
+
const data = /*#__PURE__*/ _interop_require_default(require("node-forge"));
|
|
43
|
+
_nodeforge = function() {
|
|
30
44
|
return data;
|
|
31
45
|
};
|
|
32
46
|
return data;
|
|
33
47
|
}
|
|
34
|
-
const
|
|
48
|
+
const _SecurityBinPrerequisite = require("../../../start/doctor/SecurityBinPrerequisite");
|
|
35
49
|
const _errors = require("../../../utils/errors");
|
|
36
|
-
function
|
|
50
|
+
function _interop_require_default(obj) {
|
|
37
51
|
return obj && obj.__esModule ? obj : {
|
|
38
52
|
default: obj
|
|
39
53
|
};
|
|
40
54
|
}
|
|
41
55
|
async function getSecurityPemAsync(id) {
|
|
42
|
-
var
|
|
43
|
-
const pem = (
|
|
44
|
-
|
|
45
|
-
|
|
56
|
+
var _stdout_trim, _stdout;
|
|
57
|
+
const pem = (_stdout = (await (0, _spawnasync().default)('security', [
|
|
58
|
+
'find-certificate',
|
|
59
|
+
'-c',
|
|
46
60
|
id,
|
|
47
|
-
|
|
48
|
-
])).stdout) == null ? void 0 :
|
|
61
|
+
'-p'
|
|
62
|
+
])).stdout) == null ? void 0 : (_stdout_trim = _stdout.trim) == null ? void 0 : _stdout_trim.call(_stdout);
|
|
49
63
|
if (!pem) {
|
|
50
64
|
throw new _errors.CommandError(`Failed to get PEM certificate for ID "${id}" using the 'security' bin`);
|
|
51
65
|
}
|
|
@@ -53,50 +67,50 @@ async function getSecurityPemAsync(id) {
|
|
|
53
67
|
}
|
|
54
68
|
async function getCertificateForSigningIdAsync(id) {
|
|
55
69
|
const pem = await getSecurityPemAsync(id);
|
|
56
|
-
return
|
|
70
|
+
return _nodeforge().default.pki.certificateFromPem(pem);
|
|
57
71
|
}
|
|
58
72
|
async function findIdentitiesAsync() {
|
|
59
|
-
var
|
|
60
|
-
await
|
|
61
|
-
const results = (
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
])).stdout).trim) == null ? void 0 :
|
|
73
|
+
var _stdout_trim, _stdout;
|
|
74
|
+
await _SecurityBinPrerequisite.SecurityBinPrerequisite.instance.assertAsync();
|
|
75
|
+
const results = (_stdout_trim = (_stdout = (await (0, _spawnasync().default)('security', [
|
|
76
|
+
'find-identity',
|
|
77
|
+
'-p',
|
|
78
|
+
'codesigning',
|
|
79
|
+
'-v'
|
|
80
|
+
])).stdout).trim) == null ? void 0 : _stdout_trim.call(_stdout);
|
|
67
81
|
// Returns a string like:
|
|
68
82
|
// 1) 12222234253761286351826735HGKDHAJGF45283 "Apple Development: Evan Bacon (AA00AABB0A)" (CSSMERR_TP_CERT_REVOKED)
|
|
69
83
|
// 2) 12312234253761286351826735HGKDHAJGF45283 "Apple Development: bacon@expo.io (BB00AABB0A)"
|
|
70
84
|
// 3) 12442234253761286351826735HGKDHAJGF45283 "iPhone Distribution: Evan Bacon (CC00AABB0B)" (CSSMERR_TP_CERT_REVOKED)
|
|
71
85
|
// 4) 15672234253761286351826735HGKDHAJGF45283 "Apple Development: Evan Bacon (AA00AABB0A)"
|
|
72
86
|
// 4 valid identities found
|
|
73
|
-
const parsed = results.split(
|
|
87
|
+
const parsed = results.split('\n').map((line)=>extractCodeSigningInfo(line)).filter(Boolean);
|
|
74
88
|
// Remove duplicates
|
|
75
89
|
return [
|
|
76
90
|
...new Set(parsed)
|
|
77
91
|
];
|
|
78
92
|
}
|
|
79
93
|
function extractCodeSigningInfo(value) {
|
|
80
|
-
var
|
|
81
|
-
return ((
|
|
94
|
+
var _value_match;
|
|
95
|
+
return ((_value_match = value.match(/^\s*\d+\).+"(.+Develop(ment|er).+)"$/)) == null ? void 0 : _value_match[1]) ?? null;
|
|
82
96
|
}
|
|
83
97
|
async function resolveIdentitiesAsync(identities) {
|
|
84
98
|
const values = identities.map(extractSigningId).filter(Boolean);
|
|
85
99
|
return Promise.all(values.map(resolveCertificateSigningInfoAsync));
|
|
86
100
|
}
|
|
87
101
|
async function resolveCertificateSigningInfoAsync(signingCertificateId) {
|
|
88
|
-
var
|
|
102
|
+
var _certificate_subject_getField, _certificate_subject_getField1, _certificate_subject_getField2;
|
|
89
103
|
const certificate = await getCertificateForSigningIdAsync(signingCertificateId);
|
|
90
104
|
return {
|
|
91
105
|
signingCertificateId,
|
|
92
|
-
codeSigningInfo: (
|
|
93
|
-
appleTeamName: (
|
|
94
|
-
appleTeamId: (
|
|
106
|
+
codeSigningInfo: (_certificate_subject_getField = certificate.subject.getField('CN')) == null ? void 0 : _certificate_subject_getField.value,
|
|
107
|
+
appleTeamName: (_certificate_subject_getField1 = certificate.subject.getField('O')) == null ? void 0 : _certificate_subject_getField1.value,
|
|
108
|
+
appleTeamId: (_certificate_subject_getField2 = certificate.subject.getField('OU')) == null ? void 0 : _certificate_subject_getField2.value
|
|
95
109
|
};
|
|
96
110
|
}
|
|
97
111
|
function extractSigningId(codeSigningInfo) {
|
|
98
|
-
var
|
|
99
|
-
return ((
|
|
112
|
+
var _codeSigningInfo_match;
|
|
113
|
+
return ((_codeSigningInfo_match = codeSigningInfo.match(/.*\(([a-zA-Z0-9]+)\)/)) == null ? void 0 : _codeSigningInfo_match[1]) ?? null;
|
|
100
114
|
}
|
|
101
115
|
|
|
102
116
|
//# sourceMappingURL=Security.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/run/ios/codeSigning/Security.ts"],"sourcesContent":["import spawnAsync from '@expo/spawn-async';\nimport forge from 'node-forge';\n\nimport { SecurityBinPrerequisite } from '../../../start/doctor/SecurityBinPrerequisite';\nimport { CommandError } from '../../../utils/errors';\n\nexport type CertificateSigningInfo = {\n /**\n * @example 'AA00AABB0A'\n */\n signingCertificateId: string;\n /**\n * @example 'Apple Development: Evan Bacon (AA00AABB0A)'\n */\n codeSigningInfo?: string;\n /**\n * @example '650 Industries, Inc.'\n */\n appleTeamName?: string;\n /**\n * @example 'A1BCDEF234'\n */\n appleTeamId?: string;\n};\n\nexport async function getSecurityPemAsync(id: string) {\n const pem = (await spawnAsync('security', ['find-certificate', '-c', id, '-p'])).stdout?.trim?.();\n if (!pem) {\n throw new CommandError(`Failed to get PEM certificate for ID \"${id}\" using the 'security' bin`);\n }\n return pem;\n}\n\nexport async function getCertificateForSigningIdAsync(id: string): Promise<forge.pki.Certificate> {\n const pem = await getSecurityPemAsync(id);\n return forge.pki.certificateFromPem(pem);\n}\n\n/**\n * Get the signing identities from the security bin. Return a list of parsed values with duplicates removed.\n * @returns A list like ['Apple Development: bacon@expo.io (BB00AABB0A)', 'Apple Developer: Evan Bacon (AA00AABB0A)']\n */\nexport async function findIdentitiesAsync(): Promise<string[]> {\n await SecurityBinPrerequisite.instance.assertAsync();\n\n const results = (\n await spawnAsync('security', ['find-identity', '-p', 'codesigning', '-v'])\n ).stdout.trim?.();\n // Returns a string like:\n // 1) 12222234253761286351826735HGKDHAJGF45283 \"Apple Development: Evan Bacon (AA00AABB0A)\" (CSSMERR_TP_CERT_REVOKED)\n // 2) 12312234253761286351826735HGKDHAJGF45283 \"Apple Development: bacon@expo.io (BB00AABB0A)\"\n // 3) 12442234253761286351826735HGKDHAJGF45283 \"iPhone Distribution: Evan Bacon (CC00AABB0B)\" (CSSMERR_TP_CERT_REVOKED)\n // 4) 15672234253761286351826735HGKDHAJGF45283 \"Apple Development: Evan Bacon (AA00AABB0A)\"\n // 4 valid identities found\n\n const parsed = results\n .split('\\n')\n .map((line) => extractCodeSigningInfo(line))\n .filter(Boolean) as string[];\n\n // Remove duplicates\n return [...new Set(parsed)];\n}\n\n/**\n * @param value ' 2) 12312234253761286351826735HGKDHAJGF45283 \"Apple Development: bacon@expo.io (BB00AABB0A)\"'\n * @returns 'Apple Development: Evan Bacon (PH75MDXG4H)'\n */\nexport function extractCodeSigningInfo(value: string): string | null {\n return value.match(/^\\s*\\d+\\).+\"(.+Develop(ment|er).+)\"$/)?.[1] ?? null;\n}\n\nexport async function resolveIdentitiesAsync(\n identities: string[]\n): Promise<CertificateSigningInfo[]> {\n const values = identities.map(extractSigningId).filter(Boolean) as string[];\n return Promise.all(values.map(resolveCertificateSigningInfoAsync));\n}\n\n/**\n * @param signingCertificateId 'AA00AABB0A'\n */\nexport async function resolveCertificateSigningInfoAsync(\n signingCertificateId: string\n): Promise<CertificateSigningInfo> {\n const certificate = await getCertificateForSigningIdAsync(signingCertificateId);\n return {\n signingCertificateId,\n codeSigningInfo: certificate.subject.getField('CN')?.value,\n appleTeamName: certificate.subject.getField('O')?.value,\n appleTeamId: certificate.subject.getField('OU')?.value,\n };\n}\n\n/**\n * @param codeSigningInfo 'Apple Development: Evan Bacon (AA00AABB0A)'\n * @returns 'AA00AABB0A'\n */\nexport function extractSigningId(codeSigningInfo: string): string | null {\n return codeSigningInfo.match(/.*\\(([a-zA-Z0-9]+)\\)/)?.[1] ?? null;\n}\n"],"names":["
|
|
1
|
+
{"version":3,"sources":["../../../../../src/run/ios/codeSigning/Security.ts"],"sourcesContent":["import spawnAsync from '@expo/spawn-async';\nimport forge from 'node-forge';\n\nimport { SecurityBinPrerequisite } from '../../../start/doctor/SecurityBinPrerequisite';\nimport { CommandError } from '../../../utils/errors';\n\nexport type CertificateSigningInfo = {\n /**\n * @example 'AA00AABB0A'\n */\n signingCertificateId: string;\n /**\n * @example 'Apple Development: Evan Bacon (AA00AABB0A)'\n */\n codeSigningInfo?: string;\n /**\n * @example '650 Industries, Inc.'\n */\n appleTeamName?: string;\n /**\n * @example 'A1BCDEF234'\n */\n appleTeamId?: string;\n};\n\nexport async function getSecurityPemAsync(id: string) {\n const pem = (await spawnAsync('security', ['find-certificate', '-c', id, '-p'])).stdout?.trim?.();\n if (!pem) {\n throw new CommandError(`Failed to get PEM certificate for ID \"${id}\" using the 'security' bin`);\n }\n return pem;\n}\n\nexport async function getCertificateForSigningIdAsync(id: string): Promise<forge.pki.Certificate> {\n const pem = await getSecurityPemAsync(id);\n return forge.pki.certificateFromPem(pem);\n}\n\n/**\n * Get the signing identities from the security bin. Return a list of parsed values with duplicates removed.\n * @returns A list like ['Apple Development: bacon@expo.io (BB00AABB0A)', 'Apple Developer: Evan Bacon (AA00AABB0A)']\n */\nexport async function findIdentitiesAsync(): Promise<string[]> {\n await SecurityBinPrerequisite.instance.assertAsync();\n\n const results = (\n await spawnAsync('security', ['find-identity', '-p', 'codesigning', '-v'])\n ).stdout.trim?.();\n // Returns a string like:\n // 1) 12222234253761286351826735HGKDHAJGF45283 \"Apple Development: Evan Bacon (AA00AABB0A)\" (CSSMERR_TP_CERT_REVOKED)\n // 2) 12312234253761286351826735HGKDHAJGF45283 \"Apple Development: bacon@expo.io (BB00AABB0A)\"\n // 3) 12442234253761286351826735HGKDHAJGF45283 \"iPhone Distribution: Evan Bacon (CC00AABB0B)\" (CSSMERR_TP_CERT_REVOKED)\n // 4) 15672234253761286351826735HGKDHAJGF45283 \"Apple Development: Evan Bacon (AA00AABB0A)\"\n // 4 valid identities found\n\n const parsed = results\n .split('\\n')\n .map((line) => extractCodeSigningInfo(line))\n .filter(Boolean) as string[];\n\n // Remove duplicates\n return [...new Set(parsed)];\n}\n\n/**\n * @param value ' 2) 12312234253761286351826735HGKDHAJGF45283 \"Apple Development: bacon@expo.io (BB00AABB0A)\"'\n * @returns 'Apple Development: Evan Bacon (PH75MDXG4H)'\n */\nexport function extractCodeSigningInfo(value: string): string | null {\n return value.match(/^\\s*\\d+\\).+\"(.+Develop(ment|er).+)\"$/)?.[1] ?? null;\n}\n\nexport async function resolveIdentitiesAsync(\n identities: string[]\n): Promise<CertificateSigningInfo[]> {\n const values = identities.map(extractSigningId).filter(Boolean) as string[];\n return Promise.all(values.map(resolveCertificateSigningInfoAsync));\n}\n\n/**\n * @param signingCertificateId 'AA00AABB0A'\n */\nexport async function resolveCertificateSigningInfoAsync(\n signingCertificateId: string\n): Promise<CertificateSigningInfo> {\n const certificate = await getCertificateForSigningIdAsync(signingCertificateId);\n return {\n signingCertificateId,\n codeSigningInfo: certificate.subject.getField('CN')?.value,\n appleTeamName: certificate.subject.getField('O')?.value,\n appleTeamId: certificate.subject.getField('OU')?.value,\n };\n}\n\n/**\n * @param codeSigningInfo 'Apple Development: Evan Bacon (AA00AABB0A)'\n * @returns 'AA00AABB0A'\n */\nexport function extractSigningId(codeSigningInfo: string): string | null {\n return codeSigningInfo.match(/.*\\(([a-zA-Z0-9]+)\\)/)?.[1] ?? null;\n}\n"],"names":["extractCodeSigningInfo","extractSigningId","findIdentitiesAsync","getCertificateForSigningIdAsync","getSecurityPemAsync","resolveCertificateSigningInfoAsync","resolveIdentitiesAsync","id","pem","spawnAsync","stdout","trim","CommandError","forge","pki","certificateFromPem","SecurityBinPrerequisite","instance","assertAsync","results","parsed","split","map","line","filter","Boolean","Set","value","match","identities","values","Promise","all","signingCertificateId","certificate","codeSigningInfo","subject","getField","appleTeamName","appleTeamId"],"mappings":";;;;;;;;;;;IAoEgBA,sBAAsB;eAAtBA;;IA8BAC,gBAAgB;eAAhBA;;IAxDMC,mBAAmB;eAAnBA;;IATAC,+BAA+B;eAA/BA;;IARAC,mBAAmB;eAAnBA;;IAyDAC,kCAAkC;eAAlCA;;IAVAC,sBAAsB;eAAtBA;;;;gEAxEC;;;;;;;gEACL;;;;;;yCAEsB;wBACX;;;;;;AAqBtB,eAAeF,oBAAoBG,EAAU;QACtC,cAAA;IAAZ,MAAMC,OAAM,UAAA,AAAC,CAAA,MAAMC,IAAAA,qBAAU,EAAC,YAAY;QAAC;QAAoB;QAAMF;QAAI;KAAK,CAAA,EAAGG,MAAM,sBAA3E,eAAA,QAA6EC,IAAI,qBAAjF,kBAAA;IACZ,IAAI,CAACH,KAAK;QACR,MAAM,IAAII,oBAAY,CAAC,CAAC,sCAAsC,EAAEL,GAAG,0BAA0B,CAAC;IAChG;IACA,OAAOC;AACT;AAEO,eAAeL,gCAAgCI,EAAU;IAC9D,MAAMC,MAAM,MAAMJ,oBAAoBG;IACtC,OAAOM,oBAAK,CAACC,GAAG,CAACC,kBAAkB,CAACP;AACtC;AAMO,eAAeN;QAGJ,cAAA;IAFhB,MAAMc,gDAAuB,CAACC,QAAQ,CAACC,WAAW;IAElD,MAAMC,WAAU,eAAA,CAAA,UAAA,AACd,CAAA,MAAMV,IAAAA,qBAAU,EAAC,YAAY;QAAC;QAAiB;QAAM;QAAe;KAAK,CAAA,EACzEC,MAAM,EAACC,IAAI,qBAFG,kBAAA;IAGhB,yBAAyB;IACzB,qHAAqH;IACrH,8FAA8F;IAC9F,uHAAuH;IACvH,2FAA2F;IAC3F,4BAA4B;IAE5B,MAAMS,SAASD,QACZE,KAAK,CAAC,MACNC,GAAG,CAAC,CAACC,OAASvB,uBAAuBuB,OACrCC,MAAM,CAACC;IAEV,oBAAoB;IACpB,OAAO;WAAI,IAAIC,IAAIN;KAAQ;AAC7B;AAMO,SAASpB,uBAAuB2B,KAAa;QAC3CA;IAAP,OAAOA,EAAAA,eAAAA,MAAMC,KAAK,CAAC,4DAAZD,YAAqD,CAAC,EAAE,KAAI;AACrE;AAEO,eAAerB,uBACpBuB,UAAoB;IAEpB,MAAMC,SAASD,WAAWP,GAAG,CAACrB,kBAAkBuB,MAAM,CAACC;IACvD,OAAOM,QAAQC,GAAG,CAACF,OAAOR,GAAG,CAACjB;AAChC;AAKO,eAAeA,mCACpB4B,oBAA4B;QAKTC,+BACFA,gCACFA;IALf,MAAMA,cAAc,MAAM/B,gCAAgC8B;IAC1D,OAAO;QACLA;QACAE,eAAe,GAAED,gCAAAA,YAAYE,OAAO,CAACC,QAAQ,CAAC,0BAA7BH,8BAAoCP,KAAK;QAC1DW,aAAa,GAAEJ,iCAAAA,YAAYE,OAAO,CAACC,QAAQ,CAAC,yBAA7BH,+BAAmCP,KAAK;QACvDY,WAAW,GAAEL,iCAAAA,YAAYE,OAAO,CAACC,QAAQ,CAAC,0BAA7BH,+BAAoCP,KAAK;IACxD;AACF;AAMO,SAAS1B,iBAAiBkC,eAAuB;QAC/CA;IAAP,OAAOA,EAAAA,yBAAAA,gBAAgBP,KAAK,CAAC,4CAAtBO,sBAA+C,CAAC,EAAE,KAAI;AAC/D"}
|
|
@@ -4,20 +4,22 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
});
|
|
5
5
|
Object.defineProperty(exports, "ensureDeviceIsCodeSignedForDeploymentAsync", {
|
|
6
6
|
enumerable: true,
|
|
7
|
-
get: ()
|
|
7
|
+
get: function() {
|
|
8
|
+
return ensureDeviceIsCodeSignedForDeploymentAsync;
|
|
9
|
+
}
|
|
8
10
|
});
|
|
9
11
|
function _chalk() {
|
|
10
|
-
const data = /*#__PURE__*/
|
|
12
|
+
const data = /*#__PURE__*/ _interop_require_default(require("chalk"));
|
|
11
13
|
_chalk = function() {
|
|
12
14
|
return data;
|
|
13
15
|
};
|
|
14
16
|
return data;
|
|
15
17
|
}
|
|
16
|
-
const
|
|
18
|
+
const _Security = /*#__PURE__*/ _interop_require_wildcard(require("./Security"));
|
|
17
19
|
const _resolveCertificateSigningIdentity = require("./resolveCertificateSigningIdentity");
|
|
18
20
|
const _xcodeCodeSigning = require("./xcodeCodeSigning");
|
|
19
|
-
const _log = /*#__PURE__*/
|
|
20
|
-
function
|
|
21
|
+
const _log = /*#__PURE__*/ _interop_require_wildcard(require("../../../log"));
|
|
22
|
+
function _interop_require_default(obj) {
|
|
21
23
|
return obj && obj.__esModule ? obj : {
|
|
22
24
|
default: obj
|
|
23
25
|
};
|
|
@@ -30,7 +32,7 @@ function _getRequireWildcardCache(nodeInterop) {
|
|
|
30
32
|
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
|
31
33
|
})(nodeInterop);
|
|
32
34
|
}
|
|
33
|
-
function
|
|
35
|
+
function _interop_require_wildcard(obj, nodeInterop) {
|
|
34
36
|
if (!nodeInterop && obj && obj.__esModule) {
|
|
35
37
|
return obj;
|
|
36
38
|
}
|
|
@@ -43,7 +45,9 @@ function _interopRequireWildcard(obj, nodeInterop) {
|
|
|
43
45
|
if (cache && cache.has(obj)) {
|
|
44
46
|
return cache.get(obj);
|
|
45
47
|
}
|
|
46
|
-
var newObj = {
|
|
48
|
+
var newObj = {
|
|
49
|
+
__proto__: null
|
|
50
|
+
};
|
|
47
51
|
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
48
52
|
for(var key in obj){
|
|
49
53
|
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
@@ -79,7 +83,7 @@ function isCodeSigningConfigured(projectRoot) {
|
|
|
79
83
|
curr.developmentTeams[0]
|
|
80
84
|
]);
|
|
81
85
|
}, []);
|
|
82
|
-
_log.log(_chalk().default.dim`\u203A Auto signing app using team(s): ${teamList.join(
|
|
86
|
+
_log.log(_chalk().default.dim`\u203A Auto signing app using team(s): ${teamList.join(', ')}`);
|
|
83
87
|
return true;
|
|
84
88
|
}
|
|
85
89
|
const allTargetsHaveProfiles = Object.values(signingInfo).reduce((prev, curr)=>{
|
|
@@ -92,7 +96,7 @@ function isCodeSigningConfigured(projectRoot) {
|
|
|
92
96
|
return false;
|
|
93
97
|
}
|
|
94
98
|
async function configureCodeSigningAsync(projectRoot) {
|
|
95
|
-
const ids = await
|
|
99
|
+
const ids = await _Security.findIdentitiesAsync();
|
|
96
100
|
const id = await (0, _resolveCertificateSigningIdentity.resolveCertificateSigningIdentityAsync)(projectRoot, ids);
|
|
97
101
|
_log.log(`\u203A Signing and building iOS app with: ${id.codeSigningInfo}`);
|
|
98
102
|
(0, _xcodeCodeSigning.setAutoCodeSigningInfoForPbxproj)(projectRoot, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/run/ios/codeSigning/configureCodeSigning.ts"],"sourcesContent":["import chalk from 'chalk';\n\nimport * as Security from './Security';\nimport { resolveCertificateSigningIdentityAsync } from './resolveCertificateSigningIdentity';\nimport { getCodeSigningInfoForPbxproj, setAutoCodeSigningInfoForPbxproj } from './xcodeCodeSigning';\nimport * as Log from '../../../log';\n\nexport async function ensureDeviceIsCodeSignedForDeploymentAsync(\n projectRoot: string\n): Promise<string | null> {\n if (isCodeSigningConfigured(projectRoot)) {\n return null;\n }\n return configureCodeSigningAsync(projectRoot);\n}\n\nfunction isCodeSigningConfigured(projectRoot: string): boolean {\n // Check if the app already has a development team defined.\n const signingInfo = getCodeSigningInfoForPbxproj(projectRoot);\n\n const allTargetsHaveTeams = Object.values(signingInfo).reduce((prev, curr) => {\n return prev && !!curr.developmentTeams.length;\n }, true);\n\n if (allTargetsHaveTeams) {\n const teamList = Object.values(signingInfo).reduce<string[]>((prev, curr) => {\n return prev.concat([curr.developmentTeams[0]]);\n }, []);\n Log.log(chalk.dim`\\u203A Auto signing app using team(s): ${teamList.join(', ')}`);\n return true;\n }\n\n const allTargetsHaveProfiles = Object.values(signingInfo).reduce((prev, curr) => {\n return prev && !!curr.provisioningProfiles.length;\n }, true);\n\n if (allTargetsHaveProfiles) {\n // this indicates that the user has manual code signing setup (possibly for production).\n return true;\n }\n return false;\n}\n\nasync function configureCodeSigningAsync(projectRoot: string) {\n const ids = await Security.findIdentitiesAsync();\n\n const id = await resolveCertificateSigningIdentityAsync(projectRoot, ids);\n\n Log.log(`\\u203A Signing and building iOS app with: ${id.codeSigningInfo}`);\n\n setAutoCodeSigningInfoForPbxproj(projectRoot, {\n appleTeamId: id.appleTeamId!,\n });\n return id.appleTeamId!;\n}\n"],"names":["ensureDeviceIsCodeSignedForDeploymentAsync","projectRoot","isCodeSigningConfigured","configureCodeSigningAsync","signingInfo","getCodeSigningInfoForPbxproj","allTargetsHaveTeams","Object","values","reduce","prev","curr","developmentTeams","length","teamList","concat","Log","log","chalk","dim","join","allTargetsHaveProfiles","provisioningProfiles","ids","Security","findIdentitiesAsync","id","resolveCertificateSigningIdentityAsync","codeSigningInfo","setAutoCodeSigningInfoForPbxproj","appleTeamId"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../../../src/run/ios/codeSigning/configureCodeSigning.ts"],"sourcesContent":["import chalk from 'chalk';\n\nimport * as Security from './Security';\nimport { resolveCertificateSigningIdentityAsync } from './resolveCertificateSigningIdentity';\nimport { getCodeSigningInfoForPbxproj, setAutoCodeSigningInfoForPbxproj } from './xcodeCodeSigning';\nimport * as Log from '../../../log';\n\nexport async function ensureDeviceIsCodeSignedForDeploymentAsync(\n projectRoot: string\n): Promise<string | null> {\n if (isCodeSigningConfigured(projectRoot)) {\n return null;\n }\n return configureCodeSigningAsync(projectRoot);\n}\n\nfunction isCodeSigningConfigured(projectRoot: string): boolean {\n // Check if the app already has a development team defined.\n const signingInfo = getCodeSigningInfoForPbxproj(projectRoot);\n\n const allTargetsHaveTeams = Object.values(signingInfo).reduce((prev, curr) => {\n return prev && !!curr.developmentTeams.length;\n }, true);\n\n if (allTargetsHaveTeams) {\n const teamList = Object.values(signingInfo).reduce<string[]>((prev, curr) => {\n return prev.concat([curr.developmentTeams[0]]);\n }, []);\n Log.log(chalk.dim`\\u203A Auto signing app using team(s): ${teamList.join(', ')}`);\n return true;\n }\n\n const allTargetsHaveProfiles = Object.values(signingInfo).reduce((prev, curr) => {\n return prev && !!curr.provisioningProfiles.length;\n }, true);\n\n if (allTargetsHaveProfiles) {\n // this indicates that the user has manual code signing setup (possibly for production).\n return true;\n }\n return false;\n}\n\nasync function configureCodeSigningAsync(projectRoot: string) {\n const ids = await Security.findIdentitiesAsync();\n\n const id = await resolveCertificateSigningIdentityAsync(projectRoot, ids);\n\n Log.log(`\\u203A Signing and building iOS app with: ${id.codeSigningInfo}`);\n\n setAutoCodeSigningInfoForPbxproj(projectRoot, {\n appleTeamId: id.appleTeamId!,\n });\n return id.appleTeamId!;\n}\n"],"names":["ensureDeviceIsCodeSignedForDeploymentAsync","projectRoot","isCodeSigningConfigured","configureCodeSigningAsync","signingInfo","getCodeSigningInfoForPbxproj","allTargetsHaveTeams","Object","values","reduce","prev","curr","developmentTeams","length","teamList","concat","Log","log","chalk","dim","join","allTargetsHaveProfiles","provisioningProfiles","ids","Security","findIdentitiesAsync","id","resolveCertificateSigningIdentityAsync","codeSigningInfo","setAutoCodeSigningInfoForPbxproj","appleTeamId"],"mappings":";;;;+BAOsBA;;;eAAAA;;;;gEAPJ;;;;;;kEAEQ;mDAC6B;kCACwB;6DAC1D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEd,eAAeA,2CACpBC,WAAmB;IAEnB,IAAIC,wBAAwBD,cAAc;QACxC,OAAO;IACT;IACA,OAAOE,0BAA0BF;AACnC;AAEA,SAASC,wBAAwBD,WAAmB;IAClD,2DAA2D;IAC3D,MAAMG,cAAcC,IAAAA,8CAA4B,EAACJ;IAEjD,MAAMK,sBAAsBC,OAAOC,MAAM,CAACJ,aAAaK,MAAM,CAAC,CAACC,MAAMC;QACnE,OAAOD,QAAQ,CAAC,CAACC,KAAKC,gBAAgB,CAACC,MAAM;IAC/C,GAAG;IAEH,IAAIP,qBAAqB;QACvB,MAAMQ,WAAWP,OAAOC,MAAM,CAACJ,aAAaK,MAAM,CAAW,CAACC,MAAMC;YAClE,OAAOD,KAAKK,MAAM,CAAC;gBAACJ,KAAKC,gBAAgB,CAAC,EAAE;aAAC;QAC/C,GAAG,EAAE;QACLI,KAAIC,GAAG,CAACC,gBAAK,CAACC,GAAG,CAAC,uCAAuC,EAAEL,SAASM,IAAI,CAAC,MAAM,CAAC;QAChF,OAAO;IACT;IAEA,MAAMC,yBAAyBd,OAAOC,MAAM,CAACJ,aAAaK,MAAM,CAAC,CAACC,MAAMC;QACtE,OAAOD,QAAQ,CAAC,CAACC,KAAKW,oBAAoB,CAACT,MAAM;IACnD,GAAG;IAEH,IAAIQ,wBAAwB;QAC1B,wFAAwF;QACxF,OAAO;IACT;IACA,OAAO;AACT;AAEA,eAAelB,0BAA0BF,WAAmB;IAC1D,MAAMsB,MAAM,MAAMC,UAASC,mBAAmB;IAE9C,MAAMC,KAAK,MAAMC,IAAAA,yEAAsC,EAAC1B,aAAasB;IAErEP,KAAIC,GAAG,CAAC,CAAC,0CAA0C,EAAES,GAAGE,eAAe,EAAE;IAEzEC,IAAAA,kDAAgC,EAAC5B,aAAa;QAC5C6B,aAAaJ,GAAGI,WAAW;IAC7B;IACA,OAAOJ,GAAGI,WAAW;AACvB"}
|
|
@@ -9,9 +9,15 @@ function _export(target, all) {
|
|
|
9
9
|
});
|
|
10
10
|
}
|
|
11
11
|
_export(exports, {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
12
|
+
resolveCertificateSigningIdentityAsync: function() {
|
|
13
|
+
return resolveCertificateSigningIdentityAsync;
|
|
14
|
+
},
|
|
15
|
+
selectDevelopmentTeamAsync: function() {
|
|
16
|
+
return selectDevelopmentTeamAsync;
|
|
17
|
+
},
|
|
18
|
+
sortDefaultIdToBeginningAsync: function() {
|
|
19
|
+
return sortDefaultIdToBeginningAsync;
|
|
20
|
+
}
|
|
15
21
|
});
|
|
16
22
|
function _config() {
|
|
17
23
|
const data = require("@expo/config");
|
|
@@ -21,20 +27,20 @@ function _config() {
|
|
|
21
27
|
return data;
|
|
22
28
|
}
|
|
23
29
|
function _chalk() {
|
|
24
|
-
const data = /*#__PURE__*/
|
|
30
|
+
const data = /*#__PURE__*/ _interop_require_default(require("chalk"));
|
|
25
31
|
_chalk = function() {
|
|
26
32
|
return data;
|
|
27
33
|
};
|
|
28
34
|
return data;
|
|
29
35
|
}
|
|
30
|
-
const
|
|
36
|
+
const _Security = /*#__PURE__*/ _interop_require_wildcard(require("./Security"));
|
|
31
37
|
const _settings = require("./settings");
|
|
32
|
-
const _log = /*#__PURE__*/
|
|
38
|
+
const _log = /*#__PURE__*/ _interop_require_wildcard(require("../../../log"));
|
|
33
39
|
const _errors = require("../../../utils/errors");
|
|
34
40
|
const _interactive = require("../../../utils/interactive");
|
|
35
41
|
const _link = require("../../../utils/link");
|
|
36
42
|
const _prompts = require("../../../utils/prompts");
|
|
37
|
-
function
|
|
43
|
+
function _interop_require_default(obj) {
|
|
38
44
|
return obj && obj.__esModule ? obj : {
|
|
39
45
|
default: obj
|
|
40
46
|
};
|
|
@@ -47,7 +53,7 @@ function _getRequireWildcardCache(nodeInterop) {
|
|
|
47
53
|
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
|
48
54
|
})(nodeInterop);
|
|
49
55
|
}
|
|
50
|
-
function
|
|
56
|
+
function _interop_require_wildcard(obj, nodeInterop) {
|
|
51
57
|
if (!nodeInterop && obj && obj.__esModule) {
|
|
52
58
|
return obj;
|
|
53
59
|
}
|
|
@@ -60,7 +66,9 @@ function _interopRequireWildcard(obj, nodeInterop) {
|
|
|
60
66
|
if (cache && cache.has(obj)) {
|
|
61
67
|
return cache.get(obj);
|
|
62
68
|
}
|
|
63
|
-
var newObj = {
|
|
69
|
+
var newObj = {
|
|
70
|
+
__proto__: null
|
|
71
|
+
};
|
|
64
72
|
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
65
73
|
for(var key in obj){
|
|
66
74
|
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
@@ -97,11 +105,11 @@ async function sortDefaultIdToBeginningAsync(identities) {
|
|
|
97
105
|
* This links to an FYI page that was user tested internally.
|
|
98
106
|
*/ function assertCodeSigningSetup() {
|
|
99
107
|
// TODO: We can probably do this too automatically.
|
|
100
|
-
_log.log(`\u203A Your computer requires some additional setup before you can build onto physical iOS devices.\n ${_chalk().default.bold((0, _link.learnMore)(
|
|
101
|
-
throw new _errors.CommandError(
|
|
108
|
+
_log.log(`\u203A Your computer requires some additional setup before you can build onto physical iOS devices.\n ${_chalk().default.bold((0, _link.learnMore)('https://expo.fyi/setup-xcode-signing'))}`);
|
|
109
|
+
throw new _errors.CommandError('No code signing certificates are available to use.');
|
|
102
110
|
}
|
|
103
111
|
async function resolveCertificateSigningIdentityAsync(projectRoot, ids) {
|
|
104
|
-
var
|
|
112
|
+
var _exp_ios;
|
|
105
113
|
// The user has no valid code signing identities.
|
|
106
114
|
if (!ids.length) {
|
|
107
115
|
assertCodeSigningSetup();
|
|
@@ -112,17 +120,17 @@ async function resolveCertificateSigningIdentityAsync(projectRoot, ids) {
|
|
|
112
120
|
if (ids.length === 1 || !(0, _interactive.isInteractive)()) {
|
|
113
121
|
// This method is cheaper than `resolveIdentitiesAsync` and checking the
|
|
114
122
|
// cached user preference so we should use this as early as possible.
|
|
115
|
-
return
|
|
123
|
+
return _Security.resolveCertificateSigningInfoAsync(ids[0]);
|
|
116
124
|
}
|
|
117
125
|
// Get identities and sort by the one that the user is most likely to choose.
|
|
118
|
-
const [identities, preferred] = await sortDefaultIdToBeginningAsync(await
|
|
126
|
+
const [identities, preferred] = await sortDefaultIdToBeginningAsync(await _Security.resolveIdentitiesAsync(ids));
|
|
119
127
|
// Read the config to interact with the `ios.appleTeamId` property
|
|
120
|
-
const { exp
|
|
128
|
+
const { exp } = (0, _config().getConfig)(projectRoot, {
|
|
121
129
|
// We don't need very many fields here, just use the lightest possible read.
|
|
122
130
|
skipSDKVersionRequirement: true,
|
|
123
131
|
skipPlugins: true
|
|
124
132
|
});
|
|
125
|
-
const configuredTeamId = (
|
|
133
|
+
const configuredTeamId = (_exp_ios = exp.ios) == null ? void 0 : _exp_ios.appleTeamId;
|
|
126
134
|
const configuredIdentity = configuredTeamId ? identities.find((identity)=>identity.appleTeamId === configuredTeamId) : undefined;
|
|
127
135
|
const selectedIdentity = configuredIdentity ?? await selectDevelopmentTeamAsync(identities, preferred);
|
|
128
136
|
await Promise.all([
|
|
@@ -134,12 +142,12 @@ async function resolveCertificateSigningIdentityAsync(projectRoot, ids) {
|
|
|
134
142
|
ios: {
|
|
135
143
|
appleTeamId: selectedIdentity.appleTeamId
|
|
136
144
|
}
|
|
137
|
-
})
|
|
145
|
+
})
|
|
138
146
|
]);
|
|
139
147
|
return selectedIdentity;
|
|
140
148
|
}
|
|
141
149
|
async function selectDevelopmentTeamAsync(identities, preferredId) {
|
|
142
|
-
const index = await (0, _prompts.selectAsync)(
|
|
150
|
+
const index = await (0, _prompts.selectAsync)('Development team for signing the app', identities.map((value, i)=>{
|
|
143
151
|
const format = value.signingCertificateId === preferredId ? _chalk().default.bold : (message)=>message;
|
|
144
152
|
return {
|
|
145
153
|
// Formatted like: `650 Industries, Inc. (A1BCDEF234) - Apple Development: Evan Bacon (AA00AABB0A)`
|
|
@@ -147,7 +155,7 @@ async function selectDevelopmentTeamAsync(identities, preferredId) {
|
|
|
147
155
|
value.appleTeamName,
|
|
148
156
|
`(${value.appleTeamId}) -`,
|
|
149
157
|
value.codeSigningInfo
|
|
150
|
-
].join(
|
|
158
|
+
].join(' ')),
|
|
151
159
|
value: i
|
|
152
160
|
};
|
|
153
161
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/run/ios/codeSigning/resolveCertificateSigningIdentity.ts"],"sourcesContent":["import { getConfig, modifyConfigAsync } from '@expo/config';\nimport chalk from 'chalk';\n\nimport * as Security from './Security';\nimport { getLastDeveloperCodeSigningIdAsync, setLastDeveloperCodeSigningIdAsync } from './settings';\nimport * as Log from '../../../log';\nimport { CommandError } from '../../../utils/errors';\nimport { isInteractive } from '../../../utils/interactive';\nimport { learnMore } from '../../../utils/link';\nimport { selectAsync } from '../../../utils/prompts';\n\n/**\n * Sort the code signing items so the last selected item (user's default) is the first suggested.\n */\nexport async function sortDefaultIdToBeginningAsync(\n identities: Security.CertificateSigningInfo[]\n): Promise<[Security.CertificateSigningInfo[], string | null]> {\n const lastSelected = await getLastDeveloperCodeSigningIdAsync();\n\n if (lastSelected) {\n let iterations = 0;\n while (identities[0].signingCertificateId !== lastSelected && iterations < identities.length) {\n identities.push(identities.shift()!);\n iterations++;\n }\n }\n return [identities, lastSelected];\n}\n\n/**\n * Assert that the computer needs code signing setup.\n * This links to an FYI page that was user tested internally.\n */\nfunction assertCodeSigningSetup(): never {\n // TODO: We can probably do this too automatically.\n Log.log(\n `\\u203A Your computer requires some additional setup before you can build onto physical iOS devices.\\n ${chalk.bold(\n learnMore('https://expo.fyi/setup-xcode-signing')\n )}`\n );\n\n throw new CommandError('No code signing certificates are available to use.');\n}\n\n/**\n * Resolve the best certificate signing identity from a given list of IDs.\n * - If no IDs: Assert that the user has to setup code signing.\n * - If one ID: Return the first ID.\n * - If multiple IDs: Ask the user to select one, then store the value to be suggested first next time (since users generally use the same ID).\n */\nexport async function resolveCertificateSigningIdentityAsync(\n projectRoot: string,\n ids: string[]\n): Promise<Security.CertificateSigningInfo> {\n // The user has no valid code signing identities.\n if (!ids.length) {\n assertCodeSigningSetup();\n }\n\n // One ID available 🤝 Program is not interactive\n //\n // using the the first available option\n if (ids.length === 1 || !isInteractive()) {\n // This method is cheaper than `resolveIdentitiesAsync` and checking the\n // cached user preference so we should use this as early as possible.\n return Security.resolveCertificateSigningInfoAsync(ids[0]);\n }\n\n // Get identities and sort by the one that the user is most likely to choose.\n const [identities, preferred] = await sortDefaultIdToBeginningAsync(\n await Security.resolveIdentitiesAsync(ids)\n );\n\n // Read the config to interact with the `ios.appleTeamId` property\n const { exp } = getConfig(projectRoot, {\n // We don't need very many fields here, just use the lightest possible read.\n skipSDKVersionRequirement: true,\n skipPlugins: true,\n });\n const configuredTeamId = exp.ios?.appleTeamId;\n\n const configuredIdentity = configuredTeamId\n ? identities.find((identity) => identity.appleTeamId === configuredTeamId)\n : undefined;\n\n const selectedIdentity =\n configuredIdentity ?? (await selectDevelopmentTeamAsync(identities, preferred));\n\n await Promise.all([\n // Store the last used value and suggest it as the first value\n // next time the user has to select a code signing identity.\n setLastDeveloperCodeSigningIdAsync(selectedIdentity.signingCertificateId),\n // Store the last used team id in the app manifest, when no team id has been configured yet\n configuredTeamId || !selectedIdentity.appleTeamId\n ? Promise.resolve()\n : modifyConfigAsync(projectRoot, { ios: { appleTeamId: selectedIdentity.appleTeamId } }),\n ]);\n\n return selectedIdentity;\n}\n\n/** Prompt the user to select a development team, highlighting the preferred value based on the user history. */\nexport async function selectDevelopmentTeamAsync(\n identities: Security.CertificateSigningInfo[],\n preferredId: string | null\n): Promise<Security.CertificateSigningInfo> {\n const index = await selectAsync(\n 'Development team for signing the app',\n identities.map((value, i) => {\n const format =\n value.signingCertificateId === preferredId ? chalk.bold : (message: string) => message;\n return {\n // Formatted like: `650 Industries, Inc. (A1BCDEF234) - Apple Development: Evan Bacon (AA00AABB0A)`\n title: format(\n [value.appleTeamName, `(${value.appleTeamId}) -`, value.codeSigningInfo].join(' ')\n ),\n value: i,\n };\n })\n );\n\n return identities[index];\n}\n"],"names":["
|
|
1
|
+
{"version":3,"sources":["../../../../../src/run/ios/codeSigning/resolveCertificateSigningIdentity.ts"],"sourcesContent":["import { getConfig, modifyConfigAsync } from '@expo/config';\nimport chalk from 'chalk';\n\nimport * as Security from './Security';\nimport { getLastDeveloperCodeSigningIdAsync, setLastDeveloperCodeSigningIdAsync } from './settings';\nimport * as Log from '../../../log';\nimport { CommandError } from '../../../utils/errors';\nimport { isInteractive } from '../../../utils/interactive';\nimport { learnMore } from '../../../utils/link';\nimport { selectAsync } from '../../../utils/prompts';\n\n/**\n * Sort the code signing items so the last selected item (user's default) is the first suggested.\n */\nexport async function sortDefaultIdToBeginningAsync(\n identities: Security.CertificateSigningInfo[]\n): Promise<[Security.CertificateSigningInfo[], string | null]> {\n const lastSelected = await getLastDeveloperCodeSigningIdAsync();\n\n if (lastSelected) {\n let iterations = 0;\n while (identities[0].signingCertificateId !== lastSelected && iterations < identities.length) {\n identities.push(identities.shift()!);\n iterations++;\n }\n }\n return [identities, lastSelected];\n}\n\n/**\n * Assert that the computer needs code signing setup.\n * This links to an FYI page that was user tested internally.\n */\nfunction assertCodeSigningSetup(): never {\n // TODO: We can probably do this too automatically.\n Log.log(\n `\\u203A Your computer requires some additional setup before you can build onto physical iOS devices.\\n ${chalk.bold(\n learnMore('https://expo.fyi/setup-xcode-signing')\n )}`\n );\n\n throw new CommandError('No code signing certificates are available to use.');\n}\n\n/**\n * Resolve the best certificate signing identity from a given list of IDs.\n * - If no IDs: Assert that the user has to setup code signing.\n * - If one ID: Return the first ID.\n * - If multiple IDs: Ask the user to select one, then store the value to be suggested first next time (since users generally use the same ID).\n */\nexport async function resolveCertificateSigningIdentityAsync(\n projectRoot: string,\n ids: string[]\n): Promise<Security.CertificateSigningInfo> {\n // The user has no valid code signing identities.\n if (!ids.length) {\n assertCodeSigningSetup();\n }\n\n // One ID available 🤝 Program is not interactive\n //\n // using the the first available option\n if (ids.length === 1 || !isInteractive()) {\n // This method is cheaper than `resolveIdentitiesAsync` and checking the\n // cached user preference so we should use this as early as possible.\n return Security.resolveCertificateSigningInfoAsync(ids[0]);\n }\n\n // Get identities and sort by the one that the user is most likely to choose.\n const [identities, preferred] = await sortDefaultIdToBeginningAsync(\n await Security.resolveIdentitiesAsync(ids)\n );\n\n // Read the config to interact with the `ios.appleTeamId` property\n const { exp } = getConfig(projectRoot, {\n // We don't need very many fields here, just use the lightest possible read.\n skipSDKVersionRequirement: true,\n skipPlugins: true,\n });\n const configuredTeamId = exp.ios?.appleTeamId;\n\n const configuredIdentity = configuredTeamId\n ? identities.find((identity) => identity.appleTeamId === configuredTeamId)\n : undefined;\n\n const selectedIdentity =\n configuredIdentity ?? (await selectDevelopmentTeamAsync(identities, preferred));\n\n await Promise.all([\n // Store the last used value and suggest it as the first value\n // next time the user has to select a code signing identity.\n setLastDeveloperCodeSigningIdAsync(selectedIdentity.signingCertificateId),\n // Store the last used team id in the app manifest, when no team id has been configured yet\n configuredTeamId || !selectedIdentity.appleTeamId\n ? Promise.resolve()\n : modifyConfigAsync(projectRoot, { ios: { appleTeamId: selectedIdentity.appleTeamId } }),\n ]);\n\n return selectedIdentity;\n}\n\n/** Prompt the user to select a development team, highlighting the preferred value based on the user history. */\nexport async function selectDevelopmentTeamAsync(\n identities: Security.CertificateSigningInfo[],\n preferredId: string | null\n): Promise<Security.CertificateSigningInfo> {\n const index = await selectAsync(\n 'Development team for signing the app',\n identities.map((value, i) => {\n const format =\n value.signingCertificateId === preferredId ? chalk.bold : (message: string) => message;\n return {\n // Formatted like: `650 Industries, Inc. (A1BCDEF234) - Apple Development: Evan Bacon (AA00AABB0A)`\n title: format(\n [value.appleTeamName, `(${value.appleTeamId}) -`, value.codeSigningInfo].join(' ')\n ),\n value: i,\n };\n })\n );\n\n return identities[index];\n}\n"],"names":["resolveCertificateSigningIdentityAsync","selectDevelopmentTeamAsync","sortDefaultIdToBeginningAsync","identities","lastSelected","getLastDeveloperCodeSigningIdAsync","iterations","signingCertificateId","length","push","shift","assertCodeSigningSetup","Log","log","chalk","bold","learnMore","CommandError","projectRoot","ids","exp","isInteractive","Security","resolveCertificateSigningInfoAsync","preferred","resolveIdentitiesAsync","getConfig","skipSDKVersionRequirement","skipPlugins","configuredTeamId","ios","appleTeamId","configuredIdentity","find","identity","undefined","selectedIdentity","Promise","all","setLastDeveloperCodeSigningIdAsync","resolve","modifyConfigAsync","preferredId","index","selectAsync","map","value","i","format","message","title","appleTeamName","codeSigningInfo","join"],"mappings":";;;;;;;;;;;IAkDsBA,sCAAsC;eAAtCA;;IAoDAC,0BAA0B;eAA1BA;;IAxFAC,6BAA6B;eAA7BA;;;;yBAduB;;;;;;;gEAC3B;;;;;;kEAEQ;0BAC6D;6DAClE;wBACQ;6BACC;sBACJ;yBACE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKrB,eAAeA,8BACpBC,UAA6C;IAE7C,MAAMC,eAAe,MAAMC,IAAAA,4CAAkC;IAE7D,IAAID,cAAc;QAChB,IAAIE,aAAa;QACjB,MAAOH,UAAU,CAAC,EAAE,CAACI,oBAAoB,KAAKH,gBAAgBE,aAAaH,WAAWK,MAAM,CAAE;YAC5FL,WAAWM,IAAI,CAACN,WAAWO,KAAK;YAChCJ;QACF;IACF;IACA,OAAO;QAACH;QAAYC;KAAa;AACnC;AAEA;;;CAGC,GACD,SAASO;IACP,mDAAmD;IACnDC,KAAIC,GAAG,CACL,CAAC,uGAAuG,EAAEC,gBAAK,CAACC,IAAI,CAClHC,IAAAA,eAAS,EAAC,0CACT;IAGL,MAAM,IAAIC,oBAAY,CAAC;AACzB;AAQO,eAAejB,uCACpBkB,WAAmB,EACnBC,GAAa;QA2BYC;IAzBzB,iDAAiD;IACjD,IAAI,CAACD,IAAIX,MAAM,EAAE;QACfG;IACF;IAEA,kDAAkD;IAClD,EAAE;IACF,2CAA2C;IAC3C,IAAIQ,IAAIX,MAAM,KAAK,KAAK,CAACa,IAAAA,0BAAa,KAAI;QACxC,wEAAwE;QACxE,qEAAqE;QACrE,OAAOC,UAASC,kCAAkC,CAACJ,GAAG,CAAC,EAAE;IAC3D;IAEA,6EAA6E;IAC7E,MAAM,CAAChB,YAAYqB,UAAU,GAAG,MAAMtB,8BACpC,MAAMoB,UAASG,sBAAsB,CAACN;IAGxC,kEAAkE;IAClE,MAAM,EAAEC,GAAG,EAAE,GAAGM,IAAAA,mBAAS,EAACR,aAAa;QACrC,4EAA4E;QAC5ES,2BAA2B;QAC3BC,aAAa;IACf;IACA,MAAMC,oBAAmBT,WAAAA,IAAIU,GAAG,qBAAPV,SAASW,WAAW;IAE7C,MAAMC,qBAAqBH,mBACvB1B,WAAW8B,IAAI,CAAC,CAACC,WAAaA,SAASH,WAAW,KAAKF,oBACvDM;IAEJ,MAAMC,mBACJJ,sBAAuB,MAAM/B,2BAA2BE,YAAYqB;IAEtE,MAAMa,QAAQC,GAAG,CAAC;QAChB,8DAA8D;QAC9D,4DAA4D;QAC5DC,IAAAA,4CAAkC,EAACH,iBAAiB7B,oBAAoB;QACxE,2FAA2F;QAC3FsB,oBAAoB,CAACO,iBAAiBL,WAAW,GAC7CM,QAAQG,OAAO,KACfC,IAAAA,2BAAiB,EAACvB,aAAa;YAAEY,KAAK;gBAAEC,aAAaK,iBAAiBL,WAAW;YAAC;QAAE;KACzF;IAED,OAAOK;AACT;AAGO,eAAenC,2BACpBE,UAA6C,EAC7CuC,WAA0B;IAE1B,MAAMC,QAAQ,MAAMC,IAAAA,oBAAW,EAC7B,wCACAzC,WAAW0C,GAAG,CAAC,CAACC,OAAOC;QACrB,MAAMC,SACJF,MAAMvC,oBAAoB,KAAKmC,cAAc5B,gBAAK,CAACC,IAAI,GAAG,CAACkC,UAAoBA;QACjF,OAAO;YACL,mGAAmG;YACnGC,OAAOF,OACL;gBAACF,MAAMK,aAAa;gBAAE,CAAC,CAAC,EAAEL,MAAMf,WAAW,CAAC,GAAG,CAAC;gBAAEe,MAAMM,eAAe;aAAC,CAACC,IAAI,CAAC;YAEhFP,OAAOC;QACT;IACF;IAGF,OAAO5C,UAAU,CAACwC,MAAM;AAC1B"}
|
|
@@ -9,15 +9,19 @@ function _export(target, all) {
|
|
|
9
9
|
});
|
|
10
10
|
}
|
|
11
11
|
_export(exports, {
|
|
12
|
-
getLastDeveloperCodeSigningIdAsync: ()
|
|
13
|
-
|
|
12
|
+
getLastDeveloperCodeSigningIdAsync: function() {
|
|
13
|
+
return getLastDeveloperCodeSigningIdAsync;
|
|
14
|
+
},
|
|
15
|
+
setLastDeveloperCodeSigningIdAsync: function() {
|
|
16
|
+
return setLastDeveloperCodeSigningIdAsync;
|
|
17
|
+
}
|
|
14
18
|
});
|
|
15
|
-
const
|
|
19
|
+
const _UserSettings = require("../../../api/user/UserSettings");
|
|
16
20
|
async function getLastDeveloperCodeSigningIdAsync() {
|
|
17
|
-
return await (0,
|
|
21
|
+
return await (0, _UserSettings.getSettings)().getAsync('developmentCodeSigningId', null);
|
|
18
22
|
}
|
|
19
23
|
async function setLastDeveloperCodeSigningIdAsync(id) {
|
|
20
|
-
await (0,
|
|
24
|
+
await (0, _UserSettings.getSettings)().setAsync('developmentCodeSigningId', id).catch(()=>{});
|
|
21
25
|
}
|
|
22
26
|
|
|
23
27
|
//# sourceMappingURL=settings.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/run/ios/codeSigning/settings.ts"],"sourcesContent":["import { getSettings } from '../../../api/user/UserSettings';\n\n/** Get the cached code signing ID from the last time a user configured code signing via the CLI. */\nexport async function getLastDeveloperCodeSigningIdAsync(): Promise<string | null> {\n return await getSettings().getAsync('developmentCodeSigningId', null);\n}\n\n/** Cache the code signing ID that the user chose for their project, we'll recommend this value for the next project they code sign. */\nexport async function setLastDeveloperCodeSigningIdAsync(id: string): Promise<void> {\n await getSettings()\n .setAsync('developmentCodeSigningId', id)\n .catch(() => {});\n}\n"],"names":["getLastDeveloperCodeSigningIdAsync","setLastDeveloperCodeSigningIdAsync","getSettings","getAsync","id","setAsync","catch"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../../../src/run/ios/codeSigning/settings.ts"],"sourcesContent":["import { getSettings } from '../../../api/user/UserSettings';\n\n/** Get the cached code signing ID from the last time a user configured code signing via the CLI. */\nexport async function getLastDeveloperCodeSigningIdAsync(): Promise<string | null> {\n return await getSettings().getAsync('developmentCodeSigningId', null);\n}\n\n/** Cache the code signing ID that the user chose for their project, we'll recommend this value for the next project they code sign. */\nexport async function setLastDeveloperCodeSigningIdAsync(id: string): Promise<void> {\n await getSettings()\n .setAsync('developmentCodeSigningId', id)\n .catch(() => {});\n}\n"],"names":["getLastDeveloperCodeSigningIdAsync","setLastDeveloperCodeSigningIdAsync","getSettings","getAsync","id","setAsync","catch"],"mappings":";;;;;;;;;;;IAGsBA,kCAAkC;eAAlCA;;IAKAC,kCAAkC;eAAlCA;;;8BARM;AAGrB,eAAeD;IACpB,OAAO,MAAME,IAAAA,yBAAW,IAAGC,QAAQ,CAAC,4BAA4B;AAClE;AAGO,eAAeF,mCAAmCG,EAAU;IACjE,MAAMF,IAAAA,yBAAW,IACdG,QAAQ,CAAC,4BAA4BD,IACrCE,KAAK,CAAC,KAAO;AAClB"}
|