@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
|
@@ -9,7 +9,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
9
9
|
});
|
|
10
10
|
Object.defineProperty(exports, "exportStandaloneServerAsync", {
|
|
11
11
|
enumerable: true,
|
|
12
|
-
get: ()
|
|
12
|
+
get: function() {
|
|
13
|
+
return exportStandaloneServerAsync;
|
|
14
|
+
}
|
|
13
15
|
});
|
|
14
16
|
function _config() {
|
|
15
17
|
const data = require("@expo/config");
|
|
@@ -18,36 +20,36 @@ function _config() {
|
|
|
18
20
|
};
|
|
19
21
|
return data;
|
|
20
22
|
}
|
|
21
|
-
function
|
|
22
|
-
const data = /*#__PURE__*/
|
|
23
|
-
|
|
23
|
+
function _spawnasync() {
|
|
24
|
+
const data = /*#__PURE__*/ _interop_require_default(require("@expo/spawn-async"));
|
|
25
|
+
_spawnasync = function() {
|
|
24
26
|
return data;
|
|
25
27
|
};
|
|
26
28
|
return data;
|
|
27
29
|
}
|
|
28
30
|
function _chalk() {
|
|
29
|
-
const data = /*#__PURE__*/
|
|
31
|
+
const data = /*#__PURE__*/ _interop_require_default(require("chalk"));
|
|
30
32
|
_chalk = function() {
|
|
31
33
|
return data;
|
|
32
34
|
};
|
|
33
35
|
return data;
|
|
34
36
|
}
|
|
35
37
|
function _fs() {
|
|
36
|
-
const data = /*#__PURE__*/
|
|
38
|
+
const data = /*#__PURE__*/ _interop_require_default(require("fs"));
|
|
37
39
|
_fs = function() {
|
|
38
40
|
return data;
|
|
39
41
|
};
|
|
40
42
|
return data;
|
|
41
43
|
}
|
|
42
|
-
function
|
|
44
|
+
function _nodechild_process() {
|
|
43
45
|
const data = require("node:child_process");
|
|
44
|
-
|
|
46
|
+
_nodechild_process = function() {
|
|
45
47
|
return data;
|
|
46
48
|
};
|
|
47
49
|
return data;
|
|
48
50
|
}
|
|
49
51
|
function _path() {
|
|
50
|
-
const data = /*#__PURE__*/
|
|
52
|
+
const data = /*#__PURE__*/ _interop_require_default(require("path"));
|
|
51
53
|
_path = function() {
|
|
52
54
|
return data;
|
|
53
55
|
};
|
|
@@ -63,26 +65,26 @@ const _exportStaticAsync = require("../exportStaticAsync");
|
|
|
63
65
|
const _publicFolder = require("../publicFolder");
|
|
64
66
|
const _saveAssets = require("../saveAssets");
|
|
65
67
|
const _xcodeCompilerLogger = require("./xcodeCompilerLogger");
|
|
66
|
-
function
|
|
68
|
+
function _interop_require_default(obj) {
|
|
67
69
|
return obj && obj.__esModule ? obj : {
|
|
68
70
|
default: obj
|
|
69
71
|
};
|
|
70
72
|
}
|
|
71
|
-
const debug = require(
|
|
72
|
-
async function exportStandaloneServerAsync(projectRoot, devServer, { exp
|
|
73
|
-
var
|
|
73
|
+
const debug = require('debug')('expo:export:server');
|
|
74
|
+
async function exportStandaloneServerAsync(projectRoot, devServer, { exp, pkg, files, options }) {
|
|
75
|
+
var _exp_extra_router, _exp_extra, _exp_extra1;
|
|
74
76
|
if (!options.eager) {
|
|
75
77
|
await tryRemovingGeneratedOriginAsync(projectRoot, exp);
|
|
76
78
|
}
|
|
77
|
-
(0, _xcodeCompilerLogger.logInXcode)(
|
|
79
|
+
(0, _xcodeCompilerLogger.logInXcode)('Exporting server');
|
|
78
80
|
// Store the server output in the project's .expo directory.
|
|
79
|
-
const serverOutput = _path().default.join(projectRoot,
|
|
81
|
+
const serverOutput = _path().default.join(projectRoot, '.expo/server', options.platform);
|
|
80
82
|
// Remove the previous server output to prevent stale files.
|
|
81
83
|
await (0, _dir.removeAsync)(serverOutput);
|
|
82
84
|
// Export the API routes for server rendering the React Server Components.
|
|
83
85
|
await (0, _exportStaticAsync.exportApiRoutesStandaloneAsync)(devServer, {
|
|
84
86
|
files,
|
|
85
|
-
platform:
|
|
87
|
+
platform: 'web',
|
|
86
88
|
apiRoutesOnly: true
|
|
87
89
|
});
|
|
88
90
|
const publicPath = _path().default.resolve(projectRoot, _env.env.EXPO_PUBLIC_FOLDER);
|
|
@@ -93,28 +95,28 @@ async function exportStandaloneServerAsync(projectRoot, devServer, { exp , pkg ,
|
|
|
93
95
|
[
|
|
94
96
|
...files.entries()
|
|
95
97
|
].forEach(([key, value])=>{
|
|
96
|
-
if (value.targetDomain ===
|
|
98
|
+
if (value.targetDomain === 'server') {
|
|
97
99
|
// Delete server resources to prevent them from being exposed in the binary.
|
|
98
100
|
files.delete(key);
|
|
99
101
|
}
|
|
100
102
|
});
|
|
101
103
|
// TODO: Deprecate this in favor of a built-in prop that users should avoid setting.
|
|
102
|
-
const userDefinedServerUrl = (
|
|
104
|
+
const userDefinedServerUrl = (_exp_extra = exp.extra) == null ? void 0 : (_exp_extra_router = _exp_extra.router) == null ? void 0 : _exp_extra_router.origin;
|
|
103
105
|
let serverUrl = userDefinedServerUrl;
|
|
104
106
|
const shouldSkipServerDeployment = (()=>{
|
|
105
107
|
if (!options.eager) {
|
|
106
|
-
(0, _xcodeCompilerLogger.logInXcode)(
|
|
108
|
+
(0, _xcodeCompilerLogger.logInXcode)('Skipping server deployment because the script is not running in eager mode.');
|
|
107
109
|
return true;
|
|
108
110
|
}
|
|
109
111
|
// Add an opaque flag to disable server deployment.
|
|
110
112
|
if (_env.env.EXPO_NO_DEPLOY) {
|
|
111
|
-
(0, _xcodeCompilerLogger.warnInXcode)(
|
|
113
|
+
(0, _xcodeCompilerLogger.warnInXcode)('Skipping server deployment because environment variable EXPO_NO_DEPLOY is set.');
|
|
112
114
|
return true;
|
|
113
115
|
}
|
|
114
116
|
// Can't safely deploy from Xcode since the PATH isn't set up correctly. We could amend this in the future and allow users who customize the PATH to deploy from Xcode.
|
|
115
117
|
if ((0, _xcodeCompilerLogger.isExecutingFromXcodebuild)()) {
|
|
116
118
|
// TODO: Don't warn when the eager bundle has been run.
|
|
117
|
-
(0, _xcodeCompilerLogger.warnInXcode)(
|
|
119
|
+
(0, _xcodeCompilerLogger.warnInXcode)('Skipping server deployment because the build is running from an Xcode run script. Build with Expo CLI or EAS Build to deploy the server automatically.');
|
|
118
120
|
return true;
|
|
119
121
|
}
|
|
120
122
|
return false;
|
|
@@ -135,45 +137,45 @@ async function exportStandaloneServerAsync(projectRoot, devServer, { exp , pkg ,
|
|
|
135
137
|
serverUrl ||= deployedServerUrl;
|
|
136
138
|
// If the user hasn't manually defined the server URL, write the deployed server URL to the app.json.
|
|
137
139
|
if (userDefinedServerUrl) {
|
|
138
|
-
_log.Log.log(
|
|
140
|
+
_log.Log.log('Skip automatically linking server origin to native container');
|
|
139
141
|
return;
|
|
140
142
|
}
|
|
141
|
-
_log.Log.log(
|
|
143
|
+
_log.Log.log('Writing generated server URL to app.json');
|
|
142
144
|
// NOTE: Is is it possible to assert that the config needs to be modifiable before building the app?
|
|
143
145
|
const modification = await (0, _config().modifyConfigAsync)(projectRoot, {
|
|
144
146
|
extra: {
|
|
145
147
|
...exp.extra ?? {},
|
|
146
148
|
router: {
|
|
147
|
-
...((
|
|
149
|
+
...((_exp_extra1 = exp.extra) == null ? void 0 : _exp_extra1.router) ?? {},
|
|
148
150
|
generatedOrigin: serverUrl
|
|
149
151
|
}
|
|
150
152
|
}
|
|
151
153
|
}, {
|
|
152
154
|
skipSDKVersionRequirement: true
|
|
153
155
|
});
|
|
154
|
-
if (modification.type !==
|
|
156
|
+
if (modification.type !== 'success') {
|
|
155
157
|
throw new _errors.CommandError(`Failed to write generated server origin to app.json because the file is dynamic and does not extend the static config. The client will not be able to make server requests to API routes or static files. You can disable server linking with EXPO_NO_DEPLOY=1 or by disabling server output in the app.json.`);
|
|
156
158
|
}
|
|
157
159
|
}
|
|
158
|
-
async function dumpDeploymentLogs(projectRoot, logs, name =
|
|
160
|
+
async function dumpDeploymentLogs(projectRoot, logs, name = 'deploy') {
|
|
159
161
|
const outputPath = _path().default.join(projectRoot, `.expo/logs/${name}.log`);
|
|
160
162
|
await _fs().default.promises.mkdir(_path().default.dirname(outputPath), {
|
|
161
163
|
recursive: true
|
|
162
164
|
});
|
|
163
|
-
debug(
|
|
165
|
+
debug('Dumping server deployment logs to: ' + outputPath);
|
|
164
166
|
await _fs().default.promises.writeFile(outputPath, logs);
|
|
165
167
|
return outputPath;
|
|
166
168
|
}
|
|
167
169
|
function getCommandBin(command) {
|
|
168
170
|
try {
|
|
169
|
-
return (0,
|
|
170
|
-
stdio:
|
|
171
|
+
return (0, _nodechild_process().execSync)(`command -v ${command}`, {
|
|
172
|
+
stdio: 'pipe'
|
|
171
173
|
}).toString().trim();
|
|
172
174
|
} catch {
|
|
173
175
|
return null;
|
|
174
176
|
}
|
|
175
177
|
}
|
|
176
|
-
async function runServerDeployCommandAsync(projectRoot, { distDirectory
|
|
178
|
+
async function runServerDeployCommandAsync(projectRoot, { distDirectory, deployScript }) {
|
|
177
179
|
const logOfflineError = ()=>{
|
|
178
180
|
const manualScript = deployScript ? `npm run ${deployScript.scriptName}` : `npx eas deploy --export-dir ${distDirectory}`;
|
|
179
181
|
(0, _xcodeCompilerLogger.logMetroErrorInXcode)(projectRoot, _chalk().default.red`Running CLI in offline mode, skipping server deployment. Deploy manually with: ${manualScript}`);
|
|
@@ -189,14 +191,14 @@ async function runServerDeployCommandAsync(projectRoot, { distDirectory , deploy
|
|
|
189
191
|
if (!_env.env.EAS_BUILD) {
|
|
190
192
|
// This check helps avoid running EAS if the user isn't a user of EAS.
|
|
191
193
|
// We only need to run it when building outside of EAS.
|
|
192
|
-
const globalBin = getCommandBin(
|
|
194
|
+
const globalBin = getCommandBin('eas');
|
|
193
195
|
if (!globalBin) {
|
|
194
196
|
// This should never happen from EAS Builds.
|
|
195
197
|
// Possible to happen when building locally with `npx expo run`
|
|
196
198
|
(0, _xcodeCompilerLogger.logMetroErrorInXcode)(projectRoot, `eas-cli is not installed globally, skipping server deployment. Install EAS CLI with 'npm install -g eas-cli'.`);
|
|
197
199
|
return false;
|
|
198
200
|
}
|
|
199
|
-
debug(
|
|
201
|
+
debug('Found eas-cli:', globalBin);
|
|
200
202
|
}
|
|
201
203
|
let json;
|
|
202
204
|
try {
|
|
@@ -204,35 +206,35 @@ async function runServerDeployCommandAsync(projectRoot, { distDirectory , deploy
|
|
|
204
206
|
const spawnOptions = {
|
|
205
207
|
cwd: projectRoot,
|
|
206
208
|
// Ensures that errors can be caught.
|
|
207
|
-
stdio:
|
|
209
|
+
stdio: 'pipe'
|
|
208
210
|
};
|
|
209
211
|
// TODO: Support absolute paths in EAS CLI
|
|
210
212
|
const exportDir = _path().default.relative(projectRoot, distDirectory);
|
|
211
213
|
if (deployScript) {
|
|
212
214
|
(0, _xcodeCompilerLogger.logInXcode)(`Using custom server deploy script: ${deployScript.scriptName}`);
|
|
213
215
|
// Amend the path to try and make the custom scripts work.
|
|
214
|
-
results = await (0,
|
|
215
|
-
|
|
216
|
+
results = await (0, _spawnasync().default)('npm', [
|
|
217
|
+
'run',
|
|
216
218
|
deployScript.scriptName,
|
|
217
219
|
`--export-dir=${exportDir}`
|
|
218
220
|
], spawnOptions);
|
|
219
221
|
} else {
|
|
220
|
-
(0, _xcodeCompilerLogger.logInXcode)(
|
|
222
|
+
(0, _xcodeCompilerLogger.logInXcode)('Deploying server to link with client');
|
|
221
223
|
// results = DEPLOYMENT_SUCCESS_FIXTURE;
|
|
222
|
-
results = await (0,
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
224
|
+
results = await (0, _spawnasync().default)('npx', [
|
|
225
|
+
'eas-cli',
|
|
226
|
+
'deploy',
|
|
227
|
+
'--non-interactive',
|
|
228
|
+
'--json',
|
|
227
229
|
`--export-dir=${exportDir}`
|
|
228
230
|
], spawnOptions);
|
|
229
|
-
debug(
|
|
231
|
+
debug('Server deployment stdout:', results.stdout);
|
|
230
232
|
// Send stderr to stderr. stdout is parsed as JSON.
|
|
231
233
|
if (results.stderr) {
|
|
232
234
|
process.stderr.write(results.stderr);
|
|
233
235
|
}
|
|
234
236
|
}
|
|
235
|
-
const logPath = await dumpDeploymentLogs(projectRoot, results.output.join(
|
|
237
|
+
const logPath = await dumpDeploymentLogs(projectRoot, results.output.join('\n'));
|
|
236
238
|
try {
|
|
237
239
|
// {
|
|
238
240
|
// "dashboardUrl": "https://staging.expo.dev/projects/6460c11c-e1bc-4084-882a-fd9f57b825b1/hosting/deployments",
|
|
@@ -246,8 +248,8 @@ async function runServerDeployCommandAsync(projectRoot, { distDirectory , deploy
|
|
|
246
248
|
}
|
|
247
249
|
} catch (error) {
|
|
248
250
|
if ((0, _xcrun.isSpawnResultError)(error)) {
|
|
249
|
-
const output = error.output.join(
|
|
250
|
-
_log.Log.log(_chalk().default.dim(
|
|
251
|
+
const output = error.output.join('\n').trim() || error.toString();
|
|
252
|
+
_log.Log.log(_chalk().default.dim('An error occurred while deploying server. Logs stored at: ' + await dumpDeploymentLogs(projectRoot, output, 'deploy-error')));
|
|
251
253
|
// Likely a server offline or network error.
|
|
252
254
|
if (output.match(/ENOTFOUND/)) {
|
|
253
255
|
logOfflineError();
|
|
@@ -296,7 +298,7 @@ function canParseURL(url) {
|
|
|
296
298
|
}
|
|
297
299
|
}
|
|
298
300
|
function assertDeploymentJsonOutput(json) {
|
|
299
|
-
if (!json || typeof json !==
|
|
301
|
+
if (!json || typeof json !== 'object' || typeof json.url !== 'string') {
|
|
300
302
|
throw new Error('JSON output of server deployment command are not in the expected format: { url: "https://..." }');
|
|
301
303
|
}
|
|
302
304
|
}
|
|
@@ -305,10 +307,10 @@ function getServerDeploymentScript(scripts, platform) {
|
|
|
305
307
|
// { scripts: { "native:deploy": "eas deploy --json --non-interactive" } }
|
|
306
308
|
// A quick search on GitHub showed that `native:deploy` is not used in any public repos yet.
|
|
307
309
|
// https://github.com/search?q=%22native%3Adeploy%22+path%3Apackage.json&type=code
|
|
308
|
-
const DEFAULT_SCRIPT_NAME =
|
|
310
|
+
const DEFAULT_SCRIPT_NAME = 'native:deploy';
|
|
309
311
|
const scriptNames = [
|
|
310
312
|
// DEFAULT_SCRIPT_NAME + ':' + platform,
|
|
311
|
-
DEFAULT_SCRIPT_NAME
|
|
313
|
+
DEFAULT_SCRIPT_NAME
|
|
312
314
|
];
|
|
313
315
|
for (const scriptName of scriptNames){
|
|
314
316
|
if (scripts == null ? void 0 : scripts[scriptName]) {
|
|
@@ -321,30 +323,30 @@ function getServerDeploymentScript(scripts, platform) {
|
|
|
321
323
|
return null;
|
|
322
324
|
}
|
|
323
325
|
/** We can try to remove the generated origin from the manifest when running outside of eager mode. Bundling is the last operation to run so the config will already be embedded with the origin. */ async function tryRemovingGeneratedOriginAsync(projectRoot, exp) {
|
|
324
|
-
var
|
|
326
|
+
var _exp_extra_router, _exp_extra, _exp_extra1;
|
|
325
327
|
if (_env.env.CI) {
|
|
326
328
|
// Skip in CI since nothing is committed.
|
|
327
329
|
return;
|
|
328
330
|
}
|
|
329
|
-
if (((
|
|
330
|
-
debug(
|
|
331
|
+
if (((_exp_extra = exp.extra) == null ? void 0 : (_exp_extra_router = _exp_extra.router) == null ? void 0 : _exp_extra_router.generatedOrigin) == null) {
|
|
332
|
+
debug('No generated origin needs removing');
|
|
331
333
|
return;
|
|
332
334
|
}
|
|
333
335
|
const modification = await (0, _config().modifyConfigAsync)(projectRoot, {
|
|
334
336
|
extra: {
|
|
335
337
|
...exp.extra ?? {},
|
|
336
338
|
router: {
|
|
337
|
-
...((
|
|
339
|
+
...((_exp_extra1 = exp.extra) == null ? void 0 : _exp_extra1.router) ?? {},
|
|
338
340
|
generatedOrigin: undefined
|
|
339
341
|
}
|
|
340
342
|
}
|
|
341
343
|
}, {
|
|
342
344
|
skipSDKVersionRequirement: true
|
|
343
345
|
});
|
|
344
|
-
if (modification.type !==
|
|
345
|
-
debug(
|
|
346
|
+
if (modification.type !== 'success') {
|
|
347
|
+
debug('Could not remove generated origin from manifest');
|
|
346
348
|
} else {
|
|
347
|
-
debug(
|
|
349
|
+
debug('Generated origin has been removed from manifest');
|
|
348
350
|
}
|
|
349
351
|
}
|
|
350
352
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/export/embed/exportServer.ts"],"sourcesContent":["/**\n * Copyright © 2023 650 Industries.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport { ExpoConfig, modifyConfigAsync, PackageJSONConfig } from '@expo/config';\nimport spawnAsync from '@expo/spawn-async';\nimport chalk from 'chalk';\nimport fs from 'fs';\nimport { execSync } from 'node:child_process';\nimport path from 'path';\n\nimport { disableNetwork } from '../../api/settings';\nimport { Log } from '../../log';\nimport { isSpawnResultError } from '../../start/platforms/ios/xcrun';\nimport { MetroBundlerDevServer } from '../../start/server/metro/MetroBundlerDevServer';\nimport { removeAsync } from '../../utils/dir';\nimport { env } from '../../utils/env';\nimport { CommandError } from '../../utils/errors';\nimport { exportApiRoutesStandaloneAsync } from '../exportStaticAsync';\nimport { copyPublicFolderAsync } from '../publicFolder';\nimport { ExportAssetMap, persistMetroFilesAsync } from '../saveAssets';\nimport { Options } from './resolveOptions';\nimport {\n isExecutingFromXcodebuild,\n logInXcode,\n logMetroErrorInXcode,\n warnInXcode,\n} from './xcodeCompilerLogger';\n\nconst debug = require('debug')('expo:export:server');\n\ntype ServerDeploymentResults = {\n url: string;\n dashboardUrl?: string;\n};\n\nexport async function exportStandaloneServerAsync(\n projectRoot: string,\n devServer: MetroBundlerDevServer,\n {\n exp,\n pkg,\n files,\n options,\n }: { exp: ExpoConfig; pkg: PackageJSONConfig; files: ExportAssetMap; options: Options }\n) {\n if (!options.eager) {\n await tryRemovingGeneratedOriginAsync(projectRoot, exp);\n }\n\n logInXcode('Exporting server');\n\n // Store the server output in the project's .expo directory.\n const serverOutput = path.join(projectRoot, '.expo/server', options.platform);\n\n // Remove the previous server output to prevent stale files.\n await removeAsync(serverOutput);\n\n // Export the API routes for server rendering the React Server Components.\n await exportApiRoutesStandaloneAsync(devServer, {\n files,\n platform: 'web',\n apiRoutesOnly: true,\n });\n\n const publicPath = path.resolve(projectRoot, env.EXPO_PUBLIC_FOLDER);\n\n // Copy over public folder items\n await copyPublicFolderAsync(publicPath, serverOutput);\n\n // Copy over the server output on top of the public folder.\n await persistMetroFilesAsync(files, serverOutput);\n\n [...files.entries()].forEach(([key, value]) => {\n if (value.targetDomain === 'server') {\n // Delete server resources to prevent them from being exposed in the binary.\n files.delete(key);\n }\n });\n\n // TODO: Deprecate this in favor of a built-in prop that users should avoid setting.\n const userDefinedServerUrl = exp.extra?.router?.origin;\n let serverUrl = userDefinedServerUrl;\n\n const shouldSkipServerDeployment = (() => {\n if (!options.eager) {\n logInXcode('Skipping server deployment because the script is not running in eager mode.');\n return true;\n }\n\n // Add an opaque flag to disable server deployment.\n if (env.EXPO_NO_DEPLOY) {\n warnInXcode('Skipping server deployment because environment variable EXPO_NO_DEPLOY is set.');\n return true;\n }\n\n // Can't safely deploy from Xcode since the PATH isn't set up correctly. We could amend this in the future and allow users who customize the PATH to deploy from Xcode.\n if (isExecutingFromXcodebuild()) {\n // TODO: Don't warn when the eager bundle has been run.\n warnInXcode(\n 'Skipping server deployment because the build is running from an Xcode run script. Build with Expo CLI or EAS Build to deploy the server automatically.'\n );\n return true;\n }\n\n return false;\n })();\n\n // Deploy the server output to a hosting provider.\n const deployedServerUrl = shouldSkipServerDeployment\n ? false\n : await runServerDeployCommandAsync(projectRoot, {\n distDirectory: serverOutput,\n deployScript: getServerDeploymentScript(pkg.scripts, options.platform),\n });\n\n if (!deployedServerUrl) {\n return;\n }\n\n if (serverUrl) {\n logInXcode(\n `Using custom server URL: ${serverUrl} (ignoring deployment URL: ${deployedServerUrl})`\n );\n }\n\n // If the user-defined server URL is not defined, use the deployed server URL.\n // This allows for overwriting the server URL in the project's native files.\n serverUrl ||= deployedServerUrl;\n\n // If the user hasn't manually defined the server URL, write the deployed server URL to the app.json.\n if (userDefinedServerUrl) {\n Log.log('Skip automatically linking server origin to native container');\n return;\n }\n Log.log('Writing generated server URL to app.json');\n\n // NOTE: Is is it possible to assert that the config needs to be modifiable before building the app?\n const modification = await modifyConfigAsync(\n projectRoot,\n {\n extra: {\n ...(exp.extra ?? {}),\n router: {\n ...(exp.extra?.router ?? {}),\n generatedOrigin: serverUrl,\n },\n },\n },\n {\n skipSDKVersionRequirement: true,\n }\n );\n\n if (modification.type !== 'success') {\n throw new CommandError(\n `Failed to write generated server origin to app.json because the file is dynamic and does not extend the static config. The client will not be able to make server requests to API routes or static files. You can disable server linking with EXPO_NO_DEPLOY=1 or by disabling server output in the app.json.`\n );\n }\n}\n\nasync function dumpDeploymentLogs(projectRoot: string, logs: string, name = 'deploy') {\n const outputPath = path.join(projectRoot, `.expo/logs/${name}.log`);\n await fs.promises.mkdir(path.dirname(outputPath), { recursive: true });\n debug('Dumping server deployment logs to: ' + outputPath);\n await fs.promises.writeFile(outputPath, logs);\n return outputPath;\n}\n\nfunction getCommandBin(command: string) {\n try {\n return execSync(`command -v ${command}`, { stdio: 'pipe' }).toString().trim();\n } catch {\n return null;\n }\n}\n\nasync function runServerDeployCommandAsync(\n projectRoot: string,\n {\n distDirectory,\n deployScript,\n }: { distDirectory: string; deployScript: { scriptName: string; script: string } | null }\n): Promise<string | false> {\n const logOfflineError = () => {\n const manualScript = deployScript\n ? `npm run ${deployScript.scriptName}`\n : `npx eas deploy --export-dir ${distDirectory}`;\n\n logMetroErrorInXcode(\n projectRoot,\n chalk.red`Running CLI in offline mode, skipping server deployment. Deploy manually with: ${manualScript}`\n );\n };\n if (env.EXPO_OFFLINE) {\n logOfflineError();\n return false;\n }\n\n // TODO: Only allow EAS deployments when staging is enabled, this is because the feature is still staging-only.\n if (!env.EXPO_UNSTABLE_DEPLOY_SERVER) {\n return false;\n }\n\n if (!env.EAS_BUILD) {\n // This check helps avoid running EAS if the user isn't a user of EAS.\n // We only need to run it when building outside of EAS.\n const globalBin = getCommandBin('eas');\n if (!globalBin) {\n // This should never happen from EAS Builds.\n // Possible to happen when building locally with `npx expo run`\n logMetroErrorInXcode(\n projectRoot,\n `eas-cli is not installed globally, skipping server deployment. Install EAS CLI with 'npm install -g eas-cli'.`\n );\n return false;\n }\n debug('Found eas-cli:', globalBin);\n }\n\n let json: any;\n try {\n let results: spawnAsync.SpawnResult;\n\n const spawnOptions: spawnAsync.SpawnOptions = {\n cwd: projectRoot,\n // Ensures that errors can be caught.\n stdio: 'pipe',\n };\n // TODO: Support absolute paths in EAS CLI\n const exportDir = path.relative(projectRoot, distDirectory);\n if (deployScript) {\n logInXcode(`Using custom server deploy script: ${deployScript.scriptName}`);\n // Amend the path to try and make the custom scripts work.\n\n results = await spawnAsync(\n 'npm',\n ['run', deployScript.scriptName, `--export-dir=${exportDir}`],\n spawnOptions\n );\n } else {\n logInXcode('Deploying server to link with client');\n\n // results = DEPLOYMENT_SUCCESS_FIXTURE;\n results = await spawnAsync(\n 'npx',\n ['eas-cli', 'deploy', '--non-interactive', '--json', `--export-dir=${exportDir}`],\n spawnOptions\n );\n\n debug('Server deployment stdout:', results.stdout);\n\n // Send stderr to stderr. stdout is parsed as JSON.\n if (results.stderr) {\n process.stderr.write(results.stderr);\n }\n }\n\n const logPath = await dumpDeploymentLogs(projectRoot, results.output.join('\\n'));\n\n try {\n // {\n // \"dashboardUrl\": \"https://staging.expo.dev/projects/6460c11c-e1bc-4084-882a-fd9f57b825b1/hosting/deployments\",\n // \"identifier\": \"8a1pwbv6c5\",\n // \"url\": \"https://sep30--8a1pwbv6c5.staging.expo.app\"\n // }\n json = JSON.parse(results.stdout.trim());\n } catch {\n logMetroErrorInXcode(\n projectRoot,\n `Failed to parse server deployment JSON output. Check the logs for more information: ${logPath}`\n );\n return false;\n }\n } catch (error) {\n if (isSpawnResultError(error)) {\n const output = error.output.join('\\n').trim() || error.toString();\n Log.log(\n chalk.dim(\n 'An error occurred while deploying server. Logs stored at: ' +\n (await dumpDeploymentLogs(projectRoot, output, 'deploy-error'))\n )\n );\n\n // Likely a server offline or network error.\n if (output.match(/ENOTFOUND/)) {\n logOfflineError();\n // Print the raw error message to help provide more context.\n Log.log(chalk.dim(output));\n // Prevent any other network requests (unlikely for this command).\n disableNetwork();\n return false;\n }\n\n logInXcode(output);\n if (output.match(/spawn eas ENOENT/)) {\n // EAS not installed.\n logMetroErrorInXcode(\n projectRoot,\n `Server deployment failed because eas-cli cannot be accessed from the build script's environment (ENOENT). Install EAS CLI with 'npm install -g eas-cli'.`\n );\n return false;\n }\n\n if (error.stderr.match(/Must configure EAS project by running/)) {\n // EAS not configured, this can happen when building a project locally before building in EAS.\n // User must run `eas init`, `eas deploy`, or `eas build` first.\n\n // TODO: Should we fail the build here or just warn users?\n logMetroErrorInXcode(\n projectRoot,\n `Skipping server deployment because EAS is not configured. Run 'eas init' before trying again, or disable server output in the project.`\n );\n return false;\n }\n }\n\n // Throw unhandled server deployment errors.\n throw error;\n }\n\n // Assert json format\n assertDeploymentJsonOutput(json);\n\n // Warn about the URL not being valid. This should never happen, but might be possible with third-parties.\n if (!canParseURL(json.url)) {\n warnInXcode(`The server deployment URL is not a valid URL: ${json.url}`);\n }\n\n if (json.dashboardUrl) {\n logInXcode(`Server dashboard: ${json.dashboardUrl}`);\n }\n\n logInXcode(`Server deployed to: ${json.url}`);\n\n return json.url;\n}\n\nfunction canParseURL(url: string): boolean {\n try {\n // eslint-disable-next-line no-new\n new URL(url);\n return true;\n } catch {\n return false;\n }\n}\n\nfunction assertDeploymentJsonOutput(json: any): asserts json is ServerDeploymentResults {\n if (!json || typeof json !== 'object' || typeof json.url !== 'string') {\n throw new Error(\n 'JSON output of server deployment command are not in the expected format: { url: \"https://...\" }'\n );\n }\n}\n\nfunction getServerDeploymentScript(\n scripts: Record<string, string> | undefined,\n platform: string\n): { scriptName: string; script: string } | null {\n // Users can overwrite the default deployment script with:\n // { scripts: { \"native:deploy\": \"eas deploy --json --non-interactive\" } }\n // A quick search on GitHub showed that `native:deploy` is not used in any public repos yet.\n // https://github.com/search?q=%22native%3Adeploy%22+path%3Apackage.json&type=code\n const DEFAULT_SCRIPT_NAME = 'native:deploy';\n\n const scriptNames = [\n // DEFAULT_SCRIPT_NAME + ':' + platform,\n DEFAULT_SCRIPT_NAME,\n ];\n\n for (const scriptName of scriptNames) {\n if (scripts?.[scriptName]) {\n return { scriptName, script: scripts[scriptName] };\n }\n }\n\n return null;\n}\n\n/** We can try to remove the generated origin from the manifest when running outside of eager mode. Bundling is the last operation to run so the config will already be embedded with the origin. */\nasync function tryRemovingGeneratedOriginAsync(projectRoot: string, exp: ExpoConfig) {\n if (env.CI) {\n // Skip in CI since nothing is committed.\n return;\n }\n if (exp.extra?.router?.generatedOrigin == null) {\n debug('No generated origin needs removing');\n return;\n }\n\n const modification = await modifyConfigAsync(\n projectRoot,\n {\n extra: {\n ...(exp.extra ?? {}),\n router: {\n ...(exp.extra?.router ?? {}),\n generatedOrigin: undefined,\n },\n },\n },\n {\n skipSDKVersionRequirement: true,\n }\n );\n\n if (modification.type !== 'success') {\n debug('Could not remove generated origin from manifest');\n } else {\n debug('Generated origin has been removed from manifest');\n }\n}\n"],"names":["exportStandaloneServerAsync","debug","require","projectRoot","devServer","exp","pkg","files","options","eager","tryRemovingGeneratedOriginAsync","logInXcode","serverOutput","path","join","platform","removeAsync","exportApiRoutesStandaloneAsync","apiRoutesOnly","publicPath","resolve","env","EXPO_PUBLIC_FOLDER","copyPublicFolderAsync","persistMetroFilesAsync","entries","forEach","key","value","targetDomain","delete","userDefinedServerUrl","extra","router","origin","serverUrl","shouldSkipServerDeployment","EXPO_NO_DEPLOY","warnInXcode","isExecutingFromXcodebuild","deployedServerUrl","runServerDeployCommandAsync","distDirectory","deployScript","getServerDeploymentScript","scripts","Log","log","modification","modifyConfigAsync","generatedOrigin","skipSDKVersionRequirement","type","CommandError","dumpDeploymentLogs","logs","name","outputPath","fs","promises","mkdir","dirname","recursive","writeFile","getCommandBin","command","execSync","stdio","toString","trim","logOfflineError","manualScript","scriptName","logMetroErrorInXcode","chalk","red","EXPO_OFFLINE","EXPO_UNSTABLE_DEPLOY_SERVER","EAS_BUILD","globalBin","json","results","spawnOptions","cwd","exportDir","relative","spawnAsync","stdout","stderr","process","write","logPath","output","JSON","parse","error","isSpawnResultError","dim","match","disableNetwork","assertDeploymentJsonOutput","canParseURL","url","dashboardUrl","URL","Error","DEFAULT_SCRIPT_NAME","scriptNames","script","CI","undefined"],"mappings":"AAAA;;;;;CAKC,GACD;;;;+BAgCsBA,6BAA2B;;aAA3BA,2BAA2B;;;yBAhCgB,cAAc;;;;;;;8DACxD,mBAAmB;;;;;;;8DACxB,OAAO;;;;;;;8DACV,IAAI;;;;;;;yBACM,oBAAoB;;;;;;;8DAC5B,MAAM;;;;;;0BAEQ,oBAAoB;qBAC/B,WAAW;uBACI,iCAAiC;qBAExC,iBAAiB;qBACzB,iBAAiB;wBACR,oBAAoB;mCACF,sBAAsB;8BAC/B,iBAAiB;4BACA,eAAe;qCAO/D,uBAAuB;;;;;;AAE9B,MAAMC,KAAK,GAAGC,OAAO,CAAC,OAAO,CAAC,CAAC,oBAAoB,CAAC,AAAC;AAO9C,eAAeF,2BAA2B,CAC/CG,WAAmB,EACnBC,SAAgC,EAChC,EACEC,GAAG,CAAA,EACHC,GAAG,CAAA,EACHC,KAAK,CAAA,EACLC,OAAO,CAAA,EAC8E,EACvF;QAoC6BH,GAAS,QA+D1BA,IAAS;IAlGrB,IAAI,CAACG,OAAO,CAACC,KAAK,EAAE;QAClB,MAAMC,+BAA+B,CAACP,WAAW,EAAEE,GAAG,CAAC,CAAC;IAC1D,CAAC;IAEDM,IAAAA,oBAAU,WAAA,EAAC,kBAAkB,CAAC,CAAC;IAE/B,4DAA4D;IAC5D,MAAMC,YAAY,GAAGC,KAAI,EAAA,QAAA,CAACC,IAAI,CAACX,WAAW,EAAE,cAAc,EAAEK,OAAO,CAACO,QAAQ,CAAC,AAAC;IAE9E,4DAA4D;IAC5D,MAAMC,IAAAA,IAAW,YAAA,EAACJ,YAAY,CAAC,CAAC;IAEhC,0EAA0E;IAC1E,MAAMK,IAAAA,kBAA8B,+BAAA,EAACb,SAAS,EAAE;QAC9CG,KAAK;QACLQ,QAAQ,EAAE,KAAK;QACfG,aAAa,EAAE,IAAI;KACpB,CAAC,CAAC;IAEH,MAAMC,UAAU,GAAGN,KAAI,EAAA,QAAA,CAACO,OAAO,CAACjB,WAAW,EAAEkB,IAAG,IAAA,CAACC,kBAAkB,CAAC,AAAC;IAErE,gCAAgC;IAChC,MAAMC,IAAAA,aAAqB,sBAAA,EAACJ,UAAU,EAAEP,YAAY,CAAC,CAAC;IAEtD,2DAA2D;IAC3D,MAAMY,IAAAA,WAAsB,uBAAA,EAACjB,KAAK,EAAEK,YAAY,CAAC,CAAC;IAElD;WAAIL,KAAK,CAACkB,OAAO,EAAE;KAAC,CAACC,OAAO,CAAC,CAAC,CAACC,GAAG,EAAEC,KAAK,CAAC,GAAK;QAC7C,IAAIA,KAAK,CAACC,YAAY,KAAK,QAAQ,EAAE;YACnC,4EAA4E;YAC5EtB,KAAK,CAACuB,MAAM,CAACH,GAAG,CAAC,CAAC;QACpB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,oFAAoF;IACpF,MAAMI,oBAAoB,GAAG1B,CAAAA,GAAS,GAATA,GAAG,CAAC2B,KAAK,SAAQ,GAAjB3B,KAAAA,CAAiB,GAAjBA,QAAAA,GAAS,CAAE4B,MAAM,SAAA,GAAjB5B,KAAAA,CAAiB,QAAE6B,MAAM,AAAR,AAAS;IACvD,IAAIC,SAAS,GAAGJ,oBAAoB,AAAC;IAErC,MAAMK,0BAA0B,GAAG,CAAC,IAAM;QACxC,IAAI,CAAC5B,OAAO,CAACC,KAAK,EAAE;YAClBE,IAAAA,oBAAU,WAAA,EAAC,6EAA6E,CAAC,CAAC;YAC1F,OAAO,IAAI,CAAC;QACd,CAAC;QAED,mDAAmD;QACnD,IAAIU,IAAG,IAAA,CAACgB,cAAc,EAAE;YACtBC,IAAAA,oBAAW,YAAA,EAAC,gFAAgF,CAAC,CAAC;YAC9F,OAAO,IAAI,CAAC;QACd,CAAC;QAED,uKAAuK;QACvK,IAAIC,IAAAA,oBAAyB,0BAAA,GAAE,EAAE;YAC/B,uDAAuD;YACvDD,IAAAA,oBAAW,YAAA,EACT,wJAAwJ,CACzJ,CAAC;YACF,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,EAAE,AAAC;IAEL,kDAAkD;IAClD,MAAME,iBAAiB,GAAGJ,0BAA0B,GAChD,KAAK,GACL,MAAMK,2BAA2B,CAACtC,WAAW,EAAE;QAC7CuC,aAAa,EAAE9B,YAAY;QAC3B+B,YAAY,EAAEC,yBAAyB,CAACtC,GAAG,CAACuC,OAAO,EAAErC,OAAO,CAACO,QAAQ,CAAC;KACvE,CAAC,AAAC;IAEP,IAAI,CAACyB,iBAAiB,EAAE;QACtB,OAAO;IACT,CAAC;IAED,IAAIL,SAAS,EAAE;QACbxB,IAAAA,oBAAU,WAAA,EACR,CAAC,yBAAyB,EAAEwB,SAAS,CAAC,2BAA2B,EAAEK,iBAAiB,CAAC,CAAC,CAAC,CACxF,CAAC;IACJ,CAAC;IAED,8EAA8E;IAC9E,4EAA4E;IAC5EL,SAAS,KAAKK,iBAAiB,CAAC;IAEhC,qGAAqG;IACrG,IAAIT,oBAAoB,EAAE;QACxBe,IAAG,IAAA,CAACC,GAAG,CAAC,8DAA8D,CAAC,CAAC;QACxE,OAAO;IACT,CAAC;IACDD,IAAG,IAAA,CAACC,GAAG,CAAC,0CAA0C,CAAC,CAAC;IAEpD,oGAAoG;IACpG,MAAMC,YAAY,GAAG,MAAMC,IAAAA,OAAiB,EAAA,kBAAA,EAC1C9C,WAAW,EACX;QACE6B,KAAK,EAAE;YACL,GAAI3B,GAAG,CAAC2B,KAAK,IAAI,EAAE;YACnBC,MAAM,EAAE;gBACN,GAAI5B,CAAAA,CAAAA,IAAS,GAATA,GAAG,CAAC2B,KAAK,SAAQ,GAAjB3B,KAAAA,CAAiB,GAAjBA,IAAS,CAAE4B,MAAM,CAAA,IAAI,EAAE;gBAC3BiB,eAAe,EAAEf,SAAS;aAC3B;SACF;KACF,EACD;QACEgB,yBAAyB,EAAE,IAAI;KAChC,CACF,AAAC;IAEF,IAAIH,YAAY,CAACI,IAAI,KAAK,SAAS,EAAE;QACnC,MAAM,IAAIC,OAAY,aAAA,CACpB,CAAC,6SAA6S,CAAC,CAChT,CAAC;IACJ,CAAC;AACH,CAAC;AAED,eAAeC,kBAAkB,CAACnD,WAAmB,EAAEoD,IAAY,EAAEC,IAAI,GAAG,QAAQ,EAAE;IACpF,MAAMC,UAAU,GAAG5C,KAAI,EAAA,QAAA,CAACC,IAAI,CAACX,WAAW,EAAE,CAAC,WAAW,EAAEqD,IAAI,CAAC,IAAI,CAAC,CAAC,AAAC;IACpE,MAAME,GAAE,EAAA,QAAA,CAACC,QAAQ,CAACC,KAAK,CAAC/C,KAAI,EAAA,QAAA,CAACgD,OAAO,CAACJ,UAAU,CAAC,EAAE;QAAEK,SAAS,EAAE,IAAI;KAAE,CAAC,CAAC;IACvE7D,KAAK,CAAC,qCAAqC,GAAGwD,UAAU,CAAC,CAAC;IAC1D,MAAMC,GAAE,EAAA,QAAA,CAACC,QAAQ,CAACI,SAAS,CAACN,UAAU,EAAEF,IAAI,CAAC,CAAC;IAC9C,OAAOE,UAAU,CAAC;AACpB,CAAC;AAED,SAASO,aAAa,CAACC,OAAe,EAAE;IACtC,IAAI;QACF,OAAOC,IAAAA,iBAAQ,EAAA,SAAA,EAAC,CAAC,WAAW,EAAED,OAAO,CAAC,CAAC,EAAE;YAAEE,KAAK,EAAE,MAAM;SAAE,CAAC,CAACC,QAAQ,EAAE,CAACC,IAAI,EAAE,CAAC;IAChF,EAAE,OAAM;QACN,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,eAAe5B,2BAA2B,CACxCtC,WAAmB,EACnB,EACEuC,aAAa,CAAA,EACbC,YAAY,CAAA,EAC2E,EAChE;IACzB,MAAM2B,eAAe,GAAG,IAAM;QAC5B,MAAMC,YAAY,GAAG5B,YAAY,GAC7B,CAAC,QAAQ,EAAEA,YAAY,CAAC6B,UAAU,CAAC,CAAC,GACpC,CAAC,4BAA4B,EAAE9B,aAAa,CAAC,CAAC,AAAC;QAEnD+B,IAAAA,oBAAoB,qBAAA,EAClBtE,WAAW,EACXuE,MAAK,EAAA,QAAA,CAACC,GAAG,CAAC,+EAA+E,EAAEJ,YAAY,CAAC,CAAC,CAC1G,CAAC;IACJ,CAAC,AAAC;IACF,IAAIlD,IAAG,IAAA,CAACuD,YAAY,EAAE;QACpBN,eAAe,EAAE,CAAC;QAClB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,+GAA+G;IAC/G,IAAI,CAACjD,IAAG,IAAA,CAACwD,2BAA2B,EAAE;QACpC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,CAACxD,IAAG,IAAA,CAACyD,SAAS,EAAE;QAClB,sEAAsE;QACtE,uDAAuD;QACvD,MAAMC,SAAS,GAAGf,aAAa,CAAC,KAAK,CAAC,AAAC;QACvC,IAAI,CAACe,SAAS,EAAE;YACd,4CAA4C;YAC5C,+DAA+D;YAC/DN,IAAAA,oBAAoB,qBAAA,EAClBtE,WAAW,EACX,CAAC,6GAA6G,CAAC,CAChH,CAAC;YACF,OAAO,KAAK,CAAC;QACf,CAAC;QACDF,KAAK,CAAC,gBAAgB,EAAE8E,SAAS,CAAC,CAAC;IACrC,CAAC;IAED,IAAIC,IAAI,AAAK,AAAC;IACd,IAAI;QACF,IAAIC,OAAO,AAAwB,AAAC;QAEpC,MAAMC,YAAY,GAA4B;YAC5CC,GAAG,EAAEhF,WAAW;YAChB,qCAAqC;YACrCgE,KAAK,EAAE,MAAM;SACd,AAAC;QACF,0CAA0C;QAC1C,MAAMiB,SAAS,GAAGvE,KAAI,EAAA,QAAA,CAACwE,QAAQ,CAAClF,WAAW,EAAEuC,aAAa,CAAC,AAAC;QAC5D,IAAIC,YAAY,EAAE;YAChBhC,IAAAA,oBAAU,WAAA,EAAC,CAAC,mCAAmC,EAAEgC,YAAY,CAAC6B,UAAU,CAAC,CAAC,CAAC,CAAC;YAC5E,0DAA0D;YAE1DS,OAAO,GAAG,MAAMK,IAAAA,WAAU,EAAA,QAAA,EACxB,KAAK,EACL;gBAAC,KAAK;gBAAE3C,YAAY,CAAC6B,UAAU;gBAAE,CAAC,aAAa,EAAEY,SAAS,CAAC,CAAC;aAAC,EAC7DF,YAAY,CACb,CAAC;QACJ,OAAO;YACLvE,IAAAA,oBAAU,WAAA,EAAC,sCAAsC,CAAC,CAAC;YAEnD,wCAAwC;YACxCsE,OAAO,GAAG,MAAMK,IAAAA,WAAU,EAAA,QAAA,EACxB,KAAK,EACL;gBAAC,SAAS;gBAAE,QAAQ;gBAAE,mBAAmB;gBAAE,QAAQ;gBAAE,CAAC,aAAa,EAAEF,SAAS,CAAC,CAAC;aAAC,EACjFF,YAAY,CACb,CAAC;YAEFjF,KAAK,CAAC,2BAA2B,EAAEgF,OAAO,CAACM,MAAM,CAAC,CAAC;YAEnD,mDAAmD;YACnD,IAAIN,OAAO,CAACO,MAAM,EAAE;gBAClBC,OAAO,CAACD,MAAM,CAACE,KAAK,CAACT,OAAO,CAACO,MAAM,CAAC,CAAC;YACvC,CAAC;QACH,CAAC;QAED,MAAMG,OAAO,GAAG,MAAMrC,kBAAkB,CAACnD,WAAW,EAAE8E,OAAO,CAACW,MAAM,CAAC9E,IAAI,CAAC,IAAI,CAAC,CAAC,AAAC;QAEjF,IAAI;YACF,IAAI;YACJ,kHAAkH;YAClH,gCAAgC;YAChC,wDAAwD;YACxD,IAAI;YACJkE,IAAI,GAAGa,IAAI,CAACC,KAAK,CAACb,OAAO,CAACM,MAAM,CAAClB,IAAI,EAAE,CAAC,CAAC;QAC3C,EAAE,OAAM;YACNI,IAAAA,oBAAoB,qBAAA,EAClBtE,WAAW,EACX,CAAC,oFAAoF,EAAEwF,OAAO,CAAC,CAAC,CACjG,CAAC;YACF,OAAO,KAAK,CAAC;QACf,CAAC;IACH,EAAE,OAAOI,KAAK,EAAE;QACd,IAAIC,IAAAA,MAAkB,mBAAA,EAACD,KAAK,CAAC,EAAE;YAC7B,MAAMH,MAAM,GAAGG,KAAK,CAACH,MAAM,CAAC9E,IAAI,CAAC,IAAI,CAAC,CAACuD,IAAI,EAAE,IAAI0B,KAAK,CAAC3B,QAAQ,EAAE,AAAC;YAClEtB,IAAG,IAAA,CAACC,GAAG,CACL2B,MAAK,EAAA,QAAA,CAACuB,GAAG,CACP,4DAA4D,GACzD,MAAM3C,kBAAkB,CAACnD,WAAW,EAAEyF,MAAM,EAAE,cAAc,CAAC,AAAC,CAClE,CACF,CAAC;YAEF,4CAA4C;YAC5C,IAAIA,MAAM,CAACM,KAAK,aAAa,EAAE;gBAC7B5B,eAAe,EAAE,CAAC;gBAClB,4DAA4D;gBAC5DxB,IAAG,IAAA,CAACC,GAAG,CAAC2B,MAAK,EAAA,QAAA,CAACuB,GAAG,CAACL,MAAM,CAAC,CAAC,CAAC;gBAC3B,kEAAkE;gBAClEO,IAAAA,SAAc,eAAA,GAAE,CAAC;gBACjB,OAAO,KAAK,CAAC;YACf,CAAC;YAEDxF,IAAAA,oBAAU,WAAA,EAACiF,MAAM,CAAC,CAAC;YACnB,IAAIA,MAAM,CAACM,KAAK,oBAAoB,EAAE;gBACpC,qBAAqB;gBACrBzB,IAAAA,oBAAoB,qBAAA,EAClBtE,WAAW,EACX,CAAC,wJAAwJ,CAAC,CAC3J,CAAC;gBACF,OAAO,KAAK,CAAC;YACf,CAAC;YAED,IAAI4F,KAAK,CAACP,MAAM,CAACU,KAAK,yCAAyC,EAAE;gBAC/D,8FAA8F;gBAC9F,gEAAgE;gBAEhE,0DAA0D;gBAC1DzB,IAAAA,oBAAoB,qBAAA,EAClBtE,WAAW,EACX,CAAC,sIAAsI,CAAC,CACzI,CAAC;gBACF,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QAED,4CAA4C;QAC5C,MAAM4F,KAAK,CAAC;IACd,CAAC;IAED,qBAAqB;IACrBK,0BAA0B,CAACpB,IAAI,CAAC,CAAC;IAEjC,0GAA0G;IAC1G,IAAI,CAACqB,WAAW,CAACrB,IAAI,CAACsB,GAAG,CAAC,EAAE;QAC1BhE,IAAAA,oBAAW,YAAA,EAAC,CAAC,8CAA8C,EAAE0C,IAAI,CAACsB,GAAG,CAAC,CAAC,CAAC,CAAC;IAC3E,CAAC;IAED,IAAItB,IAAI,CAACuB,YAAY,EAAE;QACrB5F,IAAAA,oBAAU,WAAA,EAAC,CAAC,kBAAkB,EAAEqE,IAAI,CAACuB,YAAY,CAAC,CAAC,CAAC,CAAC;IACvD,CAAC;IAED5F,IAAAA,oBAAU,WAAA,EAAC,CAAC,oBAAoB,EAAEqE,IAAI,CAACsB,GAAG,CAAC,CAAC,CAAC,CAAC;IAE9C,OAAOtB,IAAI,CAACsB,GAAG,CAAC;AAClB,CAAC;AAED,SAASD,WAAW,CAACC,GAAW,EAAW;IACzC,IAAI;QACF,kCAAkC;QAClC,IAAIE,GAAG,CAACF,GAAG,CAAC,CAAC;QACb,OAAO,IAAI,CAAC;IACd,EAAE,OAAM;QACN,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,SAASF,0BAA0B,CAACpB,IAAS,EAA2C;IACtF,IAAI,CAACA,IAAI,IAAI,OAAOA,IAAI,KAAK,QAAQ,IAAI,OAAOA,IAAI,CAACsB,GAAG,KAAK,QAAQ,EAAE;QACrE,MAAM,IAAIG,KAAK,CACb,iGAAiG,CAClG,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS7D,yBAAyB,CAChCC,OAA2C,EAC3C9B,QAAgB,EAC+B;IAC/C,0DAA0D;IAC1D,0EAA0E;IAC1E,4FAA4F;IAC5F,kFAAkF;IAClF,MAAM2F,mBAAmB,GAAG,eAAe,AAAC;IAE5C,MAAMC,WAAW,GAAG;QAClB,wCAAwC;QACxCD,mBAAmB;KACpB,AAAC;IAEF,KAAK,MAAMlC,UAAU,IAAImC,WAAW,CAAE;QACpC,IAAI9D,OAAO,QAAc,GAArBA,KAAAA,CAAqB,GAArBA,OAAO,AAAE,CAAC2B,UAAU,CAAC,EAAE;YACzB,OAAO;gBAAEA,UAAU;gBAAEoC,MAAM,EAAE/D,OAAO,CAAC2B,UAAU,CAAC;aAAE,CAAC;QACrD,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,kMAAkM,GAClM,eAAe9D,+BAA+B,CAACP,WAAmB,EAAEE,GAAe,EAAE;QAK/EA,GAAS,QAWDA,IAAS;IAfrB,IAAIgB,IAAG,IAAA,CAACwF,EAAE,EAAE;QACV,yCAAyC;QACzC,OAAO;IACT,CAAC;IACD,IAAIxG,CAAAA,CAAAA,GAAS,GAATA,GAAG,CAAC2B,KAAK,SAAQ,GAAjB3B,KAAAA,CAAiB,GAAjBA,QAAAA,GAAS,CAAE4B,MAAM,SAAA,GAAjB5B,KAAAA,CAAiB,QAAE6C,eAAe,AAAjB,CAAA,IAAqB,IAAI,EAAE;QAC9CjD,KAAK,CAAC,oCAAoC,CAAC,CAAC;QAC5C,OAAO;IACT,CAAC;IAED,MAAM+C,YAAY,GAAG,MAAMC,IAAAA,OAAiB,EAAA,kBAAA,EAC1C9C,WAAW,EACX;QACE6B,KAAK,EAAE;YACL,GAAI3B,GAAG,CAAC2B,KAAK,IAAI,EAAE;YACnBC,MAAM,EAAE;gBACN,GAAI5B,CAAAA,CAAAA,IAAS,GAATA,GAAG,CAAC2B,KAAK,SAAQ,GAAjB3B,KAAAA,CAAiB,GAAjBA,IAAS,CAAE4B,MAAM,CAAA,IAAI,EAAE;gBAC3BiB,eAAe,EAAE4D,SAAS;aAC3B;SACF;KACF,EACD;QACE3D,yBAAyB,EAAE,IAAI;KAChC,CACF,AAAC;IAEF,IAAIH,YAAY,CAACI,IAAI,KAAK,SAAS,EAAE;QACnCnD,KAAK,CAAC,iDAAiD,CAAC,CAAC;IAC3D,OAAO;QACLA,KAAK,CAAC,iDAAiD,CAAC,CAAC;IAC3D,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/export/embed/exportServer.ts"],"sourcesContent":["/**\n * Copyright © 2023 650 Industries.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport { ExpoConfig, modifyConfigAsync, PackageJSONConfig } from '@expo/config';\nimport spawnAsync from '@expo/spawn-async';\nimport chalk from 'chalk';\nimport fs from 'fs';\nimport { execSync } from 'node:child_process';\nimport path from 'path';\n\nimport { disableNetwork } from '../../api/settings';\nimport { Log } from '../../log';\nimport { isSpawnResultError } from '../../start/platforms/ios/xcrun';\nimport { MetroBundlerDevServer } from '../../start/server/metro/MetroBundlerDevServer';\nimport { removeAsync } from '../../utils/dir';\nimport { env } from '../../utils/env';\nimport { CommandError } from '../../utils/errors';\nimport { exportApiRoutesStandaloneAsync } from '../exportStaticAsync';\nimport { copyPublicFolderAsync } from '../publicFolder';\nimport { ExportAssetMap, persistMetroFilesAsync } from '../saveAssets';\nimport { Options } from './resolveOptions';\nimport {\n isExecutingFromXcodebuild,\n logInXcode,\n logMetroErrorInXcode,\n warnInXcode,\n} from './xcodeCompilerLogger';\n\nconst debug = require('debug')('expo:export:server');\n\ntype ServerDeploymentResults = {\n url: string;\n dashboardUrl?: string;\n};\n\nexport async function exportStandaloneServerAsync(\n projectRoot: string,\n devServer: MetroBundlerDevServer,\n {\n exp,\n pkg,\n files,\n options,\n }: { exp: ExpoConfig; pkg: PackageJSONConfig; files: ExportAssetMap; options: Options }\n) {\n if (!options.eager) {\n await tryRemovingGeneratedOriginAsync(projectRoot, exp);\n }\n\n logInXcode('Exporting server');\n\n // Store the server output in the project's .expo directory.\n const serverOutput = path.join(projectRoot, '.expo/server', options.platform);\n\n // Remove the previous server output to prevent stale files.\n await removeAsync(serverOutput);\n\n // Export the API routes for server rendering the React Server Components.\n await exportApiRoutesStandaloneAsync(devServer, {\n files,\n platform: 'web',\n apiRoutesOnly: true,\n });\n\n const publicPath = path.resolve(projectRoot, env.EXPO_PUBLIC_FOLDER);\n\n // Copy over public folder items\n await copyPublicFolderAsync(publicPath, serverOutput);\n\n // Copy over the server output on top of the public folder.\n await persistMetroFilesAsync(files, serverOutput);\n\n [...files.entries()].forEach(([key, value]) => {\n if (value.targetDomain === 'server') {\n // Delete server resources to prevent them from being exposed in the binary.\n files.delete(key);\n }\n });\n\n // TODO: Deprecate this in favor of a built-in prop that users should avoid setting.\n const userDefinedServerUrl = exp.extra?.router?.origin;\n let serverUrl = userDefinedServerUrl;\n\n const shouldSkipServerDeployment = (() => {\n if (!options.eager) {\n logInXcode('Skipping server deployment because the script is not running in eager mode.');\n return true;\n }\n\n // Add an opaque flag to disable server deployment.\n if (env.EXPO_NO_DEPLOY) {\n warnInXcode('Skipping server deployment because environment variable EXPO_NO_DEPLOY is set.');\n return true;\n }\n\n // Can't safely deploy from Xcode since the PATH isn't set up correctly. We could amend this in the future and allow users who customize the PATH to deploy from Xcode.\n if (isExecutingFromXcodebuild()) {\n // TODO: Don't warn when the eager bundle has been run.\n warnInXcode(\n 'Skipping server deployment because the build is running from an Xcode run script. Build with Expo CLI or EAS Build to deploy the server automatically.'\n );\n return true;\n }\n\n return false;\n })();\n\n // Deploy the server output to a hosting provider.\n const deployedServerUrl = shouldSkipServerDeployment\n ? false\n : await runServerDeployCommandAsync(projectRoot, {\n distDirectory: serverOutput,\n deployScript: getServerDeploymentScript(pkg.scripts, options.platform),\n });\n\n if (!deployedServerUrl) {\n return;\n }\n\n if (serverUrl) {\n logInXcode(\n `Using custom server URL: ${serverUrl} (ignoring deployment URL: ${deployedServerUrl})`\n );\n }\n\n // If the user-defined server URL is not defined, use the deployed server URL.\n // This allows for overwriting the server URL in the project's native files.\n serverUrl ||= deployedServerUrl;\n\n // If the user hasn't manually defined the server URL, write the deployed server URL to the app.json.\n if (userDefinedServerUrl) {\n Log.log('Skip automatically linking server origin to native container');\n return;\n }\n Log.log('Writing generated server URL to app.json');\n\n // NOTE: Is is it possible to assert that the config needs to be modifiable before building the app?\n const modification = await modifyConfigAsync(\n projectRoot,\n {\n extra: {\n ...(exp.extra ?? {}),\n router: {\n ...(exp.extra?.router ?? {}),\n generatedOrigin: serverUrl,\n },\n },\n },\n {\n skipSDKVersionRequirement: true,\n }\n );\n\n if (modification.type !== 'success') {\n throw new CommandError(\n `Failed to write generated server origin to app.json because the file is dynamic and does not extend the static config. The client will not be able to make server requests to API routes or static files. You can disable server linking with EXPO_NO_DEPLOY=1 or by disabling server output in the app.json.`\n );\n }\n}\n\nasync function dumpDeploymentLogs(projectRoot: string, logs: string, name = 'deploy') {\n const outputPath = path.join(projectRoot, `.expo/logs/${name}.log`);\n await fs.promises.mkdir(path.dirname(outputPath), { recursive: true });\n debug('Dumping server deployment logs to: ' + outputPath);\n await fs.promises.writeFile(outputPath, logs);\n return outputPath;\n}\n\nfunction getCommandBin(command: string) {\n try {\n return execSync(`command -v ${command}`, { stdio: 'pipe' }).toString().trim();\n } catch {\n return null;\n }\n}\n\nasync function runServerDeployCommandAsync(\n projectRoot: string,\n {\n distDirectory,\n deployScript,\n }: { distDirectory: string; deployScript: { scriptName: string; script: string } | null }\n): Promise<string | false> {\n const logOfflineError = () => {\n const manualScript = deployScript\n ? `npm run ${deployScript.scriptName}`\n : `npx eas deploy --export-dir ${distDirectory}`;\n\n logMetroErrorInXcode(\n projectRoot,\n chalk.red`Running CLI in offline mode, skipping server deployment. Deploy manually with: ${manualScript}`\n );\n };\n if (env.EXPO_OFFLINE) {\n logOfflineError();\n return false;\n }\n\n // TODO: Only allow EAS deployments when staging is enabled, this is because the feature is still staging-only.\n if (!env.EXPO_UNSTABLE_DEPLOY_SERVER) {\n return false;\n }\n\n if (!env.EAS_BUILD) {\n // This check helps avoid running EAS if the user isn't a user of EAS.\n // We only need to run it when building outside of EAS.\n const globalBin = getCommandBin('eas');\n if (!globalBin) {\n // This should never happen from EAS Builds.\n // Possible to happen when building locally with `npx expo run`\n logMetroErrorInXcode(\n projectRoot,\n `eas-cli is not installed globally, skipping server deployment. Install EAS CLI with 'npm install -g eas-cli'.`\n );\n return false;\n }\n debug('Found eas-cli:', globalBin);\n }\n\n let json: any;\n try {\n let results: spawnAsync.SpawnResult;\n\n const spawnOptions: spawnAsync.SpawnOptions = {\n cwd: projectRoot,\n // Ensures that errors can be caught.\n stdio: 'pipe',\n };\n // TODO: Support absolute paths in EAS CLI\n const exportDir = path.relative(projectRoot, distDirectory);\n if (deployScript) {\n logInXcode(`Using custom server deploy script: ${deployScript.scriptName}`);\n // Amend the path to try and make the custom scripts work.\n\n results = await spawnAsync(\n 'npm',\n ['run', deployScript.scriptName, `--export-dir=${exportDir}`],\n spawnOptions\n );\n } else {\n logInXcode('Deploying server to link with client');\n\n // results = DEPLOYMENT_SUCCESS_FIXTURE;\n results = await spawnAsync(\n 'npx',\n ['eas-cli', 'deploy', '--non-interactive', '--json', `--export-dir=${exportDir}`],\n spawnOptions\n );\n\n debug('Server deployment stdout:', results.stdout);\n\n // Send stderr to stderr. stdout is parsed as JSON.\n if (results.stderr) {\n process.stderr.write(results.stderr);\n }\n }\n\n const logPath = await dumpDeploymentLogs(projectRoot, results.output.join('\\n'));\n\n try {\n // {\n // \"dashboardUrl\": \"https://staging.expo.dev/projects/6460c11c-e1bc-4084-882a-fd9f57b825b1/hosting/deployments\",\n // \"identifier\": \"8a1pwbv6c5\",\n // \"url\": \"https://sep30--8a1pwbv6c5.staging.expo.app\"\n // }\n json = JSON.parse(results.stdout.trim());\n } catch {\n logMetroErrorInXcode(\n projectRoot,\n `Failed to parse server deployment JSON output. Check the logs for more information: ${logPath}`\n );\n return false;\n }\n } catch (error) {\n if (isSpawnResultError(error)) {\n const output = error.output.join('\\n').trim() || error.toString();\n Log.log(\n chalk.dim(\n 'An error occurred while deploying server. Logs stored at: ' +\n (await dumpDeploymentLogs(projectRoot, output, 'deploy-error'))\n )\n );\n\n // Likely a server offline or network error.\n if (output.match(/ENOTFOUND/)) {\n logOfflineError();\n // Print the raw error message to help provide more context.\n Log.log(chalk.dim(output));\n // Prevent any other network requests (unlikely for this command).\n disableNetwork();\n return false;\n }\n\n logInXcode(output);\n if (output.match(/spawn eas ENOENT/)) {\n // EAS not installed.\n logMetroErrorInXcode(\n projectRoot,\n `Server deployment failed because eas-cli cannot be accessed from the build script's environment (ENOENT). Install EAS CLI with 'npm install -g eas-cli'.`\n );\n return false;\n }\n\n if (error.stderr.match(/Must configure EAS project by running/)) {\n // EAS not configured, this can happen when building a project locally before building in EAS.\n // User must run `eas init`, `eas deploy`, or `eas build` first.\n\n // TODO: Should we fail the build here or just warn users?\n logMetroErrorInXcode(\n projectRoot,\n `Skipping server deployment because EAS is not configured. Run 'eas init' before trying again, or disable server output in the project.`\n );\n return false;\n }\n }\n\n // Throw unhandled server deployment errors.\n throw error;\n }\n\n // Assert json format\n assertDeploymentJsonOutput(json);\n\n // Warn about the URL not being valid. This should never happen, but might be possible with third-parties.\n if (!canParseURL(json.url)) {\n warnInXcode(`The server deployment URL is not a valid URL: ${json.url}`);\n }\n\n if (json.dashboardUrl) {\n logInXcode(`Server dashboard: ${json.dashboardUrl}`);\n }\n\n logInXcode(`Server deployed to: ${json.url}`);\n\n return json.url;\n}\n\nfunction canParseURL(url: string): boolean {\n try {\n // eslint-disable-next-line no-new\n new URL(url);\n return true;\n } catch {\n return false;\n }\n}\n\nfunction assertDeploymentJsonOutput(json: any): asserts json is ServerDeploymentResults {\n if (!json || typeof json !== 'object' || typeof json.url !== 'string') {\n throw new Error(\n 'JSON output of server deployment command are not in the expected format: { url: \"https://...\" }'\n );\n }\n}\n\nfunction getServerDeploymentScript(\n scripts: Record<string, string> | undefined,\n platform: string\n): { scriptName: string; script: string } | null {\n // Users can overwrite the default deployment script with:\n // { scripts: { \"native:deploy\": \"eas deploy --json --non-interactive\" } }\n // A quick search on GitHub showed that `native:deploy` is not used in any public repos yet.\n // https://github.com/search?q=%22native%3Adeploy%22+path%3Apackage.json&type=code\n const DEFAULT_SCRIPT_NAME = 'native:deploy';\n\n const scriptNames = [\n // DEFAULT_SCRIPT_NAME + ':' + platform,\n DEFAULT_SCRIPT_NAME,\n ];\n\n for (const scriptName of scriptNames) {\n if (scripts?.[scriptName]) {\n return { scriptName, script: scripts[scriptName] };\n }\n }\n\n return null;\n}\n\n/** We can try to remove the generated origin from the manifest when running outside of eager mode. Bundling is the last operation to run so the config will already be embedded with the origin. */\nasync function tryRemovingGeneratedOriginAsync(projectRoot: string, exp: ExpoConfig) {\n if (env.CI) {\n // Skip in CI since nothing is committed.\n return;\n }\n if (exp.extra?.router?.generatedOrigin == null) {\n debug('No generated origin needs removing');\n return;\n }\n\n const modification = await modifyConfigAsync(\n projectRoot,\n {\n extra: {\n ...(exp.extra ?? {}),\n router: {\n ...(exp.extra?.router ?? {}),\n generatedOrigin: undefined,\n },\n },\n },\n {\n skipSDKVersionRequirement: true,\n }\n );\n\n if (modification.type !== 'success') {\n debug('Could not remove generated origin from manifest');\n } else {\n debug('Generated origin has been removed from manifest');\n }\n}\n"],"names":["exportStandaloneServerAsync","debug","require","projectRoot","devServer","exp","pkg","files","options","eager","tryRemovingGeneratedOriginAsync","logInXcode","serverOutput","path","join","platform","removeAsync","exportApiRoutesStandaloneAsync","apiRoutesOnly","publicPath","resolve","env","EXPO_PUBLIC_FOLDER","copyPublicFolderAsync","persistMetroFilesAsync","entries","forEach","key","value","targetDomain","delete","userDefinedServerUrl","extra","router","origin","serverUrl","shouldSkipServerDeployment","EXPO_NO_DEPLOY","warnInXcode","isExecutingFromXcodebuild","deployedServerUrl","runServerDeployCommandAsync","distDirectory","deployScript","getServerDeploymentScript","scripts","Log","log","modification","modifyConfigAsync","generatedOrigin","skipSDKVersionRequirement","type","CommandError","dumpDeploymentLogs","logs","name","outputPath","fs","promises","mkdir","dirname","recursive","writeFile","getCommandBin","command","execSync","stdio","toString","trim","logOfflineError","manualScript","scriptName","logMetroErrorInXcode","chalk","red","EXPO_OFFLINE","EXPO_UNSTABLE_DEPLOY_SERVER","EAS_BUILD","globalBin","json","results","spawnOptions","cwd","exportDir","relative","spawnAsync","stdout","stderr","process","write","logPath","output","JSON","parse","error","isSpawnResultError","dim","match","disableNetwork","assertDeploymentJsonOutput","canParseURL","url","dashboardUrl","URL","Error","DEFAULT_SCRIPT_NAME","scriptNames","script","CI","undefined"],"mappings":"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"}
|
|
@@ -5,24 +5,26 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
Object.defineProperty(exports, "expoExportEmbed", {
|
|
7
7
|
enumerable: true,
|
|
8
|
-
get: ()
|
|
8
|
+
get: function() {
|
|
9
|
+
return expoExportEmbed;
|
|
10
|
+
}
|
|
9
11
|
});
|
|
10
12
|
function _chalk() {
|
|
11
|
-
const data = /*#__PURE__*/
|
|
13
|
+
const data = /*#__PURE__*/ _interop_require_default(require("chalk"));
|
|
12
14
|
_chalk = function() {
|
|
13
15
|
return data;
|
|
14
16
|
};
|
|
15
17
|
return data;
|
|
16
18
|
}
|
|
17
19
|
function _path() {
|
|
18
|
-
const data = /*#__PURE__*/
|
|
20
|
+
const data = /*#__PURE__*/ _interop_require_default(require("path"));
|
|
19
21
|
_path = function() {
|
|
20
22
|
return data;
|
|
21
23
|
};
|
|
22
24
|
return data;
|
|
23
25
|
}
|
|
24
26
|
const _args = require("../../utils/args");
|
|
25
|
-
function
|
|
27
|
+
function _interop_require_default(obj) {
|
|
26
28
|
return obj && obj.__esModule ? obj : {
|
|
27
29
|
default: obj
|
|
28
30
|
};
|
|
@@ -35,7 +37,7 @@ function _getRequireWildcardCache(nodeInterop) {
|
|
|
35
37
|
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
|
36
38
|
})(nodeInterop);
|
|
37
39
|
}
|
|
38
|
-
function
|
|
40
|
+
function _interop_require_wildcard(obj, nodeInterop) {
|
|
39
41
|
if (!nodeInterop && obj && obj.__esModule) {
|
|
40
42
|
return obj;
|
|
41
43
|
}
|
|
@@ -48,7 +50,9 @@ function _interopRequireWildcard(obj, nodeInterop) {
|
|
|
48
50
|
if (cache && cache.has(obj)) {
|
|
49
51
|
return cache.get(obj);
|
|
50
52
|
}
|
|
51
|
-
var newObj = {
|
|
53
|
+
var newObj = {
|
|
54
|
+
__proto__: null
|
|
55
|
+
};
|
|
52
56
|
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
53
57
|
for(var key in obj){
|
|
54
58
|
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
@@ -69,39 +73,39 @@ function _interopRequireWildcard(obj, nodeInterop) {
|
|
|
69
73
|
const expoExportEmbed = async (argv)=>{
|
|
70
74
|
const rawArgsMap = {
|
|
71
75
|
// Types
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
76
|
+
'--entry-file': String,
|
|
77
|
+
'--platform': String,
|
|
78
|
+
'--transformer': String,
|
|
79
|
+
'--bundle-output': String,
|
|
80
|
+
'--bundle-encoding': String,
|
|
81
|
+
'--max-workers': Number,
|
|
82
|
+
'--sourcemap-output': String,
|
|
83
|
+
'--sourcemap-sources-root': String,
|
|
84
|
+
'--assets-dest': String,
|
|
85
|
+
'--asset-catalog-dest': String,
|
|
86
|
+
'--unstable-transform-profile': String,
|
|
87
|
+
'--config': String,
|
|
84
88
|
// Hack: This is added because react-native-xcode.sh script always includes this value.
|
|
85
89
|
// If supplied, we'll do nothing with the value, but at least the process won't crash.
|
|
86
90
|
// Note that we also don't show this value in the `--help` prompt since we don't want people to use it.
|
|
87
|
-
|
|
91
|
+
'--config-cmd': String,
|
|
88
92
|
// New flag to guess the other flags based on the environment.
|
|
89
|
-
|
|
93
|
+
'--eager': Boolean,
|
|
90
94
|
// Export the bundle as Hermes bytecode bundle
|
|
91
|
-
|
|
95
|
+
'--bytecode': Boolean,
|
|
92
96
|
// This is here for compatibility with the `npx react-native bundle` command.
|
|
93
97
|
// devs should use `DEBUG=expo:*` instead.
|
|
94
|
-
|
|
95
|
-
|
|
98
|
+
'--verbose': Boolean,
|
|
99
|
+
'--help': Boolean,
|
|
96
100
|
// Aliases
|
|
97
|
-
|
|
98
|
-
|
|
101
|
+
'-h': '--help',
|
|
102
|
+
'-v': '--verbose'
|
|
99
103
|
};
|
|
100
104
|
const args = (0, _args.assertWithOptionsArgs)(rawArgsMap, {
|
|
101
105
|
argv,
|
|
102
106
|
permissive: true
|
|
103
107
|
});
|
|
104
|
-
if (args[
|
|
108
|
+
if (args['--help']) {
|
|
105
109
|
(0, _args.printHelp)(`(Internal) Export the JavaScript bundle during a native build script for embedding in a native binary`, (0, _chalk().default)`npx expo export:embed {dim <dir>}`, [
|
|
106
110
|
(0, _chalk().default)`<dir> Directory of the Expo project. {dim Default: Current working directory}`,
|
|
107
111
|
`--entry-file <path> Path to the root JS file, either absolute or relative to JS root`,
|
|
@@ -125,24 +129,24 @@ const expoExportEmbed = async (argv)=>{
|
|
|
125
129
|
`--config <string> Path to the CLI configuration file`,
|
|
126
130
|
// This is seemingly unused.
|
|
127
131
|
`--read-global-cache Try to fetch transformed JS code from the global cache, if configured.`,
|
|
128
|
-
`-h, --help Usage info
|
|
129
|
-
].join(
|
|
132
|
+
`-h, --help Usage info`
|
|
133
|
+
].join('\n'));
|
|
130
134
|
}
|
|
131
|
-
const [{ exportEmbedAsync
|
|
132
|
-
Promise.resolve().then(()=>/*#__PURE__*/
|
|
133
|
-
Promise.resolve().then(()=>/*#__PURE__*/
|
|
134
|
-
Promise.resolve().then(()=>/*#__PURE__*/
|
|
135
|
-
Promise.resolve().then(()=>/*#__PURE__*/
|
|
135
|
+
const [{ exportEmbedAsync }, { resolveOptions }, { logCmdError }, { resolveCustomBooleanArgsAsync }] = await Promise.all([
|
|
136
|
+
Promise.resolve().then(()=>/*#__PURE__*/ _interop_require_wildcard(require("./exportEmbedAsync.js"))),
|
|
137
|
+
Promise.resolve().then(()=>/*#__PURE__*/ _interop_require_wildcard(require("./resolveOptions.js"))),
|
|
138
|
+
Promise.resolve().then(()=>/*#__PURE__*/ _interop_require_wildcard(require("../../utils/errors.js"))),
|
|
139
|
+
Promise.resolve().then(()=>/*#__PURE__*/ _interop_require_wildcard(require("../../utils/resolveArgs.js")))
|
|
136
140
|
]);
|
|
137
141
|
return (async ()=>{
|
|
138
142
|
const parsed = await resolveCustomBooleanArgsAsync(argv ?? [], rawArgsMap, {
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
143
|
+
'--eager': Boolean,
|
|
144
|
+
'--bytecode': Boolean,
|
|
145
|
+
'--dev': Boolean,
|
|
146
|
+
'--minify': Boolean,
|
|
147
|
+
'--sourcemap-use-absolute-path': Boolean,
|
|
148
|
+
'--reset-cache': Boolean,
|
|
149
|
+
'--read-global-cache': Boolean
|
|
146
150
|
});
|
|
147
151
|
const projectRoot = _path().default.resolve(parsed.projectRoot);
|
|
148
152
|
return exportEmbedAsync(projectRoot, resolveOptions(projectRoot, args, parsed));
|