@expo/cli 0.0.0-canary-20231122-1af9191
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +144 -0
- package/build/bin/cli +272 -0
- package/build/bin/cli.map +1 -0
- package/build/src/api/endpoint.js +27 -0
- package/build/src/api/endpoint.js.map +1 -0
- package/build/src/api/getExpoGoIntermediateCertificate.js +19 -0
- package/build/src/api/getExpoGoIntermediateCertificate.js.map +1 -0
- package/build/src/api/getExpoSchema.js +69 -0
- package/build/src/api/getExpoSchema.js.map +1 -0
- package/build/src/api/getNativeModuleVersions.js +31 -0
- package/build/src/api/getNativeModuleVersions.js.map +1 -0
- package/build/src/api/getProjectDevelopmentCertificate.js +22 -0
- package/build/src/api/getProjectDevelopmentCertificate.js.map +1 -0
- package/build/src/api/getVersions.js +24 -0
- package/build/src/api/getVersions.js.map +1 -0
- package/build/src/api/graphql/client.js +106 -0
- package/build/src/api/graphql/client.js.map +1 -0
- package/build/src/api/graphql/queries/AppQuery.js +39 -0
- package/build/src/api/graphql/queries/AppQuery.js.map +1 -0
- package/build/src/api/graphql/queries/UserQuery.js +51 -0
- package/build/src/api/graphql/queries/UserQuery.js.map +1 -0
- package/build/src/api/graphql/types/App.js +23 -0
- package/build/src/api/graphql/types/App.js.map +1 -0
- package/build/src/api/rest/cache/FileSystemCache.js +79 -0
- package/build/src/api/rest/cache/FileSystemCache.js.map +1 -0
- package/build/src/api/rest/cache/response.js +31 -0
- package/build/src/api/rest/cache/response.js.map +1 -0
- package/build/src/api/rest/cache/wrapFetchWithCache.js +156 -0
- package/build/src/api/rest/cache/wrapFetchWithCache.js.map +1 -0
- package/build/src/api/rest/client.js +109 -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 +23 -0
- package/build/src/api/rest/wrapFetchWithBaseUrl.js.map +1 -0
- package/build/src/api/rest/wrapFetchWithOffline.js +19 -0
- package/build/src/api/rest/wrapFetchWithOffline.js.map +1 -0
- package/build/src/api/rest/wrapFetchWithProgress.js +64 -0
- package/build/src/api/rest/wrapFetchWithProgress.js.map +1 -0
- package/build/src/api/rest/wrapFetchWithProxy.js +26 -0
- package/build/src/api/rest/wrapFetchWithProxy.js.map +1 -0
- package/build/src/api/settings.js +20 -0
- package/build/src/api/settings.js.map +1 -0
- package/build/src/api/updateDevelopmentSession.js +74 -0
- package/build/src/api/updateDevelopmentSession.js.map +1 -0
- package/build/src/api/user/UserSettings.js +71 -0
- package/build/src/api/user/UserSettings.js.map +1 -0
- package/build/src/api/user/actions.js +107 -0
- package/build/src/api/user/actions.js.map +1 -0
- package/build/src/api/user/expoSsoLauncher.js +127 -0
- package/build/src/api/user/expoSsoLauncher.js.map +1 -0
- package/build/src/api/user/otp.js +139 -0
- package/build/src/api/user/otp.js.map +1 -0
- package/build/src/api/user/user.js +144 -0
- package/build/src/api/user/user.js.map +1 -0
- package/build/src/config/configAsync.js +137 -0
- package/build/src/config/configAsync.js.map +1 -0
- package/build/src/config/index.js +75 -0
- package/build/src/config/index.js.map +1 -0
- package/build/src/customize/customizeAsync.js +43 -0
- package/build/src/customize/customizeAsync.js.map +1 -0
- package/build/src/customize/generate.js +104 -0
- package/build/src/customize/generate.js.map +1 -0
- package/build/src/customize/index.js +41 -0
- package/build/src/customize/index.js.map +1 -0
- package/build/src/customize/resolveOptions.js +18 -0
- package/build/src/customize/resolveOptions.js.map +1 -0
- package/build/src/customize/templates.js +126 -0
- package/build/src/customize/templates.js.map +1 -0
- package/build/src/customize/typescript.js +56 -0
- package/build/src/customize/typescript.js.map +1 -0
- package/build/src/export/createMetadataJson.js +42 -0
- package/build/src/export/createMetadataJson.js.map +1 -0
- package/build/src/export/embed/exportEmbedAsync.js +146 -0
- package/build/src/export/embed/exportEmbedAsync.js.map +1 -0
- package/build/src/export/embed/index.js +115 -0
- package/build/src/export/embed/index.js.map +1 -0
- package/build/src/export/embed/resolveOptions.js +59 -0
- package/build/src/export/embed/resolveOptions.js.map +1 -0
- package/build/src/export/embed/xcodeCompilerLogger.js +97 -0
- package/build/src/export/embed/xcodeCompilerLogger.js.map +1 -0
- package/build/src/export/exportApp.js +192 -0
- package/build/src/export/exportApp.js.map +1 -0
- package/build/src/export/exportAssets.js +176 -0
- package/build/src/export/exportAssets.js.map +1 -0
- package/build/src/export/exportAsync.js +52 -0
- package/build/src/export/exportAsync.js.map +1 -0
- package/build/src/export/exportHermes.js +124 -0
- package/build/src/export/exportHermes.js.map +1 -0
- package/build/src/export/exportStaticAsync.js +278 -0
- package/build/src/export/exportStaticAsync.js.map +1 -0
- package/build/src/export/favicon.js +89 -0
- package/build/src/export/favicon.js.map +1 -0
- package/build/src/export/fork-bundleAsync.js +215 -0
- package/build/src/export/fork-bundleAsync.js.map +1 -0
- package/build/src/export/getPublicExpoManifest.js +28 -0
- package/build/src/export/getPublicExpoManifest.js.map +1 -0
- package/build/src/export/getResolvedLocales.js +35 -0
- package/build/src/export/getResolvedLocales.js.map +1 -0
- package/build/src/export/html.js +21 -0
- package/build/src/export/html.js.map +1 -0
- package/build/src/export/index.js +91 -0
- package/build/src/export/index.js.map +1 -0
- package/build/src/export/metroAssetLocalPath.js +101 -0
- package/build/src/export/metroAssetLocalPath.js.map +1 -0
- package/build/src/export/persistMetroAssets.js +190 -0
- package/build/src/export/persistMetroAssets.js.map +1 -0
- package/build/src/export/publicFolder.js +34 -0
- package/build/src/export/publicFolder.js.map +1 -0
- package/build/src/export/resolveOptions.js +63 -0
- package/build/src/export/resolveOptions.js.map +1 -0
- package/build/src/export/saveAssets.js +189 -0
- package/build/src/export/saveAssets.js.map +1 -0
- package/build/src/export/web/exportWebAsync.js +40 -0
- package/build/src/export/web/exportWebAsync.js.map +1 -0
- package/build/src/export/web/index.js +66 -0
- package/build/src/export/web/index.js.map +1 -0
- package/build/src/export/web/resolveOptions.js +13 -0
- package/build/src/export/web/resolveOptions.js.map +1 -0
- package/build/src/export/writeContents.js +26 -0
- package/build/src/export/writeContents.js.map +1 -0
- package/build/src/graphql/generated.js +486 -0
- package/build/src/graphql/generated.js.map +1 -0
- package/build/src/install/applyPlugins.js +52 -0
- package/build/src/install/applyPlugins.js.map +1 -0
- package/build/src/install/checkPackages.js +78 -0
- package/build/src/install/checkPackages.js.map +1 -0
- package/build/src/install/fixPackages.js +84 -0
- package/build/src/install/fixPackages.js.map +1 -0
- package/build/src/install/index.js +51 -0
- package/build/src/install/index.js.map +1 -0
- package/build/src/install/installAsync.js +134 -0
- package/build/src/install/installAsync.js.map +1 -0
- package/build/src/install/installExpoPackage.js +79 -0
- package/build/src/install/installExpoPackage.js.map +1 -0
- package/build/src/install/resolveOptions.js +53 -0
- package/build/src/install/resolveOptions.js.map +1 -0
- package/build/src/install/utils/autoAddConfigPlugins.js +66 -0
- package/build/src/install/utils/autoAddConfigPlugins.js.map +1 -0
- package/build/src/log.js +74 -0
- package/build/src/log.js.map +1 -0
- package/build/src/login/index.js +67 -0
- package/build/src/login/index.js.map +1 -0
- package/build/src/logout/index.js +48 -0
- package/build/src/logout/index.js.map +1 -0
- package/build/src/prebuild/clearNativeFolder.js +143 -0
- package/build/src/prebuild/clearNativeFolder.js.map +1 -0
- package/build/src/prebuild/configureProjectAsync.js +64 -0
- package/build/src/prebuild/configureProjectAsync.js.map +1 -0
- package/build/src/prebuild/copyTemplateFiles.js +67 -0
- package/build/src/prebuild/copyTemplateFiles.js.map +1 -0
- package/build/src/prebuild/ensureConfigAsync.js +75 -0
- package/build/src/prebuild/ensureConfigAsync.js.map +1 -0
- package/build/src/prebuild/index.js +98 -0
- package/build/src/prebuild/index.js.map +1 -0
- package/build/src/prebuild/prebuildAsync.js +146 -0
- package/build/src/prebuild/prebuildAsync.js.map +1 -0
- package/build/src/prebuild/resolveOptions.js +115 -0
- package/build/src/prebuild/resolveOptions.js.map +1 -0
- package/build/src/prebuild/resolveTemplate.js +163 -0
- package/build/src/prebuild/resolveTemplate.js.map +1 -0
- package/build/src/prebuild/updateFromTemplate.js +103 -0
- package/build/src/prebuild/updateFromTemplate.js.map +1 -0
- package/build/src/prebuild/updatePackageJson.js +227 -0
- package/build/src/prebuild/updatePackageJson.js.map +1 -0
- package/build/src/prebuild/validateTemplatePlatforms.js +48 -0
- package/build/src/prebuild/validateTemplatePlatforms.js.map +1 -0
- package/build/src/register/index.js +48 -0
- package/build/src/register/index.js.map +1 -0
- package/build/src/register/registerAsync.js +34 -0
- package/build/src/register/registerAsync.js.map +1 -0
- package/build/src/run/android/index.js +97 -0
- package/build/src/run/android/index.js.map +1 -0
- package/build/src/run/android/resolveDevice.js +23 -0
- package/build/src/run/android/resolveDevice.js.map +1 -0
- package/build/src/run/android/resolveGradleProps.js +37 -0
- package/build/src/run/android/resolveGradleProps.js.map +1 -0
- package/build/src/run/android/resolveInstallApkName.js +51 -0
- package/build/src/run/android/resolveInstallApkName.js.map +1 -0
- package/build/src/run/android/resolveLaunchProps.js +32 -0
- package/build/src/run/android/resolveLaunchProps.js.map +1 -0
- package/build/src/run/android/resolveOptions.js +25 -0
- package/build/src/run/android/resolveOptions.js.map +1 -0
- package/build/src/run/android/runAndroidAsync.js +83 -0
- package/build/src/run/android/runAndroidAsync.js.map +1 -0
- package/build/src/run/ensureNativeProject.js +36 -0
- package/build/src/run/ensureNativeProject.js.map +1 -0
- package/build/src/run/hints.js +22 -0
- package/build/src/run/hints.js.map +1 -0
- package/build/src/run/ios/XcodeBuild.js +276 -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 +195 -0
- package/build/src/run/ios/appleDevice/AppleDevice.js.map +1 -0
- package/build/src/run/ios/appleDevice/ClientManager.js +165 -0
- package/build/src/run/ios/appleDevice/ClientManager.js.map +1 -0
- package/build/src/run/ios/appleDevice/client/AFCClient.js +195 -0
- package/build/src/run/ios/appleDevice/client/AFCClient.js.map +1 -0
- package/build/src/run/ios/appleDevice/client/DebugserverClient.js +107 -0
- package/build/src/run/ios/appleDevice/client/DebugserverClient.js.map +1 -0
- package/build/src/run/ios/appleDevice/client/InstallationProxyClient.js +97 -0
- package/build/src/run/ios/appleDevice/client/InstallationProxyClient.js.map +1 -0
- package/build/src/run/ios/appleDevice/client/LockdowndClient.js +144 -0
- package/build/src/run/ios/appleDevice/client/LockdowndClient.js.map +1 -0
- package/build/src/run/ios/appleDevice/client/MobileImageMounterClient.js +91 -0
- package/build/src/run/ios/appleDevice/client/MobileImageMounterClient.js.map +1 -0
- package/build/src/run/ios/appleDevice/client/ServiceClient.js +21 -0
- package/build/src/run/ios/appleDevice/client/ServiceClient.js.map +1 -0
- package/build/src/run/ios/appleDevice/client/UsbmuxdClient.js +117 -0
- package/build/src/run/ios/appleDevice/client/UsbmuxdClient.js.map +1 -0
- package/build/src/run/ios/appleDevice/installOnDeviceAsync.js +90 -0
- package/build/src/run/ios/appleDevice/installOnDeviceAsync.js.map +1 -0
- package/build/src/run/ios/appleDevice/protocol/AFCProtocol.js +332 -0
- package/build/src/run/ios/appleDevice/protocol/AFCProtocol.js.map +1 -0
- package/build/src/run/ios/appleDevice/protocol/AbstractProtocol.js +133 -0
- package/build/src/run/ios/appleDevice/protocol/AbstractProtocol.js.map +1 -0
- package/build/src/run/ios/appleDevice/protocol/GDBProtocol.js +126 -0
- package/build/src/run/ios/appleDevice/protocol/GDBProtocol.js.map +1 -0
- package/build/src/run/ios/appleDevice/protocol/LockdownProtocol.js +74 -0
- package/build/src/run/ios/appleDevice/protocol/LockdownProtocol.js.map +1 -0
- package/build/src/run/ios/appleDevice/protocol/UsbmuxProtocol.js +65 -0
- package/build/src/run/ios/appleDevice/protocol/UsbmuxProtocol.js.map +1 -0
- package/build/src/run/ios/codeSigning/Security.js +85 -0
- package/build/src/run/ios/codeSigning/Security.js.map +1 -0
- package/build/src/run/ios/codeSigning/configureCodeSigning.js +77 -0
- package/build/src/run/ios/codeSigning/configureCodeSigning.js.map +1 -0
- package/build/src/run/ios/codeSigning/resolveCertificateSigningIdentity.js +102 -0
- package/build/src/run/ios/codeSigning/resolveCertificateSigningIdentity.js.map +1 -0
- package/build/src/run/ios/codeSigning/settings.js +21 -0
- package/build/src/run/ios/codeSigning/settings.js.map +1 -0
- package/build/src/run/ios/codeSigning/simulatorCodeSigning.js +45 -0
- package/build/src/run/ios/codeSigning/simulatorCodeSigning.js.map +1 -0
- package/build/src/run/ios/codeSigning/xcodeCodeSigning.js +79 -0
- package/build/src/run/ios/codeSigning/xcodeCodeSigning.js.map +1 -0
- package/build/src/run/ios/index.js +98 -0
- package/build/src/run/ios/index.js.map +1 -0
- package/build/src/run/ios/launchApp.js +75 -0
- package/build/src/run/ios/launchApp.js.map +1 -0
- package/build/src/run/ios/options/promptDevice.js +50 -0
- package/build/src/run/ios/options/promptDevice.js.map +1 -0
- package/build/src/run/ios/options/resolveDevice.js +92 -0
- package/build/src/run/ios/options/resolveDevice.js.map +1 -0
- package/build/src/run/ios/options/resolveNativeScheme.js +101 -0
- package/build/src/run/ios/options/resolveNativeScheme.js.map +1 -0
- package/build/src/run/ios/options/resolveOptions.js +44 -0
- package/build/src/run/ios/options/resolveOptions.js.map +1 -0
- package/build/src/run/ios/options/resolveXcodeProject.js +39 -0
- package/build/src/run/ios/options/resolveXcodeProject.js.map +1 -0
- package/build/src/run/ios/runIosAsync.js +93 -0
- package/build/src/run/ios/runIosAsync.js.map +1 -0
- package/build/src/run/resolveBundlerProps.js +34 -0
- package/build/src/run/resolveBundlerProps.js.map +1 -0
- package/build/src/run/startBundler.js +82 -0
- package/build/src/run/startBundler.js.map +1 -0
- package/build/src/start/doctor/Prerequisite.js +47 -0
- package/build/src/start/doctor/Prerequisite.js.map +1 -0
- package/build/src/start/doctor/SecurityBinPrerequisite.js +27 -0
- package/build/src/start/doctor/SecurityBinPrerequisite.js.map +1 -0
- package/build/src/start/doctor/apple/SimulatorAppPrerequisite.js +70 -0
- package/build/src/start/doctor/apple/SimulatorAppPrerequisite.js.map +1 -0
- package/build/src/start/doctor/apple/XcodeDeveloperDiskImagePrerequisite.js +69 -0
- package/build/src/start/doctor/apple/XcodeDeveloperDiskImagePrerequisite.js.map +1 -0
- package/build/src/start/doctor/apple/XcodePrerequisite.js +158 -0
- package/build/src/start/doctor/apple/XcodePrerequisite.js.map +1 -0
- package/build/src/start/doctor/apple/XcrunPrerequisite.js +65 -0
- package/build/src/start/doctor/apple/XcrunPrerequisite.js.map +1 -0
- package/build/src/start/doctor/dependencies/bundledNativeModules.js +69 -0
- package/build/src/start/doctor/dependencies/bundledNativeModules.js.map +1 -0
- package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js +131 -0
- package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js.map +1 -0
- package/build/src/start/doctor/dependencies/getMissingPackages.js +74 -0
- package/build/src/start/doctor/dependencies/getMissingPackages.js.map +1 -0
- package/build/src/start/doctor/dependencies/getVersionedPackages.js +136 -0
- package/build/src/start/doctor/dependencies/getVersionedPackages.js.map +1 -0
- package/build/src/start/doctor/dependencies/validateDependenciesVersions.js +195 -0
- package/build/src/start/doctor/dependencies/validateDependenciesVersions.js.map +1 -0
- package/build/src/start/doctor/ngrok/ExternalModule.js +169 -0
- package/build/src/start/doctor/ngrok/ExternalModule.js.map +1 -0
- package/build/src/start/doctor/ngrok/NgrokResolver.js +22 -0
- package/build/src/start/doctor/ngrok/NgrokResolver.js.map +1 -0
- package/build/src/start/doctor/typescript/TypeScriptProjectPrerequisite.js +165 -0
- package/build/src/start/doctor/typescript/TypeScriptProjectPrerequisite.js.map +1 -0
- package/build/src/start/doctor/typescript/updateTSConfig.js +99 -0
- package/build/src/start/doctor/typescript/updateTSConfig.js.map +1 -0
- package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js +111 -0
- package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js.map +1 -0
- package/build/src/start/index.js +123 -0
- package/build/src/start/index.js.map +1 -0
- package/build/src/start/interface/KeyPressHandler.js +101 -0
- package/build/src/start/interface/KeyPressHandler.js.map +1 -0
- package/build/src/start/interface/commandsTable.js +195 -0
- package/build/src/start/interface/commandsTable.js.map +1 -0
- package/build/src/start/interface/interactiveActions.js +194 -0
- package/build/src/start/interface/interactiveActions.js.map +1 -0
- package/build/src/start/interface/startInterface.js +227 -0
- package/build/src/start/interface/startInterface.js.map +1 -0
- package/build/src/start/platforms/AppIdResolver.js +44 -0
- package/build/src/start/platforms/AppIdResolver.js.map +1 -0
- package/build/src/start/platforms/DeviceManager.js +43 -0
- package/build/src/start/platforms/DeviceManager.js.map +1 -0
- package/build/src/start/platforms/ExpoGoInstaller.js +127 -0
- package/build/src/start/platforms/ExpoGoInstaller.js.map +1 -0
- package/build/src/start/platforms/PlatformManager.js +131 -0
- package/build/src/start/platforms/PlatformManager.js.map +1 -0
- package/build/src/start/platforms/android/ADBServer.js +114 -0
- package/build/src/start/platforms/android/ADBServer.js.map +1 -0
- package/build/src/start/platforms/android/AndroidAppIdResolver.js +44 -0
- package/build/src/start/platforms/android/AndroidAppIdResolver.js.map +1 -0
- package/build/src/start/platforms/android/AndroidDeviceManager.js +183 -0
- package/build/src/start/platforms/android/AndroidDeviceManager.js.map +1 -0
- package/build/src/start/platforms/android/AndroidPlatformManager.js +35 -0
- package/build/src/start/platforms/android/AndroidPlatformManager.js.map +1 -0
- package/build/src/start/platforms/android/AndroidSdk.js +41 -0
- package/build/src/start/platforms/android/AndroidSdk.js.map +1 -0
- package/build/src/start/platforms/android/activateWindow.js +80 -0
- package/build/src/start/platforms/android/activateWindow.js.map +1 -0
- package/build/src/start/platforms/android/adb.js +269 -0
- package/build/src/start/platforms/android/adb.js.map +1 -0
- package/build/src/start/platforms/android/adbReverse.js +95 -0
- package/build/src/start/platforms/android/adbReverse.js.map +1 -0
- package/build/src/start/platforms/android/emulator.js +126 -0
- package/build/src/start/platforms/android/emulator.js.map +1 -0
- package/build/src/start/platforms/android/getDevices.js +36 -0
- package/build/src/start/platforms/android/getDevices.js.map +1 -0
- package/build/src/start/platforms/android/gradle.js +86 -0
- package/build/src/start/platforms/android/gradle.js.map +1 -0
- package/build/src/start/platforms/android/promptAndroidDevice.js +56 -0
- package/build/src/start/platforms/android/promptAndroidDevice.js.map +1 -0
- package/build/src/start/platforms/ios/AppleAppIdResolver.js +53 -0
- package/build/src/start/platforms/ios/AppleAppIdResolver.js.map +1 -0
- package/build/src/start/platforms/ios/AppleDeviceManager.js +216 -0
- package/build/src/start/platforms/ios/AppleDeviceManager.js.map +1 -0
- package/build/src/start/platforms/ios/ApplePlatformManager.js +31 -0
- package/build/src/start/platforms/ios/ApplePlatformManager.js.map +1 -0
- package/build/src/start/platforms/ios/assertSystemRequirements.js +16 -0
- package/build/src/start/platforms/ios/assertSystemRequirements.js.map +1 -0
- package/build/src/start/platforms/ios/ensureSimulatorAppRunning.js +85 -0
- package/build/src/start/platforms/ios/ensureSimulatorAppRunning.js.map +1 -0
- package/build/src/start/platforms/ios/getBestSimulator.js +101 -0
- package/build/src/start/platforms/ios/getBestSimulator.js.map +1 -0
- package/build/src/start/platforms/ios/promptAppleDevice.js +56 -0
- package/build/src/start/platforms/ios/promptAppleDevice.js.map +1 -0
- package/build/src/start/platforms/ios/simctl.js +243 -0
- package/build/src/start/platforms/ios/simctl.js.map +1 -0
- package/build/src/start/platforms/ios/simctlLogging.js +220 -0
- package/build/src/start/platforms/ios/simctlLogging.js.map +1 -0
- package/build/src/start/platforms/ios/xcrun.js +46 -0
- package/build/src/start/platforms/ios/xcrun.js.map +1 -0
- package/build/src/start/project/devices.js +79 -0
- package/build/src/start/project/devices.js.map +1 -0
- package/build/src/start/project/dotExpo.js +74 -0
- package/build/src/start/project/dotExpo.js.map +1 -0
- package/build/src/start/project/settings.js +13 -0
- package/build/src/start/project/settings.js.map +1 -0
- package/build/src/start/resolveOptions.js +135 -0
- package/build/src/start/resolveOptions.js.map +1 -0
- package/build/src/start/server/AsyncNgrok.js +220 -0
- package/build/src/start/server/AsyncNgrok.js.map +1 -0
- package/build/src/start/server/BundlerDevServer.js +356 -0
- package/build/src/start/server/BundlerDevServer.js.map +1 -0
- package/build/src/start/server/DevServerManager.js +214 -0
- package/build/src/start/server/DevServerManager.js.map +1 -0
- package/build/src/start/server/DevToolsPluginManager.js +63 -0
- package/build/src/start/server/DevToolsPluginManager.js.map +1 -0
- package/build/src/start/server/DevelopmentSession.js +114 -0
- package/build/src/start/server/DevelopmentSession.js.map +1 -0
- package/build/src/start/server/ReactDevToolsProxy.js +73 -0
- package/build/src/start/server/ReactDevToolsProxy.js.map +1 -0
- package/build/src/start/server/UrlCreator.js +175 -0
- package/build/src/start/server/UrlCreator.js.map +1 -0
- package/build/src/start/server/getStaticRenderFunctions.js +164 -0
- package/build/src/start/server/getStaticRenderFunctions.js.map +1 -0
- package/build/src/start/server/metro/MetroBundlerDevServer.js +485 -0
- package/build/src/start/server/metro/MetroBundlerDevServer.js.map +1 -0
- package/build/src/start/server/metro/MetroTerminalReporter.js +165 -0
- package/build/src/start/server/metro/MetroTerminalReporter.js.map +1 -0
- package/build/src/start/server/metro/TerminalReporter.js +92 -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/bundleApiRoutes.js +52 -0
- package/build/src/start/server/metro/bundleApiRoutes.js.map +1 -0
- package/build/src/start/server/metro/createExpoMetroResolver.js +187 -0
- package/build/src/start/server/metro/createExpoMetroResolver.js.map +1 -0
- package/build/src/start/server/metro/createJResolver.js +149 -0
- package/build/src/start/server/metro/createJResolver.js.map +1 -0
- package/build/src/start/server/metro/createServerRouteMiddleware.js +124 -0
- package/build/src/start/server/metro/createServerRouteMiddleware.js.map +1 -0
- package/build/src/start/server/metro/externals.js +94 -0
- package/build/src/start/server/metro/externals.js.map +1 -0
- package/build/src/start/server/metro/fetchRouterManifest.js +60 -0
- package/build/src/start/server/metro/fetchRouterManifest.js.map +1 -0
- package/build/src/start/server/metro/formatFileCandidates.js +72 -0
- package/build/src/start/server/metro/formatFileCandidates.js.map +1 -0
- package/build/src/start/server/metro/getCssModulesFromBundler.js +77 -0
- package/build/src/start/server/metro/getCssModulesFromBundler.js.map +1 -0
- package/build/src/start/server/metro/inspector-proxy/device.js +110 -0
- package/build/src/start/server/metro/inspector-proxy/device.js.map +1 -0
- package/build/src/start/server/metro/inspector-proxy/handlers/NetworkResponse.js +29 -0
- package/build/src/start/server/metro/inspector-proxy/handlers/NetworkResponse.js.map +1 -0
- package/build/src/start/server/metro/inspector-proxy/handlers/PageReload.js +22 -0
- package/build/src/start/server/metro/inspector-proxy/handlers/PageReload.js.map +1 -0
- package/build/src/start/server/metro/inspector-proxy/handlers/VscodeDebuggerGetPossibleBreakpoints.js +21 -0
- package/build/src/start/server/metro/inspector-proxy/handlers/VscodeDebuggerGetPossibleBreakpoints.js.map +1 -0
- package/build/src/start/server/metro/inspector-proxy/handlers/VscodeDebuggerScriptParsed.js +55 -0
- package/build/src/start/server/metro/inspector-proxy/handlers/VscodeDebuggerScriptParsed.js.map +1 -0
- package/build/src/start/server/metro/inspector-proxy/handlers/VscodeDebuggerSetBreakpointByUrl.js +17 -0
- package/build/src/start/server/metro/inspector-proxy/handlers/VscodeDebuggerSetBreakpointByUrl.js.map +1 -0
- package/build/src/start/server/metro/inspector-proxy/handlers/VscodeRuntimeCallFunctionOn.js +24 -0
- package/build/src/start/server/metro/inspector-proxy/handlers/VscodeRuntimeCallFunctionOn.js.map +1 -0
- package/build/src/start/server/metro/inspector-proxy/handlers/VscodeRuntimeGetProperties.js +39 -0
- package/build/src/start/server/metro/inspector-proxy/handlers/VscodeRuntimeGetProperties.js.map +1 -0
- package/build/src/start/server/metro/inspector-proxy/handlers/types.js +6 -0
- package/build/src/start/server/metro/inspector-proxy/handlers/types.js.map +1 -0
- package/build/src/start/server/metro/inspector-proxy/handlers/utils.js +11 -0
- package/build/src/start/server/metro/inspector-proxy/handlers/utils.js.map +1 -0
- package/build/src/start/server/metro/inspector-proxy/index.js +24 -0
- package/build/src/start/server/metro/inspector-proxy/index.js.map +1 -0
- package/build/src/start/server/metro/inspector-proxy/proxy.js +169 -0
- package/build/src/start/server/metro/inspector-proxy/proxy.js.map +1 -0
- package/build/src/start/server/metro/instantiateMetro.js +194 -0
- package/build/src/start/server/metro/instantiateMetro.js.map +1 -0
- package/build/src/start/server/metro/metroErrorInterface.js +198 -0
- package/build/src/start/server/metro/metroErrorInterface.js.map +1 -0
- package/build/src/start/server/metro/metroErrors.js +14 -0
- package/build/src/start/server/metro/metroErrors.js.map +1 -0
- package/build/src/start/server/metro/metroWatchTypeScriptFiles.js +51 -0
- package/build/src/start/server/metro/metroWatchTypeScriptFiles.js.map +1 -0
- package/build/src/start/server/metro/router.js +83 -0
- package/build/src/start/server/metro/router.js.map +1 -0
- package/build/src/start/server/metro/runServer-fork.js +96 -0
- package/build/src/start/server/metro/runServer-fork.js.map +1 -0
- package/build/src/start/server/metro/serializeHtml.js +43 -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 +91 -0
- package/build/src/start/server/metro/waitForMetroToObserveTypeScriptFile.js.map +1 -0
- package/build/src/start/server/metro/withMetroMultiPlatform.js +402 -0
- package/build/src/start/server/metro/withMetroMultiPlatform.js.map +1 -0
- package/build/src/start/server/metro/withMetroResolvers.js +272 -0
- package/build/src/start/server/metro/withMetroResolvers.js.map +1 -0
- package/build/src/start/server/middleware/ContextModuleSourceMapsMiddleware.js +27 -0
- package/build/src/start/server/middleware/ContextModuleSourceMapsMiddleware.js.map +1 -0
- package/build/src/start/server/middleware/CreateFileMiddleware.js +106 -0
- package/build/src/start/server/middleware/CreateFileMiddleware.js.map +1 -0
- package/build/src/start/server/middleware/DevToolsPluginMiddleware.js +61 -0
- package/build/src/start/server/middleware/DevToolsPluginMiddleware.js.map +1 -0
- package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js +236 -0
- package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js.map +1 -0
- package/build/src/start/server/middleware/ExpoMiddleware.js +83 -0
- package/build/src/start/server/middleware/ExpoMiddleware.js.map +1 -0
- package/build/src/start/server/middleware/FaviconMiddleware.js +42 -0
- package/build/src/start/server/middleware/FaviconMiddleware.js.map +1 -0
- package/build/src/start/server/middleware/HistoryFallbackMiddleware.js +24 -0
- package/build/src/start/server/middleware/HistoryFallbackMiddleware.js.map +1 -0
- package/build/src/start/server/middleware/InterstitialPageMiddleware.js +81 -0
- package/build/src/start/server/middleware/InterstitialPageMiddleware.js.map +1 -0
- package/build/src/start/server/middleware/ManifestMiddleware.js +300 -0
- package/build/src/start/server/middleware/ManifestMiddleware.js.map +1 -0
- package/build/src/start/server/middleware/ReactDevToolsPageMiddleware.js +35 -0
- package/build/src/start/server/middleware/ReactDevToolsPageMiddleware.js.map +1 -0
- package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js +75 -0
- package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js.map +1 -0
- package/build/src/start/server/middleware/ServeStaticMiddleware.js +62 -0
- package/build/src/start/server/middleware/ServeStaticMiddleware.js.map +1 -0
- package/build/src/start/server/middleware/inspector/JsInspector.js +69 -0
- package/build/src/start/server/middleware/inspector/JsInspector.js.map +1 -0
- package/build/src/start/server/middleware/inspector/LaunchBrowser.js +61 -0
- package/build/src/start/server/middleware/inspector/LaunchBrowser.js.map +1 -0
- package/build/src/start/server/middleware/inspector/LaunchBrowser.types.js +13 -0
- package/build/src/start/server/middleware/inspector/LaunchBrowser.types.js.map +1 -0
- package/build/src/start/server/middleware/inspector/LaunchBrowserImplLinux.js +82 -0
- package/build/src/start/server/middleware/inspector/LaunchBrowserImplLinux.js.map +1 -0
- package/build/src/start/server/middleware/inspector/LaunchBrowserImplMacOS.js +79 -0
- package/build/src/start/server/middleware/inspector/LaunchBrowserImplMacOS.js.map +1 -0
- package/build/src/start/server/middleware/inspector/LaunchBrowserImplWindows.js +124 -0
- package/build/src/start/server/middleware/inspector/LaunchBrowserImplWindows.js.map +1 -0
- package/build/src/start/server/middleware/inspector/createJsInspectorMiddleware.js +64 -0
- package/build/src/start/server/middleware/inspector/createJsInspectorMiddleware.js.map +1 -0
- package/build/src/start/server/middleware/inspector/middlwareMutations.js +19 -0
- package/build/src/start/server/middleware/inspector/middlwareMutations.js.map +1 -0
- package/build/src/start/server/middleware/metroOptions.js +128 -0
- package/build/src/start/server/middleware/metroOptions.js.map +1 -0
- package/build/src/start/server/middleware/mutations.js +19 -0
- package/build/src/start/server/middleware/mutations.js.map +1 -0
- package/build/src/start/server/middleware/remoteDevtoolsCorsMiddleware.js +31 -0
- package/build/src/start/server/middleware/remoteDevtoolsCorsMiddleware.js.map +1 -0
- package/build/src/start/server/middleware/remoteDevtoolsSecurityHeadersMiddleware.js +17 -0
- package/build/src/start/server/middleware/remoteDevtoolsSecurityHeadersMiddleware.js.map +1 -0
- package/build/src/start/server/middleware/resolveAssets.js +110 -0
- package/build/src/start/server/middleware/resolveAssets.js.map +1 -0
- package/build/src/start/server/middleware/resolvePlatform.js +47 -0
- package/build/src/start/server/middleware/resolvePlatform.js.map +1 -0
- package/build/src/start/server/middleware/server.types.js +6 -0
- package/build/src/start/server/middleware/server.types.js.map +1 -0
- package/build/src/start/server/middleware/suppressErrorMiddleware.js +16 -0
- package/build/src/start/server/middleware/suppressErrorMiddleware.js.map +1 -0
- package/build/src/start/server/openPlatforms.js +30 -0
- package/build/src/start/server/openPlatforms.js.map +1 -0
- package/build/src/start/server/platformBundlers.js +18 -0
- package/build/src/start/server/platformBundlers.js.map +1 -0
- package/build/src/start/server/type-generation/__typetests__/fixtures/basic.js +38 -0
- package/build/src/start/server/type-generation/__typetests__/fixtures/basic.js.map +1 -0
- package/build/src/start/server/type-generation/__typetests__/generateFixtures.js +38 -0
- package/build/src/start/server/type-generation/__typetests__/generateFixtures.js.map +1 -0
- package/build/src/start/server/type-generation/__typetests__/route.test.js +176 -0
- package/build/src/start/server/type-generation/__typetests__/route.test.js.map +1 -0
- package/build/src/start/server/type-generation/expo-env.js +27 -0
- package/build/src/start/server/type-generation/expo-env.js.map +1 -0
- package/build/src/start/server/type-generation/routes.js +474 -0
- package/build/src/start/server/type-generation/routes.js.map +1 -0
- package/build/src/start/server/type-generation/startTypescriptTypeGeneration.js +56 -0
- package/build/src/start/server/type-generation/startTypescriptTypeGeneration.js.map +1 -0
- package/build/src/start/server/type-generation/tsconfig.js +89 -0
- package/build/src/start/server/type-generation/tsconfig.js.map +1 -0
- package/build/src/start/server/webTemplate.js +84 -0
- package/build/src/start/server/webTemplate.js.map +1 -0
- package/build/src/start/server/webpack/WebpackBundlerDevServer.js +266 -0
- package/build/src/start/server/webpack/WebpackBundlerDevServer.js.map +1 -0
- package/build/src/start/server/webpack/compile.js +64 -0
- package/build/src/start/server/webpack/compile.js.map +1 -0
- package/build/src/start/server/webpack/formatWebpackMessages.js +94 -0
- package/build/src/start/server/webpack/formatWebpackMessages.js.map +1 -0
- package/build/src/start/server/webpack/resolveFromProject.js +43 -0
- package/build/src/start/server/webpack/resolveFromProject.js.map +1 -0
- package/build/src/start/server/webpack/tls.js +72 -0
- package/build/src/start/server/webpack/tls.js.map +1 -0
- package/build/src/start/startAsync.js +154 -0
- package/build/src/start/startAsync.js.map +1 -0
- package/build/src/utils/FileNotifier.js +90 -0
- package/build/src/utils/FileNotifier.js.map +1 -0
- package/build/src/utils/analytics/getDevClientProperties.js +47 -0
- package/build/src/utils/analytics/getDevClientProperties.js.map +1 -0
- package/build/src/utils/analytics/getMetroDebugProperties.js +15 -0
- package/build/src/utils/analytics/getMetroDebugProperties.js.map +1 -0
- package/build/src/utils/analytics/getMetroProperties.js +28 -0
- package/build/src/utils/analytics/getMetroProperties.js.map +1 -0
- package/build/src/utils/analytics/metroDebuggerMiddleware.js +55 -0
- package/build/src/utils/analytics/metroDebuggerMiddleware.js.map +1 -0
- package/build/src/utils/analytics/rudderstackClient.js +147 -0
- package/build/src/utils/analytics/rudderstackClient.js.map +1 -0
- package/build/src/utils/ansi.js +17 -0
- package/build/src/utils/ansi.js.map +1 -0
- package/build/src/utils/args.js +79 -0
- package/build/src/utils/args.js.map +1 -0
- package/build/src/utils/array.js +67 -0
- package/build/src/utils/array.js.map +1 -0
- package/build/src/utils/cocoapods.js +191 -0
- package/build/src/utils/cocoapods.js.map +1 -0
- package/build/src/utils/codesigning.js +311 -0
- package/build/src/utils/codesigning.js.map +1 -0
- package/build/src/utils/createFileTransform.js +89 -0
- package/build/src/utils/createFileTransform.js.map +1 -0
- package/build/src/utils/delay.js +39 -0
- package/build/src/utils/delay.js.map +1 -0
- package/build/src/utils/dir.js +63 -0
- package/build/src/utils/dir.js.map +1 -0
- package/build/src/utils/downloadAppAsync.js +73 -0
- package/build/src/utils/downloadAppAsync.js.map +1 -0
- package/build/src/utils/downloadExpoGoAsync.js +116 -0
- package/build/src/utils/downloadExpoGoAsync.js.map +1 -0
- package/build/src/utils/editor.js +69 -0
- package/build/src/utils/editor.js.map +1 -0
- package/build/src/utils/env.js +131 -0
- package/build/src/utils/env.js.map +1 -0
- package/build/src/utils/errors.js +70 -0
- package/build/src/utils/errors.js.map +1 -0
- package/build/src/utils/exit.js +69 -0
- package/build/src/utils/exit.js.map +1 -0
- package/build/src/utils/findUp.js +33 -0
- package/build/src/utils/findUp.js.map +1 -0
- package/build/src/utils/fn.js +32 -0
- package/build/src/utils/fn.js.map +1 -0
- package/build/src/utils/getOrPromptApplicationId.js +181 -0
- package/build/src/utils/getOrPromptApplicationId.js.map +1 -0
- package/build/src/utils/getRunningProcess.js +96 -0
- package/build/src/utils/getRunningProcess.js.map +1 -0
- package/build/src/utils/git.js +89 -0
- package/build/src/utils/git.js.map +1 -0
- package/build/src/utils/glob.js +65 -0
- package/build/src/utils/glob.js.map +1 -0
- package/build/src/utils/interactive.js +11 -0
- package/build/src/utils/interactive.js.map +1 -0
- package/build/src/utils/ip.js +16 -0
- package/build/src/utils/ip.js.map +1 -0
- package/build/src/utils/isModuleSymlinked.js +37 -0
- package/build/src/utils/isModuleSymlinked.js.map +1 -0
- package/build/src/utils/link.js +31 -0
- package/build/src/utils/link.js.map +1 -0
- package/build/src/utils/mergeGitIgnorePaths.js +154 -0
- package/build/src/utils/mergeGitIgnorePaths.js.map +1 -0
- package/build/src/utils/modifyConfigAsync.js +68 -0
- package/build/src/utils/modifyConfigAsync.js.map +1 -0
- package/build/src/utils/modifyConfigPlugins.js +51 -0
- package/build/src/utils/modifyConfigPlugins.js.map +1 -0
- package/build/src/utils/nodeEnv.js +11 -0
- package/build/src/utils/nodeEnv.js.map +1 -0
- package/build/src/utils/nodeModules.js +29 -0
- package/build/src/utils/nodeModules.js.map +1 -0
- package/build/src/utils/npm.js +116 -0
- package/build/src/utils/npm.js.map +1 -0
- package/build/src/utils/obj.js +45 -0
- package/build/src/utils/obj.js.map +1 -0
- package/build/src/utils/open.js +26 -0
- package/build/src/utils/open.js.map +1 -0
- package/build/src/utils/ora.js +91 -0
- package/build/src/utils/ora.js.map +1 -0
- package/build/src/utils/plist.js +59 -0
- package/build/src/utils/plist.js.map +1 -0
- package/build/src/utils/port.js +160 -0
- package/build/src/utils/port.js.map +1 -0
- package/build/src/utils/profile.js +63 -0
- package/build/src/utils/profile.js.map +1 -0
- package/build/src/utils/progress.js +61 -0
- package/build/src/utils/progress.js.map +1 -0
- package/build/src/utils/prompts.js +116 -0
- package/build/src/utils/prompts.js.map +1 -0
- package/build/src/utils/resolveArgs.js +140 -0
- package/build/src/utils/resolveArgs.js.map +1 -0
- package/build/src/utils/scheme.js +128 -0
- package/build/src/utils/scheme.js.map +1 -0
- package/build/src/utils/strings.js +24 -0
- package/build/src/utils/strings.js.map +1 -0
- package/build/src/utils/tar.js +62 -0
- package/build/src/utils/tar.js.map +1 -0
- package/build/src/utils/template.js +21 -0
- package/build/src/utils/template.js.map +1 -0
- package/build/src/utils/terminal.js +10 -0
- package/build/src/utils/terminal.js.map +1 -0
- package/build/src/utils/tsconfig/evaluateTsConfig.js +61 -0
- package/build/src/utils/tsconfig/evaluateTsConfig.js.map +1 -0
- package/build/src/utils/tsconfig/loadTsConfigPaths.js +61 -0
- package/build/src/utils/tsconfig/loadTsConfigPaths.js.map +1 -0
- package/build/src/utils/tsconfig/matchTsConfigPathAlias.js +88 -0
- package/build/src/utils/tsconfig/matchTsConfigPathAlias.js.map +1 -0
- package/build/src/utils/tsconfig/resolveWithTsConfigPaths.js +51 -0
- package/build/src/utils/tsconfig/resolveWithTsConfigPaths.js.map +1 -0
- package/build/src/utils/url.js +67 -0
- package/build/src/utils/url.js.map +1 -0
- package/build/src/utils/validateApplicationId.js +179 -0
- package/build/src/utils/validateApplicationId.js.map +1 -0
- package/build/src/utils/variadic.js +65 -0
- package/build/src/utils/variadic.js.map +1 -0
- package/build/src/whoami/index.js +47 -0
- package/build/src/whoami/index.js.map +1 -0
- package/build/src/whoami/whoamiAsync.js +44 -0
- package/build/src/whoami/whoamiAsync.js.map +1 -0
- package/package.json +163 -0
- package/static/loading-page/index.html +363 -0
- package/static/react-devtools-page/index.html +144 -0
- package/static/shims/react-native-web/dist/cjs/exports/AppRegistry/AppContainer.js +13 -0
- package/static/shims/react-native-web/dist/cjs/exports/BackHandler/index.js +10 -0
- package/static/shims/react-native-web/dist/exports/AppRegistry/AppContainer.js +12 -0
- package/static/shims/react-native-web/dist/exports/BackHandler/index.js +7 -0
- package/static/template/babel.config.js +6 -0
- package/static/template/index.html +36 -0
- package/static/template/metro.config.js +7 -0
- package/static/template/serve.json +13 -0
- package/static/template/webpack.config.js +7 -0
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
exports.getProjectDevelopmentCertificateAsync = getProjectDevelopmentCertificateAsync;
|
|
6
|
+
var _client = require("./rest/client");
|
|
7
|
+
var _errors = require("../utils/errors");
|
|
8
|
+
async function getProjectDevelopmentCertificateAsync(easProjectId, csrPEM) {
|
|
9
|
+
const response = await (0, _client).fetchAsync(`projects/${encodeURIComponent(easProjectId)}/development-certificates`, {
|
|
10
|
+
method: "POST",
|
|
11
|
+
body: JSON.stringify({
|
|
12
|
+
csrPEM
|
|
13
|
+
})
|
|
14
|
+
});
|
|
15
|
+
if (!response.ok) {
|
|
16
|
+
throw new _errors.CommandError("API", `Unexpected error from Expo servers: ${response.statusText}.`);
|
|
17
|
+
}
|
|
18
|
+
const buffer = await response.buffer();
|
|
19
|
+
return buffer.toString("utf8");
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
//# sourceMappingURL=getProjectDevelopmentCertificate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/api/getProjectDevelopmentCertificate.ts"],"sourcesContent":["import { fetchAsync } from './rest/client';\nimport { CommandError } from '../utils/errors';\n\nexport async function getProjectDevelopmentCertificateAsync(\n easProjectId: string,\n csrPEM: string\n): Promise<string> {\n const response = await fetchAsync(\n `projects/${encodeURIComponent(easProjectId)}/development-certificates`,\n {\n method: 'POST',\n body: JSON.stringify({\n csrPEM,\n }),\n }\n );\n if (!response.ok) {\n throw new CommandError('API', `Unexpected error from Expo servers: ${response.statusText}.`);\n }\n const buffer = await response.buffer();\n return buffer.toString('utf8');\n}\n"],"names":["getProjectDevelopmentCertificateAsync","easProjectId","csrPEM","response","fetchAsync","encodeURIComponent","method","body","JSON","stringify","ok","CommandError","statusText","buffer","toString"],"mappings":"AAAA;;;;QAGsBA,qCAAqC,GAArCA,qCAAqC;AAHhC,IAAA,OAAe,WAAf,eAAe,CAAA;AACb,IAAA,OAAiB,WAAjB,iBAAiB,CAAA;AAEvC,eAAeA,qCAAqC,CACzDC,YAAoB,EACpBC,MAAc,EACG;IACjB,MAAMC,QAAQ,GAAG,MAAMC,CAAAA,GAAAA,OAAU,AAQhC,CAAA,WARgC,CAC/B,CAAC,SAAS,EAAEC,kBAAkB,CAACJ,YAAY,CAAC,CAAC,yBAAyB,CAAC,EACvE;QACEK,MAAM,EAAE,MAAM;QACdC,IAAI,EAAEC,IAAI,CAACC,SAAS,CAAC;YACnBP,MAAM;SACP,CAAC;KACH,CACF,AAAC;IACF,IAAI,CAACC,QAAQ,CAACO,EAAE,EAAE;QAChB,MAAM,IAAIC,OAAY,aAAA,CAAC,KAAK,EAAE,CAAC,oCAAoC,EAAER,QAAQ,CAACS,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;KAC9F;IACD,MAAMC,MAAM,GAAG,MAAMV,QAAQ,CAACU,MAAM,EAAE,AAAC;IACvC,OAAOA,MAAM,CAACC,QAAQ,CAAC,MAAM,CAAC,CAAC;CAChC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
exports.getVersionsAsync = getVersionsAsync;
|
|
6
|
+
var _client = require("./rest/client");
|
|
7
|
+
var _errors = require("../utils/errors");
|
|
8
|
+
async function getVersionsAsync({ skipCache } = {}) {
|
|
9
|
+
// Reconstruct the cached fetch since caching could be disabled.
|
|
10
|
+
const fetchAsync = (0, _client).createCachedFetch({
|
|
11
|
+
skipCache,
|
|
12
|
+
cacheDirectory: "versions-cache",
|
|
13
|
+
// We'll use a 5 minute cache to ensure we stay relatively up to date.
|
|
14
|
+
ttl: 1000 * 60 * 5
|
|
15
|
+
});
|
|
16
|
+
const results = await fetchAsync("versions/latest");
|
|
17
|
+
if (!results.ok) {
|
|
18
|
+
throw new _errors.CommandError("API", `Unexpected response when fetching version info from Expo servers: ${results.statusText}.`);
|
|
19
|
+
}
|
|
20
|
+
const json = await results.json();
|
|
21
|
+
return json.data;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
//# sourceMappingURL=getVersions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/api/getVersions.ts"],"sourcesContent":["import { createCachedFetch } from './rest/client';\nimport { CommandError } from '../utils/errors';\n\n/** Represents version info for a particular SDK. */\nexport type SDKVersion = {\n /** @example \"2.16.1\" */\n iosVersion?: string;\n /** @example \"https://dpq5q02fu5f55.cloudfront.net/Exponent-2.17.4.tar.gz\" */\n iosClientUrl?: string;\n /** @example \"https://dev.to/expo/expo-sdk-38-is-now-available-5aa0\" */\n releaseNoteUrl?: string;\n /** @example \"2.17.4\" */\n iosClientVersion?: string;\n /** @example \"https://d1ahtucjixef4r.cloudfront.net/Exponent-2.16.1.apk\" */\n androidClientUrl?: string;\n /** @example \"2.16.1\" */\n androidClientVersion?: string;\n /** @example { \"typescript\": \"~3.9.5\" } */\n relatedPackages?: Record<string, string>;\n\n facebookReactNativeVersion: string;\n\n facebookReactVersion?: string;\n\n expoVersion?: string;\n\n beta?: boolean;\n};\n\nexport type SDKVersions = Record<string, SDKVersion>;\n\nexport type Versions = {\n androidUrl: string;\n androidVersion: string;\n iosUrl: string;\n iosVersion: string;\n sdkVersions: SDKVersions;\n};\n\n/** Get versions from remote endpoint. */\nexport async function getVersionsAsync({\n skipCache,\n}: { skipCache?: boolean } = {}): Promise<Versions> {\n // Reconstruct the cached fetch since caching could be disabled.\n const fetchAsync = createCachedFetch({\n skipCache,\n cacheDirectory: 'versions-cache',\n // We'll use a 5 minute cache to ensure we stay relatively up to date.\n ttl: 1000 * 60 * 5,\n });\n\n const results = await fetchAsync('versions/latest');\n if (!results.ok) {\n throw new CommandError(\n 'API',\n `Unexpected response when fetching version info from Expo servers: ${results.statusText}.`\n );\n }\n const json = await results.json();\n return json.data;\n}\n"],"names":["getVersionsAsync","skipCache","fetchAsync","createCachedFetch","cacheDirectory","ttl","results","ok","CommandError","statusText","json","data"],"mappings":"AAAA;;;;QAwCsBA,gBAAgB,GAAhBA,gBAAgB;AAxCJ,IAAA,OAAe,WAAf,eAAe,CAAA;AACpB,IAAA,OAAiB,WAAjB,iBAAiB,CAAA;AAuCvC,eAAeA,gBAAgB,CAAC,EACrCC,SAAS,CAAA,EACe,GAAG,EAAE,EAAqB;IAClD,gEAAgE;IAChE,MAAMC,UAAU,GAAGC,CAAAA,GAAAA,OAAiB,AAKlC,CAAA,kBALkC,CAAC;QACnCF,SAAS;QACTG,cAAc,EAAE,gBAAgB;QAChC,sEAAsE;QACtEC,GAAG,EAAE,IAAI,GAAG,EAAE,GAAG,CAAC;KACnB,CAAC,AAAC;IAEH,MAAMC,OAAO,GAAG,MAAMJ,UAAU,CAAC,iBAAiB,CAAC,AAAC;IACpD,IAAI,CAACI,OAAO,CAACC,EAAE,EAAE;QACf,MAAM,IAAIC,OAAY,aAAA,CACpB,KAAK,EACL,CAAC,kEAAkE,EAAEF,OAAO,CAACG,UAAU,CAAC,CAAC,CAAC,CAC3F,CAAC;KACH;IACD,MAAMC,IAAI,GAAG,MAAMJ,OAAO,CAACI,IAAI,EAAE,AAAC;IAClC,OAAOA,IAAI,CAACC,IAAI,CAAC;CAClB"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "GraphqlError", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return _core.CombinedError;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
exports.withErrorHandlingAsync = withErrorHandlingAsync;
|
|
12
|
+
exports.graphqlClient = void 0;
|
|
13
|
+
var _core = require("@urql/core");
|
|
14
|
+
var _exchangeRetry = require("@urql/exchange-retry");
|
|
15
|
+
var _nodeFetch = _interopRequireDefault(require("node-fetch"));
|
|
16
|
+
var Log = _interopRequireWildcard(require("../../log"));
|
|
17
|
+
var _endpoint = require("../endpoint");
|
|
18
|
+
var _wrapFetchWithOffline = require("../rest/wrapFetchWithOffline");
|
|
19
|
+
var _wrapFetchWithProxy = require("../rest/wrapFetchWithProxy");
|
|
20
|
+
var _userSettings = _interopRequireDefault(require("../user/UserSettings"));
|
|
21
|
+
function _interopRequireDefault(obj) {
|
|
22
|
+
return obj && obj.__esModule ? obj : {
|
|
23
|
+
default: obj
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
function _interopRequireWildcard(obj) {
|
|
27
|
+
if (obj && obj.__esModule) {
|
|
28
|
+
return obj;
|
|
29
|
+
} else {
|
|
30
|
+
var newObj = {};
|
|
31
|
+
if (obj != null) {
|
|
32
|
+
for(var key in obj){
|
|
33
|
+
if (Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
34
|
+
var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {};
|
|
35
|
+
if (desc.get || desc.set) {
|
|
36
|
+
Object.defineProperty(newObj, key, desc);
|
|
37
|
+
} else {
|
|
38
|
+
newObj[key] = obj[key];
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
newObj.default = obj;
|
|
44
|
+
return newObj;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
const graphqlClient = (0, _core).createClient({
|
|
48
|
+
url: (0, _endpoint).getExpoApiBaseUrl() + "/graphql",
|
|
49
|
+
exchanges: [
|
|
50
|
+
_core.dedupExchange,
|
|
51
|
+
_core.cacheExchange,
|
|
52
|
+
(0, _exchangeRetry).retryExchange({
|
|
53
|
+
maxDelayMs: 4000,
|
|
54
|
+
retryIf: (err)=>{
|
|
55
|
+
return !!(err && (err.networkError || err.graphQLErrors.some((e)=>{
|
|
56
|
+
var ref;
|
|
57
|
+
return e == null ? void 0 : (ref = e.extensions) == null ? void 0 : ref.isTransient;
|
|
58
|
+
})));
|
|
59
|
+
}
|
|
60
|
+
}),
|
|
61
|
+
_core.fetchExchange,
|
|
62
|
+
],
|
|
63
|
+
// @ts-ignore Type 'typeof fetch' is not assignable to type '(input: RequestInfo, init?: RequestInit | undefined) => Promise<Response>'.
|
|
64
|
+
fetch: (0, _wrapFetchWithOffline).wrapFetchWithOffline((0, _wrapFetchWithProxy).wrapFetchWithProxy(_nodeFetch.default)),
|
|
65
|
+
fetchOptions: ()=>{
|
|
66
|
+
var ref;
|
|
67
|
+
const token = _userSettings.default.getAccessToken();
|
|
68
|
+
if (token) {
|
|
69
|
+
return {
|
|
70
|
+
headers: {
|
|
71
|
+
authorization: `Bearer ${token}`
|
|
72
|
+
}
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
const sessionSecret = (ref = _userSettings.default.getSession()) == null ? void 0 : ref.sessionSecret;
|
|
76
|
+
if (sessionSecret) {
|
|
77
|
+
return {
|
|
78
|
+
headers: {
|
|
79
|
+
"expo-session": sessionSecret
|
|
80
|
+
}
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
return {};
|
|
84
|
+
}
|
|
85
|
+
});
|
|
86
|
+
exports.graphqlClient = graphqlClient;
|
|
87
|
+
async function withErrorHandlingAsync(promise) {
|
|
88
|
+
const { data , error } = await promise;
|
|
89
|
+
if (error) {
|
|
90
|
+
if (error.graphQLErrors.some((e)=>{
|
|
91
|
+
var ref;
|
|
92
|
+
return e == null ? void 0 : (ref = e.extensions) == null ? void 0 : ref.isTransient;
|
|
93
|
+
})) {
|
|
94
|
+
Log.error(`We've encountered a transient error, please try again shortly.`);
|
|
95
|
+
}
|
|
96
|
+
throw error;
|
|
97
|
+
}
|
|
98
|
+
// Check for a malformed response. This only checks the root query's existence. It doesn't affect
|
|
99
|
+
// returning responses with an empty result set.
|
|
100
|
+
if (!data) {
|
|
101
|
+
throw new Error("Returned query result data is null!");
|
|
102
|
+
}
|
|
103
|
+
return data;
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
//# sourceMappingURL=client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/api/graphql/client.ts"],"sourcesContent":["import {\n cacheExchange,\n Client,\n CombinedError as GraphqlError,\n createClient as createUrqlClient,\n dedupExchange,\n fetchExchange,\n OperationContext,\n OperationResult,\n PromisifiedSource,\n TypedDocumentNode,\n} from '@urql/core';\nimport { retryExchange } from '@urql/exchange-retry';\nimport { DocumentNode } from 'graphql';\nimport fetch from 'node-fetch';\n\nimport * as Log from '../../log';\nimport { getExpoApiBaseUrl } from '../endpoint';\nimport { wrapFetchWithOffline } from '../rest/wrapFetchWithOffline';\nimport { wrapFetchWithProxy } from '../rest/wrapFetchWithProxy';\nimport UserSettings from '../user/UserSettings';\n\ntype AccessTokenHeaders = {\n authorization: string;\n};\n\ntype SessionHeaders = {\n 'expo-session': string;\n};\n\nexport const graphqlClient = createUrqlClient({\n url: getExpoApiBaseUrl() + '/graphql',\n exchanges: [\n dedupExchange,\n cacheExchange,\n retryExchange({\n maxDelayMs: 4000,\n retryIf: (err) =>\n !!(err && (err.networkError || err.graphQLErrors.some((e) => e?.extensions?.isTransient))),\n }),\n fetchExchange,\n ],\n // @ts-ignore Type 'typeof fetch' is not assignable to type '(input: RequestInfo, init?: RequestInit | undefined) => Promise<Response>'.\n fetch: wrapFetchWithOffline(wrapFetchWithProxy(fetch)),\n fetchOptions: (): { headers?: AccessTokenHeaders | SessionHeaders } => {\n const token = UserSettings.getAccessToken();\n if (token) {\n return {\n headers: {\n authorization: `Bearer ${token}`,\n },\n };\n }\n const sessionSecret = UserSettings.getSession()?.sessionSecret;\n if (sessionSecret) {\n return {\n headers: {\n 'expo-session': sessionSecret,\n },\n };\n }\n return {};\n },\n}) as StricterClient;\n\n/* Please specify additionalTypenames in your Graphql queries */\nexport interface StricterClient extends Client {\n // eslint-disable-next-line @typescript-eslint/ban-types\n query<Data = any, Variables extends object = {}>(\n query: DocumentNode | TypedDocumentNode<Data, Variables> | string,\n variables: Variables | undefined,\n context: Partial<OperationContext> & { additionalTypenames: string[] }\n ): PromisifiedSource<OperationResult<Data, Variables>>;\n}\n\nexport async function withErrorHandlingAsync<T>(promise: Promise<OperationResult<T>>): Promise<T> {\n const { data, error } = await promise;\n\n if (error) {\n if (error.graphQLErrors.some((e) => e?.extensions?.isTransient)) {\n Log.error(`We've encountered a transient error, please try again shortly.`);\n }\n throw error;\n }\n\n // Check for a malformed response. This only checks the root query's existence. It doesn't affect\n // returning responses with an empty result set.\n if (!data) {\n throw new Error('Returned query result data is null!');\n }\n\n return data;\n}\n\nexport { GraphqlError };\n"],"names":["GraphqlError","withErrorHandlingAsync","Log","graphqlClient","createUrqlClient","url","getExpoApiBaseUrl","exchanges","dedupExchange","cacheExchange","retryExchange","maxDelayMs","retryIf","err","networkError","graphQLErrors","some","e","extensions","isTransient","fetchExchange","fetch","wrapFetchWithOffline","wrapFetchWithProxy","fetchOptions","UserSettings","token","getAccessToken","headers","authorization","sessionSecret","getSession","promise","data","error","Error"],"mappings":"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"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
exports.AppQuery = void 0;
|
|
6
|
+
var _graphql = require("graphql");
|
|
7
|
+
var _graphqlTag = _interopRequireDefault(require("graphql-tag"));
|
|
8
|
+
var _client = require("../client");
|
|
9
|
+
var _app = require("../types/App");
|
|
10
|
+
function _interopRequireDefault(obj) {
|
|
11
|
+
return obj && obj.__esModule ? obj : {
|
|
12
|
+
default: obj
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
const AppQuery = {
|
|
16
|
+
async byIdAsync (projectId) {
|
|
17
|
+
const data = await (0, _client).withErrorHandlingAsync(_client.graphqlClient.query(_graphqlTag.default`
|
|
18
|
+
query AppByIdQuery($appId: String!) {
|
|
19
|
+
app {
|
|
20
|
+
byId(appId: $appId) {
|
|
21
|
+
id
|
|
22
|
+
...AppFragment
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
${(0, _graphql).print(_app.AppFragmentNode)}
|
|
27
|
+
`, {
|
|
28
|
+
appId: projectId
|
|
29
|
+
}, {
|
|
30
|
+
additionalTypenames: [
|
|
31
|
+
"App"
|
|
32
|
+
]
|
|
33
|
+
}).toPromise());
|
|
34
|
+
return data.app.byId;
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
exports.AppQuery = AppQuery;
|
|
38
|
+
|
|
39
|
+
//# sourceMappingURL=AppQuery.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../src/api/graphql/queries/AppQuery.ts"],"sourcesContent":["import { print } from 'graphql';\nimport gql from 'graphql-tag';\n\nimport { AppByIdQuery } from '../../../graphql/generated';\nimport { graphqlClient, withErrorHandlingAsync } from '../client';\nimport { AppFragmentNode } from '../types/App';\n\nexport const AppQuery = {\n async byIdAsync(projectId: string): Promise<AppByIdQuery['app']['byId']> {\n const data = await withErrorHandlingAsync(\n graphqlClient\n .query<AppByIdQuery>(\n gql`\n query AppByIdQuery($appId: String!) {\n app {\n byId(appId: $appId) {\n id\n ...AppFragment\n }\n }\n }\n ${print(AppFragmentNode)}\n `,\n { appId: projectId },\n {\n additionalTypenames: ['App'],\n }\n )\n .toPromise()\n );\n return data.app.byId;\n },\n};\n"],"names":["AppQuery","byIdAsync","projectId","data","withErrorHandlingAsync","graphqlClient","query","gql","print","AppFragmentNode","appId","additionalTypenames","toPromise","app","byId"],"mappings":"AAAA;;;;;AAAsB,IAAA,QAAS,WAAT,SAAS,CAAA;AACf,IAAA,WAAa,kCAAb,aAAa,EAAA;AAGyB,IAAA,OAAW,WAAX,WAAW,CAAA;AACjC,IAAA,IAAc,WAAd,cAAc,CAAA;;;;;;AAEvC,MAAMA,QAAQ,GAAG;IACtB,MAAMC,SAAS,EAACC,SAAiB,EAAwC;QACvE,MAAMC,IAAI,GAAG,MAAMC,CAAAA,GAAAA,OAAsB,AAoBxC,CAAA,uBApBwC,CACvCC,OAAa,cAAA,CACVC,KAAK,CACJC,WAAG,QAAA,CAAC;;;;;;;;;YASF,EAAEC,CAAAA,GAAAA,QAAK,AAAiB,CAAA,MAAjB,CAACC,IAAe,gBAAA,CAAC,CAAC;UAC3B,CAAC,EACD;YAAEC,KAAK,EAAER,SAAS;SAAE,EACpB;YACES,mBAAmB,EAAE;gBAAC,KAAK;aAAC;SAC7B,CACF,CACAC,SAAS,EAAE,CACf,AAAC;QACF,OAAOT,IAAI,CAACU,GAAG,CAACC,IAAI,CAAC;KACtB;CACF,AAAC;QAzBWd,QAAQ,GAARA,QAAQ"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
exports.UserQuery = void 0;
|
|
6
|
+
var _graphqlTag = _interopRequireDefault(require("graphql-tag"));
|
|
7
|
+
var _client = require("../client");
|
|
8
|
+
function _interopRequireDefault(obj) {
|
|
9
|
+
return obj && obj.__esModule ? obj : {
|
|
10
|
+
default: obj
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
const UserQuery = {
|
|
14
|
+
async currentUserAsync () {
|
|
15
|
+
const data = await (0, _client).withErrorHandlingAsync(_client.graphqlClient.query(_graphqlTag.default`
|
|
16
|
+
query CurrentUser {
|
|
17
|
+
meActor {
|
|
18
|
+
__typename
|
|
19
|
+
id
|
|
20
|
+
... on UserActor {
|
|
21
|
+
primaryAccount {
|
|
22
|
+
id
|
|
23
|
+
}
|
|
24
|
+
username
|
|
25
|
+
}
|
|
26
|
+
... on Robot {
|
|
27
|
+
firstName
|
|
28
|
+
}
|
|
29
|
+
accounts {
|
|
30
|
+
id
|
|
31
|
+
users {
|
|
32
|
+
actor {
|
|
33
|
+
id
|
|
34
|
+
}
|
|
35
|
+
permissions
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
`, /* variables */ undefined, {
|
|
41
|
+
additionalTypenames: [
|
|
42
|
+
"User",
|
|
43
|
+
"SSOUser"
|
|
44
|
+
]
|
|
45
|
+
}).toPromise());
|
|
46
|
+
return data.meActor;
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
exports.UserQuery = UserQuery;
|
|
50
|
+
|
|
51
|
+
//# sourceMappingURL=UserQuery.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../src/api/graphql/queries/UserQuery.ts"],"sourcesContent":["import gql from 'graphql-tag';\n\nimport { CurrentUserQuery } from '../../../graphql/generated';\nimport { graphqlClient, withErrorHandlingAsync } from '../client';\n\nexport const UserQuery = {\n async currentUserAsync(): Promise<CurrentUserQuery['meActor']> {\n const data = await withErrorHandlingAsync(\n graphqlClient\n .query<CurrentUserQuery>(\n gql`\n query CurrentUser {\n meActor {\n __typename\n id\n ... on UserActor {\n primaryAccount {\n id\n }\n username\n }\n ... on Robot {\n firstName\n }\n accounts {\n id\n users {\n actor {\n id\n }\n permissions\n }\n }\n }\n }\n `,\n /* variables */ undefined,\n {\n additionalTypenames: ['User', 'SSOUser'],\n }\n )\n .toPromise()\n );\n\n return data.meActor;\n },\n};\n"],"names":["UserQuery","currentUserAsync","data","withErrorHandlingAsync","graphqlClient","query","gql","undefined","additionalTypenames","toPromise","meActor"],"mappings":"AAAA;;;;;AAAgB,IAAA,WAAa,kCAAb,aAAa,EAAA;AAGyB,IAAA,OAAW,WAAX,WAAW,CAAA;;;;;;AAE1D,MAAMA,SAAS,GAAG;IACvB,MAAMC,gBAAgB,IAAyC;QAC7D,MAAMC,IAAI,GAAG,MAAMC,CAAAA,GAAAA,OAAsB,AAmCxC,CAAA,uBAnCwC,CACvCC,OAAa,cAAA,CACVC,KAAK,CACJC,WAAG,QAAA,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;UAyBJ,CAAC,EACD,eAAe,CAACC,SAAS,EACzB;YACEC,mBAAmB,EAAE;gBAAC,MAAM;gBAAE,SAAS;aAAC;SACzC,CACF,CACAC,SAAS,EAAE,CACf,AAAC;QAEF,OAAOP,IAAI,CAACQ,OAAO,CAAC;KACrB;CACF,AAAC;QAzCWV,SAAS,GAATA,SAAS"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
exports.AppFragmentNode = void 0;
|
|
6
|
+
var _graphqlTag = _interopRequireDefault(require("graphql-tag"));
|
|
7
|
+
function _interopRequireDefault(obj) {
|
|
8
|
+
return obj && obj.__esModule ? obj : {
|
|
9
|
+
default: obj
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
const AppFragmentNode = _graphqlTag.default`
|
|
13
|
+
fragment AppFragment on App {
|
|
14
|
+
id
|
|
15
|
+
scopeKey
|
|
16
|
+
ownerAccount {
|
|
17
|
+
id
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
`;
|
|
21
|
+
exports.AppFragmentNode = AppFragmentNode;
|
|
22
|
+
|
|
23
|
+
//# sourceMappingURL=App.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../src/api/graphql/types/App.ts"],"sourcesContent":["import gql from 'graphql-tag';\n\nexport const AppFragmentNode = gql`\n fragment AppFragment on App {\n id\n scopeKey\n ownerAccount {\n id\n }\n }\n`;\n"],"names":["AppFragmentNode","gql"],"mappings":"AAAA;;;;;AAAgB,IAAA,WAAa,kCAAb,aAAa,EAAA;;;;;;AAEtB,MAAMA,eAAe,GAAGC,WAAG,QAAA,CAAC;;;;;;;;AAQnC,CAAC,AAAC;QARWD,eAAe,GAAfA,eAAe"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
var _cacache = _interopRequireDefault(require("cacache"));
|
|
6
|
+
var _stream = require("stream");
|
|
7
|
+
function _interopRequireDefault(obj) {
|
|
8
|
+
return obj && obj.__esModule ? obj : {
|
|
9
|
+
default: obj
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
function getBodyAndMetaKeys(key) {
|
|
13
|
+
return [
|
|
14
|
+
`${key}body`,
|
|
15
|
+
`${key}meta`
|
|
16
|
+
];
|
|
17
|
+
}
|
|
18
|
+
class FileSystemCache {
|
|
19
|
+
constructor(options){
|
|
20
|
+
this.options = options;
|
|
21
|
+
}
|
|
22
|
+
async get(key) {
|
|
23
|
+
const [, metaKey] = getBodyAndMetaKeys(key);
|
|
24
|
+
const metaInfo = await _cacache.default.get.info(this.options.cacheDirectory, metaKey);
|
|
25
|
+
if (!metaInfo) {
|
|
26
|
+
return undefined;
|
|
27
|
+
}
|
|
28
|
+
const metaBuffer = await _cacache.default.get.byDigest(this.options.cacheDirectory, metaInfo.integrity);
|
|
29
|
+
const metaData = JSON.parse(metaBuffer);
|
|
30
|
+
const { bodyStreamIntegrity , empty , expiration } = metaData;
|
|
31
|
+
delete metaData.bodyStreamIntegrity;
|
|
32
|
+
delete metaData.empty;
|
|
33
|
+
delete metaData.expiration;
|
|
34
|
+
if (expiration && expiration < Date.now()) {
|
|
35
|
+
return undefined;
|
|
36
|
+
}
|
|
37
|
+
const bodyStream = empty ? _stream.Readable.from(Buffer.alloc(0)) : _cacache.default.get.stream.byDigest(this.options.cacheDirectory, bodyStreamIntegrity);
|
|
38
|
+
return {
|
|
39
|
+
bodyStream,
|
|
40
|
+
metaData
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
remove(key) {
|
|
44
|
+
const [bodyKey, metaKey] = getBodyAndMetaKeys(key);
|
|
45
|
+
return Promise.all([
|
|
46
|
+
_cacache.default.rm.entry(this.options.cacheDirectory, bodyKey),
|
|
47
|
+
_cacache.default.rm.entry(this.options.cacheDirectory, metaKey),
|
|
48
|
+
]);
|
|
49
|
+
}
|
|
50
|
+
async set(key, bodyStream, metaData) {
|
|
51
|
+
const [bodyKey, metaKey] = getBodyAndMetaKeys(key);
|
|
52
|
+
const metaCopy = {
|
|
53
|
+
...metaData
|
|
54
|
+
};
|
|
55
|
+
if (typeof this.options.ttl === "number") {
|
|
56
|
+
metaCopy.expiration = Date.now() + this.options.ttl;
|
|
57
|
+
}
|
|
58
|
+
try {
|
|
59
|
+
metaCopy.bodyStreamIntegrity = await new Promise((fulfill, reject)=>{
|
|
60
|
+
bodyStream.pipe(_cacache.default.put.stream(this.options.cacheDirectory, bodyKey)).on("integrity", (i)=>fulfill(i)
|
|
61
|
+
).on("error", (e)=>{
|
|
62
|
+
reject(e);
|
|
63
|
+
});
|
|
64
|
+
});
|
|
65
|
+
} catch (err) {
|
|
66
|
+
if (err.code !== "ENODATA") {
|
|
67
|
+
throw err;
|
|
68
|
+
}
|
|
69
|
+
metaCopy.empty = true;
|
|
70
|
+
}
|
|
71
|
+
const metaBuffer = Buffer.from(JSON.stringify(metaCopy));
|
|
72
|
+
await _cacache.default.put(this.options.cacheDirectory, metaKey, metaBuffer);
|
|
73
|
+
const cachedData = await this.get(key);
|
|
74
|
+
return cachedData;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
exports.FileSystemCache = FileSystemCache;
|
|
78
|
+
|
|
79
|
+
//# sourceMappingURL=FileSystemCache.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../src/api/rest/cache/FileSystemCache.ts"],"sourcesContent":["import cacache from 'cacache';\nimport { Readable } from 'stream';\n\nfunction getBodyAndMetaKeys(key: string): [string, string] {\n return [`${key}body`, `${key}meta`];\n}\n\nexport class FileSystemCache {\n constructor(public options: { ttl?: number; cacheDirectory: string }) {}\n\n async get(key: string) {\n const [, metaKey] = getBodyAndMetaKeys(key);\n\n const metaInfo = await cacache.get.info(this.options.cacheDirectory, metaKey);\n\n if (!metaInfo) {\n return undefined;\n }\n\n const metaBuffer = await cacache.get.byDigest(this.options.cacheDirectory, metaInfo.integrity);\n const metaData = JSON.parse(metaBuffer);\n const { bodyStreamIntegrity, empty, expiration } = metaData;\n\n delete metaData.bodyStreamIntegrity;\n delete metaData.empty;\n delete metaData.expiration;\n\n if (expiration && expiration < Date.now()) {\n return undefined;\n }\n\n const bodyStream = empty\n ? Readable.from(Buffer.alloc(0))\n : cacache.get.stream.byDigest(this.options.cacheDirectory, bodyStreamIntegrity);\n\n return {\n bodyStream,\n metaData,\n };\n }\n\n remove(key: string) {\n const [bodyKey, metaKey] = getBodyAndMetaKeys(key);\n\n return Promise.all([\n cacache.rm.entry(this.options.cacheDirectory, bodyKey),\n cacache.rm.entry(this.options.cacheDirectory, metaKey),\n ]);\n }\n\n async set(key: string, bodyStream: NodeJS.ReadStream, metaData: any) {\n const [bodyKey, metaKey] = getBodyAndMetaKeys(key);\n const metaCopy = { ...metaData };\n\n if (typeof this.options.ttl === 'number') {\n metaCopy.expiration = Date.now() + this.options.ttl;\n }\n\n try {\n metaCopy.bodyStreamIntegrity = await new Promise((fulfill, reject) => {\n bodyStream\n .pipe(cacache.put.stream(this.options.cacheDirectory, bodyKey))\n .on('integrity', (i) => fulfill(i))\n .on('error', (e) => {\n reject(e);\n });\n });\n } catch (err: any) {\n if (err.code !== 'ENODATA') {\n throw err;\n }\n\n metaCopy.empty = true;\n }\n\n const metaBuffer = Buffer.from(JSON.stringify(metaCopy));\n await cacache.put(this.options.cacheDirectory, metaKey, metaBuffer);\n const cachedData = await this.get(key);\n\n return cachedData;\n }\n}\n"],"names":["getBodyAndMetaKeys","key","FileSystemCache","constructor","options","get","metaKey","metaInfo","cacache","info","cacheDirectory","undefined","metaBuffer","byDigest","integrity","metaData","JSON","parse","bodyStreamIntegrity","empty","expiration","Date","now","bodyStream","Readable","from","Buffer","alloc","stream","remove","bodyKey","Promise","all","rm","entry","set","metaCopy","ttl","fulfill","reject","pipe","put","on","i","e","err","code","stringify","cachedData"],"mappings":"AAAA;;;;AAAoB,IAAA,QAAS,kCAAT,SAAS,EAAA;AACJ,IAAA,OAAQ,WAAR,QAAQ,CAAA;;;;;;AAEjC,SAASA,kBAAkB,CAACC,GAAW,EAAoB;IACzD,OAAO;QAAC,CAAC,EAAEA,GAAG,CAAC,IAAI,CAAC;QAAE,CAAC,EAAEA,GAAG,CAAC,IAAI,CAAC;KAAC,CAAC;CACrC;AAEM,MAAMC,eAAe;IAC1BC,YAAmBC,OAAiD,CAAE;aAAnDA,OAAiD,GAAjDA,OAAiD;KAAI;IAExE,MAAMC,GAAG,CAACJ,GAAW,EAAE;QACrB,MAAM,GAAGK,OAAO,CAAC,GAAGN,kBAAkB,CAACC,GAAG,CAAC,AAAC;QAE5C,MAAMM,QAAQ,GAAG,MAAMC,QAAO,QAAA,CAACH,GAAG,CAACI,IAAI,CAAC,IAAI,CAACL,OAAO,CAACM,cAAc,EAAEJ,OAAO,CAAC,AAAC;QAE9E,IAAI,CAACC,QAAQ,EAAE;YACb,OAAOI,SAAS,CAAC;SAClB;QAED,MAAMC,UAAU,GAAG,MAAMJ,QAAO,QAAA,CAACH,GAAG,CAACQ,QAAQ,CAAC,IAAI,CAACT,OAAO,CAACM,cAAc,EAAEH,QAAQ,CAACO,SAAS,CAAC,AAAC;QAC/F,MAAMC,QAAQ,GAAGC,IAAI,CAACC,KAAK,CAACL,UAAU,CAAC,AAAC;QACxC,MAAM,EAAEM,mBAAmB,CAAA,EAAEC,KAAK,CAAA,EAAEC,UAAU,CAAA,EAAE,GAAGL,QAAQ,AAAC;QAE5D,OAAOA,QAAQ,CAACG,mBAAmB,CAAC;QACpC,OAAOH,QAAQ,CAACI,KAAK,CAAC;QACtB,OAAOJ,QAAQ,CAACK,UAAU,CAAC;QAE3B,IAAIA,UAAU,IAAIA,UAAU,GAAGC,IAAI,CAACC,GAAG,EAAE,EAAE;YACzC,OAAOX,SAAS,CAAC;SAClB;QAED,MAAMY,UAAU,GAAGJ,KAAK,GACpBK,OAAQ,SAAA,CAACC,IAAI,CAACC,MAAM,CAACC,KAAK,CAAC,CAAC,CAAC,CAAC,GAC9BnB,QAAO,QAAA,CAACH,GAAG,CAACuB,MAAM,CAACf,QAAQ,CAAC,IAAI,CAACT,OAAO,CAACM,cAAc,EAAEQ,mBAAmB,CAAC,AAAC;QAElF,OAAO;YACLK,UAAU;YACVR,QAAQ;SACT,CAAC;KACH;IAEDc,MAAM,CAAC5B,GAAW,EAAE;QAClB,MAAM,CAAC6B,OAAO,EAAExB,OAAO,CAAC,GAAGN,kBAAkB,CAACC,GAAG,CAAC,AAAC;QAEnD,OAAO8B,OAAO,CAACC,GAAG,CAAC;YACjBxB,QAAO,QAAA,CAACyB,EAAE,CAACC,KAAK,CAAC,IAAI,CAAC9B,OAAO,CAACM,cAAc,EAAEoB,OAAO,CAAC;YACtDtB,QAAO,QAAA,CAACyB,EAAE,CAACC,KAAK,CAAC,IAAI,CAAC9B,OAAO,CAACM,cAAc,EAAEJ,OAAO,CAAC;SACvD,CAAC,CAAC;KACJ;IAED,MAAM6B,GAAG,CAAClC,GAAW,EAAEsB,UAA6B,EAAER,QAAa,EAAE;QACnE,MAAM,CAACe,OAAO,EAAExB,OAAO,CAAC,GAAGN,kBAAkB,CAACC,GAAG,CAAC,AAAC;QACnD,MAAMmC,QAAQ,GAAG;YAAE,GAAGrB,QAAQ;SAAE,AAAC;QAEjC,IAAI,OAAO,IAAI,CAACX,OAAO,CAACiC,GAAG,KAAK,QAAQ,EAAE;YACxCD,QAAQ,CAAChB,UAAU,GAAGC,IAAI,CAACC,GAAG,EAAE,GAAG,IAAI,CAAClB,OAAO,CAACiC,GAAG,CAAC;SACrD;QAED,IAAI;YACFD,QAAQ,CAAClB,mBAAmB,GAAG,MAAM,IAAIa,OAAO,CAAC,CAACO,OAAO,EAAEC,MAAM,GAAK;gBACpEhB,UAAU,CACPiB,IAAI,CAAChC,QAAO,QAAA,CAACiC,GAAG,CAACb,MAAM,CAAC,IAAI,CAACxB,OAAO,CAACM,cAAc,EAAEoB,OAAO,CAAC,CAAC,CAC9DY,EAAE,CAAC,WAAW,EAAE,CAACC,CAAC,GAAKL,OAAO,CAACK,CAAC,CAAC;gBAAA,CAAC,CAClCD,EAAE,CAAC,OAAO,EAAE,CAACE,CAAC,GAAK;oBAClBL,MAAM,CAACK,CAAC,CAAC,CAAC;iBACX,CAAC,CAAC;aACN,CAAC,CAAC;SACJ,CAAC,OAAOC,GAAG,EAAO;YACjB,IAAIA,GAAG,CAACC,IAAI,KAAK,SAAS,EAAE;gBAC1B,MAAMD,GAAG,CAAC;aACX;YAEDT,QAAQ,CAACjB,KAAK,GAAG,IAAI,CAAC;SACvB;QAED,MAAMP,UAAU,GAAGc,MAAM,CAACD,IAAI,CAACT,IAAI,CAAC+B,SAAS,CAACX,QAAQ,CAAC,CAAC,AAAC;QACzD,MAAM5B,QAAO,QAAA,CAACiC,GAAG,CAAC,IAAI,CAACrC,OAAO,CAACM,cAAc,EAAEJ,OAAO,EAAEM,UAAU,CAAC,CAAC;QACpE,MAAMoC,UAAU,GAAG,MAAM,IAAI,CAAC3C,GAAG,CAACJ,GAAG,CAAC,AAAC;QAEvC,OAAO+C,UAAU,CAAC;KACnB;CACF;QA1EY9C,eAAe,GAAfA,eAAe"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
var _nodeFetch = require("node-fetch");
|
|
6
|
+
const responseInternalSymbol = Object.getOwnPropertySymbols(new _nodeFetch.Response())[1];
|
|
7
|
+
class NFCResponse extends _nodeFetch.Response {
|
|
8
|
+
constructor(bodyStream, metaData, ejectFromCache = function ejectFromCache() {
|
|
9
|
+
return this.ejectSelfFromCache();
|
|
10
|
+
}, fromCache = false){
|
|
11
|
+
super(bodyStream, metaData);
|
|
12
|
+
this.ejectFromCache = ejectFromCache;
|
|
13
|
+
this.fromCache = fromCache;
|
|
14
|
+
}
|
|
15
|
+
static serializeMetaFromNodeFetchResponse(res) {
|
|
16
|
+
const metaData = {
|
|
17
|
+
url: res.url,
|
|
18
|
+
status: res.status,
|
|
19
|
+
statusText: res.statusText,
|
|
20
|
+
headers: res.headers.raw(),
|
|
21
|
+
size: res.size,
|
|
22
|
+
timeout: res.timeout,
|
|
23
|
+
// @ts-ignore
|
|
24
|
+
counter: res[responseInternalSymbol].counter
|
|
25
|
+
};
|
|
26
|
+
return metaData;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
exports.NFCResponse = NFCResponse;
|
|
30
|
+
|
|
31
|
+
//# sourceMappingURL=response.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../src/api/rest/cache/response.ts"],"sourcesContent":["import type { CacheObject } from 'cacache';\nimport { BodyInit, Response, ResponseInit } from 'node-fetch';\n\nconst responseInternalSymbol = Object.getOwnPropertySymbols(new Response())[1];\n\nexport class NFCResponse extends Response {\n constructor(\n bodyStream?: BodyInit,\n metaData?: ResponseInit,\n public ejectFromCache: () => Promise<[CacheObject, CacheObject]> = function ejectFromCache(\n this: any\n ) {\n return this.ejectSelfFromCache();\n },\n public fromCache: boolean = false\n ) {\n super(bodyStream, metaData);\n }\n\n static serializeMetaFromNodeFetchResponse(res: Response) {\n const metaData = {\n url: res.url,\n status: res.status,\n statusText: res.statusText,\n headers: res.headers.raw(),\n size: res.size,\n timeout: res.timeout,\n // @ts-ignore\n counter: res[responseInternalSymbol].counter,\n };\n\n return metaData;\n }\n}\n"],"names":["responseInternalSymbol","Object","getOwnPropertySymbols","Response","NFCResponse","constructor","bodyStream","metaData","ejectFromCache","ejectSelfFromCache","fromCache","serializeMetaFromNodeFetchResponse","res","url","status","statusText","headers","raw","size","timeout","counter"],"mappings":"AAAA;;;;AACiD,IAAA,UAAY,WAAZ,YAAY,CAAA;AAE7D,MAAMA,sBAAsB,GAAGC,MAAM,CAACC,qBAAqB,CAAC,IAAIC,UAAQ,SAAA,EAAE,CAAC,CAAC,CAAC,CAAC,AAAC;AAExE,MAAMC,WAAW,SAASD,UAAQ,SAAA;IACvCE,YACEC,UAAqB,EACrBC,QAAuB,EAChBC,cAAyD,GAAG,SAASA,cAAc,GAExF;QACA,OAAO,IAAI,CAACC,kBAAkB,EAAE,CAAC;KAClC,EACMC,SAAkB,GAAG,KAAK,CACjC;QACA,KAAK,CAACJ,UAAU,EAAEC,QAAQ,CAAC,CAAC;aAPrBC,cAAyD,GAAzDA,cAAyD;aAKzDE,SAAkB,GAAlBA,SAAkB;KAG1B;IAED,OAAOC,kCAAkC,CAACC,GAAa,EAAE;QACvD,MAAML,QAAQ,GAAG;YACfM,GAAG,EAAED,GAAG,CAACC,GAAG;YACZC,MAAM,EAAEF,GAAG,CAACE,MAAM;YAClBC,UAAU,EAAEH,GAAG,CAACG,UAAU;YAC1BC,OAAO,EAAEJ,GAAG,CAACI,OAAO,CAACC,GAAG,EAAE;YAC1BC,IAAI,EAAEN,GAAG,CAACM,IAAI;YACdC,OAAO,EAAEP,GAAG,CAACO,OAAO;YACpB,aAAa;YACbC,OAAO,EAAER,GAAG,CAACZ,sBAAsB,CAAC,CAACoB,OAAO;SAC7C,AAAC;QAEF,OAAOb,QAAQ,CAAC;KACjB;CACF;QA5BYH,WAAW,GAAXA,WAAW"}
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
exports.wrapFetchWithCache = wrapFetchWithCache;
|
|
6
|
+
var _crypto = _interopRequireDefault(require("crypto"));
|
|
7
|
+
var _fs = _interopRequireDefault(require("fs"));
|
|
8
|
+
var _nodeFetch = require("node-fetch");
|
|
9
|
+
var _url = require("url");
|
|
10
|
+
var _response = require("./response");
|
|
11
|
+
function _interopRequireDefault(obj) {
|
|
12
|
+
return obj && obj.__esModule ? obj : {
|
|
13
|
+
default: obj
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
const CACHE_VERSION = 3;
|
|
17
|
+
const lockPromiseForKey = {};
|
|
18
|
+
const unlockFunctionForKey = {};
|
|
19
|
+
/**
|
|
20
|
+
* Take out a lock. When this function returns (asynchronously),
|
|
21
|
+
* you have the lock.
|
|
22
|
+
* @param {string} key - The key to lock on. Anyone else who
|
|
23
|
+
* tries to lock on the same key will need to wait for it to
|
|
24
|
+
* be unlocked.
|
|
25
|
+
*/ async function lock(key) {
|
|
26
|
+
if (!lockPromiseForKey[key]) {
|
|
27
|
+
lockPromiseForKey[key] = Promise.resolve();
|
|
28
|
+
}
|
|
29
|
+
const takeLockPromise = lockPromiseForKey[key];
|
|
30
|
+
lockPromiseForKey[key] = takeLockPromise.then(()=>new Promise((fulfill)=>{
|
|
31
|
+
unlockFunctionForKey[key] = fulfill;
|
|
32
|
+
})
|
|
33
|
+
);
|
|
34
|
+
return takeLockPromise;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Release a lock.
|
|
38
|
+
* @param {string} key - The key to release the lock for.
|
|
39
|
+
* The next person in line will now be able to take out
|
|
40
|
+
* the lock for that key.
|
|
41
|
+
*/ function unlock(key) {
|
|
42
|
+
if (unlockFunctionForKey[key]) {
|
|
43
|
+
unlockFunctionForKey[key]();
|
|
44
|
+
delete unlockFunctionForKey[key];
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
function md5(str) {
|
|
48
|
+
return _crypto.default.createHash("md5").update(str).digest("hex");
|
|
49
|
+
}
|
|
50
|
+
// Since the boundary in FormData is random,
|
|
51
|
+
// we ignore it for purposes of calculating
|
|
52
|
+
// the cache key.
|
|
53
|
+
function getFormDataCacheKey(formData) {
|
|
54
|
+
const cacheKey = {
|
|
55
|
+
...formData
|
|
56
|
+
};
|
|
57
|
+
const boundary = formData.getBoundary();
|
|
58
|
+
// @ts-expect-error
|
|
59
|
+
delete cacheKey._boundary;
|
|
60
|
+
const boundaryReplaceRegex = new RegExp(boundary, "g");
|
|
61
|
+
// @ts-expect-error
|
|
62
|
+
cacheKey._streams = cacheKey._streams.map((s)=>{
|
|
63
|
+
if (typeof s === "string") {
|
|
64
|
+
return s.replace(boundaryReplaceRegex, "");
|
|
65
|
+
}
|
|
66
|
+
return s;
|
|
67
|
+
});
|
|
68
|
+
return cacheKey;
|
|
69
|
+
}
|
|
70
|
+
function getBodyCacheKeyJson(body) {
|
|
71
|
+
if (!body) {
|
|
72
|
+
return body;
|
|
73
|
+
}
|
|
74
|
+
if (typeof body === "string") {
|
|
75
|
+
return body;
|
|
76
|
+
}
|
|
77
|
+
if (body instanceof _url.URLSearchParams) {
|
|
78
|
+
return body.toString();
|
|
79
|
+
}
|
|
80
|
+
if (body instanceof _fs.default.ReadStream) {
|
|
81
|
+
return body.path;
|
|
82
|
+
}
|
|
83
|
+
if (body.toString && body.toString() === "[object FormData]") {
|
|
84
|
+
return getFormDataCacheKey(body);
|
|
85
|
+
}
|
|
86
|
+
if (body instanceof Buffer) {
|
|
87
|
+
return body.toString();
|
|
88
|
+
}
|
|
89
|
+
throw new Error("Unsupported body type. Supported body types are: string, number, undefined, null, url.URLSearchParams, fs.ReadStream, FormData");
|
|
90
|
+
}
|
|
91
|
+
function getRequestCacheKey(req) {
|
|
92
|
+
return {
|
|
93
|
+
cache: req.cache,
|
|
94
|
+
credentials: req.credentials,
|
|
95
|
+
destination: req.destination,
|
|
96
|
+
headers: req.headers,
|
|
97
|
+
integrity: req.integrity,
|
|
98
|
+
method: req.method,
|
|
99
|
+
redirect: req.redirect,
|
|
100
|
+
referrer: req.referrer,
|
|
101
|
+
referrerPolicy: req.referrerPolicy,
|
|
102
|
+
url: req.url,
|
|
103
|
+
body: getBodyCacheKeyJson(req.body)
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
function getCacheKey(requestArguments) {
|
|
107
|
+
const resource = requestArguments[0];
|
|
108
|
+
const init = requestArguments[1] || {};
|
|
109
|
+
const resourceCacheKeyJson = resource instanceof _nodeFetch.Request ? getRequestCacheKey(resource) : {
|
|
110
|
+
url: resource
|
|
111
|
+
};
|
|
112
|
+
const initCacheKeyJson = {
|
|
113
|
+
...init
|
|
114
|
+
};
|
|
115
|
+
// @ts-ignore
|
|
116
|
+
resourceCacheKeyJson.body = getBodyCacheKeyJson(resourceCacheKeyJson.body);
|
|
117
|
+
initCacheKeyJson.body = getBodyCacheKeyJson(initCacheKeyJson.body);
|
|
118
|
+
delete initCacheKeyJson.agent;
|
|
119
|
+
return md5(JSON.stringify([
|
|
120
|
+
resourceCacheKeyJson,
|
|
121
|
+
initCacheKeyJson,
|
|
122
|
+
CACHE_VERSION
|
|
123
|
+
]));
|
|
124
|
+
}
|
|
125
|
+
function wrapFetchWithCache(fetch, cache1) {
|
|
126
|
+
async function getResponse(cache, url, init) {
|
|
127
|
+
const cacheKey = getCacheKey([
|
|
128
|
+
url,
|
|
129
|
+
init
|
|
130
|
+
]);
|
|
131
|
+
let cachedValue = await cache.get(cacheKey);
|
|
132
|
+
const ejectSelfFromCache = ()=>cache.remove(cacheKey)
|
|
133
|
+
;
|
|
134
|
+
if (cachedValue) {
|
|
135
|
+
return new _response.NFCResponse(cachedValue.bodyStream, cachedValue.metaData, ejectSelfFromCache, true);
|
|
136
|
+
}
|
|
137
|
+
await lock(cacheKey);
|
|
138
|
+
try {
|
|
139
|
+
cachedValue = await cache.get(cacheKey);
|
|
140
|
+
if (cachedValue) {
|
|
141
|
+
return new _response.NFCResponse(cachedValue.bodyStream, cachedValue.metaData, ejectSelfFromCache, true);
|
|
142
|
+
}
|
|
143
|
+
const fetchResponse = await fetch(url, init);
|
|
144
|
+
const serializedMeta = _response.NFCResponse.serializeMetaFromNodeFetchResponse(fetchResponse);
|
|
145
|
+
const newlyCachedData = await cache.set(cacheKey, // @ts-expect-error
|
|
146
|
+
fetchResponse.body, serializedMeta);
|
|
147
|
+
return new _response.NFCResponse(newlyCachedData.bodyStream, newlyCachedData.metaData, ejectSelfFromCache, false);
|
|
148
|
+
} finally{
|
|
149
|
+
unlock(cacheKey);
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
return (url, init)=>getResponse(cache1, url, init)
|
|
153
|
+
;
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
//# sourceMappingURL=wrapFetchWithCache.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../src/api/rest/cache/wrapFetchWithCache.ts"],"sourcesContent":["/**\n * Copyright (c) 2021 Expo, Inc.\n * Copyright (c) 2020 mistval.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * Based on https://github.com/mistval/node-fetch-cache/blob/9c40ddf786b0de22ce521d8bdaa6347bc44dd629/src/index.js#L1\n * But with TypeScript support to fix Jest tests, and removed unused code.\n */\nimport crypto from 'crypto';\nimport FormData from 'form-data';\nimport fs from 'fs';\nimport { Request, RequestInfo, RequestInit, Response } from 'node-fetch';\nimport { URLSearchParams } from 'url';\n\nimport { FileSystemCache } from './FileSystemCache';\nimport { NFCResponse } from './response';\nimport { FetchLike } from '../client.types';\n\nconst CACHE_VERSION = 3;\n\nconst lockPromiseForKey: Record<string, Promise<any>> = {};\nconst unlockFunctionForKey: Record<string, any> = {};\n\n/**\n * Take out a lock. When this function returns (asynchronously),\n * you have the lock.\n * @param {string} key - The key to lock on. Anyone else who\n * tries to lock on the same key will need to wait for it to\n * be unlocked.\n */\nasync function lock(key: string) {\n if (!lockPromiseForKey[key]) {\n lockPromiseForKey[key] = Promise.resolve();\n }\n\n const takeLockPromise = lockPromiseForKey[key];\n lockPromiseForKey[key] = takeLockPromise.then(\n () =>\n new Promise((fulfill) => {\n unlockFunctionForKey[key] = fulfill;\n })\n );\n\n return takeLockPromise;\n}\n\n/**\n * Release a lock.\n * @param {string} key - The key to release the lock for.\n * The next person in line will now be able to take out\n * the lock for that key.\n */\nfunction unlock(key: string) {\n if (unlockFunctionForKey[key]) {\n unlockFunctionForKey[key]();\n delete unlockFunctionForKey[key];\n }\n}\n\nfunction md5(str: string) {\n return crypto.createHash('md5').update(str).digest('hex');\n}\n\n// Since the boundary in FormData is random,\n// we ignore it for purposes of calculating\n// the cache key.\nfunction getFormDataCacheKey(formData: FormData) {\n const cacheKey = { ...formData };\n const boundary = formData.getBoundary();\n\n // @ts-expect-error\n delete cacheKey._boundary;\n\n const boundaryReplaceRegex = new RegExp(boundary, 'g');\n\n // @ts-expect-error\n cacheKey._streams = cacheKey._streams.map((s) => {\n if (typeof s === 'string') {\n return s.replace(boundaryReplaceRegex, '');\n }\n\n return s;\n });\n\n return cacheKey;\n}\n\nfunction getBodyCacheKeyJson(body: any) {\n if (!body) {\n return body;\n }\n if (typeof body === 'string') {\n return body;\n }\n if (body instanceof URLSearchParams) {\n return body.toString();\n }\n if (body instanceof fs.ReadStream) {\n return body.path;\n }\n if (body.toString && body.toString() === '[object FormData]') {\n return getFormDataCacheKey(body);\n }\n if (body instanceof Buffer) {\n return body.toString();\n }\n\n throw new Error(\n 'Unsupported body type. Supported body types are: string, number, undefined, null, url.URLSearchParams, fs.ReadStream, FormData'\n );\n}\n\nfunction getRequestCacheKey(req: any) {\n return {\n cache: req.cache,\n credentials: req.credentials,\n destination: req.destination,\n headers: req.headers,\n integrity: req.integrity,\n method: req.method,\n redirect: req.redirect,\n referrer: req.referrer,\n referrerPolicy: req.referrerPolicy,\n url: req.url,\n body: getBodyCacheKeyJson(req.body),\n };\n}\n\nfunction getCacheKey(requestArguments: any[]) {\n const resource = requestArguments[0];\n const init = requestArguments[1] || {};\n\n const resourceCacheKeyJson =\n resource instanceof Request ? getRequestCacheKey(resource) : { url: resource };\n\n const initCacheKeyJson = { ...init };\n\n // @ts-ignore\n resourceCacheKeyJson.body = getBodyCacheKeyJson(resourceCacheKeyJson.body);\n initCacheKeyJson.body = getBodyCacheKeyJson(initCacheKeyJson.body);\n\n delete initCacheKeyJson.agent;\n\n return md5(JSON.stringify([resourceCacheKeyJson, initCacheKeyJson, CACHE_VERSION]));\n}\n\nexport function wrapFetchWithCache(\n fetch: FetchLike,\n cache: FileSystemCache\n): (url: RequestInfo, init?: RequestInit | undefined) => Promise<Response> {\n async function getResponse(\n cache: FileSystemCache,\n url: RequestInfo,\n init?: RequestInit | undefined\n ) {\n const cacheKey = getCacheKey([url, init]);\n let cachedValue = await cache.get(cacheKey);\n\n const ejectSelfFromCache = () => cache.remove(cacheKey);\n\n if (cachedValue) {\n return new NFCResponse(\n cachedValue.bodyStream,\n cachedValue.metaData,\n ejectSelfFromCache,\n true\n );\n }\n\n await lock(cacheKey);\n try {\n cachedValue = await cache.get(cacheKey);\n if (cachedValue) {\n return new NFCResponse(\n cachedValue.bodyStream,\n cachedValue.metaData,\n ejectSelfFromCache,\n true\n );\n }\n\n const fetchResponse = await fetch(url, init);\n const serializedMeta = NFCResponse.serializeMetaFromNodeFetchResponse(fetchResponse);\n\n const newlyCachedData = await cache.set(\n cacheKey,\n // @ts-expect-error\n fetchResponse.body,\n serializedMeta\n );\n\n return new NFCResponse(\n newlyCachedData!.bodyStream,\n newlyCachedData!.metaData,\n ejectSelfFromCache,\n false\n );\n } finally {\n unlock(cacheKey);\n }\n }\n return (url: RequestInfo, init?: RequestInit | undefined) => getResponse(cache, url, init);\n}\n"],"names":["wrapFetchWithCache","CACHE_VERSION","lockPromiseForKey","unlockFunctionForKey","lock","key","Promise","resolve","takeLockPromise","then","fulfill","unlock","md5","str","crypto","createHash","update","digest","getFormDataCacheKey","formData","cacheKey","boundary","getBoundary","_boundary","boundaryReplaceRegex","RegExp","_streams","map","s","replace","getBodyCacheKeyJson","body","URLSearchParams","toString","fs","ReadStream","path","Buffer","Error","getRequestCacheKey","req","cache","credentials","destination","headers","integrity","method","redirect","referrer","referrerPolicy","url","getCacheKey","requestArguments","resource","init","resourceCacheKeyJson","Request","initCacheKeyJson","agent","JSON","stringify","fetch","getResponse","cachedValue","get","ejectSelfFromCache","remove","NFCResponse","bodyStream","metaData","fetchResponse","serializedMeta","serializeMetaFromNodeFetchResponse","newlyCachedData","set"],"mappings":"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"}
|