@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,288 @@
|
|
|
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
|
+
ExpoGoManifestHandlerMiddleware: function() {
|
|
13
|
+
return ExpoGoManifestHandlerMiddleware;
|
|
14
|
+
},
|
|
15
|
+
ResponseContentType: function() {
|
|
16
|
+
return ResponseContentType;
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
function _configplugins() {
|
|
20
|
+
const data = require("@expo/config-plugins");
|
|
21
|
+
_configplugins = function() {
|
|
22
|
+
return data;
|
|
23
|
+
};
|
|
24
|
+
return data;
|
|
25
|
+
}
|
|
26
|
+
function _accepts() {
|
|
27
|
+
const data = /*#__PURE__*/ _interop_require_default(require("accepts"));
|
|
28
|
+
_accepts = function() {
|
|
29
|
+
return data;
|
|
30
|
+
};
|
|
31
|
+
return data;
|
|
32
|
+
}
|
|
33
|
+
function _crypto() {
|
|
34
|
+
const data = /*#__PURE__*/ _interop_require_default(require("crypto"));
|
|
35
|
+
_crypto = function() {
|
|
36
|
+
return data;
|
|
37
|
+
};
|
|
38
|
+
return data;
|
|
39
|
+
}
|
|
40
|
+
function _multitars() {
|
|
41
|
+
const data = require("multitars");
|
|
42
|
+
_multitars = function() {
|
|
43
|
+
return data;
|
|
44
|
+
};
|
|
45
|
+
return data;
|
|
46
|
+
}
|
|
47
|
+
function _structuredheaders() {
|
|
48
|
+
const data = require("structured-headers");
|
|
49
|
+
_structuredheaders = function() {
|
|
50
|
+
return data;
|
|
51
|
+
};
|
|
52
|
+
return data;
|
|
53
|
+
}
|
|
54
|
+
const _ManifestMiddleware = require("./ManifestMiddleware");
|
|
55
|
+
const _resolvePlatform = require("./resolvePlatform");
|
|
56
|
+
const _resolveRuntimeVersionWithExpoUpdatesAsync = require("./resolveRuntimeVersionWithExpoUpdatesAsync");
|
|
57
|
+
const _UserSettings = require("../../../api/user/UserSettings");
|
|
58
|
+
const _user = require("../../../api/user/user");
|
|
59
|
+
const _codesigning = require("../../../utils/codesigning");
|
|
60
|
+
const _errors = require("../../../utils/errors");
|
|
61
|
+
const _url = require("../../../utils/url");
|
|
62
|
+
function _interop_require_default(obj) {
|
|
63
|
+
return obj && obj.__esModule ? obj : {
|
|
64
|
+
default: obj
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
const MULTIPART_TYPE = 'multipart/form-data';
|
|
68
|
+
const debug = require('debug')('expo:start:server:middleware:ExpoGoManifestHandlerMiddleware');
|
|
69
|
+
let multipartMixedContentType = _multitars().multipartContentType;
|
|
70
|
+
if (multipartMixedContentType.startsWith(MULTIPART_TYPE)) {
|
|
71
|
+
multipartMixedContentType = 'multipart/mixed' + multipartMixedContentType.slice(MULTIPART_TYPE.length);
|
|
72
|
+
}
|
|
73
|
+
var ResponseContentType = /*#__PURE__*/ function(ResponseContentType) {
|
|
74
|
+
ResponseContentType[ResponseContentType["TEXT_PLAIN"] = 0] = "TEXT_PLAIN";
|
|
75
|
+
ResponseContentType[ResponseContentType["APPLICATION_JSON"] = 1] = "APPLICATION_JSON";
|
|
76
|
+
ResponseContentType[ResponseContentType["APPLICATION_EXPO_JSON"] = 2] = "APPLICATION_EXPO_JSON";
|
|
77
|
+
ResponseContentType[ResponseContentType["MULTIPART_MIXED"] = 3] = "MULTIPART_MIXED";
|
|
78
|
+
return ResponseContentType;
|
|
79
|
+
}({});
|
|
80
|
+
class ExpoGoManifestHandlerMiddleware extends _ManifestMiddleware.ManifestMiddleware {
|
|
81
|
+
getParsedHeaders(req) {
|
|
82
|
+
let platform = (0, _resolvePlatform.parsePlatformHeader)(req);
|
|
83
|
+
if (!platform) {
|
|
84
|
+
debug(`No "expo-platform" header or "platform" query parameter specified. Falling back to "ios".`);
|
|
85
|
+
platform = 'ios';
|
|
86
|
+
}
|
|
87
|
+
(0, _resolvePlatform.assertRuntimePlatform)(platform);
|
|
88
|
+
// Expo Updates clients explicitly accept "multipart/mixed" responses while browsers implicitly
|
|
89
|
+
// accept them with "accept: */*". To make it easier to debug manifest responses by visiting their
|
|
90
|
+
// URLs in a browser, we denote the response as "text/plain" if the user agent appears not to be
|
|
91
|
+
// an Expo Updates client.
|
|
92
|
+
const accept = (0, _accepts().default)(req);
|
|
93
|
+
const acceptedType = accept.types([
|
|
94
|
+
'unknown/unknown',
|
|
95
|
+
'multipart/mixed',
|
|
96
|
+
'application/json',
|
|
97
|
+
'application/expo+json',
|
|
98
|
+
'text/plain'
|
|
99
|
+
]);
|
|
100
|
+
let responseContentType;
|
|
101
|
+
switch(acceptedType){
|
|
102
|
+
case 'multipart/mixed':
|
|
103
|
+
responseContentType = 3;
|
|
104
|
+
break;
|
|
105
|
+
case 'application/json':
|
|
106
|
+
responseContentType = 1;
|
|
107
|
+
break;
|
|
108
|
+
case 'application/expo+json':
|
|
109
|
+
responseContentType = 2;
|
|
110
|
+
break;
|
|
111
|
+
default:
|
|
112
|
+
responseContentType = 0;
|
|
113
|
+
break;
|
|
114
|
+
}
|
|
115
|
+
const expectSignature = req.headers['expo-expect-signature'];
|
|
116
|
+
return {
|
|
117
|
+
responseContentType,
|
|
118
|
+
platform,
|
|
119
|
+
expectSignature: expectSignature ? String(expectSignature) : null,
|
|
120
|
+
hostname: (0, _url.stripPort)(req.headers['host']),
|
|
121
|
+
protocol: req.headers['x-forwarded-proto']
|
|
122
|
+
};
|
|
123
|
+
}
|
|
124
|
+
getDefaultResponseHeaders() {
|
|
125
|
+
const headers = new Headers();
|
|
126
|
+
// set required headers for Expo Updates manifest specification
|
|
127
|
+
headers.set('expo-protocol-version', '0');
|
|
128
|
+
headers.set('expo-sfv-version', '0');
|
|
129
|
+
headers.set('cache-control', 'private, max-age=0');
|
|
130
|
+
return headers;
|
|
131
|
+
}
|
|
132
|
+
async _getManifestResponseAsync(requestOptions) {
|
|
133
|
+
var _exp_extra_eas, _exp_extra;
|
|
134
|
+
const { exp, hostUri, expoGoConfig, bundleUrl } = await this._resolveProjectSettingsAsync(requestOptions);
|
|
135
|
+
const runtimeVersion = await (0, _resolveRuntimeVersionWithExpoUpdatesAsync.resolveRuntimeVersionWithExpoUpdatesAsync)({
|
|
136
|
+
projectRoot: this.projectRoot,
|
|
137
|
+
platform: requestOptions.platform
|
|
138
|
+
}) ?? // if expo-updates can't determine runtime version, fall back to calculation from config-plugin.
|
|
139
|
+
// this happens when expo-updates is installed but runtimeVersion hasn't yet been configured or when
|
|
140
|
+
// expo-updates is not installed.
|
|
141
|
+
await _configplugins().Updates.getRuntimeVersionAsync(this.projectRoot, {
|
|
142
|
+
...exp,
|
|
143
|
+
runtimeVersion: exp.runtimeVersion ?? {
|
|
144
|
+
policy: 'sdkVersion'
|
|
145
|
+
}
|
|
146
|
+
}, requestOptions.platform);
|
|
147
|
+
if (!runtimeVersion) {
|
|
148
|
+
throw new _errors.CommandError('MANIFEST_MIDDLEWARE', `Unable to determine runtime version for platform '${requestOptions.platform}'`);
|
|
149
|
+
}
|
|
150
|
+
const codeSigningInfo = await (0, _codesigning.getCodeSigningInfoAsync)(exp, requestOptions.expectSignature, this.options.privateKeyPath);
|
|
151
|
+
const easProjectId = (_exp_extra = exp.extra) == null ? void 0 : (_exp_extra_eas = _exp_extra.eas) == null ? void 0 : _exp_extra_eas.projectId;
|
|
152
|
+
const scopeKey = await ExpoGoManifestHandlerMiddleware.getScopeKeyAsync({
|
|
153
|
+
slug: exp.slug,
|
|
154
|
+
codeSigningInfo
|
|
155
|
+
});
|
|
156
|
+
const expoUpdatesManifest = {
|
|
157
|
+
id: _crypto().default.randomUUID(),
|
|
158
|
+
createdAt: new Date().toISOString(),
|
|
159
|
+
runtimeVersion,
|
|
160
|
+
launchAsset: {
|
|
161
|
+
key: 'bundle',
|
|
162
|
+
contentType: 'application/javascript',
|
|
163
|
+
url: bundleUrl
|
|
164
|
+
},
|
|
165
|
+
assets: [],
|
|
166
|
+
metadata: {},
|
|
167
|
+
extra: {
|
|
168
|
+
eas: {
|
|
169
|
+
projectId: easProjectId ?? undefined
|
|
170
|
+
},
|
|
171
|
+
expoClient: {
|
|
172
|
+
...exp,
|
|
173
|
+
hostUri
|
|
174
|
+
},
|
|
175
|
+
expoGo: expoGoConfig,
|
|
176
|
+
scopeKey
|
|
177
|
+
}
|
|
178
|
+
};
|
|
179
|
+
const stringifiedManifest = JSON.stringify(expoUpdatesManifest);
|
|
180
|
+
let manifestPartHeaders;
|
|
181
|
+
let certificateChainBody = null;
|
|
182
|
+
if (codeSigningInfo) {
|
|
183
|
+
const signature = (0, _codesigning.signManifestString)(stringifiedManifest, codeSigningInfo);
|
|
184
|
+
manifestPartHeaders = {
|
|
185
|
+
'expo-signature': (0, _structuredheaders().serializeDictionary)(convertToDictionaryItemsRepresentation({
|
|
186
|
+
keyid: codeSigningInfo.keyId,
|
|
187
|
+
sig: signature,
|
|
188
|
+
alg: 'rsa-v1_5-sha256'
|
|
189
|
+
}))
|
|
190
|
+
};
|
|
191
|
+
certificateChainBody = codeSigningInfo.certificateChainForResponse.join('\n');
|
|
192
|
+
}
|
|
193
|
+
switch(requestOptions.responseContentType){
|
|
194
|
+
case 3:
|
|
195
|
+
{
|
|
196
|
+
return this.encodeFormDataAsync({
|
|
197
|
+
stringifiedManifest,
|
|
198
|
+
manifestPartHeaders,
|
|
199
|
+
certificateChainBody
|
|
200
|
+
});
|
|
201
|
+
}
|
|
202
|
+
case 2:
|
|
203
|
+
case 1:
|
|
204
|
+
case 0:
|
|
205
|
+
{
|
|
206
|
+
const headers = this.getDefaultResponseHeaders();
|
|
207
|
+
headers.set('content-type', ExpoGoManifestHandlerMiddleware.getContentTypeForResponseContentType(requestOptions.responseContentType));
|
|
208
|
+
if (manifestPartHeaders == null ? void 0 : manifestPartHeaders['expo-signature']) {
|
|
209
|
+
headers.set('expo-signature', manifestPartHeaders['expo-signature']);
|
|
210
|
+
}
|
|
211
|
+
return new Response(stringifiedManifest, {
|
|
212
|
+
status: 200,
|
|
213
|
+
headers
|
|
214
|
+
});
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
static getContentTypeForResponseContentType(responseContentType) {
|
|
219
|
+
switch(responseContentType){
|
|
220
|
+
case 3:
|
|
221
|
+
return 'multipart/mixed';
|
|
222
|
+
case 2:
|
|
223
|
+
return 'application/expo+json';
|
|
224
|
+
case 1:
|
|
225
|
+
return 'application/json';
|
|
226
|
+
case 0:
|
|
227
|
+
return 'text/plain';
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
encodeFormDataAsync({ stringifiedManifest, manifestPartHeaders, certificateChainBody }) {
|
|
231
|
+
const parts = [
|
|
232
|
+
[
|
|
233
|
+
'manifest',
|
|
234
|
+
new (_multitars()).MultipartPart([
|
|
235
|
+
stringifiedManifest
|
|
236
|
+
], 'manifest', {
|
|
237
|
+
type: 'application/json',
|
|
238
|
+
headers: manifestPartHeaders
|
|
239
|
+
})
|
|
240
|
+
]
|
|
241
|
+
];
|
|
242
|
+
if (certificateChainBody && certificateChainBody.length > 0) {
|
|
243
|
+
parts.push([
|
|
244
|
+
'certificate_chain',
|
|
245
|
+
new (_multitars()).MultipartPart([
|
|
246
|
+
certificateChainBody
|
|
247
|
+
], 'certificate_chain', {
|
|
248
|
+
type: 'application/x-pem-file'
|
|
249
|
+
})
|
|
250
|
+
]);
|
|
251
|
+
}
|
|
252
|
+
const headers = this.getDefaultResponseHeaders();
|
|
253
|
+
headers.set('Content-Type', multipartMixedContentType);
|
|
254
|
+
return new Response((0, _multitars().iterableToStream)((0, _multitars().streamMultipart)(parts)), {
|
|
255
|
+
status: 200,
|
|
256
|
+
headers
|
|
257
|
+
});
|
|
258
|
+
}
|
|
259
|
+
static async getScopeKeyAsync({ slug, codeSigningInfo }) {
|
|
260
|
+
const scopeKeyFromCodeSigningInfo = codeSigningInfo == null ? void 0 : codeSigningInfo.scopeKey;
|
|
261
|
+
if (scopeKeyFromCodeSigningInfo) {
|
|
262
|
+
return scopeKeyFromCodeSigningInfo;
|
|
263
|
+
}
|
|
264
|
+
// Log.warn(
|
|
265
|
+
// env.EXPO_OFFLINE
|
|
266
|
+
// ? 'Using anonymous scope key in manifest for offline mode.'
|
|
267
|
+
// : 'Using anonymous scope key in manifest.'
|
|
268
|
+
// );
|
|
269
|
+
return await getAnonymousScopeKeyAsync(slug);
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
async function getAnonymousScopeKeyAsync(slug) {
|
|
273
|
+
const userAnonymousIdentifier = await (0, _UserSettings.getAnonymousIdAsync)();
|
|
274
|
+
return `@${_user.ANONYMOUS_USERNAME}/${slug}-${userAnonymousIdentifier}`;
|
|
275
|
+
}
|
|
276
|
+
function convertToDictionaryItemsRepresentation(obj) {
|
|
277
|
+
return new Map(Object.entries(obj).map(([k, v])=>{
|
|
278
|
+
return [
|
|
279
|
+
k,
|
|
280
|
+
[
|
|
281
|
+
v,
|
|
282
|
+
new Map()
|
|
283
|
+
]
|
|
284
|
+
];
|
|
285
|
+
}));
|
|
286
|
+
}
|
|
287
|
+
|
|
288
|
+
//# sourceMappingURL=ExpoGoManifestHandlerMiddleware.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../src/start/server/middleware/ExpoGoManifestHandlerMiddleware.ts"],"sourcesContent":["import { ExpoUpdatesManifest } from '@expo/config';\nimport { Updates } from '@expo/config-plugins';\nimport accepts from 'accepts';\nimport crypto from 'crypto';\nimport {\n iterableToStream,\n streamMultipart,\n multipartContentType,\n FormEntry,\n MultipartPart,\n} from 'multitars';\nimport { serializeDictionary, Dictionary } from 'structured-headers';\n\nimport { ManifestMiddleware, ManifestRequestInfo } from './ManifestMiddleware';\nimport { assertRuntimePlatform, parsePlatformHeader } from './resolvePlatform';\nimport { resolveRuntimeVersionWithExpoUpdatesAsync } from './resolveRuntimeVersionWithExpoUpdatesAsync';\nimport { ServerRequest } from './server.types';\nimport { getAnonymousIdAsync } from '../../../api/user/UserSettings';\nimport { ANONYMOUS_USERNAME } from '../../../api/user/user';\nimport {\n CodeSigningInfo,\n getCodeSigningInfoAsync,\n signManifestString,\n} from '../../../utils/codesigning';\nimport { CommandError } from '../../../utils/errors';\nimport { stripPort } from '../../../utils/url';\n\nconst MULTIPART_TYPE = 'multipart/form-data';\n\nconst debug = require('debug')('expo:start:server:middleware:ExpoGoManifestHandlerMiddleware');\n\nlet multipartMixedContentType = multipartContentType;\nif (multipartMixedContentType.startsWith(MULTIPART_TYPE)) {\n multipartMixedContentType =\n 'multipart/mixed' + multipartMixedContentType.slice(MULTIPART_TYPE.length);\n}\n\nexport enum ResponseContentType {\n TEXT_PLAIN,\n APPLICATION_JSON,\n APPLICATION_EXPO_JSON,\n MULTIPART_MIXED,\n}\n\ninterface ExpoGoManifestRequestInfo extends ManifestRequestInfo {\n responseContentType: ResponseContentType;\n expectSignature: string | null;\n}\n\nexport class ExpoGoManifestHandlerMiddleware extends ManifestMiddleware<ExpoGoManifestRequestInfo> {\n public getParsedHeaders(req: ServerRequest): ExpoGoManifestRequestInfo {\n let platform = parsePlatformHeader(req);\n\n if (!platform) {\n debug(\n `No \"expo-platform\" header or \"platform\" query parameter specified. Falling back to \"ios\".`\n );\n platform = 'ios';\n }\n\n assertRuntimePlatform(platform);\n\n // Expo Updates clients explicitly accept \"multipart/mixed\" responses while browsers implicitly\n // accept them with \"accept: */*\". To make it easier to debug manifest responses by visiting their\n // URLs in a browser, we denote the response as \"text/plain\" if the user agent appears not to be\n // an Expo Updates client.\n const accept = accepts(req);\n const acceptedType = accept.types([\n 'unknown/unknown',\n 'multipart/mixed',\n 'application/json',\n 'application/expo+json',\n 'text/plain',\n ]);\n\n let responseContentType;\n switch (acceptedType) {\n case 'multipart/mixed':\n responseContentType = ResponseContentType.MULTIPART_MIXED;\n break;\n case 'application/json':\n responseContentType = ResponseContentType.APPLICATION_JSON;\n break;\n case 'application/expo+json':\n responseContentType = ResponseContentType.APPLICATION_EXPO_JSON;\n break;\n default:\n responseContentType = ResponseContentType.TEXT_PLAIN;\n break;\n }\n\n const expectSignature = req.headers['expo-expect-signature'];\n\n return {\n responseContentType,\n platform,\n expectSignature: expectSignature ? String(expectSignature) : null,\n hostname: stripPort(req.headers['host']),\n protocol: req.headers['x-forwarded-proto'] as 'http' | 'https' | undefined,\n };\n }\n\n private getDefaultResponseHeaders(): Headers {\n const headers = new Headers();\n // set required headers for Expo Updates manifest specification\n headers.set('expo-protocol-version', '0');\n headers.set('expo-sfv-version', '0');\n headers.set('cache-control', 'private, max-age=0');\n return headers;\n }\n\n public async _getManifestResponseAsync(\n requestOptions: ExpoGoManifestRequestInfo\n ): Promise<Response> {\n const { exp, hostUri, expoGoConfig, bundleUrl } =\n await this._resolveProjectSettingsAsync(requestOptions);\n\n const runtimeVersion =\n (await resolveRuntimeVersionWithExpoUpdatesAsync({\n projectRoot: this.projectRoot,\n platform: requestOptions.platform,\n })) ??\n // if expo-updates can't determine runtime version, fall back to calculation from config-plugin.\n // this happens when expo-updates is installed but runtimeVersion hasn't yet been configured or when\n // expo-updates is not installed.\n (await Updates.getRuntimeVersionAsync(\n this.projectRoot,\n { ...exp, runtimeVersion: exp.runtimeVersion ?? { policy: 'sdkVersion' } },\n requestOptions.platform\n ));\n if (!runtimeVersion) {\n throw new CommandError(\n 'MANIFEST_MIDDLEWARE',\n `Unable to determine runtime version for platform '${requestOptions.platform}'`\n );\n }\n\n const codeSigningInfo = await getCodeSigningInfoAsync(\n exp,\n requestOptions.expectSignature,\n this.options.privateKeyPath\n );\n\n const easProjectId = exp.extra?.eas?.projectId as string | undefined | null;\n const scopeKey = await ExpoGoManifestHandlerMiddleware.getScopeKeyAsync({\n slug: exp.slug,\n codeSigningInfo,\n });\n\n const expoUpdatesManifest: ExpoUpdatesManifest = {\n id: crypto.randomUUID(),\n createdAt: new Date().toISOString(),\n runtimeVersion,\n launchAsset: {\n key: 'bundle',\n contentType: 'application/javascript',\n url: bundleUrl,\n },\n assets: [], // assets are not used in development\n metadata: {}, // required for the client to detect that this is an expo-updates manifest\n extra: {\n eas: {\n projectId: easProjectId ?? undefined,\n },\n expoClient: {\n ...exp,\n hostUri,\n },\n expoGo: expoGoConfig,\n scopeKey,\n },\n };\n\n const stringifiedManifest = JSON.stringify(expoUpdatesManifest);\n\n let manifestPartHeaders: { 'expo-signature': string } | undefined;\n let certificateChainBody: string | null = null;\n if (codeSigningInfo) {\n const signature = signManifestString(stringifiedManifest, codeSigningInfo);\n manifestPartHeaders = {\n 'expo-signature': serializeDictionary(\n convertToDictionaryItemsRepresentation({\n keyid: codeSigningInfo.keyId,\n sig: signature,\n alg: 'rsa-v1_5-sha256',\n })\n ),\n };\n certificateChainBody = codeSigningInfo.certificateChainForResponse.join('\\n');\n }\n\n switch (requestOptions.responseContentType) {\n case ResponseContentType.MULTIPART_MIXED: {\n return this.encodeFormDataAsync({\n stringifiedManifest,\n manifestPartHeaders,\n certificateChainBody,\n });\n }\n case ResponseContentType.APPLICATION_EXPO_JSON:\n case ResponseContentType.APPLICATION_JSON:\n case ResponseContentType.TEXT_PLAIN: {\n const headers = this.getDefaultResponseHeaders();\n headers.set(\n 'content-type',\n ExpoGoManifestHandlerMiddleware.getContentTypeForResponseContentType(\n requestOptions.responseContentType\n )\n );\n if (manifestPartHeaders?.['expo-signature']) {\n headers.set('expo-signature', manifestPartHeaders['expo-signature']);\n }\n return new Response(stringifiedManifest, { status: 200, headers });\n }\n }\n }\n\n private static getContentTypeForResponseContentType(\n responseContentType: ResponseContentType\n ): string {\n switch (responseContentType) {\n case ResponseContentType.MULTIPART_MIXED:\n return 'multipart/mixed';\n case ResponseContentType.APPLICATION_EXPO_JSON:\n return 'application/expo+json';\n case ResponseContentType.APPLICATION_JSON:\n return 'application/json';\n case ResponseContentType.TEXT_PLAIN:\n return 'text/plain';\n }\n }\n\n private encodeFormDataAsync({\n stringifiedManifest,\n manifestPartHeaders,\n certificateChainBody,\n }: {\n stringifiedManifest: string;\n manifestPartHeaders: { 'expo-signature': string } | undefined;\n certificateChainBody: string | null;\n }): Response {\n const parts: FormEntry[] = [\n [\n 'manifest',\n new MultipartPart([stringifiedManifest], 'manifest', {\n type: 'application/json',\n headers: manifestPartHeaders,\n }),\n ],\n ];\n if (certificateChainBody && certificateChainBody.length > 0) {\n parts.push([\n 'certificate_chain',\n new MultipartPart([certificateChainBody], 'certificate_chain', {\n type: 'application/x-pem-file',\n }),\n ]);\n }\n const headers = this.getDefaultResponseHeaders();\n headers.set('Content-Type', multipartMixedContentType);\n return new Response(iterableToStream(streamMultipart(parts)), { status: 200, headers });\n }\n\n private static async getScopeKeyAsync({\n slug,\n codeSigningInfo,\n }: {\n slug: string;\n codeSigningInfo: CodeSigningInfo | null;\n }): Promise<string> {\n const scopeKeyFromCodeSigningInfo = codeSigningInfo?.scopeKey;\n if (scopeKeyFromCodeSigningInfo) {\n return scopeKeyFromCodeSigningInfo;\n }\n\n // Log.warn(\n // env.EXPO_OFFLINE\n // ? 'Using anonymous scope key in manifest for offline mode.'\n // : 'Using anonymous scope key in manifest.'\n // );\n return await getAnonymousScopeKeyAsync(slug);\n }\n}\n\nasync function getAnonymousScopeKeyAsync(slug: string): Promise<string> {\n const userAnonymousIdentifier = await getAnonymousIdAsync();\n return `@${ANONYMOUS_USERNAME}/${slug}-${userAnonymousIdentifier}`;\n}\n\nfunction convertToDictionaryItemsRepresentation(obj: { [key: string]: string }): Dictionary {\n return new Map(\n Object.entries(obj).map(([k, v]) => {\n return [k, [v, new Map()]];\n })\n );\n}\n"],"names":["ExpoGoManifestHandlerMiddleware","ResponseContentType","MULTIPART_TYPE","debug","require","multipartMixedContentType","multipartContentType","startsWith","slice","length","ManifestMiddleware","getParsedHeaders","req","platform","parsePlatformHeader","assertRuntimePlatform","accept","accepts","acceptedType","types","responseContentType","expectSignature","headers","String","hostname","stripPort","protocol","getDefaultResponseHeaders","Headers","set","_getManifestResponseAsync","requestOptions","exp","hostUri","expoGoConfig","bundleUrl","_resolveProjectSettingsAsync","runtimeVersion","resolveRuntimeVersionWithExpoUpdatesAsync","projectRoot","Updates","getRuntimeVersionAsync","policy","CommandError","codeSigningInfo","getCodeSigningInfoAsync","options","privateKeyPath","easProjectId","extra","eas","projectId","scopeKey","getScopeKeyAsync","slug","expoUpdatesManifest","id","crypto","randomUUID","createdAt","Date","toISOString","launchAsset","key","contentType","url","assets","metadata","undefined","expoClient","expoGo","stringifiedManifest","JSON","stringify","manifestPartHeaders","certificateChainBody","signature","signManifestString","serializeDictionary","convertToDictionaryItemsRepresentation","keyid","keyId","sig","alg","certificateChainForResponse","join","encodeFormDataAsync","getContentTypeForResponseContentType","Response","status","parts","MultipartPart","type","push","iterableToStream","streamMultipart","scopeKeyFromCodeSigningInfo","getAnonymousScopeKeyAsync","userAnonymousIdentifier","getAnonymousIdAsync","ANONYMOUS_USERNAME","obj","Map","Object","entries","map","k","v"],"mappings":"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"}
|
|
@@ -0,0 +1,121 @@
|
|
|
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
|
+
ExpoMiddleware: function() {
|
|
13
|
+
return ExpoMiddleware;
|
|
14
|
+
},
|
|
15
|
+
disableResponseCache: function() {
|
|
16
|
+
return disableResponseCache;
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
function _url() {
|
|
20
|
+
const data = require("url");
|
|
21
|
+
_url = function() {
|
|
22
|
+
return data;
|
|
23
|
+
};
|
|
24
|
+
return data;
|
|
25
|
+
}
|
|
26
|
+
const _log = /*#__PURE__*/ _interop_require_wildcard(require("../../../log"));
|
|
27
|
+
function _getRequireWildcardCache(nodeInterop) {
|
|
28
|
+
if (typeof WeakMap !== "function") return null;
|
|
29
|
+
var cacheBabelInterop = new WeakMap();
|
|
30
|
+
var cacheNodeInterop = new WeakMap();
|
|
31
|
+
return (_getRequireWildcardCache = function(nodeInterop) {
|
|
32
|
+
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
|
33
|
+
})(nodeInterop);
|
|
34
|
+
}
|
|
35
|
+
function _interop_require_wildcard(obj, nodeInterop) {
|
|
36
|
+
if (!nodeInterop && obj && obj.__esModule) {
|
|
37
|
+
return obj;
|
|
38
|
+
}
|
|
39
|
+
if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
|
|
40
|
+
return {
|
|
41
|
+
default: obj
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
var cache = _getRequireWildcardCache(nodeInterop);
|
|
45
|
+
if (cache && cache.has(obj)) {
|
|
46
|
+
return cache.get(obj);
|
|
47
|
+
}
|
|
48
|
+
var newObj = {
|
|
49
|
+
__proto__: null
|
|
50
|
+
};
|
|
51
|
+
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
52
|
+
for(var key in obj){
|
|
53
|
+
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
54
|
+
var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
|
|
55
|
+
if (desc && (desc.get || desc.set)) {
|
|
56
|
+
Object.defineProperty(newObj, key, desc);
|
|
57
|
+
} else {
|
|
58
|
+
newObj[key] = obj[key];
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
newObj.default = obj;
|
|
63
|
+
if (cache) {
|
|
64
|
+
cache.set(obj, newObj);
|
|
65
|
+
}
|
|
66
|
+
return newObj;
|
|
67
|
+
}
|
|
68
|
+
class ExpoMiddleware {
|
|
69
|
+
constructor(projectRoot, supportedPaths){
|
|
70
|
+
this.projectRoot = projectRoot;
|
|
71
|
+
this.supportedPaths = supportedPaths;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Returns true when the middleware should handle the incoming server request.
|
|
75
|
+
* Exposed for testing.
|
|
76
|
+
*/ shouldHandleRequest(req) {
|
|
77
|
+
if (!req.url) {
|
|
78
|
+
return false;
|
|
79
|
+
}
|
|
80
|
+
const parsed = (0, _url().parse)(req.url);
|
|
81
|
+
// Strip the query params
|
|
82
|
+
if (!parsed.pathname) {
|
|
83
|
+
return false;
|
|
84
|
+
}
|
|
85
|
+
return this.supportedPaths.includes(parsed.pathname);
|
|
86
|
+
}
|
|
87
|
+
/** Create a server middleware handler. */ getHandler() {
|
|
88
|
+
const internalMiddleware = async (req, res, next)=>{
|
|
89
|
+
try {
|
|
90
|
+
return await this.handleRequestAsync(req, res, next);
|
|
91
|
+
} catch (error) {
|
|
92
|
+
_log.exception(error);
|
|
93
|
+
// 5xx = Server Error HTTP code
|
|
94
|
+
res.statusCode = 500;
|
|
95
|
+
if (typeof error === 'object' && error !== null) {
|
|
96
|
+
res.end(JSON.stringify({
|
|
97
|
+
error: error.toString()
|
|
98
|
+
}));
|
|
99
|
+
} else {
|
|
100
|
+
res.end(`Unexpected error: ${error}`);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
};
|
|
104
|
+
const middleware = async (req, res, next)=>{
|
|
105
|
+
if (!this.shouldHandleRequest(req)) {
|
|
106
|
+
return next();
|
|
107
|
+
}
|
|
108
|
+
return internalMiddleware(req, res, next);
|
|
109
|
+
};
|
|
110
|
+
middleware.internal = internalMiddleware;
|
|
111
|
+
return middleware;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
function disableResponseCache(res) {
|
|
115
|
+
res.setHeader('Cache-Control', 'private, no-cache, no-store, must-revalidate');
|
|
116
|
+
res.setHeader('Expires', '-1');
|
|
117
|
+
res.setHeader('Pragma', 'no-cache');
|
|
118
|
+
return res;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
//# sourceMappingURL=ExpoMiddleware.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../src/start/server/middleware/ExpoMiddleware.ts"],"sourcesContent":["import { parse } from 'url';\n\nimport { ServerNext, ServerRequest, ServerResponse } from './server.types';\nimport * as Log from '../../../log';\n\n/** Base middleware creator for Expo dev servers. */\nexport abstract class ExpoMiddleware {\n constructor(\n protected projectRoot: string,\n protected supportedPaths: string[]\n ) {}\n\n /**\n * Returns true when the middleware should handle the incoming server request.\n * Exposed for testing.\n */\n public shouldHandleRequest(req: ServerRequest): boolean {\n if (!req.url) {\n return false;\n }\n const parsed = parse(req.url);\n // Strip the query params\n if (!parsed.pathname) {\n return false;\n }\n\n return this.supportedPaths.includes(parsed.pathname);\n }\n\n abstract handleRequestAsync(\n req: ServerRequest,\n res: ServerResponse,\n next: ServerNext\n ): Promise<void>;\n\n /** Create a server middleware handler. */\n public getHandler() {\n const internalMiddleware = async (\n req: ServerRequest,\n res: ServerResponse,\n next: ServerNext\n ) => {\n try {\n return await this.handleRequestAsync(req, res, next);\n } catch (error: any) {\n Log.exception(error);\n // 5xx = Server Error HTTP code\n res.statusCode = 500;\n if (typeof error === 'object' && error !== null) {\n res.end(\n JSON.stringify({\n error: error.toString(),\n })\n );\n } else {\n res.end(`Unexpected error: ${error}`);\n }\n }\n };\n const middleware = async (req: ServerRequest, res: ServerResponse, next: ServerNext) => {\n if (!this.shouldHandleRequest(req)) {\n return next();\n }\n return internalMiddleware(req, res, next);\n };\n\n middleware.internal = internalMiddleware;\n\n return middleware;\n }\n}\n\nexport function disableResponseCache(res: ServerResponse): ServerResponse {\n res.setHeader('Cache-Control', 'private, no-cache, no-store, must-revalidate');\n res.setHeader('Expires', '-1');\n res.setHeader('Pragma', 'no-cache');\n return res;\n}\n"],"names":["ExpoMiddleware","disableResponseCache","constructor","projectRoot","supportedPaths","shouldHandleRequest","req","url","parsed","parse","pathname","includes","getHandler","internalMiddleware","res","next","handleRequestAsync","error","Log","exception","statusCode","end","JSON","stringify","toString","middleware","internal","setHeader"],"mappings":";;;;;;;;;;;IAMsBA,cAAc;eAAdA;;IAkENC,oBAAoB;eAApBA;;;;yBAxEM;;;;;;6DAGD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGd,MAAeD;IACpBE,YACE,AAAUC,WAAmB,EAC7B,AAAUC,cAAwB,CAClC;aAFUD,cAAAA;aACAC,iBAAAA;IACT;IAEH;;;GAGC,GACD,AAAOC,oBAAoBC,GAAkB,EAAW;QACtD,IAAI,CAACA,IAAIC,GAAG,EAAE;YACZ,OAAO;QACT;QACA,MAAMC,SAASC,IAAAA,YAAK,EAACH,IAAIC,GAAG;QAC5B,yBAAyB;QACzB,IAAI,CAACC,OAAOE,QAAQ,EAAE;YACpB,OAAO;QACT;QAEA,OAAO,IAAI,CAACN,cAAc,CAACO,QAAQ,CAACH,OAAOE,QAAQ;IACrD;IAQA,wCAAwC,GACxC,AAAOE,aAAa;QAClB,MAAMC,qBAAqB,OACzBP,KACAQ,KACAC;YAEA,IAAI;gBACF,OAAO,MAAM,IAAI,CAACC,kBAAkB,CAACV,KAAKQ,KAAKC;YACjD,EAAE,OAAOE,OAAY;gBACnBC,KAAIC,SAAS,CAACF;gBACd,+BAA+B;gBAC/BH,IAAIM,UAAU,GAAG;gBACjB,IAAI,OAAOH,UAAU,YAAYA,UAAU,MAAM;oBAC/CH,IAAIO,GAAG,CACLC,KAAKC,SAAS,CAAC;wBACbN,OAAOA,MAAMO,QAAQ;oBACvB;gBAEJ,OAAO;oBACLV,IAAIO,GAAG,CAAC,CAAC,kBAAkB,EAAEJ,OAAO;gBACtC;YACF;QACF;QACA,MAAMQ,aAAa,OAAOnB,KAAoBQ,KAAqBC;YACjE,IAAI,CAAC,IAAI,CAACV,mBAAmB,CAACC,MAAM;gBAClC,OAAOS;YACT;YACA,OAAOF,mBAAmBP,KAAKQ,KAAKC;QACtC;QAEAU,WAAWC,QAAQ,GAAGb;QAEtB,OAAOY;IACT;AACF;AAEO,SAASxB,qBAAqBa,GAAmB;IACtDA,IAAIa,SAAS,CAAC,iBAAiB;IAC/Bb,IAAIa,SAAS,CAAC,WAAW;IACzBb,IAAIa,SAAS,CAAC,UAAU;IACxB,OAAOb;AACT"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "FaviconMiddleware", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return FaviconMiddleware;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
const _ExpoMiddleware = require("./ExpoMiddleware");
|
|
12
|
+
const _favicon = require("../../../export/favicon");
|
|
13
|
+
const debug = require('debug')('expo:start:server:middleware:favicon');
|
|
14
|
+
class FaviconMiddleware extends _ExpoMiddleware.ExpoMiddleware {
|
|
15
|
+
constructor(projectRoot){
|
|
16
|
+
super(projectRoot, [
|
|
17
|
+
'/favicon.ico'
|
|
18
|
+
]), this.projectRoot = projectRoot;
|
|
19
|
+
}
|
|
20
|
+
async handleRequestAsync(req, res, next) {
|
|
21
|
+
if (![
|
|
22
|
+
'GET',
|
|
23
|
+
'HEAD'
|
|
24
|
+
].includes(req.method || '')) {
|
|
25
|
+
return next();
|
|
26
|
+
}
|
|
27
|
+
let faviconImageData;
|
|
28
|
+
try {
|
|
29
|
+
const data = await (0, _favicon.getFaviconFromExpoConfigAsync)(this.projectRoot, {
|
|
30
|
+
force: true
|
|
31
|
+
});
|
|
32
|
+
if (!data) {
|
|
33
|
+
debug('No favicon defined in the Expo Config, skipping generation.');
|
|
34
|
+
return next();
|
|
35
|
+
}
|
|
36
|
+
faviconImageData = data.source;
|
|
37
|
+
debug('✅ Generated favicon successfully.');
|
|
38
|
+
} catch (error) {
|
|
39
|
+
// Pass through on ENOENT errors
|
|
40
|
+
debug('Failed to generate favicon from Expo config:', error);
|
|
41
|
+
if (error.code === 'ENOENT') {
|
|
42
|
+
return next();
|
|
43
|
+
}
|
|
44
|
+
return next(error);
|
|
45
|
+
}
|
|
46
|
+
// Respond with the generated favicon file
|
|
47
|
+
res.setHeader('Content-Type', 'image/x-icon');
|
|
48
|
+
res.end(faviconImageData);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
//# sourceMappingURL=FaviconMiddleware.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../src/start/server/middleware/FaviconMiddleware.ts"],"sourcesContent":["import { ExpoMiddleware } from './ExpoMiddleware';\nimport { ServerNext, ServerRequest, ServerResponse } from './server.types';\nimport { getFaviconFromExpoConfigAsync } from '../../../export/favicon';\n\nconst debug = require('debug')('expo:start:server:middleware:favicon') as typeof console.log;\n\n/**\n * Middleware for generating a favicon.ico file for the current project if one doesn't exist.\n *\n * Test by making a get request with:\n * curl -v http://localhost:8081/favicon.ico\n */\nexport class FaviconMiddleware extends ExpoMiddleware {\n constructor(protected projectRoot: string) {\n super(projectRoot, ['/favicon.ico']);\n }\n\n async handleRequestAsync(\n req: ServerRequest,\n res: ServerResponse,\n next: ServerNext\n ): Promise<void> {\n if (!['GET', 'HEAD'].includes(req.method || '')) {\n return next();\n }\n\n let faviconImageData: Buffer | null;\n try {\n const data = await getFaviconFromExpoConfigAsync(this.projectRoot, { force: true });\n if (!data) {\n debug('No favicon defined in the Expo Config, skipping generation.');\n return next();\n }\n faviconImageData = data.source;\n debug('✅ Generated favicon successfully.');\n } catch (error: any) {\n // Pass through on ENOENT errors\n debug('Failed to generate favicon from Expo config:', error);\n if (error.code === 'ENOENT') {\n return next();\n }\n return next(error);\n }\n // Respond with the generated favicon file\n res.setHeader('Content-Type', 'image/x-icon');\n res.end(faviconImageData);\n }\n}\n"],"names":["FaviconMiddleware","debug","require","ExpoMiddleware","constructor","projectRoot","handleRequestAsync","req","res","next","includes","method","faviconImageData","data","getFaviconFromExpoConfigAsync","force","source","error","code","setHeader","end"],"mappings":";;;;+BAYaA;;;eAAAA;;;gCAZkB;yBAEe;AAE9C,MAAMC,QAAQC,QAAQ,SAAS;AAQxB,MAAMF,0BAA0BG,8BAAc;IACnDC,YAAY,AAAUC,WAAmB,CAAE;QACzC,KAAK,CAACA,aAAa;YAAC;SAAe,QADfA,cAAAA;IAEtB;IAEA,MAAMC,mBACJC,GAAkB,EAClBC,GAAmB,EACnBC,IAAgB,EACD;QACf,IAAI,CAAC;YAAC;YAAO;SAAO,CAACC,QAAQ,CAACH,IAAII,MAAM,IAAI,KAAK;YAC/C,OAAOF;QACT;QAEA,IAAIG;QACJ,IAAI;YACF,MAAMC,OAAO,MAAMC,IAAAA,sCAA6B,EAAC,IAAI,CAACT,WAAW,EAAE;gBAAEU,OAAO;YAAK;YACjF,IAAI,CAACF,MAAM;gBACTZ,MAAM;gBACN,OAAOQ;YACT;YACAG,mBAAmBC,KAAKG,MAAM;YAC9Bf,MAAM;QACR,EAAE,OAAOgB,OAAY;YACnB,gCAAgC;YAChChB,MAAM,gDAAgDgB;YACtD,IAAIA,MAAMC,IAAI,KAAK,UAAU;gBAC3B,OAAOT;YACT;YACA,OAAOA,KAAKQ;QACd;QACA,0CAA0C;QAC1CT,IAAIW,SAAS,CAAC,gBAAgB;QAC9BX,IAAIY,GAAG,CAACR;IACV;AACF"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "HistoryFallbackMiddleware", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return HistoryFallbackMiddleware;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
const _resolvePlatform = require("./resolvePlatform");
|
|
12
|
+
class HistoryFallbackMiddleware {
|
|
13
|
+
constructor(indexMiddleware){
|
|
14
|
+
this.indexMiddleware = indexMiddleware;
|
|
15
|
+
}
|
|
16
|
+
getHandler() {
|
|
17
|
+
return (req, res, next)=>{
|
|
18
|
+
const platform = (0, _resolvePlatform.parsePlatformHeader)(req);
|
|
19
|
+
if (!platform || platform === 'web') {
|
|
20
|
+
// Redirect unknown to the manifest handler while preserving the path.
|
|
21
|
+
// This implements the HTML5 history fallback API.
|
|
22
|
+
return this.indexMiddleware(req, res, next);
|
|
23
|
+
}
|
|
24
|
+
return next();
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
//# sourceMappingURL=HistoryFallbackMiddleware.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../src/start/server/middleware/HistoryFallbackMiddleware.ts"],"sourcesContent":["import { parsePlatformHeader } from './resolvePlatform';\nimport { ServerNext, ServerRequest, ServerResponse } from './server.types';\n\n/**\n * Create a web-only middleware which redirects to the index middleware without losing the path component.\n * This is useful for things like React Navigation which need to render the index.html and then direct the user in-memory.\n */\nexport class HistoryFallbackMiddleware {\n constructor(\n private indexMiddleware: (\n req: ServerRequest,\n res: ServerResponse,\n next: ServerNext\n ) => Promise<void>\n ) {}\n getHandler() {\n return (req: ServerRequest, res: ServerResponse, next: any) => {\n const platform = parsePlatformHeader(req);\n\n if (!platform || platform === 'web') {\n // Redirect unknown to the manifest handler while preserving the path.\n // This implements the HTML5 history fallback API.\n return this.indexMiddleware(req, res, next);\n }\n\n return next();\n };\n }\n}\n"],"names":["HistoryFallbackMiddleware","constructor","indexMiddleware","getHandler","req","res","next","platform","parsePlatformHeader"],"mappings":";;;;+BAOaA;;;eAAAA;;;iCAPuB;AAO7B,MAAMA;IACXC,YACE,AAAQC,eAIU,CAClB;aALQA,kBAAAA;IAKP;IACHC,aAAa;QACX,OAAO,CAACC,KAAoBC,KAAqBC;YAC/C,MAAMC,WAAWC,IAAAA,oCAAmB,EAACJ;YAErC,IAAI,CAACG,YAAYA,aAAa,OAAO;gBACnC,sEAAsE;gBACtE,kDAAkD;gBAClD,OAAO,IAAI,CAACL,eAAe,CAACE,KAAKC,KAAKC;YACxC;YAEA,OAAOA;QACT;IACF;AACF"}
|