@depup/expo__cli 55.0.16-depup.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +55 -0
- package/add-module.js +8 -0
- package/build/bin/cli +278 -0
- package/build/bin/cli.map +1 -0
- package/build/metro-require/require.js +608 -0
- package/build/src/api/endpoint.js +39 -0
- package/build/src/api/endpoint.js.map +1 -0
- package/build/src/api/getExpoGoIntermediateCertificate.js +23 -0
- package/build/src/api/getExpoGoIntermediateCertificate.js.map +1 -0
- package/build/src/api/getExpoSchema.js +97 -0
- package/build/src/api/getExpoSchema.js.map +1 -0
- package/build/src/api/getNativeModuleVersions.js +37 -0
- package/build/src/api/getNativeModuleVersions.js.map +1 -0
- package/build/src/api/getProjectDevelopmentCertificate.js +26 -0
- package/build/src/api/getProjectDevelopmentCertificate.js.map +1 -0
- package/build/src/api/getVersions.js +29 -0
- package/build/src/api/getVersions.js.map +1 -0
- package/build/src/api/graphql/client.js +204 -0
- package/build/src/api/graphql/client.js.map +1 -0
- package/build/src/api/graphql/queries/AppQuery.js +40 -0
- package/build/src/api/graphql/queries/AppQuery.js.map +1 -0
- package/build/src/api/graphql/queries/UserQuery.js +63 -0
- package/build/src/api/graphql/queries/UserQuery.js.map +1 -0
- package/build/src/api/rest/cache/FileSystemResponseCache.js +184 -0
- package/build/src/api/rest/cache/FileSystemResponseCache.js.map +1 -0
- package/build/src/api/rest/cache/ResponseCache.js +116 -0
- package/build/src/api/rest/cache/ResponseCache.js.map +1 -0
- package/build/src/api/rest/cache/wrapFetchWithCache.js +76 -0
- package/build/src/api/rest/cache/wrapFetchWithCache.js.map +1 -0
- package/build/src/api/rest/client.js +168 -0
- package/build/src/api/rest/client.js.map +1 -0
- package/build/src/api/rest/client.types.js +6 -0
- package/build/src/api/rest/client.types.js.map +1 -0
- package/build/src/api/rest/wrapFetchWithBaseUrl.js +32 -0
- package/build/src/api/rest/wrapFetchWithBaseUrl.js.map +1 -0
- package/build/src/api/rest/wrapFetchWithOffline.js +26 -0
- package/build/src/api/rest/wrapFetchWithOffline.js.map +1 -0
- package/build/src/api/rest/wrapFetchWithProgress.js +108 -0
- package/build/src/api/rest/wrapFetchWithProgress.js.map +1 -0
- package/build/src/api/rest/wrapFetchWithUserAgent.js +34 -0
- package/build/src/api/rest/wrapFetchWithUserAgent.js.map +1 -0
- package/build/src/api/settings.js +33 -0
- package/build/src/api/settings.js.map +1 -0
- package/build/src/api/updateDevelopmentSession.js +100 -0
- package/build/src/api/updateDevelopmentSession.js.map +1 -0
- package/build/src/api/user/UserSettings.js +183 -0
- package/build/src/api/user/UserSettings.js.map +1 -0
- package/build/src/api/user/actions.js +167 -0
- package/build/src/api/user/actions.js.map +1 -0
- package/build/src/api/user/expoSsoLauncher.js +149 -0
- package/build/src/api/user/expoSsoLauncher.js.map +1 -0
- package/build/src/api/user/otp.js +177 -0
- package/build/src/api/user/otp.js.map +1 -0
- package/build/src/api/user/user.js +154 -0
- package/build/src/api/user/user.js.map +1 -0
- package/build/src/config/configAsync.js +180 -0
- package/build/src/config/configAsync.js.map +1 -0
- package/build/src/config/index.js +101 -0
- package/build/src/config/index.js.map +1 -0
- package/build/src/customize/customizeAsync.js +57 -0
- package/build/src/customize/customizeAsync.js.map +1 -0
- package/build/src/customize/generate.js +94 -0
- package/build/src/customize/generate.js.map +1 -0
- package/build/src/customize/index.js +51 -0
- package/build/src/customize/index.js.map +1 -0
- package/build/src/customize/resolveOptions.js +23 -0
- package/build/src/customize/resolveOptions.js.map +1 -0
- package/build/src/customize/templates.js +189 -0
- package/build/src/customize/templates.js.map +1 -0
- package/build/src/customize/typescript.js +81 -0
- package/build/src/customize/typescript.js.map +1 -0
- package/build/src/events/builder.js +6 -0
- package/build/src/events/builder.js.map +1 -0
- package/build/src/events/index.js +132 -0
- package/build/src/events/index.js.map +1 -0
- package/build/src/events/stream.js +303 -0
- package/build/src/events/stream.js.map +1 -0
- package/build/src/events/types.js +6 -0
- package/build/src/events/types.js.map +1 -0
- package/build/src/expoUpdatesExports.js +28 -0
- package/build/src/expoUpdatesExports.js.map +1 -0
- package/build/src/export/createMetadataJson.js +55 -0
- package/build/src/export/createMetadataJson.js.map +1 -0
- package/build/src/export/embed/exportEager.js +33 -0
- package/build/src/export/embed/exportEager.js.map +1 -0
- package/build/src/export/embed/exportEmbedAsync.js +457 -0
- package/build/src/export/embed/exportEmbedAsync.js.map +1 -0
- package/build/src/export/embed/exportServer.js +353 -0
- package/build/src/export/embed/exportServer.js.map +1 -0
- package/build/src/export/embed/index.js +161 -0
- package/build/src/export/embed/index.js.map +1 -0
- package/build/src/export/embed/resolveOptions.js +159 -0
- package/build/src/export/embed/resolveOptions.js.map +1 -0
- package/build/src/export/embed/xcodeCompilerLogger.js +148 -0
- package/build/src/export/embed/xcodeCompilerLogger.js.map +1 -0
- package/build/src/export/exportApp.js +387 -0
- package/build/src/export/exportApp.js.map +1 -0
- package/build/src/export/exportAssets.js +245 -0
- package/build/src/export/exportAssets.js.map +1 -0
- package/build/src/export/exportAsync.js +103 -0
- package/build/src/export/exportAsync.js.map +1 -0
- package/build/src/export/exportDomComponents.js +185 -0
- package/build/src/export/exportDomComponents.js.map +1 -0
- package/build/src/export/exportHermes.js +251 -0
- package/build/src/export/exportHermes.js.map +1 -0
- package/build/src/export/exportStaticAsync.js +623 -0
- package/build/src/export/exportStaticAsync.js.map +1 -0
- package/build/src/export/favicon.js +138 -0
- package/build/src/export/favicon.js.map +1 -0
- package/build/src/export/getPublicExpoManifest.js +39 -0
- package/build/src/export/getPublicExpoManifest.js.map +1 -0
- package/build/src/export/getResolvedLocales.js +52 -0
- package/build/src/export/getResolvedLocales.js.map +1 -0
- package/build/src/export/html.js +33 -0
- package/build/src/export/html.js.map +1 -0
- package/build/src/export/index.js +146 -0
- package/build/src/export/index.js.map +1 -0
- package/build/src/export/metroAssetLocalPath.js +130 -0
- package/build/src/export/metroAssetLocalPath.js.map +1 -0
- package/build/src/export/persistMetroAssets.js +269 -0
- package/build/src/export/persistMetroAssets.js.map +1 -0
- package/build/src/export/publicFolder.js +61 -0
- package/build/src/export/publicFolder.js.map +1 -0
- package/build/src/export/resolveOptions.js +92 -0
- package/build/src/export/resolveOptions.js.map +1 -0
- package/build/src/export/saveAssets.js +273 -0
- package/build/src/export/saveAssets.js.map +1 -0
- package/build/src/export/web/exportWebAsync.js +57 -0
- package/build/src/export/web/exportWebAsync.js.map +1 -0
- package/build/src/export/web/index.js +92 -0
- package/build/src/export/web/index.js.map +1 -0
- package/build/src/export/web/resolveOptions.js +18 -0
- package/build/src/export/web/resolveOptions.js.map +1 -0
- package/build/src/export/writeContents.js +19 -0
- package/build/src/export/writeContents.js.map +1 -0
- package/build/src/install/applyPlugins.js +81 -0
- package/build/src/install/applyPlugins.js.map +1 -0
- package/build/src/install/checkPackages.js +157 -0
- package/build/src/install/checkPackages.js.map +1 -0
- package/build/src/install/fixPackages.js +111 -0
- package/build/src/install/fixPackages.js.map +1 -0
- package/build/src/install/index.js +64 -0
- package/build/src/install/index.js.map +1 -0
- package/build/src/install/installAsync.js +203 -0
- package/build/src/install/installAsync.js.map +1 -0
- package/build/src/install/installExpoPackage.js +124 -0
- package/build/src/install/installExpoPackage.js.map +1 -0
- package/build/src/install/resolveOptions.js +65 -0
- package/build/src/install/resolveOptions.js.map +1 -0
- package/build/src/install/utils/autoAddConfigPlugins.js +90 -0
- package/build/src/install/utils/autoAddConfigPlugins.js.map +1 -0
- package/build/src/install/utils/checkPackagesCompatibility.js +66 -0
- package/build/src/install/utils/checkPackagesCompatibility.js.map +1 -0
- package/build/src/install/utils/parsePackageSpecifier.js +24 -0
- package/build/src/install/utils/parsePackageSpecifier.js.map +1 -0
- package/build/src/lint/ESlintPrerequisite.js +163 -0
- package/build/src/lint/ESlintPrerequisite.js.map +1 -0
- package/build/src/lint/index.js +68 -0
- package/build/src/lint/index.js.map +1 -0
- package/build/src/lint/lintAsync.js +183 -0
- package/build/src/lint/lintAsync.js.map +1 -0
- package/build/src/lint/resolveOptions.js +115 -0
- package/build/src/lint/resolveOptions.js.map +1 -0
- package/build/src/log.js +106 -0
- package/build/src/log.js.map +1 -0
- package/build/src/login/index.js +92 -0
- package/build/src/login/index.js.map +1 -0
- package/build/src/logout/index.js +70 -0
- package/build/src/logout/index.js.map +1 -0
- package/build/src/prebuild/clearNativeFolder.js +202 -0
- package/build/src/prebuild/clearNativeFolder.js.map +1 -0
- package/build/src/prebuild/configureProjectAsync.js +106 -0
- package/build/src/prebuild/configureProjectAsync.js.map +1 -0
- package/build/src/prebuild/copyTemplateFiles.js +95 -0
- package/build/src/prebuild/copyTemplateFiles.js.map +1 -0
- package/build/src/prebuild/ensureConfigAsync.js +32 -0
- package/build/src/prebuild/ensureConfigAsync.js.map +1 -0
- package/build/src/prebuild/index.js +122 -0
- package/build/src/prebuild/index.js.map +1 -0
- package/build/src/prebuild/prebuildAsync.js +192 -0
- package/build/src/prebuild/prebuildAsync.js.map +1 -0
- package/build/src/prebuild/renameTemplateAppName.js +135 -0
- package/build/src/prebuild/renameTemplateAppName.js.map +1 -0
- package/build/src/prebuild/resolveLocalTemplate.js +72 -0
- package/build/src/prebuild/resolveLocalTemplate.js.map +1 -0
- package/build/src/prebuild/resolveOptions.js +222 -0
- package/build/src/prebuild/resolveOptions.js.map +1 -0
- package/build/src/prebuild/resolveTemplate.js +216 -0
- package/build/src/prebuild/resolveTemplate.js.map +1 -0
- package/build/src/prebuild/updateFromTemplate.js +148 -0
- package/build/src/prebuild/updateFromTemplate.js.map +1 -0
- package/build/src/prebuild/updatePackageJson.js +305 -0
- package/build/src/prebuild/updatePackageJson.js.map +1 -0
- package/build/src/prebuild/validateTemplatePlatforms.js +85 -0
- package/build/src/prebuild/validateTemplatePlatforms.js.map +1 -0
- package/build/src/register/index.js +70 -0
- package/build/src/register/index.js.map +1 -0
- package/build/src/register/registerAsync.js +39 -0
- package/build/src/register/registerAsync.js.map +1 -0
- package/build/src/run/android/index.js +139 -0
- package/build/src/run/android/index.js.map +1 -0
- package/build/src/run/android/resolveDevice.js +28 -0
- package/build/src/run/android/resolveDevice.js.map +1 -0
- package/build/src/run/android/resolveGradlePropsAsync.js +82 -0
- package/build/src/run/android/resolveGradlePropsAsync.js.map +1 -0
- package/build/src/run/android/resolveInstallApkName.js +67 -0
- package/build/src/run/android/resolveInstallApkName.js.map +1 -0
- package/build/src/run/android/resolveLaunchProps.js +44 -0
- package/build/src/run/android/resolveLaunchProps.js.map +1 -0
- package/build/src/run/android/resolveOptions.js +43 -0
- package/build/src/run/android/resolveOptions.js.map +1 -0
- package/build/src/run/android/runAndroidAsync.js +157 -0
- package/build/src/run/android/runAndroidAsync.js.map +1 -0
- package/build/src/run/ensureNativeProject.js +53 -0
- package/build/src/run/ensureNativeProject.js.map +1 -0
- package/build/src/run/hints.js +46 -0
- package/build/src/run/hints.js.map +1 -0
- package/build/src/run/index.js +124 -0
- package/build/src/run/index.js.map +1 -0
- package/build/src/run/ios/XcodeBuild.js +382 -0
- package/build/src/run/ios/XcodeBuild.js.map +1 -0
- package/build/src/run/ios/XcodeBuild.types.js +6 -0
- package/build/src/run/ios/XcodeBuild.types.js.map +1 -0
- package/build/src/run/ios/appleDevice/AppleDevice.js +316 -0
- package/build/src/run/ios/appleDevice/AppleDevice.js.map +1 -0
- package/build/src/run/ios/appleDevice/ClientManager.js +207 -0
- package/build/src/run/ios/appleDevice/ClientManager.js.map +1 -0
- package/build/src/run/ios/appleDevice/client/AFCClient.js +248 -0
- package/build/src/run/ios/appleDevice/client/AFCClient.js.map +1 -0
- package/build/src/run/ios/appleDevice/client/DebugserverClient.js +149 -0
- package/build/src/run/ios/appleDevice/client/DebugserverClient.js.map +1 -0
- package/build/src/run/ios/appleDevice/client/InstallationProxyClient.js +113 -0
- package/build/src/run/ios/appleDevice/client/InstallationProxyClient.js.map +1 -0
- package/build/src/run/ios/appleDevice/client/LockdowndClient.js +186 -0
- package/build/src/run/ios/appleDevice/client/LockdowndClient.js.map +1 -0
- package/build/src/run/ios/appleDevice/client/MobileImageMounterClient.js +133 -0
- package/build/src/run/ios/appleDevice/client/MobileImageMounterClient.js.map +1 -0
- package/build/src/run/ios/appleDevice/client/ServiceClient.js +38 -0
- package/build/src/run/ios/appleDevice/client/ServiceClient.js.map +1 -0
- package/build/src/run/ios/appleDevice/client/UsbmuxdClient.js +146 -0
- package/build/src/run/ios/appleDevice/client/UsbmuxdClient.js.map +1 -0
- package/build/src/run/ios/appleDevice/installOnDeviceAsync.js +153 -0
- package/build/src/run/ios/appleDevice/installOnDeviceAsync.js.map +1 -0
- package/build/src/run/ios/appleDevice/protocol/AFCProtocol.js +365 -0
- package/build/src/run/ios/appleDevice/protocol/AFCProtocol.js.map +1 -0
- package/build/src/run/ios/appleDevice/protocol/AbstractProtocol.js +167 -0
- package/build/src/run/ios/appleDevice/protocol/AbstractProtocol.js.map +1 -0
- package/build/src/run/ios/appleDevice/protocol/GDBProtocol.js +153 -0
- package/build/src/run/ios/appleDevice/protocol/GDBProtocol.js.map +1 -0
- package/build/src/run/ios/appleDevice/protocol/LockdownProtocol.js +111 -0
- package/build/src/run/ios/appleDevice/protocol/LockdownProtocol.js.map +1 -0
- package/build/src/run/ios/appleDevice/protocol/UsbmuxProtocol.js +100 -0
- package/build/src/run/ios/appleDevice/protocol/UsbmuxProtocol.js.map +1 -0
- package/build/src/run/ios/codeSigning/Security.js +116 -0
- package/build/src/run/ios/codeSigning/Security.js.map +1 -0
- package/build/src/run/ios/codeSigning/configureCodeSigning.js +108 -0
- package/build/src/run/ios/codeSigning/configureCodeSigning.js.map +1 -0
- package/build/src/run/ios/codeSigning/resolveCertificateSigningIdentity.js +165 -0
- package/build/src/run/ios/codeSigning/resolveCertificateSigningIdentity.js.map +1 -0
- package/build/src/run/ios/codeSigning/settings.js +27 -0
- package/build/src/run/ios/codeSigning/settings.js.map +1 -0
- package/build/src/run/ios/codeSigning/simulatorCodeSigning.js +67 -0
- package/build/src/run/ios/codeSigning/simulatorCodeSigning.js.map +1 -0
- package/build/src/run/ios/codeSigning/xcodeCodeSigning.js +103 -0
- package/build/src/run/ios/codeSigning/xcodeCodeSigning.js.map +1 -0
- package/build/src/run/ios/index.js +137 -0
- package/build/src/run/ios/index.js.map +1 -0
- package/build/src/run/ios/launchApp.js +142 -0
- package/build/src/run/ios/launchApp.js.map +1 -0
- package/build/src/run/ios/options/appleDestinations.js +126 -0
- package/build/src/run/ios/options/appleDestinations.js.map +1 -0
- package/build/src/run/ios/options/promptDevice.js +64 -0
- package/build/src/run/ios/options/promptDevice.js.map +1 -0
- package/build/src/run/ios/options/resolveDevice.js +151 -0
- package/build/src/run/ios/options/resolveDevice.js.map +1 -0
- package/build/src/run/ios/options/resolveNativeScheme.js +147 -0
- package/build/src/run/ios/options/resolveNativeScheme.js.map +1 -0
- package/build/src/run/ios/options/resolveOptions.js +66 -0
- package/build/src/run/ios/options/resolveOptions.js.map +1 -0
- package/build/src/run/ios/options/resolveXcodeProject.js +50 -0
- package/build/src/run/ios/options/resolveXcodeProject.js.map +1 -0
- package/build/src/run/ios/runIosAsync.js +255 -0
- package/build/src/run/ios/runIosAsync.js.map +1 -0
- package/build/src/run/ios/validateExternalBinary.js +113 -0
- package/build/src/run/ios/validateExternalBinary.js.map +1 -0
- package/build/src/run/resolveBundlerProps.js +38 -0
- package/build/src/run/resolveBundlerProps.js.map +1 -0
- package/build/src/run/startBundler.js +119 -0
- package/build/src/run/startBundler.js.map +1 -0
- package/build/src/serve/index.js +95 -0
- package/build/src/serve/index.js.map +1 -0
- package/build/src/serve/serveAsync.js +227 -0
- package/build/src/serve/serveAsync.js.map +1 -0
- package/build/src/start/detectDevClient.js +53 -0
- package/build/src/start/detectDevClient.js.map +1 -0
- package/build/src/start/doctor/Prerequisite.js +60 -0
- package/build/src/start/doctor/Prerequisite.js.map +1 -0
- package/build/src/start/doctor/SecurityBinPrerequisite.js +38 -0
- package/build/src/start/doctor/SecurityBinPrerequisite.js.map +1 -0
- package/build/src/start/doctor/apple/SimulatorAppPrerequisite.js +144 -0
- package/build/src/start/doctor/apple/SimulatorAppPrerequisite.js.map +1 -0
- package/build/src/start/doctor/apple/XcodeDeveloperDiskImagePrerequisite.js +106 -0
- package/build/src/start/doctor/apple/XcodeDeveloperDiskImagePrerequisite.js.map +1 -0
- package/build/src/start/doctor/apple/XcodePrerequisite.js +239 -0
- package/build/src/start/doctor/apple/XcodePrerequisite.js.map +1 -0
- package/build/src/start/doctor/apple/XcrunPrerequisite.js +88 -0
- package/build/src/start/doctor/apple/XcrunPrerequisite.js.map +1 -0
- package/build/src/start/doctor/dependencies/bundledNativeModules.js +112 -0
- package/build/src/start/doctor/dependencies/bundledNativeModules.js.map +1 -0
- package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js +192 -0
- package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js.map +1 -0
- package/build/src/start/doctor/dependencies/getMissingPackages.js +108 -0
- package/build/src/start/doctor/dependencies/getMissingPackages.js.map +1 -0
- package/build/src/start/doctor/dependencies/getVersionedPackages.js +165 -0
- package/build/src/start/doctor/dependencies/getVersionedPackages.js.map +1 -0
- package/build/src/start/doctor/dependencies/resolvePackages.js +95 -0
- package/build/src/start/doctor/dependencies/resolvePackages.js.map +1 -0
- package/build/src/start/doctor/dependencies/validateDependenciesVersions.js +262 -0
- package/build/src/start/doctor/dependencies/validateDependenciesVersions.js.map +1 -0
- package/build/src/start/doctor/ngrok/ExternalModule.js +214 -0
- package/build/src/start/doctor/ngrok/ExternalModule.js.map +1 -0
- package/build/src/start/doctor/ngrok/NgrokResolver.js +33 -0
- package/build/src/start/doctor/ngrok/NgrokResolver.js.map +1 -0
- package/build/src/start/doctor/typescript/TypeScriptProjectPrerequisite.js +205 -0
- package/build/src/start/doctor/typescript/TypeScriptProjectPrerequisite.js.map +1 -0
- package/build/src/start/doctor/typescript/updateTSConfig.js +144 -0
- package/build/src/start/doctor/typescript/updateTSConfig.js.map +1 -0
- package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js +164 -0
- package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js.map +1 -0
- package/build/src/start/index.js +151 -0
- package/build/src/start/index.js.map +1 -0
- package/build/src/start/interface/KeyPressHandler.js +126 -0
- package/build/src/start/interface/KeyPressHandler.js.map +1 -0
- package/build/src/start/interface/cliExtensionMenuItemHandler.js +173 -0
- package/build/src/start/interface/cliExtensionMenuItemHandler.js.map +1 -0
- package/build/src/start/interface/commandsTable.js +273 -0
- package/build/src/start/interface/commandsTable.js.map +1 -0
- package/build/src/start/interface/createDevToolsMenuItems.js +159 -0
- package/build/src/start/interface/createDevToolsMenuItems.js.map +1 -0
- package/build/src/start/interface/interactiveActions.js +225 -0
- package/build/src/start/interface/interactiveActions.js.map +1 -0
- package/build/src/start/interface/startInterface.js +261 -0
- package/build/src/start/interface/startInterface.js.map +1 -0
- package/build/src/start/platforms/AppIdResolver.js +55 -0
- package/build/src/start/platforms/AppIdResolver.js.map +1 -0
- package/build/src/start/platforms/DeviceManager.js +74 -0
- package/build/src/start/platforms/DeviceManager.js.map +1 -0
- package/build/src/start/platforms/ExpoGoInstaller.js +167 -0
- package/build/src/start/platforms/ExpoGoInstaller.js.map +1 -0
- package/build/src/start/platforms/PlatformManager.js +149 -0
- package/build/src/start/platforms/PlatformManager.js.map +1 -0
- package/build/src/start/platforms/android/ADBServer.js +139 -0
- package/build/src/start/platforms/android/ADBServer.js.map +1 -0
- package/build/src/start/platforms/android/AndroidAppIdResolver.js +54 -0
- package/build/src/start/platforms/android/AndroidAppIdResolver.js.map +1 -0
- package/build/src/start/platforms/android/AndroidDeviceManager.js +216 -0
- package/build/src/start/platforms/android/AndroidDeviceManager.js.map +1 -0
- package/build/src/start/platforms/android/AndroidPlatformManager.js +80 -0
- package/build/src/start/platforms/android/AndroidPlatformManager.js.map +1 -0
- package/build/src/start/platforms/android/AndroidSdk.js +79 -0
- package/build/src/start/platforms/android/AndroidSdk.js.map +1 -0
- package/build/src/start/platforms/android/activateWindow.js +117 -0
- package/build/src/start/platforms/android/activateWindow.js.map +1 -0
- package/build/src/start/platforms/android/adb.js +367 -0
- package/build/src/start/platforms/android/adb.js.map +1 -0
- package/build/src/start/platforms/android/adbReverse.js +129 -0
- package/build/src/start/platforms/android/adbReverse.js.map +1 -0
- package/build/src/start/platforms/android/emulator.js +185 -0
- package/build/src/start/platforms/android/emulator.js.map +1 -0
- package/build/src/start/platforms/android/getDevices.js +39 -0
- package/build/src/start/platforms/android/getDevices.js.map +1 -0
- package/build/src/start/platforms/android/gradle.js +125 -0
- package/build/src/start/platforms/android/gradle.js.map +1 -0
- package/build/src/start/platforms/android/promptAndroidDevice.js +82 -0
- package/build/src/start/platforms/android/promptAndroidDevice.js.map +1 -0
- package/build/src/start/platforms/ios/AppleAppIdResolver.js +76 -0
- package/build/src/start/platforms/ios/AppleAppIdResolver.js.map +1 -0
- package/build/src/start/platforms/ios/AppleDeviceManager.js +283 -0
- package/build/src/start/platforms/ios/AppleDeviceManager.js.map +1 -0
- package/build/src/start/platforms/ios/ApplePlatformManager.js +34 -0
- package/build/src/start/platforms/ios/ApplePlatformManager.js.map +1 -0
- package/build/src/start/platforms/ios/assertSystemRequirements.js +22 -0
- package/build/src/start/platforms/ios/assertSystemRequirements.js.map +1 -0
- package/build/src/start/platforms/ios/devicectl.js +398 -0
- package/build/src/start/platforms/ios/devicectl.js.map +1 -0
- package/build/src/start/platforms/ios/ensureSimulatorAppRunning.js +122 -0
- package/build/src/start/platforms/ios/ensureSimulatorAppRunning.js.map +1 -0
- package/build/src/start/platforms/ios/getBestSimulator.js +148 -0
- package/build/src/start/platforms/ios/getBestSimulator.js.map +1 -0
- package/build/src/start/platforms/ios/promptAppleDevice.js +72 -0
- package/build/src/start/platforms/ios/promptAppleDevice.js.map +1 -0
- package/build/src/start/platforms/ios/simctl.js +386 -0
- package/build/src/start/platforms/ios/simctl.js.map +1 -0
- package/build/src/start/platforms/ios/simctlLogging.js +276 -0
- package/build/src/start/platforms/ios/simctlLogging.js.map +1 -0
- package/build/src/start/platforms/ios/xcrun.js +74 -0
- package/build/src/start/platforms/ios/xcrun.js.map +1 -0
- package/build/src/start/project/devices.js +92 -0
- package/build/src/start/project/devices.js.map +1 -0
- package/build/src/start/project/dotExpo.js +109 -0
- package/build/src/start/project/dotExpo.js.map +1 -0
- package/build/src/start/project/settings.js +17 -0
- package/build/src/start/project/settings.js.map +1 -0
- package/build/src/start/resolveOptions.js +173 -0
- package/build/src/start/resolveOptions.js.map +1 -0
- package/build/src/start/server/AsyncNgrok.js +269 -0
- package/build/src/start/server/AsyncNgrok.js.map +1 -0
- package/build/src/start/server/AsyncWsTunnel.js +156 -0
- package/build/src/start/server/AsyncWsTunnel.js.map +1 -0
- package/build/src/start/server/Bonjour.js +103 -0
- package/build/src/start/server/Bonjour.js.map +1 -0
- package/build/src/start/server/BundlerDevServer.js +410 -0
- package/build/src/start/server/BundlerDevServer.js.map +1 -0
- package/build/src/start/server/DevServerManager.js +259 -0
- package/build/src/start/server/DevServerManager.js.map +1 -0
- package/build/src/start/server/DevToolsPlugin.js +60 -0
- package/build/src/start/server/DevToolsPlugin.js.map +1 -0
- package/build/src/start/server/DevToolsPlugin.schema.js +79 -0
- package/build/src/start/server/DevToolsPlugin.schema.js.map +1 -0
- package/build/src/start/server/DevToolsPluginCliExtensionExecutor.js +119 -0
- package/build/src/start/server/DevToolsPluginCliExtensionExecutor.js.map +1 -0
- package/build/src/start/server/DevToolsPluginCliExtensionResults.js +61 -0
- package/build/src/start/server/DevToolsPluginCliExtensionResults.js.map +1 -0
- package/build/src/start/server/DevToolsPluginManager.js +60 -0
- package/build/src/start/server/DevToolsPluginManager.js.map +1 -0
- package/build/src/start/server/DevelopmentSession.js +132 -0
- package/build/src/start/server/DevelopmentSession.js.map +1 -0
- package/build/src/start/server/MCP.js +106 -0
- package/build/src/start/server/MCP.js.map +1 -0
- package/build/src/start/server/MCPDevToolsPluginCLIExtensions.js +86 -0
- package/build/src/start/server/MCPDevToolsPluginCLIExtensions.js.map +1 -0
- package/build/src/start/server/UrlCreator.js +219 -0
- package/build/src/start/server/UrlCreator.js.map +1 -0
- package/build/src/start/server/createMCPDevToolsExtensionSchema.js +67 -0
- package/build/src/start/server/createMCPDevToolsExtensionSchema.js.map +1 -0
- package/build/src/start/server/getStaticRenderFunctions.js +171 -0
- package/build/src/start/server/getStaticRenderFunctions.js.map +1 -0
- package/build/src/start/server/metro/DevToolsPluginWebsocketEndpoint.js +39 -0
- package/build/src/start/server/metro/DevToolsPluginWebsocketEndpoint.js.map +1 -0
- package/build/src/start/server/metro/MetroBundlerDevServer.js +1654 -0
- package/build/src/start/server/metro/MetroBundlerDevServer.js.map +1 -0
- package/build/src/start/server/metro/MetroTerminalReporter.js +438 -0
- package/build/src/start/server/metro/MetroTerminalReporter.js.map +1 -0
- package/build/src/start/server/metro/TerminalReporter.js +180 -0
- package/build/src/start/server/metro/TerminalReporter.js.map +1 -0
- package/build/src/start/server/metro/TerminalReporter.types.js +6 -0
- package/build/src/start/server/metro/TerminalReporter.types.js.map +1 -0
- package/build/src/start/server/metro/createExpoAutolinkingResolver.js +123 -0
- package/build/src/start/server/metro/createExpoAutolinkingResolver.js.map +1 -0
- package/build/src/start/server/metro/createExpoFallbackResolver.js +143 -0
- package/build/src/start/server/metro/createExpoFallbackResolver.js.map +1 -0
- package/build/src/start/server/metro/createServerComponentsMiddleware.js +501 -0
- package/build/src/start/server/metro/createServerComponentsMiddleware.js.map +1 -0
- package/build/src/start/server/metro/createServerRouteMiddleware.js +229 -0
- package/build/src/start/server/metro/createServerRouteMiddleware.js.map +1 -0
- package/build/src/start/server/metro/debugging/AtlasPrerequisite.js +49 -0
- package/build/src/start/server/metro/debugging/AtlasPrerequisite.js.map +1 -0
- package/build/src/start/server/metro/debugging/MessageHandler.js +30 -0
- package/build/src/start/server/metro/debugging/MessageHandler.js.map +1 -0
- package/build/src/start/server/metro/debugging/attachAtlas.js +103 -0
- package/build/src/start/server/metro/debugging/attachAtlas.js.map +1 -0
- package/build/src/start/server/metro/debugging/createDebugMiddleware.js +127 -0
- package/build/src/start/server/metro/debugging/createDebugMiddleware.js.map +1 -0
- package/build/src/start/server/metro/debugging/createHandlersFactory.js +58 -0
- package/build/src/start/server/metro/debugging/createHandlersFactory.js.map +1 -0
- package/build/src/start/server/metro/debugging/getDebuggerType.js +20 -0
- package/build/src/start/server/metro/debugging/getDebuggerType.js.map +1 -0
- package/build/src/start/server/metro/debugging/messageHandlers/NetworkResponse.js +44 -0
- package/build/src/start/server/metro/debugging/messageHandlers/NetworkResponse.js.map +1 -0
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerGetPossibleBreakpoints.js +30 -0
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerGetPossibleBreakpoints.js.map +1 -0
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerSetBreakpointByUrl.js +27 -0
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerSetBreakpointByUrl.js.map +1 -0
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeCallFunctionOn.js +33 -0
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeCallFunctionOn.js.map +1 -0
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeEvaluate.js +56 -0
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeEvaluate.js.map +1 -0
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeGetProperties.js +49 -0
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeGetProperties.js.map +1 -0
- package/build/src/start/server/metro/debugging/pageIsSupported.js +17 -0
- package/build/src/start/server/metro/debugging/pageIsSupported.js.map +1 -0
- package/build/src/start/server/metro/debugging/types.js +6 -0
- package/build/src/start/server/metro/debugging/types.js.map +1 -0
- package/build/src/start/server/metro/dev-server/compression.js +45 -0
- package/build/src/start/server/metro/dev-server/compression.js.map +1 -0
- package/build/src/start/server/metro/dev-server/createEventSocket.js +103 -0
- package/build/src/start/server/metro/dev-server/createEventSocket.js.map +1 -0
- package/build/src/start/server/metro/dev-server/createMessageSocket.js +129 -0
- package/build/src/start/server/metro/dev-server/createMessageSocket.js.map +1 -0
- package/build/src/start/server/metro/dev-server/createMetroMiddleware.js +82 -0
- package/build/src/start/server/metro/dev-server/createMetroMiddleware.js.map +1 -0
- package/build/src/start/server/metro/dev-server/utils/createSocketBroadcaster.js +27 -0
- package/build/src/start/server/metro/dev-server/utils/createSocketBroadcaster.js.map +1 -0
- package/build/src/start/server/metro/dev-server/utils/createSocketMap.js +43 -0
- package/build/src/start/server/metro/dev-server/utils/createSocketMap.js.map +1 -0
- package/build/src/start/server/metro/dev-server/utils/socketMessages.js +41 -0
- package/build/src/start/server/metro/dev-server/utils/socketMessages.js.map +1 -0
- package/build/src/start/server/metro/errors/FailedToResolveNativeOnlyModuleError.js +17 -0
- package/build/src/start/server/metro/errors/FailedToResolveNativeOnlyModuleError.js.map +1 -0
- package/build/src/start/server/metro/externals.js +89 -0
- package/build/src/start/server/metro/externals.js.map +1 -0
- package/build/src/start/server/metro/fetchRouterManifest.js +83 -0
- package/build/src/start/server/metro/fetchRouterManifest.js.map +1 -0
- package/build/src/start/server/metro/getCssModulesFromBundler.js +114 -0
- package/build/src/start/server/metro/getCssModulesFromBundler.js.map +1 -0
- package/build/src/start/server/metro/instantiateMetro.js +492 -0
- package/build/src/start/server/metro/instantiateMetro.js.map +1 -0
- package/build/src/start/server/metro/log-box/LogBoxLog.js +211 -0
- package/build/src/start/server/metro/log-box/LogBoxLog.js.map +1 -0
- package/build/src/start/server/metro/log-box/LogBoxSymbolication.js +124 -0
- package/build/src/start/server/metro/log-box/LogBoxSymbolication.js.map +1 -0
- package/build/src/start/server/metro/log-box/formatProjectFilePath.js +46 -0
- package/build/src/start/server/metro/log-box/formatProjectFilePath.js.map +1 -0
- package/build/src/start/server/metro/metroErrorInterface.js +403 -0
- package/build/src/start/server/metro/metroErrorInterface.js.map +1 -0
- package/build/src/start/server/metro/metroErrors.js +27 -0
- package/build/src/start/server/metro/metroErrors.js.map +1 -0
- package/build/src/start/server/metro/metroVirtualModules.js +92 -0
- package/build/src/start/server/metro/metroVirtualModules.js.map +1 -0
- package/build/src/start/server/metro/metroWatchTypeScriptFiles.js +62 -0
- package/build/src/start/server/metro/metroWatchTypeScriptFiles.js.map +1 -0
- package/build/src/start/server/metro/resolveLoader.js +68 -0
- package/build/src/start/server/metro/resolveLoader.js.map +1 -0
- package/build/src/start/server/metro/router.js +218 -0
- package/build/src/start/server/metro/router.js.map +1 -0
- package/build/src/start/server/metro/runServer-fork.js +179 -0
- package/build/src/start/server/metro/runServer-fork.js.map +1 -0
- package/build/src/start/server/metro/serializeHtml.js +138 -0
- package/build/src/start/server/metro/serializeHtml.js.map +1 -0
- package/build/src/start/server/metro/symbolicate.js +6 -0
- package/build/src/start/server/metro/symbolicate.js.map +1 -0
- package/build/src/start/server/metro/waitForMetroToObserveTypeScriptFile.js +103 -0
- package/build/src/start/server/metro/waitForMetroToObserveTypeScriptFile.js.map +1 -0
- package/build/src/start/server/metro/withMetroErrorReportingResolver.js +266 -0
- package/build/src/start/server/metro/withMetroErrorReportingResolver.js.map +1 -0
- package/build/src/start/server/metro/withMetroMultiPlatform.js +748 -0
- package/build/src/start/server/metro/withMetroMultiPlatform.js.map +1 -0
- package/build/src/start/server/metro/withMetroResolvers.js +110 -0
- package/build/src/start/server/metro/withMetroResolvers.js.map +1 -0
- package/build/src/start/server/metro/withMetroSupervisingTransformWorker.js +63 -0
- package/build/src/start/server/metro/withMetroSupervisingTransformWorker.js.map +1 -0
- package/build/src/start/server/middleware/ContextModuleSourceMapsMiddleware.js +32 -0
- package/build/src/start/server/middleware/ContextModuleSourceMapsMiddleware.js.map +1 -0
- package/build/src/start/server/middleware/CorsMiddleware.js +92 -0
- package/build/src/start/server/middleware/CorsMiddleware.js.map +1 -0
- package/build/src/start/server/middleware/CreateFileMiddleware.js +166 -0
- package/build/src/start/server/middleware/CreateFileMiddleware.js.map +1 -0
- package/build/src/start/server/middleware/DevToolsPluginMiddleware.js +78 -0
- package/build/src/start/server/middleware/DevToolsPluginMiddleware.js.map +1 -0
- package/build/src/start/server/middleware/DomComponentsMiddleware.js +138 -0
- package/build/src/start/server/middleware/DomComponentsMiddleware.js.map +1 -0
- package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js +288 -0
- package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js.map +1 -0
- package/build/src/start/server/middleware/ExpoMiddleware.js +121 -0
- package/build/src/start/server/middleware/ExpoMiddleware.js.map +1 -0
- package/build/src/start/server/middleware/FaviconMiddleware.js +52 -0
- package/build/src/start/server/middleware/FaviconMiddleware.js.map +1 -0
- package/build/src/start/server/middleware/HistoryFallbackMiddleware.js +29 -0
- package/build/src/start/server/middleware/HistoryFallbackMiddleware.js.map +1 -0
- package/build/src/start/server/middleware/InterstitialPageMiddleware.js +116 -0
- package/build/src/start/server/middleware/InterstitialPageMiddleware.js.map +1 -0
- package/build/src/start/server/middleware/ManifestMiddleware.js +362 -0
- package/build/src/start/server/middleware/ManifestMiddleware.js.map +1 -0
- package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js +103 -0
- package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js.map +1 -0
- package/build/src/start/server/middleware/ServeStaticMiddleware.js +85 -0
- package/build/src/start/server/middleware/ServeStaticMiddleware.js.map +1 -0
- package/build/src/start/server/middleware/inspector/CdpClient.js +81 -0
- package/build/src/start/server/middleware/inspector/CdpClient.js.map +1 -0
- package/build/src/start/server/middleware/inspector/JsInspector.js +123 -0
- package/build/src/start/server/middleware/inspector/JsInspector.js.map +1 -0
- package/build/src/start/server/middleware/inspector/createJsInspectorMiddleware.js +91 -0
- package/build/src/start/server/middleware/inspector/createJsInspectorMiddleware.js.map +1 -0
- package/build/src/start/server/middleware/inspector/middlwareMutations.js +30 -0
- package/build/src/start/server/middleware/inspector/middlwareMutations.js.map +1 -0
- package/build/src/start/server/middleware/metroOptions.js +367 -0
- package/build/src/start/server/middleware/metroOptions.js.map +1 -0
- package/build/src/start/server/middleware/mutations.js +33 -0
- package/build/src/start/server/middleware/mutations.js.map +1 -0
- package/build/src/start/server/middleware/resolveAssets.js +154 -0
- package/build/src/start/server/middleware/resolveAssets.js.map +1 -0
- package/build/src/start/server/middleware/resolvePlatform.js +71 -0
- package/build/src/start/server/middleware/resolvePlatform.js.map +1 -0
- package/build/src/start/server/middleware/resolveRuntimeVersionWithExpoUpdatesAsync.js +38 -0
- package/build/src/start/server/middleware/resolveRuntimeVersionWithExpoUpdatesAsync.js.map +1 -0
- package/build/src/start/server/middleware/server.types.js +6 -0
- package/build/src/start/server/middleware/server.types.js.map +1 -0
- package/build/src/start/server/openPlatforms.js +33 -0
- package/build/src/start/server/openPlatforms.js.map +1 -0
- package/build/src/start/server/platformBundlers.js +39 -0
- package/build/src/start/server/platformBundlers.js.map +1 -0
- package/build/src/start/server/serverLogLikeMetro.js +309 -0
- package/build/src/start/server/serverLogLikeMetro.js.map +1 -0
- package/build/src/start/server/type-generation/expo-env.js +51 -0
- package/build/src/start/server/type-generation/expo-env.js.map +1 -0
- package/build/src/start/server/type-generation/routes.js +510 -0
- package/build/src/start/server/type-generation/routes.js.map +1 -0
- package/build/src/start/server/type-generation/startTypescriptTypeGeneration.js +79 -0
- package/build/src/start/server/type-generation/startTypescriptTypeGeneration.js.map +1 -0
- package/build/src/start/server/type-generation/tsconfig.js +122 -0
- package/build/src/start/server/type-generation/tsconfig.js.map +1 -0
- package/build/src/start/server/webTemplate.js +111 -0
- package/build/src/start/server/webTemplate.js.map +1 -0
- package/build/src/start/server/webpack/WebpackBundlerDevServer.js +316 -0
- package/build/src/start/server/webpack/WebpackBundlerDevServer.js.map +1 -0
- package/build/src/start/server/webpack/compile.js +101 -0
- package/build/src/start/server/webpack/compile.js.map +1 -0
- package/build/src/start/server/webpack/formatWebpackMessages.js +106 -0
- package/build/src/start/server/webpack/formatWebpackMessages.js.map +1 -0
- package/build/src/start/server/webpack/resolveFromProject.js +63 -0
- package/build/src/start/server/webpack/resolveFromProject.js.map +1 -0
- package/build/src/start/server/webpack/tls.js +128 -0
- package/build/src/start/server/webpack/tls.js.map +1 -0
- package/build/src/start/startAsync.js +204 -0
- package/build/src/start/startAsync.js.map +1 -0
- package/build/src/types.d.ts +2 -0
- package/build/src/utils/FileNotifier.js +138 -0
- package/build/src/utils/FileNotifier.js.map +1 -0
- package/build/src/utils/ansi.js +22 -0
- package/build/src/utils/ansi.js.map +1 -0
- package/build/src/utils/args.js +141 -0
- package/build/src/utils/args.js.map +1 -0
- package/build/src/utils/array.js +92 -0
- package/build/src/utils/array.js.map +1 -0
- package/build/src/utils/build-cache-providers/helpers.js +61 -0
- package/build/src/utils/build-cache-providers/helpers.js.map +1 -0
- package/build/src/utils/build-cache-providers/index.js +283 -0
- package/build/src/utils/build-cache-providers/index.js.map +1 -0
- package/build/src/utils/cocoapods.js +258 -0
- package/build/src/utils/cocoapods.js.map +1 -0
- package/build/src/utils/codesigning.js +395 -0
- package/build/src/utils/codesigning.js.map +1 -0
- package/build/src/utils/createFileTransform.js +34 -0
- package/build/src/utils/createFileTransform.js.map +1 -0
- package/build/src/utils/createTempPath.js +68 -0
- package/build/src/utils/createTempPath.js.map +1 -0
- package/build/src/utils/delay.js +58 -0
- package/build/src/utils/delay.js.map +1 -0
- package/build/src/utils/dir.js +121 -0
- package/build/src/utils/dir.js.map +1 -0
- package/build/src/utils/downloadAppAsync.js +98 -0
- package/build/src/utils/downloadAppAsync.js.map +1 -0
- package/build/src/utils/downloadExpoGoAsync.js +170 -0
- package/build/src/utils/downloadExpoGoAsync.js.map +1 -0
- package/build/src/utils/editor.js +527 -0
- package/build/src/utils/editor.js.map +1 -0
- package/build/src/utils/env.js +266 -0
- package/build/src/utils/env.js.map +1 -0
- package/build/src/utils/errors.js +134 -0
- package/build/src/utils/errors.js.map +1 -0
- package/build/src/utils/exit.js +210 -0
- package/build/src/utils/exit.js.map +1 -0
- package/build/src/utils/expoUpdatesCli.js +120 -0
- package/build/src/utils/expoUpdatesCli.js.map +1 -0
- package/build/src/utils/fetch.js +41 -0
- package/build/src/utils/fetch.js.map +1 -0
- package/build/src/utils/filePath.js +42 -0
- package/build/src/utils/filePath.js.map +1 -0
- package/build/src/utils/findUp.js +61 -0
- package/build/src/utils/findUp.js.map +1 -0
- package/build/src/utils/fn.js +44 -0
- package/build/src/utils/fn.js.map +1 -0
- package/build/src/utils/freeport.js +70 -0
- package/build/src/utils/freeport.js.map +1 -0
- package/build/src/utils/getOrPromptApplicationId.js +259 -0
- package/build/src/utils/getOrPromptApplicationId.js.map +1 -0
- package/build/src/utils/getRunningProcess.js +181 -0
- package/build/src/utils/getRunningProcess.js.map +1 -0
- package/build/src/utils/git.js +132 -0
- package/build/src/utils/git.js.map +1 -0
- package/build/src/utils/glob.js +46 -0
- package/build/src/utils/glob.js.map +1 -0
- package/build/src/utils/interactive.js +17 -0
- package/build/src/utils/interactive.js.map +1 -0
- package/build/src/utils/ip.js +63 -0
- package/build/src/utils/ip.js.map +1 -0
- package/build/src/utils/isModuleSymlinked.js +54 -0
- package/build/src/utils/isModuleSymlinked.js.map +1 -0
- package/build/src/utils/link.js +55 -0
- package/build/src/utils/link.js.map +1 -0
- package/build/src/utils/mergeGitIgnorePaths.js +189 -0
- package/build/src/utils/mergeGitIgnorePaths.js.map +1 -0
- package/build/src/utils/modifyConfigAsync.js +106 -0
- package/build/src/utils/modifyConfigAsync.js.map +1 -0
- package/build/src/utils/modifyConfigPlugins.js +79 -0
- package/build/src/utils/modifyConfigPlugins.js.map +1 -0
- package/build/src/utils/net.js +43 -0
- package/build/src/utils/net.js.map +1 -0
- package/build/src/utils/nodeEnv.js +168 -0
- package/build/src/utils/nodeEnv.js.map +1 -0
- package/build/src/utils/nodeModules.js +52 -0
- package/build/src/utils/nodeModules.js.map +1 -0
- package/build/src/utils/npm.js +222 -0
- package/build/src/utils/npm.js.map +1 -0
- package/build/src/utils/obj.js +59 -0
- package/build/src/utils/obj.js.map +1 -0
- package/build/src/utils/open.js +36 -0
- package/build/src/utils/open.js.map +1 -0
- package/build/src/utils/ora.js +113 -0
- package/build/src/utils/ora.js.map +1 -0
- package/build/src/utils/plist.js +108 -0
- package/build/src/utils/plist.js.map +1 -0
- package/build/src/utils/port.js +196 -0
- package/build/src/utils/port.js.map +1 -0
- package/build/src/utils/profile.js +94 -0
- package/build/src/utils/profile.js.map +1 -0
- package/build/src/utils/progress.js +76 -0
- package/build/src/utils/progress.js.map +1 -0
- package/build/src/utils/prompts.js +151 -0
- package/build/src/utils/prompts.js.map +1 -0
- package/build/src/utils/qr.js +186 -0
- package/build/src/utils/qr.js.map +1 -0
- package/build/src/utils/resolveArgs.js +236 -0
- package/build/src/utils/resolveArgs.js.map +1 -0
- package/build/src/utils/resolveGlobal.js +195 -0
- package/build/src/utils/resolveGlobal.js.map +1 -0
- package/build/src/utils/scheme.js +212 -0
- package/build/src/utils/scheme.js.map +1 -0
- package/build/src/utils/stream.js +31 -0
- package/build/src/utils/stream.js.map +1 -0
- package/build/src/utils/strings.js +33 -0
- package/build/src/utils/strings.js.map +1 -0
- package/build/src/utils/tar.js +168 -0
- package/build/src/utils/tar.js.map +1 -0
- package/build/src/utils/telemetry/Telemetry.js +131 -0
- package/build/src/utils/telemetry/Telemetry.js.map +1 -0
- package/build/src/utils/telemetry/clients/FetchClient.js +91 -0
- package/build/src/utils/telemetry/clients/FetchClient.js.map +1 -0
- package/build/src/utils/telemetry/clients/FetchDetachedClient.js +86 -0
- package/build/src/utils/telemetry/clients/FetchDetachedClient.js.map +1 -0
- package/build/src/utils/telemetry/clients/flushFetchDetached.js +39 -0
- package/build/src/utils/telemetry/clients/flushFetchDetached.js.map +1 -0
- package/build/src/utils/telemetry/events.js +20 -0
- package/build/src/utils/telemetry/events.js.map +1 -0
- package/build/src/utils/telemetry/index.js +72 -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/telemetry/utils/constants.js +23 -0
- package/build/src/utils/telemetry/utils/constants.js.map +1 -0
- package/build/src/utils/telemetry/utils/context.js +115 -0
- package/build/src/utils/telemetry/utils/context.js.map +1 -0
- package/build/src/utils/template.js +48 -0
- package/build/src/utils/template.js.map +1 -0
- package/build/src/utils/terminal.js +15 -0
- package/build/src/utils/terminal.js.map +1 -0
- package/build/src/utils/tsconfig/evaluateTsConfig.js +87 -0
- package/build/src/utils/tsconfig/evaluateTsConfig.js.map +1 -0
- package/build/src/utils/tsconfig/loadTsConfigPaths.js +84 -0
- package/build/src/utils/tsconfig/loadTsConfigPaths.js.map +1 -0
- package/build/src/utils/tsconfig/matchTsConfigPathAlias.js +94 -0
- package/build/src/utils/tsconfig/matchTsConfigPathAlias.js.map +1 -0
- package/build/src/utils/tsconfig/resolveWithTsConfigPaths.js +62 -0
- package/build/src/utils/tsconfig/resolveWithTsConfigPaths.js.map +1 -0
- package/build/src/utils/url.js +92 -0
- package/build/src/utils/url.js.map +1 -0
- package/build/src/utils/validateApplicationId.js +255 -0
- package/build/src/utils/validateApplicationId.js.map +1 -0
- package/build/src/utils/variadic.js +132 -0
- package/build/src/utils/variadic.js.map +1 -0
- package/build/src/whoami/index.js +69 -0
- package/build/src/whoami/index.js.map +1 -0
- package/build/src/whoami/whoamiAsync.js +75 -0
- package/build/src/whoami/whoamiAsync.js.map +1 -0
- package/changes.json +106 -0
- package/internal/unstable-expo-updates-exports.d.ts +31 -0
- package/internal/unstable-expo-updates-exports.js +3 -0
- package/package.json +275 -0
- package/static/loading-page/index.html +363 -0
- package/static/shims/react-native-web/dist/cjs/exports/AppRegistry/AppContainer.js +13 -0
- package/static/shims/react-native-web/dist/cjs/exports/BackHandler/index.js +10 -0
- package/static/shims/react-native-web/dist/exports/AppRegistry/AppContainer.js +12 -0
- package/static/shims/react-native-web/dist/exports/BackHandler/index.js +7 -0
- package/static/template/+html.tsx +28 -0
- package/static/template/+native-intent.ts +9 -0
- package/static/template/.eslintrc.js +5 -0
- package/static/template/[...rsc]+api.ts +16 -0
- package/static/template/babel.config.js +6 -0
- package/static/template/eslint.config.js +10 -0
- package/static/template/index.html +36 -0
- package/static/template/metro.config.js +7 -0
- package/static/template/webpack.config.js +7 -0
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "FileSystemResponseCache", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return FileSystemResponseCache;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
function _nodecrypto() {
|
|
12
|
+
const data = /*#__PURE__*/ _interop_require_default(require("node:crypto"));
|
|
13
|
+
_nodecrypto = function() {
|
|
14
|
+
return data;
|
|
15
|
+
};
|
|
16
|
+
return data;
|
|
17
|
+
}
|
|
18
|
+
function _nodefs() {
|
|
19
|
+
const data = /*#__PURE__*/ _interop_require_default(require("node:fs"));
|
|
20
|
+
_nodefs = function() {
|
|
21
|
+
return data;
|
|
22
|
+
};
|
|
23
|
+
return data;
|
|
24
|
+
}
|
|
25
|
+
function _nodepath() {
|
|
26
|
+
const data = /*#__PURE__*/ _interop_require_default(require("node:path"));
|
|
27
|
+
_nodepath = function() {
|
|
28
|
+
return data;
|
|
29
|
+
};
|
|
30
|
+
return data;
|
|
31
|
+
}
|
|
32
|
+
function _nodestream() {
|
|
33
|
+
const data = /*#__PURE__*/ _interop_require_wildcard(require("node:stream"));
|
|
34
|
+
_nodestream = function() {
|
|
35
|
+
return data;
|
|
36
|
+
};
|
|
37
|
+
return data;
|
|
38
|
+
}
|
|
39
|
+
const _dir = require("../../../utils/dir");
|
|
40
|
+
function _interop_require_default(obj) {
|
|
41
|
+
return obj && obj.__esModule ? obj : {
|
|
42
|
+
default: obj
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
function _getRequireWildcardCache(nodeInterop) {
|
|
46
|
+
if (typeof WeakMap !== "function") return null;
|
|
47
|
+
var cacheBabelInterop = new WeakMap();
|
|
48
|
+
var cacheNodeInterop = new WeakMap();
|
|
49
|
+
return (_getRequireWildcardCache = function(nodeInterop) {
|
|
50
|
+
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
|
51
|
+
})(nodeInterop);
|
|
52
|
+
}
|
|
53
|
+
function _interop_require_wildcard(obj, nodeInterop) {
|
|
54
|
+
if (!nodeInterop && obj && obj.__esModule) {
|
|
55
|
+
return obj;
|
|
56
|
+
}
|
|
57
|
+
if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
|
|
58
|
+
return {
|
|
59
|
+
default: obj
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
var cache = _getRequireWildcardCache(nodeInterop);
|
|
63
|
+
if (cache && cache.has(obj)) {
|
|
64
|
+
return cache.get(obj);
|
|
65
|
+
}
|
|
66
|
+
var newObj = {
|
|
67
|
+
__proto__: null
|
|
68
|
+
};
|
|
69
|
+
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
70
|
+
for(var key in obj){
|
|
71
|
+
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
72
|
+
var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
|
|
73
|
+
if (desc && (desc.get || desc.set)) {
|
|
74
|
+
Object.defineProperty(newObj, key, desc);
|
|
75
|
+
} else {
|
|
76
|
+
newObj[key] = obj[key];
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
newObj.default = obj;
|
|
81
|
+
if (cache) {
|
|
82
|
+
cache.set(obj, newObj);
|
|
83
|
+
}
|
|
84
|
+
return newObj;
|
|
85
|
+
}
|
|
86
|
+
class FileSystemResponseCache {
|
|
87
|
+
constructor(options){
|
|
88
|
+
this.cacheDirectory = options.cacheDirectory;
|
|
89
|
+
this.timeToLive = options.ttl;
|
|
90
|
+
}
|
|
91
|
+
getFilePaths(cacheKey) {
|
|
92
|
+
// Create a hash of the cache key to use as filename
|
|
93
|
+
const hash = _nodecrypto().default.createHash('sha256').update(cacheKey).digest('hex');
|
|
94
|
+
return {
|
|
95
|
+
info: _nodepath().default.join(this.cacheDirectory, `${hash}-info.json`),
|
|
96
|
+
body: _nodepath().default.join(this.cacheDirectory, `${hash}-body.bin`)
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
/** Retrieve the cache response, if any */ async get(cacheKey) {
|
|
100
|
+
const paths = this.getFilePaths(cacheKey);
|
|
101
|
+
if (!await (0, _dir.fileExistsAsync)(paths.info)) {
|
|
102
|
+
return undefined;
|
|
103
|
+
}
|
|
104
|
+
// Read and parse the info file
|
|
105
|
+
const infoBuffer = await _nodefs().default.promises.readFile(paths.info);
|
|
106
|
+
try {
|
|
107
|
+
const responseInfo = JSON.parse(infoBuffer.toString());
|
|
108
|
+
// Check if the response has expired
|
|
109
|
+
if (responseInfo.expiration && responseInfo.expiration < Date.now()) {
|
|
110
|
+
await this.remove(cacheKey);
|
|
111
|
+
return undefined;
|
|
112
|
+
}
|
|
113
|
+
// Remove cache-specific data from the response info
|
|
114
|
+
const { empty, expiration, bodyPath, ...cleanInfo } = responseInfo;
|
|
115
|
+
// Create response body stream
|
|
116
|
+
let responseBody;
|
|
117
|
+
if (empty) {
|
|
118
|
+
responseBody = _nodestream().Readable.toWeb(_nodestream().Readable.from(Buffer.alloc(0)));
|
|
119
|
+
} else {
|
|
120
|
+
const bodyBuffer = await _nodefs().default.promises.readFile(paths.body);
|
|
121
|
+
responseBody = _nodestream().Readable.toWeb(_nodestream().Readable.from(bodyBuffer));
|
|
122
|
+
}
|
|
123
|
+
return {
|
|
124
|
+
body: responseBody,
|
|
125
|
+
info: cleanInfo
|
|
126
|
+
};
|
|
127
|
+
} catch {
|
|
128
|
+
// If file doesn't exist or other errors, return undefined
|
|
129
|
+
return undefined;
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
/** Store the response for caching */ async set(cacheKey, response) {
|
|
133
|
+
await _nodefs().default.promises.mkdir(this.cacheDirectory, {
|
|
134
|
+
recursive: true
|
|
135
|
+
});
|
|
136
|
+
const paths = this.getFilePaths(cacheKey);
|
|
137
|
+
// Create a copy of the response info, to add cache-specific data
|
|
138
|
+
const responseInfo = {
|
|
139
|
+
...response.info
|
|
140
|
+
};
|
|
141
|
+
// Add expiration time if the "time to live" is set
|
|
142
|
+
if (typeof this.timeToLive === 'number') {
|
|
143
|
+
responseInfo.expiration = Date.now() + this.timeToLive;
|
|
144
|
+
}
|
|
145
|
+
try {
|
|
146
|
+
// Clone the response body stream since we need to read it twice
|
|
147
|
+
const [forSize, forWrite] = response.body.tee();
|
|
148
|
+
// Check if the body is empty by reading the first stream
|
|
149
|
+
const reader = forSize.getReader();
|
|
150
|
+
const { value } = await reader.read();
|
|
151
|
+
reader.releaseLock();
|
|
152
|
+
if (!value || value.length === 0) {
|
|
153
|
+
responseInfo.empty = true;
|
|
154
|
+
} else {
|
|
155
|
+
// Create write stream and pipe response body to file
|
|
156
|
+
const writeStream = _nodefs().default.createWriteStream(paths.body);
|
|
157
|
+
const nodeStream = _nodestream().Readable.fromWeb(forWrite);
|
|
158
|
+
nodeStream.pipe(writeStream);
|
|
159
|
+
// Wait for the stream to finish
|
|
160
|
+
await _nodestream().default.promises.finished(writeStream);
|
|
161
|
+
responseInfo.bodyPath = paths.body;
|
|
162
|
+
}
|
|
163
|
+
// Write info to file
|
|
164
|
+
await _nodefs().default.promises.writeFile(paths.info, JSON.stringify(responseInfo));
|
|
165
|
+
return await this.get(cacheKey);
|
|
166
|
+
} catch (error) {
|
|
167
|
+
// Clean up any partially written files
|
|
168
|
+
await this.remove(cacheKey);
|
|
169
|
+
throw error;
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
/** Remove the response from caching */ async remove(cacheKey) {
|
|
173
|
+
const paths = this.getFilePaths(cacheKey);
|
|
174
|
+
await removeAllAsync(paths.info, paths.body);
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
function removeAllAsync(...paths) {
|
|
178
|
+
return Promise.all(paths.map((path)=>_nodefs().default.promises.rm(path, {
|
|
179
|
+
recursive: true,
|
|
180
|
+
force: true
|
|
181
|
+
}).catch(()=>{})));
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
//# sourceMappingURL=FileSystemResponseCache.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../src/api/rest/cache/FileSystemResponseCache.ts"],"sourcesContent":["import crypto from 'node:crypto';\nimport fs from 'node:fs';\nimport path from 'node:path';\nimport stream, { Readable } from 'node:stream';\nimport { ReadableStream } from 'node:stream/web';\n\nimport type { ResponseCache, ResponseCacheEntry } from './ResponseCache';\nimport { fileExistsAsync } from '../../../utils/dir';\n\ntype FileSystemResponseCacheInfo = ResponseCacheEntry['info'] & {\n /** The path to the cached body file */\n bodyPath?: string;\n /** If there is no response body */\n empty?: boolean;\n /** The expiration time, in milliseconds, when the response should be invalidated */\n expiration?: number;\n};\n\nexport class FileSystemResponseCache implements ResponseCache {\n /** The absolute path to the directory used to store responses */\n private cacheDirectory: string;\n /** Optional auto-expiration for all stored responses */\n private timeToLive?: number;\n\n constructor(options: { cacheDirectory: string; ttl?: number }) {\n this.cacheDirectory = options.cacheDirectory;\n this.timeToLive = options.ttl;\n }\n\n private getFilePaths(cacheKey: string) {\n // Create a hash of the cache key to use as filename\n const hash = crypto.createHash('sha256').update(cacheKey).digest('hex');\n return {\n info: path.join(this.cacheDirectory, `${hash}-info.json`),\n body: path.join(this.cacheDirectory, `${hash}-body.bin`),\n };\n }\n\n /** Retrieve the cache response, if any */\n async get(cacheKey: string): Promise<ResponseCacheEntry | undefined> {\n const paths = this.getFilePaths(cacheKey);\n\n if (!(await fileExistsAsync(paths.info))) {\n return undefined;\n }\n\n // Read and parse the info file\n const infoBuffer = await fs.promises.readFile(paths.info);\n\n try {\n const responseInfo: FileSystemResponseCacheInfo = JSON.parse(infoBuffer.toString());\n\n // Check if the response has expired\n if (responseInfo.expiration && responseInfo.expiration < Date.now()) {\n await this.remove(cacheKey);\n return undefined;\n }\n\n // Remove cache-specific data from the response info\n const { empty, expiration, bodyPath, ...cleanInfo } = responseInfo;\n\n // Create response body stream\n let responseBody: ReadableStream;\n if (empty) {\n responseBody = Readable.toWeb(Readable.from(Buffer.alloc(0)));\n } else {\n const bodyBuffer = await fs.promises.readFile(paths.body);\n responseBody = Readable.toWeb(Readable.from(bodyBuffer));\n }\n\n return {\n body: responseBody as globalThis.ReadableStream,\n info: cleanInfo,\n };\n } catch {\n // If file doesn't exist or other errors, return undefined\n return undefined;\n }\n }\n\n /** Store the response for caching */\n async set(\n cacheKey: string,\n response: ResponseCacheEntry\n ): Promise<ResponseCacheEntry | undefined> {\n await fs.promises.mkdir(this.cacheDirectory, { recursive: true });\n const paths = this.getFilePaths(cacheKey);\n\n // Create a copy of the response info, to add cache-specific data\n const responseInfo: FileSystemResponseCacheInfo = { ...response.info };\n\n // Add expiration time if the \"time to live\" is set\n if (typeof this.timeToLive === 'number') {\n responseInfo.expiration = Date.now() + this.timeToLive;\n }\n\n try {\n // Clone the response body stream since we need to read it twice\n const [forSize, forWrite] = response.body.tee();\n\n // Check if the body is empty by reading the first stream\n const reader = forSize.getReader();\n const { value } = await reader.read();\n reader.releaseLock();\n\n if (!value || value.length === 0) {\n responseInfo.empty = true;\n } else {\n // Create write stream and pipe response body to file\n const writeStream = fs.createWriteStream(paths.body);\n const nodeStream = Readable.fromWeb(forWrite as ReadableStream);\n nodeStream.pipe(writeStream);\n\n // Wait for the stream to finish\n await stream.promises.finished(writeStream);\n\n responseInfo.bodyPath = paths.body;\n }\n\n // Write info to file\n await fs.promises.writeFile(paths.info, JSON.stringify(responseInfo));\n\n return await this.get(cacheKey);\n } catch (error) {\n // Clean up any partially written files\n await this.remove(cacheKey);\n throw error;\n }\n }\n\n /** Remove the response from caching */\n async remove(cacheKey: string): Promise<void> {\n const paths = this.getFilePaths(cacheKey);\n await removeAllAsync(paths.info, paths.body);\n }\n}\n\nfunction removeAllAsync(...paths: string[]) {\n return Promise.all(\n paths.map((path) => fs.promises.rm(path, { recursive: true, force: true }).catch(() => {}))\n );\n}\n"],"names":["FileSystemResponseCache","constructor","options","cacheDirectory","timeToLive","ttl","getFilePaths","cacheKey","hash","crypto","createHash","update","digest","info","path","join","body","get","paths","fileExistsAsync","undefined","infoBuffer","fs","promises","readFile","responseInfo","JSON","parse","toString","expiration","Date","now","remove","empty","bodyPath","cleanInfo","responseBody","Readable","toWeb","from","Buffer","alloc","bodyBuffer","set","response","mkdir","recursive","forSize","forWrite","tee","reader","getReader","value","read","releaseLock","length","writeStream","createWriteStream","nodeStream","fromWeb","pipe","stream","finished","writeFile","stringify","error","removeAllAsync","Promise","all","map","rm","force","catch"],"mappings":"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"}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
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
|
+
getRequestBodyCacheData: function() {
|
|
13
|
+
return getRequestBodyCacheData;
|
|
14
|
+
},
|
|
15
|
+
getRequestCacheKey: function() {
|
|
16
|
+
return getRequestCacheKey;
|
|
17
|
+
},
|
|
18
|
+
getRequestInfoCacheData: function() {
|
|
19
|
+
return getRequestInfoCacheData;
|
|
20
|
+
},
|
|
21
|
+
getResponseInfo: function() {
|
|
22
|
+
return getResponseInfo;
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
function _crypto() {
|
|
26
|
+
const data = /*#__PURE__*/ _interop_require_default(require("crypto"));
|
|
27
|
+
_crypto = function() {
|
|
28
|
+
return data;
|
|
29
|
+
};
|
|
30
|
+
return data;
|
|
31
|
+
}
|
|
32
|
+
function _fs() {
|
|
33
|
+
const data = require("fs");
|
|
34
|
+
_fs = function() {
|
|
35
|
+
return data;
|
|
36
|
+
};
|
|
37
|
+
return data;
|
|
38
|
+
}
|
|
39
|
+
function _interop_require_default(obj) {
|
|
40
|
+
return obj && obj.__esModule ? obj : {
|
|
41
|
+
default: obj
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
const GLOBAL_CACHE_VERSION = 4;
|
|
45
|
+
function getResponseInfo(response) {
|
|
46
|
+
const headers = Object.fromEntries(response.headers.entries());
|
|
47
|
+
delete headers['set-cookie'];
|
|
48
|
+
return {
|
|
49
|
+
url: response.url,
|
|
50
|
+
status: response.status,
|
|
51
|
+
statusText: response.statusText,
|
|
52
|
+
headers
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
function getRequestCacheKey(info, init) {
|
|
56
|
+
const infoKeyData = getRequestInfoCacheData(info);
|
|
57
|
+
const initKeyData = {
|
|
58
|
+
body: (init == null ? void 0 : init.body) ? getRequestBodyCacheData(init.body) : undefined
|
|
59
|
+
};
|
|
60
|
+
return _crypto().default.createHash('md5').update(JSON.stringify([
|
|
61
|
+
infoKeyData,
|
|
62
|
+
initKeyData,
|
|
63
|
+
GLOBAL_CACHE_VERSION
|
|
64
|
+
])).digest('hex');
|
|
65
|
+
}
|
|
66
|
+
function getRequestInfoCacheData(info) {
|
|
67
|
+
if (typeof info === 'string') {
|
|
68
|
+
return {
|
|
69
|
+
url: info
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
if (info instanceof URL) {
|
|
73
|
+
return {
|
|
74
|
+
url: info.toString()
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
if (info instanceof Request) {
|
|
78
|
+
return {
|
|
79
|
+
// cache: req.cache,
|
|
80
|
+
credentials: info.credentials.toString(),
|
|
81
|
+
destination: info.destination.toString(),
|
|
82
|
+
headers: Object.fromEntries(info.headers.entries()),
|
|
83
|
+
integrity: info.integrity,
|
|
84
|
+
method: info.method,
|
|
85
|
+
redirect: info.redirect,
|
|
86
|
+
referrer: info.referrer,
|
|
87
|
+
referrerPolicy: info.referrerPolicy,
|
|
88
|
+
url: info.url.toString()
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
throw new Error('Unsupported request info type for caching: ' + typeof info);
|
|
92
|
+
}
|
|
93
|
+
function getRequestBodyCacheData(body) {
|
|
94
|
+
if (!body) {
|
|
95
|
+
return body;
|
|
96
|
+
}
|
|
97
|
+
if (typeof body === 'string') {
|
|
98
|
+
return body;
|
|
99
|
+
}
|
|
100
|
+
if (body instanceof URLSearchParams) {
|
|
101
|
+
return body.toString();
|
|
102
|
+
}
|
|
103
|
+
// Supported for legacy purposes because node-fetch uses fs.readStream
|
|
104
|
+
if (body instanceof _fs().ReadStream) {
|
|
105
|
+
return body.path;
|
|
106
|
+
}
|
|
107
|
+
if (body.toString && body.toString() === '[object FormData]') {
|
|
108
|
+
return new URLSearchParams(body).toString();
|
|
109
|
+
}
|
|
110
|
+
if (body instanceof Buffer) {
|
|
111
|
+
return body.toString();
|
|
112
|
+
}
|
|
113
|
+
throw new Error(`Unsupported request body type for caching: ${typeof body}`);
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
//# sourceMappingURL=ResponseCache.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../src/api/rest/cache/ResponseCache.ts"],"sourcesContent":["import crypto from 'crypto';\nimport type { Response, RequestInfo, RequestInit } from 'fetch-nodeshim';\nimport { ReadStream } from 'fs';\n\nconst GLOBAL_CACHE_VERSION = 4;\n\nexport type ResponseCacheEntry = {\n body: ReadableStream;\n info: ReturnType<typeof getResponseInfo>;\n};\n\nexport interface ResponseCache {\n /** Load the response info from cache, if any */\n get(cacheKey: string): Promise<ResponseCacheEntry | undefined>;\n /** Store the response info to cache, and return the cached info */\n set(cacheKey: string, response: ResponseCacheEntry): Promise<ResponseCacheEntry | undefined>;\n /** Remove a response entry from the cache */\n remove(cacheKey: string): Promise<void>;\n}\n\nexport function getResponseInfo(response: Response) {\n const headers = Object.fromEntries(response.headers.entries());\n delete headers['set-cookie'];\n return {\n url: response.url,\n status: response.status,\n statusText: response.statusText,\n headers,\n };\n}\n\nexport function getRequestCacheKey(info: RequestInfo, init?: RequestInit) {\n const infoKeyData = getRequestInfoCacheData(info);\n const initKeyData = { body: init?.body ? getRequestBodyCacheData(init.body) : undefined };\n\n return crypto\n .createHash('md5')\n .update(JSON.stringify([infoKeyData, initKeyData, GLOBAL_CACHE_VERSION]))\n .digest('hex');\n}\n\n/** @internal Exposed for testing */\nexport function getRequestInfoCacheData(info: RequestInfo) {\n if (typeof info === 'string') {\n return { url: info };\n }\n\n if (info instanceof URL) {\n return { url: info.toString() };\n }\n\n if (info instanceof Request) {\n return {\n // cache: req.cache,\n credentials: info.credentials.toString(),\n destination: info.destination.toString(),\n headers: Object.fromEntries(info.headers.entries()),\n integrity: info.integrity,\n method: info.method,\n redirect: info.redirect,\n referrer: info.referrer,\n referrerPolicy: info.referrerPolicy,\n url: info.url.toString(),\n // body: // TODO\n };\n }\n\n throw new Error('Unsupported request info type for caching: ' + typeof info);\n}\n\n/** @internal Exposed for testing */\nexport function getRequestBodyCacheData(body: RequestInit['body']) {\n if (!body) {\n return body;\n }\n\n if (typeof body === 'string') {\n return body;\n }\n\n if (body instanceof URLSearchParams) {\n return body.toString();\n }\n\n // Supported for legacy purposes because node-fetch uses fs.readStream\n if (body instanceof ReadStream) {\n return body.path;\n }\n\n if (body.toString && body.toString() === '[object FormData]') {\n return new URLSearchParams(body as any).toString();\n }\n\n if (body instanceof Buffer) {\n return body.toString();\n }\n\n throw new Error(`Unsupported request body type for caching: ${typeof body}`);\n}\n"],"names":["getRequestBodyCacheData","getRequestCacheKey","getRequestInfoCacheData","getResponseInfo","GLOBAL_CACHE_VERSION","response","headers","Object","fromEntries","entries","url","status","statusText","info","init","infoKeyData","initKeyData","body","undefined","crypto","createHash","update","JSON","stringify","digest","URL","toString","Request","credentials","destination","integrity","method","redirect","referrer","referrerPolicy","Error","URLSearchParams","ReadStream","path","Buffer"],"mappings":";;;;;;;;;;;IAuEgBA,uBAAuB;eAAvBA;;IAxCAC,kBAAkB;eAAlBA;;IAWAC,uBAAuB;eAAvBA;;IAtBAC,eAAe;eAAfA;;;;gEApBG;;;;;;;yBAEQ;;;;;;;;;;;AAE3B,MAAMC,uBAAuB;AAgBtB,SAASD,gBAAgBE,QAAkB;IAChD,MAAMC,UAAUC,OAAOC,WAAW,CAACH,SAASC,OAAO,CAACG,OAAO;IAC3D,OAAOH,OAAO,CAAC,aAAa;IAC5B,OAAO;QACLI,KAAKL,SAASK,GAAG;QACjBC,QAAQN,SAASM,MAAM;QACvBC,YAAYP,SAASO,UAAU;QAC/BN;IACF;AACF;AAEO,SAASL,mBAAmBY,IAAiB,EAAEC,IAAkB;IACtE,MAAMC,cAAcb,wBAAwBW;IAC5C,MAAMG,cAAc;QAAEC,MAAMH,CAAAA,wBAAAA,KAAMG,IAAI,IAAGjB,wBAAwBc,KAAKG,IAAI,IAAIC;IAAU;IAExF,OAAOC,iBAAM,CACVC,UAAU,CAAC,OACXC,MAAM,CAACC,KAAKC,SAAS,CAAC;QAACR;QAAaC;QAAaZ;KAAqB,GACtEoB,MAAM,CAAC;AACZ;AAGO,SAAStB,wBAAwBW,IAAiB;IACvD,IAAI,OAAOA,SAAS,UAAU;QAC5B,OAAO;YAAEH,KAAKG;QAAK;IACrB;IAEA,IAAIA,gBAAgBY,KAAK;QACvB,OAAO;YAAEf,KAAKG,KAAKa,QAAQ;QAAG;IAChC;IAEA,IAAIb,gBAAgBc,SAAS;QAC3B,OAAO;YACL,oBAAoB;YACpBC,aAAaf,KAAKe,WAAW,CAACF,QAAQ;YACtCG,aAAahB,KAAKgB,WAAW,CAACH,QAAQ;YACtCpB,SAASC,OAAOC,WAAW,CAACK,KAAKP,OAAO,CAACG,OAAO;YAChDqB,WAAWjB,KAAKiB,SAAS;YACzBC,QAAQlB,KAAKkB,MAAM;YACnBC,UAAUnB,KAAKmB,QAAQ;YACvBC,UAAUpB,KAAKoB,QAAQ;YACvBC,gBAAgBrB,KAAKqB,cAAc;YACnCxB,KAAKG,KAAKH,GAAG,CAACgB,QAAQ;QAExB;IACF;IAEA,MAAM,IAAIS,MAAM,gDAAgD,OAAOtB;AACzE;AAGO,SAASb,wBAAwBiB,IAAyB;IAC/D,IAAI,CAACA,MAAM;QACT,OAAOA;IACT;IAEA,IAAI,OAAOA,SAAS,UAAU;QAC5B,OAAOA;IACT;IAEA,IAAIA,gBAAgBmB,iBAAiB;QACnC,OAAOnB,KAAKS,QAAQ;IACtB;IAEA,sEAAsE;IACtE,IAAIT,gBAAgBoB,gBAAU,EAAE;QAC9B,OAAOpB,KAAKqB,IAAI;IAClB;IAEA,IAAIrB,KAAKS,QAAQ,IAAIT,KAAKS,QAAQ,OAAO,qBAAqB;QAC5D,OAAO,IAAIU,gBAAgBnB,MAAaS,QAAQ;IAClD;IAEA,IAAIT,gBAAgBsB,QAAQ;QAC1B,OAAOtB,KAAKS,QAAQ;IACtB;IAEA,MAAM,IAAIS,MAAM,CAAC,2CAA2C,EAAE,OAAOlB,MAAM;AAC7E"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "wrapFetchWithCache", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return wrapFetchWithCache;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
function _fetchnodeshim() {
|
|
12
|
+
const data = require("fetch-nodeshim");
|
|
13
|
+
_fetchnodeshim = function() {
|
|
14
|
+
return data;
|
|
15
|
+
};
|
|
16
|
+
return data;
|
|
17
|
+
}
|
|
18
|
+
const _ResponseCache = require("./ResponseCache");
|
|
19
|
+
const debug = require('debug')('expo:fetch-cache');
|
|
20
|
+
function wrapFetchWithCache(fetch, cache) {
|
|
21
|
+
return async function cachedFetch(url, init) {
|
|
22
|
+
const cacheKey = (0, _ResponseCache.getRequestCacheKey)(url, init);
|
|
23
|
+
const cachedResponse = await cache.get(cacheKey);
|
|
24
|
+
if (cachedResponse) {
|
|
25
|
+
return new (_fetchnodeshim()).Response(cachedResponse.body, cachedResponse.info);
|
|
26
|
+
}
|
|
27
|
+
await lock(cacheKey);
|
|
28
|
+
try {
|
|
29
|
+
// Retry loading from cache, in case it was stored during the lock
|
|
30
|
+
let cachedResponse = await cache.get(cacheKey);
|
|
31
|
+
if (cachedResponse) {
|
|
32
|
+
return new (_fetchnodeshim()).Response(cachedResponse.body, cachedResponse.info);
|
|
33
|
+
}
|
|
34
|
+
// Execute the fetch request
|
|
35
|
+
const response = await fetch(url, init);
|
|
36
|
+
if (!response.ok || !response.body) {
|
|
37
|
+
return response;
|
|
38
|
+
}
|
|
39
|
+
// Cache the response
|
|
40
|
+
cachedResponse = await cache.set(cacheKey, {
|
|
41
|
+
body: response.body,
|
|
42
|
+
info: (0, _ResponseCache.getResponseInfo)(response)
|
|
43
|
+
});
|
|
44
|
+
// Warn through debug logs that caching failed
|
|
45
|
+
if (!cachedResponse) {
|
|
46
|
+
debug(`Failed to cache response for: ${url}`);
|
|
47
|
+
await cache.remove(cacheKey);
|
|
48
|
+
return response;
|
|
49
|
+
}
|
|
50
|
+
// Return the cached response
|
|
51
|
+
return new (_fetchnodeshim()).Response(cachedResponse.body, cachedResponse.info);
|
|
52
|
+
} finally{
|
|
53
|
+
unlock(cacheKey);
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
const lockPromiseForKey = {};
|
|
58
|
+
const unlockFunctionForKey = {};
|
|
59
|
+
async function lock(key) {
|
|
60
|
+
if (!lockPromiseForKey[key]) {
|
|
61
|
+
lockPromiseForKey[key] = Promise.resolve();
|
|
62
|
+
}
|
|
63
|
+
const takeLockPromise = lockPromiseForKey[key];
|
|
64
|
+
lockPromiseForKey[key] = takeLockPromise.then(()=>new Promise((fulfill)=>{
|
|
65
|
+
unlockFunctionForKey[key] = fulfill;
|
|
66
|
+
}));
|
|
67
|
+
return takeLockPromise;
|
|
68
|
+
}
|
|
69
|
+
function unlock(key) {
|
|
70
|
+
if (unlockFunctionForKey[key]) {
|
|
71
|
+
unlockFunctionForKey[key]();
|
|
72
|
+
delete unlockFunctionForKey[key];
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
//# sourceMappingURL=wrapFetchWithCache.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../src/api/rest/cache/wrapFetchWithCache.ts"],"sourcesContent":["import { Response, type RequestInfo, type RequestInit } from 'fetch-nodeshim';\n\nimport { getRequestCacheKey, getResponseInfo, type ResponseCache } from './ResponseCache';\nimport type { FetchLike } from '../client.types';\n\nconst debug = require('debug')('expo:fetch-cache');\n\nexport function wrapFetchWithCache(fetch: FetchLike, cache: ResponseCache): FetchLike {\n return async function cachedFetch(url: RequestInfo, init?: RequestInit) {\n const cacheKey = getRequestCacheKey(url, init);\n const cachedResponse = await cache.get(cacheKey);\n if (cachedResponse) {\n return new Response(cachedResponse.body, cachedResponse.info);\n }\n\n await lock(cacheKey);\n\n try {\n // Retry loading from cache, in case it was stored during the lock\n let cachedResponse = await cache.get(cacheKey);\n if (cachedResponse) {\n return new Response(cachedResponse.body, cachedResponse.info);\n }\n\n // Execute the fetch request\n const response = await fetch(url, init);\n if (!response.ok || !response.body) {\n return response;\n }\n\n // Cache the response\n cachedResponse = await cache.set(cacheKey, {\n body: response.body,\n info: getResponseInfo(response),\n });\n\n // Warn through debug logs that caching failed\n if (!cachedResponse) {\n debug(`Failed to cache response for: ${url}`);\n await cache.remove(cacheKey);\n return response;\n }\n\n // Return the cached response\n return new Response(cachedResponse.body, cachedResponse.info);\n } finally {\n unlock(cacheKey);\n }\n };\n}\n\nconst lockPromiseForKey: Record<string, Promise<any>> = {};\nconst unlockFunctionForKey: Record<string, any> = {};\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\nfunction unlock(key: string) {\n if (unlockFunctionForKey[key]) {\n unlockFunctionForKey[key]();\n delete unlockFunctionForKey[key];\n }\n}\n"],"names":["wrapFetchWithCache","debug","require","fetch","cache","cachedFetch","url","init","cacheKey","getRequestCacheKey","cachedResponse","get","Response","body","info","lock","response","ok","set","getResponseInfo","remove","unlock","lockPromiseForKey","unlockFunctionForKey","key","Promise","resolve","takeLockPromise","then","fulfill"],"mappings":";;;;+BAOgBA;;;eAAAA;;;;yBAP6C;;;;;;+BAEW;AAGxE,MAAMC,QAAQC,QAAQ,SAAS;AAExB,SAASF,mBAAmBG,KAAgB,EAAEC,KAAoB;IACvE,OAAO,eAAeC,YAAYC,GAAgB,EAAEC,IAAkB;QACpE,MAAMC,WAAWC,IAAAA,iCAAkB,EAACH,KAAKC;QACzC,MAAMG,iBAAiB,MAAMN,MAAMO,GAAG,CAACH;QACvC,IAAIE,gBAAgB;YAClB,OAAO,IAAIE,CAAAA,gBAAO,UAAC,CAACF,eAAeG,IAAI,EAAEH,eAAeI,IAAI;QAC9D;QAEA,MAAMC,KAAKP;QAEX,IAAI;YACF,kEAAkE;YAClE,IAAIE,iBAAiB,MAAMN,MAAMO,GAAG,CAACH;YACrC,IAAIE,gBAAgB;gBAClB,OAAO,IAAIE,CAAAA,gBAAO,UAAC,CAACF,eAAeG,IAAI,EAAEH,eAAeI,IAAI;YAC9D;YAEA,4BAA4B;YAC5B,MAAME,WAAW,MAAMb,MAAMG,KAAKC;YAClC,IAAI,CAACS,SAASC,EAAE,IAAI,CAACD,SAASH,IAAI,EAAE;gBAClC,OAAOG;YACT;YAEA,qBAAqB;YACrBN,iBAAiB,MAAMN,MAAMc,GAAG,CAACV,UAAU;gBACzCK,MAAMG,SAASH,IAAI;gBACnBC,MAAMK,IAAAA,8BAAe,EAACH;YACxB;YAEA,8CAA8C;YAC9C,IAAI,CAACN,gBAAgB;gBACnBT,MAAM,CAAC,8BAA8B,EAAEK,KAAK;gBAC5C,MAAMF,MAAMgB,MAAM,CAACZ;gBACnB,OAAOQ;YACT;YAEA,6BAA6B;YAC7B,OAAO,IAAIJ,CAAAA,gBAAO,UAAC,CAACF,eAAeG,IAAI,EAAEH,eAAeI,IAAI;QAC9D,SAAU;YACRO,OAAOb;QACT;IACF;AACF;AAEA,MAAMc,oBAAkD,CAAC;AACzD,MAAMC,uBAA4C,CAAC;AAEnD,eAAeR,KAAKS,GAAW;IAC7B,IAAI,CAACF,iBAAiB,CAACE,IAAI,EAAE;QAC3BF,iBAAiB,CAACE,IAAI,GAAGC,QAAQC,OAAO;IAC1C;IAEA,MAAMC,kBAAkBL,iBAAiB,CAACE,IAAI;IAC9CF,iBAAiB,CAACE,IAAI,GAAGG,gBAAgBC,IAAI,CAC3C,IACE,IAAIH,QAAQ,CAACI;YACXN,oBAAoB,CAACC,IAAI,GAAGK;QAC9B;IAGJ,OAAOF;AACT;AAEA,SAASN,OAAOG,GAAW;IACzB,IAAID,oBAAoB,CAACC,IAAI,EAAE;QAC7BD,oBAAoB,CAACC,IAAI;QACzB,OAAOD,oBAAoB,CAACC,IAAI;IAClC;AACF"}
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
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: function() {
|
|
13
|
+
return ApiV2Error;
|
|
14
|
+
},
|
|
15
|
+
UnexpectedServerData: function() {
|
|
16
|
+
return UnexpectedServerData;
|
|
17
|
+
},
|
|
18
|
+
UnexpectedServerError: function() {
|
|
19
|
+
return UnexpectedServerError;
|
|
20
|
+
},
|
|
21
|
+
createCachedFetch: function() {
|
|
22
|
+
return createCachedFetch;
|
|
23
|
+
},
|
|
24
|
+
fetchAsync: function() {
|
|
25
|
+
return fetchAsync;
|
|
26
|
+
},
|
|
27
|
+
getResponseDataOrThrow: function() {
|
|
28
|
+
return getResponseDataOrThrow;
|
|
29
|
+
},
|
|
30
|
+
wrapFetchWithCredentials: function() {
|
|
31
|
+
return wrapFetchWithCredentials;
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
function _path() {
|
|
35
|
+
const data = /*#__PURE__*/ _interop_require_default(require("path"));
|
|
36
|
+
_path = function() {
|
|
37
|
+
return data;
|
|
38
|
+
};
|
|
39
|
+
return data;
|
|
40
|
+
}
|
|
41
|
+
const _wrapFetchWithCache = require("./cache/wrapFetchWithCache");
|
|
42
|
+
const _wrapFetchWithBaseUrl = require("./wrapFetchWithBaseUrl");
|
|
43
|
+
const _wrapFetchWithOffline = require("./wrapFetchWithOffline");
|
|
44
|
+
const _wrapFetchWithProgress = require("./wrapFetchWithProgress");
|
|
45
|
+
const _wrapFetchWithUserAgent = require("./wrapFetchWithUserAgent");
|
|
46
|
+
const _env = require("../../utils/env");
|
|
47
|
+
const _errors = require("../../utils/errors");
|
|
48
|
+
const _fetch = require("../../utils/fetch");
|
|
49
|
+
const _endpoint = require("../endpoint");
|
|
50
|
+
const _settings = require("../settings");
|
|
51
|
+
const _UserSettings = require("../user/UserSettings");
|
|
52
|
+
function _interop_require_default(obj) {
|
|
53
|
+
return obj && obj.__esModule ? obj : {
|
|
54
|
+
default: obj
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
class ApiV2Error extends Error {
|
|
58
|
+
constructor(response){
|
|
59
|
+
super(response.message), this.name = 'ApiV2Error';
|
|
60
|
+
this.code = response.code;
|
|
61
|
+
this.expoApiV2ErrorCode = response.code;
|
|
62
|
+
this.expoApiV2ErrorDetails = response.details;
|
|
63
|
+
this.expoApiV2ErrorServerStack = response.stack;
|
|
64
|
+
this.expoApiV2ErrorMetadata = response.metadata;
|
|
65
|
+
this.expoApiV2RequestId = response.requestId;
|
|
66
|
+
}
|
|
67
|
+
toString() {
|
|
68
|
+
return `${super.toString()}${_env.env.EXPO_DEBUG && this.expoApiV2RequestId ? ` (Request Id: ${this.expoApiV2RequestId})` : ''}`;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
class UnexpectedServerError extends Error {
|
|
72
|
+
constructor(...args){
|
|
73
|
+
super(...args), this.name = 'UnexpectedServerError';
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
class UnexpectedServerData extends Error {
|
|
77
|
+
constructor(...args){
|
|
78
|
+
super(...args), this.name = 'UnexpectedServerData';
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
function getResponseDataOrThrow(json) {
|
|
82
|
+
if (!!json && typeof json === 'object' && 'data' in json) {
|
|
83
|
+
return json.data;
|
|
84
|
+
}
|
|
85
|
+
throw new UnexpectedServerData(!!json && typeof json === 'object' ? JSON.stringify(json) : 'Unknown data received from server.');
|
|
86
|
+
}
|
|
87
|
+
function wrapFetchWithCredentials(fetchFunction) {
|
|
88
|
+
return async function fetchWithCredentials(url, options = {}) {
|
|
89
|
+
if (Array.isArray(options.headers)) {
|
|
90
|
+
throw new Error('request headers must be in object form');
|
|
91
|
+
}
|
|
92
|
+
const resolvedHeaders = options.headers ?? {};
|
|
93
|
+
const token = (0, _UserSettings.getAccessToken)();
|
|
94
|
+
if (token) {
|
|
95
|
+
resolvedHeaders.authorization = `Bearer ${token}`;
|
|
96
|
+
} else {
|
|
97
|
+
var _getSession;
|
|
98
|
+
const sessionSecret = (_getSession = (0, _UserSettings.getSession)()) == null ? void 0 : _getSession.sessionSecret;
|
|
99
|
+
if (sessionSecret) {
|
|
100
|
+
resolvedHeaders['expo-session'] = sessionSecret;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
try {
|
|
104
|
+
const response = await fetchFunction(url, {
|
|
105
|
+
...options,
|
|
106
|
+
headers: resolvedHeaders
|
|
107
|
+
});
|
|
108
|
+
// Handle expected API errors (4xx)
|
|
109
|
+
if (response.status >= 400 && response.status < 500) {
|
|
110
|
+
const body = await response.text();
|
|
111
|
+
try {
|
|
112
|
+
var _data_errors;
|
|
113
|
+
const data = JSON.parse(body);
|
|
114
|
+
if (data == null ? void 0 : (_data_errors = data.errors) == null ? void 0 : _data_errors.length) {
|
|
115
|
+
throw new ApiV2Error(data.errors[0]);
|
|
116
|
+
}
|
|
117
|
+
} catch (error) {
|
|
118
|
+
// Server returned non-json response.
|
|
119
|
+
if (error.message.includes('in JSON at position')) {
|
|
120
|
+
throw new UnexpectedServerError(body);
|
|
121
|
+
}
|
|
122
|
+
throw error;
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
return response;
|
|
126
|
+
} catch (error) {
|
|
127
|
+
// When running `expo start`, but wifi or internet has issues
|
|
128
|
+
if (isNetworkError(error) || 'cause' in error && isNetworkError(error.cause)) {
|
|
129
|
+
(0, _settings.disableNetwork)();
|
|
130
|
+
throw new _errors.CommandError('OFFLINE', 'Network connection is unreliable. Try again with the environment variable `EXPO_OFFLINE=1` to skip network requests.');
|
|
131
|
+
}
|
|
132
|
+
throw error;
|
|
133
|
+
}
|
|
134
|
+
};
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Determine if the provided error is related to a network issue.
|
|
138
|
+
* When this returns true, offline mode should be enabled.
|
|
139
|
+
* - `ENOTFOUND` is thrown when the DNS lookup failed
|
|
140
|
+
* - `EAI_AGAIN` is thrown when DNS lookup failed due to a server-side error
|
|
141
|
+
* - `UND_ERR_CONNECT_TIMEOUT` is thrown after DNS is resolved, but server can't be reached
|
|
142
|
+
*
|
|
143
|
+
* @see https://nodejs.org/api/errors.html
|
|
144
|
+
* @see https://github.com/nodejs/undici#network-address-family-autoselection
|
|
145
|
+
*/ function isNetworkError(error) {
|
|
146
|
+
return 'code' in error && error.code && [
|
|
147
|
+
'ENOTFOUND',
|
|
148
|
+
'EAI_AGAIN',
|
|
149
|
+
'UND_ERR_CONNECT_TIMEOUT'
|
|
150
|
+
].includes(error.code);
|
|
151
|
+
}
|
|
152
|
+
const fetchWithOffline = (0, _wrapFetchWithOffline.wrapFetchWithOffline)((0, _wrapFetchWithUserAgent.wrapFetchWithUserAgent)(_fetch.fetch));
|
|
153
|
+
const fetchWithBaseUrl = (0, _wrapFetchWithBaseUrl.wrapFetchWithBaseUrl)(fetchWithOffline, (0, _endpoint.getExpoApiBaseUrl)() + '/v2/');
|
|
154
|
+
const fetchWithCredentials = (0, _wrapFetchWithProgress.wrapFetchWithProgress)(wrapFetchWithCredentials(fetchWithBaseUrl));
|
|
155
|
+
function createCachedFetch({ fetch = fetchWithCredentials, cacheDirectory, ttl, skipCache }) {
|
|
156
|
+
// Disable all caching in EXPO_BETA.
|
|
157
|
+
if (skipCache || _env.env.EXPO_BETA || _env.env.EXPO_NO_CACHE) {
|
|
158
|
+
return fetch;
|
|
159
|
+
}
|
|
160
|
+
const { FileSystemResponseCache } = require('./cache/FileSystemResponseCache');
|
|
161
|
+
return (0, _wrapFetchWithCache.wrapFetchWithCache)(fetch, new FileSystemResponseCache({
|
|
162
|
+
cacheDirectory: _path().default.join((0, _UserSettings.getExpoHomeDirectory)(), cacheDirectory),
|
|
163
|
+
ttl
|
|
164
|
+
}));
|
|
165
|
+
}
|
|
166
|
+
const fetchAsync = (0, _wrapFetchWithProgress.wrapFetchWithProgress)(wrapFetchWithCredentials(fetchWithBaseUrl));
|
|
167
|
+
|
|
168
|
+
//# sourceMappingURL=client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/api/rest/client.ts"],"sourcesContent":["import type { JSONValue } from '@expo/json-file';\nimport path from 'path';\n\nimport { wrapFetchWithCache } from './cache/wrapFetchWithCache';\nimport type { FetchLike } from './client.types';\nimport { wrapFetchWithBaseUrl } from './wrapFetchWithBaseUrl';\nimport { wrapFetchWithOffline } from './wrapFetchWithOffline';\nimport { wrapFetchWithProgress } from './wrapFetchWithProgress';\nimport { wrapFetchWithUserAgent } from './wrapFetchWithUserAgent';\nimport { env } from '../../utils/env';\nimport { CommandError } from '../../utils/errors';\nimport { fetch } from '../../utils/fetch';\nimport { getExpoApiBaseUrl } from '../endpoint';\nimport { disableNetwork } from '../settings';\nimport { getAccessToken, getExpoHomeDirectory, getSession } 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 readonly expoApiV2RequestId?: string;\n\n constructor(response: {\n message: string;\n code: string;\n stack?: string;\n details?: JSONValue;\n metadata?: object;\n requestId: string;\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 this.expoApiV2RequestId = response.requestId;\n }\n\n toString() {\n return `${super.toString()}${env.EXPO_DEBUG && this.expoApiV2RequestId ? ` (Request Id: ${this.expoApiV2RequestId})` : ''}`;\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 * An error defining that the server 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 client.\n */\nexport class UnexpectedServerData extends Error {\n readonly name = 'UnexpectedServerData';\n}\n\n/** Validate the response json contains `.data` property, or throw an unexpected server data error */\nexport function getResponseDataOrThrow<T = any>(json: unknown): T {\n if (!!json && typeof json === 'object' && 'data' in json) {\n return json.data as T;\n }\n\n throw new UnexpectedServerData(\n !!json && typeof json === 'object' ? JSON.stringify(json) : 'Unknown data received from server.'\n );\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 = getAccessToken();\n if (token) {\n resolvedHeaders.authorization = `Bearer ${token}`;\n } else {\n const sessionSecret = getSession()?.sessionSecret;\n if (sessionSecret) {\n resolvedHeaders['expo-session'] = sessionSecret;\n }\n }\n\n try {\n const response = await fetchFunction(url, {\n ...options,\n headers: resolvedHeaders,\n });\n\n // Handle expected API errors (4xx)\n if (response.status >= 400 && response.status < 500) {\n const body = await response.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\n return response;\n } catch (error: any) {\n // When running `expo start`, but wifi or internet has issues\n if (isNetworkError(error) || ('cause' in error && isNetworkError(error.cause))) {\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\n/**\n * Determine if the provided error is related to a network issue.\n * When this returns true, offline mode should be enabled.\n * - `ENOTFOUND` is thrown when the DNS lookup failed\n * - `EAI_AGAIN` is thrown when DNS lookup failed due to a server-side error\n * - `UND_ERR_CONNECT_TIMEOUT` is thrown after DNS is resolved, but server can't be reached\n *\n * @see https://nodejs.org/api/errors.html\n * @see https://github.com/nodejs/undici#network-address-family-autoselection\n */\nfunction isNetworkError(error: Error & { code?: string }) {\n return (\n 'code' in error &&\n error.code &&\n ['ENOTFOUND', 'EAI_AGAIN', 'UND_ERR_CONNECT_TIMEOUT'].includes(error.code)\n );\n}\n\nconst fetchWithOffline = wrapFetchWithOffline(wrapFetchWithUserAgent(fetch));\n\nconst fetchWithBaseUrl = wrapFetchWithBaseUrl(fetchWithOffline, getExpoApiBaseUrl() + '/v2/');\n\nconst fetchWithCredentials = wrapFetchWithProgress(wrapFetchWithCredentials(fetchWithBaseUrl));\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 { FileSystemResponseCache } =\n require('./cache/FileSystemResponseCache') as typeof import('./cache/FileSystemResponseCache');\n\n return wrapFetchWithCache(\n fetch,\n new FileSystemResponseCache({\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(fetchWithBaseUrl));\n"],"names":["ApiV2Error","UnexpectedServerData","UnexpectedServerError","createCachedFetch","fetchAsync","getResponseDataOrThrow","wrapFetchWithCredentials","Error","constructor","response","message","name","code","expoApiV2ErrorCode","expoApiV2ErrorDetails","details","expoApiV2ErrorServerStack","stack","expoApiV2ErrorMetadata","metadata","expoApiV2RequestId","requestId","toString","env","EXPO_DEBUG","json","data","JSON","stringify","fetchFunction","fetchWithCredentials","url","options","Array","isArray","headers","resolvedHeaders","token","getAccessToken","authorization","getSession","sessionSecret","status","body","text","parse","errors","length","error","includes","isNetworkError","cause","disableNetwork","CommandError","fetchWithOffline","wrapFetchWithOffline","wrapFetchWithUserAgent","fetch","fetchWithBaseUrl","wrapFetchWithBaseUrl","getExpoApiBaseUrl","wrapFetchWithProgress","cacheDirectory","ttl","skipCache","EXPO_BETA","EXPO_NO_CACHE","FileSystemResponseCache","require","wrapFetchWithCache","path","join","getExpoHomeDirectory"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "wrapFetchWithBaseUrl", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return wrapFetchWithBaseUrl;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
function _url() {
|
|
12
|
+
const data = require("url");
|
|
13
|
+
_url = function() {
|
|
14
|
+
return data;
|
|
15
|
+
};
|
|
16
|
+
return data;
|
|
17
|
+
}
|
|
18
|
+
function wrapFetchWithBaseUrl(fetch, baseUrl) {
|
|
19
|
+
// NOTE(EvanBacon): DO NOT RETURN AN ASYNC WRAPPER. THIS BREAKS LOADING INDICATORS.
|
|
20
|
+
return (url, init)=>{
|
|
21
|
+
if (typeof url !== 'string') {
|
|
22
|
+
throw new TypeError('Custom fetch function only accepts a string URL as the first parameter');
|
|
23
|
+
}
|
|
24
|
+
const parsed = new (_url()).URL(url, baseUrl);
|
|
25
|
+
if (init == null ? void 0 : init.searchParams) {
|
|
26
|
+
parsed.search = init.searchParams.toString();
|
|
27
|
+
}
|
|
28
|
+
return fetch(parsed.toString(), init);
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
//# sourceMappingURL=wrapFetchWithBaseUrl.js.map
|