@expo/cli 1.0.0-canary-20250320-7a205d3 → 1.0.0-canary-20250402-161f57b
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/bin/cli +93 -91
- package/build/bin/cli.map +1 -1
- package/build/metro-require/require.js +53 -52
- package/build/src/api/endpoint.js +6 -2
- package/build/src/api/endpoint.js.map +1 -1
- package/build/src/api/getExpoGoIntermediateCertificate.js +5 -3
- package/build/src/api/getExpoGoIntermediateCertificate.js.map +1 -1
- package/build/src/api/getExpoSchema.js +16 -12
- package/build/src/api/getExpoSchema.js.map +1 -1
- package/build/src/api/getNativeModuleVersions.js +6 -4
- package/build/src/api/getNativeModuleVersions.js.map +1 -1
- package/build/src/api/getProjectDevelopmentCertificate.js +5 -3
- package/build/src/api/getProjectDevelopmentCertificate.js.map +1 -1
- package/build/src/api/getVersions.js +7 -5
- package/build/src/api/getVersions.js.map +1 -1
- package/build/src/api/graphql/client.js +32 -26
- package/build/src/api/graphql/client.js.map +1 -1
- package/build/src/api/graphql/queries/AppQuery.js +6 -4
- package/build/src/api/graphql/queries/AppQuery.js.map +1 -1
- package/build/src/api/graphql/queries/UserQuery.js +5 -3
- package/build/src/api/graphql/queries/UserQuery.js.map +1 -1
- package/build/src/api/graphql/types/App.js +3 -1
- package/build/src/api/graphql/types/App.js.map +1 -1
- package/build/src/api/rest/cache/FileSystemResponseCache.js +36 -32
- package/build/src/api/rest/cache/FileSystemResponseCache.js.map +1 -1
- package/build/src/api/rest/cache/ResponseCache.js +20 -12
- package/build/src/api/rest/cache/ResponseCache.js.map +1 -1
- package/build/src/api/rest/cache/wrapFetchWithCache.js +13 -11
- package/build/src/api/rest/cache/wrapFetchWithCache.js.map +1 -1
- package/build/src/api/rest/client.js +55 -37
- package/build/src/api/rest/client.js.map +1 -1
- package/build/src/api/rest/client.types.js.map +1 -1
- package/build/src/api/rest/wrapFetchWithBaseUrl.js +5 -3
- package/build/src/api/rest/wrapFetchWithBaseUrl.js.map +1 -1
- package/build/src/api/rest/wrapFetchWithOffline.js +5 -3
- package/build/src/api/rest/wrapFetchWithOffline.js.map +1 -1
- package/build/src/api/rest/wrapFetchWithProgress.js +11 -7
- package/build/src/api/rest/wrapFetchWithProgress.js.map +1 -1
- package/build/src/api/rest/wrapFetchWithProxy.js +5 -3
- package/build/src/api/rest/wrapFetchWithProxy.js.map +1 -1
- package/build/src/api/rest/wrapFetchWithUserAgent.js +8 -6
- package/build/src/api/rest/wrapFetchWithUserAgent.js.map +1 -1
- package/build/src/api/settings.js +7 -5
- package/build/src/api/settings.js.map +1 -1
- package/build/src/api/updateDevelopmentSession.js +23 -17
- package/build/src/api/updateDevelopmentSession.js.map +1 -1
- package/build/src/api/user/UserSettings.js +53 -31
- package/build/src/api/user/UserSettings.js.map +1 -1
- package/build/src/api/user/actions.js +27 -21
- package/build/src/api/user/actions.js.map +1 -1
- package/build/src/api/user/expoSsoLauncher.js +30 -26
- package/build/src/api/user/expoSsoLauncher.js.map +1 -1
- package/build/src/api/user/otp.js +35 -29
- package/build/src/api/user/otp.js.map +1 -1
- package/build/src/api/user/user.js +44 -30
- package/build/src/api/user/user.js.map +1 -1
- package/build/src/config/configAsync.js +29 -23
- package/build/src/config/configAsync.js.map +1 -1
- package/build/src/config/index.js +25 -21
- package/build/src/config/index.js.map +1 -1
- package/build/src/customize/customizeAsync.js +8 -6
- package/build/src/customize/customizeAsync.js.map +1 -1
- package/build/src/customize/generate.js +20 -16
- package/build/src/customize/generate.js.map +1 -1
- package/build/src/customize/index.js +14 -12
- package/build/src/customize/index.js.map +1 -1
- package/build/src/customize/resolveOptions.js +4 -2
- package/build/src/customize/resolveOptions.js.map +1 -1
- package/build/src/customize/templates.js +58 -54
- package/build/src/customize/templates.js.map +1 -1
- package/build/src/customize/typescript.js +11 -7
- package/build/src/customize/typescript.js.map +1 -1
- package/build/src/export/createMetadataJson.js +11 -9
- package/build/src/export/createMetadataJson.js.map +1 -1
- package/build/src/export/embed/exportEager.js +8 -6
- package/build/src/export/embed/exportEager.js.map +1 -1
- package/build/src/export/embed/exportEmbedAsync.js +72 -62
- package/build/src/export/embed/exportEmbedAsync.js.map +1 -1
- package/build/src/export/embed/exportServer.js +57 -55
- package/build/src/export/embed/exportServer.js.map +1 -1
- package/build/src/export/embed/index.js +44 -40
- package/build/src/export/embed/index.js.map +1 -1
- package/build/src/export/embed/resolveOptions.js +44 -36
- package/build/src/export/embed/resolveOptions.js.map +1 -1
- package/build/src/export/embed/xcodeCompilerLogger.js +39 -27
- package/build/src/export/embed/xcodeCompilerLogger.js.map +1 -1
- package/build/src/export/exportApp.js +68 -64
- package/build/src/export/exportApp.js.map +1 -1
- package/build/src/export/exportAssets.js +34 -26
- package/build/src/export/exportAssets.js.map +1 -1
- package/build/src/export/exportAsync.js +13 -9
- package/build/src/export/exportAsync.js.map +1 -1
- package/build/src/export/exportDomComponents.js +53 -45
- package/build/src/export/exportDomComponents.js.map +1 -1
- package/build/src/export/exportHermes.js +75 -53
- package/build/src/export/exportHermes.js.map +1 -1
- package/build/src/export/exportStaticAsync.js +73 -62
- package/build/src/export/exportStaticAsync.js.map +1 -1
- package/build/src/export/favicon.js +33 -27
- package/build/src/export/favicon.js.map +1 -1
- package/build/src/export/getPublicExpoManifest.js +7 -5
- package/build/src/export/getPublicExpoManifest.js.map +1 -1
- package/build/src/export/getResolvedLocales.js +11 -9
- package/build/src/export/getResolvedLocales.js.map +1 -1
- package/build/src/export/html.js +10 -6
- package/build/src/export/html.js.map +1 -1
- package/build/src/export/index.js +32 -28
- package/build/src/export/index.js.map +1 -1
- package/build/src/export/metroAssetLocalPath.js +36 -30
- package/build/src/export/metroAssetLocalPath.js.map +1 -1
- package/build/src/export/persistMetroAssets.js +64 -34
- package/build/src/export/persistMetroAssets.js.map +1 -1
- package/build/src/export/publicFolder.js +10 -6
- package/build/src/export/publicFolder.js.map +1 -1
- package/build/src/export/resolveOptions.js +28 -24
- package/build/src/export/resolveOptions.js.map +1 -1
- package/build/src/export/saveAssets.js +50 -46
- package/build/src/export/saveAssets.js.map +1 -1
- package/build/src/export/web/exportWebAsync.js +13 -11
- package/build/src/export/web/exportWebAsync.js.map +1 -1
- package/build/src/export/web/index.js +19 -15
- package/build/src/export/web/index.js.map +1 -1
- package/build/src/export/web/resolveOptions.js +5 -3
- package/build/src/export/web/resolveOptions.js.map +1 -1
- package/build/src/export/writeContents.js +4 -2
- package/build/src/export/writeContents.js.map +1 -1
- package/build/src/graphql/generated.js +705 -479
- package/build/src/graphql/generated.js.map +1 -1
- package/build/src/install/applyPlugins.js +11 -7
- package/build/src/install/applyPlugins.js.map +1 -1
- package/build/src/install/checkPackages.js +26 -22
- package/build/src/install/checkPackages.js.map +1 -1
- package/build/src/install/fixPackages.js +16 -12
- package/build/src/install/fixPackages.js.map +1 -1
- package/build/src/install/index.js +18 -16
- package/build/src/install/index.js.map +1 -1
- package/build/src/install/installAsync.js +32 -26
- package/build/src/install/installAsync.js.map +1 -1
- package/build/src/install/installExpoPackage.js +22 -18
- package/build/src/install/installExpoPackage.js.map +1 -1
- package/build/src/install/resolveOptions.js +21 -19
- package/build/src/install/resolveOptions.js.map +1 -1
- package/build/src/install/utils/autoAddConfigPlugins.js +18 -14
- package/build/src/install/utils/autoAddConfigPlugins.js.map +1 -1
- package/build/src/install/utils/checkPackagesCompatibility.js +14 -12
- package/build/src/install/utils/checkPackagesCompatibility.js.map +1 -1
- package/build/src/lint/ESlintPrerequisite.js +50 -44
- package/build/src/lint/ESlintPrerequisite.js.map +1 -1
- package/build/src/lint/index.js +12 -8
- package/build/src/lint/index.js.map +1 -1
- package/build/src/lint/lintAsync.js +10 -8
- package/build/src/lint/lintAsync.js.map +1 -1
- package/build/src/log.js +36 -16
- package/build/src/log.js.map +1 -1
- package/build/src/login/index.js +24 -20
- package/build/src/login/index.js.map +1 -1
- package/build/src/logout/index.js +11 -7
- package/build/src/logout/index.js.map +1 -1
- package/build/src/prebuild/clearNativeFolder.js +38 -26
- package/build/src/prebuild/clearNativeFolder.js.map +1 -1
- package/build/src/prebuild/configureProjectAsync.js +18 -14
- package/build/src/prebuild/configureProjectAsync.js.map +1 -1
- package/build/src/prebuild/copyTemplateFiles.js +17 -13
- package/build/src/prebuild/copyTemplateFiles.js.map +1 -1
- package/build/src/prebuild/ensureConfigAsync.js +6 -4
- package/build/src/prebuild/ensureConfigAsync.js.map +1 -1
- package/build/src/prebuild/index.js +36 -32
- package/build/src/prebuild/index.js.map +1 -1
- package/build/src/prebuild/prebuildAsync.js +29 -25
- package/build/src/prebuild/prebuildAsync.js.map +1 -1
- package/build/src/prebuild/renameTemplateAppName.js +43 -37
- package/build/src/prebuild/renameTemplateAppName.js.map +1 -1
- package/build/src/prebuild/resolveOptions.js +70 -53
- package/build/src/prebuild/resolveOptions.js.map +1 -1
- package/build/src/prebuild/resolveTemplate.js +36 -32
- package/build/src/prebuild/resolveTemplate.js.map +1 -1
- package/build/src/prebuild/updateFromTemplate.js +19 -13
- package/build/src/prebuild/updateFromTemplate.js.map +1 -1
- package/build/src/prebuild/updatePackageJson.js +53 -39
- package/build/src/prebuild/updatePackageJson.js.map +1 -1
- package/build/src/prebuild/validateTemplatePlatforms.js +12 -8
- package/build/src/prebuild/validateTemplatePlatforms.js.map +1 -1
- package/build/src/register/index.js +11 -7
- package/build/src/register/index.js.map +1 -1
- package/build/src/register/registerAsync.js +5 -3
- package/build/src/register/registerAsync.js.map +1 -1
- package/build/src/run/android/index.js +36 -32
- package/build/src/run/android/index.js.map +1 -1
- package/build/src/run/android/resolveDevice.js +10 -8
- package/build/src/run/android/resolveDevice.js.map +1 -1
- package/build/src/run/android/resolveGradlePropsAsync.js +18 -16
- package/build/src/run/android/resolveGradlePropsAsync.js.map +1 -1
- package/build/src/run/android/resolveInstallApkName.js +17 -15
- package/build/src/run/android/resolveInstallApkName.js.map +1 -1
- package/build/src/run/android/resolveLaunchProps.js +12 -10
- package/build/src/run/android/resolveLaunchProps.js.map +1 -1
- package/build/src/run/android/resolveOptions.js +4 -2
- package/build/src/run/android/resolveOptions.js.map +1 -1
- package/build/src/run/android/runAndroidAsync.js +23 -21
- package/build/src/run/android/runAndroidAsync.js.map +1 -1
- package/build/src/run/ensureNativeProject.js +7 -5
- package/build/src/run/ensureNativeProject.js.map +1 -1
- package/build/src/run/hints.js +13 -7
- package/build/src/run/hints.js.map +1 -1
- package/build/src/run/index.js +27 -23
- package/build/src/run/index.js.map +1 -1
- package/build/src/run/ios/XcodeBuild.js +80 -60
- package/build/src/run/ios/XcodeBuild.js.map +1 -1
- package/build/src/run/ios/XcodeBuild.types.js.map +1 -1
- package/build/src/run/ios/appleDevice/AppleDevice.js +69 -63
- package/build/src/run/ios/appleDevice/AppleDevice.js.map +1 -1
- package/build/src/run/ios/appleDevice/ClientManager.js +29 -26
- package/build/src/run/ios/appleDevice/ClientManager.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/AFCClient.js +28 -25
- package/build/src/run/ios/appleDevice/client/AFCClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/DebugserverClient.js +29 -26
- package/build/src/run/ios/appleDevice/client/DebugserverClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/InstallationProxyClient.js +22 -21
- package/build/src/run/ios/appleDevice/client/InstallationProxyClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/LockdowndClient.js +32 -29
- package/build/src/run/ios/appleDevice/client/LockdowndClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/MobileImageMounterClient.js +28 -24
- package/build/src/run/ios/appleDevice/client/MobileImageMounterClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/ServiceClient.js +7 -4
- package/build/src/run/ios/appleDevice/client/ServiceClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/UsbmuxdClient.js +28 -27
- package/build/src/run/ios/appleDevice/client/UsbmuxdClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/installOnDeviceAsync.js +23 -17
- package/build/src/run/ios/appleDevice/installOnDeviceAsync.js.map +1 -1
- package/build/src/run/ios/appleDevice/protocol/AFCProtocol.js +146 -132
- package/build/src/run/ios/appleDevice/protocol/AFCProtocol.js.map +1 -1
- package/build/src/run/ios/appleDevice/protocol/AbstractProtocol.js +29 -21
- package/build/src/run/ios/appleDevice/protocol/AbstractProtocol.js.map +1 -1
- package/build/src/run/ios/appleDevice/protocol/GDBProtocol.js +29 -21
- package/build/src/run/ios/appleDevice/protocol/GDBProtocol.js.map +1 -1
- package/build/src/run/ios/appleDevice/protocol/LockdownProtocol.js +34 -22
- package/build/src/run/ios/appleDevice/protocol/LockdownProtocol.js.map +1 -1
- package/build/src/run/ios/appleDevice/protocol/UsbmuxProtocol.js +27 -17
- package/build/src/run/ios/appleDevice/protocol/UsbmuxProtocol.js.map +1 -1
- package/build/src/run/ios/codeSigning/Security.js +53 -39
- package/build/src/run/ios/codeSigning/Security.js.map +1 -1
- package/build/src/run/ios/codeSigning/configureCodeSigning.js +13 -9
- package/build/src/run/ios/codeSigning/configureCodeSigning.js.map +1 -1
- package/build/src/run/ios/codeSigning/resolveCertificateSigningIdentity.js +27 -19
- package/build/src/run/ios/codeSigning/resolveCertificateSigningIdentity.js.map +1 -1
- package/build/src/run/ios/codeSigning/settings.js +9 -5
- package/build/src/run/ios/codeSigning/settings.js.map +1 -1
- package/build/src/run/ios/codeSigning/simulatorCodeSigning.js +14 -12
- package/build/src/run/ios/codeSigning/simulatorCodeSigning.js.map +1 -1
- package/build/src/run/ios/codeSigning/xcodeCodeSigning.js +27 -21
- package/build/src/run/ios/codeSigning/xcodeCodeSigning.js.map +1 -1
- package/build/src/run/ios/index.js +40 -36
- package/build/src/run/ios/index.js.map +1 -1
- package/build/src/run/ios/launchApp.js +23 -17
- package/build/src/run/ios/launchApp.js.map +1 -1
- package/build/src/run/ios/options/appleDestinations.js +38 -36
- package/build/src/run/ios/options/appleDestinations.js.map +1 -1
- package/build/src/run/ios/options/promptDevice.js +20 -16
- package/build/src/run/ios/options/promptDevice.js.map +1 -1
- package/build/src/run/ios/options/resolveDevice.js +30 -24
- package/build/src/run/ios/options/resolveDevice.js.map +1 -1
- package/build/src/run/ios/options/resolveNativeScheme.js +31 -23
- package/build/src/run/ios/options/resolveNativeScheme.js.map +1 -1
- package/build/src/run/ios/options/resolveOptions.js +7 -5
- package/build/src/run/ios/options/resolveOptions.js.map +1 -1
- package/build/src/run/ios/options/resolveXcodeProject.js +7 -5
- package/build/src/run/ios/options/resolveXcodeProject.js.map +1 -1
- package/build/src/run/ios/runIosAsync.js +48 -44
- package/build/src/run/ios/runIosAsync.js.map +1 -1
- package/build/src/run/ios/validateExternalBinary.js +24 -22
- package/build/src/run/ios/validateExternalBinary.js.map +1 -1
- package/build/src/run/resolveBundlerProps.js +4 -2
- package/build/src/run/resolveBundlerProps.js.map +1 -1
- package/build/src/run/startBundler.js +16 -12
- package/build/src/run/startBundler.js.map +1 -1
- package/build/src/serve/index.js +20 -16
- package/build/src/serve/index.js.map +1 -1
- package/build/src/serve/serveAsync.js +36 -32
- package/build/src/serve/serveAsync.js.map +1 -1
- package/build/src/start/detectDevClient.js +13 -9
- package/build/src/start/detectDevClient.js.map +1 -1
- package/build/src/start/doctor/Prerequisite.js +12 -7
- package/build/src/start/doctor/Prerequisite.js.map +1 -1
- package/build/src/start/doctor/SecurityBinPrerequisite.js +13 -11
- package/build/src/start/doctor/SecurityBinPrerequisite.js.map +1 -1
- package/build/src/start/doctor/apple/SimulatorAppPrerequisite.js +23 -19
- package/build/src/start/doctor/apple/SimulatorAppPrerequisite.js.map +1 -1
- package/build/src/start/doctor/apple/XcodeDeveloperDiskImagePrerequisite.js +23 -19
- package/build/src/start/doctor/apple/XcodeDeveloperDiskImagePrerequisite.js.map +1 -1
- package/build/src/start/doctor/apple/XcodePrerequisite.js +51 -45
- package/build/src/start/doctor/apple/XcodePrerequisite.js.map +1 -1
- package/build/src/start/doctor/apple/XcrunPrerequisite.js +18 -16
- package/build/src/start/doctor/apple/XcrunPrerequisite.js.map +1 -1
- package/build/src/start/doctor/dependencies/bundledNativeModules.js +23 -19
- package/build/src/start/doctor/dependencies/bundledNativeModules.js.map +1 -1
- package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js +31 -25
- package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js.map +1 -1
- package/build/src/start/doctor/dependencies/getMissingPackages.js +25 -17
- package/build/src/start/doctor/dependencies/getMissingPackages.js.map +1 -1
- package/build/src/start/doctor/dependencies/getVersionedPackages.js +40 -32
- package/build/src/start/doctor/dependencies/getVersionedPackages.js.map +1 -1
- package/build/src/start/doctor/dependencies/resolvePackages.js +32 -26
- package/build/src/start/doctor/dependencies/resolvePackages.js.map +1 -1
- package/build/src/start/doctor/dependencies/validateDependenciesVersions.js +41 -31
- package/build/src/start/doctor/dependencies/validateDependenciesVersions.js.map +1 -1
- package/build/src/start/doctor/ngrok/ExternalModule.js +34 -29
- package/build/src/start/doctor/ngrok/ExternalModule.js.map +1 -1
- package/build/src/start/doctor/ngrok/NgrokResolver.js +12 -8
- package/build/src/start/doctor/ngrok/NgrokResolver.js.map +1 -1
- package/build/src/start/doctor/typescript/TypeScriptProjectPrerequisite.js +32 -28
- package/build/src/start/doctor/typescript/TypeScriptProjectPrerequisite.js.map +1 -1
- package/build/src/start/doctor/typescript/updateTSConfig.js +23 -17
- package/build/src/start/doctor/typescript/updateTSConfig.js.map +1 -1
- package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js +33 -27
- package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js.map +1 -1
- package/build/src/start/index.js +46 -42
- package/build/src/start/index.js.map +1 -1
- package/build/src/start/interface/KeyPressHandler.js +18 -14
- package/build/src/start/interface/KeyPressHandler.js.map +1 -1
- package/build/src/start/interface/commandsTable.js +94 -80
- package/build/src/start/interface/commandsTable.js.map +1 -1
- package/build/src/start/interface/interactiveActions.js +44 -40
- package/build/src/start/interface/interactiveActions.js.map +1 -1
- package/build/src/start/interface/startInterface.js +65 -61
- package/build/src/start/interface/startInterface.js.map +1 -1
- package/build/src/start/platforms/AppIdResolver.js +6 -4
- package/build/src/start/platforms/AppIdResolver.js.map +1 -1
- package/build/src/start/platforms/DeviceManager.js +10 -6
- package/build/src/start/platforms/DeviceManager.js.map +1 -1
- package/build/src/start/platforms/ExpoGoInstaller.js +25 -20
- package/build/src/start/platforms/ExpoGoInstaller.js.map +1 -1
- package/build/src/start/platforms/PlatformManager.js +17 -15
- package/build/src/start/platforms/PlatformManager.js.map +1 -1
- package/build/src/start/platforms/android/ADBServer.js +39 -35
- package/build/src/start/platforms/android/ADBServer.js.map +1 -1
- package/build/src/start/platforms/android/AndroidAppIdResolver.js +18 -16
- package/build/src/start/platforms/android/AndroidAppIdResolver.js.map +1 -1
- package/build/src/start/platforms/android/AndroidDeviceManager.js +24 -20
- package/build/src/start/platforms/android/AndroidDeviceManager.js.map +1 -1
- package/build/src/start/platforms/android/AndroidPlatformManager.js +17 -17
- package/build/src/start/platforms/android/AndroidPlatformManager.js.map +1 -1
- package/build/src/start/platforms/android/AndroidSdk.js +11 -9
- package/build/src/start/platforms/android/AndroidSdk.js.map +1 -1
- package/build/src/start/platforms/android/activateWindow.js +26 -22
- package/build/src/start/platforms/android/activateWindow.js.map +1 -1
- package/build/src/start/platforms/android/adb.js +121 -83
- package/build/src/start/platforms/android/adb.js.map +1 -1
- package/build/src/start/platforms/android/adbReverse.js +20 -12
- package/build/src/start/platforms/android/adbReverse.js.map +1 -1
- package/build/src/start/platforms/android/emulator.js +36 -26
- package/build/src/start/platforms/android/emulator.js.map +1 -1
- package/build/src/start/platforms/android/getDevices.js +7 -5
- package/build/src/start/platforms/android/getDevices.js.map +1 -1
- package/build/src/start/platforms/android/gradle.js +36 -28
- package/build/src/start/platforms/android/gradle.js.map +1 -1
- package/build/src/start/platforms/android/promptAndroidDevice.js +19 -15
- package/build/src/start/platforms/android/promptAndroidDevice.js.map +1 -1
- package/build/src/start/platforms/ios/AppleAppIdResolver.js +21 -19
- package/build/src/start/platforms/ios/AppleAppIdResolver.js.map +1 -1
- package/build/src/start/platforms/ios/AppleDeviceManager.js +37 -31
- package/build/src/start/platforms/ios/AppleDeviceManager.js.map +1 -1
- package/build/src/start/platforms/ios/ApplePlatformManager.js +12 -12
- package/build/src/start/platforms/ios/ApplePlatformManager.js.map +1 -1
- package/build/src/start/platforms/ios/assertSystemRequirements.js +9 -7
- package/build/src/start/platforms/ios/assertSystemRequirements.js.map +1 -1
- package/build/src/start/platforms/ios/devicectl.js +88 -74
- package/build/src/start/platforms/ios/devicectl.js.map +1 -1
- package/build/src/start/platforms/ios/ensureSimulatorAppRunning.js +22 -18
- package/build/src/start/platforms/ios/ensureSimulatorAppRunning.js.map +1 -1
- package/build/src/start/platforms/ios/getBestSimulator.js +29 -19
- package/build/src/start/platforms/ios/getBestSimulator.js.map +1 -1
- package/build/src/start/platforms/ios/promptAppleDevice.js +14 -10
- package/build/src/start/platforms/ios/promptAppleDevice.js.map +1 -1
- package/build/src/start/platforms/ios/simctl.js +102 -74
- package/build/src/start/platforms/ios/simctl.js.map +1 -1
- package/build/src/start/platforms/ios/simctlLogging.js +57 -52
- package/build/src/start/platforms/ios/simctlLogging.js.map +1 -1
- package/build/src/start/platforms/ios/xcrun.js +22 -18
- package/build/src/start/platforms/ios/xcrun.js.map +1 -1
- package/build/src/start/project/devices.js +19 -9
- package/build/src/start/project/devices.js.map +1 -1
- package/build/src/start/project/dotExpo.js +15 -11
- package/build/src/start/project/dotExpo.js.map +1 -1
- package/build/src/start/project/settings.js +4 -2
- package/build/src/start/project/settings.js.map +1 -1
- package/build/src/start/resolveOptions.js +48 -40
- package/build/src/start/resolveOptions.js.map +1 -1
- package/build/src/start/server/AsyncNgrok.js +55 -51
- package/build/src/start/server/AsyncNgrok.js.map +1 -1
- package/build/src/start/server/AsyncWsTunnel.js +37 -33
- package/build/src/start/server/AsyncWsTunnel.js.map +1 -1
- package/build/src/start/server/BundlerDevServer.js +81 -79
- package/build/src/start/server/BundlerDevServer.js.map +1 -1
- package/build/src/start/server/DevServerManager.js +42 -38
- package/build/src/start/server/DevServerManager.js.map +1 -1
- package/build/src/start/server/DevToolsPluginManager.js +18 -14
- package/build/src/start/server/DevToolsPluginManager.js.map +1 -1
- package/build/src/start/server/DevelopmentSession.js +18 -14
- package/build/src/start/server/DevelopmentSession.js.map +1 -1
- package/build/src/start/server/ReactDevToolsProxy.js +16 -10
- package/build/src/start/server/ReactDevToolsProxy.js.map +1 -1
- package/build/src/start/server/UrlCreator.js +36 -33
- package/build/src/start/server/UrlCreator.js.map +1 -1
- package/build/src/start/server/getStaticRenderFunctions.js +30 -22
- package/build/src/start/server/getStaticRenderFunctions.js.map +1 -1
- package/build/src/start/server/metro/DevToolsPluginWebsocketEndpoint.js +9 -5
- package/build/src/start/server/metro/DevToolsPluginWebsocketEndpoint.js.map +1 -1
- package/build/src/start/server/metro/MetroBundlerDevServer.js +293 -280
- package/build/src/start/server/metro/MetroBundlerDevServer.js.map +1 -1
- package/build/src/start/server/metro/MetroTerminalReporter.js +63 -56
- package/build/src/start/server/metro/MetroTerminalReporter.js.map +1 -1
- package/build/src/start/server/metro/TerminalReporter.js +39 -33
- package/build/src/start/server/metro/TerminalReporter.js.map +1 -1
- package/build/src/start/server/metro/TerminalReporter.types.js.map +1 -1
- package/build/src/start/server/metro/createExpoFallbackResolver.js +13 -11
- package/build/src/start/server/metro/createExpoFallbackResolver.js.map +1 -1
- package/build/src/start/server/metro/createExpoMetroResolver.js +47 -41
- package/build/src/start/server/metro/createExpoMetroResolver.js.map +1 -1
- package/build/src/start/server/metro/createJResolver.js +31 -27
- package/build/src/start/server/metro/createJResolver.js.map +1 -1
- package/build/src/start/server/metro/createServerComponentsMiddleware.js +110 -98
- package/build/src/start/server/metro/createServerComponentsMiddleware.js.map +1 -1
- package/build/src/start/server/metro/createServerRouteMiddleware.js +34 -30
- package/build/src/start/server/metro/createServerRouteMiddleware.js.map +1 -1
- package/build/src/start/server/metro/debugging/AtlasPrerequisite.js +13 -11
- package/build/src/start/server/metro/debugging/AtlasPrerequisite.js.map +1 -1
- package/build/src/start/server/metro/debugging/MessageHandler.js +3 -1
- package/build/src/start/server/metro/debugging/MessageHandler.js.map +1 -1
- package/build/src/start/server/metro/debugging/attachAtlas.js +26 -22
- package/build/src/start/server/metro/debugging/attachAtlas.js.map +1 -1
- package/build/src/start/server/metro/debugging/createDebugMiddleware.js +19 -17
- package/build/src/start/server/metro/debugging/createDebugMiddleware.js.map +1 -1
- package/build/src/start/server/metro/debugging/createHandlersFactory.js +25 -31
- package/build/src/start/server/metro/debugging/createHandlersFactory.js.map +1 -1
- package/build/src/start/server/metro/debugging/getDebuggerType.js +6 -4
- package/build/src/start/server/metro/debugging/getDebuggerType.js.map +1 -1
- package/build/src/start/server/metro/debugging/messageHandlers/NetworkResponse.js +14 -8
- package/build/src/start/server/metro/debugging/messageHandlers/NetworkResponse.js.map +1 -1
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerGetPossibleBreakpoints.js +7 -5
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerGetPossibleBreakpoints.js.map +1 -1
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerSetBreakpointByUrl.js +8 -6
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerSetBreakpointByUrl.js.map +1 -1
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeCallFunctionOn.js +7 -5
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeCallFunctionOn.js.map +1 -1
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeEvaluate.js +14 -12
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeEvaluate.js.map +1 -1
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeGetProperties.js +14 -10
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeGetProperties.js.map +1 -1
- package/build/src/start/server/metro/debugging/pageIsSupported.js +6 -4
- package/build/src/start/server/metro/debugging/pageIsSupported.js.map +1 -1
- package/build/src/start/server/metro/debugging/types.js.map +1 -1
- package/build/src/start/server/metro/dev-server/createEventSocket.js +18 -16
- package/build/src/start/server/metro/dev-server/createEventSocket.js.map +1 -1
- package/build/src/start/server/metro/dev-server/createMessageSocket.js +23 -21
- package/build/src/start/server/metro/dev-server/createMessageSocket.js.map +1 -1
- package/build/src/start/server/metro/dev-server/createMetroMiddleware.js +23 -21
- package/build/src/start/server/metro/dev-server/createMetroMiddleware.js.map +1 -1
- package/build/src/start/server/metro/dev-server/utils/createSocketBroadcaster.js +4 -2
- package/build/src/start/server/metro/dev-server/utils/createSocketBroadcaster.js.map +1 -1
- package/build/src/start/server/metro/dev-server/utils/createSocketMap.js +4 -2
- package/build/src/start/server/metro/dev-server/utils/createSocketMap.js.map +1 -1
- package/build/src/start/server/metro/dev-server/utils/socketMessages.js +8 -4
- package/build/src/start/server/metro/dev-server/utils/socketMessages.js.map +1 -1
- package/build/src/start/server/metro/externals.js +33 -25
- package/build/src/start/server/metro/externals.js.map +1 -1
- package/build/src/start/server/metro/fetchRouterManifest.js +28 -12
- package/build/src/start/server/metro/fetchRouterManifest.js.map +1 -1
- package/build/src/start/server/metro/formatFileCandidates.js +11 -9
- package/build/src/start/server/metro/formatFileCandidates.js.map +1 -1
- package/build/src/start/server/metro/getCssModulesFromBundler.js +24 -20
- package/build/src/start/server/metro/getCssModulesFromBundler.js.map +1 -1
- package/build/src/start/server/metro/instantiateMetro.js +87 -81
- package/build/src/start/server/metro/instantiateMetro.js.map +1 -1
- package/build/src/start/server/metro/log-box/LogBoxLog.js +40 -36
- package/build/src/start/server/metro/log-box/LogBoxLog.js.map +1 -1
- package/build/src/start/server/metro/log-box/LogBoxSymbolication.js +20 -14
- package/build/src/start/server/metro/log-box/LogBoxSymbolication.js.map +1 -1
- package/build/src/start/server/metro/log-box/formatProjectFilePath.js +10 -6
- package/build/src/start/server/metro/log-box/formatProjectFilePath.js.map +1 -1
- package/build/src/start/server/metro/metroErrorInterface.js +88 -78
- package/build/src/start/server/metro/metroErrorInterface.js.map +1 -1
- package/build/src/start/server/metro/metroErrors.js +8 -4
- package/build/src/start/server/metro/metroErrors.js.map +1 -1
- package/build/src/start/server/metro/metroPrivateServer.js +9 -7
- package/build/src/start/server/metro/metroPrivateServer.js.map +1 -1
- package/build/src/start/server/metro/metroVirtualModules.js +10 -8
- package/build/src/start/server/metro/metroVirtualModules.js.map +1 -1
- package/build/src/start/server/metro/metroWatchTypeScriptFiles.js +24 -22
- package/build/src/start/server/metro/metroWatchTypeScriptFiles.js.map +1 -1
- package/build/src/start/server/metro/router.js +48 -32
- package/build/src/start/server/metro/router.js.map +1 -1
- package/build/src/start/server/metro/runServer-fork.js +24 -22
- package/build/src/start/server/metro/runServer-fork.js.map +1 -1
- package/build/src/start/server/metro/serializeHtml.js +24 -22
- package/build/src/start/server/metro/serializeHtml.js.map +1 -1
- package/build/src/start/server/metro/symbolicate.js.map +1 -1
- package/build/src/start/server/metro/waitForMetroToObserveTypeScriptFile.js +35 -29
- package/build/src/start/server/metro/waitForMetroToObserveTypeScriptFile.js.map +1 -1
- package/build/src/start/server/metro/withMetroMultiPlatform.js +150 -140
- package/build/src/start/server/metro/withMetroMultiPlatform.js.map +1 -1
- package/build/src/start/server/metro/withMetroResolvers.js +49 -39
- package/build/src/start/server/metro/withMetroResolvers.js.map +1 -1
- package/build/src/start/server/middleware/ContextModuleSourceMapsMiddleware.js +8 -6
- package/build/src/start/server/middleware/ContextModuleSourceMapsMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/CorsMiddleware.js +17 -15
- package/build/src/start/server/middleware/CorsMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/CreateFileMiddleware.js +32 -31
- package/build/src/start/server/middleware/CreateFileMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/DevToolsPluginMiddleware.js +22 -19
- package/build/src/start/server/middleware/DevToolsPluginMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/DomComponentsMiddleware.js +33 -27
- package/build/src/start/server/middleware/DomComponentsMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js +61 -57
- package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/ExpoMiddleware.js +15 -9
- package/build/src/start/server/middleware/ExpoMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/FaviconMiddleware.js +16 -15
- package/build/src/start/server/middleware/FaviconMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/HistoryFallbackMiddleware.js +4 -2
- package/build/src/start/server/middleware/HistoryFallbackMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/InterstitialPageMiddleware.js +34 -31
- package/build/src/start/server/middleware/InterstitialPageMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/ManifestMiddleware.js +64 -56
- package/build/src/start/server/middleware/ManifestMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/ReactDevToolsPageMiddleware.js +23 -19
- package/build/src/start/server/middleware/ReactDevToolsPageMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js +20 -19
- package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/ServeStaticMiddleware.js +11 -9
- package/build/src/start/server/middleware/ServeStaticMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/createBuiltinAPIRequestHandler.js +17 -11
- package/build/src/start/server/middleware/createBuiltinAPIRequestHandler.js.map +1 -1
- package/build/src/start/server/middleware/inspector/CdpClient.js +12 -10
- package/build/src/start/server/middleware/inspector/CdpClient.js.map +1 -1
- package/build/src/start/server/middleware/inspector/JsInspector.js +35 -27
- package/build/src/start/server/middleware/inspector/JsInspector.js.map +1 -1
- package/build/src/start/server/middleware/inspector/createJsInspectorMiddleware.js +21 -19
- package/build/src/start/server/middleware/inspector/createJsInspectorMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/inspector/middlwareMutations.js +6 -2
- package/build/src/start/server/middleware/inspector/middlwareMutations.js.map +1 -1
- package/build/src/start/server/middleware/metroOptions.js +120 -96
- package/build/src/start/server/middleware/metroOptions.js.map +1 -1
- package/build/src/start/server/middleware/mutations.js +7 -3
- package/build/src/start/server/middleware/mutations.js.map +1 -1
- package/build/src/start/server/middleware/resolveAssets.js +26 -18
- package/build/src/start/server/middleware/resolveAssets.js.map +1 -1
- package/build/src/start/server/middleware/resolvePlatform.js +23 -15
- package/build/src/start/server/middleware/resolvePlatform.js.map +1 -1
- package/build/src/start/server/middleware/resolveRuntimeVersionWithExpoUpdatesAsync.js +11 -9
- package/build/src/start/server/middleware/resolveRuntimeVersionWithExpoUpdatesAsync.js.map +1 -1
- package/build/src/start/server/middleware/server.types.js.map +1 -1
- package/build/src/start/server/openPlatforms.js +10 -8
- package/build/src/start/server/openPlatforms.js.map +1 -1
- package/build/src/start/server/platformBundlers.js +13 -11
- package/build/src/start/server/platformBundlers.js.map +1 -1
- package/build/src/start/server/serverLogLikeMetro.js +58 -50
- package/build/src/start/server/serverLogLikeMetro.js.map +1 -1
- package/build/src/start/server/type-generation/expo-env.js +11 -7
- package/build/src/start/server/type-generation/expo-env.js.map +1 -1
- package/build/src/start/server/type-generation/routes.js +72 -50
- package/build/src/start/server/type-generation/routes.js.map +1 -1
- package/build/src/start/server/type-generation/startTypescriptTypeGeneration.js +21 -19
- package/build/src/start/server/type-generation/startTypescriptTypeGeneration.js.map +1 -1
- package/build/src/start/server/type-generation/tsconfig.js +36 -28
- package/build/src/start/server/type-generation/tsconfig.js.map +1 -1
- package/build/src/start/server/webTemplate.js +28 -24
- package/build/src/start/server/webTemplate.js.map +1 -1
- package/build/src/start/server/webpack/WebpackBundlerDevServer.js +52 -46
- package/build/src/start/server/webpack/WebpackBundlerDevServer.js.map +1 -1
- package/build/src/start/server/webpack/compile.js +15 -11
- package/build/src/start/server/webpack/compile.js.map +1 -1
- package/build/src/start/server/webpack/formatWebpackMessages.js +28 -26
- package/build/src/start/server/webpack/formatWebpackMessages.js.map +1 -1
- package/build/src/start/server/webpack/resolveFromProject.js +18 -12
- package/build/src/start/server/webpack/resolveFromProject.js.map +1 -1
- package/build/src/start/server/webpack/tls.js +18 -12
- package/build/src/start/server/webpack/tls.js.map +1 -1
- package/build/src/start/startAsync.js +31 -27
- package/build/src/start/startAsync.js.map +1 -1
- package/build/src/utils/FileNotifier.js +20 -17
- package/build/src/utils/FileNotifier.js.map +1 -1
- package/build/src/utils/ansi.js +7 -5
- package/build/src/utils/ansi.js.map +1 -1
- package/build/src/utils/args.js +24 -14
- package/build/src/utils/args.js.map +1 -1
- package/build/src/utils/array.js +18 -6
- package/build/src/utils/array.js.map +1 -1
- package/build/src/utils/cocoapods.js +54 -46
- package/build/src/utils/cocoapods.js.map +1 -1
- package/build/src/utils/codesigning.js +79 -69
- package/build/src/utils/codesigning.js.map +1 -1
- package/build/src/utils/createFileTransform.js +16 -12
- package/build/src/utils/createFileTransform.js.map +1 -1
- package/build/src/utils/createTempPath.js +12 -8
- package/build/src/utils/createTempPath.js.map +1 -1
- package/build/src/utils/delay.js +12 -6
- package/build/src/utils/delay.js.map +1 -1
- package/build/src/utils/dir.js +40 -22
- package/build/src/utils/dir.js.map +1 -1
- package/build/src/utils/downloadAppAsync.js +10 -8
- package/build/src/utils/downloadAppAsync.js.map +1 -1
- package/build/src/utils/downloadExpoGoAsync.js +27 -23
- package/build/src/utils/downloadExpoGoAsync.js.map +1 -1
- package/build/src/utils/editor.js +41 -35
- package/build/src/utils/editor.js.map +1 -1
- package/build/src/utils/env.js +63 -59
- package/build/src/utils/env.js.map +1 -1
- package/build/src/utils/errors.js +37 -30
- package/build/src/utils/errors.js.map +1 -1
- package/build/src/utils/exit.js +35 -31
- package/build/src/utils/exit.js.map +1 -1
- package/build/src/utils/expoUpdatesCli.js +32 -22
- package/build/src/utils/expoUpdatesCli.js.map +1 -1
- package/build/src/utils/fetch.js +8 -4
- package/build/src/utils/fetch.js.map +1 -1
- package/build/src/utils/filePath.js +10 -6
- package/build/src/utils/filePath.js.map +1 -1
- package/build/src/utils/findUp.js +13 -9
- package/build/src/utils/findUp.js.map +1 -1
- package/build/src/utils/fn.js +6 -2
- package/build/src/utils/fn.js.map +1 -1
- package/build/src/utils/getOrPromptApplicationId.js +41 -35
- package/build/src/utils/getOrPromptApplicationId.js.map +1 -1
- package/build/src/utils/getRunningProcess.js +29 -21
- package/build/src/utils/getRunningProcess.js.map +1 -1
- package/build/src/utils/git.js +26 -20
- package/build/src/utils/git.js.map +1 -1
- package/build/src/utils/glob.js +8 -4
- package/build/src/utils/glob.js.map +1 -1
- package/build/src/utils/interactive.js +3 -1
- package/build/src/utils/interactive.js.map +1 -1
- package/build/src/utils/ip.js +21 -19
- package/build/src/utils/ip.js.map +1 -1
- package/build/src/utils/isModuleSymlinked.js +11 -9
- package/build/src/utils/isModuleSymlinked.js.map +1 -1
- package/build/src/utils/jsonSchemaDeref.js +20 -18
- package/build/src/utils/jsonSchemaDeref.js.map +1 -1
- package/build/src/utils/link.js +17 -13
- package/build/src/utils/link.js.map +1 -1
- package/build/src/utils/mergeGitIgnorePaths.js +46 -28
- package/build/src/utils/mergeGitIgnorePaths.js.map +1 -1
- package/build/src/utils/modifyConfigAsync.js +16 -10
- package/build/src/utils/modifyConfigAsync.js.map +1 -1
- package/build/src/utils/modifyConfigPlugins.js +10 -6
- package/build/src/utils/modifyConfigPlugins.js.map +1 -1
- package/build/src/utils/multipartMixed.js +13 -11
- package/build/src/utils/multipartMixed.js.map +1 -1
- package/build/src/utils/nodeEnv.js +12 -6
- package/build/src/utils/nodeEnv.js.map +1 -1
- package/build/src/utils/nodeModules.js +10 -8
- package/build/src/utils/nodeModules.js.map +1 -1
- package/build/src/utils/npm.js +49 -35
- package/build/src/utils/npm.js.map +1 -1
- package/build/src/utils/obj.js +11 -5
- package/build/src/utils/obj.js.map +1 -1
- package/build/src/utils/open.js +10 -8
- package/build/src/utils/open.js.map +1 -1
- package/build/src/utils/ora.js +13 -7
- package/build/src/utils/ora.js.map +1 -1
- package/build/src/utils/plist.js +21 -15
- package/build/src/utils/plist.js.map +1 -1
- package/build/src/utils/port.js +43 -33
- package/build/src/utils/port.js.map +1 -1
- package/build/src/utils/profile.js +11 -7
- package/build/src/utils/profile.js.map +1 -1
- package/build/src/utils/progress.js +11 -5
- package/build/src/utils/progress.js.map +1 -1
- package/build/src/utils/prompts.js +47 -29
- package/build/src/utils/prompts.js.map +1 -1
- package/build/src/utils/resolveArgs.js +36 -24
- package/build/src/utils/resolveArgs.js.map +1 -1
- package/build/src/utils/scheme.js +40 -32
- package/build/src/utils/scheme.js.map +1 -1
- package/build/src/utils/stream.js +5 -3
- package/build/src/utils/stream.js.map +1 -1
- package/build/src/utils/strings.js +6 -4
- package/build/src/utils/strings.js.map +1 -1
- package/build/src/utils/tar.js +18 -14
- package/build/src/utils/tar.js.map +1 -1
- package/build/src/utils/telemetry/Telemetry.js +29 -27
- package/build/src/utils/telemetry/Telemetry.js.map +1 -1
- package/build/src/utils/telemetry/clients/FetchClient.js +15 -13
- package/build/src/utils/telemetry/clients/FetchClient.js.map +1 -1
- package/build/src/utils/telemetry/clients/FetchDetachedClient.js +26 -22
- package/build/src/utils/telemetry/clients/FetchDetachedClient.js.map +1 -1
- package/build/src/utils/telemetry/clients/flushFetchDetached.js +10 -10
- package/build/src/utils/telemetry/clients/flushFetchDetached.js.map +1 -1
- package/build/src/utils/telemetry/events.js +4 -2
- package/build/src/utils/telemetry/events.js.map +1 -1
- package/build/src/utils/telemetry/index.js +25 -29
- package/build/src/utils/telemetry/index.js.map +1 -1
- package/build/src/utils/telemetry/types.js.map +1 -1
- package/build/src/utils/telemetry/utils/constants.js +8 -4
- package/build/src/utils/telemetry/utils/constants.js.map +1 -1
- package/build/src/utils/telemetry/utils/context.js +18 -14
- package/build/src/utils/telemetry/utils/context.js.map +1 -1
- package/build/src/utils/template.js +6 -4
- package/build/src/utils/template.js.map +1 -1
- package/build/src/utils/terminal.js +4 -2
- package/build/src/utils/terminal.js.map +1 -1
- package/build/src/utils/tsconfig/evaluateTsConfig.js +21 -17
- package/build/src/utils/tsconfig/evaluateTsConfig.js.map +1 -1
- package/build/src/utils/tsconfig/loadTsConfigPaths.js +18 -14
- package/build/src/utils/tsconfig/loadTsConfigPaths.js.map +1 -1
- package/build/src/utils/tsconfig/matchTsConfigPathAlias.js +7 -5
- package/build/src/utils/tsconfig/matchTsConfigPathAlias.js.map +1 -1
- package/build/src/utils/tsconfig/resolveWithTsConfigPaths.js +14 -12
- package/build/src/utils/tsconfig/resolveWithTsConfigPaths.js.map +1 -1
- package/build/src/utils/url.js +23 -13
- package/build/src/utils/url.js.map +1 -1
- package/build/src/utils/validateApplicationId.js +108 -86
- package/build/src/utils/validateApplicationId.js.map +1 -1
- package/build/src/utils/variadic.js +22 -16
- package/build/src/utils/variadic.js.map +1 -1
- package/build/src/whoami/index.js +11 -7
- package/build/src/whoami/index.js.map +1 -1
- package/build/src/whoami/whoamiAsync.js +11 -7
- package/build/src/whoami/whoamiAsync.js.map +1 -1
- package/package.json +17 -16
|
@@ -1 +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":"
|
|
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"}
|
|
@@ -4,23 +4,24 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
});
|
|
5
5
|
Object.defineProperty(exports, "FaviconMiddleware", {
|
|
6
6
|
enumerable: true,
|
|
7
|
-
get: ()
|
|
7
|
+
get: function() {
|
|
8
|
+
return FaviconMiddleware;
|
|
9
|
+
}
|
|
8
10
|
});
|
|
9
|
-
const
|
|
11
|
+
const _ExpoMiddleware = require("./ExpoMiddleware");
|
|
10
12
|
const _favicon = require("../../../export/favicon");
|
|
11
|
-
const debug = require(
|
|
12
|
-
class FaviconMiddleware extends
|
|
13
|
+
const debug = require('debug')('expo:start:server:middleware:favicon');
|
|
14
|
+
class FaviconMiddleware extends _ExpoMiddleware.ExpoMiddleware {
|
|
13
15
|
constructor(projectRoot){
|
|
14
16
|
super(projectRoot, [
|
|
15
|
-
|
|
16
|
-
]);
|
|
17
|
-
this.projectRoot = projectRoot;
|
|
17
|
+
'/favicon.ico'
|
|
18
|
+
]), this.projectRoot = projectRoot;
|
|
18
19
|
}
|
|
19
20
|
async handleRequestAsync(req, res, next) {
|
|
20
21
|
if (![
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
].includes(req.method ||
|
|
22
|
+
'GET',
|
|
23
|
+
'HEAD'
|
|
24
|
+
].includes(req.method || '')) {
|
|
24
25
|
return next();
|
|
25
26
|
}
|
|
26
27
|
let faviconImageData;
|
|
@@ -29,21 +30,21 @@ class FaviconMiddleware extends _expoMiddleware.ExpoMiddleware {
|
|
|
29
30
|
force: true
|
|
30
31
|
});
|
|
31
32
|
if (!data) {
|
|
32
|
-
debug(
|
|
33
|
+
debug('No favicon defined in the Expo Config, skipping generation.');
|
|
33
34
|
return next();
|
|
34
35
|
}
|
|
35
36
|
faviconImageData = data.source;
|
|
36
|
-
debug(
|
|
37
|
+
debug('✅ Generated favicon successfully.');
|
|
37
38
|
} catch (error) {
|
|
38
39
|
// Pass through on ENOENT errors
|
|
39
|
-
debug(
|
|
40
|
-
if (error.code ===
|
|
40
|
+
debug('Failed to generate favicon from Expo config:', error);
|
|
41
|
+
if (error.code === 'ENOENT') {
|
|
41
42
|
return next();
|
|
42
43
|
}
|
|
43
44
|
return next(error);
|
|
44
45
|
}
|
|
45
46
|
// Respond with the generated favicon file
|
|
46
|
-
res.setHeader(
|
|
47
|
+
res.setHeader('Content-Type', 'image/x-icon');
|
|
47
48
|
res.end(faviconImageData);
|
|
48
49
|
}
|
|
49
50
|
}
|
|
@@ -1 +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":"
|
|
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"}
|
|
@@ -4,7 +4,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
});
|
|
5
5
|
Object.defineProperty(exports, "HistoryFallbackMiddleware", {
|
|
6
6
|
enumerable: true,
|
|
7
|
-
get: ()
|
|
7
|
+
get: function() {
|
|
8
|
+
return HistoryFallbackMiddleware;
|
|
9
|
+
}
|
|
8
10
|
});
|
|
9
11
|
const _resolvePlatform = require("./resolvePlatform");
|
|
10
12
|
class HistoryFallbackMiddleware {
|
|
@@ -14,7 +16,7 @@ class HistoryFallbackMiddleware {
|
|
|
14
16
|
getHandler() {
|
|
15
17
|
return (req, res, next)=>{
|
|
16
18
|
const platform = (0, _resolvePlatform.parsePlatformHeader)(req);
|
|
17
|
-
if (!platform || platform ===
|
|
19
|
+
if (!platform || platform === 'web') {
|
|
18
20
|
// Redirect unknown to the manifest handler while preserving the path.
|
|
19
21
|
// This implements the HTML5 history fallback API.
|
|
20
22
|
return this.indexMiddleware(req, res, next);
|
|
@@ -1 +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":"
|
|
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"}
|
|
@@ -9,8 +9,12 @@ function _export(target, all) {
|
|
|
9
9
|
});
|
|
10
10
|
}
|
|
11
11
|
_export(exports, {
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
InterstitialPageMiddleware: function() {
|
|
13
|
+
return InterstitialPageMiddleware;
|
|
14
|
+
},
|
|
15
|
+
LoadingEndpoint: function() {
|
|
16
|
+
return LoadingEndpoint;
|
|
17
|
+
}
|
|
14
18
|
});
|
|
15
19
|
function _config() {
|
|
16
20
|
const data = require("@expo/config");
|
|
@@ -19,9 +23,9 @@ function _config() {
|
|
|
19
23
|
};
|
|
20
24
|
return data;
|
|
21
25
|
}
|
|
22
|
-
function
|
|
26
|
+
function _Updates() {
|
|
23
27
|
const data = require("@expo/config-plugins/build/utils/Updates");
|
|
24
|
-
|
|
28
|
+
_Updates = function() {
|
|
25
29
|
return data;
|
|
26
30
|
};
|
|
27
31
|
return data;
|
|
@@ -34,73 +38,72 @@ function _promises() {
|
|
|
34
38
|
return data;
|
|
35
39
|
}
|
|
36
40
|
function _path() {
|
|
37
|
-
const data = /*#__PURE__*/
|
|
41
|
+
const data = /*#__PURE__*/ _interop_require_default(require("path"));
|
|
38
42
|
_path = function() {
|
|
39
43
|
return data;
|
|
40
44
|
};
|
|
41
45
|
return data;
|
|
42
46
|
}
|
|
43
|
-
function
|
|
44
|
-
const data = /*#__PURE__*/
|
|
45
|
-
|
|
47
|
+
function _resolvefrom() {
|
|
48
|
+
const data = /*#__PURE__*/ _interop_require_default(require("resolve-from"));
|
|
49
|
+
_resolvefrom = function() {
|
|
46
50
|
return data;
|
|
47
51
|
};
|
|
48
52
|
return data;
|
|
49
53
|
}
|
|
50
|
-
const
|
|
54
|
+
const _ExpoMiddleware = require("./ExpoMiddleware");
|
|
51
55
|
const _resolvePlatform = require("./resolvePlatform");
|
|
52
|
-
function
|
|
56
|
+
function _interop_require_default(obj) {
|
|
53
57
|
return obj && obj.__esModule ? obj : {
|
|
54
58
|
default: obj
|
|
55
59
|
};
|
|
56
60
|
}
|
|
57
|
-
const debug = require(
|
|
58
|
-
const LoadingEndpoint =
|
|
59
|
-
class InterstitialPageMiddleware extends
|
|
61
|
+
const debug = require('debug')('expo:start:server:middleware:interstitialPage');
|
|
62
|
+
const LoadingEndpoint = '/_expo/loading';
|
|
63
|
+
class InterstitialPageMiddleware extends _ExpoMiddleware.ExpoMiddleware {
|
|
60
64
|
constructor(projectRoot, options = {
|
|
61
65
|
scheme: null
|
|
62
66
|
}){
|
|
63
67
|
super(projectRoot, [
|
|
64
68
|
LoadingEndpoint
|
|
65
|
-
]);
|
|
66
|
-
this.options = options;
|
|
69
|
+
]), this.options = options;
|
|
67
70
|
}
|
|
68
|
-
/** Get the template HTML page and inject values. */ async _getPageAsync({ appName
|
|
71
|
+
/** Get the template HTML page and inject values. */ async _getPageAsync({ appName, projectVersion }) {
|
|
69
72
|
const templatePath = // Production: This will resolve when installed in the project.
|
|
70
|
-
|
|
71
|
-
_path().default.resolve(__dirname,
|
|
72
|
-
let content = (await (0, _promises().readFile)(templatePath)).toString(
|
|
73
|
+
_resolvefrom().default.silent(this.projectRoot, 'expo/static/loading-page/index.html') ?? // Development: This will resolve when testing locally.
|
|
74
|
+
_path().default.resolve(__dirname, '../../../../../static/loading-page/index.html');
|
|
75
|
+
let content = (await (0, _promises().readFile)(templatePath)).toString('utf-8');
|
|
73
76
|
content = content.replace(/{{\s*AppName\s*}}/, appName);
|
|
74
77
|
content = content.replace(/{{\s*Path\s*}}/, this.projectRoot);
|
|
75
|
-
content = content.replace(/{{\s*Scheme\s*}}/, this.options.scheme ??
|
|
76
|
-
content = content.replace(/{{\s*ProjectVersionType\s*}}/, `${projectVersion.type ===
|
|
77
|
-
content = content.replace(/{{\s*ProjectVersion\s*}}/, projectVersion.version ??
|
|
78
|
+
content = content.replace(/{{\s*Scheme\s*}}/, this.options.scheme ?? 'Unknown');
|
|
79
|
+
content = content.replace(/{{\s*ProjectVersionType\s*}}/, `${projectVersion.type === 'sdk' ? 'SDK' : 'Runtime'} version`);
|
|
80
|
+
content = content.replace(/{{\s*ProjectVersion\s*}}/, projectVersion.version ?? 'Undetected');
|
|
78
81
|
return content;
|
|
79
82
|
}
|
|
80
83
|
/** Get settings for the page from the project config. */ async _getProjectOptionsAsync(platform) {
|
|
81
84
|
(0, _resolvePlatform.assertRuntimePlatform)(platform);
|
|
82
|
-
const { exp
|
|
83
|
-
const { appName
|
|
84
|
-
const runtimeVersion = await (0,
|
|
85
|
+
const { exp } = (0, _config().getConfig)(this.projectRoot);
|
|
86
|
+
const { appName } = (0, _config().getNameFromConfig)(exp);
|
|
87
|
+
const runtimeVersion = await (0, _Updates().getRuntimeVersionNullableAsync)(this.projectRoot, exp, platform);
|
|
85
88
|
const sdkVersion = exp.sdkVersion ?? null;
|
|
86
89
|
return {
|
|
87
|
-
appName: appName ??
|
|
90
|
+
appName: appName ?? 'App',
|
|
88
91
|
projectVersion: sdkVersion && !runtimeVersion ? {
|
|
89
|
-
type:
|
|
92
|
+
type: 'sdk',
|
|
90
93
|
version: sdkVersion
|
|
91
94
|
} : {
|
|
92
|
-
type:
|
|
95
|
+
type: 'runtime',
|
|
93
96
|
version: runtimeVersion
|
|
94
97
|
}
|
|
95
98
|
};
|
|
96
99
|
}
|
|
97
100
|
async handleRequestAsync(req, res) {
|
|
98
|
-
res = (0,
|
|
99
|
-
res.setHeader(
|
|
101
|
+
res = (0, _ExpoMiddleware.disableResponseCache)(res);
|
|
102
|
+
res.setHeader('Content-Type', 'text/html');
|
|
100
103
|
const platform = (0, _resolvePlatform.parsePlatformHeader)(req) ?? (0, _resolvePlatform.resolvePlatformFromUserAgentHeader)(req);
|
|
101
104
|
(0, _resolvePlatform.assertMissingRuntimePlatform)(platform);
|
|
102
105
|
(0, _resolvePlatform.assertRuntimePlatform)(platform);
|
|
103
|
-
const { appName
|
|
106
|
+
const { appName, projectVersion } = await this._getProjectOptionsAsync(platform);
|
|
104
107
|
debug(`Create loading page. (platform: ${platform}, appName: ${appName}, projectVersion: ${projectVersion.version}, type: ${projectVersion.type})`);
|
|
105
108
|
const content = await this._getPageAsync({
|
|
106
109
|
appName,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/start/server/middleware/InterstitialPageMiddleware.ts"],"sourcesContent":["import { getConfig, getNameFromConfig } from '@expo/config';\nimport { getRuntimeVersionNullableAsync } from '@expo/config-plugins/build/utils/Updates';\nimport { readFile } from 'fs/promises';\nimport path from 'path';\nimport resolveFrom from 'resolve-from';\n\nimport { disableResponseCache, ExpoMiddleware } from './ExpoMiddleware';\nimport {\n assertMissingRuntimePlatform,\n assertRuntimePlatform,\n parsePlatformHeader,\n resolvePlatformFromUserAgentHeader,\n RuntimePlatform,\n} from './resolvePlatform';\nimport { ServerRequest, ServerResponse } from './server.types';\n\ntype ProjectVersion = {\n type: 'sdk' | 'runtime';\n version: string | null;\n};\n\nconst debug = require('debug')(\n 'expo:start:server:middleware:interstitialPage'\n) as typeof console.log;\n\nexport const LoadingEndpoint = '/_expo/loading';\n\nexport class InterstitialPageMiddleware extends ExpoMiddleware {\n constructor(\n projectRoot: string,\n protected options: { scheme: string | null } = { scheme: null }\n ) {\n super(projectRoot, [LoadingEndpoint]);\n }\n\n /** Get the template HTML page and inject values. */\n async _getPageAsync({\n appName,\n projectVersion,\n }: {\n appName: string;\n projectVersion: ProjectVersion;\n }): Promise<string> {\n const templatePath =\n // Production: This will resolve when installed in the project.\n resolveFrom.silent(this.projectRoot, 'expo/static/loading-page/index.html') ??\n // Development: This will resolve when testing locally.\n path.resolve(__dirname, '../../../../../static/loading-page/index.html');\n let content = (await readFile(templatePath)).toString('utf-8');\n\n content = content.replace(/{{\\s*AppName\\s*}}/, appName);\n content = content.replace(/{{\\s*Path\\s*}}/, this.projectRoot);\n content = content.replace(/{{\\s*Scheme\\s*}}/, this.options.scheme ?? 'Unknown');\n content = content.replace(\n /{{\\s*ProjectVersionType\\s*}}/,\n `${projectVersion.type === 'sdk' ? 'SDK' : 'Runtime'} version`\n );\n content = content.replace(/{{\\s*ProjectVersion\\s*}}/, projectVersion.version ?? 'Undetected');\n\n return content;\n }\n\n /** Get settings for the page from the project config. */\n async _getProjectOptionsAsync(platform: RuntimePlatform): Promise<{\n appName: string;\n projectVersion: ProjectVersion;\n }> {\n assertRuntimePlatform(platform);\n\n const { exp } = getConfig(this.projectRoot);\n const { appName } = getNameFromConfig(exp);\n const runtimeVersion = await getRuntimeVersionNullableAsync(this.projectRoot, exp, platform);\n const sdkVersion = exp.sdkVersion ?? null;\n\n return {\n appName: appName ?? 'App',\n projectVersion:\n sdkVersion && !runtimeVersion\n ? { type: 'sdk', version: sdkVersion }\n : { type: 'runtime', version: runtimeVersion },\n };\n }\n\n async handleRequestAsync(req: ServerRequest, res: ServerResponse): Promise<void> {\n res = disableResponseCache(res);\n res.setHeader('Content-Type', 'text/html');\n\n const platform = parsePlatformHeader(req) ?? resolvePlatformFromUserAgentHeader(req);\n assertMissingRuntimePlatform(platform);\n assertRuntimePlatform(platform);\n\n const { appName, projectVersion } = await this._getProjectOptionsAsync(platform);\n debug(\n `Create loading page. (platform: ${platform}, appName: ${appName}, projectVersion: ${projectVersion.version}, type: ${projectVersion.type})`\n );\n const content = await this._getPageAsync({ appName, projectVersion });\n res.end(content);\n }\n}\n"],"names":["
|
|
1
|
+
{"version":3,"sources":["../../../../../src/start/server/middleware/InterstitialPageMiddleware.ts"],"sourcesContent":["import { getConfig, getNameFromConfig } from '@expo/config';\nimport { getRuntimeVersionNullableAsync } from '@expo/config-plugins/build/utils/Updates';\nimport { readFile } from 'fs/promises';\nimport path from 'path';\nimport resolveFrom from 'resolve-from';\n\nimport { disableResponseCache, ExpoMiddleware } from './ExpoMiddleware';\nimport {\n assertMissingRuntimePlatform,\n assertRuntimePlatform,\n parsePlatformHeader,\n resolvePlatformFromUserAgentHeader,\n RuntimePlatform,\n} from './resolvePlatform';\nimport { ServerRequest, ServerResponse } from './server.types';\n\ntype ProjectVersion = {\n type: 'sdk' | 'runtime';\n version: string | null;\n};\n\nconst debug = require('debug')(\n 'expo:start:server:middleware:interstitialPage'\n) as typeof console.log;\n\nexport const LoadingEndpoint = '/_expo/loading';\n\nexport class InterstitialPageMiddleware extends ExpoMiddleware {\n constructor(\n projectRoot: string,\n protected options: { scheme: string | null } = { scheme: null }\n ) {\n super(projectRoot, [LoadingEndpoint]);\n }\n\n /** Get the template HTML page and inject values. */\n async _getPageAsync({\n appName,\n projectVersion,\n }: {\n appName: string;\n projectVersion: ProjectVersion;\n }): Promise<string> {\n const templatePath =\n // Production: This will resolve when installed in the project.\n resolveFrom.silent(this.projectRoot, 'expo/static/loading-page/index.html') ??\n // Development: This will resolve when testing locally.\n path.resolve(__dirname, '../../../../../static/loading-page/index.html');\n let content = (await readFile(templatePath)).toString('utf-8');\n\n content = content.replace(/{{\\s*AppName\\s*}}/, appName);\n content = content.replace(/{{\\s*Path\\s*}}/, this.projectRoot);\n content = content.replace(/{{\\s*Scheme\\s*}}/, this.options.scheme ?? 'Unknown');\n content = content.replace(\n /{{\\s*ProjectVersionType\\s*}}/,\n `${projectVersion.type === 'sdk' ? 'SDK' : 'Runtime'} version`\n );\n content = content.replace(/{{\\s*ProjectVersion\\s*}}/, projectVersion.version ?? 'Undetected');\n\n return content;\n }\n\n /** Get settings for the page from the project config. */\n async _getProjectOptionsAsync(platform: RuntimePlatform): Promise<{\n appName: string;\n projectVersion: ProjectVersion;\n }> {\n assertRuntimePlatform(platform);\n\n const { exp } = getConfig(this.projectRoot);\n const { appName } = getNameFromConfig(exp);\n const runtimeVersion = await getRuntimeVersionNullableAsync(this.projectRoot, exp, platform);\n const sdkVersion = exp.sdkVersion ?? null;\n\n return {\n appName: appName ?? 'App',\n projectVersion:\n sdkVersion && !runtimeVersion\n ? { type: 'sdk', version: sdkVersion }\n : { type: 'runtime', version: runtimeVersion },\n };\n }\n\n async handleRequestAsync(req: ServerRequest, res: ServerResponse): Promise<void> {\n res = disableResponseCache(res);\n res.setHeader('Content-Type', 'text/html');\n\n const platform = parsePlatformHeader(req) ?? resolvePlatformFromUserAgentHeader(req);\n assertMissingRuntimePlatform(platform);\n assertRuntimePlatform(platform);\n\n const { appName, projectVersion } = await this._getProjectOptionsAsync(platform);\n debug(\n `Create loading page. (platform: ${platform}, appName: ${appName}, projectVersion: ${projectVersion.version}, type: ${projectVersion.type})`\n );\n const content = await this._getPageAsync({ appName, projectVersion });\n res.end(content);\n }\n}\n"],"names":["InterstitialPageMiddleware","LoadingEndpoint","debug","require","ExpoMiddleware","constructor","projectRoot","options","scheme","_getPageAsync","appName","projectVersion","templatePath","resolveFrom","silent","path","resolve","__dirname","content","readFile","toString","replace","type","version","_getProjectOptionsAsync","platform","assertRuntimePlatform","exp","getConfig","getNameFromConfig","runtimeVersion","getRuntimeVersionNullableAsync","sdkVersion","handleRequestAsync","req","res","disableResponseCache","setHeader","parsePlatformHeader","resolvePlatformFromUserAgentHeader","assertMissingRuntimePlatform","end"],"mappings":";;;;;;;;;;;IA2BaA,0BAA0B;eAA1BA;;IAFAC,eAAe;eAAfA;;;;yBAzBgC;;;;;;;yBACE;;;;;;;yBACtB;;;;;;;gEACR;;;;;;;gEACO;;;;;;gCAE6B;iCAO9C;;;;;;AAQP,MAAMC,QAAQC,QAAQ,SACpB;AAGK,MAAMF,kBAAkB;AAExB,MAAMD,mCAAmCI,8BAAc;IAC5DC,YACEC,WAAmB,EACnB,AAAUC,UAAqC;QAAEC,QAAQ;IAAK,CAAC,CAC/D;QACA,KAAK,CAACF,aAAa;YAACL;SAAgB,QAF1BM,UAAAA;IAGZ;IAEA,kDAAkD,GAClD,MAAME,cAAc,EAClBC,OAAO,EACPC,cAAc,EAIf,EAAmB;QAClB,MAAMC,eACJ,+DAA+D;QAC/DC,sBAAW,CAACC,MAAM,CAAC,IAAI,CAACR,WAAW,EAAE,0CACrC,uDAAuD;QACvDS,eAAI,CAACC,OAAO,CAACC,WAAW;QAC1B,IAAIC,UAAU,AAAC,CAAA,MAAMC,IAAAA,oBAAQ,EAACP,aAAY,EAAGQ,QAAQ,CAAC;QAEtDF,UAAUA,QAAQG,OAAO,CAAC,qBAAqBX;QAC/CQ,UAAUA,QAAQG,OAAO,CAAC,kBAAkB,IAAI,CAACf,WAAW;QAC5DY,UAAUA,QAAQG,OAAO,CAAC,oBAAoB,IAAI,CAACd,OAAO,CAACC,MAAM,IAAI;QACrEU,UAAUA,QAAQG,OAAO,CACvB,gCACA,GAAGV,eAAeW,IAAI,KAAK,QAAQ,QAAQ,UAAU,QAAQ,CAAC;QAEhEJ,UAAUA,QAAQG,OAAO,CAAC,4BAA4BV,eAAeY,OAAO,IAAI;QAEhF,OAAOL;IACT;IAEA,uDAAuD,GACvD,MAAMM,wBAAwBC,QAAyB,EAGpD;QACDC,IAAAA,sCAAqB,EAACD;QAEtB,MAAM,EAAEE,GAAG,EAAE,GAAGC,IAAAA,mBAAS,EAAC,IAAI,CAACtB,WAAW;QAC1C,MAAM,EAAEI,OAAO,EAAE,GAAGmB,IAAAA,2BAAiB,EAACF;QACtC,MAAMG,iBAAiB,MAAMC,IAAAA,yCAA8B,EAAC,IAAI,CAACzB,WAAW,EAAEqB,KAAKF;QACnF,MAAMO,aAAaL,IAAIK,UAAU,IAAI;QAErC,OAAO;YACLtB,SAASA,WAAW;YACpBC,gBACEqB,cAAc,CAACF,iBACX;gBAAER,MAAM;gBAAOC,SAASS;YAAW,IACnC;gBAAEV,MAAM;gBAAWC,SAASO;YAAe;QACnD;IACF;IAEA,MAAMG,mBAAmBC,GAAkB,EAAEC,GAAmB,EAAiB;QAC/EA,MAAMC,IAAAA,oCAAoB,EAACD;QAC3BA,IAAIE,SAAS,CAAC,gBAAgB;QAE9B,MAAMZ,WAAWa,IAAAA,oCAAmB,EAACJ,QAAQK,IAAAA,mDAAkC,EAACL;QAChFM,IAAAA,6CAA4B,EAACf;QAC7BC,IAAAA,sCAAqB,EAACD;QAEtB,MAAM,EAAEf,OAAO,EAAEC,cAAc,EAAE,GAAG,MAAM,IAAI,CAACa,uBAAuB,CAACC;QACvEvB,MACE,CAAC,gCAAgC,EAAEuB,SAAS,WAAW,EAAEf,QAAQ,kBAAkB,EAAEC,eAAeY,OAAO,CAAC,QAAQ,EAAEZ,eAAeW,IAAI,CAAC,CAAC,CAAC;QAE9I,MAAMJ,UAAU,MAAM,IAAI,CAACT,aAAa,CAAC;YAAEC;YAASC;QAAe;QACnEwB,IAAIM,GAAG,CAACvB;IACV;AACF"}
|
|
@@ -9,10 +9,18 @@ function _export(target, all) {
|
|
|
9
9
|
});
|
|
10
10
|
}
|
|
11
11
|
_export(exports, {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
ManifestMiddleware: ()
|
|
12
|
+
DEVELOPER_TOOL: function() {
|
|
13
|
+
return DEVELOPER_TOOL;
|
|
14
|
+
},
|
|
15
|
+
ManifestMiddleware: function() {
|
|
16
|
+
return ManifestMiddleware;
|
|
17
|
+
},
|
|
18
|
+
getEntryWithServerRoot: function() {
|
|
19
|
+
return getEntryWithServerRoot;
|
|
20
|
+
},
|
|
21
|
+
resolveMainModuleName: function() {
|
|
22
|
+
return resolveMainModuleName;
|
|
23
|
+
}
|
|
16
24
|
});
|
|
17
25
|
function _config() {
|
|
18
26
|
const data = require("@expo/config");
|
|
@@ -29,7 +37,7 @@ function _paths() {
|
|
|
29
37
|
return data;
|
|
30
38
|
}
|
|
31
39
|
function _path() {
|
|
32
|
-
const data = /*#__PURE__*/
|
|
40
|
+
const data = /*#__PURE__*/ _interop_require_default(require("path"));
|
|
33
41
|
_path = function() {
|
|
34
42
|
return data;
|
|
35
43
|
};
|
|
@@ -42,19 +50,19 @@ function _url() {
|
|
|
42
50
|
};
|
|
43
51
|
return data;
|
|
44
52
|
}
|
|
45
|
-
const
|
|
53
|
+
const _ExpoMiddleware = require("./ExpoMiddleware");
|
|
46
54
|
const _metroOptions = require("./metroOptions");
|
|
47
55
|
const _resolveAssets = require("./resolveAssets");
|
|
48
56
|
const _resolvePlatform = require("./resolvePlatform");
|
|
49
57
|
const _exportHermes = require("../../../export/exportHermes");
|
|
50
|
-
const _log = /*#__PURE__*/
|
|
58
|
+
const _log = /*#__PURE__*/ _interop_require_wildcard(require("../../../log"));
|
|
51
59
|
const _errors = require("../../../utils/errors");
|
|
52
60
|
const _url1 = require("../../../utils/url");
|
|
53
|
-
const _devices = /*#__PURE__*/
|
|
61
|
+
const _devices = /*#__PURE__*/ _interop_require_wildcard(require("../../project/devices"));
|
|
54
62
|
const _router = require("../metro/router");
|
|
55
63
|
const _platformBundlers = require("../platformBundlers");
|
|
56
64
|
const _webTemplate = require("../webTemplate");
|
|
57
|
-
function
|
|
65
|
+
function _interop_require_default(obj) {
|
|
58
66
|
return obj && obj.__esModule ? obj : {
|
|
59
67
|
default: obj
|
|
60
68
|
};
|
|
@@ -67,7 +75,7 @@ function _getRequireWildcardCache(nodeInterop) {
|
|
|
67
75
|
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
|
68
76
|
})(nodeInterop);
|
|
69
77
|
}
|
|
70
|
-
function
|
|
78
|
+
function _interop_require_wildcard(obj, nodeInterop) {
|
|
71
79
|
if (!nodeInterop && obj && obj.__esModule) {
|
|
72
80
|
return obj;
|
|
73
81
|
}
|
|
@@ -80,7 +88,9 @@ function _interopRequireWildcard(obj, nodeInterop) {
|
|
|
80
88
|
if (cache && cache.has(obj)) {
|
|
81
89
|
return cache.get(obj);
|
|
82
90
|
}
|
|
83
|
-
var newObj = {
|
|
91
|
+
var newObj = {
|
|
92
|
+
__proto__: null
|
|
93
|
+
};
|
|
84
94
|
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
85
95
|
for(var key in obj){
|
|
86
96
|
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
@@ -98,12 +108,12 @@ function _interopRequireWildcard(obj, nodeInterop) {
|
|
|
98
108
|
}
|
|
99
109
|
return newObj;
|
|
100
110
|
}
|
|
101
|
-
const debug = require(
|
|
111
|
+
const debug = require('debug')('expo:start:server:middleware:manifest');
|
|
102
112
|
const supportedPlatforms = [
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
113
|
+
'ios',
|
|
114
|
+
'android',
|
|
115
|
+
'web',
|
|
116
|
+
'none'
|
|
107
117
|
];
|
|
108
118
|
function getEntryWithServerRoot(projectRoot, props) {
|
|
109
119
|
if (!supportedPlatforms.includes(props.platform)) {
|
|
@@ -114,25 +124,23 @@ function getEntryWithServerRoot(projectRoot, props) {
|
|
|
114
124
|
function resolveMainModuleName(projectRoot, props) {
|
|
115
125
|
const entryPoint = getEntryWithServerRoot(projectRoot, props);
|
|
116
126
|
debug(`Resolved entry point: ${entryPoint} (project root: ${projectRoot})`);
|
|
117
|
-
return (0, _metroOptions.convertPathToModuleSpecifier)((0, _url1.stripExtension)(entryPoint,
|
|
127
|
+
return (0, _metroOptions.convertPathToModuleSpecifier)((0, _url1.stripExtension)(entryPoint, 'js'));
|
|
118
128
|
}
|
|
119
|
-
const DEVELOPER_TOOL =
|
|
120
|
-
class ManifestMiddleware extends
|
|
129
|
+
const DEVELOPER_TOOL = 'expo-cli';
|
|
130
|
+
class ManifestMiddleware extends _ExpoMiddleware.ExpoMiddleware {
|
|
121
131
|
constructor(projectRoot, options){
|
|
122
132
|
super(projectRoot, /**
|
|
123
133
|
* Only support `/`, `/manifest`, `/index.exp` for the manifest middleware.
|
|
124
134
|
*/ [
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
]);
|
|
129
|
-
this.projectRoot = projectRoot;
|
|
130
|
-
this.options = options;
|
|
135
|
+
'/',
|
|
136
|
+
'/manifest',
|
|
137
|
+
'/index.exp'
|
|
138
|
+
]), this.projectRoot = projectRoot, this.options = options;
|
|
131
139
|
this.initialProjectConfig = (0, _config().getConfig)(projectRoot);
|
|
132
140
|
this.platformBundlers = (0, _platformBundlers.getPlatformBundlers)(projectRoot, this.initialProjectConfig.exp);
|
|
133
141
|
}
|
|
134
|
-
/** Exposed for testing. */ async _resolveProjectSettingsAsync({ platform
|
|
135
|
-
var
|
|
142
|
+
/** Exposed for testing. */ async _resolveProjectSettingsAsync({ platform, hostname, protocol }) {
|
|
143
|
+
var _projectConfig_exp_experiments;
|
|
136
144
|
// Read the config
|
|
137
145
|
const projectConfig = (0, _config().getConfig)(this.projectRoot);
|
|
138
146
|
// Read from headers
|
|
@@ -147,19 +155,19 @@ class ManifestMiddleware extends _expoMiddleware.ExpoMiddleware {
|
|
|
147
155
|
hostname
|
|
148
156
|
});
|
|
149
157
|
const hostUri = this.options.constructUrl({
|
|
150
|
-
scheme:
|
|
158
|
+
scheme: '',
|
|
151
159
|
hostname
|
|
152
160
|
});
|
|
153
161
|
const bundleUrl = this._getBundleUrl({
|
|
154
162
|
platform,
|
|
155
163
|
mainModuleName,
|
|
156
164
|
hostname,
|
|
157
|
-
engine: isHermesEnabled ?
|
|
165
|
+
engine: isHermesEnabled ? 'hermes' : undefined,
|
|
158
166
|
baseUrl: (0, _metroOptions.getBaseUrlFromExpoConfig)(projectConfig.exp),
|
|
159
|
-
asyncRoutes: (0, _metroOptions.getAsyncRoutesFromExpoConfig)(projectConfig.exp, this.options.mode ??
|
|
167
|
+
asyncRoutes: (0, _metroOptions.getAsyncRoutesFromExpoConfig)(projectConfig.exp, this.options.mode ?? 'development', platform),
|
|
160
168
|
routerRoot: (0, _router.getRouterDirectoryModuleIdWithManifest)(this.projectRoot, projectConfig.exp),
|
|
161
169
|
protocol,
|
|
162
|
-
reactCompiler: !!((
|
|
170
|
+
reactCompiler: !!((_projectConfig_exp_experiments = projectConfig.exp.experiments) == null ? void 0 : _projectConfig_exp_experiments.reactCompiler)
|
|
163
171
|
});
|
|
164
172
|
// Resolve all assets and set them on the manifest as URLs
|
|
165
173
|
await this.mutateManifestWithAssetsAsync(projectConfig.exp, bundleUrl);
|
|
@@ -180,26 +188,26 @@ class ManifestMiddleware extends _expoMiddleware.ExpoMiddleware {
|
|
|
180
188
|
// // TODO: Move this into BundlerDevServer and read this info from self.
|
|
181
189
|
// const isNativeWebpack = server instanceof WebpackBundlerDevServer && server.isTargetingNative();
|
|
182
190
|
if (this.options.isNativeWebpack) {
|
|
183
|
-
entryPoint =
|
|
191
|
+
entryPoint = 'index.js';
|
|
184
192
|
}
|
|
185
|
-
return (0, _url1.stripExtension)(entryPoint,
|
|
193
|
+
return (0, _url1.stripExtension)(entryPoint, 'js');
|
|
186
194
|
}
|
|
187
195
|
/** Store device IDs that were sent in the request headers. */ async saveDevicesAsync(req) {
|
|
188
|
-
var
|
|
189
|
-
const deviceIds = (
|
|
196
|
+
var _req_headers;
|
|
197
|
+
const deviceIds = (_req_headers = req.headers) == null ? void 0 : _req_headers['expo-dev-client-id'];
|
|
190
198
|
if (deviceIds) {
|
|
191
199
|
await _devices.saveDevicesAsync(this.projectRoot, deviceIds).catch((e)=>_log.exception(e));
|
|
192
200
|
}
|
|
193
201
|
}
|
|
194
|
-
/** Create the bundle URL (points to the single JS entry file). Exposed for testing. */ _getBundleUrl({ platform
|
|
202
|
+
/** Create the bundle URL (points to the single JS entry file). Exposed for testing. */ _getBundleUrl({ platform, mainModuleName, hostname, engine, baseUrl, isExporting, asyncRoutes, routerRoot, protocol, reactCompiler }) {
|
|
195
203
|
const path = (0, _metroOptions.createBundleUrlPath)({
|
|
196
|
-
mode: this.options.mode ??
|
|
204
|
+
mode: this.options.mode ?? 'development',
|
|
197
205
|
minify: this.options.minify,
|
|
198
206
|
platform,
|
|
199
207
|
mainModuleName,
|
|
200
208
|
lazy: (0, _metroOptions.shouldEnableAsyncImports)(this.projectRoot),
|
|
201
209
|
engine,
|
|
202
|
-
bytecode: engine ===
|
|
210
|
+
bytecode: engine === 'hermes',
|
|
203
211
|
baseUrl,
|
|
204
212
|
isExporting: !!isExporting,
|
|
205
213
|
asyncRoutes,
|
|
@@ -207,16 +215,16 @@ class ManifestMiddleware extends _expoMiddleware.ExpoMiddleware {
|
|
|
207
215
|
reactCompiler
|
|
208
216
|
});
|
|
209
217
|
return this.options.constructUrl({
|
|
210
|
-
scheme: protocol ??
|
|
218
|
+
scheme: protocol ?? 'http',
|
|
211
219
|
// hostType: this.options.location.hostType,
|
|
212
220
|
hostname
|
|
213
221
|
}) + path;
|
|
214
222
|
}
|
|
215
|
-
getExpoGoConfig({ mainModuleName
|
|
223
|
+
getExpoGoConfig({ mainModuleName, hostname }) {
|
|
216
224
|
return {
|
|
217
225
|
// localhost:8081
|
|
218
226
|
debuggerHost: this.options.constructUrl({
|
|
219
|
-
scheme:
|
|
227
|
+
scheme: '',
|
|
220
228
|
hostname
|
|
221
229
|
}),
|
|
222
230
|
// Required for Expo Go to function.
|
|
@@ -226,7 +234,7 @@ class ManifestMiddleware extends _expoMiddleware.ExpoMiddleware {
|
|
|
226
234
|
},
|
|
227
235
|
packagerOpts: {
|
|
228
236
|
// Required for dev client.
|
|
229
|
-
dev: this.options.mode !==
|
|
237
|
+
dev: this.options.mode !== 'production'
|
|
230
238
|
},
|
|
231
239
|
// Indicates the name of the main bundle.
|
|
232
240
|
mainModuleName,
|
|
@@ -234,7 +242,7 @@ class ManifestMiddleware extends _expoMiddleware.ExpoMiddleware {
|
|
|
234
242
|
// Can be tested by running:
|
|
235
243
|
// `METRO_SERVER_PORT=8081 open -a flipper.app`
|
|
236
244
|
// Where 8081 is the port where the Expo project is being hosted.
|
|
237
|
-
__flipperHack:
|
|
245
|
+
__flipperHack: 'React Native packager is running'
|
|
238
246
|
};
|
|
239
247
|
}
|
|
240
248
|
/** Resolve all assets and set them on the manifest as URLs */ async mutateManifestWithAssetsAsync(manifest, bundleUrl) {
|
|
@@ -246,14 +254,14 @@ class ManifestMiddleware extends _expoMiddleware.ExpoMiddleware {
|
|
|
246
254
|
// without the `assets/` subpath redirect.
|
|
247
255
|
return (0, _url().resolve)(bundleUrl.match(/^https?:\/\/.*?\//)[0], path);
|
|
248
256
|
}
|
|
249
|
-
return bundleUrl.match(/^https?:\/\/.*?\//)[0] +
|
|
257
|
+
return bundleUrl.match(/^https?:\/\/.*?\//)[0] + 'assets/' + path;
|
|
250
258
|
}
|
|
251
259
|
});
|
|
252
260
|
// The server normally inserts this but if we're offline we'll do it here
|
|
253
261
|
await (0, _resolveAssets.resolveGoogleServicesFile)(this.projectRoot, manifest);
|
|
254
262
|
}
|
|
255
263
|
getWebBundleUrl() {
|
|
256
|
-
const platform =
|
|
264
|
+
const platform = 'web';
|
|
257
265
|
// Read from headers
|
|
258
266
|
const mainModuleName = this.resolveMainModuleName({
|
|
259
267
|
pkg: this.initialProjectConfig.pkg,
|
|
@@ -264,9 +272,9 @@ class ManifestMiddleware extends _expoMiddleware.ExpoMiddleware {
|
|
|
264
272
|
mainModuleName,
|
|
265
273
|
minify: this.options.minify,
|
|
266
274
|
lazy: (0, _metroOptions.shouldEnableAsyncImports)(this.projectRoot),
|
|
267
|
-
mode: this.options.mode ??
|
|
275
|
+
mode: this.options.mode ?? 'development',
|
|
268
276
|
// Hermes doesn't support more modern JS features than most, if not all, modern browser.
|
|
269
|
-
engine:
|
|
277
|
+
engine: 'hermes',
|
|
270
278
|
isExporting: false,
|
|
271
279
|
bytecode: false
|
|
272
280
|
});
|
|
@@ -277,7 +285,7 @@ class ManifestMiddleware extends _expoMiddleware.ExpoMiddleware {
|
|
|
277
285
|
* Instead of adding a `bundleUrl` to a `manifest.json` (native) we'll add a `<script src="">`
|
|
278
286
|
* to an `index.html`, this enables the web platform to load JavaScript from the server.
|
|
279
287
|
*/ async handleWebRequestAsync(req, res) {
|
|
280
|
-
res.setHeader(
|
|
288
|
+
res.setHeader('Content-Type', 'text/html');
|
|
281
289
|
res.end(await this.getSingleHtmlTemplateAsync());
|
|
282
290
|
}
|
|
283
291
|
getSingleHtmlTemplateAsync() {
|
|
@@ -291,19 +299,19 @@ class ManifestMiddleware extends _expoMiddleware.ExpoMiddleware {
|
|
|
291
299
|
});
|
|
292
300
|
}
|
|
293
301
|
/** Exposed for testing. */ async checkBrowserRequestAsync(req, res, next) {
|
|
294
|
-
var
|
|
295
|
-
if (this.platformBundlers.web ===
|
|
302
|
+
var _this_initialProjectConfig_exp_platforms;
|
|
303
|
+
if (this.platformBundlers.web === 'metro' && ((_this_initialProjectConfig_exp_platforms = this.initialProjectConfig.exp.platforms) == null ? void 0 : _this_initialProjectConfig_exp_platforms.includes('web'))) {
|
|
296
304
|
// NOTE(EvanBacon): This effectively disables the safety check we do on custom runtimes to ensure
|
|
297
305
|
// the `expo-platform` header is included. When `web.bundler=web`, if the user has non-standard Expo
|
|
298
306
|
// code loading then they'll get a web bundle without a clear assertion of platform support.
|
|
299
307
|
const platform = (0, _resolvePlatform.parsePlatformHeader)(req);
|
|
300
308
|
// On web, serve the public folder
|
|
301
|
-
if (!platform || platform ===
|
|
302
|
-
var
|
|
309
|
+
if (!platform || platform === 'web') {
|
|
310
|
+
var _this_initialProjectConfig_exp_web;
|
|
303
311
|
if ([
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
].includes(((
|
|
312
|
+
'static',
|
|
313
|
+
'server'
|
|
314
|
+
].includes(((_this_initialProjectConfig_exp_web = this.initialProjectConfig.exp.web) == null ? void 0 : _this_initialProjectConfig_exp_web.output) ?? '')) {
|
|
307
315
|
// Skip the spa-styled index.html when static generation is enabled.
|
|
308
316
|
next();
|
|
309
317
|
return true;
|
|
@@ -324,7 +332,7 @@ class ManifestMiddleware extends _expoMiddleware.ExpoMiddleware {
|
|
|
324
332
|
await this.saveDevicesAsync(req);
|
|
325
333
|
// Read from headers
|
|
326
334
|
const options = this.getParsedHeaders(req);
|
|
327
|
-
const { body
|
|
335
|
+
const { body, headers } = await this._getManifestResponseAsync(options);
|
|
328
336
|
for (const [headerName, headerValue] of headers){
|
|
329
337
|
res.setHeader(headerName, headerValue);
|
|
330
338
|
}
|