@expo/cli 0.0.0-bisect-20240612-0
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/README.md +144 -0
- package/build/bin/cli +260 -0
- package/build/bin/cli.map +1 -0
- package/build/src/api/endpoint.js +35 -0
- package/build/src/api/endpoint.js.map +1 -0
- package/build/src/api/getExpoGoIntermediateCertificate.js +22 -0
- package/build/src/api/getExpoGoIntermediateCertificate.js.map +1 -0
- package/build/src/api/getExpoSchema.js +89 -0
- package/build/src/api/getExpoSchema.js.map +1 -0
- package/build/src/api/getNativeModuleVersions.js +34 -0
- package/build/src/api/getNativeModuleVersions.js.map +1 -0
- package/build/src/api/getProjectDevelopmentCertificate.js +25 -0
- package/build/src/api/getProjectDevelopmentCertificate.js.map +1 -0
- package/build/src/api/getVersions.js +27 -0
- package/build/src/api/getVersions.js.map +1 -0
- package/build/src/api/graphql/client.js +144 -0
- package/build/src/api/graphql/client.js.map +1 -0
- package/build/src/api/graphql/queries/AppQuery.js +53 -0
- package/build/src/api/graphql/queries/AppQuery.js.map +1 -0
- package/build/src/api/graphql/queries/UserQuery.js +59 -0
- package/build/src/api/graphql/queries/UserQuery.js.map +1 -0
- package/build/src/api/graphql/types/App.js +31 -0
- package/build/src/api/graphql/types/App.js.map +1 -0
- package/build/src/api/rest/cache/FileSystemCache.js +93 -0
- package/build/src/api/rest/cache/FileSystemCache.js.map +1 -0
- package/build/src/api/rest/cache/response.js +40 -0
- package/build/src/api/rest/cache/response.js.map +1 -0
- package/build/src/api/rest/cache/wrapFetchWithCache.js +189 -0
- package/build/src/api/rest/cache/wrapFetchWithCache.js.map +1 -0
- package/build/src/api/rest/client.js +134 -0
- package/build/src/api/rest/client.js.map +1 -0
- package/build/src/api/rest/client.types.js +6 -0
- package/build/src/api/rest/client.types.js.map +1 -0
- package/build/src/api/rest/wrapFetchWithBaseUrl.js +31 -0
- package/build/src/api/rest/wrapFetchWithBaseUrl.js.map +1 -0
- package/build/src/api/rest/wrapFetchWithOffline.js +22 -0
- package/build/src/api/rest/wrapFetchWithOffline.js.map +1 -0
- package/build/src/api/rest/wrapFetchWithProgress.js +85 -0
- package/build/src/api/rest/wrapFetchWithProgress.js.map +1 -0
- package/build/src/api/rest/wrapFetchWithProxy.js +35 -0
- package/build/src/api/rest/wrapFetchWithProxy.js.map +1 -0
- package/build/src/api/settings.js +31 -0
- package/build/src/api/settings.js.map +1 -0
- package/build/src/api/updateDevelopmentSession.js +94 -0
- package/build/src/api/updateDevelopmentSession.js.map +1 -0
- package/build/src/api/user/UserSettings.js +91 -0
- package/build/src/api/user/UserSettings.js.map +1 -0
- package/build/src/api/user/actions.js +144 -0
- package/build/src/api/user/actions.js.map +1 -0
- package/build/src/api/user/expoSsoLauncher.js +172 -0
- package/build/src/api/user/expoSsoLauncher.js.map +1 -0
- package/build/src/api/user/otp.js +171 -0
- package/build/src/api/user/otp.js.map +1 -0
- package/build/src/api/user/user.js +176 -0
- package/build/src/api/user/user.js.map +1 -0
- package/build/src/config/configAsync.js +174 -0
- package/build/src/config/configAsync.js.map +1 -0
- package/build/src/config/index.js +97 -0
- package/build/src/config/index.js.map +1 -0
- package/build/src/customize/customizeAsync.js +53 -0
- package/build/src/customize/customizeAsync.js.map +1 -0
- package/build/src/customize/generate.js +131 -0
- package/build/src/customize/generate.js.map +1 -0
- package/build/src/customize/index.js +49 -0
- package/build/src/customize/index.js.map +1 -0
- package/build/src/customize/resolveOptions.js +21 -0
- package/build/src/customize/resolveOptions.js.map +1 -0
- package/build/src/customize/templates.js +147 -0
- package/build/src/customize/templates.js.map +1 -0
- package/build/src/customize/typescript.js +77 -0
- package/build/src/customize/typescript.js.map +1 -0
- package/build/src/export/createMetadataJson.js +49 -0
- package/build/src/export/createMetadataJson.js.map +1 -0
- package/build/src/export/embed/exportEmbedAsync.js +310 -0
- package/build/src/export/embed/exportEmbedAsync.js.map +1 -0
- package/build/src/export/embed/index.js +139 -0
- package/build/src/export/embed/index.js.map +1 -0
- package/build/src/export/embed/resolveOptions.js +67 -0
- package/build/src/export/embed/resolveOptions.js.map +1 -0
- package/build/src/export/embed/xcodeCompilerLogger.js +121 -0
- package/build/src/export/embed/xcodeCompilerLogger.js.map +1 -0
- package/build/src/export/exportApp.js +279 -0
- package/build/src/export/exportApp.js.map +1 -0
- package/build/src/export/exportAssets.js +214 -0
- package/build/src/export/exportAssets.js.map +1 -0
- package/build/src/export/exportAsync.js +85 -0
- package/build/src/export/exportAsync.js.map +1 -0
- package/build/src/export/exportHermes.js +159 -0
- package/build/src/export/exportHermes.js.map +1 -0
- package/build/src/export/exportStaticAsync.js +348 -0
- package/build/src/export/exportStaticAsync.js.map +1 -0
- package/build/src/export/favicon.js +132 -0
- package/build/src/export/favicon.js.map +1 -0
- package/build/src/export/getPublicExpoManifest.js +37 -0
- package/build/src/export/getPublicExpoManifest.js.map +1 -0
- package/build/src/export/getResolvedLocales.js +50 -0
- package/build/src/export/getResolvedLocales.js.map +1 -0
- package/build/src/export/html.js +29 -0
- package/build/src/export/html.js.map +1 -0
- package/build/src/export/index.js +115 -0
- package/build/src/export/index.js.map +1 -0
- package/build/src/export/metroAssetLocalPath.js +124 -0
- package/build/src/export/metroAssetLocalPath.js.map +1 -0
- package/build/src/export/persistMetroAssets.js +228 -0
- package/build/src/export/persistMetroAssets.js.map +1 -0
- package/build/src/export/publicFolder.js +54 -0
- package/build/src/export/publicFolder.js.map +1 -0
- package/build/src/export/resolveOptions.js +81 -0
- package/build/src/export/resolveOptions.js.map +1 -0
- package/build/src/export/saveAssets.js +195 -0
- package/build/src/export/saveAssets.js.map +1 -0
- package/build/src/export/web/exportWebAsync.js +55 -0
- package/build/src/export/web/exportWebAsync.js.map +1 -0
- package/build/src/export/web/index.js +88 -0
- package/build/src/export/web/index.js.map +1 -0
- package/build/src/export/web/resolveOptions.js +16 -0
- package/build/src/export/web/resolveOptions.js.map +1 -0
- package/build/src/export/writeContents.js +31 -0
- package/build/src/export/writeContents.js.map +1 -0
- package/build/src/graphql/generated.js +499 -0
- package/build/src/graphql/generated.js.map +1 -0
- package/build/src/install/applyPlugins.js +76 -0
- package/build/src/install/applyPlugins.js.map +1 -0
- package/build/src/install/checkPackages.js +110 -0
- package/build/src/install/checkPackages.js.map +1 -0
- package/build/src/install/fixPackages.js +107 -0
- package/build/src/install/fixPackages.js.map +1 -0
- package/build/src/install/index.js +59 -0
- package/build/src/install/index.js.map +1 -0
- package/build/src/install/installAsync.js +192 -0
- package/build/src/install/installAsync.js.map +1 -0
- package/build/src/install/installExpoPackage.js +112 -0
- package/build/src/install/installExpoPackage.js.map +1 -0
- package/build/src/install/resolveOptions.js +56 -0
- package/build/src/install/resolveOptions.js.map +1 -0
- package/build/src/install/utils/autoAddConfigPlugins.js +86 -0
- package/build/src/install/utils/autoAddConfigPlugins.js.map +1 -0
- package/build/src/lint/ESlintPrerequisite.js +174 -0
- package/build/src/lint/ESlintPrerequisite.js.map +1 -0
- package/build/src/lint/index.js +66 -0
- package/build/src/lint/index.js.map +1 -0
- package/build/src/lint/lintAsync.js +33 -0
- package/build/src/lint/lintAsync.js.map +1 -0
- package/build/src/log.js +86 -0
- package/build/src/log.js.map +1 -0
- package/build/src/login/index.js +84 -0
- package/build/src/login/index.js.map +1 -0
- package/build/src/logout/index.js +66 -0
- package/build/src/logout/index.js.map +1 -0
- package/build/src/prebuild/clearNativeFolder.js +190 -0
- package/build/src/prebuild/clearNativeFolder.js.map +1 -0
- package/build/src/prebuild/configureProjectAsync.js +103 -0
- package/build/src/prebuild/configureProjectAsync.js.map +1 -0
- package/build/src/prebuild/copyTemplateFiles.js +91 -0
- package/build/src/prebuild/copyTemplateFiles.js.map +1 -0
- package/build/src/prebuild/ensureConfigAsync.js +119 -0
- package/build/src/prebuild/ensureConfigAsync.js.map +1 -0
- package/build/src/prebuild/index.js +118 -0
- package/build/src/prebuild/index.js.map +1 -0
- package/build/src/prebuild/prebuildAsync.js +170 -0
- package/build/src/prebuild/prebuildAsync.js.map +1 -0
- package/build/src/prebuild/renameTemplateAppName.js +124 -0
- package/build/src/prebuild/renameTemplateAppName.js.map +1 -0
- package/build/src/prebuild/resolveOptions.js +164 -0
- package/build/src/prebuild/resolveOptions.js.map +1 -0
- package/build/src/prebuild/resolveTemplate.js +229 -0
- package/build/src/prebuild/resolveTemplate.js.map +1 -0
- package/build/src/prebuild/updateFromTemplate.js +143 -0
- package/build/src/prebuild/updateFromTemplate.js.map +1 -0
- package/build/src/prebuild/updatePackageJson.js +284 -0
- package/build/src/prebuild/updatePackageJson.js.map +1 -0
- package/build/src/prebuild/validateTemplatePlatforms.js +81 -0
- package/build/src/prebuild/validateTemplatePlatforms.js.map +1 -0
- package/build/src/register/index.js +66 -0
- package/build/src/register/index.js.map +1 -0
- package/build/src/register/registerAsync.js +37 -0
- package/build/src/register/registerAsync.js.map +1 -0
- package/build/src/run/android/index.js +129 -0
- package/build/src/run/android/index.js.map +1 -0
- package/build/src/run/android/resolveDevice.js +26 -0
- package/build/src/run/android/resolveDevice.js.map +1 -0
- package/build/src/run/android/resolveGradlePropsAsync.js +64 -0
- package/build/src/run/android/resolveGradlePropsAsync.js.map +1 -0
- package/build/src/run/android/resolveInstallApkName.js +65 -0
- package/build/src/run/android/resolveInstallApkName.js.map +1 -0
- package/build/src/run/android/resolveLaunchProps.js +41 -0
- package/build/src/run/android/resolveLaunchProps.js.map +1 -0
- package/build/src/run/android/resolveOptions.js +30 -0
- package/build/src/run/android/resolveOptions.js.map +1 -0
- package/build/src/run/android/runAndroidAsync.js +95 -0
- package/build/src/run/android/runAndroidAsync.js.map +1 -0
- package/build/src/run/ensureNativeProject.js +51 -0
- package/build/src/run/ensureNativeProject.js.map +1 -0
- package/build/src/run/hints.js +40 -0
- package/build/src/run/hints.js.map +1 -0
- package/build/src/run/index.js +121 -0
- package/build/src/run/index.js.map +1 -0
- package/build/src/run/ios/XcodeBuild.js +336 -0
- package/build/src/run/ios/XcodeBuild.js.map +1 -0
- package/build/src/run/ios/XcodeBuild.types.js +6 -0
- package/build/src/run/ios/XcodeBuild.types.js.map +1 -0
- package/build/src/run/ios/appleDevice/AppleDevice.js +310 -0
- package/build/src/run/ios/appleDevice/AppleDevice.js.map +1 -0
- package/build/src/run/ios/appleDevice/ClientManager.js +204 -0
- package/build/src/run/ios/appleDevice/ClientManager.js.map +1 -0
- package/build/src/run/ios/appleDevice/client/AFCClient.js +245 -0
- package/build/src/run/ios/appleDevice/client/AFCClient.js.map +1 -0
- package/build/src/run/ios/appleDevice/client/DebugserverClient.js +146 -0
- package/build/src/run/ios/appleDevice/client/DebugserverClient.js.map +1 -0
- package/build/src/run/ios/appleDevice/client/InstallationProxyClient.js +112 -0
- package/build/src/run/ios/appleDevice/client/InstallationProxyClient.js.map +1 -0
- package/build/src/run/ios/appleDevice/client/LockdowndClient.js +183 -0
- package/build/src/run/ios/appleDevice/client/LockdowndClient.js.map +1 -0
- package/build/src/run/ios/appleDevice/client/MobileImageMounterClient.js +129 -0
- package/build/src/run/ios/appleDevice/client/MobileImageMounterClient.js.map +1 -0
- package/build/src/run/ios/appleDevice/client/ServiceClient.js +35 -0
- package/build/src/run/ios/appleDevice/client/ServiceClient.js.map +1 -0
- package/build/src/run/ios/appleDevice/client/UsbmuxdClient.js +144 -0
- package/build/src/run/ios/appleDevice/client/UsbmuxdClient.js.map +1 -0
- package/build/src/run/ios/appleDevice/installOnDeviceAsync.js +148 -0
- package/build/src/run/ios/appleDevice/installOnDeviceAsync.js.map +1 -0
- package/build/src/run/ios/appleDevice/protocol/AFCProtocol.js +351 -0
- package/build/src/run/ios/appleDevice/protocol/AFCProtocol.js.map +1 -0
- package/build/src/run/ios/appleDevice/protocol/AbstractProtocol.js +159 -0
- package/build/src/run/ios/appleDevice/protocol/AbstractProtocol.js.map +1 -0
- package/build/src/run/ios/appleDevice/protocol/GDBProtocol.js +145 -0
- package/build/src/run/ios/appleDevice/protocol/GDBProtocol.js.map +1 -0
- package/build/src/run/ios/appleDevice/protocol/LockdownProtocol.js +99 -0
- package/build/src/run/ios/appleDevice/protocol/LockdownProtocol.js.map +1 -0
- package/build/src/run/ios/appleDevice/protocol/UsbmuxProtocol.js +90 -0
- package/build/src/run/ios/appleDevice/protocol/UsbmuxProtocol.js.map +1 -0
- package/build/src/run/ios/codeSigning/Security.js +104 -0
- package/build/src/run/ios/codeSigning/Security.js.map +1 -0
- package/build/src/run/ios/codeSigning/configureCodeSigning.js +104 -0
- package/build/src/run/ios/codeSigning/configureCodeSigning.js.map +1 -0
- package/build/src/run/ios/codeSigning/resolveCertificateSigningIdentity.js +133 -0
- package/build/src/run/ios/codeSigning/resolveCertificateSigningIdentity.js.map +1 -0
- package/build/src/run/ios/codeSigning/settings.js +29 -0
- package/build/src/run/ios/codeSigning/settings.js.map +1 -0
- package/build/src/run/ios/codeSigning/simulatorCodeSigning.js +65 -0
- package/build/src/run/ios/codeSigning/simulatorCodeSigning.js.map +1 -0
- package/build/src/run/ios/codeSigning/xcodeCodeSigning.js +97 -0
- package/build/src/run/ios/codeSigning/xcodeCodeSigning.js.map +1 -0
- package/build/src/run/ios/index.js +126 -0
- package/build/src/run/ios/index.js.map +1 -0
- package/build/src/run/ios/launchApp.js +113 -0
- package/build/src/run/ios/launchApp.js.map +1 -0
- package/build/src/run/ios/options/appleDestinations.js +124 -0
- package/build/src/run/ios/options/appleDestinations.js.map +1 -0
- package/build/src/run/ios/options/promptDevice.js +60 -0
- package/build/src/run/ios/options/promptDevice.js.map +1 -0
- package/build/src/run/ios/options/resolveDevice.js +147 -0
- package/build/src/run/ios/options/resolveDevice.js.map +1 -0
- package/build/src/run/ios/options/resolveNativeScheme.js +142 -0
- package/build/src/run/ios/options/resolveNativeScheme.js.map +1 -0
- package/build/src/run/ios/options/resolveOptions.js +50 -0
- package/build/src/run/ios/options/resolveOptions.js.map +1 -0
- package/build/src/run/ios/options/resolveXcodeProject.js +48 -0
- package/build/src/run/ios/options/resolveXcodeProject.js.map +1 -0
- package/build/src/run/ios/runIosAsync.js +122 -0
- package/build/src/run/ios/runIosAsync.js.map +1 -0
- package/build/src/run/resolveBundlerProps.js +37 -0
- package/build/src/run/resolveBundlerProps.js.map +1 -0
- package/build/src/run/startBundler.js +116 -0
- package/build/src/run/startBundler.js.map +1 -0
- package/build/src/start/detectDevClient.js +32 -0
- package/build/src/start/detectDevClient.js.map +1 -0
- package/build/src/start/doctor/Prerequisite.js +55 -0
- package/build/src/start/doctor/Prerequisite.js.map +1 -0
- package/build/src/start/doctor/SecurityBinPrerequisite.js +36 -0
- package/build/src/start/doctor/SecurityBinPrerequisite.js.map +1 -0
- package/build/src/start/doctor/apple/SimulatorAppPrerequisite.js +103 -0
- package/build/src/start/doctor/apple/SimulatorAppPrerequisite.js.map +1 -0
- package/build/src/start/doctor/apple/XcodeDeveloperDiskImagePrerequisite.js +102 -0
- package/build/src/start/doctor/apple/XcodeDeveloperDiskImagePrerequisite.js.map +1 -0
- package/build/src/start/doctor/apple/XcodePrerequisite.js +233 -0
- package/build/src/start/doctor/apple/XcodePrerequisite.js.map +1 -0
- package/build/src/start/doctor/apple/XcrunPrerequisite.js +86 -0
- package/build/src/start/doctor/apple/XcrunPrerequisite.js.map +1 -0
- package/build/src/start/doctor/dependencies/bundledNativeModules.js +108 -0
- package/build/src/start/doctor/dependencies/bundledNativeModules.js.map +1 -0
- package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js +186 -0
- package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js.map +1 -0
- package/build/src/start/doctor/dependencies/getMissingPackages.js +100 -0
- package/build/src/start/doctor/dependencies/getMissingPackages.js.map +1 -0
- package/build/src/start/doctor/dependencies/getVersionedPackages.js +157 -0
- package/build/src/start/doctor/dependencies/getVersionedPackages.js.map +1 -0
- package/build/src/start/doctor/dependencies/resolvePackages.js +90 -0
- package/build/src/start/doctor/dependencies/resolvePackages.js.map +1 -0
- package/build/src/start/doctor/dependencies/validateDependenciesVersions.js +200 -0
- package/build/src/start/doctor/dependencies/validateDependenciesVersions.js.map +1 -0
- package/build/src/start/doctor/ngrok/ExternalModule.js +218 -0
- package/build/src/start/doctor/ngrok/ExternalModule.js.map +1 -0
- package/build/src/start/doctor/ngrok/NgrokResolver.js +29 -0
- package/build/src/start/doctor/ngrok/NgrokResolver.js.map +1 -0
- package/build/src/start/doctor/typescript/TypeScriptProjectPrerequisite.js +195 -0
- package/build/src/start/doctor/typescript/TypeScriptProjectPrerequisite.js.map +1 -0
- package/build/src/start/doctor/typescript/updateTSConfig.js +140 -0
- package/build/src/start/doctor/typescript/updateTSConfig.js.map +1 -0
- package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js +154 -0
- package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js.map +1 -0
- package/build/src/start/index.js +143 -0
- package/build/src/start/index.js.map +1 -0
- package/build/src/start/interface/KeyPressHandler.js +122 -0
- package/build/src/start/interface/KeyPressHandler.js.map +1 -0
- package/build/src/start/interface/commandsTable.js +235 -0
- package/build/src/start/interface/commandsTable.js.map +1 -0
- package/build/src/start/interface/interactiveActions.js +244 -0
- package/build/src/start/interface/interactiveActions.js.map +1 -0
- package/build/src/start/interface/startInterface.js +254 -0
- package/build/src/start/interface/startInterface.js.map +1 -0
- package/build/src/start/platforms/AppIdResolver.js +53 -0
- package/build/src/start/platforms/AppIdResolver.js.map +1 -0
- package/build/src/start/platforms/DeviceManager.js +70 -0
- package/build/src/start/platforms/DeviceManager.js.map +1 -0
- package/build/src/start/platforms/ExpoGoInstaller.js +163 -0
- package/build/src/start/platforms/ExpoGoInstaller.js.map +1 -0
- package/build/src/start/platforms/PlatformManager.js +158 -0
- package/build/src/start/platforms/PlatformManager.js.map +1 -0
- package/build/src/start/platforms/android/ADBServer.js +136 -0
- package/build/src/start/platforms/android/ADBServer.js.map +1 -0
- package/build/src/start/platforms/android/AndroidAppIdResolver.js +52 -0
- package/build/src/start/platforms/android/AndroidAppIdResolver.js.map +1 -0
- package/build/src/start/platforms/android/AndroidDeviceManager.js +218 -0
- package/build/src/start/platforms/android/AndroidDeviceManager.js.map +1 -0
- package/build/src/start/platforms/android/AndroidPlatformManager.js +38 -0
- package/build/src/start/platforms/android/AndroidPlatformManager.js.map +1 -0
- package/build/src/start/platforms/android/AndroidSdk.js +68 -0
- package/build/src/start/platforms/android/AndroidSdk.js.map +1 -0
- package/build/src/start/platforms/android/activateWindow.js +113 -0
- package/build/src/start/platforms/android/activateWindow.js.map +1 -0
- package/build/src/start/platforms/android/adb.js +310 -0
- package/build/src/start/platforms/android/adb.js.map +1 -0
- package/build/src/start/platforms/android/adbReverse.js +121 -0
- package/build/src/start/platforms/android/adbReverse.js.map +1 -0
- package/build/src/start/platforms/android/emulator.js +175 -0
- package/build/src/start/platforms/android/emulator.js.map +1 -0
- package/build/src/start/platforms/android/getDevices.js +37 -0
- package/build/src/start/platforms/android/getDevices.js.map +1 -0
- package/build/src/start/platforms/android/gradle.js +110 -0
- package/build/src/start/platforms/android/gradle.js.map +1 -0
- package/build/src/start/platforms/android/promptAndroidDevice.js +62 -0
- package/build/src/start/platforms/android/promptAndroidDevice.js.map +1 -0
- package/build/src/start/platforms/ios/AppleAppIdResolver.js +74 -0
- package/build/src/start/platforms/ios/AppleAppIdResolver.js.map +1 -0
- package/build/src/start/platforms/ios/AppleDeviceManager.js +278 -0
- package/build/src/start/platforms/ios/AppleDeviceManager.js.map +1 -0
- package/build/src/start/platforms/ios/ApplePlatformManager.js +34 -0
- package/build/src/start/platforms/ios/ApplePlatformManager.js.map +1 -0
- package/build/src/start/platforms/ios/assertSystemRequirements.js +20 -0
- package/build/src/start/platforms/ios/assertSystemRequirements.js.map +1 -0
- package/build/src/start/platforms/ios/devicectl.js +371 -0
- package/build/src/start/platforms/ios/devicectl.js.map +1 -0
- package/build/src/start/platforms/ios/ensureSimulatorAppRunning.js +118 -0
- package/build/src/start/platforms/ios/ensureSimulatorAppRunning.js.map +1 -0
- package/build/src/start/platforms/ios/getBestSimulator.js +131 -0
- package/build/src/start/platforms/ios/getBestSimulator.js.map +1 -0
- package/build/src/start/platforms/ios/promptAppleDevice.js +68 -0
- package/build/src/start/platforms/ios/promptAppleDevice.js.map +1 -0
- package/build/src/start/platforms/ios/simctl.js +352 -0
- package/build/src/start/platforms/ios/simctl.js.map +1 -0
- package/build/src/start/platforms/ios/simctlLogging.js +273 -0
- package/build/src/start/platforms/ios/simctlLogging.js.map +1 -0
- package/build/src/start/platforms/ios/xcrun.js +61 -0
- package/build/src/start/platforms/ios/xcrun.js.map +1 -0
- package/build/src/start/project/devices.js +82 -0
- package/build/src/start/project/devices.js.map +1 -0
- package/build/src/start/project/dotExpo.js +100 -0
- package/build/src/start/project/dotExpo.js.map +1 -0
- package/build/src/start/project/settings.js +15 -0
- package/build/src/start/project/settings.js.map +1 -0
- package/build/src/start/resolveOptions.js +160 -0
- package/build/src/start/resolveOptions.js.map +1 -0
- package/build/src/start/server/AsyncNgrok.js +263 -0
- package/build/src/start/server/AsyncNgrok.js.map +1 -0
- package/build/src/start/server/BundlerDevServer.js +395 -0
- package/build/src/start/server/BundlerDevServer.js.map +1 -0
- package/build/src/start/server/DevServerManager.js +256 -0
- package/build/src/start/server/DevServerManager.js.map +1 -0
- package/build/src/start/server/DevToolsPluginManager.js +80 -0
- package/build/src/start/server/DevToolsPluginManager.js.map +1 -0
- package/build/src/start/server/DevelopmentSession.js +138 -0
- package/build/src/start/server/DevelopmentSession.js.map +1 -0
- package/build/src/start/server/ReactDevToolsProxy.js +99 -0
- package/build/src/start/server/ReactDevToolsProxy.js.map +1 -0
- package/build/src/start/server/UrlCreator.js +209 -0
- package/build/src/start/server/UrlCreator.js.map +1 -0
- package/build/src/start/server/getStaticRenderFunctions.js +157 -0
- package/build/src/start/server/getStaticRenderFunctions.js.map +1 -0
- package/build/src/start/server/metro/MetroBundlerDevServer.js +982 -0
- package/build/src/start/server/metro/MetroBundlerDevServer.js.map +1 -0
- package/build/src/start/server/metro/MetroTerminalReporter.js +191 -0
- package/build/src/start/server/metro/MetroTerminalReporter.js.map +1 -0
- package/build/src/start/server/metro/TerminalReporter.js +163 -0
- package/build/src/start/server/metro/TerminalReporter.js.map +1 -0
- package/build/src/start/server/metro/TerminalReporter.types.js +6 -0
- package/build/src/start/server/metro/TerminalReporter.types.js.map +1 -0
- package/build/src/start/server/metro/createExpoMetroResolver.js +251 -0
- package/build/src/start/server/metro/createExpoMetroResolver.js.map +1 -0
- package/build/src/start/server/metro/createJResolver.js +222 -0
- package/build/src/start/server/metro/createJResolver.js.map +1 -0
- package/build/src/start/server/metro/createServerRouteMiddleware.js +137 -0
- package/build/src/start/server/metro/createServerRouteMiddleware.js.map +1 -0
- package/build/src/start/server/metro/debugging/AtlasPrerequisite.js +47 -0
- package/build/src/start/server/metro/debugging/AtlasPrerequisite.js.map +1 -0
- package/build/src/start/server/metro/debugging/MessageHandler.js +30 -0
- package/build/src/start/server/metro/debugging/MessageHandler.js.map +1 -0
- package/build/src/start/server/metro/debugging/attachAtlas.js +97 -0
- package/build/src/start/server/metro/debugging/attachAtlas.js.map +1 -0
- package/build/src/start/server/metro/debugging/createDebugMiddleware.js +52 -0
- package/build/src/start/server/metro/debugging/createDebugMiddleware.js.map +1 -0
- package/build/src/start/server/metro/debugging/createHandlersFactory.js +64 -0
- package/build/src/start/server/metro/debugging/createHandlersFactory.js.map +1 -0
- package/build/src/start/server/metro/debugging/getDebuggerType.js +18 -0
- package/build/src/start/server/metro/debugging/getDebuggerType.js.map +1 -0
- package/build/src/start/server/metro/debugging/messageHandlers/NetworkResponse.js +34 -0
- package/build/src/start/server/metro/debugging/messageHandlers/NetworkResponse.js.map +1 -0
- package/build/src/start/server/metro/debugging/messageHandlers/PageReload.js +26 -0
- package/build/src/start/server/metro/debugging/messageHandlers/PageReload.js.map +1 -0
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerGetPossibleBreakpoints.js +28 -0
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerGetPossibleBreakpoints.js.map +1 -0
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerSetBreakpointByUrl.js +25 -0
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerSetBreakpointByUrl.js.map +1 -0
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeCallFunctionOn.js +31 -0
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeCallFunctionOn.js.map +1 -0
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeGetProperties.js +47 -0
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeGetProperties.js.map +1 -0
- package/build/src/start/server/metro/debugging/pageIsSupported.js +17 -0
- package/build/src/start/server/metro/debugging/pageIsSupported.js.map +1 -0
- package/build/src/start/server/metro/debugging/types.js +6 -0
- package/build/src/start/server/metro/debugging/types.js.map +1 -0
- package/build/src/start/server/metro/externals.js +92 -0
- package/build/src/start/server/metro/externals.js.map +1 -0
- package/build/src/start/server/metro/fetchRouterManifest.js +79 -0
- package/build/src/start/server/metro/fetchRouterManifest.js.map +1 -0
- package/build/src/start/server/metro/formatFileCandidates.js +82 -0
- package/build/src/start/server/metro/formatFileCandidates.js.map +1 -0
- package/build/src/start/server/metro/getCssModulesFromBundler.js +109 -0
- package/build/src/start/server/metro/getCssModulesFromBundler.js.map +1 -0
- package/build/src/start/server/metro/instantiateMetro.js +276 -0
- package/build/src/start/server/metro/instantiateMetro.js.map +1 -0
- package/build/src/start/server/metro/metroErrorInterface.js +279 -0
- package/build/src/start/server/metro/metroErrorInterface.js.map +1 -0
- package/build/src/start/server/metro/metroErrors.js +23 -0
- package/build/src/start/server/metro/metroErrors.js.map +1 -0
- package/build/src/start/server/metro/metroPrivateServer.js +26 -0
- package/build/src/start/server/metro/metroPrivateServer.js.map +1 -0
- package/build/src/start/server/metro/metroVirtualModules.js +90 -0
- package/build/src/start/server/metro/metroVirtualModules.js.map +1 -0
- package/build/src/start/server/metro/metroWatchTypeScriptFiles.js +60 -0
- package/build/src/start/server/metro/metroWatchTypeScriptFiles.js.map +1 -0
- package/build/src/start/server/metro/router.js +128 -0
- package/build/src/start/server/metro/router.js.map +1 -0
- package/build/src/start/server/metro/runServer-fork.js +153 -0
- package/build/src/start/server/metro/runServer-fork.js.map +1 -0
- package/build/src/start/server/metro/serializeHtml.js +72 -0
- package/build/src/start/server/metro/serializeHtml.js.map +1 -0
- package/build/src/start/server/metro/symbolicate.js +6 -0
- package/build/src/start/server/metro/symbolicate.js.map +1 -0
- package/build/src/start/server/metro/waitForMetroToObserveTypeScriptFile.js +97 -0
- package/build/src/start/server/metro/waitForMetroToObserveTypeScriptFile.js.map +1 -0
- package/build/src/start/server/metro/withMetroMultiPlatform.js +517 -0
- package/build/src/start/server/metro/withMetroMultiPlatform.js.map +1 -0
- package/build/src/start/server/metro/withMetroResolvers.js +320 -0
- package/build/src/start/server/metro/withMetroResolvers.js.map +1 -0
- package/build/src/start/server/middleware/ContextModuleSourceMapsMiddleware.js +30 -0
- package/build/src/start/server/middleware/ContextModuleSourceMapsMiddleware.js.map +1 -0
- package/build/src/start/server/middleware/CorsMiddleware.js +59 -0
- package/build/src/start/server/middleware/CorsMiddleware.js.map +1 -0
- package/build/src/start/server/middleware/CreateFileMiddleware.js +126 -0
- package/build/src/start/server/middleware/CreateFileMiddleware.js.map +1 -0
- package/build/src/start/server/middleware/DevToolsPluginMiddleware.js +76 -0
- package/build/src/start/server/middleware/DevToolsPluginMiddleware.js.map +1 -0
- package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js +274 -0
- package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js.map +1 -0
- package/build/src/start/server/middleware/ExpoMiddleware.js +115 -0
- package/build/src/start/server/middleware/ExpoMiddleware.js.map +1 -0
- package/build/src/start/server/middleware/FaviconMiddleware.js +47 -0
- package/build/src/start/server/middleware/FaviconMiddleware.js.map +1 -0
- package/build/src/start/server/middleware/HistoryFallbackMiddleware.js +27 -0
- package/build/src/start/server/middleware/HistoryFallbackMiddleware.js.map +1 -0
- package/build/src/start/server/middleware/InterstitialPageMiddleware.js +118 -0
- package/build/src/start/server/middleware/InterstitialPageMiddleware.js.map +1 -0
- package/build/src/start/server/middleware/ManifestMiddleware.js +362 -0
- package/build/src/start/server/middleware/ManifestMiddleware.js.map +1 -0
- package/build/src/start/server/middleware/ReactDevToolsPageMiddleware.js +79 -0
- package/build/src/start/server/middleware/ReactDevToolsPageMiddleware.js.map +1 -0
- package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js +102 -0
- package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js.map +1 -0
- package/build/src/start/server/middleware/ServeStaticMiddleware.js +83 -0
- package/build/src/start/server/middleware/ServeStaticMiddleware.js.map +1 -0
- package/build/src/start/server/middleware/inspector/JsInspector.js +113 -0
- package/build/src/start/server/middleware/inspector/JsInspector.js.map +1 -0
- package/build/src/start/server/middleware/inspector/LaunchBrowser.js +75 -0
- package/build/src/start/server/middleware/inspector/LaunchBrowser.js.map +1 -0
- package/build/src/start/server/middleware/inspector/LaunchBrowser.types.js +15 -0
- package/build/src/start/server/middleware/inspector/LaunchBrowser.types.js.map +1 -0
- package/build/src/start/server/middleware/inspector/LaunchBrowserImplLinux.js +104 -0
- package/build/src/start/server/middleware/inspector/LaunchBrowserImplLinux.js.map +1 -0
- package/build/src/start/server/middleware/inspector/LaunchBrowserImplMacOS.js +125 -0
- package/build/src/start/server/middleware/inspector/LaunchBrowserImplMacOS.js.map +1 -0
- package/build/src/start/server/middleware/inspector/LaunchBrowserImplWindows.js +146 -0
- package/build/src/start/server/middleware/inspector/LaunchBrowserImplWindows.js.map +1 -0
- package/build/src/start/server/middleware/inspector/createJsInspectorMiddleware.js +91 -0
- package/build/src/start/server/middleware/inspector/createJsInspectorMiddleware.js.map +1 -0
- package/build/src/start/server/middleware/inspector/middlwareMutations.js +26 -0
- package/build/src/start/server/middleware/inspector/middlwareMutations.js.map +1 -0
- package/build/src/start/server/middleware/metroOptions.js +213 -0
- package/build/src/start/server/middleware/metroOptions.js.map +1 -0
- package/build/src/start/server/middleware/mutations.js +26 -0
- package/build/src/start/server/middleware/mutations.js.map +1 -0
- package/build/src/start/server/middleware/resolveAssets.js +146 -0
- package/build/src/start/server/middleware/resolveAssets.js.map +1 -0
- package/build/src/start/server/middleware/resolvePlatform.js +61 -0
- package/build/src/start/server/middleware/resolvePlatform.js.map +1 -0
- package/build/src/start/server/middleware/server.types.js +6 -0
- package/build/src/start/server/middleware/server.types.js.map +1 -0
- package/build/src/start/server/middleware/suppressErrorMiddleware.js +19 -0
- package/build/src/start/server/middleware/suppressErrorMiddleware.js.map +1 -0
- package/build/src/start/server/openPlatforms.js +31 -0
- package/build/src/start/server/openPlatforms.js.map +1 -0
- package/build/src/start/server/platformBundlers.js +40 -0
- package/build/src/start/server/platformBundlers.js.map +1 -0
- package/build/src/start/server/serverLogLikeMetro.js +255 -0
- package/build/src/start/server/serverLogLikeMetro.js.map +1 -0
- package/build/src/start/server/type-generation/expo-env.js +47 -0
- package/build/src/start/server/type-generation/expo-env.js.map +1 -0
- package/build/src/start/server/type-generation/routes.js +531 -0
- package/build/src/start/server/type-generation/routes.js.map +1 -0
- package/build/src/start/server/type-generation/startTypescriptTypeGeneration.js +77 -0
- package/build/src/start/server/type-generation/startTypescriptTypeGeneration.js.map +1 -0
- package/build/src/start/server/type-generation/tsconfig.js +114 -0
- package/build/src/start/server/type-generation/tsconfig.js.map +1 -0
- package/build/src/start/server/webTemplate.js +108 -0
- package/build/src/start/server/webTemplate.js.map +1 -0
- package/build/src/start/server/webpack/WebpackBundlerDevServer.js +315 -0
- package/build/src/start/server/webpack/WebpackBundlerDevServer.js.map +1 -0
- package/build/src/start/server/webpack/compile.js +97 -0
- package/build/src/start/server/webpack/compile.js.map +1 -0
- package/build/src/start/server/webpack/formatWebpackMessages.js +104 -0
- package/build/src/start/server/webpack/formatWebpackMessages.js.map +1 -0
- package/build/src/start/server/webpack/resolveFromProject.js +57 -0
- package/build/src/start/server/webpack/resolveFromProject.js.map +1 -0
- package/build/src/start/server/webpack/tls.js +122 -0
- package/build/src/start/server/webpack/tls.js.map +1 -0
- package/build/src/start/startAsync.js +207 -0
- package/build/src/start/startAsync.js.map +1 -0
- package/build/src/utils/FileNotifier.js +135 -0
- package/build/src/utils/FileNotifier.js.map +1 -0
- package/build/src/utils/analytics/getDevClientProperties.js +73 -0
- package/build/src/utils/analytics/getDevClientProperties.js.map +1 -0
- package/build/src/utils/analytics/getMetroDebugProperties.js +18 -0
- package/build/src/utils/analytics/getMetroDebugProperties.js.map +1 -0
- package/build/src/utils/analytics/getMetroProperties.js +31 -0
- package/build/src/utils/analytics/getMetroProperties.js.map +1 -0
- package/build/src/utils/analytics/metroDebuggerMiddleware.js +63 -0
- package/build/src/utils/analytics/metroDebuggerMiddleware.js.map +1 -0
- package/build/src/utils/ansi.js +20 -0
- package/build/src/utils/ansi.js.map +1 -0
- package/build/src/utils/args.js +131 -0
- package/build/src/utils/args.js.map +1 -0
- package/build/src/utils/array.js +74 -0
- package/build/src/utils/array.js.map +1 -0
- package/build/src/utils/cocoapods.js +250 -0
- package/build/src/utils/cocoapods.js.map +1 -0
- package/build/src/utils/codesigning.js +393 -0
- package/build/src/utils/codesigning.js.map +1 -0
- package/build/src/utils/createFileTransform.js +65 -0
- package/build/src/utils/createFileTransform.js.map +1 -0
- package/build/src/utils/delay.js +46 -0
- package/build/src/utils/delay.js.map +1 -0
- package/build/src/utils/dir.js +73 -0
- package/build/src/utils/dir.js.map +1 -0
- package/build/src/utils/downloadAppAsync.js +106 -0
- package/build/src/utils/downloadAppAsync.js.map +1 -0
- package/build/src/utils/downloadExpoGoAsync.js +137 -0
- package/build/src/utils/downloadExpoGoAsync.js.map +1 -0
- package/build/src/utils/editor.js +107 -0
- package/build/src/utils/editor.js.map +1 -0
- package/build/src/utils/env.js +160 -0
- package/build/src/utils/env.js.map +1 -0
- package/build/src/utils/errors.js +93 -0
- package/build/src/utils/errors.js.map +1 -0
- package/build/src/utils/exit.js +72 -0
- package/build/src/utils/exit.js.map +1 -0
- package/build/src/utils/findUp.js +57 -0
- package/build/src/utils/findUp.js.map +1 -0
- package/build/src/utils/fn.js +40 -0
- package/build/src/utils/fn.js.map +1 -0
- package/build/src/utils/getOrPromptApplicationId.js +219 -0
- package/build/src/utils/getOrPromptApplicationId.js.map +1 -0
- package/build/src/utils/getRunningProcess.js +134 -0
- package/build/src/utils/getRunningProcess.js.map +1 -0
- package/build/src/utils/git.js +127 -0
- package/build/src/utils/git.js.map +1 -0
- package/build/src/utils/glob.js +76 -0
- package/build/src/utils/glob.js.map +1 -0
- package/build/src/utils/interactive.js +14 -0
- package/build/src/utils/interactive.js.map +1 -0
- package/build/src/utils/ip.js +25 -0
- package/build/src/utils/ip.js.map +1 -0
- package/build/src/utils/isModuleSymlinked.js +52 -0
- package/build/src/utils/isModuleSymlinked.js.map +1 -0
- package/build/src/utils/link.js +51 -0
- package/build/src/utils/link.js.map +1 -0
- package/build/src/utils/mergeGitIgnorePaths.js +171 -0
- package/build/src/utils/mergeGitIgnorePaths.js.map +1 -0
- package/build/src/utils/modifyConfigAsync.js +106 -0
- package/build/src/utils/modifyConfigAsync.js.map +1 -0
- package/build/src/utils/modifyConfigPlugins.js +78 -0
- package/build/src/utils/modifyConfigPlugins.js.map +1 -0
- package/build/src/utils/nodeEnv.js +18 -0
- package/build/src/utils/nodeEnv.js.map +1 -0
- package/build/src/utils/nodeModules.js +50 -0
- package/build/src/utils/nodeModules.js.map +1 -0
- package/build/src/utils/npm.js +183 -0
- package/build/src/utils/npm.js.map +1 -0
- package/build/src/utils/obj.js +53 -0
- package/build/src/utils/obj.js.map +1 -0
- package/build/src/utils/open.js +35 -0
- package/build/src/utils/open.js.map +1 -0
- package/build/src/utils/ora.js +107 -0
- package/build/src/utils/ora.js.map +1 -0
- package/build/src/utils/plist.js +103 -0
- package/build/src/utils/plist.js.map +1 -0
- package/build/src/utils/port.js +198 -0
- package/build/src/utils/port.js.map +1 -0
- package/build/src/utils/profile.js +90 -0
- package/build/src/utils/profile.js.map +1 -0
- package/build/src/utils/progress.js +71 -0
- package/build/src/utils/progress.js.map +1 -0
- package/build/src/utils/prompts.js +133 -0
- package/build/src/utils/prompts.js.map +1 -0
- package/build/src/utils/resolveArgs.js +149 -0
- package/build/src/utils/resolveArgs.js.map +1 -0
- package/build/src/utils/scheme.js +204 -0
- package/build/src/utils/scheme.js.map +1 -0
- package/build/src/utils/strings.js +31 -0
- package/build/src/utils/strings.js.map +1 -0
- package/build/src/utils/tar.js +95 -0
- package/build/src/utils/tar.js.map +1 -0
- package/build/src/utils/telemetry/DetachedClient.js +90 -0
- package/build/src/utils/telemetry/DetachedClient.js.map +1 -0
- package/build/src/utils/telemetry/RudderClient.js +101 -0
- package/build/src/utils/telemetry/RudderClient.js.map +1 -0
- package/build/src/utils/telemetry/flushDetached.js +44 -0
- package/build/src/utils/telemetry/flushDetached.js.map +1 -0
- package/build/src/utils/telemetry/getContext.js +112 -0
- package/build/src/utils/telemetry/getContext.js.map +1 -0
- package/build/src/utils/telemetry/index.js +37 -0
- package/build/src/utils/telemetry/index.js.map +1 -0
- package/build/src/utils/telemetry/types.js +6 -0
- package/build/src/utils/telemetry/types.js.map +1 -0
- package/build/src/utils/template.js +46 -0
- package/build/src/utils/template.js.map +1 -0
- package/build/src/utils/terminal.js +13 -0
- package/build/src/utils/terminal.js.map +1 -0
- package/build/src/utils/tsconfig/evaluateTsConfig.js +79 -0
- package/build/src/utils/tsconfig/evaluateTsConfig.js.map +1 -0
- package/build/src/utils/tsconfig/loadTsConfigPaths.js +81 -0
- package/build/src/utils/tsconfig/loadTsConfigPaths.js.map +1 -0
- package/build/src/utils/tsconfig/matchTsConfigPathAlias.js +92 -0
- package/build/src/utils/tsconfig/matchTsConfigPathAlias.js.map +1 -0
- package/build/src/utils/tsconfig/resolveWithTsConfigPaths.js +60 -0
- package/build/src/utils/tsconfig/resolveWithTsConfigPaths.js.map +1 -0
- package/build/src/utils/url.js +83 -0
- package/build/src/utils/url.js.map +1 -0
- package/build/src/utils/validateApplicationId.js +198 -0
- package/build/src/utils/validateApplicationId.js.map +1 -0
- package/build/src/utils/variadic.js +69 -0
- package/build/src/utils/variadic.js.map +1 -0
- package/build/src/whoami/index.js +65 -0
- package/build/src/whoami/index.js.map +1 -0
- package/build/src/whoami/whoamiAsync.js +71 -0
- package/build/src/whoami/whoamiAsync.js.map +1 -0
- package/package.json +175 -0
- package/static/canary/react-is/cjs/react-is.development.js +200 -0
- package/static/canary/react-is/cjs/react-is.production.js +130 -0
- package/static/canary/react-native/Libraries/Renderer/implementations/ReactFabric-dev.js +26803 -0
- package/static/canary/react-native/Libraries/Renderer/implementations/ReactFabric-prod.js +10414 -0
- package/static/canary/react-native/Libraries/Renderer/implementations/ReactFabric-profiling.js +11127 -0
- package/static/canary/react-native/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +27227 -0
- package/static/canary/react-native/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +10635 -0
- package/static/canary/react-native/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +11347 -0
- package/static/canary/scheduler/cjs/scheduler-unstable_mock.development.js +711 -0
- package/static/canary/scheduler/cjs/scheduler-unstable_mock.production.js +415 -0
- package/static/canary/scheduler/cjs/scheduler-unstable_post_task.development.js +208 -0
- package/static/canary/scheduler/cjs/scheduler-unstable_post_task.production.js +145 -0
- package/static/canary/scheduler/cjs/scheduler.development.js +625 -0
- package/static/canary/scheduler/cjs/scheduler.native.development.js +538 -0
- package/static/canary/scheduler/cjs/scheduler.native.production.js +329 -0
- package/static/canary/scheduler/cjs/scheduler.production.js +341 -0
- package/static/loading-page/index.html +363 -0
- package/static/react-devtools-page/index.html +113 -0
- package/static/react-devtools-page/standalone.js +3 -0
- package/static/shims/react-native-web/dist/cjs/exports/AppRegistry/AppContainer.js +13 -0
- package/static/shims/react-native-web/dist/cjs/exports/BackHandler/index.js +10 -0
- package/static/shims/react-native-web/dist/exports/AppRegistry/AppContainer.js +12 -0
- package/static/shims/react-native-web/dist/exports/BackHandler/index.js +7 -0
- package/static/template/babel.config.js +6 -0
- package/static/template/index.html +36 -0
- package/static/template/metro.config.js +7 -0
- package/static/template/serve.json +13 -0
- package/static/template/webpack.config.js +7 -0
|
@@ -0,0 +1,245 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2021 Expo, Inc.
|
|
3
|
+
* Copyright (c) 2018 Drifty Co.
|
|
4
|
+
*
|
|
5
|
+
* This source code is licensed under the MIT license found in the
|
|
6
|
+
* LICENSE file in the root directory of this source tree.
|
|
7
|
+
*/ "use strict";
|
|
8
|
+
Object.defineProperty(exports, "__esModule", {
|
|
9
|
+
value: true
|
|
10
|
+
});
|
|
11
|
+
Object.defineProperty(exports, "AFCClient", {
|
|
12
|
+
enumerable: true,
|
|
13
|
+
get: ()=>AFCClient
|
|
14
|
+
});
|
|
15
|
+
function _debug() {
|
|
16
|
+
const data = /*#__PURE__*/ _interopRequireDefault(require("debug"));
|
|
17
|
+
_debug = function() {
|
|
18
|
+
return data;
|
|
19
|
+
};
|
|
20
|
+
return data;
|
|
21
|
+
}
|
|
22
|
+
function _fs() {
|
|
23
|
+
const data = /*#__PURE__*/ _interopRequireWildcard(require("fs"));
|
|
24
|
+
_fs = function() {
|
|
25
|
+
return data;
|
|
26
|
+
};
|
|
27
|
+
return data;
|
|
28
|
+
}
|
|
29
|
+
function _path() {
|
|
30
|
+
const data = /*#__PURE__*/ _interopRequireWildcard(require("path"));
|
|
31
|
+
_path = function() {
|
|
32
|
+
return data;
|
|
33
|
+
};
|
|
34
|
+
return data;
|
|
35
|
+
}
|
|
36
|
+
function _util() {
|
|
37
|
+
const data = require("util");
|
|
38
|
+
_util = function() {
|
|
39
|
+
return data;
|
|
40
|
+
};
|
|
41
|
+
return data;
|
|
42
|
+
}
|
|
43
|
+
const _serviceClient = require("./ServiceClient");
|
|
44
|
+
const _errors = require("../../../../utils/errors");
|
|
45
|
+
const _afcprotocol = require("../protocol/AFCProtocol");
|
|
46
|
+
function _interopRequireDefault(obj) {
|
|
47
|
+
return obj && obj.__esModule ? obj : {
|
|
48
|
+
default: obj
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
function _getRequireWildcardCache(nodeInterop) {
|
|
52
|
+
if (typeof WeakMap !== "function") return null;
|
|
53
|
+
var cacheBabelInterop = new WeakMap();
|
|
54
|
+
var cacheNodeInterop = new WeakMap();
|
|
55
|
+
return (_getRequireWildcardCache = function(nodeInterop) {
|
|
56
|
+
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
|
57
|
+
})(nodeInterop);
|
|
58
|
+
}
|
|
59
|
+
function _interopRequireWildcard(obj, nodeInterop) {
|
|
60
|
+
if (!nodeInterop && obj && obj.__esModule) {
|
|
61
|
+
return obj;
|
|
62
|
+
}
|
|
63
|
+
if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
|
|
64
|
+
return {
|
|
65
|
+
default: obj
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
var cache = _getRequireWildcardCache(nodeInterop);
|
|
69
|
+
if (cache && cache.has(obj)) {
|
|
70
|
+
return cache.get(obj);
|
|
71
|
+
}
|
|
72
|
+
var newObj = {};
|
|
73
|
+
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
74
|
+
for(var key in obj){
|
|
75
|
+
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
76
|
+
var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
|
|
77
|
+
if (desc && (desc.get || desc.set)) {
|
|
78
|
+
Object.defineProperty(newObj, key, desc);
|
|
79
|
+
} else {
|
|
80
|
+
newObj[key] = obj[key];
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
newObj.default = obj;
|
|
85
|
+
if (cache) {
|
|
86
|
+
cache.set(obj, newObj);
|
|
87
|
+
}
|
|
88
|
+
return newObj;
|
|
89
|
+
}
|
|
90
|
+
const debug = (0, _debug().default)("expo:apple-device:client:afc");
|
|
91
|
+
const MAX_OPEN_FILES = 240;
|
|
92
|
+
class AFCClient extends _serviceClient.ServiceClient {
|
|
93
|
+
constructor(socket){
|
|
94
|
+
super(socket, new _afcprotocol.AFCProtocolClient(socket));
|
|
95
|
+
this.socket = socket;
|
|
96
|
+
}
|
|
97
|
+
async getFileInfo(path) {
|
|
98
|
+
debug(`getFileInfo: ${path}`);
|
|
99
|
+
const response = await this.protocolClient.sendMessage({
|
|
100
|
+
operation: _afcprotocol.AFC_OPS.GET_FILE_INFO,
|
|
101
|
+
data: toCString(path)
|
|
102
|
+
});
|
|
103
|
+
debug(`getFileInfo:response: %O`, response);
|
|
104
|
+
const strings = [];
|
|
105
|
+
let currentString = "";
|
|
106
|
+
const tokens = response.data;
|
|
107
|
+
tokens.forEach((token)=>{
|
|
108
|
+
if (token === 0) {
|
|
109
|
+
strings.push(currentString);
|
|
110
|
+
currentString = "";
|
|
111
|
+
} else {
|
|
112
|
+
currentString += String.fromCharCode(token);
|
|
113
|
+
}
|
|
114
|
+
});
|
|
115
|
+
return strings;
|
|
116
|
+
}
|
|
117
|
+
async writeFile(fd, data) {
|
|
118
|
+
debug(`writeFile: ${Array.prototype.toString.call(fd)} data size: ${data.length}`);
|
|
119
|
+
const response = await this.protocolClient.sendMessage({
|
|
120
|
+
operation: _afcprotocol.AFC_OPS.FILE_WRITE,
|
|
121
|
+
data: fd,
|
|
122
|
+
payload: data
|
|
123
|
+
});
|
|
124
|
+
debug(`writeFile:response:`, response);
|
|
125
|
+
return response;
|
|
126
|
+
}
|
|
127
|
+
async openFile(path) {
|
|
128
|
+
debug(`openFile: ${path}`);
|
|
129
|
+
// mode + path + null terminator
|
|
130
|
+
const data = Buffer.alloc(8 + path.length + 1);
|
|
131
|
+
// write mode
|
|
132
|
+
data.writeUInt32LE(_afcprotocol.AFC_FILE_OPEN_FLAGS.WRONLY, 0);
|
|
133
|
+
// then path to file
|
|
134
|
+
toCString(path).copy(data, 8);
|
|
135
|
+
const response = await this.protocolClient.sendMessage({
|
|
136
|
+
operation: _afcprotocol.AFC_OPS.FILE_OPEN,
|
|
137
|
+
data
|
|
138
|
+
});
|
|
139
|
+
// debug(`openFile:response:`, response);
|
|
140
|
+
if (response.operation === _afcprotocol.AFC_OPS.FILE_OPEN_RES) {
|
|
141
|
+
return response.data;
|
|
142
|
+
}
|
|
143
|
+
throw new _errors.CommandError("APPLE_DEVICE_AFC", `There was an unknown error opening file ${path}, response: ${Array.prototype.toString.call(response.data)}`);
|
|
144
|
+
}
|
|
145
|
+
async closeFile(fd) {
|
|
146
|
+
debug(`closeFile fd: ${Array.prototype.toString.call(fd)}`);
|
|
147
|
+
const response = await this.protocolClient.sendMessage({
|
|
148
|
+
operation: _afcprotocol.AFC_OPS.FILE_CLOSE,
|
|
149
|
+
data: fd
|
|
150
|
+
});
|
|
151
|
+
debug(`closeFile:response:`, response);
|
|
152
|
+
return response;
|
|
153
|
+
}
|
|
154
|
+
async uploadFile(srcPath, destPath) {
|
|
155
|
+
debug(`uploadFile: ${srcPath}, ${destPath}`);
|
|
156
|
+
// read local file and get fd of destination
|
|
157
|
+
const [srcFile, destFile] = await Promise.all([
|
|
158
|
+
await (0, _util().promisify)(_fs().readFile)(srcPath),
|
|
159
|
+
await this.openFile(destPath),
|
|
160
|
+
]);
|
|
161
|
+
try {
|
|
162
|
+
await this.writeFile(destFile, srcFile);
|
|
163
|
+
await this.closeFile(destFile);
|
|
164
|
+
} catch (err) {
|
|
165
|
+
await this.closeFile(destFile);
|
|
166
|
+
throw err;
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
async makeDirectory(path) {
|
|
170
|
+
debug(`makeDirectory: ${path}`);
|
|
171
|
+
const response = await this.protocolClient.sendMessage({
|
|
172
|
+
operation: _afcprotocol.AFC_OPS.MAKE_DIR,
|
|
173
|
+
data: toCString(path)
|
|
174
|
+
});
|
|
175
|
+
debug(`makeDirectory:response:`, response);
|
|
176
|
+
return response;
|
|
177
|
+
}
|
|
178
|
+
async uploadDirectory(srcPath, destPath) {
|
|
179
|
+
debug(`uploadDirectory: ${srcPath}`);
|
|
180
|
+
await this.makeDirectory(destPath);
|
|
181
|
+
// AFC doesn't seem to give out more than 240 file handles,
|
|
182
|
+
// so we delay any requests that would push us over until more open up
|
|
183
|
+
let numOpenFiles = 0;
|
|
184
|
+
const pendingFileUploads = [];
|
|
185
|
+
const _this = this;
|
|
186
|
+
return uploadDir(srcPath);
|
|
187
|
+
async function uploadDir(dirPath) {
|
|
188
|
+
const promises = [];
|
|
189
|
+
for (const file of _fs().readdirSync(dirPath)){
|
|
190
|
+
const filePath = _path().join(dirPath, file);
|
|
191
|
+
const remotePath = _path().join(destPath, _path().relative(srcPath, filePath));
|
|
192
|
+
if (_fs().lstatSync(filePath).isDirectory()) {
|
|
193
|
+
promises.push(_this.makeDirectory(remotePath).then(()=>uploadDir(filePath)));
|
|
194
|
+
} else {
|
|
195
|
+
// Create promise to add to promises array
|
|
196
|
+
// this way it can be resolved once a pending upload has finished
|
|
197
|
+
let resolve;
|
|
198
|
+
let reject;
|
|
199
|
+
const promise = new Promise((res, rej)=>{
|
|
200
|
+
resolve = res;
|
|
201
|
+
reject = rej;
|
|
202
|
+
});
|
|
203
|
+
promises.push(promise);
|
|
204
|
+
// wrap upload in a function in case we need to save it for later
|
|
205
|
+
const uploadFile = (tries = 0)=>{
|
|
206
|
+
numOpenFiles++;
|
|
207
|
+
_this.uploadFile(filePath, remotePath).then(()=>{
|
|
208
|
+
resolve();
|
|
209
|
+
numOpenFiles--;
|
|
210
|
+
const fn = pendingFileUploads.pop();
|
|
211
|
+
if (fn) {
|
|
212
|
+
fn();
|
|
213
|
+
}
|
|
214
|
+
}).catch((err)=>{
|
|
215
|
+
// Couldn't get fd for whatever reason, try again
|
|
216
|
+
// # of retries is arbitrary and can be adjusted
|
|
217
|
+
if (err.status === _afcprotocol.AFC_STATUS.NO_RESOURCES && tries < 10) {
|
|
218
|
+
debug(`Received NO_RESOURCES from AFC, retrying ${filePath} upload. ${tries}`);
|
|
219
|
+
uploadFile(tries++);
|
|
220
|
+
} else {
|
|
221
|
+
numOpenFiles--;
|
|
222
|
+
reject(err);
|
|
223
|
+
}
|
|
224
|
+
});
|
|
225
|
+
};
|
|
226
|
+
if (numOpenFiles < MAX_OPEN_FILES) {
|
|
227
|
+
uploadFile();
|
|
228
|
+
} else {
|
|
229
|
+
debug(`numOpenFiles >= ${MAX_OPEN_FILES}, adding to pending queue. Length: ${pendingFileUploads.length}`);
|
|
230
|
+
pendingFileUploads.push(uploadFile);
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
await Promise.all(promises);
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
function toCString(s) {
|
|
239
|
+
const buf = Buffer.alloc(s.length + 1);
|
|
240
|
+
const len = buf.write(s);
|
|
241
|
+
buf.writeUInt8(0, len);
|
|
242
|
+
return buf;
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
//# sourceMappingURL=AFCClient.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/run/ios/appleDevice/client/AFCClient.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 */\nimport Debug from 'debug';\nimport * as fs from 'fs';\nimport { Socket } from 'net';\nimport * as path from 'path';\nimport { promisify } from 'util';\n\nimport { ServiceClient } from './ServiceClient';\nimport { CommandError } from '../../../../utils/errors';\nimport {\n AFC_FILE_OPEN_FLAGS,\n AFC_OPS,\n AFC_STATUS,\n AFCError,\n AFCProtocolClient,\n AFCResponse,\n} from '../protocol/AFCProtocol';\n\nconst debug = Debug('expo:apple-device:client:afc');\nconst MAX_OPEN_FILES = 240;\n\nexport class AFCClient extends ServiceClient<AFCProtocolClient> {\n constructor(public socket: Socket) {\n super(socket, new AFCProtocolClient(socket));\n }\n\n async getFileInfo(path: string): Promise<string[]> {\n debug(`getFileInfo: ${path}`);\n\n const response = await this.protocolClient.sendMessage({\n operation: AFC_OPS.GET_FILE_INFO,\n data: toCString(path),\n });\n debug(`getFileInfo:response: %O`, response);\n\n const strings: string[] = [];\n let currentString = '';\n const tokens = response.data;\n tokens.forEach((token) => {\n if (token === 0) {\n strings.push(currentString);\n currentString = '';\n } else {\n currentString += String.fromCharCode(token);\n }\n });\n return strings;\n }\n\n async writeFile(fd: Buffer, data: Buffer): Promise<AFCResponse> {\n debug(`writeFile: ${Array.prototype.toString.call(fd)} data size: ${data.length}`);\n\n const response = await this.protocolClient.sendMessage({\n operation: AFC_OPS.FILE_WRITE,\n data: fd,\n payload: data,\n });\n\n debug(`writeFile:response:`, response);\n return response;\n }\n\n protected async openFile(path: string): Promise<Buffer> {\n debug(`openFile: ${path}`);\n // mode + path + null terminator\n const data = Buffer.alloc(8 + path.length + 1);\n // write mode\n data.writeUInt32LE(AFC_FILE_OPEN_FLAGS.WRONLY, 0);\n // then path to file\n toCString(path).copy(data, 8);\n\n const response = await this.protocolClient.sendMessage({\n operation: AFC_OPS.FILE_OPEN,\n data,\n });\n\n // debug(`openFile:response:`, response);\n\n if (response.operation === AFC_OPS.FILE_OPEN_RES) {\n return response.data;\n }\n\n throw new CommandError(\n 'APPLE_DEVICE_AFC',\n `There was an unknown error opening file ${path}, response: ${Array.prototype.toString.call(\n response.data\n )}`\n );\n }\n\n protected async closeFile(fd: Buffer): Promise<AFCResponse> {\n debug(`closeFile fd: ${Array.prototype.toString.call(fd)}`);\n const response = await this.protocolClient.sendMessage({\n operation: AFC_OPS.FILE_CLOSE,\n data: fd,\n });\n\n debug(`closeFile:response:`, response);\n return response;\n }\n\n protected async uploadFile(srcPath: string, destPath: string): Promise<void> {\n debug(`uploadFile: ${srcPath}, ${destPath}`);\n\n // read local file and get fd of destination\n const [srcFile, destFile] = await Promise.all([\n await promisify(fs.readFile)(srcPath),\n await this.openFile(destPath),\n ]);\n\n try {\n await this.writeFile(destFile, srcFile);\n await this.closeFile(destFile);\n } catch (err) {\n await this.closeFile(destFile);\n throw err;\n }\n }\n\n async makeDirectory(path: string): Promise<AFCResponse> {\n debug(`makeDirectory: ${path}`);\n\n const response = await this.protocolClient.sendMessage({\n operation: AFC_OPS.MAKE_DIR,\n data: toCString(path),\n });\n\n debug(`makeDirectory:response:`, response);\n return response;\n }\n\n async uploadDirectory(srcPath: string, destPath: string): Promise<void> {\n debug(`uploadDirectory: ${srcPath}`);\n await this.makeDirectory(destPath);\n\n // AFC doesn't seem to give out more than 240 file handles,\n // so we delay any requests that would push us over until more open up\n let numOpenFiles = 0;\n const pendingFileUploads: (() => void)[] = [];\n const _this = this;\n return uploadDir(srcPath);\n\n async function uploadDir(dirPath: string): Promise<void> {\n const promises: Promise<void>[] = [];\n for (const file of fs.readdirSync(dirPath)) {\n const filePath = path.join(dirPath, file);\n const remotePath = path.join(destPath, path.relative(srcPath, filePath));\n if (fs.lstatSync(filePath).isDirectory()) {\n promises.push(_this.makeDirectory(remotePath).then(() => uploadDir(filePath)));\n } else {\n // Create promise to add to promises array\n // this way it can be resolved once a pending upload has finished\n let resolve: (val?: any) => void;\n let reject: (err: AFCError) => void;\n const promise = new Promise<void>((res, rej) => {\n resolve = res;\n reject = rej;\n });\n promises.push(promise);\n\n // wrap upload in a function in case we need to save it for later\n const uploadFile = (tries = 0) => {\n numOpenFiles++;\n _this\n .uploadFile(filePath, remotePath)\n .then(() => {\n resolve();\n numOpenFiles--;\n const fn = pendingFileUploads.pop();\n if (fn) {\n fn();\n }\n })\n .catch((err: AFCError) => {\n // Couldn't get fd for whatever reason, try again\n // # of retries is arbitrary and can be adjusted\n if (err.status === AFC_STATUS.NO_RESOURCES && tries < 10) {\n debug(`Received NO_RESOURCES from AFC, retrying ${filePath} upload. ${tries}`);\n uploadFile(tries++);\n } else {\n numOpenFiles--;\n reject(err);\n }\n });\n };\n\n if (numOpenFiles < MAX_OPEN_FILES) {\n uploadFile();\n } else {\n debug(\n `numOpenFiles >= ${MAX_OPEN_FILES}, adding to pending queue. Length: ${pendingFileUploads.length}`\n );\n pendingFileUploads.push(uploadFile);\n }\n }\n }\n await Promise.all(promises);\n }\n }\n}\n\nfunction toCString(s: string) {\n const buf = Buffer.alloc(s.length + 1);\n const len = buf.write(s);\n buf.writeUInt8(0, len);\n return buf;\n}\n"],"names":["AFCClient","debug","Debug","MAX_OPEN_FILES","ServiceClient","constructor","socket","AFCProtocolClient","getFileInfo","path","response","protocolClient","sendMessage","operation","AFC_OPS","GET_FILE_INFO","data","toCString","strings","currentString","tokens","forEach","token","push","String","fromCharCode","writeFile","fd","Array","prototype","toString","call","length","FILE_WRITE","payload","openFile","Buffer","alloc","writeUInt32LE","AFC_FILE_OPEN_FLAGS","WRONLY","copy","FILE_OPEN","FILE_OPEN_RES","CommandError","closeFile","FILE_CLOSE","uploadFile","srcPath","destPath","srcFile","destFile","Promise","all","promisify","fs","readFile","err","makeDirectory","MAKE_DIR","uploadDirectory","numOpenFiles","pendingFileUploads","_this","uploadDir","dirPath","promises","file","readdirSync","filePath","join","remotePath","relative","lstatSync","isDirectory","then","resolve","reject","promise","res","rej","tries","fn","pop","catch","status","AFC_STATUS","NO_RESOURCES","s","buf","len","write","writeUInt8"],"mappings":"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"}
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2021 Expo, Inc.
|
|
3
|
+
* Copyright (c) 2018 Drifty Co.
|
|
4
|
+
*
|
|
5
|
+
* This source code is licensed under the MIT license found in the
|
|
6
|
+
* LICENSE file in the root directory of this source tree.
|
|
7
|
+
*/ "use strict";
|
|
8
|
+
Object.defineProperty(exports, "__esModule", {
|
|
9
|
+
value: true
|
|
10
|
+
});
|
|
11
|
+
Object.defineProperty(exports, "DebugserverClient", {
|
|
12
|
+
enumerable: true,
|
|
13
|
+
get: ()=>DebugserverClient
|
|
14
|
+
});
|
|
15
|
+
function _debug() {
|
|
16
|
+
const data = /*#__PURE__*/ _interopRequireDefault(require("debug"));
|
|
17
|
+
_debug = function() {
|
|
18
|
+
return data;
|
|
19
|
+
};
|
|
20
|
+
return data;
|
|
21
|
+
}
|
|
22
|
+
function _path() {
|
|
23
|
+
const data = /*#__PURE__*/ _interopRequireWildcard(require("path"));
|
|
24
|
+
_path = function() {
|
|
25
|
+
return data;
|
|
26
|
+
};
|
|
27
|
+
return data;
|
|
28
|
+
}
|
|
29
|
+
const _serviceClient = require("./ServiceClient");
|
|
30
|
+
const _gdbprotocol = require("../protocol/GDBProtocol");
|
|
31
|
+
function _interopRequireDefault(obj) {
|
|
32
|
+
return obj && obj.__esModule ? obj : {
|
|
33
|
+
default: obj
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
function _getRequireWildcardCache(nodeInterop) {
|
|
37
|
+
if (typeof WeakMap !== "function") return null;
|
|
38
|
+
var cacheBabelInterop = new WeakMap();
|
|
39
|
+
var cacheNodeInterop = new WeakMap();
|
|
40
|
+
return (_getRequireWildcardCache = function(nodeInterop) {
|
|
41
|
+
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
|
42
|
+
})(nodeInterop);
|
|
43
|
+
}
|
|
44
|
+
function _interopRequireWildcard(obj, nodeInterop) {
|
|
45
|
+
if (!nodeInterop && obj && obj.__esModule) {
|
|
46
|
+
return obj;
|
|
47
|
+
}
|
|
48
|
+
if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
|
|
49
|
+
return {
|
|
50
|
+
default: obj
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
var cache = _getRequireWildcardCache(nodeInterop);
|
|
54
|
+
if (cache && cache.has(obj)) {
|
|
55
|
+
return cache.get(obj);
|
|
56
|
+
}
|
|
57
|
+
var newObj = {};
|
|
58
|
+
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
59
|
+
for(var key in obj){
|
|
60
|
+
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
61
|
+
var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
|
|
62
|
+
if (desc && (desc.get || desc.set)) {
|
|
63
|
+
Object.defineProperty(newObj, key, desc);
|
|
64
|
+
} else {
|
|
65
|
+
newObj[key] = obj[key];
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
newObj.default = obj;
|
|
70
|
+
if (cache) {
|
|
71
|
+
cache.set(obj, newObj);
|
|
72
|
+
}
|
|
73
|
+
return newObj;
|
|
74
|
+
}
|
|
75
|
+
const debug = (0, _debug().default)("expo:apple-device:client:debugserver");
|
|
76
|
+
class DebugserverClient extends _serviceClient.ServiceClient {
|
|
77
|
+
constructor(socket){
|
|
78
|
+
super(socket, new _gdbprotocol.GDBProtocolClient(socket));
|
|
79
|
+
this.socket = socket;
|
|
80
|
+
}
|
|
81
|
+
async setMaxPacketSize(size) {
|
|
82
|
+
return this.sendCommand("QSetMaxPacketSize:", [
|
|
83
|
+
size.toString()
|
|
84
|
+
]);
|
|
85
|
+
}
|
|
86
|
+
async setWorkingDir(workingDir) {
|
|
87
|
+
return this.sendCommand("QSetWorkingDir:", [
|
|
88
|
+
workingDir
|
|
89
|
+
]);
|
|
90
|
+
}
|
|
91
|
+
async checkLaunchSuccess() {
|
|
92
|
+
return this.sendCommand("qLaunchSuccess", []);
|
|
93
|
+
}
|
|
94
|
+
async attachByName(name) {
|
|
95
|
+
const hexName = Buffer.from(name).toString("hex");
|
|
96
|
+
return this.sendCommand(`vAttachName;${hexName}`, []);
|
|
97
|
+
}
|
|
98
|
+
async continue() {
|
|
99
|
+
return this.sendCommand("c", []);
|
|
100
|
+
}
|
|
101
|
+
halt() {
|
|
102
|
+
// ^C
|
|
103
|
+
debug("Sending ^C to debugserver");
|
|
104
|
+
return this.protocolClient.socket.write("\x03");
|
|
105
|
+
}
|
|
106
|
+
async kill() {
|
|
107
|
+
debug(`kill`);
|
|
108
|
+
const msg = {
|
|
109
|
+
cmd: "k",
|
|
110
|
+
args: []
|
|
111
|
+
};
|
|
112
|
+
return this.protocolClient.sendMessage(msg, (resp, resolve)=>{
|
|
113
|
+
debug(`kill:response: ${resp}`);
|
|
114
|
+
this.protocolClient.socket.write("+");
|
|
115
|
+
const parts = resp.split(";");
|
|
116
|
+
for (const part of parts){
|
|
117
|
+
if (part.includes("description")) {
|
|
118
|
+
// description:{hex encoded message like: "Terminated with signal 9"}
|
|
119
|
+
resolve(Buffer.from(part.split(":")[1], "hex").toString("ascii"));
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
// TODO support app args
|
|
125
|
+
// https://sourceware.org/gdb/onlinedocs/gdb/Packets.html#Packets
|
|
126
|
+
// A arglen,argnum,arg,
|
|
127
|
+
async launchApp(appPath, executableName) {
|
|
128
|
+
const fullPath = _path().join(appPath, executableName);
|
|
129
|
+
const hexAppPath = Buffer.from(fullPath).toString("hex");
|
|
130
|
+
const appCommand = `A${hexAppPath.length},0,${hexAppPath}`;
|
|
131
|
+
return this.sendCommand(appCommand, []);
|
|
132
|
+
}
|
|
133
|
+
async sendCommand(cmd, args) {
|
|
134
|
+
const msg = {
|
|
135
|
+
cmd,
|
|
136
|
+
args
|
|
137
|
+
};
|
|
138
|
+
debug(`Sending command: ${cmd}, args: ${args}`);
|
|
139
|
+
const resp = await this.protocolClient.sendMessage(msg);
|
|
140
|
+
// we need to ACK as well
|
|
141
|
+
this.protocolClient.socket.write("+");
|
|
142
|
+
return resp;
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
//# sourceMappingURL=DebugserverClient.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/run/ios/appleDevice/client/DebugserverClient.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 */\nimport Debug from 'debug';\nimport { Socket } from 'net';\nimport * as path from 'path';\n\nimport { ServiceClient } from './ServiceClient';\nimport { GDBProtocolClient } from '../protocol/GDBProtocol';\n\nconst debug = Debug('expo:apple-device:client:debugserver');\n\nexport class DebugserverClient extends ServiceClient<GDBProtocolClient> {\n constructor(public socket: Socket) {\n super(socket, new GDBProtocolClient(socket));\n }\n\n async setMaxPacketSize(size: number) {\n return this.sendCommand('QSetMaxPacketSize:', [size.toString()]);\n }\n\n async setWorkingDir(workingDir: string) {\n return this.sendCommand('QSetWorkingDir:', [workingDir]);\n }\n\n async checkLaunchSuccess() {\n return this.sendCommand('qLaunchSuccess', []);\n }\n\n async attachByName(name: string) {\n const hexName = Buffer.from(name).toString('hex');\n return this.sendCommand(`vAttachName;${hexName}`, []);\n }\n\n async continue() {\n return this.sendCommand('c', []);\n }\n\n halt() {\n // ^C\n debug('Sending ^C to debugserver');\n return this.protocolClient.socket.write('\\u0003');\n }\n\n async kill() {\n debug(`kill`);\n const msg: any = { cmd: 'k', args: [] };\n return this.protocolClient.sendMessage(msg, (resp: string, resolve: any) => {\n debug(`kill:response: ${resp}`);\n this.protocolClient.socket.write('+');\n const parts = resp.split(';');\n for (const part of parts) {\n if (part.includes('description')) {\n // description:{hex encoded message like: \"Terminated with signal 9\"}\n resolve(Buffer.from(part.split(':')[1], 'hex').toString('ascii'));\n }\n }\n });\n }\n\n // TODO support app args\n // https://sourceware.org/gdb/onlinedocs/gdb/Packets.html#Packets\n // A arglen,argnum,arg,\n async launchApp(appPath: string, executableName: string) {\n const fullPath = path.join(appPath, executableName);\n const hexAppPath = Buffer.from(fullPath).toString('hex');\n const appCommand = `A${hexAppPath.length},0,${hexAppPath}`;\n return this.sendCommand(appCommand, []);\n }\n\n async sendCommand(cmd: string, args: string[]) {\n const msg = { cmd, args };\n debug(`Sending command: ${cmd}, args: ${args}`);\n const resp = await this.protocolClient.sendMessage(msg);\n // we need to ACK as well\n this.protocolClient.socket.write('+');\n return resp;\n }\n}\n"],"names":["DebugserverClient","debug","Debug","ServiceClient","constructor","socket","GDBProtocolClient","setMaxPacketSize","size","sendCommand","toString","setWorkingDir","workingDir","checkLaunchSuccess","attachByName","name","hexName","Buffer","from","continue","halt","protocolClient","write","kill","msg","cmd","args","sendMessage","resp","resolve","parts","split","part","includes","launchApp","appPath","executableName","fullPath","path","join","hexAppPath","appCommand","length"],"mappings":"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"}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2021 Expo, Inc.
|
|
3
|
+
* Copyright (c) 2018 Drifty Co.
|
|
4
|
+
*
|
|
5
|
+
* This source code is licensed under the MIT license found in the
|
|
6
|
+
* LICENSE file in the root directory of this source tree.
|
|
7
|
+
*/ "use strict";
|
|
8
|
+
Object.defineProperty(exports, "__esModule", {
|
|
9
|
+
value: true
|
|
10
|
+
});
|
|
11
|
+
Object.defineProperty(exports, "InstallationProxyClient", {
|
|
12
|
+
enumerable: true,
|
|
13
|
+
get: ()=>InstallationProxyClient
|
|
14
|
+
});
|
|
15
|
+
function _debug() {
|
|
16
|
+
const data = /*#__PURE__*/ _interopRequireDefault(require("debug"));
|
|
17
|
+
_debug = function() {
|
|
18
|
+
return data;
|
|
19
|
+
};
|
|
20
|
+
return data;
|
|
21
|
+
}
|
|
22
|
+
const _serviceClient = require("./ServiceClient");
|
|
23
|
+
const _lockdownProtocol = require("../protocol/LockdownProtocol");
|
|
24
|
+
function _interopRequireDefault(obj) {
|
|
25
|
+
return obj && obj.__esModule ? obj : {
|
|
26
|
+
default: obj
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
const debug = (0, _debug().default)("expo:apple-device:client:installation_proxy");
|
|
30
|
+
function isIPLookupResponse(resp) {
|
|
31
|
+
return resp.length && resp[0].LookupResult !== undefined;
|
|
32
|
+
}
|
|
33
|
+
function isIPInstallPercentCompleteResponse(resp) {
|
|
34
|
+
return resp.length && resp[0].PercentComplete !== undefined;
|
|
35
|
+
}
|
|
36
|
+
function isIPInstallCFBundleIdentifierResponse(resp) {
|
|
37
|
+
return resp.length && resp[0].CFBundleIdentifier !== undefined;
|
|
38
|
+
}
|
|
39
|
+
function isIPInstallCompleteResponse(resp) {
|
|
40
|
+
return resp.length && resp[0].Status === "Complete";
|
|
41
|
+
}
|
|
42
|
+
class InstallationProxyClient extends _serviceClient.ServiceClient {
|
|
43
|
+
constructor(socket){
|
|
44
|
+
super(socket, new _lockdownProtocol.LockdownProtocolClient(socket));
|
|
45
|
+
this.socket = socket;
|
|
46
|
+
}
|
|
47
|
+
async lookupApp(bundleIds, options = {
|
|
48
|
+
ReturnAttributes: [
|
|
49
|
+
"Path",
|
|
50
|
+
"Container",
|
|
51
|
+
"CFBundleExecutable",
|
|
52
|
+
"CFBundleIdentifier"
|
|
53
|
+
],
|
|
54
|
+
ApplicationsType: "Any"
|
|
55
|
+
}) {
|
|
56
|
+
debug(`lookupApp, options: ${JSON.stringify(options)}`);
|
|
57
|
+
let resp = await this.protocolClient.sendMessage({
|
|
58
|
+
Command: "Lookup",
|
|
59
|
+
ClientOptions: {
|
|
60
|
+
BundleIDs: bundleIds,
|
|
61
|
+
...options
|
|
62
|
+
}
|
|
63
|
+
});
|
|
64
|
+
if (resp && !Array.isArray(resp)) resp = [
|
|
65
|
+
resp
|
|
66
|
+
];
|
|
67
|
+
if (isIPLookupResponse(resp)) {
|
|
68
|
+
return resp[0].LookupResult;
|
|
69
|
+
} else {
|
|
70
|
+
throw new _serviceClient.ResponseError(`There was an error looking up app`, resp);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
async installApp(packagePath, bundleId, options = {
|
|
74
|
+
ApplicationsType: "Any",
|
|
75
|
+
PackageType: "Developer"
|
|
76
|
+
}, onProgress) {
|
|
77
|
+
debug(`installApp, packagePath: ${packagePath}, bundleId: ${bundleId}`);
|
|
78
|
+
return this.protocolClient.sendMessage({
|
|
79
|
+
Command: "Install",
|
|
80
|
+
PackagePath: packagePath,
|
|
81
|
+
ClientOptions: {
|
|
82
|
+
CFBundleIdentifier: bundleId,
|
|
83
|
+
...options
|
|
84
|
+
}
|
|
85
|
+
}, (resp, resolve, reject)=>{
|
|
86
|
+
if (resp && !Array.isArray(resp)) resp = [
|
|
87
|
+
resp
|
|
88
|
+
];
|
|
89
|
+
if (isIPInstallCompleteResponse(resp)) {
|
|
90
|
+
onProgress({
|
|
91
|
+
isComplete: true,
|
|
92
|
+
progress: 100,
|
|
93
|
+
status: resp[0].Status
|
|
94
|
+
});
|
|
95
|
+
resolve();
|
|
96
|
+
} else if (isIPInstallPercentCompleteResponse(resp)) {
|
|
97
|
+
onProgress({
|
|
98
|
+
isComplete: false,
|
|
99
|
+
progress: resp[0].PercentComplete,
|
|
100
|
+
status: resp[0].Status
|
|
101
|
+
});
|
|
102
|
+
debug(`Installation status: ${resp[0].Status}, %${resp[0].PercentComplete}`);
|
|
103
|
+
} else if (isIPInstallCFBundleIdentifierResponse(resp)) {
|
|
104
|
+
debug(`Installed app: ${resp[0].CFBundleIdentifier}`);
|
|
105
|
+
} else {
|
|
106
|
+
reject(new _serviceClient.ResponseError("There was an error installing app: " + require("util").inspect(resp), resp));
|
|
107
|
+
}
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
//# sourceMappingURL=InstallationProxyClient.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/run/ios/appleDevice/client/InstallationProxyClient.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 */\nimport Debug from 'debug';\nimport { Socket } from 'net';\n\nimport { ResponseError, ServiceClient } from './ServiceClient';\nimport { LockdownProtocolClient } from '../protocol/LockdownProtocol';\nimport type { LockdownCommand, LockdownResponse } from '../protocol/LockdownProtocol';\n\nconst debug = Debug('expo:apple-device:client:installation_proxy');\n\nexport type OnInstallProgressCallback = (props: {\n status: string;\n isComplete: boolean;\n // copiedFiles: number;\n progress: number;\n}) => void;\n\ninterface IPOptions {\n ApplicationsType?: 'Any';\n PackageType?: 'Developer';\n CFBundleIdentifier?: string;\n\n ReturnAttributes?: (\n | 'CFBundleIdentifier'\n | 'ApplicationDSID'\n | 'ApplicationType'\n | 'CFBundleExecutable'\n | 'CFBundleDisplayName'\n | 'CFBundleIconFile'\n | 'CFBundleName'\n | 'CFBundleShortVersionString'\n | 'CFBundleSupportedPlatforms'\n | 'CFBundleURLTypes'\n | 'CodeInfoIdentifier'\n | 'Container'\n | 'Entitlements'\n | 'HasSettingsBundle'\n | 'IsUpgradeable'\n | 'MinimumOSVersion'\n | 'Path'\n | 'SignerIdentity'\n | 'UIDeviceFamily'\n | 'UIFileSharingEnabled'\n | 'UIStatusBarHidden'\n | 'UISupportedInterfaceOrientations'\n )[];\n BundleIDs?: string[];\n [key: string]: undefined | string | string[];\n}\n\ninterface IPInstallPercentCompleteResponseItem extends LockdownResponse {\n PercentComplete: number;\n}\n\ninterface IPInstallCFBundleIdentifierResponseItem {\n CFBundleIdentifier: string;\n}\n\ninterface IPInstallCompleteResponseItem extends LockdownResponse {\n Status: 'Complete';\n}\n/*\n * [{ \"PercentComplete\": 5, \"Status\": \"CreatingStagingDirectory\" }]\n * ...\n * [{ \"PercentComplete\": 90, \"Status\": \"GeneratingApplicationMap\" }]\n * [{ \"CFBundleIdentifier\": \"my.company.app\" }]\n * [{ \"Status\": \"Complete\" }]\n */\ntype IPInstallPercentCompleteResponse = IPInstallPercentCompleteResponseItem[];\ntype IPInstallCFBundleIdentifierResponse = IPInstallCFBundleIdentifierResponseItem[];\ntype IPInstallCompleteResponse = IPInstallCompleteResponseItem[];\n\ninterface IPMessage extends LockdownCommand {\n Command: string;\n ClientOptions: IPOptions;\n}\n\ninterface IPLookupResponseItem extends LockdownResponse {\n LookupResult: IPLookupResult;\n}\n/*\n * [{\n * LookupResult: IPLookupResult,\n * Status: \"Complete\"\n * }]\n */\ntype IPLookupResponse = IPLookupResponseItem[];\n\nexport interface IPLookupResult {\n // BundleId\n [key: string]: {\n Container: string;\n CFBundleIdentifier: string;\n CFBundleExecutable: string;\n Path: string;\n };\n}\n\nfunction isIPLookupResponse(resp: any): resp is IPLookupResponse {\n return resp.length && resp[0].LookupResult !== undefined;\n}\n\nfunction isIPInstallPercentCompleteResponse(resp: any): resp is IPInstallPercentCompleteResponse {\n return resp.length && resp[0].PercentComplete !== undefined;\n}\n\nfunction isIPInstallCFBundleIdentifierResponse(\n resp: any\n): resp is IPInstallCFBundleIdentifierResponse {\n return resp.length && resp[0].CFBundleIdentifier !== undefined;\n}\n\nfunction isIPInstallCompleteResponse(resp: any): resp is IPInstallCompleteResponse {\n return resp.length && resp[0].Status === 'Complete';\n}\n\nexport class InstallationProxyClient extends ServiceClient<LockdownProtocolClient<IPMessage>> {\n constructor(public socket: Socket) {\n super(socket, new LockdownProtocolClient(socket));\n }\n\n async lookupApp(\n bundleIds: string[],\n options: IPOptions = {\n ReturnAttributes: ['Path', 'Container', 'CFBundleExecutable', 'CFBundleIdentifier'],\n ApplicationsType: 'Any',\n }\n ) {\n debug(`lookupApp, options: ${JSON.stringify(options)}`);\n\n let resp = await this.protocolClient.sendMessage({\n Command: 'Lookup',\n ClientOptions: {\n BundleIDs: bundleIds,\n ...options,\n },\n });\n if (resp && !Array.isArray(resp)) resp = [resp];\n if (isIPLookupResponse(resp)) {\n return resp[0].LookupResult;\n } else {\n throw new ResponseError(`There was an error looking up app`, resp);\n }\n }\n\n async installApp(\n packagePath: string,\n bundleId: string,\n options: IPOptions = {\n ApplicationsType: 'Any',\n PackageType: 'Developer',\n },\n onProgress: OnInstallProgressCallback\n ) {\n debug(`installApp, packagePath: ${packagePath}, bundleId: ${bundleId}`);\n\n return this.protocolClient.sendMessage(\n {\n Command: 'Install',\n PackagePath: packagePath,\n ClientOptions: {\n CFBundleIdentifier: bundleId,\n ...options,\n },\n },\n (resp, resolve, reject) => {\n if (resp && !Array.isArray(resp)) resp = [resp];\n\n if (isIPInstallCompleteResponse(resp)) {\n onProgress({\n isComplete: true,\n progress: 100,\n status: resp[0].Status,\n });\n resolve();\n } else if (isIPInstallPercentCompleteResponse(resp)) {\n onProgress({\n isComplete: false,\n progress: resp[0].PercentComplete,\n status: resp[0].Status,\n });\n debug(`Installation status: ${resp[0].Status}, %${resp[0].PercentComplete}`);\n } else if (isIPInstallCFBundleIdentifierResponse(resp)) {\n debug(`Installed app: ${resp[0].CFBundleIdentifier}`);\n } else {\n reject(\n new ResponseError(\n 'There was an error installing app: ' + require('util').inspect(resp),\n resp\n )\n );\n }\n }\n );\n }\n}\n"],"names":["InstallationProxyClient","debug","Debug","isIPLookupResponse","resp","length","LookupResult","undefined","isIPInstallPercentCompleteResponse","PercentComplete","isIPInstallCFBundleIdentifierResponse","CFBundleIdentifier","isIPInstallCompleteResponse","Status","ServiceClient","constructor","socket","LockdownProtocolClient","lookupApp","bundleIds","options","ReturnAttributes","ApplicationsType","JSON","stringify","protocolClient","sendMessage","Command","ClientOptions","BundleIDs","Array","isArray","ResponseError","installApp","packagePath","bundleId","PackageType","onProgress","PackagePath","resolve","reject","isComplete","progress","status","require","inspect"],"mappings":"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"}
|