@expo/cli 0.17.10 → 0.18.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/bin/cli +98 -118
- package/build/bin/cli.map +1 -1
- package/build/src/api/endpoint.js +11 -3
- package/build/src/api/endpoint.js.map +1 -1
- package/build/src/api/getExpoGoIntermediateCertificate.js +7 -4
- package/build/src/api/getExpoGoIntermediateCertificate.js.map +1 -1
- package/build/src/api/getExpoSchema.js +32 -12
- package/build/src/api/getExpoSchema.js.map +1 -1
- package/build/src/api/getNativeModuleVersions.js +7 -4
- package/build/src/api/getNativeModuleVersions.js.map +1 -1
- package/build/src/api/getProjectDevelopmentCertificate.js +7 -4
- package/build/src/api/getProjectDevelopmentCertificate.js.map +1 -1
- package/build/src/api/getVersions.js +7 -4
- package/build/src/api/getVersions.js.map +1 -1
- package/build/src/api/graphql/client.js +78 -40
- package/build/src/api/graphql/client.js.map +1 -1
- package/build/src/api/graphql/queries/AppQuery.js +22 -8
- package/build/src/api/graphql/queries/AppQuery.js.map +1 -1
- package/build/src/api/graphql/queries/UserQuery.js +13 -5
- package/build/src/api/graphql/queries/UserQuery.js.map +1 -1
- package/build/src/api/graphql/types/App.js +12 -4
- package/build/src/api/graphql/types/App.js.map +1 -1
- package/build/src/api/rest/cache/FileSystemCache.js +25 -11
- package/build/src/api/rest/cache/FileSystemCache.js.map +1 -1
- package/build/src/api/rest/cache/response.js +13 -4
- package/build/src/api/rest/cache/response.js.map +1 -1
- package/build/src/api/rest/cache/wrapFetchWithCache.js +51 -18
- package/build/src/api/rest/cache/wrapFetchWithCache.js.map +1 -1
- package/build/src/api/rest/client.js +55 -30
- package/build/src/api/rest/client.js.map +1 -1
- package/build/src/api/rest/wrapFetchWithBaseUrl.js +13 -5
- package/build/src/api/rest/wrapFetchWithBaseUrl.js.map +1 -1
- package/build/src/api/rest/wrapFetchWithOffline.js +5 -2
- package/build/src/api/rest/wrapFetchWithOffline.js.map +1 -1
- package/build/src/api/rest/wrapFetchWithProgress.js +40 -19
- package/build/src/api/rest/wrapFetchWithProgress.js.map +1 -1
- package/build/src/api/rest/wrapFetchWithProxy.js +13 -4
- package/build/src/api/rest/wrapFetchWithProxy.js.map +1 -1
- package/build/src/api/settings.js +16 -5
- package/build/src/api/settings.js.map +1 -1
- package/build/src/api/updateDevelopmentSession.js +33 -13
- package/build/src/api/updateDevelopmentSession.js.map +1 -1
- package/build/src/api/user/UserSettings.js +31 -11
- package/build/src/api/user/UserSettings.js.map +1 -1
- package/build/src/api/user/actions.js +78 -41
- package/build/src/api/user/actions.js.map +1 -1
- package/build/src/api/user/expoSsoLauncher.js +72 -27
- package/build/src/api/user/expoSsoLauncher.js.map +1 -1
- package/build/src/api/user/otp.js +82 -50
- package/build/src/api/user/otp.js.map +1 -1
- package/build/src/api/user/user.js +80 -48
- package/build/src/api/user/user.js.map +1 -1
- package/build/src/config/configAsync.js +82 -45
- package/build/src/config/configAsync.js.map +1 -1
- package/build/src/config/index.js +52 -30
- package/build/src/config/index.js.map +1 -1
- package/build/src/customize/customizeAsync.js +21 -12
- package/build/src/customize/customizeAsync.js.map +1 -1
- package/build/src/customize/generate.js +74 -47
- package/build/src/customize/generate.js.map +1 -1
- package/build/src/customize/index.js +16 -8
- package/build/src/customize/index.js.map +1 -1
- package/build/src/customize/resolveOptions.js +7 -4
- package/build/src/customize/resolveOptions.js.map +1 -1
- package/build/src/customize/templates.js +58 -37
- package/build/src/customize/templates.js.map +1 -1
- package/build/src/customize/typescript.js +50 -29
- package/build/src/customize/typescript.js.map +1 -1
- package/build/src/export/createMetadataJson.js +14 -7
- package/build/src/export/createMetadataJson.js.map +1 -1
- package/build/src/export/embed/exportEmbedAsync.js +103 -50
- package/build/src/export/embed/exportEmbedAsync.js.map +1 -1
- package/build/src/export/embed/index.js +61 -37
- package/build/src/export/embed/index.js.map +1 -1
- package/build/src/export/embed/resolveOptions.js +14 -5
- package/build/src/export/embed/resolveOptions.js.map +1 -1
- package/build/src/export/embed/xcodeCompilerLogger.js +33 -9
- package/build/src/export/embed/xcodeCompilerLogger.js.map +1 -1
- package/build/src/export/exportApp.js +110 -73
- package/build/src/export/exportApp.js.map +1 -1
- package/build/src/export/exportAssets.js +84 -47
- package/build/src/export/exportAssets.js.map +1 -1
- package/build/src/export/exportAsync.js +56 -27
- package/build/src/export/exportAsync.js.map +1 -1
- package/build/src/export/exportHermes.js +46 -26
- package/build/src/export/exportHermes.js.map +1 -1
- package/build/src/export/exportStaticAsync.js +109 -66
- package/build/src/export/exportStaticAsync.js.map +1 -1
- package/build/src/export/favicon.js +47 -15
- package/build/src/export/favicon.js.map +1 -1
- package/build/src/export/fork-bundleAsync.js +92 -44
- package/build/src/export/fork-bundleAsync.js.map +1 -1
- package/build/src/export/getPublicExpoManifest.js +16 -7
- package/build/src/export/getPublicExpoManifest.js.map +1 -1
- package/build/src/export/getResolvedLocales.js +20 -5
- package/build/src/export/getResolvedLocales.js.map +1 -1
- package/build/src/export/html.js +12 -4
- package/build/src/export/html.js.map +1 -1
- package/build/src/export/index.js +55 -33
- package/build/src/export/index.js.map +1 -1
- package/build/src/export/metroAssetLocalPath.js +30 -8
- package/build/src/export/metroAssetLocalPath.js.map +1 -1
- package/build/src/export/persistMetroAssets.js +59 -33
- package/build/src/export/persistMetroAssets.js.map +1 -1
- package/build/src/export/publicFolder.js +31 -11
- package/build/src/export/publicFolder.js.map +1 -1
- package/build/src/export/resolveOptions.js +26 -16
- package/build/src/export/resolveOptions.js.map +1 -1
- package/build/src/export/saveAssets.js +77 -49
- package/build/src/export/saveAssets.js.map +1 -1
- package/build/src/export/web/exportWebAsync.js +28 -13
- package/build/src/export/web/exportWebAsync.js.map +1 -1
- package/build/src/export/web/index.js +53 -31
- package/build/src/export/web/index.js.map +1 -1
- package/build/src/export/web/resolveOptions.js +4 -1
- package/build/src/export/web/resolveOptions.js.map +1 -1
- package/build/src/export/writeContents.js +12 -7
- package/build/src/export/writeContents.js.map +1 -1
- package/build/src/graphql/generated.js +141 -128
- package/build/src/graphql/generated.js.map +1 -1
- package/build/src/install/applyPlugins.js +50 -26
- package/build/src/install/applyPlugins.js.map +1 -1
- package/build/src/install/checkPackages.js +68 -36
- package/build/src/install/checkPackages.js.map +1 -1
- package/build/src/install/fixPackages.js +58 -35
- package/build/src/install/fixPackages.js.map +1 -1
- package/build/src/install/index.js +21 -13
- package/build/src/install/index.js.map +1 -1
- package/build/src/install/installAsync.js +107 -64
- package/build/src/install/installAsync.js.map +1 -1
- package/build/src/install/installExpoPackage.js +60 -27
- package/build/src/install/installExpoPackage.js.map +1 -1
- package/build/src/install/resolveOptions.js +8 -5
- package/build/src/install/resolveOptions.js.map +1 -1
- package/build/src/install/utils/autoAddConfigPlugins.js +29 -9
- package/build/src/install/utils/autoAddConfigPlugins.js.map +1 -1
- package/build/src/lint/ESlintPrerequisite.js +174 -0
- package/build/src/lint/ESlintPrerequisite.js.map +1 -0
- package/build/src/lint/index.js +66 -0
- package/build/src/lint/index.js.map +1 -0
- package/build/src/lint/lintAsync.js +33 -0
- package/build/src/lint/lintAsync.js.map +1 -0
- package/build/src/log.js +27 -15
- package/build/src/log.js.map +1 -1
- package/build/src/login/index.js +43 -25
- package/build/src/login/index.js.map +1 -1
- package/build/src/logout/index.js +43 -25
- package/build/src/logout/index.js.map +1 -1
- package/build/src/prebuild/clearNativeFolder.js +97 -50
- package/build/src/prebuild/clearNativeFolder.js.map +1 -1
- package/build/src/prebuild/configureProjectAsync.js +64 -31
- package/build/src/prebuild/configureProjectAsync.js.map +1 -1
- package/build/src/prebuild/copyTemplateFiles.js +41 -17
- package/build/src/prebuild/copyTemplateFiles.js.map +1 -1
- package/build/src/prebuild/ensureConfigAsync.js +74 -30
- package/build/src/prebuild/ensureConfigAsync.js.map +1 -1
- package/build/src/prebuild/index.js +58 -38
- package/build/src/prebuild/index.js.map +1 -1
- package/build/src/prebuild/prebuildAsync.js +75 -52
- package/build/src/prebuild/prebuildAsync.js.map +1 -1
- package/build/src/prebuild/renameTemplateAppName.js +124 -0
- package/build/src/prebuild/renameTemplateAppName.js.map +1 -0
- package/build/src/prebuild/resolveOptions.js +85 -36
- package/build/src/prebuild/resolveOptions.js.map +1 -1
- package/build/src/prebuild/resolveTemplate.js +102 -46
- package/build/src/prebuild/resolveTemplate.js.map +1 -1
- package/build/src/prebuild/updateFromTemplate.js +80 -41
- package/build/src/prebuild/updateFromTemplate.js.map +1 -1
- package/build/src/prebuild/updatePackageJson.js +111 -54
- package/build/src/prebuild/updatePackageJson.js.map +1 -1
- package/build/src/prebuild/validateTemplatePlatforms.js +56 -23
- package/build/src/prebuild/validateTemplatePlatforms.js.map +1 -1
- package/build/src/register/index.js +43 -25
- package/build/src/register/index.js.map +1 -1
- package/build/src/register/registerAsync.js +14 -11
- package/build/src/register/registerAsync.js.map +1 -1
- package/build/src/run/android/index.js +64 -32
- package/build/src/run/android/index.js.map +1 -1
- package/build/src/run/android/resolveDevice.js +9 -6
- package/build/src/run/android/resolveDevice.js.map +1 -1
- package/build/src/run/android/resolveGradlePropsAsync.js +56 -0
- package/build/src/run/android/resolveGradlePropsAsync.js.map +1 -0
- package/build/src/run/android/resolveInstallApkName.js +28 -14
- package/build/src/run/android/resolveInstallApkName.js.map +1 -1
- package/build/src/run/android/resolveLaunchProps.js +16 -7
- package/build/src/run/android/resolveLaunchProps.js.map +1 -1
- package/build/src/run/android/resolveOptions.js +14 -9
- package/build/src/run/android/resolveOptions.js.map +1 -1
- package/build/src/run/android/runAndroidAsync.js +39 -27
- package/build/src/run/android/runAndroidAsync.js.map +1 -1
- package/build/src/run/ensureNativeProject.js +24 -9
- package/build/src/run/ensureNativeProject.js.map +1 -1
- package/build/src/run/hints.js +23 -9
- package/build/src/run/hints.js.map +1 -1
- package/build/src/run/index.js +55 -35
- package/build/src/run/index.js.map +1 -1
- package/build/src/run/ios/XcodeBuild.js +126 -66
- package/build/src/run/ios/XcodeBuild.js.map +1 -1
- package/build/src/run/ios/appleDevice/AppleDevice.js +52 -27
- package/build/src/run/ios/appleDevice/AppleDevice.js.map +1 -1
- package/build/src/run/ios/appleDevice/ClientManager.js +70 -31
- package/build/src/run/ios/appleDevice/ClientManager.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/AFCClient.js +94 -44
- package/build/src/run/ios/appleDevice/client/AFCClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/DebugserverClient.js +63 -24
- package/build/src/run/ios/appleDevice/client/DebugserverClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/InstallationProxyClient.js +21 -6
- package/build/src/run/ios/appleDevice/client/InstallationProxyClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/LockdowndClient.js +64 -25
- package/build/src/run/ios/appleDevice/client/LockdowndClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/MobileImageMounterClient.js +66 -28
- package/build/src/run/ios/appleDevice/client/MobileImageMounterClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/ServiceClient.js +18 -4
- package/build/src/run/ios/appleDevice/client/ServiceClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/UsbmuxdClient.js +42 -15
- package/build/src/run/ios/appleDevice/client/UsbmuxdClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/installOnDeviceAsync.js +78 -34
- package/build/src/run/ios/appleDevice/installOnDeviceAsync.js.map +1 -1
- package/build/src/run/ios/appleDevice/protocol/AFCProtocol.js +85 -66
- package/build/src/run/ios/appleDevice/protocol/AFCProtocol.js.map +1 -1
- package/build/src/run/ios/appleDevice/protocol/AbstractProtocol.js +41 -15
- package/build/src/run/ios/appleDevice/protocol/AbstractProtocol.js.map +1 -1
- package/build/src/run/ios/appleDevice/protocol/GDBProtocol.js +30 -11
- package/build/src/run/ios/appleDevice/protocol/GDBProtocol.js.map +1 -1
- package/build/src/run/ios/appleDevice/protocol/LockdownProtocol.js +39 -14
- package/build/src/run/ios/appleDevice/protocol/LockdownProtocol.js.map +1 -1
- package/build/src/run/ios/appleDevice/protocol/UsbmuxProtocol.js +36 -11
- package/build/src/run/ios/appleDevice/protocol/UsbmuxProtocol.js.map +1 -1
- package/build/src/run/ios/codeSigning/Security.js +40 -21
- package/build/src/run/ios/codeSigning/Security.js.map +1 -1
- package/build/src/run/ios/codeSigning/configureCodeSigning.js +55 -28
- package/build/src/run/ios/codeSigning/configureCodeSigning.js.map +1 -1
- package/build/src/run/ios/codeSigning/resolveCertificateSigningIdentity.js +67 -36
- package/build/src/run/ios/codeSigning/resolveCertificateSigningIdentity.js.map +1 -1
- package/build/src/run/ios/codeSigning/settings.js +11 -3
- package/build/src/run/ios/codeSigning/settings.js.map +1 -1
- package/build/src/run/ios/codeSigning/simulatorCodeSigning.js +30 -10
- package/build/src/run/ios/codeSigning/simulatorCodeSigning.js.map +1 -1
- package/build/src/run/ios/codeSigning/xcodeCodeSigning.js +33 -15
- package/build/src/run/ios/codeSigning/xcodeCodeSigning.js.map +1 -1
- package/build/src/run/ios/index.js +63 -35
- package/build/src/run/ios/index.js.map +1 -1
- package/build/src/run/ios/launchApp.js +65 -32
- package/build/src/run/ios/launchApp.js.map +1 -1
- package/build/src/run/ios/options/promptDevice.js +24 -14
- package/build/src/run/ios/options/promptDevice.js.map +1 -1
- package/build/src/run/ios/options/resolveDevice.js +64 -41
- package/build/src/run/ios/options/resolveDevice.js.map +1 -1
- package/build/src/run/ios/options/resolveNativeScheme.js +80 -39
- package/build/src/run/ios/options/resolveNativeScheme.js.map +1 -1
- package/build/src/run/ios/options/resolveOptions.js +15 -12
- package/build/src/run/ios/options/resolveOptions.js.map +1 -1
- package/build/src/run/ios/options/resolveXcodeProject.js +13 -4
- package/build/src/run/ios/options/resolveXcodeProject.js.map +1 -1
- package/build/src/run/ios/runIosAsync.js +71 -42
- package/build/src/run/ios/runIosAsync.js.map +1 -1
- package/build/src/run/resolveBundlerProps.js +8 -5
- package/build/src/run/resolveBundlerProps.js.map +1 -1
- package/build/src/run/startBundler.js +60 -27
- package/build/src/run/startBundler.js.map +1 -1
- package/build/src/start/detectDevClient.js +32 -0
- package/build/src/start/detectDevClient.js.map +1 -0
- package/build/src/start/doctor/Prerequisite.js +15 -7
- package/build/src/start/doctor/Prerequisite.js.map +1 -1
- package/build/src/start/doctor/SecurityBinPrerequisite.js +13 -4
- package/build/src/start/doctor/SecurityBinPrerequisite.js.map +1 -1
- package/build/src/start/doctor/apple/SimulatorAppPrerequisite.js +57 -24
- package/build/src/start/doctor/apple/SimulatorAppPrerequisite.js.map +1 -1
- package/build/src/start/doctor/apple/XcodeDeveloperDiskImagePrerequisite.js +57 -24
- package/build/src/start/doctor/apple/XcodeDeveloperDiskImagePrerequisite.js.map +1 -1
- package/build/src/start/doctor/apple/XcodePrerequisite.js +132 -57
- package/build/src/start/doctor/apple/XcodePrerequisite.js.map +1 -1
- package/build/src/start/doctor/apple/XcrunPrerequisite.js +34 -13
- package/build/src/start/doctor/apple/XcrunPrerequisite.js.map +1 -1
- package/build/src/start/doctor/dependencies/bundledNativeModules.js +69 -30
- package/build/src/start/doctor/dependencies/bundledNativeModules.js.map +1 -1
- package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js +120 -57
- package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js.map +1 -1
- package/build/src/start/doctor/dependencies/getMissingPackages.js +38 -12
- package/build/src/start/doctor/dependencies/getMissingPackages.js.map +1 -1
- package/build/src/start/doctor/dependencies/getVersionedPackages.js +29 -15
- package/build/src/start/doctor/dependencies/getVersionedPackages.js.map +1 -1
- package/build/src/start/doctor/dependencies/resolvePackages.js +39 -15
- package/build/src/start/doctor/dependencies/resolvePackages.js.map +1 -1
- package/build/src/start/doctor/dependencies/validateDependenciesVersions.js +88 -55
- package/build/src/start/doctor/dependencies/validateDependenciesVersions.js.map +1 -1
- package/build/src/start/doctor/ngrok/ExternalModule.js +88 -39
- package/build/src/start/doctor/ngrok/ExternalModule.js.map +1 -1
- package/build/src/start/doctor/ngrok/NgrokResolver.js +12 -5
- package/build/src/start/doctor/ngrok/NgrokResolver.js.map +1 -1
- package/build/src/start/doctor/typescript/TypeScriptProjectPrerequisite.js +75 -45
- package/build/src/start/doctor/typescript/TypeScriptProjectPrerequisite.js.map +1 -1
- package/build/src/start/doctor/typescript/updateTSConfig.js +81 -40
- package/build/src/start/doctor/typescript/updateTSConfig.js.map +1 -1
- package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js +70 -32
- package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js.map +1 -1
- package/build/src/start/index.js +62 -42
- package/build/src/start/index.js.map +1 -1
- package/build/src/start/interface/KeyPressHandler.js +43 -22
- package/build/src/start/interface/KeyPressHandler.js.map +1 -1
- package/build/src/start/interface/commandsTable.js +81 -41
- package/build/src/start/interface/commandsTable.js.map +1 -1
- package/build/src/start/interface/interactiveActions.js +91 -68
- package/build/src/start/interface/interactiveActions.js.map +1 -1
- package/build/src/start/interface/startInterface.js +84 -57
- package/build/src/start/interface/startInterface.js.map +1 -1
- package/build/src/start/platforms/AppIdResolver.js +16 -7
- package/build/src/start/platforms/AppIdResolver.js.map +1 -1
- package/build/src/start/platforms/DeviceManager.js +47 -20
- package/build/src/start/platforms/DeviceManager.js.map +1 -1
- package/build/src/start/platforms/ExpoGoInstaller.js +81 -45
- package/build/src/start/platforms/ExpoGoInstaller.js.map +1 -1
- package/build/src/start/platforms/PlatformManager.js +42 -20
- package/build/src/start/platforms/PlatformManager.js.map +1 -1
- package/build/src/start/platforms/android/ADBServer.js +28 -13
- package/build/src/start/platforms/android/ADBServer.js.map +1 -1
- package/build/src/start/platforms/android/AndroidAppIdResolver.js +18 -10
- package/build/src/start/platforms/android/AndroidAppIdResolver.js.map +1 -1
- package/build/src/start/platforms/android/AndroidDeviceManager.js +86 -54
- package/build/src/start/platforms/android/AndroidDeviceManager.js.map +1 -1
- package/build/src/start/platforms/android/AndroidPlatformManager.js +9 -6
- package/build/src/start/platforms/android/AndroidPlatformManager.js.map +1 -1
- package/build/src/start/platforms/android/AndroidSdk.js +38 -11
- package/build/src/start/platforms/android/AndroidSdk.js.map +1 -1
- package/build/src/start/platforms/android/activateWindow.js +54 -21
- package/build/src/start/platforms/android/activateWindow.js.map +1 -1
- package/build/src/start/platforms/android/adb.js +89 -51
- package/build/src/start/platforms/android/adb.js.map +1 -1
- package/build/src/start/platforms/android/adbReverse.js +57 -31
- package/build/src/start/platforms/android/adbReverse.js.map +1 -1
- package/build/src/start/platforms/android/emulator.js +89 -44
- package/build/src/start/platforms/android/emulator.js.map +1 -1
- package/build/src/start/platforms/android/getDevices.js +11 -10
- package/build/src/start/platforms/android/getDevices.js.map +1 -1
- package/build/src/start/platforms/android/gradle.js +38 -14
- package/build/src/start/platforms/android/gradle.js.map +1 -1
- package/build/src/start/platforms/android/promptAndroidDevice.js +22 -16
- package/build/src/start/platforms/android/promptAndroidDevice.js.map +1 -1
- package/build/src/start/platforms/ios/AppleAppIdResolver.js +31 -10
- package/build/src/start/platforms/ios/AppleAppIdResolver.js.map +1 -1
- package/build/src/start/platforms/ios/AppleDeviceManager.js +120 -62
- package/build/src/start/platforms/ios/AppleDeviceManager.js.map +1 -1
- package/build/src/start/platforms/ios/ApplePlatformManager.js +7 -4
- package/build/src/start/platforms/ios/ApplePlatformManager.js.map +1 -1
- package/build/src/start/platforms/ios/assertSystemRequirements.js +11 -7
- package/build/src/start/platforms/ios/assertSystemRequirements.js.map +1 -1
- package/build/src/start/platforms/ios/ensureSimulatorAppRunning.js +60 -27
- package/build/src/start/platforms/ios/ensureSimulatorAppRunning.js.map +1 -1
- package/build/src/start/platforms/ios/getBestSimulator.js +60 -30
- package/build/src/start/platforms/ios/getBestSimulator.js.map +1 -1
- package/build/src/start/platforms/ios/promptAppleDevice.js +25 -13
- package/build/src/start/platforms/ios/promptAppleDevice.js.map +1 -1
- package/build/src/start/platforms/ios/simctl.js +75 -46
- package/build/src/start/platforms/ios/simctl.js.map +1 -1
- package/build/src/start/platforms/ios/simctlLogging.js +100 -47
- package/build/src/start/platforms/ios/simctlLogging.js.map +1 -1
- package/build/src/start/platforms/ios/xcrun.js +21 -6
- package/build/src/start/platforms/ios/xcrun.js.map +1 -1
- package/build/src/start/project/devices.js +19 -16
- package/build/src/start/project/devices.js.map +1 -1
- package/build/src/start/project/dotExpo.js +37 -11
- package/build/src/start/project/dotExpo.js.map +1 -1
- package/build/src/start/project/settings.js +6 -4
- package/build/src/start/project/settings.js.map +1 -1
- package/build/src/start/resolveOptions.js +52 -27
- package/build/src/start/resolveOptions.js.map +1 -1
- package/build/src/start/server/AsyncNgrok.js +91 -47
- package/build/src/start/server/AsyncNgrok.js.map +1 -1
- package/build/src/start/server/BundlerDevServer.js +77 -45
- package/build/src/start/server/BundlerDevServer.js.map +1 -1
- package/build/src/start/server/DevServerManager.js +100 -70
- package/build/src/start/server/DevServerManager.js.map +1 -1
- package/build/src/start/server/DevToolsPluginManager.js +35 -18
- package/build/src/start/server/DevToolsPluginManager.js.map +1 -1
- package/build/src/start/server/DevelopmentSession.js +57 -33
- package/build/src/start/server/DevelopmentSession.js.map +1 -1
- package/build/src/start/server/ReactDevToolsProxy.js +37 -11
- package/build/src/start/server/ReactDevToolsProxy.js.map +1 -1
- package/build/src/start/server/UrlCreator.js +61 -27
- package/build/src/start/server/UrlCreator.js.map +1 -1
- package/build/src/start/server/getStaticRenderFunctions.js +125 -77
- package/build/src/start/server/getStaticRenderFunctions.js.map +1 -1
- package/build/src/start/server/metro/MetroBundlerDevServer.js +333 -158
- package/build/src/start/server/metro/MetroBundlerDevServer.js.map +1 -1
- package/build/src/start/server/metro/MetroTerminalReporter.js +50 -28
- package/build/src/start/server/metro/MetroTerminalReporter.js.map +1 -1
- package/build/src/start/server/metro/TerminalReporter.js +40 -12
- package/build/src/start/server/metro/TerminalReporter.js.map +1 -1
- package/build/src/start/server/metro/TerminalReporter.types.js.map +1 -1
- package/build/src/start/server/metro/createExpoMetroResolver.js +82 -35
- package/build/src/start/server/metro/createExpoMetroResolver.js.map +1 -1
- package/build/src/start/server/metro/createJResolver.js +143 -73
- package/build/src/start/server/metro/createJResolver.js.map +1 -1
- package/build/src/start/server/metro/createServerRouteMiddleware.js +47 -38
- package/build/src/start/server/metro/createServerRouteMiddleware.js.map +1 -1
- package/build/src/start/server/metro/debugging/MessageHandler.js +30 -0
- package/build/src/start/server/metro/debugging/MessageHandler.js.map +1 -0
- package/build/src/start/server/metro/debugging/createDebugMiddleware.js +18 -14
- package/build/src/start/server/metro/debugging/createDebugMiddleware.js.map +1 -1
- package/build/src/start/server/metro/debugging/createHandlersFactory.js +64 -0
- package/build/src/start/server/metro/debugging/createHandlersFactory.js.map +1 -0
- package/build/src/start/server/metro/debugging/{inspectorHandlers/utils.js → getDebuggerType.js} +6 -8
- package/build/src/start/server/metro/debugging/getDebuggerType.js.map +1 -0
- package/build/src/start/server/metro/debugging/{inspectorHandlers → messageHandlers}/NetworkResponse.js +12 -6
- package/build/src/start/server/metro/debugging/messageHandlers/NetworkResponse.js.map +1 -0
- package/build/src/start/server/metro/debugging/messageHandlers/PageReload.js +26 -0
- package/build/src/start/server/metro/debugging/messageHandlers/PageReload.js.map +1 -0
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerGetPossibleBreakpoints.js +28 -0
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerGetPossibleBreakpoints.js.map +1 -0
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerSetBreakpointByUrl.js +25 -0
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerSetBreakpointByUrl.js.map +1 -0
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeCallFunctionOn.js +31 -0
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeCallFunctionOn.js.map +1 -0
- package/build/src/start/server/metro/debugging/{inspectorHandlers → messageHandlers}/VscodeRuntimeGetProperties.js +14 -7
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeGetProperties.js.map +1 -0
- package/build/src/start/server/metro/debugging/pageIsSupported.js +17 -0
- package/build/src/start/server/metro/debugging/pageIsSupported.js.map +1 -0
- package/build/src/start/server/metro/debugging/types.js.map +1 -0
- package/build/src/start/server/metro/externals.js +67 -69
- package/build/src/start/server/metro/externals.js.map +1 -1
- package/build/src/start/server/metro/fetchRouterManifest.js +26 -7
- package/build/src/start/server/metro/fetchRouterManifest.js.map +1 -1
- package/build/src/start/server/metro/formatFileCandidates.js +28 -18
- package/build/src/start/server/metro/formatFileCandidates.js.map +1 -1
- package/build/src/start/server/metro/getCssModulesFromBundler.js +44 -12
- package/build/src/start/server/metro/getCssModulesFromBundler.js.map +1 -1
- package/build/src/start/server/metro/instantiateMetro.js +141 -62
- package/build/src/start/server/metro/instantiateMetro.js.map +1 -1
- package/build/src/start/server/metro/metroErrorInterface.js +75 -47
- package/build/src/start/server/metro/metroErrorInterface.js.map +1 -1
- package/build/src/start/server/metro/metroErrors.js +11 -2
- package/build/src/start/server/metro/metroErrors.js.map +1 -1
- package/build/src/start/server/metro/metroVirtualModules.js +90 -0
- package/build/src/start/server/metro/metroVirtualModules.js.map +1 -0
- package/build/src/start/server/metro/metroWatchTypeScriptFiles.js +12 -3
- package/build/src/start/server/metro/metroWatchTypeScriptFiles.js.map +1 -1
- package/build/src/start/server/metro/router.js +64 -30
- package/build/src/start/server/metro/router.js.map +1 -1
- package/build/src/start/server/metro/runServer-fork.js +68 -19
- package/build/src/start/server/metro/runServer-fork.js.map +1 -1
- package/build/src/start/server/metro/serializeHtml.js +32 -19
- package/build/src/start/server/metro/serializeHtml.js.map +1 -1
- package/build/src/start/server/metro/waitForMetroToObserveTypeScriptFile.js +19 -5
- package/build/src/start/server/metro/waitForMetroToObserveTypeScriptFile.js.map +1 -1
- package/build/src/start/server/metro/withMetroMultiPlatform.js +232 -104
- package/build/src/start/server/metro/withMetroMultiPlatform.js.map +1 -1
- package/build/src/start/server/metro/withMetroResolvers.js +95 -47
- package/build/src/start/server/metro/withMetroResolvers.js.map +1 -1
- package/build/src/start/server/middleware/ContextModuleSourceMapsMiddleware.js +4 -1
- package/build/src/start/server/middleware/ContextModuleSourceMapsMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/CorsMiddleware.js +4 -1
- package/build/src/start/server/middleware/CorsMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/CreateFileMiddleware.js +33 -13
- package/build/src/start/server/middleware/CreateFileMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/DevToolsPluginMiddleware.js +27 -12
- package/build/src/start/server/middleware/DevToolsPluginMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js +65 -28
- package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/ExpoMiddleware.js +54 -22
- package/build/src/start/server/middleware/ExpoMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/FaviconMiddleware.js +8 -5
- package/build/src/start/server/middleware/FaviconMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/HistoryFallbackMiddleware.js +6 -3
- package/build/src/start/server/middleware/HistoryFallbackMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/InterstitialPageMiddleware.js +58 -21
- package/build/src/start/server/middleware/InterstitialPageMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/ManifestMiddleware.js +117 -63
- package/build/src/start/server/middleware/ManifestMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/ReactDevToolsPageMiddleware.js +35 -10
- package/build/src/start/server/middleware/ReactDevToolsPageMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js +54 -27
- package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/ServeStaticMiddleware.js +31 -10
- package/build/src/start/server/middleware/ServeStaticMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/inspector/JsInspector.js +45 -22
- package/build/src/start/server/middleware/inspector/JsInspector.js.map +1 -1
- package/build/src/start/server/middleware/inspector/LaunchBrowser.js +25 -11
- package/build/src/start/server/middleware/inspector/LaunchBrowser.js.map +1 -1
- package/build/src/start/server/middleware/inspector/LaunchBrowser.types.js +4 -2
- package/build/src/start/server/middleware/inspector/LaunchBrowser.types.js.map +1 -1
- package/build/src/start/server/middleware/inspector/LaunchBrowserImplLinux.js +36 -14
- package/build/src/start/server/middleware/inspector/LaunchBrowserImplLinux.js.map +1 -1
- package/build/src/start/server/middleware/inspector/LaunchBrowserImplMacOS.js +84 -38
- package/build/src/start/server/middleware/inspector/LaunchBrowserImplMacOS.js.map +1 -1
- package/build/src/start/server/middleware/inspector/LaunchBrowserImplWindows.js +42 -20
- package/build/src/start/server/middleware/inspector/LaunchBrowserImplWindows.js.map +1 -1
- package/build/src/start/server/middleware/inspector/createJsInspectorMiddleware.js +40 -13
- package/build/src/start/server/middleware/inspector/createJsInspectorMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/inspector/middlwareMutations.js +11 -4
- package/build/src/start/server/middleware/inspector/middlwareMutations.js.map +1 -1
- package/build/src/start/server/middleware/metroOptions.js +36 -18
- package/build/src/start/server/middleware/metroOptions.js.map +1 -1
- package/build/src/start/server/middleware/mutations.js +11 -4
- package/build/src/start/server/middleware/mutations.js.map +1 -1
- package/build/src/start/server/middleware/resolveAssets.js +78 -42
- package/build/src/start/server/middleware/resolveAssets.js.map +1 -1
- package/build/src/start/server/middleware/resolvePlatform.js +21 -7
- package/build/src/start/server/middleware/resolvePlatform.js.map +1 -1
- package/build/src/start/server/middleware/suppressErrorMiddleware.js +4 -1
- package/build/src/start/server/middleware/suppressErrorMiddleware.js.map +1 -1
- package/build/src/start/server/openPlatforms.js +7 -6
- package/build/src/start/server/openPlatforms.js.map +1 -1
- package/build/src/start/server/platformBundlers.js +12 -3
- package/build/src/start/server/platformBundlers.js.map +1 -1
- package/build/src/start/server/serverLogLikeMetro.js +93 -40
- package/build/src/start/server/serverLogLikeMetro.js.map +1 -1
- package/build/src/start/server/type-generation/expo-env.js +26 -6
- package/build/src/start/server/type-generation/expo-env.js.map +1 -1
- package/build/src/start/server/type-generation/routes.js +137 -82
- package/build/src/start/server/type-generation/routes.js.map +1 -1
- package/build/src/start/server/type-generation/startTypescriptTypeGeneration.js +44 -23
- package/build/src/start/server/type-generation/startTypescriptTypeGeneration.js.map +1 -1
- package/build/src/start/server/type-generation/tsconfig.js +41 -16
- package/build/src/start/server/type-generation/tsconfig.js.map +1 -1
- package/build/src/start/server/webTemplate.js +43 -19
- package/build/src/start/server/webTemplate.js.map +1 -1
- package/build/src/start/server/webpack/WebpackBundlerDevServer.js +105 -56
- package/build/src/start/server/webpack/WebpackBundlerDevServer.js.map +1 -1
- package/build/src/start/server/webpack/compile.js +60 -27
- package/build/src/start/server/webpack/compile.js.map +1 -1
- package/build/src/start/server/webpack/formatWebpackMessages.js +35 -25
- package/build/src/start/server/webpack/formatWebpackMessages.js.map +1 -1
- package/build/src/start/server/webpack/resolveFromProject.js +20 -6
- package/build/src/start/server/webpack/resolveFromProject.js.map +1 -1
- package/build/src/start/server/webpack/tls.js +84 -34
- package/build/src/start/server/webpack/tls.js.map +1 -1
- package/build/src/start/startAsync.js +98 -52
- package/build/src/start/startAsync.js.map +1 -1
- package/build/src/utils/FileNotifier.js +73 -28
- package/build/src/utils/FileNotifier.js.map +1 -1
- package/build/src/utils/analytics/getDevClientProperties.js +48 -22
- package/build/src/utils/analytics/getDevClientProperties.js.map +1 -1
- package/build/src/utils/analytics/getMetroDebugProperties.js +4 -1
- package/build/src/utils/analytics/getMetroDebugProperties.js.map +1 -1
- package/build/src/utils/analytics/getMetroProperties.js +4 -1
- package/build/src/utils/analytics/getMetroProperties.js.map +1 -1
- package/build/src/utils/analytics/metroDebuggerMiddleware.js +14 -6
- package/build/src/utils/analytics/metroDebuggerMiddleware.js.map +1 -1
- package/build/src/utils/ansi.js +5 -2
- package/build/src/utils/ansi.js.map +1 -1
- package/build/src/utils/args.js +83 -31
- package/build/src/utils/args.js.map +1 -1
- package/build/src/utils/array.js +16 -9
- package/build/src/utils/array.js.map +1 -1
- package/build/src/utils/cocoapods.js +127 -67
- package/build/src/utils/cocoapods.js.map +1 -1
- package/build/src/utils/codesigning.js +144 -72
- package/build/src/utils/codesigning.js.map +1 -1
- package/build/src/utils/createFileTransform.js +34 -71
- package/build/src/utils/createFileTransform.js.map +1 -1
- package/build/src/utils/delay.js +13 -6
- package/build/src/utils/delay.js.map +1 -1
- package/build/src/utils/dir.js +50 -40
- package/build/src/utils/dir.js.map +1 -1
- package/build/src/utils/downloadAppAsync.js +51 -18
- package/build/src/utils/downloadAppAsync.js.map +1 -1
- package/build/src/utils/downloadExpoGoAsync.js +47 -26
- package/build/src/utils/downloadExpoGoAsync.js.map +1 -1
- package/build/src/utils/editor.js +65 -27
- package/build/src/utils/editor.js.map +1 -1
- package/build/src/utils/env.js +44 -33
- package/build/src/utils/env.js.map +1 -1
- package/build/src/utils/errors.js +35 -12
- package/build/src/utils/errors.js.map +1 -1
- package/build/src/utils/exit.js +10 -7
- package/build/src/utils/exit.js.map +1 -1
- package/build/src/utils/findUp.js +38 -8
- package/build/src/utils/findUp.js.map +1 -1
- package/build/src/utils/fn.js +11 -3
- package/build/src/utils/fn.js.map +1 -1
- package/build/src/utils/getOrPromptApplicationId.js +84 -46
- package/build/src/utils/getOrPromptApplicationId.js.map +1 -1
- package/build/src/utils/getRunningProcess.js +63 -25
- package/build/src/utils/getRunningProcess.js.map +1 -1
- package/build/src/utils/git.js +76 -38
- package/build/src/utils/git.js.map +1 -1
- package/build/src/utils/glob.js +23 -12
- package/build/src/utils/glob.js.map +1 -1
- package/build/src/utils/interactive.js +5 -2
- package/build/src/utils/interactive.js.map +1 -1
- package/build/src/utils/ip.js +12 -3
- package/build/src/utils/ip.js.map +1 -1
- package/build/src/utils/isModuleSymlinked.js +20 -5
- package/build/src/utils/isModuleSymlinked.js.map +1 -1
- package/build/src/utils/link.js +28 -8
- package/build/src/utils/link.js.map +1 -1
- package/build/src/utils/mergeGitIgnorePaths.js +45 -28
- package/build/src/utils/mergeGitIgnorePaths.js.map +1 -1
- package/build/src/utils/modifyConfigAsync.js +69 -31
- package/build/src/utils/modifyConfigAsync.js.map +1 -1
- package/build/src/utils/modifyConfigPlugins.js +50 -23
- package/build/src/utils/modifyConfigPlugins.js.map +1 -1
- package/build/src/utils/nodeEnv.js +8 -1
- package/build/src/utils/nodeEnv.js.map +1 -1
- package/build/src/utils/nodeModules.js +29 -8
- package/build/src/utils/nodeModules.js.map +1 -1
- package/build/src/utils/npm.js +86 -31
- package/build/src/utils/npm.js.map +1 -1
- package/build/src/utils/obj.js +12 -4
- package/build/src/utils/obj.js.map +1 -1
- package/build/src/utils/open.js +13 -4
- package/build/src/utils/open.js.map +1 -1
- package/build/src/utils/ora.js +38 -22
- package/build/src/utils/ora.js.map +1 -1
- package/build/src/utils/plist.js +73 -29
- package/build/src/utils/plist.js.map +1 -1
- package/build/src/utils/port.js +74 -36
- package/build/src/utils/port.js.map +1 -1
- package/build/src/utils/profile.js +56 -29
- package/build/src/utils/profile.js.map +1 -1
- package/build/src/utils/progress.js +23 -13
- package/build/src/utils/progress.js.map +1 -1
- package/build/src/utils/prompts.js +45 -28
- package/build/src/utils/prompts.js.map +1 -1
- package/build/src/utils/resolveArgs.js +23 -20
- package/build/src/utils/resolveArgs.js.map +1 -1
- package/build/src/utils/scheme.js +128 -52
- package/build/src/utils/scheme.js.map +1 -1
- package/build/src/utils/strings.js +11 -4
- package/build/src/utils/strings.js.map +1 -1
- package/build/src/utils/tar.js +56 -23
- package/build/src/utils/tar.js.map +1 -1
- package/build/src/utils/telemetry/DetachedClient.js +90 -0
- package/build/src/utils/telemetry/DetachedClient.js.map +1 -0
- package/build/src/utils/telemetry/RudderClient.js +101 -0
- package/build/src/utils/telemetry/RudderClient.js.map +1 -0
- package/build/src/utils/telemetry/flushDetached.js +44 -0
- package/build/src/utils/telemetry/flushDetached.js.map +1 -0
- package/build/src/utils/telemetry/getContext.js +112 -0
- package/build/src/utils/telemetry/getContext.js.map +1 -0
- package/build/src/utils/telemetry/index.js +37 -0
- package/build/src/utils/telemetry/index.js.map +1 -0
- package/build/src/utils/telemetry/types.js +6 -0
- package/build/src/utils/telemetry/types.js.map +1 -0
- package/build/src/utils/template.js +27 -2
- package/build/src/utils/template.js.map +1 -1
- package/build/src/utils/terminal.js +5 -2
- package/build/src/utils/terminal.js.map +1 -1
- package/build/src/utils/tsconfig/evaluateTsConfig.js +32 -14
- package/build/src/utils/tsconfig/evaluateTsConfig.js.map +1 -1
- package/build/src/utils/tsconfig/loadTsConfigPaths.js +34 -14
- package/build/src/utils/tsconfig/loadTsConfigPaths.js.map +1 -1
- package/build/src/utils/tsconfig/matchTsConfigPathAlias.js +8 -4
- package/build/src/utils/tsconfig/matchTsConfigPathAlias.js.map +1 -1
- package/build/src/utils/tsconfig/resolveWithTsConfigPaths.js +20 -11
- package/build/src/utils/tsconfig/resolveWithTsConfigPaths.js.map +1 -1
- package/build/src/utils/url.js +35 -19
- package/build/src/utils/url.js.map +1 -1
- package/build/src/utils/validateApplicationId.js +47 -28
- package/build/src/utils/validateApplicationId.js.map +1 -1
- package/build/src/utils/variadic.js +15 -11
- package/build/src/utils/variadic.js.map +1 -1
- package/build/src/whoami/index.js +43 -25
- package/build/src/whoami/index.js.map +1 -1
- package/build/src/whoami/whoamiAsync.js +50 -23
- package/build/src/whoami/whoamiAsync.js.map +1 -1
- package/package.json +16 -17
- package/static/canary/react-native/Libraries/Renderer/implementations/ReactFabric-dev.js +27907 -0
- package/static/canary/react-native/Libraries/Renderer/implementations/ReactFabric-prod.js +9494 -0
- package/static/canary/react-native/Libraries/Renderer/implementations/ReactFabric-profiling.js +10015 -0
- package/static/canary/react-native/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +28375 -0
- package/static/canary/react-native/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +9714 -0
- package/build/src/run/android/resolveGradleProps.js +0 -37
- package/build/src/run/android/resolveGradleProps.js.map +0 -1
- package/build/src/start/server/metro/bundleApiRoutes.js +0 -52
- package/build/src/start/server/metro/bundleApiRoutes.js.map +0 -1
- package/build/src/start/server/metro/debugging/InspectorDevice.js +0 -80
- package/build/src/start/server/metro/debugging/InspectorDevice.js.map +0 -1
- package/build/src/start/server/metro/debugging/InspectorProxy.js +0 -116
- package/build/src/start/server/metro/debugging/InspectorProxy.js.map +0 -1
- package/build/src/start/server/metro/debugging/inspectorHandlers/NetworkResponse.js.map +0 -1
- package/build/src/start/server/metro/debugging/inspectorHandlers/PageReload.js +0 -22
- package/build/src/start/server/metro/debugging/inspectorHandlers/PageReload.js.map +0 -1
- package/build/src/start/server/metro/debugging/inspectorHandlers/VscodeDebuggerGetPossibleBreakpoints.js +0 -21
- package/build/src/start/server/metro/debugging/inspectorHandlers/VscodeDebuggerGetPossibleBreakpoints.js.map +0 -1
- package/build/src/start/server/metro/debugging/inspectorHandlers/VscodeDebuggerScriptParsed.js +0 -56
- package/build/src/start/server/metro/debugging/inspectorHandlers/VscodeDebuggerScriptParsed.js.map +0 -1
- package/build/src/start/server/metro/debugging/inspectorHandlers/VscodeDebuggerSetBreakpointByUrl.js +0 -18
- package/build/src/start/server/metro/debugging/inspectorHandlers/VscodeDebuggerSetBreakpointByUrl.js.map +0 -1
- package/build/src/start/server/metro/debugging/inspectorHandlers/VscodeRuntimeCallFunctionOn.js +0 -24
- package/build/src/start/server/metro/debugging/inspectorHandlers/VscodeRuntimeCallFunctionOn.js.map +0 -1
- package/build/src/start/server/metro/debugging/inspectorHandlers/VscodeRuntimeGetProperties.js.map +0 -1
- package/build/src/start/server/metro/debugging/inspectorHandlers/types.js.map +0 -1
- package/build/src/start/server/metro/debugging/inspectorHandlers/utils.js.map +0 -1
- package/build/src/start/server/type-generation/__typetests__/fixtures/basic.js +0 -38
- package/build/src/start/server/type-generation/__typetests__/fixtures/basic.js.map +0 -1
- package/build/src/start/server/type-generation/__typetests__/generateFixtures.js +0 -38
- package/build/src/start/server/type-generation/__typetests__/generateFixtures.js.map +0 -1
- package/build/src/start/server/type-generation/__typetests__/route.test.js +0 -184
- package/build/src/start/server/type-generation/__typetests__/route.test.js.map +0 -1
- package/build/src/utils/analytics/rudderstackClient.js +0 -147
- package/build/src/utils/analytics/rudderstackClient.js.map +0 -1
- /package/build/src/start/server/metro/debugging/{inspectorHandlers/types.js → types.js} +0 -0
|
@@ -1,13 +1,49 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2021 Expo, Inc.
|
|
3
|
+
* Copyright (c) 2020 mistval.
|
|
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
|
+
*
|
|
8
|
+
* Based on https://github.com/mistval/node-fetch-cache/blob/9c40ddf786b0de22ce521d8bdaa6347bc44dd629/src/index.js#L1
|
|
9
|
+
* But with TypeScript support to fix Jest tests, and removed unused code.
|
|
10
|
+
*/ "use strict";
|
|
2
11
|
Object.defineProperty(exports, "__esModule", {
|
|
3
12
|
value: true
|
|
4
13
|
});
|
|
5
|
-
exports
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
14
|
+
Object.defineProperty(exports, "wrapFetchWithCache", {
|
|
15
|
+
enumerable: true,
|
|
16
|
+
get: ()=>wrapFetchWithCache
|
|
17
|
+
});
|
|
18
|
+
function _crypto() {
|
|
19
|
+
const data = /*#__PURE__*/ _interopRequireDefault(require("crypto"));
|
|
20
|
+
_crypto = function() {
|
|
21
|
+
return data;
|
|
22
|
+
};
|
|
23
|
+
return data;
|
|
24
|
+
}
|
|
25
|
+
function _fs() {
|
|
26
|
+
const data = /*#__PURE__*/ _interopRequireDefault(require("fs"));
|
|
27
|
+
_fs = function() {
|
|
28
|
+
return data;
|
|
29
|
+
};
|
|
30
|
+
return data;
|
|
31
|
+
}
|
|
32
|
+
function _nodeFetch() {
|
|
33
|
+
const data = require("node-fetch");
|
|
34
|
+
_nodeFetch = function() {
|
|
35
|
+
return data;
|
|
36
|
+
};
|
|
37
|
+
return data;
|
|
38
|
+
}
|
|
39
|
+
function _url() {
|
|
40
|
+
const data = require("url");
|
|
41
|
+
_url = function() {
|
|
42
|
+
return data;
|
|
43
|
+
};
|
|
44
|
+
return data;
|
|
45
|
+
}
|
|
46
|
+
const _response = require("./response");
|
|
11
47
|
function _interopRequireDefault(obj) {
|
|
12
48
|
return obj && obj.__esModule ? obj : {
|
|
13
49
|
default: obj
|
|
@@ -29,8 +65,7 @@ const unlockFunctionForKey = {};
|
|
|
29
65
|
const takeLockPromise = lockPromiseForKey[key];
|
|
30
66
|
lockPromiseForKey[key] = takeLockPromise.then(()=>new Promise((fulfill)=>{
|
|
31
67
|
unlockFunctionForKey[key] = fulfill;
|
|
32
|
-
})
|
|
33
|
-
);
|
|
68
|
+
}));
|
|
34
69
|
return takeLockPromise;
|
|
35
70
|
}
|
|
36
71
|
/**
|
|
@@ -45,7 +80,7 @@ const unlockFunctionForKey = {};
|
|
|
45
80
|
}
|
|
46
81
|
}
|
|
47
82
|
function md5(str) {
|
|
48
|
-
return _crypto.default.createHash("md5").update(str).digest("hex");
|
|
83
|
+
return _crypto().default.createHash("md5").update(str).digest("hex");
|
|
49
84
|
}
|
|
50
85
|
// Since the boundary in FormData is random,
|
|
51
86
|
// we ignore it for purposes of calculating
|
|
@@ -74,10 +109,10 @@ function getBodyCacheKeyJson(body) {
|
|
|
74
109
|
if (typeof body === "string") {
|
|
75
110
|
return body;
|
|
76
111
|
}
|
|
77
|
-
if (body instanceof _url.URLSearchParams) {
|
|
112
|
+
if (body instanceof _url().URLSearchParams) {
|
|
78
113
|
return body.toString();
|
|
79
114
|
}
|
|
80
|
-
if (body instanceof _fs.default.ReadStream) {
|
|
115
|
+
if (body instanceof _fs().default.ReadStream) {
|
|
81
116
|
return body.path;
|
|
82
117
|
}
|
|
83
118
|
if (body.toString && body.toString() === "[object FormData]") {
|
|
@@ -106,7 +141,7 @@ function getRequestCacheKey(req) {
|
|
|
106
141
|
function getCacheKey(requestArguments) {
|
|
107
142
|
const resource = requestArguments[0];
|
|
108
143
|
const init = requestArguments[1] || {};
|
|
109
|
-
const resourceCacheKeyJson = resource instanceof _nodeFetch.Request ? getRequestCacheKey(resource) : {
|
|
144
|
+
const resourceCacheKeyJson = resource instanceof _nodeFetch().Request ? getRequestCacheKey(resource) : {
|
|
110
145
|
url: resource
|
|
111
146
|
};
|
|
112
147
|
const initCacheKeyJson = {
|
|
@@ -122,15 +157,14 @@ function getCacheKey(requestArguments) {
|
|
|
122
157
|
CACHE_VERSION
|
|
123
158
|
]));
|
|
124
159
|
}
|
|
125
|
-
function wrapFetchWithCache(fetch,
|
|
160
|
+
function wrapFetchWithCache(fetch, cache) {
|
|
126
161
|
async function getResponse(cache, url, init) {
|
|
127
162
|
const cacheKey = getCacheKey([
|
|
128
163
|
url,
|
|
129
164
|
init
|
|
130
165
|
]);
|
|
131
166
|
let cachedValue = await cache.get(cacheKey);
|
|
132
|
-
const ejectSelfFromCache = ()=>cache.remove(cacheKey)
|
|
133
|
-
;
|
|
167
|
+
const ejectSelfFromCache = ()=>cache.remove(cacheKey);
|
|
134
168
|
if (cachedValue) {
|
|
135
169
|
return new _response.NFCResponse(cachedValue.bodyStream, cachedValue.metaData, ejectSelfFromCache, true);
|
|
136
170
|
}
|
|
@@ -149,8 +183,7 @@ function wrapFetchWithCache(fetch, cache1) {
|
|
|
149
183
|
unlock(cacheKey);
|
|
150
184
|
}
|
|
151
185
|
}
|
|
152
|
-
return (url, init)=>getResponse(
|
|
153
|
-
;
|
|
186
|
+
return (url, init)=>getResponse(cache, url, init);
|
|
154
187
|
}
|
|
155
188
|
|
|
156
189
|
//# sourceMappingURL=wrapFetchWithCache.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/api/rest/cache/wrapFetchWithCache.ts"],"sourcesContent":["/**\n * Copyright (c) 2021 Expo, Inc.\n * Copyright (c) 2020 mistval.\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 * Based on https://github.com/mistval/node-fetch-cache/blob/9c40ddf786b0de22ce521d8bdaa6347bc44dd629/src/index.js#L1\n * But with TypeScript support to fix Jest tests, and removed unused code.\n */\nimport crypto from 'crypto';\nimport FormData from 'form-data';\nimport fs from 'fs';\nimport { Request, RequestInfo, RequestInit, Response } from 'node-fetch';\nimport { URLSearchParams } from 'url';\n\nimport { FileSystemCache } from './FileSystemCache';\nimport { NFCResponse } from './response';\nimport { FetchLike } from '../client.types';\n\nconst CACHE_VERSION = 3;\n\nconst lockPromiseForKey: Record<string, Promise<any>> = {};\nconst unlockFunctionForKey: Record<string, any> = {};\n\n/**\n * Take out a lock. When this function returns (asynchronously),\n * you have the lock.\n * @param {string} key - The key to lock on. Anyone else who\n * tries to lock on the same key will need to wait for it to\n * be unlocked.\n */\nasync function lock(key: string) {\n if (!lockPromiseForKey[key]) {\n lockPromiseForKey[key] = Promise.resolve();\n }\n\n const takeLockPromise = lockPromiseForKey[key];\n lockPromiseForKey[key] = takeLockPromise.then(\n () =>\n new Promise((fulfill) => {\n unlockFunctionForKey[key] = fulfill;\n })\n );\n\n return takeLockPromise;\n}\n\n/**\n * Release a lock.\n * @param {string} key - The key to release the lock for.\n * The next person in line will now be able to take out\n * the lock for that key.\n */\nfunction unlock(key: string) {\n if (unlockFunctionForKey[key]) {\n unlockFunctionForKey[key]();\n delete unlockFunctionForKey[key];\n }\n}\n\nfunction md5(str: string) {\n return crypto.createHash('md5').update(str).digest('hex');\n}\n\n// Since the boundary in FormData is random,\n// we ignore it for purposes of calculating\n// the cache key.\nfunction getFormDataCacheKey(formData: FormData) {\n const cacheKey = { ...formData };\n const boundary = formData.getBoundary();\n\n // @ts-expect-error\n delete cacheKey._boundary;\n\n const boundaryReplaceRegex = new RegExp(boundary, 'g');\n\n // @ts-expect-error\n cacheKey._streams = cacheKey._streams.map((s) => {\n if (typeof s === 'string') {\n return s.replace(boundaryReplaceRegex, '');\n }\n\n return s;\n });\n\n return cacheKey;\n}\n\nfunction getBodyCacheKeyJson(body: any) {\n if (!body) {\n return body;\n }\n if (typeof body === 'string') {\n return body;\n }\n if (body instanceof URLSearchParams) {\n return body.toString();\n }\n if (body instanceof fs.ReadStream) {\n return body.path;\n }\n if (body.toString && body.toString() === '[object FormData]') {\n return getFormDataCacheKey(body);\n }\n if (body instanceof Buffer) {\n return body.toString();\n }\n\n throw new Error(\n 'Unsupported body type. Supported body types are: string, number, undefined, null, url.URLSearchParams, fs.ReadStream, FormData'\n );\n}\n\nfunction getRequestCacheKey(req: any) {\n return {\n cache: req.cache,\n credentials: req.credentials,\n destination: req.destination,\n headers: req.headers,\n integrity: req.integrity,\n method: req.method,\n redirect: req.redirect,\n referrer: req.referrer,\n referrerPolicy: req.referrerPolicy,\n url: req.url,\n body: getBodyCacheKeyJson(req.body),\n };\n}\n\nfunction getCacheKey(requestArguments: any[]) {\n const resource = requestArguments[0];\n const init = requestArguments[1] || {};\n\n const resourceCacheKeyJson =\n resource instanceof Request ? getRequestCacheKey(resource) : { url: resource };\n\n const initCacheKeyJson = { ...init };\n\n // @ts-ignore\n resourceCacheKeyJson.body = getBodyCacheKeyJson(resourceCacheKeyJson.body);\n initCacheKeyJson.body = getBodyCacheKeyJson(initCacheKeyJson.body);\n\n delete initCacheKeyJson.agent;\n\n return md5(JSON.stringify([resourceCacheKeyJson, initCacheKeyJson, CACHE_VERSION]));\n}\n\nexport function wrapFetchWithCache(\n fetch: FetchLike,\n cache: FileSystemCache\n): (url: RequestInfo, init?: RequestInit | undefined) => Promise<Response> {\n async function getResponse(\n cache: FileSystemCache,\n url: RequestInfo,\n init?: RequestInit | undefined\n ) {\n const cacheKey = getCacheKey([url, init]);\n let cachedValue = await cache.get(cacheKey);\n\n const ejectSelfFromCache = () => cache.remove(cacheKey);\n\n if (cachedValue) {\n return new NFCResponse(\n cachedValue.bodyStream,\n cachedValue.metaData,\n ejectSelfFromCache,\n true\n );\n }\n\n await lock(cacheKey);\n try {\n cachedValue = await cache.get(cacheKey);\n if (cachedValue) {\n return new NFCResponse(\n cachedValue.bodyStream,\n cachedValue.metaData,\n ejectSelfFromCache,\n true\n );\n }\n\n const fetchResponse = await fetch(url, init);\n const serializedMeta = NFCResponse.serializeMetaFromNodeFetchResponse(fetchResponse);\n\n const newlyCachedData = await cache.set(\n cacheKey,\n // @ts-expect-error\n fetchResponse.body,\n serializedMeta\n );\n\n return new NFCResponse(\n newlyCachedData!.bodyStream,\n newlyCachedData!.metaData,\n ejectSelfFromCache,\n false\n );\n } finally {\n unlock(cacheKey);\n }\n }\n return (url: RequestInfo, init?: RequestInit | undefined) => getResponse(cache, url, init);\n}\n"],"names":["wrapFetchWithCache","CACHE_VERSION","lockPromiseForKey","unlockFunctionForKey","lock","key","Promise","resolve","takeLockPromise","then","fulfill","unlock","md5","str","crypto","createHash","update","digest","getFormDataCacheKey","formData","cacheKey","boundary","getBoundary","_boundary","boundaryReplaceRegex","RegExp","_streams","map","s","replace","getBodyCacheKeyJson","body","URLSearchParams","toString","fs","ReadStream","path","Buffer","Error","getRequestCacheKey","req","cache","credentials","destination","headers","integrity","method","redirect","referrer","referrerPolicy","url","getCacheKey","requestArguments","resource","init","resourceCacheKeyJson","Request","initCacheKeyJson","agent","JSON","stringify","fetch","getResponse","cachedValue","get","ejectSelfFromCache","remove","NFCResponse","bodyStream","metaData","fetchResponse","serializedMeta","serializeMetaFromNodeFetchResponse","newlyCachedData","set"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../../../src/api/rest/cache/wrapFetchWithCache.ts"],"sourcesContent":["/**\n * Copyright (c) 2021 Expo, Inc.\n * Copyright (c) 2020 mistval.\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 * Based on https://github.com/mistval/node-fetch-cache/blob/9c40ddf786b0de22ce521d8bdaa6347bc44dd629/src/index.js#L1\n * But with TypeScript support to fix Jest tests, and removed unused code.\n */\nimport crypto from 'crypto';\nimport FormData from 'form-data';\nimport fs from 'fs';\nimport { Request, RequestInfo, RequestInit, Response } from 'node-fetch';\nimport { URLSearchParams } from 'url';\n\nimport { FileSystemCache } from './FileSystemCache';\nimport { NFCResponse } from './response';\nimport { FetchLike } from '../client.types';\n\nconst CACHE_VERSION = 3;\n\nconst lockPromiseForKey: Record<string, Promise<any>> = {};\nconst unlockFunctionForKey: Record<string, any> = {};\n\n/**\n * Take out a lock. When this function returns (asynchronously),\n * you have the lock.\n * @param {string} key - The key to lock on. Anyone else who\n * tries to lock on the same key will need to wait for it to\n * be unlocked.\n */\nasync function lock(key: string) {\n if (!lockPromiseForKey[key]) {\n lockPromiseForKey[key] = Promise.resolve();\n }\n\n const takeLockPromise = lockPromiseForKey[key];\n lockPromiseForKey[key] = takeLockPromise.then(\n () =>\n new Promise((fulfill) => {\n unlockFunctionForKey[key] = fulfill;\n })\n );\n\n return takeLockPromise;\n}\n\n/**\n * Release a lock.\n * @param {string} key - The key to release the lock for.\n * The next person in line will now be able to take out\n * the lock for that key.\n */\nfunction unlock(key: string) {\n if (unlockFunctionForKey[key]) {\n unlockFunctionForKey[key]();\n delete unlockFunctionForKey[key];\n }\n}\n\nfunction md5(str: string) {\n return crypto.createHash('md5').update(str).digest('hex');\n}\n\n// Since the boundary in FormData is random,\n// we ignore it for purposes of calculating\n// the cache key.\nfunction getFormDataCacheKey(formData: FormData) {\n const cacheKey = { ...formData };\n const boundary = formData.getBoundary();\n\n // @ts-expect-error\n delete cacheKey._boundary;\n\n const boundaryReplaceRegex = new RegExp(boundary, 'g');\n\n // @ts-expect-error\n cacheKey._streams = cacheKey._streams.map((s) => {\n if (typeof s === 'string') {\n return s.replace(boundaryReplaceRegex, '');\n }\n\n return s;\n });\n\n return cacheKey;\n}\n\nfunction getBodyCacheKeyJson(body: any) {\n if (!body) {\n return body;\n }\n if (typeof body === 'string') {\n return body;\n }\n if (body instanceof URLSearchParams) {\n return body.toString();\n }\n if (body instanceof fs.ReadStream) {\n return body.path;\n }\n if (body.toString && body.toString() === '[object FormData]') {\n return getFormDataCacheKey(body);\n }\n if (body instanceof Buffer) {\n return body.toString();\n }\n\n throw new Error(\n 'Unsupported body type. Supported body types are: string, number, undefined, null, url.URLSearchParams, fs.ReadStream, FormData'\n );\n}\n\nfunction getRequestCacheKey(req: any) {\n return {\n cache: req.cache,\n credentials: req.credentials,\n destination: req.destination,\n headers: req.headers,\n integrity: req.integrity,\n method: req.method,\n redirect: req.redirect,\n referrer: req.referrer,\n referrerPolicy: req.referrerPolicy,\n url: req.url,\n body: getBodyCacheKeyJson(req.body),\n };\n}\n\nfunction getCacheKey(requestArguments: any[]) {\n const resource = requestArguments[0];\n const init = requestArguments[1] || {};\n\n const resourceCacheKeyJson =\n resource instanceof Request ? getRequestCacheKey(resource) : { url: resource };\n\n const initCacheKeyJson = { ...init };\n\n // @ts-ignore\n resourceCacheKeyJson.body = getBodyCacheKeyJson(resourceCacheKeyJson.body);\n initCacheKeyJson.body = getBodyCacheKeyJson(initCacheKeyJson.body);\n\n delete initCacheKeyJson.agent;\n\n return md5(JSON.stringify([resourceCacheKeyJson, initCacheKeyJson, CACHE_VERSION]));\n}\n\nexport function wrapFetchWithCache(\n fetch: FetchLike,\n cache: FileSystemCache\n): (url: RequestInfo, init?: RequestInit | undefined) => Promise<Response> {\n async function getResponse(\n cache: FileSystemCache,\n url: RequestInfo,\n init?: RequestInit | undefined\n ) {\n const cacheKey = getCacheKey([url, init]);\n let cachedValue = await cache.get(cacheKey);\n\n const ejectSelfFromCache = () => cache.remove(cacheKey);\n\n if (cachedValue) {\n return new NFCResponse(\n cachedValue.bodyStream,\n cachedValue.metaData,\n ejectSelfFromCache,\n true\n );\n }\n\n await lock(cacheKey);\n try {\n cachedValue = await cache.get(cacheKey);\n if (cachedValue) {\n return new NFCResponse(\n cachedValue.bodyStream,\n cachedValue.metaData,\n ejectSelfFromCache,\n true\n );\n }\n\n const fetchResponse = await fetch(url, init);\n const serializedMeta = NFCResponse.serializeMetaFromNodeFetchResponse(fetchResponse);\n\n const newlyCachedData = await cache.set(\n cacheKey,\n // @ts-expect-error\n fetchResponse.body,\n serializedMeta\n );\n\n return new NFCResponse(\n newlyCachedData!.bodyStream,\n newlyCachedData!.metaData,\n ejectSelfFromCache,\n false\n );\n } finally {\n unlock(cacheKey);\n }\n }\n return (url: RequestInfo, init?: RequestInit | undefined) => getResponse(cache, url, init);\n}\n"],"names":["wrapFetchWithCache","CACHE_VERSION","lockPromiseForKey","unlockFunctionForKey","lock","key","Promise","resolve","takeLockPromise","then","fulfill","unlock","md5","str","crypto","createHash","update","digest","getFormDataCacheKey","formData","cacheKey","boundary","getBoundary","_boundary","boundaryReplaceRegex","RegExp","_streams","map","s","replace","getBodyCacheKeyJson","body","URLSearchParams","toString","fs","ReadStream","path","Buffer","Error","getRequestCacheKey","req","cache","credentials","destination","headers","integrity","method","redirect","referrer","referrerPolicy","url","getCacheKey","requestArguments","resource","init","resourceCacheKeyJson","Request","initCacheKeyJson","agent","JSON","stringify","fetch","getResponse","cachedValue","get","ejectSelfFromCache","remove","NFCResponse","bodyStream","metaData","fetchResponse","serializedMeta","serializeMetaFromNodeFetchResponse","newlyCachedData","set"],"mappings":"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"}
|
|
@@ -2,22 +2,50 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", {
|
|
3
3
|
value: true
|
|
4
4
|
});
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
5
|
+
function _export(target, all) {
|
|
6
|
+
for(var name in all)Object.defineProperty(target, name, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: all[name]
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
_export(exports, {
|
|
12
|
+
ApiV2Error: ()=>ApiV2Error,
|
|
13
|
+
UnexpectedServerError: ()=>UnexpectedServerError,
|
|
14
|
+
wrapFetchWithCredentials: ()=>wrapFetchWithCredentials,
|
|
15
|
+
createCachedFetch: ()=>createCachedFetch,
|
|
16
|
+
fetchAsync: ()=>fetchAsync
|
|
17
|
+
});
|
|
18
|
+
function _getUserState() {
|
|
19
|
+
const data = require("@expo/config/build/getUserState");
|
|
20
|
+
_getUserState = function() {
|
|
21
|
+
return data;
|
|
22
|
+
};
|
|
23
|
+
return data;
|
|
24
|
+
}
|
|
25
|
+
function _nodeFetch() {
|
|
26
|
+
const data = /*#__PURE__*/ _interopRequireDefault(require("node-fetch"));
|
|
27
|
+
_nodeFetch = function() {
|
|
28
|
+
return data;
|
|
29
|
+
};
|
|
30
|
+
return data;
|
|
31
|
+
}
|
|
32
|
+
function _path() {
|
|
33
|
+
const data = /*#__PURE__*/ _interopRequireDefault(require("path"));
|
|
34
|
+
_path = function() {
|
|
35
|
+
return data;
|
|
36
|
+
};
|
|
37
|
+
return data;
|
|
38
|
+
}
|
|
39
|
+
const _wrapFetchWithCache = require("./cache/wrapFetchWithCache");
|
|
40
|
+
const _wrapFetchWithBaseUrl = require("./wrapFetchWithBaseUrl");
|
|
41
|
+
const _wrapFetchWithOffline = require("./wrapFetchWithOffline");
|
|
42
|
+
const _wrapFetchWithProgress = require("./wrapFetchWithProgress");
|
|
43
|
+
const _wrapFetchWithProxy = require("./wrapFetchWithProxy");
|
|
44
|
+
const _env = require("../../utils/env");
|
|
45
|
+
const _errors = require("../../utils/errors");
|
|
46
|
+
const _endpoint = require("../endpoint");
|
|
47
|
+
const _settings = require("../settings");
|
|
48
|
+
const _userSettings = /*#__PURE__*/ _interopRequireDefault(require("../user/UserSettings"));
|
|
21
49
|
function _interopRequireDefault(obj) {
|
|
22
50
|
return obj && obj.__esModule ? obj : {
|
|
23
51
|
default: obj
|
|
@@ -34,11 +62,9 @@ class ApiV2Error extends Error {
|
|
|
34
62
|
this.expoApiV2ErrorMetadata = response.metadata;
|
|
35
63
|
}
|
|
36
64
|
}
|
|
37
|
-
exports.ApiV2Error = ApiV2Error;
|
|
38
65
|
class UnexpectedServerError extends Error {
|
|
39
66
|
name = "UnexpectedServerError";
|
|
40
67
|
}
|
|
41
|
-
exports.UnexpectedServerError = UnexpectedServerError;
|
|
42
68
|
function wrapFetchWithCredentials(fetchFunction) {
|
|
43
69
|
return async function fetchWithCredentials(url, options = {}) {
|
|
44
70
|
if (Array.isArray(options.headers)) {
|
|
@@ -78,32 +104,31 @@ function wrapFetchWithCredentials(fetchFunction) {
|
|
|
78
104
|
}
|
|
79
105
|
}
|
|
80
106
|
return results;
|
|
81
|
-
} catch (
|
|
107
|
+
} catch (error1) {
|
|
82
108
|
// Specifically, when running `npx expo start` and the wifi is connected but not really (public wifi, airplanes, etc).
|
|
83
|
-
if ("code" in
|
|
84
|
-
(0, _settings
|
|
109
|
+
if ("code" in error1 && error1.code === "ENOTFOUND") {
|
|
110
|
+
(0, _settings.disableNetwork)();
|
|
85
111
|
throw new _errors.CommandError("OFFLINE", "Network connection is unreliable. Try again with the environment variable `EXPO_OFFLINE=1` to skip network requests.");
|
|
86
112
|
}
|
|
87
|
-
throw
|
|
113
|
+
throw error1;
|
|
88
114
|
}
|
|
89
115
|
};
|
|
90
116
|
}
|
|
91
|
-
const fetchWithOffline = (0, _wrapFetchWithOffline
|
|
92
|
-
const fetchWithBaseUrl = (0, _wrapFetchWithBaseUrl
|
|
93
|
-
const fetchWithProxy = (0, _wrapFetchWithProxy
|
|
94
|
-
const fetchWithCredentials = (0, _wrapFetchWithProgress
|
|
117
|
+
const fetchWithOffline = (0, _wrapFetchWithOffline.wrapFetchWithOffline)(_nodeFetch().default);
|
|
118
|
+
const fetchWithBaseUrl = (0, _wrapFetchWithBaseUrl.wrapFetchWithBaseUrl)(fetchWithOffline, (0, _endpoint.getExpoApiBaseUrl)() + "/v2/");
|
|
119
|
+
const fetchWithProxy = (0, _wrapFetchWithProxy.wrapFetchWithProxy)(fetchWithBaseUrl);
|
|
120
|
+
const fetchWithCredentials = (0, _wrapFetchWithProgress.wrapFetchWithProgress)(wrapFetchWithCredentials(fetchWithProxy));
|
|
95
121
|
function createCachedFetch({ fetch =fetchWithCredentials , cacheDirectory , ttl , skipCache }) {
|
|
96
122
|
// Disable all caching in EXPO_BETA.
|
|
97
123
|
if (skipCache || _env.env.EXPO_BETA || _env.env.EXPO_NO_CACHE) {
|
|
98
124
|
return fetch;
|
|
99
125
|
}
|
|
100
126
|
const { FileSystemCache } = require("./cache/FileSystemCache");
|
|
101
|
-
return (0, _wrapFetchWithCache
|
|
102
|
-
cacheDirectory: _path.default.join((0, _getUserState).getExpoHomeDirectory(), cacheDirectory),
|
|
127
|
+
return (0, _wrapFetchWithCache.wrapFetchWithCache)(fetch, new FileSystemCache({
|
|
128
|
+
cacheDirectory: _path().default.join((0, _getUserState().getExpoHomeDirectory)(), cacheDirectory),
|
|
103
129
|
ttl
|
|
104
130
|
}));
|
|
105
131
|
}
|
|
106
|
-
const fetchAsync = (0, _wrapFetchWithProgress
|
|
107
|
-
exports.fetchAsync = fetchAsync;
|
|
132
|
+
const fetchAsync = (0, _wrapFetchWithProgress.wrapFetchWithProgress)(wrapFetchWithCredentials(fetchWithProxy));
|
|
108
133
|
|
|
109
134
|
//# sourceMappingURL=client.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/api/rest/client.ts"],"sourcesContent":["import { getExpoHomeDirectory } from '@expo/config/build/getUserState';\nimport { JSONValue } from '@expo/json-file';\nimport fetchInstance from 'node-fetch';\nimport path from 'path';\n\nimport { wrapFetchWithCache } from './cache/wrapFetchWithCache';\nimport { FetchLike } from './client.types';\nimport { wrapFetchWithBaseUrl } from './wrapFetchWithBaseUrl';\nimport { wrapFetchWithOffline } from './wrapFetchWithOffline';\nimport { wrapFetchWithProgress } from './wrapFetchWithProgress';\nimport { wrapFetchWithProxy } from './wrapFetchWithProxy';\nimport { env } from '../../utils/env';\nimport { CommandError } from '../../utils/errors';\nimport { getExpoApiBaseUrl } from '../endpoint';\nimport { disableNetwork } from '../settings';\nimport UserSettings from '../user/UserSettings';\n\nexport class ApiV2Error extends Error {\n readonly name = 'ApiV2Error';\n readonly code: string;\n readonly expoApiV2ErrorCode: string;\n readonly expoApiV2ErrorDetails?: JSONValue;\n readonly expoApiV2ErrorServerStack?: string;\n readonly expoApiV2ErrorMetadata?: object;\n\n constructor(response: {\n message: string;\n code: string;\n stack?: string;\n details?: JSONValue;\n metadata?: object;\n }) {\n super(response.message);\n this.code = response.code;\n this.expoApiV2ErrorCode = response.code;\n this.expoApiV2ErrorDetails = response.details;\n this.expoApiV2ErrorServerStack = response.stack;\n this.expoApiV2ErrorMetadata = response.metadata;\n }\n}\n\n/**\n * An Expo server error that didn't return the expected error JSON information.\n * The only 'expected' place for this is in testing, all other cases are bugs with the server.\n */\nexport class UnexpectedServerError extends Error {\n readonly name = 'UnexpectedServerError';\n}\n\n/**\n * @returns a `fetch` function that will inject user authentication information and handle errors from the Expo API.\n */\nexport function wrapFetchWithCredentials(fetchFunction: FetchLike): FetchLike {\n return async function fetchWithCredentials(url, options = {}) {\n if (Array.isArray(options.headers)) {\n throw new Error('request headers must be in object form');\n }\n\n const resolvedHeaders = options.headers ?? ({} as any);\n\n const token = UserSettings.getAccessToken();\n if (token) {\n resolvedHeaders.authorization = `Bearer ${token}`;\n } else {\n const sessionSecret = UserSettings.getSession()?.sessionSecret;\n if (sessionSecret) {\n resolvedHeaders['expo-session'] = sessionSecret;\n }\n }\n\n try {\n const results = await fetchFunction(url, {\n ...options,\n headers: resolvedHeaders,\n });\n\n if (results.status >= 400 && results.status < 500) {\n const body = await results.text();\n try {\n const data = JSON.parse(body);\n if (data?.errors?.length) {\n throw new ApiV2Error(data.errors[0]);\n }\n } catch (error: any) {\n // Server returned non-json response.\n if (error.message.includes('in JSON at position')) {\n throw new UnexpectedServerError(body);\n }\n throw error;\n }\n }\n return results;\n } catch (error: any) {\n // Specifically, when running `npx expo start` and the wifi is connected but not really (public wifi, airplanes, etc).\n if ('code' in error && error.code === 'ENOTFOUND') {\n disableNetwork();\n\n throw new CommandError(\n 'OFFLINE',\n 'Network connection is unreliable. Try again with the environment variable `EXPO_OFFLINE=1` to skip network requests.'\n );\n }\n\n throw error;\n }\n };\n}\n\nconst fetchWithOffline = wrapFetchWithOffline(fetchInstance);\n\nconst fetchWithBaseUrl = wrapFetchWithBaseUrl(fetchWithOffline, getExpoApiBaseUrl() + '/v2/');\n\nconst fetchWithProxy = wrapFetchWithProxy(fetchWithBaseUrl);\n\nconst fetchWithCredentials = wrapFetchWithProgress(wrapFetchWithCredentials(fetchWithProxy));\n\n/**\n * Create an instance of the fully qualified fetch command (auto authentication and api) but with caching in the '~/.expo' directory.\n * Caching is disabled automatically if the EXPO_NO_CACHE or EXPO_BETA environment variables are enabled.\n */\nexport function createCachedFetch({\n fetch = fetchWithCredentials,\n cacheDirectory,\n ttl,\n skipCache,\n}: {\n fetch?: FetchLike;\n cacheDirectory: string;\n ttl?: number;\n skipCache?: boolean;\n}): FetchLike {\n // Disable all caching in EXPO_BETA.\n if (skipCache || env.EXPO_BETA || env.EXPO_NO_CACHE) {\n return fetch;\n }\n\n const { FileSystemCache } =\n require('./cache/FileSystemCache') as typeof import('./cache/FileSystemCache');\n\n return wrapFetchWithCache(\n fetch,\n new FileSystemCache({\n cacheDirectory: path.join(getExpoHomeDirectory(), cacheDirectory),\n ttl,\n })\n );\n}\n\n/** Instance of fetch with automatic base URL pointing to the Expo API, user credential injection, and API error handling. Caching not included. */\nexport const fetchAsync = wrapFetchWithProgress(wrapFetchWithCredentials(fetchWithProxy));\n"],"names":["wrapFetchWithCredentials","createCachedFetch","
|
|
1
|
+
{"version":3,"sources":["../../../../src/api/rest/client.ts"],"sourcesContent":["import { getExpoHomeDirectory } from '@expo/config/build/getUserState';\nimport { JSONValue } from '@expo/json-file';\nimport fetchInstance from 'node-fetch';\nimport path from 'path';\n\nimport { wrapFetchWithCache } from './cache/wrapFetchWithCache';\nimport { FetchLike } from './client.types';\nimport { wrapFetchWithBaseUrl } from './wrapFetchWithBaseUrl';\nimport { wrapFetchWithOffline } from './wrapFetchWithOffline';\nimport { wrapFetchWithProgress } from './wrapFetchWithProgress';\nimport { wrapFetchWithProxy } from './wrapFetchWithProxy';\nimport { env } from '../../utils/env';\nimport { CommandError } from '../../utils/errors';\nimport { getExpoApiBaseUrl } from '../endpoint';\nimport { disableNetwork } from '../settings';\nimport UserSettings from '../user/UserSettings';\n\nexport class ApiV2Error extends Error {\n readonly name = 'ApiV2Error';\n readonly code: string;\n readonly expoApiV2ErrorCode: string;\n readonly expoApiV2ErrorDetails?: JSONValue;\n readonly expoApiV2ErrorServerStack?: string;\n readonly expoApiV2ErrorMetadata?: object;\n\n constructor(response: {\n message: string;\n code: string;\n stack?: string;\n details?: JSONValue;\n metadata?: object;\n }) {\n super(response.message);\n this.code = response.code;\n this.expoApiV2ErrorCode = response.code;\n this.expoApiV2ErrorDetails = response.details;\n this.expoApiV2ErrorServerStack = response.stack;\n this.expoApiV2ErrorMetadata = response.metadata;\n }\n}\n\n/**\n * An Expo server error that didn't return the expected error JSON information.\n * The only 'expected' place for this is in testing, all other cases are bugs with the server.\n */\nexport class UnexpectedServerError extends Error {\n readonly name = 'UnexpectedServerError';\n}\n\n/**\n * @returns a `fetch` function that will inject user authentication information and handle errors from the Expo API.\n */\nexport function wrapFetchWithCredentials(fetchFunction: FetchLike): FetchLike {\n return async function fetchWithCredentials(url, options = {}) {\n if (Array.isArray(options.headers)) {\n throw new Error('request headers must be in object form');\n }\n\n const resolvedHeaders = options.headers ?? ({} as any);\n\n const token = UserSettings.getAccessToken();\n if (token) {\n resolvedHeaders.authorization = `Bearer ${token}`;\n } else {\n const sessionSecret = UserSettings.getSession()?.sessionSecret;\n if (sessionSecret) {\n resolvedHeaders['expo-session'] = sessionSecret;\n }\n }\n\n try {\n const results = await fetchFunction(url, {\n ...options,\n headers: resolvedHeaders,\n });\n\n if (results.status >= 400 && results.status < 500) {\n const body = await results.text();\n try {\n const data = JSON.parse(body);\n if (data?.errors?.length) {\n throw new ApiV2Error(data.errors[0]);\n }\n } catch (error: any) {\n // Server returned non-json response.\n if (error.message.includes('in JSON at position')) {\n throw new UnexpectedServerError(body);\n }\n throw error;\n }\n }\n return results;\n } catch (error: any) {\n // Specifically, when running `npx expo start` and the wifi is connected but not really (public wifi, airplanes, etc).\n if ('code' in error && error.code === 'ENOTFOUND') {\n disableNetwork();\n\n throw new CommandError(\n 'OFFLINE',\n 'Network connection is unreliable. Try again with the environment variable `EXPO_OFFLINE=1` to skip network requests.'\n );\n }\n\n throw error;\n }\n };\n}\n\nconst fetchWithOffline = wrapFetchWithOffline(fetchInstance);\n\nconst fetchWithBaseUrl = wrapFetchWithBaseUrl(fetchWithOffline, getExpoApiBaseUrl() + '/v2/');\n\nconst fetchWithProxy = wrapFetchWithProxy(fetchWithBaseUrl);\n\nconst fetchWithCredentials = wrapFetchWithProgress(wrapFetchWithCredentials(fetchWithProxy));\n\n/**\n * Create an instance of the fully qualified fetch command (auto authentication and api) but with caching in the '~/.expo' directory.\n * Caching is disabled automatically if the EXPO_NO_CACHE or EXPO_BETA environment variables are enabled.\n */\nexport function createCachedFetch({\n fetch = fetchWithCredentials,\n cacheDirectory,\n ttl,\n skipCache,\n}: {\n fetch?: FetchLike;\n cacheDirectory: string;\n ttl?: number;\n skipCache?: boolean;\n}): FetchLike {\n // Disable all caching in EXPO_BETA.\n if (skipCache || env.EXPO_BETA || env.EXPO_NO_CACHE) {\n return fetch;\n }\n\n const { FileSystemCache } =\n require('./cache/FileSystemCache') as typeof import('./cache/FileSystemCache');\n\n return wrapFetchWithCache(\n fetch,\n new FileSystemCache({\n cacheDirectory: path.join(getExpoHomeDirectory(), cacheDirectory),\n ttl,\n })\n );\n}\n\n/** Instance of fetch with automatic base URL pointing to the Expo API, user credential injection, and API error handling. Caching not included. */\nexport const fetchAsync = wrapFetchWithProgress(wrapFetchWithCredentials(fetchWithProxy));\n"],"names":["ApiV2Error","UnexpectedServerError","wrapFetchWithCredentials","createCachedFetch","fetchAsync","Error","name","constructor","response","message","code","expoApiV2ErrorCode","expoApiV2ErrorDetails","details","expoApiV2ErrorServerStack","stack","expoApiV2ErrorMetadata","metadata","fetchFunction","fetchWithCredentials","url","options","Array","isArray","headers","resolvedHeaders","token","UserSettings","getAccessToken","authorization","sessionSecret","getSession","results","status","body","text","data","JSON","parse","errors","length","error","includes","disableNetwork","CommandError","fetchWithOffline","wrapFetchWithOffline","fetchInstance","fetchWithBaseUrl","wrapFetchWithBaseUrl","getExpoApiBaseUrl","fetchWithProxy","wrapFetchWithProxy","wrapFetchWithProgress","fetch","cacheDirectory","ttl","skipCache","env","EXPO_BETA","EXPO_NO_CACHE","FileSystemCache","require","wrapFetchWithCache","path","join","getExpoHomeDirectory"],"mappings":"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"}
|
|
@@ -2,20 +2,28 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", {
|
|
3
3
|
value: true
|
|
4
4
|
});
|
|
5
|
-
exports
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
Object.defineProperty(exports, "wrapFetchWithBaseUrl", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: ()=>wrapFetchWithBaseUrl
|
|
8
|
+
});
|
|
9
|
+
function _url() {
|
|
10
|
+
const data = require("url");
|
|
11
|
+
_url = function() {
|
|
12
|
+
return data;
|
|
13
|
+
};
|
|
14
|
+
return data;
|
|
15
|
+
}
|
|
8
16
|
function wrapFetchWithBaseUrl(fetch, baseUrl) {
|
|
9
17
|
// NOTE(EvanBacon): DO NOT RETURN AN ASYNC WRAPPER. THIS BREAKS LOADING INDICATORS.
|
|
10
18
|
return (url, init)=>{
|
|
11
19
|
if (typeof url !== "string") {
|
|
12
20
|
throw new TypeError("Custom fetch function only accepts a string URL as the first parameter");
|
|
13
21
|
}
|
|
14
|
-
const parsed = new _url.URL(url, baseUrl);
|
|
22
|
+
const parsed = new (_url()).URL(url, baseUrl);
|
|
15
23
|
if (init == null ? void 0 : init.searchParams) {
|
|
16
24
|
parsed.search = init.searchParams.toString();
|
|
17
25
|
}
|
|
18
|
-
debug(
|
|
26
|
+
// debug('fetch:', parsed.toString().trim());
|
|
19
27
|
return fetch(parsed.toString(), init);
|
|
20
28
|
};
|
|
21
29
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/api/rest/wrapFetchWithBaseUrl.ts"],"sourcesContent":["import { URL } from 'url';\n\nimport { FetchLike } from './client.types';\n\
|
|
1
|
+
{"version":3,"sources":["../../../../src/api/rest/wrapFetchWithBaseUrl.ts"],"sourcesContent":["import { URL } from 'url';\n\nimport { FetchLike } from './client.types';\n\n// const debug = require('debug')('expo:api:fetch:base') as typeof console.log;\n\n/**\n * Wrap a fetch function with support for a predefined base URL.\n * This implementation works like the browser fetch, applying the input to a prefix base URL.\n */\nexport function wrapFetchWithBaseUrl(fetch: FetchLike, baseUrl: string): FetchLike {\n // NOTE(EvanBacon): DO NOT RETURN AN ASYNC WRAPPER. THIS BREAKS LOADING INDICATORS.\n return (url, init) => {\n if (typeof url !== 'string') {\n throw new TypeError('Custom fetch function only accepts a string URL as the first parameter');\n }\n const parsed = new URL(url, baseUrl);\n if (init?.searchParams) {\n parsed.search = init.searchParams.toString();\n }\n // debug('fetch:', parsed.toString().trim());\n return fetch(parsed.toString(), init);\n };\n}\n"],"names":["wrapFetchWithBaseUrl","fetch","baseUrl","url","init","TypeError","parsed","URL","searchParams","search","toString"],"mappings":"AAAA;;;;+BAUgBA,sBAAoB;;aAApBA,oBAAoB;;;yBAVhB,KAAK;;;;;;AAUlB,SAASA,oBAAoB,CAACC,KAAgB,EAAEC,OAAe,EAAa;IACjF,mFAAmF;IACnF,OAAO,CAACC,GAAG,EAAEC,IAAI,GAAK;QACpB,IAAI,OAAOD,GAAG,KAAK,QAAQ,EAAE;YAC3B,MAAM,IAAIE,SAAS,CAAC,wEAAwE,CAAC,CAAC;QAChG,CAAC;QACD,MAAMC,MAAM,GAAG,IAAIC,CAAAA,IAAG,EAAA,CAAA,IAAA,CAACJ,GAAG,EAAED,OAAO,CAAC,AAAC;QACrC,IAAIE,IAAI,QAAc,GAAlBA,KAAAA,CAAkB,GAAlBA,IAAI,CAAEI,YAAY,EAAE;YACtBF,MAAM,CAACG,MAAM,GAAGL,IAAI,CAACI,YAAY,CAACE,QAAQ,EAAE,CAAC;QAC/C,CAAC;QACD,6CAA6C;QAC7C,OAAOT,KAAK,CAACK,MAAM,CAACI,QAAQ,EAAE,EAAEN,IAAI,CAAC,CAAC;IACxC,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -2,8 +2,11 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", {
|
|
3
3
|
value: true
|
|
4
4
|
});
|
|
5
|
-
exports
|
|
6
|
-
|
|
5
|
+
Object.defineProperty(exports, "wrapFetchWithOffline", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: ()=>wrapFetchWithOffline
|
|
8
|
+
});
|
|
9
|
+
const _env = require("../../utils/env");
|
|
7
10
|
const debug = require("debug")("expo:api:fetch:offline");
|
|
8
11
|
function wrapFetchWithOffline(fetchFunction) {
|
|
9
12
|
// NOTE(EvanBacon): DO NOT RETURN AN ASYNC WRAPPER. THIS BREAKS LOADING INDICATORS.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/api/rest/wrapFetchWithOffline.ts"],"sourcesContent":["import { FetchLike } from './client.types';\nimport { env } from '../../utils/env';\n\nconst debug = require('debug')('expo:api:fetch:offline') as typeof console.log;\n\n/** Wrap fetch with support for `EXPO_OFFLINE` to disable network requests. */\nexport function wrapFetchWithOffline(fetchFunction: FetchLike): FetchLike {\n // NOTE(EvanBacon): DO NOT RETURN AN ASYNC WRAPPER. THIS BREAKS LOADING INDICATORS.\n return function fetchWithOffline(url, options = {}) {\n if (env.EXPO_OFFLINE) {\n debug('Skipping network request: ' + url);\n options.timeout = 1;\n }\n return fetchFunction(url, options);\n };\n}\n"],"names":["wrapFetchWithOffline","debug","require","fetchFunction","fetchWithOffline","url","options","env","EXPO_OFFLINE","timeout"],"mappings":"AAAA
|
|
1
|
+
{"version":3,"sources":["../../../../src/api/rest/wrapFetchWithOffline.ts"],"sourcesContent":["import { FetchLike } from './client.types';\nimport { env } from '../../utils/env';\n\nconst debug = require('debug')('expo:api:fetch:offline') as typeof console.log;\n\n/** Wrap fetch with support for `EXPO_OFFLINE` to disable network requests. */\nexport function wrapFetchWithOffline(fetchFunction: FetchLike): FetchLike {\n // NOTE(EvanBacon): DO NOT RETURN AN ASYNC WRAPPER. THIS BREAKS LOADING INDICATORS.\n return function fetchWithOffline(url, options = {}) {\n if (env.EXPO_OFFLINE) {\n debug('Skipping network request: ' + url);\n options.timeout = 1;\n }\n return fetchFunction(url, options);\n };\n}\n"],"names":["wrapFetchWithOffline","debug","require","fetchFunction","fetchWithOffline","url","options","env","EXPO_OFFLINE","timeout"],"mappings":"AAAA;;;;+BAMgBA,sBAAoB;;aAApBA,oBAAoB;;qBALhB,iBAAiB;AAErC,MAAMC,KAAK,GAAGC,OAAO,CAAC,OAAO,CAAC,CAAC,wBAAwB,CAAC,AAAsB,AAAC;AAGxE,SAASF,oBAAoB,CAACG,aAAwB,EAAa;IACxE,mFAAmF;IACnF,OAAO,SAASC,gBAAgB,CAACC,GAAG,EAAEC,OAAO,GAAG,EAAE,EAAE;QAClD,IAAIC,IAAG,IAAA,CAACC,YAAY,EAAE;YACpBP,KAAK,CAAC,4BAA4B,GAAGI,GAAG,CAAC,CAAC;YAC1CC,OAAO,CAACG,OAAO,GAAG,CAAC,CAAC;QACtB,CAAC;QACD,OAAON,aAAa,CAACE,GAAG,EAAEC,OAAO,CAAC,CAAC;IACrC,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -2,28 +2,49 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", {
|
|
3
3
|
value: true
|
|
4
4
|
});
|
|
5
|
-
exports
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
5
|
+
Object.defineProperty(exports, "wrapFetchWithProgress", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: ()=>wrapFetchWithProgress
|
|
8
|
+
});
|
|
9
|
+
const _log = /*#__PURE__*/ _interopRequireWildcard(require("../../log"));
|
|
10
|
+
function _getRequireWildcardCache(nodeInterop) {
|
|
11
|
+
if (typeof WeakMap !== "function") return null;
|
|
12
|
+
var cacheBabelInterop = new WeakMap();
|
|
13
|
+
var cacheNodeInterop = new WeakMap();
|
|
14
|
+
return (_getRequireWildcardCache = function(nodeInterop) {
|
|
15
|
+
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
|
16
|
+
})(nodeInterop);
|
|
17
|
+
}
|
|
18
|
+
function _interopRequireWildcard(obj, nodeInterop) {
|
|
19
|
+
if (!nodeInterop && obj && obj.__esModule) {
|
|
9
20
|
return obj;
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
21
|
+
}
|
|
22
|
+
if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
|
|
23
|
+
return {
|
|
24
|
+
default: obj
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
var cache = _getRequireWildcardCache(nodeInterop);
|
|
28
|
+
if (cache && cache.has(obj)) {
|
|
29
|
+
return cache.get(obj);
|
|
30
|
+
}
|
|
31
|
+
var newObj = {};
|
|
32
|
+
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
33
|
+
for(var key in obj){
|
|
34
|
+
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
35
|
+
var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
|
|
36
|
+
if (desc && (desc.get || desc.set)) {
|
|
37
|
+
Object.defineProperty(newObj, key, desc);
|
|
38
|
+
} else {
|
|
39
|
+
newObj[key] = obj[key];
|
|
22
40
|
}
|
|
23
41
|
}
|
|
24
|
-
newObj.default = obj;
|
|
25
|
-
return newObj;
|
|
26
42
|
}
|
|
43
|
+
newObj.default = obj;
|
|
44
|
+
if (cache) {
|
|
45
|
+
cache.set(obj, newObj);
|
|
46
|
+
}
|
|
47
|
+
return newObj;
|
|
27
48
|
}
|
|
28
49
|
const debug = require("debug")("expo:api:fetch:progress");
|
|
29
50
|
function wrapFetchWithProgress(fetch) {
|
|
@@ -34,7 +55,7 @@ function wrapFetchWithProgress(fetch) {
|
|
|
34
55
|
const total = Number(totalDownloadSize);
|
|
35
56
|
debug(`Download size: ${totalDownloadSize}`);
|
|
36
57
|
if (!totalDownloadSize || isNaN(total) || total < 0) {
|
|
37
|
-
|
|
58
|
+
_log.warn('Progress callback not supported for network request because "Content-Length" header missing or invalid in response from URL:', url.toString());
|
|
38
59
|
return res;
|
|
39
60
|
}
|
|
40
61
|
let length = 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/api/rest/wrapFetchWithProgress.ts"],"sourcesContent":["import { FetchLike } from './client.types';\nimport * as Log from '../../log';\nconst debug = require('debug')('expo:api:fetch:progress') as typeof console.log;\n\nexport function wrapFetchWithProgress(fetch: FetchLike): FetchLike {\n return (url, init) => {\n return fetch(url, init).then((res) => {\n if (res.ok && init?.onProgress) {\n const totalDownloadSize = res.headers.get('Content-Length');\n const total = Number(totalDownloadSize);\n\n debug(`Download size: ${totalDownloadSize}`);\n if (!totalDownloadSize || isNaN(total) || total < 0) {\n Log.warn(\n 'Progress callback not supported for network request because \"Content-Length\" header missing or invalid in response from URL:',\n url.toString()\n );\n return res;\n }\n\n let length = 0;\n\n debug(`Starting progress animation for ${url}`);\n res.body.on('data', (chunk) => {\n length += Buffer.byteLength(chunk);\n onProgress();\n });\n\n res.body.on('end', () => {\n debug(`Finished progress animation for ${url}`);\n onProgress();\n });\n\n const onProgress = () => {\n const progress = length / total || 0;\n init.onProgress?.({\n progress,\n total,\n loaded: length,\n });\n };\n }\n return res;\n });\n };\n}\n"],"names":["wrapFetchWithProgress","
|
|
1
|
+
{"version":3,"sources":["../../../../src/api/rest/wrapFetchWithProgress.ts"],"sourcesContent":["import { FetchLike } from './client.types';\nimport * as Log from '../../log';\nconst debug = require('debug')('expo:api:fetch:progress') as typeof console.log;\n\nexport function wrapFetchWithProgress(fetch: FetchLike): FetchLike {\n return (url, init) => {\n return fetch(url, init).then((res) => {\n if (res.ok && init?.onProgress) {\n const totalDownloadSize = res.headers.get('Content-Length');\n const total = Number(totalDownloadSize);\n\n debug(`Download size: ${totalDownloadSize}`);\n if (!totalDownloadSize || isNaN(total) || total < 0) {\n Log.warn(\n 'Progress callback not supported for network request because \"Content-Length\" header missing or invalid in response from URL:',\n url.toString()\n );\n return res;\n }\n\n let length = 0;\n\n debug(`Starting progress animation for ${url}`);\n res.body.on('data', (chunk) => {\n length += Buffer.byteLength(chunk);\n onProgress();\n });\n\n res.body.on('end', () => {\n debug(`Finished progress animation for ${url}`);\n onProgress();\n });\n\n const onProgress = () => {\n const progress = length / total || 0;\n init.onProgress?.({\n progress,\n total,\n loaded: length,\n });\n };\n }\n return res;\n });\n };\n}\n"],"names":["wrapFetchWithProgress","debug","require","fetch","url","init","then","res","ok","onProgress","totalDownloadSize","headers","get","total","Number","isNaN","Log","warn","toString","length","body","on","chunk","Buffer","byteLength","progress","loaded"],"mappings":"AAAA;;;;+BAIgBA,uBAAqB;;aAArBA,qBAAqB;;2DAHhB,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAChC,MAAMC,KAAK,GAAGC,OAAO,CAAC,OAAO,CAAC,CAAC,yBAAyB,CAAC,AAAsB,AAAC;AAEzE,SAASF,qBAAqB,CAACG,KAAgB,EAAa;IACjE,OAAO,CAACC,GAAG,EAAEC,IAAI,GAAK;QACpB,OAAOF,KAAK,CAACC,GAAG,EAAEC,IAAI,CAAC,CAACC,IAAI,CAAC,CAACC,GAAG,GAAK;YACpC,IAAIA,GAAG,CAACC,EAAE,IAAIH,CAAAA,IAAI,QAAY,GAAhBA,KAAAA,CAAgB,GAAhBA,IAAI,CAAEI,UAAU,CAAA,EAAE;gBAC9B,MAAMC,iBAAiB,GAAGH,GAAG,CAACI,OAAO,CAACC,GAAG,CAAC,gBAAgB,CAAC,AAAC;gBAC5D,MAAMC,KAAK,GAAGC,MAAM,CAACJ,iBAAiB,CAAC,AAAC;gBAExCT,KAAK,CAAC,CAAC,eAAe,EAAES,iBAAiB,CAAC,CAAC,CAAC,CAAC;gBAC7C,IAAI,CAACA,iBAAiB,IAAIK,KAAK,CAACF,KAAK,CAAC,IAAIA,KAAK,GAAG,CAAC,EAAE;oBACnDG,IAAG,CAACC,IAAI,CACN,8HAA8H,EAC9Hb,GAAG,CAACc,QAAQ,EAAE,CACf,CAAC;oBACF,OAAOX,GAAG,CAAC;gBACb,CAAC;gBAED,IAAIY,MAAM,GAAG,CAAC,AAAC;gBAEflB,KAAK,CAAC,CAAC,gCAAgC,EAAEG,GAAG,CAAC,CAAC,CAAC,CAAC;gBAChDG,GAAG,CAACa,IAAI,CAACC,EAAE,CAAC,MAAM,EAAE,CAACC,KAAK,GAAK;oBAC7BH,MAAM,IAAII,MAAM,CAACC,UAAU,CAACF,KAAK,CAAC,CAAC;oBACnCb,UAAU,EAAE,CAAC;gBACf,CAAC,CAAC,CAAC;gBAEHF,GAAG,CAACa,IAAI,CAACC,EAAE,CAAC,KAAK,EAAE,IAAM;oBACvBpB,KAAK,CAAC,CAAC,gCAAgC,EAAEG,GAAG,CAAC,CAAC,CAAC,CAAC;oBAChDK,UAAU,EAAE,CAAC;gBACf,CAAC,CAAC,CAAC;gBAEH,MAAMA,UAAU,GAAG,IAAM;oBACvB,MAAMgB,QAAQ,GAAGN,MAAM,GAAGN,KAAK,IAAI,CAAC,AAAC;oBACrCR,IAAI,CAACI,UAAU,QAIb,GAJFJ,KAAAA,CAIE,GAJFA,IAAI,CAACI,UAAU,CAAG;wBAChBgB,QAAQ;wBACRZ,KAAK;wBACLa,MAAM,EAAEP,MAAM;qBACf,CAAC,CAAC;gBACL,CAAC,AAAC;YACJ,CAAC;YACD,OAAOZ,GAAG,CAAC;QACb,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -2,9 +2,18 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", {
|
|
3
3
|
value: true
|
|
4
4
|
});
|
|
5
|
-
exports
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
Object.defineProperty(exports, "wrapFetchWithProxy", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: ()=>wrapFetchWithProxy
|
|
8
|
+
});
|
|
9
|
+
function _httpsProxyAgent() {
|
|
10
|
+
const data = /*#__PURE__*/ _interopRequireDefault(require("https-proxy-agent"));
|
|
11
|
+
_httpsProxyAgent = function() {
|
|
12
|
+
return data;
|
|
13
|
+
};
|
|
14
|
+
return data;
|
|
15
|
+
}
|
|
16
|
+
const _env = require("../../utils/env");
|
|
8
17
|
function _interopRequireDefault(obj) {
|
|
9
18
|
return obj && obj.__esModule ? obj : {
|
|
10
19
|
default: obj
|
|
@@ -17,7 +26,7 @@ function wrapFetchWithProxy(fetchFunction) {
|
|
|
17
26
|
const proxy = _env.env.HTTP_PROXY;
|
|
18
27
|
if (!options.agent && proxy) {
|
|
19
28
|
debug("Using proxy:", proxy);
|
|
20
|
-
options.agent = (0, _httpsProxyAgent).default(proxy);
|
|
29
|
+
options.agent = (0, _httpsProxyAgent().default)(proxy);
|
|
21
30
|
}
|
|
22
31
|
return fetchFunction(url, options);
|
|
23
32
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/api/rest/wrapFetchWithProxy.ts"],"sourcesContent":["import createHttpsProxyAgent from 'https-proxy-agent';\n\nimport { FetchLike } from './client.types';\nimport { env } from '../../utils/env';\n\nconst debug = require('debug')('expo:api:fetch:proxy') as typeof console.log;\n\n/** Wrap fetch with support for proxies. */\nexport function wrapFetchWithProxy(fetchFunction: FetchLike): FetchLike {\n // NOTE(EvanBacon): DO NOT RETURN AN ASYNC WRAPPER. THIS BREAKS LOADING INDICATORS.\n return function fetchWithProxy(url, options = {}) {\n const proxy = env.HTTP_PROXY;\n if (!options.agent && proxy) {\n debug('Using proxy:', proxy);\n options.agent = createHttpsProxyAgent(proxy);\n }\n return fetchFunction(url, options);\n };\n}\n"],"names":["wrapFetchWithProxy","debug","require","fetchFunction","fetchWithProxy","url","options","proxy","env","HTTP_PROXY","agent","createHttpsProxyAgent"],"mappings":"AAAA
|
|
1
|
+
{"version":3,"sources":["../../../../src/api/rest/wrapFetchWithProxy.ts"],"sourcesContent":["import createHttpsProxyAgent from 'https-proxy-agent';\n\nimport { FetchLike } from './client.types';\nimport { env } from '../../utils/env';\n\nconst debug = require('debug')('expo:api:fetch:proxy') as typeof console.log;\n\n/** Wrap fetch with support for proxies. */\nexport function wrapFetchWithProxy(fetchFunction: FetchLike): FetchLike {\n // NOTE(EvanBacon): DO NOT RETURN AN ASYNC WRAPPER. THIS BREAKS LOADING INDICATORS.\n return function fetchWithProxy(url, options = {}) {\n const proxy = env.HTTP_PROXY;\n if (!options.agent && proxy) {\n debug('Using proxy:', proxy);\n options.agent = createHttpsProxyAgent(proxy);\n }\n return fetchFunction(url, options);\n };\n}\n"],"names":["wrapFetchWithProxy","debug","require","fetchFunction","fetchWithProxy","url","options","proxy","env","HTTP_PROXY","agent","createHttpsProxyAgent"],"mappings":"AAAA;;;;+BAQgBA,oBAAkB;;aAAlBA,kBAAkB;;;8DARA,mBAAmB;;;;;;qBAGjC,iBAAiB;;;;;;AAErC,MAAMC,KAAK,GAAGC,OAAO,CAAC,OAAO,CAAC,CAAC,sBAAsB,CAAC,AAAsB,AAAC;AAGtE,SAASF,kBAAkB,CAACG,aAAwB,EAAa;IACtE,mFAAmF;IACnF,OAAO,SAASC,cAAc,CAACC,GAAG,EAAEC,OAAO,GAAG,EAAE,EAAE;QAChD,MAAMC,KAAK,GAAGC,IAAG,IAAA,CAACC,UAAU,AAAC;QAC7B,IAAI,CAACH,OAAO,CAACI,KAAK,IAAIH,KAAK,EAAE;YAC3BN,KAAK,CAAC,cAAc,EAAEM,KAAK,CAAC,CAAC;YAC7BD,OAAO,CAACI,KAAK,GAAGC,IAAAA,gBAAqB,EAAA,QAAA,EAACJ,KAAK,CAAC,CAAC;QAC/C,CAAC;QACD,OAAOJ,aAAa,CAACE,GAAG,EAAEC,OAAO,CAAC,CAAC;IACrC,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -1,11 +1,22 @@
|
|
|
1
|
+
// This file represents temporary globals for the CLI when using the API.
|
|
2
|
+
// Settings should be as minimal as possible since they are globals.
|
|
1
3
|
"use strict";
|
|
2
4
|
Object.defineProperty(exports, "__esModule", {
|
|
3
5
|
value: true
|
|
4
6
|
});
|
|
5
|
-
exports
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
Object.defineProperty(exports, "disableNetwork", {
|
|
8
|
+
enumerable: true,
|
|
9
|
+
get: ()=>disableNetwork
|
|
10
|
+
});
|
|
11
|
+
function _chalk() {
|
|
12
|
+
const data = /*#__PURE__*/ _interopRequireDefault(require("chalk"));
|
|
13
|
+
_chalk = function() {
|
|
14
|
+
return data;
|
|
15
|
+
};
|
|
16
|
+
return data;
|
|
17
|
+
}
|
|
18
|
+
const _log = require("../log");
|
|
19
|
+
const _env = require("../utils/env");
|
|
9
20
|
function _interopRequireDefault(obj) {
|
|
10
21
|
return obj && obj.__esModule ? obj : {
|
|
11
22
|
default: obj
|
|
@@ -14,7 +25,7 @@ function _interopRequireDefault(obj) {
|
|
|
14
25
|
function disableNetwork() {
|
|
15
26
|
if (_env.env.EXPO_OFFLINE) return;
|
|
16
27
|
process.env.EXPO_OFFLINE = "1";
|
|
17
|
-
_log.Log.log(_chalk.default.gray("Networking has been disabled"));
|
|
28
|
+
_log.Log.log(_chalk().default.gray("Networking has been disabled"));
|
|
18
29
|
}
|
|
19
30
|
|
|
20
31
|
//# sourceMappingURL=settings.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/api/settings.ts"],"sourcesContent":["// This file represents temporary globals for the CLI when using the API.\n// Settings should be as minimal as possible since they are globals.\nimport chalk from 'chalk';\n\nimport { Log } from '../log';\nimport { env } from '../utils/env';\n\nexport function disableNetwork() {\n if (env.EXPO_OFFLINE) return;\n process.env.EXPO_OFFLINE = '1';\n Log.log(chalk.gray('Networking has been disabled'));\n}\n"],"names":["disableNetwork","env","EXPO_OFFLINE","process","Log","log","chalk","gray"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/api/settings.ts"],"sourcesContent":["// This file represents temporary globals for the CLI when using the API.\n// Settings should be as minimal as possible since they are globals.\nimport chalk from 'chalk';\n\nimport { Log } from '../log';\nimport { env } from '../utils/env';\n\nexport function disableNetwork() {\n if (env.EXPO_OFFLINE) return;\n process.env.EXPO_OFFLINE = '1';\n Log.log(chalk.gray('Networking has been disabled'));\n}\n"],"names":["disableNetwork","env","EXPO_OFFLINE","process","Log","log","chalk","gray"],"mappings":"AAAA,yEAAyE;AACzE,oEAAoE;AACpE;;;;+BAKgBA,gBAAc;;aAAdA,cAAc;;;8DALZ,OAAO;;;;;;qBAEL,QAAQ;qBACR,cAAc;;;;;;AAE3B,SAASA,cAAc,GAAG;IAC/B,IAAIC,IAAG,IAAA,CAACC,YAAY,EAAE,OAAO;IAC7BC,OAAO,CAACF,GAAG,CAACC,YAAY,GAAG,GAAG,CAAC;IAC/BE,IAAG,IAAA,CAACC,GAAG,CAACC,MAAK,EAAA,QAAA,CAACC,IAAI,CAAC,8BAA8B,CAAC,CAAC,CAAC;AACtD,CAAC"}
|