@expo/cli 0.22.25 → 0.22.26
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 +91 -93
- package/build/bin/cli.map +1 -1
- package/build/metro-require/require.js +52 -53
- package/build/src/api/endpoint.js +2 -6
- package/build/src/api/endpoint.js.map +1 -1
- package/build/src/api/getExpoGoIntermediateCertificate.js +3 -5
- package/build/src/api/getExpoGoIntermediateCertificate.js.map +1 -1
- package/build/src/api/getExpoSchema.js +12 -16
- package/build/src/api/getExpoSchema.js.map +1 -1
- package/build/src/api/getNativeModuleVersions.js +4 -6
- package/build/src/api/getNativeModuleVersions.js.map +1 -1
- package/build/src/api/getProjectDevelopmentCertificate.js +3 -5
- package/build/src/api/getProjectDevelopmentCertificate.js.map +1 -1
- package/build/src/api/getVersions.js +5 -7
- package/build/src/api/getVersions.js.map +1 -1
- package/build/src/api/graphql/client.js +26 -32
- package/build/src/api/graphql/client.js.map +1 -1
- package/build/src/api/graphql/queries/AppQuery.js +4 -6
- package/build/src/api/graphql/queries/AppQuery.js.map +1 -1
- package/build/src/api/graphql/queries/UserQuery.js +3 -5
- package/build/src/api/graphql/queries/UserQuery.js.map +1 -1
- package/build/src/api/graphql/types/App.js +1 -3
- package/build/src/api/graphql/types/App.js.map +1 -1
- package/build/src/api/rest/cache/FileSystemResponseCache.js +8 -10
- package/build/src/api/rest/cache/FileSystemResponseCache.js.map +1 -1
- package/build/src/api/rest/cache/ResponseCache.js +12 -20
- package/build/src/api/rest/cache/ResponseCache.js.map +1 -1
- package/build/src/api/rest/cache/wrapFetchWithCache.js +11 -13
- package/build/src/api/rest/cache/wrapFetchWithCache.js.map +1 -1
- package/build/src/api/rest/client.js +35 -53
- 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 +3 -5
- package/build/src/api/rest/wrapFetchWithBaseUrl.js.map +1 -1
- package/build/src/api/rest/wrapFetchWithOffline.js +3 -5
- package/build/src/api/rest/wrapFetchWithOffline.js.map +1 -1
- package/build/src/api/rest/wrapFetchWithProgress.js +7 -11
- package/build/src/api/rest/wrapFetchWithProgress.js.map +1 -1
- package/build/src/api/rest/wrapFetchWithProxy.js +3 -5
- package/build/src/api/rest/wrapFetchWithProxy.js.map +1 -1
- package/build/src/api/rest/wrapFetchWithUserAgent.js +6 -8
- package/build/src/api/rest/wrapFetchWithUserAgent.js.map +1 -1
- package/build/src/api/settings.js +5 -7
- package/build/src/api/settings.js.map +1 -1
- package/build/src/api/updateDevelopmentSession.js +17 -23
- package/build/src/api/updateDevelopmentSession.js.map +1 -1
- package/build/src/api/user/UserSettings.js +21 -39
- package/build/src/api/user/UserSettings.js.map +1 -1
- package/build/src/api/user/actions.js +21 -27
- package/build/src/api/user/actions.js.map +1 -1
- package/build/src/api/user/expoSsoLauncher.js +26 -30
- package/build/src/api/user/expoSsoLauncher.js.map +1 -1
- package/build/src/api/user/otp.js +29 -35
- package/build/src/api/user/otp.js.map +1 -1
- package/build/src/api/user/user.js +30 -44
- package/build/src/api/user/user.js.map +1 -1
- package/build/src/config/configAsync.js +23 -29
- package/build/src/config/configAsync.js.map +1 -1
- package/build/src/config/index.js +21 -25
- package/build/src/config/index.js.map +1 -1
- package/build/src/customize/customizeAsync.js +6 -8
- package/build/src/customize/customizeAsync.js.map +1 -1
- package/build/src/customize/generate.js +16 -20
- package/build/src/customize/generate.js.map +1 -1
- package/build/src/customize/index.js +12 -14
- package/build/src/customize/index.js.map +1 -1
- package/build/src/customize/resolveOptions.js +2 -4
- package/build/src/customize/resolveOptions.js.map +1 -1
- package/build/src/customize/templates.js +54 -58
- package/build/src/customize/templates.js.map +1 -1
- package/build/src/customize/typescript.js +7 -11
- package/build/src/customize/typescript.js.map +1 -1
- package/build/src/export/createMetadataJson.js +9 -11
- package/build/src/export/createMetadataJson.js.map +1 -1
- package/build/src/export/embed/exportEager.js +6 -8
- package/build/src/export/embed/exportEager.js.map +1 -1
- package/build/src/export/embed/exportEmbedAsync.js +61 -71
- package/build/src/export/embed/exportEmbedAsync.js.map +1 -1
- package/build/src/export/embed/exportServer.js +55 -57
- package/build/src/export/embed/exportServer.js.map +1 -1
- package/build/src/export/embed/index.js +40 -44
- package/build/src/export/embed/index.js.map +1 -1
- package/build/src/export/embed/resolveOptions.js +36 -44
- package/build/src/export/embed/resolveOptions.js.map +1 -1
- package/build/src/export/embed/xcodeCompilerLogger.js +27 -39
- package/build/src/export/embed/xcodeCompilerLogger.js.map +1 -1
- package/build/src/export/exportApp.js +63 -67
- package/build/src/export/exportApp.js.map +1 -1
- package/build/src/export/exportAssets.js +27 -35
- package/build/src/export/exportAssets.js.map +1 -1
- package/build/src/export/exportAsync.js +9 -13
- package/build/src/export/exportAsync.js.map +1 -1
- package/build/src/export/exportDomComponents.js +45 -53
- package/build/src/export/exportDomComponents.js.map +1 -1
- package/build/src/export/exportHermes.js +63 -85
- package/build/src/export/exportHermes.js.map +1 -1
- package/build/src/export/exportStaticAsync.js +62 -72
- package/build/src/export/exportStaticAsync.js.map +1 -1
- package/build/src/export/favicon.js +27 -33
- package/build/src/export/favicon.js.map +1 -1
- package/build/src/export/getPublicExpoManifest.js +5 -7
- package/build/src/export/getPublicExpoManifest.js.map +1 -1
- package/build/src/export/getResolvedLocales.js +9 -11
- package/build/src/export/getResolvedLocales.js.map +1 -1
- package/build/src/export/html.js +6 -10
- package/build/src/export/html.js.map +1 -1
- package/build/src/export/index.js +28 -32
- package/build/src/export/index.js.map +1 -1
- package/build/src/export/metroAssetLocalPath.js +30 -36
- package/build/src/export/metroAssetLocalPath.js.map +1 -1
- package/build/src/export/persistMetroAssets.js +34 -42
- package/build/src/export/persistMetroAssets.js.map +1 -1
- package/build/src/export/publicFolder.js +6 -10
- package/build/src/export/publicFolder.js.map +1 -1
- package/build/src/export/resolveOptions.js +24 -28
- package/build/src/export/resolveOptions.js.map +1 -1
- package/build/src/export/saveAssets.js +46 -50
- package/build/src/export/saveAssets.js.map +1 -1
- package/build/src/export/web/exportWebAsync.js +11 -13
- package/build/src/export/web/exportWebAsync.js.map +1 -1
- package/build/src/export/web/index.js +15 -19
- package/build/src/export/web/index.js.map +1 -1
- package/build/src/export/web/resolveOptions.js +3 -5
- package/build/src/export/web/resolveOptions.js.map +1 -1
- package/build/src/export/writeContents.js +2 -4
- package/build/src/export/writeContents.js.map +1 -1
- package/build/src/graphql/generated.js +274 -400
- package/build/src/graphql/generated.js.map +1 -1
- package/build/src/install/applyPlugins.js +7 -11
- package/build/src/install/applyPlugins.js.map +1 -1
- package/build/src/install/checkPackages.js +22 -26
- package/build/src/install/checkPackages.js.map +1 -1
- package/build/src/install/fixPackages.js +12 -16
- package/build/src/install/fixPackages.js.map +1 -1
- package/build/src/install/index.js +16 -18
- package/build/src/install/index.js.map +1 -1
- package/build/src/install/installAsync.js +26 -32
- package/build/src/install/installAsync.js.map +1 -1
- package/build/src/install/installExpoPackage.js +18 -22
- package/build/src/install/installExpoPackage.js.map +1 -1
- package/build/src/install/resolveOptions.js +19 -21
- package/build/src/install/resolveOptions.js.map +1 -1
- package/build/src/install/utils/autoAddConfigPlugins.js +14 -18
- package/build/src/install/utils/autoAddConfigPlugins.js.map +1 -1
- package/build/src/install/utils/checkPackagesCompatibility.js +11 -13
- package/build/src/install/utils/checkPackagesCompatibility.js.map +1 -1
- package/build/src/lint/ESlintPrerequisite.js +44 -50
- package/build/src/lint/ESlintPrerequisite.js.map +1 -1
- package/build/src/lint/index.js +8 -12
- package/build/src/lint/index.js.map +1 -1
- package/build/src/lint/lintAsync.js +8 -10
- package/build/src/lint/lintAsync.js.map +1 -1
- package/build/src/log.js +16 -36
- package/build/src/log.js.map +1 -1
- package/build/src/login/index.js +20 -24
- package/build/src/login/index.js.map +1 -1
- package/build/src/logout/index.js +7 -11
- package/build/src/logout/index.js.map +1 -1
- package/build/src/prebuild/clearNativeFolder.js +26 -38
- package/build/src/prebuild/clearNativeFolder.js.map +1 -1
- package/build/src/prebuild/configureProjectAsync.js +14 -18
- package/build/src/prebuild/configureProjectAsync.js.map +1 -1
- package/build/src/prebuild/copyTemplateFiles.js +13 -17
- package/build/src/prebuild/copyTemplateFiles.js.map +1 -1
- package/build/src/prebuild/ensureConfigAsync.js +4 -6
- package/build/src/prebuild/ensureConfigAsync.js.map +1 -1
- package/build/src/prebuild/index.js +32 -36
- package/build/src/prebuild/index.js.map +1 -1
- package/build/src/prebuild/prebuildAsync.js +25 -29
- package/build/src/prebuild/prebuildAsync.js.map +1 -1
- package/build/src/prebuild/renameTemplateAppName.js +40 -46
- package/build/src/prebuild/renameTemplateAppName.js.map +1 -1
- package/build/src/prebuild/resolveOptions.js +52 -66
- package/build/src/prebuild/resolveOptions.js.map +1 -1
- package/build/src/prebuild/resolveTemplate.js +32 -36
- package/build/src/prebuild/resolveTemplate.js.map +1 -1
- package/build/src/prebuild/updateFromTemplate.js +13 -19
- package/build/src/prebuild/updateFromTemplate.js.map +1 -1
- package/build/src/prebuild/updatePackageJson.js +39 -53
- package/build/src/prebuild/updatePackageJson.js.map +1 -1
- package/build/src/prebuild/validateTemplatePlatforms.js +8 -12
- package/build/src/prebuild/validateTemplatePlatforms.js.map +1 -1
- package/build/src/register/index.js +7 -11
- package/build/src/register/index.js.map +1 -1
- package/build/src/register/registerAsync.js +3 -5
- package/build/src/register/registerAsync.js.map +1 -1
- package/build/src/run/android/index.js +32 -36
- package/build/src/run/android/index.js.map +1 -1
- package/build/src/run/android/resolveDevice.js +8 -10
- package/build/src/run/android/resolveDevice.js.map +1 -1
- package/build/src/run/android/resolveGradlePropsAsync.js +16 -18
- package/build/src/run/android/resolveGradlePropsAsync.js.map +1 -1
- package/build/src/run/android/resolveInstallApkName.js +15 -17
- package/build/src/run/android/resolveInstallApkName.js.map +1 -1
- package/build/src/run/android/resolveLaunchProps.js +10 -12
- package/build/src/run/android/resolveLaunchProps.js.map +1 -1
- package/build/src/run/android/resolveOptions.js +2 -4
- package/build/src/run/android/resolveOptions.js.map +1 -1
- package/build/src/run/android/runAndroidAsync.js +21 -23
- package/build/src/run/android/runAndroidAsync.js.map +1 -1
- package/build/src/run/ensureNativeProject.js +5 -7
- package/build/src/run/ensureNativeProject.js.map +1 -1
- package/build/src/run/hints.js +7 -13
- package/build/src/run/hints.js.map +1 -1
- package/build/src/run/index.js +23 -27
- package/build/src/run/index.js.map +1 -1
- package/build/src/run/ios/XcodeBuild.js +56 -74
- 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 +63 -69
- package/build/src/run/ios/appleDevice/AppleDevice.js.map +1 -1
- package/build/src/run/ios/appleDevice/ClientManager.js +26 -29
- package/build/src/run/ios/appleDevice/ClientManager.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/AFCClient.js +25 -28
- package/build/src/run/ios/appleDevice/client/AFCClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/DebugserverClient.js +26 -29
- package/build/src/run/ios/appleDevice/client/DebugserverClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/InstallationProxyClient.js +21 -22
- package/build/src/run/ios/appleDevice/client/InstallationProxyClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/LockdowndClient.js +29 -32
- package/build/src/run/ios/appleDevice/client/LockdowndClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/MobileImageMounterClient.js +24 -28
- package/build/src/run/ios/appleDevice/client/MobileImageMounterClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/ServiceClient.js +4 -7
- package/build/src/run/ios/appleDevice/client/ServiceClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/UsbmuxdClient.js +27 -28
- package/build/src/run/ios/appleDevice/client/UsbmuxdClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/installOnDeviceAsync.js +17 -23
- package/build/src/run/ios/appleDevice/installOnDeviceAsync.js.map +1 -1
- package/build/src/run/ios/appleDevice/protocol/AFCProtocol.js +132 -146
- package/build/src/run/ios/appleDevice/protocol/AFCProtocol.js.map +1 -1
- package/build/src/run/ios/appleDevice/protocol/AbstractProtocol.js +21 -29
- package/build/src/run/ios/appleDevice/protocol/AbstractProtocol.js.map +1 -1
- package/build/src/run/ios/appleDevice/protocol/GDBProtocol.js +21 -29
- package/build/src/run/ios/appleDevice/protocol/GDBProtocol.js.map +1 -1
- package/build/src/run/ios/appleDevice/protocol/LockdownProtocol.js +22 -34
- package/build/src/run/ios/appleDevice/protocol/LockdownProtocol.js.map +1 -1
- package/build/src/run/ios/appleDevice/protocol/UsbmuxProtocol.js +17 -27
- package/build/src/run/ios/appleDevice/protocol/UsbmuxProtocol.js.map +1 -1
- package/build/src/run/ios/codeSigning/Security.js +39 -53
- package/build/src/run/ios/codeSigning/Security.js.map +1 -1
- package/build/src/run/ios/codeSigning/configureCodeSigning.js +9 -13
- package/build/src/run/ios/codeSigning/configureCodeSigning.js.map +1 -1
- package/build/src/run/ios/codeSigning/resolveCertificateSigningIdentity.js +19 -27
- package/build/src/run/ios/codeSigning/resolveCertificateSigningIdentity.js.map +1 -1
- package/build/src/run/ios/codeSigning/settings.js +5 -9
- package/build/src/run/ios/codeSigning/settings.js.map +1 -1
- package/build/src/run/ios/codeSigning/simulatorCodeSigning.js +12 -14
- package/build/src/run/ios/codeSigning/simulatorCodeSigning.js.map +1 -1
- package/build/src/run/ios/codeSigning/xcodeCodeSigning.js +21 -27
- package/build/src/run/ios/codeSigning/xcodeCodeSigning.js.map +1 -1
- package/build/src/run/ios/index.js +36 -40
- package/build/src/run/ios/index.js.map +1 -1
- package/build/src/run/ios/launchApp.js +17 -23
- package/build/src/run/ios/launchApp.js.map +1 -1
- package/build/src/run/ios/options/appleDestinations.js +36 -38
- package/build/src/run/ios/options/appleDestinations.js.map +1 -1
- package/build/src/run/ios/options/promptDevice.js +16 -20
- package/build/src/run/ios/options/promptDevice.js.map +1 -1
- package/build/src/run/ios/options/resolveDevice.js +24 -30
- package/build/src/run/ios/options/resolveDevice.js.map +1 -1
- package/build/src/run/ios/options/resolveNativeScheme.js +23 -31
- package/build/src/run/ios/options/resolveNativeScheme.js.map +1 -1
- package/build/src/run/ios/options/resolveOptions.js +5 -7
- package/build/src/run/ios/options/resolveOptions.js.map +1 -1
- package/build/src/run/ios/options/resolveXcodeProject.js +5 -7
- package/build/src/run/ios/options/resolveXcodeProject.js.map +1 -1
- package/build/src/run/ios/runIosAsync.js +44 -48
- package/build/src/run/ios/runIosAsync.js.map +1 -1
- package/build/src/run/ios/validateExternalBinary.js +22 -24
- package/build/src/run/ios/validateExternalBinary.js.map +1 -1
- package/build/src/run/resolveBundlerProps.js +2 -4
- package/build/src/run/resolveBundlerProps.js.map +1 -1
- package/build/src/run/startBundler.js +12 -16
- package/build/src/run/startBundler.js.map +1 -1
- package/build/src/serve/index.js +16 -20
- package/build/src/serve/index.js.map +1 -1
- package/build/src/serve/serveAsync.js +32 -36
- package/build/src/serve/serveAsync.js.map +1 -1
- package/build/src/start/detectDevClient.js +9 -13
- package/build/src/start/detectDevClient.js.map +1 -1
- package/build/src/start/doctor/Prerequisite.js +7 -12
- package/build/src/start/doctor/Prerequisite.js.map +1 -1
- package/build/src/start/doctor/SecurityBinPrerequisite.js +11 -13
- package/build/src/start/doctor/SecurityBinPrerequisite.js.map +1 -1
- package/build/src/start/doctor/apple/SimulatorAppPrerequisite.js +19 -23
- package/build/src/start/doctor/apple/SimulatorAppPrerequisite.js.map +1 -1
- package/build/src/start/doctor/apple/XcodeDeveloperDiskImagePrerequisite.js +19 -23
- package/build/src/start/doctor/apple/XcodeDeveloperDiskImagePrerequisite.js.map +1 -1
- package/build/src/start/doctor/apple/XcodePrerequisite.js +45 -51
- package/build/src/start/doctor/apple/XcodePrerequisite.js.map +1 -1
- package/build/src/start/doctor/apple/XcrunPrerequisite.js +16 -18
- package/build/src/start/doctor/apple/XcrunPrerequisite.js.map +1 -1
- package/build/src/start/doctor/dependencies/bundledNativeModules.js +19 -23
- package/build/src/start/doctor/dependencies/bundledNativeModules.js.map +1 -1
- package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js +25 -31
- package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js.map +1 -1
- package/build/src/start/doctor/dependencies/getMissingPackages.js +17 -25
- package/build/src/start/doctor/dependencies/getMissingPackages.js.map +1 -1
- package/build/src/start/doctor/dependencies/getVersionedPackages.js +32 -40
- package/build/src/start/doctor/dependencies/getVersionedPackages.js.map +1 -1
- package/build/src/start/doctor/dependencies/resolvePackages.js +26 -32
- package/build/src/start/doctor/dependencies/resolvePackages.js.map +1 -1
- package/build/src/start/doctor/dependencies/validateDependenciesVersions.js +31 -41
- package/build/src/start/doctor/dependencies/validateDependenciesVersions.js.map +1 -1
- package/build/src/start/doctor/ngrok/ExternalModule.js +29 -34
- package/build/src/start/doctor/ngrok/ExternalModule.js.map +1 -1
- package/build/src/start/doctor/ngrok/NgrokResolver.js +8 -12
- package/build/src/start/doctor/ngrok/NgrokResolver.js.map +1 -1
- package/build/src/start/doctor/typescript/TypeScriptProjectPrerequisite.js +28 -32
- package/build/src/start/doctor/typescript/TypeScriptProjectPrerequisite.js.map +1 -1
- package/build/src/start/doctor/typescript/updateTSConfig.js +17 -23
- package/build/src/start/doctor/typescript/updateTSConfig.js.map +1 -1
- package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js +27 -33
- package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js.map +1 -1
- package/build/src/start/index.js +42 -46
- package/build/src/start/index.js.map +1 -1
- package/build/src/start/interface/KeyPressHandler.js +14 -18
- package/build/src/start/interface/KeyPressHandler.js.map +1 -1
- package/build/src/start/interface/commandsTable.js +80 -94
- package/build/src/start/interface/commandsTable.js.map +1 -1
- package/build/src/start/interface/interactiveActions.js +40 -44
- package/build/src/start/interface/interactiveActions.js.map +1 -1
- package/build/src/start/interface/startInterface.js +61 -65
- package/build/src/start/interface/startInterface.js.map +1 -1
- package/build/src/start/platforms/AppIdResolver.js +4 -6
- package/build/src/start/platforms/AppIdResolver.js.map +1 -1
- package/build/src/start/platforms/DeviceManager.js +6 -10
- package/build/src/start/platforms/DeviceManager.js.map +1 -1
- package/build/src/start/platforms/ExpoGoInstaller.js +20 -25
- package/build/src/start/platforms/ExpoGoInstaller.js.map +1 -1
- package/build/src/start/platforms/PlatformManager.js +15 -17
- package/build/src/start/platforms/PlatformManager.js.map +1 -1
- package/build/src/start/platforms/android/ADBServer.js +35 -39
- package/build/src/start/platforms/android/ADBServer.js.map +1 -1
- package/build/src/start/platforms/android/AndroidAppIdResolver.js +16 -18
- package/build/src/start/platforms/android/AndroidAppIdResolver.js.map +1 -1
- package/build/src/start/platforms/android/AndroidDeviceManager.js +20 -24
- 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 +9 -11
- package/build/src/start/platforms/android/AndroidSdk.js.map +1 -1
- package/build/src/start/platforms/android/activateWindow.js +22 -26
- package/build/src/start/platforms/android/activateWindow.js.map +1 -1
- package/build/src/start/platforms/android/adb.js +83 -121
- package/build/src/start/platforms/android/adb.js.map +1 -1
- package/build/src/start/platforms/android/adbReverse.js +12 -20
- package/build/src/start/platforms/android/adbReverse.js.map +1 -1
- package/build/src/start/platforms/android/emulator.js +26 -36
- package/build/src/start/platforms/android/emulator.js.map +1 -1
- package/build/src/start/platforms/android/getDevices.js +5 -7
- package/build/src/start/platforms/android/getDevices.js.map +1 -1
- package/build/src/start/platforms/android/gradle.js +28 -36
- package/build/src/start/platforms/android/gradle.js.map +1 -1
- package/build/src/start/platforms/android/promptAndroidDevice.js +15 -19
- package/build/src/start/platforms/android/promptAndroidDevice.js.map +1 -1
- package/build/src/start/platforms/ios/AppleAppIdResolver.js +19 -21
- package/build/src/start/platforms/ios/AppleAppIdResolver.js.map +1 -1
- package/build/src/start/platforms/ios/AppleDeviceManager.js +31 -37
- 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 +7 -9
- package/build/src/start/platforms/ios/assertSystemRequirements.js.map +1 -1
- package/build/src/start/platforms/ios/devicectl.js +73 -87
- package/build/src/start/platforms/ios/devicectl.js.map +1 -1
- package/build/src/start/platforms/ios/ensureSimulatorAppRunning.js +18 -22
- package/build/src/start/platforms/ios/ensureSimulatorAppRunning.js.map +1 -1
- package/build/src/start/platforms/ios/getBestSimulator.js +19 -29
- package/build/src/start/platforms/ios/getBestSimulator.js.map +1 -1
- package/build/src/start/platforms/ios/promptAppleDevice.js +10 -14
- package/build/src/start/platforms/ios/promptAppleDevice.js.map +1 -1
- package/build/src/start/platforms/ios/simctl.js +74 -102
- package/build/src/start/platforms/ios/simctl.js.map +1 -1
- package/build/src/start/platforms/ios/simctlLogging.js +52 -57
- package/build/src/start/platforms/ios/simctlLogging.js.map +1 -1
- package/build/src/start/platforms/ios/xcrun.js +18 -22
- package/build/src/start/platforms/ios/xcrun.js.map +1 -1
- package/build/src/start/project/devices.js +9 -19
- package/build/src/start/project/devices.js.map +1 -1
- package/build/src/start/project/dotExpo.js +11 -15
- package/build/src/start/project/dotExpo.js.map +1 -1
- package/build/src/start/project/settings.js +2 -4
- package/build/src/start/project/settings.js.map +1 -1
- package/build/src/start/resolveOptions.js +40 -48
- package/build/src/start/resolveOptions.js.map +1 -1
- package/build/src/start/server/AsyncNgrok.js +51 -55
- package/build/src/start/server/AsyncNgrok.js.map +1 -1
- package/build/src/start/server/AsyncWsTunnel.js +36 -40
- package/build/src/start/server/AsyncWsTunnel.js.map +1 -1
- package/build/src/start/server/BundlerDevServer.js +79 -81
- package/build/src/start/server/BundlerDevServer.js.map +1 -1
- package/build/src/start/server/DevServerManager.js +38 -42
- package/build/src/start/server/DevServerManager.js.map +1 -1
- package/build/src/start/server/DevToolsPluginManager.js +14 -18
- package/build/src/start/server/DevToolsPluginManager.js.map +1 -1
- package/build/src/start/server/DevelopmentSession.js +14 -18
- package/build/src/start/server/DevelopmentSession.js.map +1 -1
- package/build/src/start/server/ReactDevToolsProxy.js +10 -16
- package/build/src/start/server/ReactDevToolsProxy.js.map +1 -1
- package/build/src/start/server/UrlCreator.js +33 -36
- package/build/src/start/server/UrlCreator.js.map +1 -1
- package/build/src/start/server/getStaticRenderFunctions.js +21 -29
- package/build/src/start/server/getStaticRenderFunctions.js.map +1 -1
- package/build/src/start/server/metro/DevToolsPluginWebsocketEndpoint.js +4 -6
- package/build/src/start/server/metro/DevToolsPluginWebsocketEndpoint.js.map +1 -1
- package/build/src/start/server/metro/MetroBundlerDevServer.js +271 -269
- package/build/src/start/server/metro/MetroBundlerDevServer.js.map +1 -1
- package/build/src/start/server/metro/MetroTerminalReporter.js +56 -63
- package/build/src/start/server/metro/MetroTerminalReporter.js.map +1 -1
- package/build/src/start/server/metro/TerminalReporter.js +33 -39
- 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/createExpoMetroResolver.js +40 -46
- package/build/src/start/server/metro/createExpoMetroResolver.js.map +1 -1
- package/build/src/start/server/metro/createJResolver.js +28 -32
- package/build/src/start/server/metro/createJResolver.js.map +1 -1
- package/build/src/start/server/metro/createServerComponentsMiddleware.js +92 -96
- package/build/src/start/server/metro/createServerComponentsMiddleware.js.map +1 -1
- package/build/src/start/server/metro/createServerRouteMiddleware.js +30 -32
- package/build/src/start/server/metro/createServerRouteMiddleware.js.map +1 -1
- package/build/src/start/server/metro/debugging/AtlasPrerequisite.js +11 -13
- package/build/src/start/server/metro/debugging/AtlasPrerequisite.js.map +1 -1
- package/build/src/start/server/metro/debugging/MessageHandler.js +1 -3
- package/build/src/start/server/metro/debugging/MessageHandler.js.map +1 -1
- package/build/src/start/server/metro/debugging/attachAtlas.js +22 -26
- package/build/src/start/server/metro/debugging/attachAtlas.js.map +1 -1
- package/build/src/start/server/metro/debugging/createDebugMiddleware.js +17 -19
- package/build/src/start/server/metro/debugging/createDebugMiddleware.js.map +1 -1
- package/build/src/start/server/metro/debugging/createHandlersFactory.js +31 -25
- package/build/src/start/server/metro/debugging/createHandlersFactory.js.map +1 -1
- package/build/src/start/server/metro/debugging/getDebuggerType.js +4 -6
- package/build/src/start/server/metro/debugging/getDebuggerType.js.map +1 -1
- package/build/src/start/server/metro/debugging/messageHandlers/NetworkResponse.js +8 -14
- package/build/src/start/server/metro/debugging/messageHandlers/NetworkResponse.js.map +1 -1
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerGetPossibleBreakpoints.js +5 -7
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerGetPossibleBreakpoints.js.map +1 -1
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerSetBreakpointByUrl.js +6 -8
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerSetBreakpointByUrl.js.map +1 -1
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeCallFunctionOn.js +5 -7
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeCallFunctionOn.js.map +1 -1
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeEvaluate.js +12 -14
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeEvaluate.js.map +1 -1
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeGetProperties.js +10 -14
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeGetProperties.js.map +1 -1
- package/build/src/start/server/metro/debugging/pageIsSupported.js +4 -6
- 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 +16 -18
- package/build/src/start/server/metro/dev-server/createEventSocket.js.map +1 -1
- package/build/src/start/server/metro/dev-server/createMessageSocket.js +21 -23
- package/build/src/start/server/metro/dev-server/createMessageSocket.js.map +1 -1
- package/build/src/start/server/metro/dev-server/createMetroMiddleware.js +21 -23
- package/build/src/start/server/metro/dev-server/createMetroMiddleware.js.map +1 -1
- package/build/src/start/server/metro/dev-server/utils/createSocketBroadcaster.js +2 -4
- 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 +2 -4
- 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 +4 -8
- package/build/src/start/server/metro/dev-server/utils/socketMessages.js.map +1 -1
- package/build/src/start/server/metro/externals.js +25 -33
- package/build/src/start/server/metro/externals.js.map +1 -1
- package/build/src/start/server/metro/fetchRouterManifest.js +12 -16
- package/build/src/start/server/metro/fetchRouterManifest.js.map +1 -1
- package/build/src/start/server/metro/formatFileCandidates.js +9 -11
- package/build/src/start/server/metro/formatFileCandidates.js.map +1 -1
- package/build/src/start/server/metro/getCssModulesFromBundler.js +18 -22
- package/build/src/start/server/metro/getCssModulesFromBundler.js.map +1 -1
- package/build/src/start/server/metro/instantiateMetro.js +79 -85
- package/build/src/start/server/metro/instantiateMetro.js.map +1 -1
- package/build/src/start/server/metro/log-box/LogBoxLog.js +36 -40
- package/build/src/start/server/metro/log-box/LogBoxLog.js.map +1 -1
- package/build/src/start/server/metro/log-box/LogBoxSymbolication.js +14 -20
- package/build/src/start/server/metro/log-box/LogBoxSymbolication.js.map +1 -1
- package/build/src/start/server/metro/log-box/formatProjectFilePath.js +6 -10
- package/build/src/start/server/metro/log-box/formatProjectFilePath.js.map +1 -1
- package/build/src/start/server/metro/metroErrorInterface.js +78 -88
- package/build/src/start/server/metro/metroErrorInterface.js.map +1 -1
- package/build/src/start/server/metro/metroErrors.js +4 -8
- package/build/src/start/server/metro/metroErrors.js.map +1 -1
- package/build/src/start/server/metro/metroPrivateServer.js +7 -9
- package/build/src/start/server/metro/metroPrivateServer.js.map +1 -1
- package/build/src/start/server/metro/metroVirtualModules.js +8 -10
- package/build/src/start/server/metro/metroVirtualModules.js.map +1 -1
- package/build/src/start/server/metro/metroWatchTypeScriptFiles.js +22 -24
- package/build/src/start/server/metro/metroWatchTypeScriptFiles.js.map +1 -1
- package/build/src/start/server/metro/router.js +32 -48
- package/build/src/start/server/metro/router.js.map +1 -1
- package/build/src/start/server/metro/runServer-fork.js +22 -24
- package/build/src/start/server/metro/runServer-fork.js.map +1 -1
- package/build/src/start/server/metro/serializeHtml.js +22 -24
- 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 +29 -35
- package/build/src/start/server/metro/waitForMetroToObserveTypeScriptFile.js.map +1 -1
- package/build/src/start/server/metro/withMetroMultiPlatform.js +139 -149
- package/build/src/start/server/metro/withMetroMultiPlatform.js.map +1 -1
- package/build/src/start/server/metro/withMetroResolvers.js +39 -49
- package/build/src/start/server/metro/withMetroResolvers.js.map +1 -1
- package/build/src/start/server/middleware/ContextModuleSourceMapsMiddleware.js +6 -8
- package/build/src/start/server/middleware/ContextModuleSourceMapsMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/CorsMiddleware.js +15 -17
- package/build/src/start/server/middleware/CorsMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/CreateFileMiddleware.js +31 -32
- package/build/src/start/server/middleware/CreateFileMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/DevToolsPluginMiddleware.js +19 -22
- package/build/src/start/server/middleware/DevToolsPluginMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/DomComponentsMiddleware.js +27 -33
- package/build/src/start/server/middleware/DomComponentsMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js +60 -64
- package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/ExpoMiddleware.js +9 -15
- package/build/src/start/server/middleware/ExpoMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/FaviconMiddleware.js +14 -15
- package/build/src/start/server/middleware/FaviconMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/HistoryFallbackMiddleware.js +2 -4
- package/build/src/start/server/middleware/HistoryFallbackMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/InterstitialPageMiddleware.js +31 -34
- package/build/src/start/server/middleware/InterstitialPageMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/ManifestMiddleware.js +56 -64
- package/build/src/start/server/middleware/ManifestMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/ReactDevToolsPageMiddleware.js +19 -23
- package/build/src/start/server/middleware/ReactDevToolsPageMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js +19 -20
- package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/ServeStaticMiddleware.js +9 -11
- package/build/src/start/server/middleware/ServeStaticMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/createBuiltinAPIRequestHandler.js +11 -17
- package/build/src/start/server/middleware/createBuiltinAPIRequestHandler.js.map +1 -1
- package/build/src/start/server/middleware/inspector/CdpClient.js +10 -12
- package/build/src/start/server/middleware/inspector/CdpClient.js.map +1 -1
- package/build/src/start/server/middleware/inspector/JsInspector.js +27 -35
- package/build/src/start/server/middleware/inspector/JsInspector.js.map +1 -1
- package/build/src/start/server/middleware/inspector/createJsInspectorMiddleware.js +19 -21
- package/build/src/start/server/middleware/inspector/createJsInspectorMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/inspector/middlwareMutations.js +2 -6
- package/build/src/start/server/middleware/inspector/middlwareMutations.js.map +1 -1
- package/build/src/start/server/middleware/metroOptions.js +96 -120
- package/build/src/start/server/middleware/metroOptions.js.map +1 -1
- package/build/src/start/server/middleware/mutations.js +3 -7
- package/build/src/start/server/middleware/mutations.js.map +1 -1
- package/build/src/start/server/middleware/resolveAssets.js +18 -26
- package/build/src/start/server/middleware/resolveAssets.js.map +1 -1
- package/build/src/start/server/middleware/resolvePlatform.js +15 -23
- package/build/src/start/server/middleware/resolvePlatform.js.map +1 -1
- package/build/src/start/server/middleware/resolveRuntimeVersionWithExpoUpdatesAsync.js +9 -11
- 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 +8 -10
- package/build/src/start/server/openPlatforms.js.map +1 -1
- package/build/src/start/server/platformBundlers.js +11 -13
- package/build/src/start/server/platformBundlers.js.map +1 -1
- package/build/src/start/server/serverLogLikeMetro.js +50 -58
- package/build/src/start/server/serverLogLikeMetro.js.map +1 -1
- package/build/src/start/server/type-generation/expo-env.js +7 -11
- package/build/src/start/server/type-generation/expo-env.js.map +1 -1
- package/build/src/start/server/type-generation/routes.js +54 -76
- package/build/src/start/server/type-generation/routes.js.map +1 -1
- package/build/src/start/server/type-generation/startTypescriptTypeGeneration.js +19 -21
- package/build/src/start/server/type-generation/startTypescriptTypeGeneration.js.map +1 -1
- package/build/src/start/server/type-generation/tsconfig.js +28 -36
- package/build/src/start/server/type-generation/tsconfig.js.map +1 -1
- package/build/src/start/server/webTemplate.js +24 -28
- package/build/src/start/server/webTemplate.js.map +1 -1
- package/build/src/start/server/webpack/WebpackBundlerDevServer.js +46 -52
- package/build/src/start/server/webpack/WebpackBundlerDevServer.js.map +1 -1
- package/build/src/start/server/webpack/compile.js +11 -15
- package/build/src/start/server/webpack/compile.js.map +1 -1
- package/build/src/start/server/webpack/formatWebpackMessages.js +26 -28
- package/build/src/start/server/webpack/formatWebpackMessages.js.map +1 -1
- package/build/src/start/server/webpack/resolveFromProject.js +12 -18
- package/build/src/start/server/webpack/resolveFromProject.js.map +1 -1
- package/build/src/start/server/webpack/tls.js +12 -18
- package/build/src/start/server/webpack/tls.js.map +1 -1
- package/build/src/start/startAsync.js +27 -31
- package/build/src/start/startAsync.js.map +1 -1
- package/build/src/utils/FileNotifier.js +17 -20
- package/build/src/utils/FileNotifier.js.map +1 -1
- package/build/src/utils/ansi.js +5 -7
- package/build/src/utils/ansi.js.map +1 -1
- package/build/src/utils/args.js +14 -24
- package/build/src/utils/args.js.map +1 -1
- package/build/src/utils/array.js +6 -18
- package/build/src/utils/array.js.map +1 -1
- package/build/src/utils/cocoapods.js +46 -54
- package/build/src/utils/cocoapods.js.map +1 -1
- package/build/src/utils/codesigning.js +68 -78
- package/build/src/utils/codesigning.js.map +1 -1
- package/build/src/utils/createFileTransform.js +12 -16
- package/build/src/utils/createFileTransform.js.map +1 -1
- package/build/src/utils/createTempPath.js +13 -17
- package/build/src/utils/createTempPath.js.map +1 -1
- package/build/src/utils/delay.js +6 -12
- package/build/src/utils/delay.js.map +1 -1
- package/build/src/utils/dir.js +28 -46
- package/build/src/utils/dir.js.map +1 -1
- package/build/src/utils/downloadAppAsync.js +8 -10
- package/build/src/utils/downloadAppAsync.js.map +1 -1
- package/build/src/utils/downloadExpoGoAsync.js +21 -25
- package/build/src/utils/downloadExpoGoAsync.js.map +1 -1
- package/build/src/utils/editor.js +35 -41
- package/build/src/utils/editor.js.map +1 -1
- package/build/src/utils/env.js +59 -63
- package/build/src/utils/env.js.map +1 -1
- package/build/src/utils/errors.js +30 -37
- package/build/src/utils/errors.js.map +1 -1
- package/build/src/utils/exit.js +31 -35
- package/build/src/utils/exit.js.map +1 -1
- package/build/src/utils/expoUpdatesCli.js +22 -32
- package/build/src/utils/expoUpdatesCli.js.map +1 -1
- package/build/src/utils/fetch.js +4 -8
- package/build/src/utils/fetch.js.map +1 -1
- package/build/src/utils/filePath.js +6 -10
- package/build/src/utils/filePath.js.map +1 -1
- package/build/src/utils/findUp.js +9 -13
- package/build/src/utils/findUp.js.map +1 -1
- package/build/src/utils/fn.js +2 -6
- package/build/src/utils/fn.js.map +1 -1
- package/build/src/utils/getOrPromptApplicationId.js +26 -32
- package/build/src/utils/getOrPromptApplicationId.js.map +1 -1
- package/build/src/utils/getRunningProcess.js +21 -29
- package/build/src/utils/getRunningProcess.js.map +1 -1
- package/build/src/utils/git.js +20 -26
- package/build/src/utils/git.js.map +1 -1
- package/build/src/utils/glob.js +4 -8
- package/build/src/utils/glob.js.map +1 -1
- package/build/src/utils/interactive.js +1 -3
- package/build/src/utils/interactive.js.map +1 -1
- package/build/src/utils/ip.js +19 -21
- package/build/src/utils/ip.js.map +1 -1
- package/build/src/utils/isModuleSymlinked.js +9 -11
- package/build/src/utils/isModuleSymlinked.js.map +1 -1
- package/build/src/utils/jsonSchemaDeref.js +18 -20
- package/build/src/utils/jsonSchemaDeref.js.map +1 -1
- package/build/src/utils/link.js +13 -17
- package/build/src/utils/link.js.map +1 -1
- package/build/src/utils/mergeGitIgnorePaths.js +28 -46
- package/build/src/utils/mergeGitIgnorePaths.js.map +1 -1
- package/build/src/utils/modifyConfigAsync.js +10 -16
- package/build/src/utils/modifyConfigAsync.js.map +1 -1
- package/build/src/utils/modifyConfigPlugins.js +6 -10
- package/build/src/utils/modifyConfigPlugins.js.map +1 -1
- package/build/src/utils/nodeEnv.js +6 -12
- package/build/src/utils/nodeEnv.js.map +1 -1
- package/build/src/utils/nodeModules.js +8 -10
- package/build/src/utils/nodeModules.js.map +1 -1
- package/build/src/utils/npm.js +36 -50
- package/build/src/utils/npm.js.map +1 -1
- package/build/src/utils/obj.js +5 -11
- package/build/src/utils/obj.js.map +1 -1
- package/build/src/utils/open.js +8 -10
- package/build/src/utils/open.js.map +1 -1
- package/build/src/utils/ora.js +7 -13
- package/build/src/utils/ora.js.map +1 -1
- package/build/src/utils/plist.js +15 -21
- package/build/src/utils/plist.js.map +1 -1
- package/build/src/utils/port.js +33 -43
- package/build/src/utils/port.js.map +1 -1
- package/build/src/utils/profile.js +7 -11
- package/build/src/utils/profile.js.map +1 -1
- package/build/src/utils/progress.js +5 -11
- package/build/src/utils/progress.js.map +1 -1
- package/build/src/utils/prompts.js +29 -47
- package/build/src/utils/prompts.js.map +1 -1
- package/build/src/utils/resolveArgs.js +24 -36
- package/build/src/utils/resolveArgs.js.map +1 -1
- package/build/src/utils/scheme.js +32 -40
- package/build/src/utils/scheme.js.map +1 -1
- package/build/src/utils/stream.js +3 -5
- package/build/src/utils/stream.js.map +1 -1
- package/build/src/utils/strings.js +4 -6
- package/build/src/utils/strings.js.map +1 -1
- package/build/src/utils/tar.js +15 -19
- package/build/src/utils/tar.js.map +1 -1
- package/build/src/utils/telemetry/Telemetry.js +27 -29
- package/build/src/utils/telemetry/Telemetry.js.map +1 -1
- package/build/src/utils/telemetry/clients/FetchClient.js +13 -15
- package/build/src/utils/telemetry/clients/FetchClient.js.map +1 -1
- package/build/src/utils/telemetry/clients/FetchDetachedClient.js +22 -26
- package/build/src/utils/telemetry/clients/FetchDetachedClient.js.map +1 -1
- package/build/src/utils/telemetry/clients/RudderClient.js +8 -10
- package/build/src/utils/telemetry/clients/RudderClient.js.map +1 -1
- package/build/src/utils/telemetry/clients/RudderDetachedClient.js +22 -26
- package/build/src/utils/telemetry/clients/RudderDetachedClient.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/clients/flushRudderDetached.js +10 -10
- package/build/src/utils/telemetry/clients/flushRudderDetached.js.map +1 -1
- package/build/src/utils/telemetry/events.js +2 -4
- package/build/src/utils/telemetry/events.js.map +1 -1
- package/build/src/utils/telemetry/flushDetached.js.map +1 -1
- package/build/src/utils/telemetry/index.js +29 -25
- 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 +4 -8
- package/build/src/utils/telemetry/utils/constants.js.map +1 -1
- package/build/src/utils/telemetry/utils/context.js +14 -18
- package/build/src/utils/telemetry/utils/context.js.map +1 -1
- package/build/src/utils/template.js +4 -6
- package/build/src/utils/template.js.map +1 -1
- package/build/src/utils/terminal.js +2 -4
- package/build/src/utils/terminal.js.map +1 -1
- package/build/src/utils/tsconfig/evaluateTsConfig.js +17 -21
- package/build/src/utils/tsconfig/evaluateTsConfig.js.map +1 -1
- package/build/src/utils/tsconfig/loadTsConfigPaths.js +14 -18
- package/build/src/utils/tsconfig/loadTsConfigPaths.js.map +1 -1
- package/build/src/utils/tsconfig/matchTsConfigPathAlias.js +5 -7
- package/build/src/utils/tsconfig/matchTsConfigPathAlias.js.map +1 -1
- package/build/src/utils/tsconfig/resolveWithTsConfigPaths.js +12 -14
- package/build/src/utils/tsconfig/resolveWithTsConfigPaths.js.map +1 -1
- package/build/src/utils/url.js +13 -23
- package/build/src/utils/url.js.map +1 -1
- package/build/src/utils/validateApplicationId.js +86 -108
- package/build/src/utils/validateApplicationId.js.map +1 -1
- package/build/src/utils/variadic.js +16 -22
- package/build/src/utils/variadic.js.map +1 -1
- package/build/src/whoami/index.js +7 -11
- package/build/src/whoami/index.js.map +1 -1
- package/build/src/whoami/whoamiAsync.js +7 -11
- package/build/src/whoami/whoamiAsync.js.map +1 -1
- package/package.json +3 -3
|
@@ -4,9 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
});
|
|
5
5
|
Object.defineProperty(exports, "exportAppAsync", {
|
|
6
6
|
enumerable: true,
|
|
7
|
-
get:
|
|
8
|
-
return exportAppAsync;
|
|
9
|
-
}
|
|
7
|
+
get: ()=>exportAppAsync
|
|
10
8
|
});
|
|
11
9
|
function _config() {
|
|
12
10
|
const data = require("@expo/config");
|
|
@@ -16,28 +14,28 @@ function _config() {
|
|
|
16
14
|
return data;
|
|
17
15
|
}
|
|
18
16
|
function _assert() {
|
|
19
|
-
const data = /*#__PURE__*/
|
|
17
|
+
const data = /*#__PURE__*/ _interopRequireDefault(require("assert"));
|
|
20
18
|
_assert = function() {
|
|
21
19
|
return data;
|
|
22
20
|
};
|
|
23
21
|
return data;
|
|
24
22
|
}
|
|
25
23
|
function _chalk() {
|
|
26
|
-
const data = /*#__PURE__*/
|
|
24
|
+
const data = /*#__PURE__*/ _interopRequireDefault(require("chalk"));
|
|
27
25
|
_chalk = function() {
|
|
28
26
|
return data;
|
|
29
27
|
};
|
|
30
28
|
return data;
|
|
31
29
|
}
|
|
32
30
|
function _fs() {
|
|
33
|
-
const data = /*#__PURE__*/
|
|
31
|
+
const data = /*#__PURE__*/ _interopRequireDefault(require("fs"));
|
|
34
32
|
_fs = function() {
|
|
35
33
|
return data;
|
|
36
34
|
};
|
|
37
35
|
return data;
|
|
38
36
|
}
|
|
39
37
|
function _path() {
|
|
40
|
-
const data = /*#__PURE__*/
|
|
38
|
+
const data = /*#__PURE__*/ _interopRequireDefault(require("path"));
|
|
41
39
|
_path = function() {
|
|
42
40
|
return data;
|
|
43
41
|
};
|
|
@@ -53,19 +51,19 @@ const _getPublicExpoManifest = require("./getPublicExpoManifest");
|
|
|
53
51
|
const _publicFolder = require("./publicFolder");
|
|
54
52
|
const _saveAssets = require("./saveAssets");
|
|
55
53
|
const _writeContents = require("./writeContents");
|
|
56
|
-
const _log = /*#__PURE__*/
|
|
57
|
-
const
|
|
58
|
-
const
|
|
59
|
-
const
|
|
54
|
+
const _log = /*#__PURE__*/ _interopRequireWildcard(require("../log"));
|
|
55
|
+
const _webSupportProjectPrerequisite = require("../start/doctor/web/WebSupportProjectPrerequisite");
|
|
56
|
+
const _devServerManager = require("../start/server/DevServerManager");
|
|
57
|
+
const _metroBundlerDevServer = require("../start/server/metro/MetroBundlerDevServer");
|
|
60
58
|
const _router = require("../start/server/metro/router");
|
|
61
59
|
const _serializeHtml = require("../start/server/metro/serializeHtml");
|
|
62
|
-
const
|
|
60
|
+
const _manifestMiddleware = require("../start/server/middleware/ManifestMiddleware");
|
|
63
61
|
const _metroOptions = require("../start/server/middleware/metroOptions");
|
|
64
62
|
const _webTemplate = require("../start/server/webTemplate");
|
|
65
63
|
const _env = require("../utils/env");
|
|
66
64
|
const _errors = require("../utils/errors");
|
|
67
65
|
const _nodeEnv = require("../utils/nodeEnv");
|
|
68
|
-
function
|
|
66
|
+
function _interopRequireDefault(obj) {
|
|
69
67
|
return obj && obj.__esModule ? obj : {
|
|
70
68
|
default: obj
|
|
71
69
|
};
|
|
@@ -78,7 +76,7 @@ function _getRequireWildcardCache(nodeInterop) {
|
|
|
78
76
|
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
|
79
77
|
})(nodeInterop);
|
|
80
78
|
}
|
|
81
|
-
function
|
|
79
|
+
function _interopRequireWildcard(obj, nodeInterop) {
|
|
82
80
|
if (!nodeInterop && obj && obj.__esModule) {
|
|
83
81
|
return obj;
|
|
84
82
|
}
|
|
@@ -91,9 +89,7 @@ function _interop_require_wildcard(obj, nodeInterop) {
|
|
|
91
89
|
if (cache && cache.has(obj)) {
|
|
92
90
|
return cache.get(obj);
|
|
93
91
|
}
|
|
94
|
-
var newObj = {
|
|
95
|
-
__proto__: null
|
|
96
|
-
};
|
|
92
|
+
var newObj = {};
|
|
97
93
|
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
98
94
|
for(var key in obj){
|
|
99
95
|
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
@@ -111,27 +107,27 @@ function _interop_require_wildcard(obj, nodeInterop) {
|
|
|
111
107
|
}
|
|
112
108
|
return newObj;
|
|
113
109
|
}
|
|
114
|
-
async function exportAppAsync(projectRoot, { platforms, outputDir, clear, dev, dumpAssetmap, sourceMaps, minify, bytecode, maxWorkers, skipSSG
|
|
115
|
-
var
|
|
116
|
-
(0, _nodeEnv.setNodeEnv)(dev ?
|
|
117
|
-
require(
|
|
110
|
+
async function exportAppAsync(projectRoot, { platforms , outputDir , clear , dev , dumpAssetmap , sourceMaps , minify , bytecode , maxWorkers , skipSSG }) {
|
|
111
|
+
var ref, ref1;
|
|
112
|
+
(0, _nodeEnv.setNodeEnv)(dev ? "development" : "production");
|
|
113
|
+
require("@expo/env").load(projectRoot);
|
|
118
114
|
const projectConfig = (0, _config().getConfig)(projectRoot);
|
|
119
115
|
const exp = await (0, _getPublicExpoManifest.getPublicExpoManifestAsync)(projectRoot, {
|
|
120
116
|
// Web doesn't require validation.
|
|
121
|
-
skipValidation: platforms.length === 1 && platforms[0] ===
|
|
117
|
+
skipValidation: platforms.length === 1 && platforms[0] === "web"
|
|
122
118
|
});
|
|
123
|
-
if (platforms.includes(
|
|
124
|
-
await new
|
|
119
|
+
if (platforms.includes("web")) {
|
|
120
|
+
await new _webSupportProjectPrerequisite.WebSupportProjectPrerequisite(projectRoot).assertAsync();
|
|
125
121
|
}
|
|
126
122
|
const useServerRendering = [
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
].includes(((
|
|
130
|
-
if (skipSSG && ((
|
|
131
|
-
throw new _errors.CommandError(
|
|
123
|
+
"static",
|
|
124
|
+
"server"
|
|
125
|
+
].includes(((ref = exp.web) == null ? void 0 : ref.output) ?? "");
|
|
126
|
+
if (skipSSG && ((ref1 = exp.web) == null ? void 0 : ref1.output) !== "server") {
|
|
127
|
+
throw new _errors.CommandError("--no-ssg can only be used with `web.output: server`");
|
|
132
128
|
}
|
|
133
129
|
const baseUrl = (0, _metroOptions.getBaseUrlFromExpoConfig)(exp);
|
|
134
|
-
if (!bytecode && (platforms.includes(
|
|
130
|
+
if (!bytecode && (platforms.includes("ios") || platforms.includes("android"))) {
|
|
135
131
|
_log.warn(`Bytecode makes the app startup faster, disabling bytecode is highly discouraged and should only be used for debugging purposes.`);
|
|
136
132
|
}
|
|
137
133
|
// Print out logs
|
|
@@ -139,16 +135,16 @@ async function exportAppAsync(projectRoot, { platforms, outputDir, clear, dev, d
|
|
|
139
135
|
_log.log();
|
|
140
136
|
_log.log(_chalk().default.gray`Using (experimental) base path: ${baseUrl}`);
|
|
141
137
|
// Warn if not using an absolute path.
|
|
142
|
-
if (!baseUrl.startsWith(
|
|
138
|
+
if (!baseUrl.startsWith("/")) {
|
|
143
139
|
_log.log(_chalk().default.yellow` Base path does not start with a slash. Requests will not be absolute.`);
|
|
144
140
|
}
|
|
145
141
|
}
|
|
146
|
-
const mode = dev ?
|
|
142
|
+
const mode = dev ? "development" : "production";
|
|
147
143
|
const publicPath = _path().default.resolve(projectRoot, _env.env.EXPO_PUBLIC_FOLDER);
|
|
148
144
|
const outputPath = _path().default.resolve(projectRoot, outputDir);
|
|
149
145
|
// Write the JS bundles to disk, and get the bundle file names (this could change with async chunk loading support).
|
|
150
146
|
const files = new Map();
|
|
151
|
-
const devServerManager = await
|
|
147
|
+
const devServerManager = await _devServerManager.DevServerManager.startMetroAsync(projectRoot, {
|
|
152
148
|
minify,
|
|
153
149
|
mode,
|
|
154
150
|
port: 8081,
|
|
@@ -158,19 +154,19 @@ async function exportAppAsync(projectRoot, { platforms, outputDir, clear, dev, d
|
|
|
158
154
|
maxWorkers
|
|
159
155
|
});
|
|
160
156
|
const devServer = devServerManager.getDefaultDevServer();
|
|
161
|
-
(0, _assert().default)(devServer instanceof
|
|
157
|
+
(0, _assert().default)(devServer instanceof _metroBundlerDevServer.MetroBundlerDevServer);
|
|
162
158
|
const bundles = {};
|
|
163
159
|
const domComponentAssetsMetadata = {};
|
|
164
160
|
const spaPlatforms = // TODO: Support server and static rendering for server component exports.
|
|
165
|
-
useServerRendering && !devServer.isReactServerComponentsEnabled ? platforms.filter((platform)=>platform !==
|
|
161
|
+
useServerRendering && !devServer.isReactServerComponentsEnabled ? platforms.filter((platform)=>platform !== "web") : platforms;
|
|
166
162
|
try {
|
|
167
163
|
if (devServer.isReactServerComponentsEnabled) {
|
|
168
164
|
// In RSC mode, we only need these to be in the client dir.
|
|
169
165
|
// TODO: Merge back with other copy after we add SSR.
|
|
170
166
|
try {
|
|
171
|
-
await (0, _publicFolder.copyPublicFolderAsync)(publicPath, _path().default.join(outputPath,
|
|
167
|
+
await (0, _publicFolder.copyPublicFolderAsync)(publicPath, _path().default.join(outputPath, "client"));
|
|
172
168
|
} catch (error) {
|
|
173
|
-
_log.error(
|
|
169
|
+
_log.error("Failed to copy public directory to dist directory");
|
|
174
170
|
throw error;
|
|
175
171
|
}
|
|
176
172
|
} else {
|
|
@@ -182,7 +178,7 @@ async function exportAppAsync(projectRoot, { platforms, outputDir, clear, dev, d
|
|
|
182
178
|
// Can be empty during web-only SSG.
|
|
183
179
|
if (spaPlatforms.length) {
|
|
184
180
|
await Promise.all(spaPlatforms.map(async (platform)=>{
|
|
185
|
-
var
|
|
181
|
+
var ref;
|
|
186
182
|
// Assert early so the user doesn't have to wait until bundling is complete to find out that
|
|
187
183
|
// Hermes won't be available.
|
|
188
184
|
const isHermes = (0, _exportHermes.isEnableHermesManaged)(exp, platform);
|
|
@@ -192,16 +188,16 @@ async function exportAppAsync(projectRoot, { platforms, outputDir, clear, dev, d
|
|
|
192
188
|
// Run metro bundler and create the JS bundles/source maps.
|
|
193
189
|
const bundle = await devServer.nativeExportBundleAsync({
|
|
194
190
|
platform,
|
|
195
|
-
splitChunks: !_env.env.EXPO_NO_BUNDLE_SPLITTING && (devServer.isReactServerComponentsEnabled && !bytecode || platform ===
|
|
196
|
-
mainModuleName: (0,
|
|
191
|
+
splitChunks: !_env.env.EXPO_NO_BUNDLE_SPLITTING && (devServer.isReactServerComponentsEnabled && !bytecode || platform === "web"),
|
|
192
|
+
mainModuleName: (0, _manifestMiddleware.getEntryWithServerRoot)(projectRoot, {
|
|
197
193
|
platform,
|
|
198
194
|
pkg: projectConfig.pkg
|
|
199
195
|
}),
|
|
200
|
-
mode: dev ?
|
|
201
|
-
engine: isHermes ?
|
|
196
|
+
mode: dev ? "development" : "production",
|
|
197
|
+
engine: isHermes ? "hermes" : undefined,
|
|
202
198
|
serializerIncludeMaps: sourceMaps,
|
|
203
199
|
bytecode: bytecode && isHermes,
|
|
204
|
-
reactCompiler: !!((
|
|
200
|
+
reactCompiler: !!((ref = exp.experiments) == null ? void 0 : ref.reactCompiler)
|
|
205
201
|
}, files);
|
|
206
202
|
bundles[platform] = bundle;
|
|
207
203
|
(0, _saveAssets.getFilesFromSerialAssets)(bundle.artifacts, {
|
|
@@ -213,7 +209,7 @@ async function exportAppAsync(projectRoot, { platforms, outputDir, clear, dev, d
|
|
|
213
209
|
const expoDomComponentReferences = bundle.artifacts.map((artifact)=>Array.isArray(artifact.metadata.expoDomComponentReferences) ? artifact.metadata.expoDomComponentReferences : []).flat();
|
|
214
210
|
await Promise.all(// TODO: Make a version of this which uses `this.metro.getBundler().buildGraphForEntries([])` to bundle all the DOM components at once.
|
|
215
211
|
expoDomComponentReferences.map(async (filePath)=>{
|
|
216
|
-
const { bundle: platformDomComponentsBundle, htmlOutputName
|
|
212
|
+
const { bundle: platformDomComponentsBundle , htmlOutputName } = await (0, _exportDomComponents.exportDomComponentAsync)({
|
|
217
213
|
filePath,
|
|
218
214
|
projectRoot,
|
|
219
215
|
dev,
|
|
@@ -238,10 +234,10 @@ async function exportAppAsync(projectRoot, { platforms, outputDir, clear, dev, d
|
|
|
238
234
|
...(0, _exportDomComponents.transformDomEntryForMd5Filename)({
|
|
239
235
|
files,
|
|
240
236
|
htmlOutputName
|
|
241
|
-
})
|
|
237
|
+
}),
|
|
242
238
|
];
|
|
243
239
|
}));
|
|
244
|
-
if (platform ===
|
|
240
|
+
if (platform === "web") {
|
|
245
241
|
// TODO: Unify with exportStaticAsync
|
|
246
242
|
// TODO: Maybe move to the serializer.
|
|
247
243
|
let html = await (0, _serializeHtml.serializeHtmlWithAssets)({
|
|
@@ -268,23 +264,23 @@ async function exportAppAsync(projectRoot, { platforms, outputDir, clear, dev, d
|
|
|
268
264
|
templateHtml = html;
|
|
269
265
|
// Generate SPA-styled HTML file.
|
|
270
266
|
// If web exists, then write the template HTML file.
|
|
271
|
-
files.set(
|
|
267
|
+
files.set("index.html", {
|
|
272
268
|
contents: html,
|
|
273
|
-
targetDomain: devServer.isReactServerComponentsEnabled ?
|
|
269
|
+
targetDomain: devServer.isReactServerComponentsEnabled ? "server" : "client"
|
|
274
270
|
});
|
|
275
271
|
}
|
|
276
272
|
}));
|
|
277
273
|
if (devServer.isReactServerComponentsEnabled) {
|
|
278
|
-
const isWeb = platforms.includes(
|
|
274
|
+
const isWeb = platforms.includes("web");
|
|
279
275
|
await (0, _exportStaticAsync.exportApiRoutesStandaloneAsync)(devServer, {
|
|
280
276
|
files,
|
|
281
|
-
platform:
|
|
277
|
+
platform: "web",
|
|
282
278
|
apiRoutesOnly: !isWeb,
|
|
283
279
|
templateHtml
|
|
284
280
|
});
|
|
285
281
|
}
|
|
286
282
|
// TODO: Use same asset system across platforms again.
|
|
287
|
-
const { assets, embeddedHashSet
|
|
283
|
+
const { assets , embeddedHashSet } = await (0, _exportAssets.exportAssetsAsync)(projectRoot, {
|
|
288
284
|
files,
|
|
289
285
|
exp,
|
|
290
286
|
outputDir: outputPath,
|
|
@@ -292,17 +288,17 @@ async function exportAppAsync(projectRoot, { platforms, outputDir, clear, dev, d
|
|
|
292
288
|
baseUrl
|
|
293
289
|
});
|
|
294
290
|
if (dumpAssetmap) {
|
|
295
|
-
_log.log(
|
|
296
|
-
files.set(
|
|
291
|
+
_log.log("Creating asset map");
|
|
292
|
+
files.set("assetmap.json", {
|
|
297
293
|
contents: JSON.stringify((0, _writeContents.createAssetMap)({
|
|
298
294
|
assets
|
|
299
295
|
}))
|
|
300
296
|
});
|
|
301
297
|
}
|
|
302
|
-
const targetDomain = devServer.isReactServerComponentsEnabled ?
|
|
298
|
+
const targetDomain = devServer.isReactServerComponentsEnabled ? "client/" : "";
|
|
303
299
|
const fileNames = Object.fromEntries(Object.entries(bundles).map(([platform, bundle])=>[
|
|
304
300
|
platform,
|
|
305
|
-
bundle.artifacts.filter((asset)=>asset.type ===
|
|
301
|
+
bundle.artifacts.filter((asset)=>asset.type === "js").map((asset)=>targetDomain + asset.filename),
|
|
306
302
|
]));
|
|
307
303
|
// Generate a `metadata.json` for EAS Update.
|
|
308
304
|
const contents = (0, _createMetadataJson.createMetadataJson)({
|
|
@@ -311,37 +307,37 @@ async function exportAppAsync(projectRoot, { platforms, outputDir, clear, dev, d
|
|
|
311
307
|
embeddedHashSet,
|
|
312
308
|
domComponentAssetsMetadata
|
|
313
309
|
});
|
|
314
|
-
files.set(
|
|
310
|
+
files.set("metadata.json", {
|
|
315
311
|
contents: JSON.stringify(contents)
|
|
316
312
|
});
|
|
317
313
|
}
|
|
318
314
|
// Additional web-only steps...
|
|
319
|
-
if (platforms.includes(
|
|
320
|
-
var
|
|
321
|
-
const exportServer = ((
|
|
315
|
+
if (platforms.includes("web") && useServerRendering) {
|
|
316
|
+
var ref2;
|
|
317
|
+
const exportServer = ((ref2 = exp.web) == null ? void 0 : ref2.output) === "server";
|
|
322
318
|
if (exportServer) {
|
|
323
319
|
// TODO: Remove when this is abstracted into the files map
|
|
324
|
-
await (0, _publicFolder.copyPublicFolderAsync)(publicPath, _path().default.resolve(outputPath,
|
|
320
|
+
await (0, _publicFolder.copyPublicFolderAsync)(publicPath, _path().default.resolve(outputPath, "client"));
|
|
325
321
|
}
|
|
326
322
|
if (skipSSG) {
|
|
327
|
-
_log.log(
|
|
323
|
+
_log.log("Skipping static site generation");
|
|
328
324
|
await (0, _exportStaticAsync.exportApiRoutesStandaloneAsync)(devServer, {
|
|
329
325
|
files,
|
|
330
|
-
platform:
|
|
326
|
+
platform: "web",
|
|
331
327
|
apiRoutesOnly: true
|
|
332
328
|
});
|
|
333
329
|
// Output a placeholder index.html if one doesn't exist in the public directory.
|
|
334
330
|
// This ensures native + API routes have some content at the root URL.
|
|
335
|
-
const placeholderIndex = _path().default.resolve(outputPath,
|
|
331
|
+
const placeholderIndex = _path().default.resolve(outputPath, "client/index.html");
|
|
336
332
|
if (!_fs().default.existsSync(placeholderIndex)) {
|
|
337
|
-
files.set(
|
|
333
|
+
files.set("index.html", {
|
|
338
334
|
contents: `<html><body></body></html>`,
|
|
339
|
-
targetDomain:
|
|
335
|
+
targetDomain: "client"
|
|
340
336
|
});
|
|
341
337
|
}
|
|
342
338
|
} else if (// TODO: Support static export with RSC.
|
|
343
339
|
!devServer.isReactServerComponentsEnabled) {
|
|
344
|
-
var
|
|
340
|
+
var ref3;
|
|
345
341
|
await (0, _exportStaticAsync.exportFromServerAsync)(projectRoot, devServer, {
|
|
346
342
|
mode,
|
|
347
343
|
files,
|
|
@@ -351,7 +347,7 @@ async function exportAppAsync(projectRoot, { platforms, outputDir, clear, dev, d
|
|
|
351
347
|
baseUrl,
|
|
352
348
|
includeSourceMaps: sourceMaps,
|
|
353
349
|
routerRoot: (0, _router.getRouterDirectoryModuleIdWithManifest)(projectRoot, exp),
|
|
354
|
-
reactCompiler: !!((
|
|
350
|
+
reactCompiler: !!((ref3 = exp.experiments) == null ? void 0 : ref3.reactCompiler),
|
|
355
351
|
exportServer,
|
|
356
352
|
maxWorkers,
|
|
357
353
|
isExporting: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/export/exportApp.ts"],"sourcesContent":["import { getConfig } from '@expo/config';\nimport type { Platform } from '@expo/config';\nimport assert from 'assert';\nimport chalk from 'chalk';\nimport fs from 'fs';\nimport path from 'path';\n\nimport { type PlatformMetadata, createMetadataJson } from './createMetadataJson';\nimport { exportAssetsAsync } from './exportAssets';\nimport {\n addDomBundleToMetadataAsync,\n exportDomComponentAsync,\n transformNativeBundleForMd5Filename,\n transformDomEntryForMd5Filename,\n} from './exportDomComponents';\nimport { assertEngineMismatchAsync, isEnableHermesManaged } from './exportHermes';\nimport { exportApiRoutesStandaloneAsync, exportFromServerAsync } from './exportStaticAsync';\nimport { getVirtualFaviconAssetsAsync } from './favicon';\nimport { getPublicExpoManifestAsync } from './getPublicExpoManifest';\nimport { copyPublicFolderAsync } from './publicFolder';\nimport { Options } from './resolveOptions';\nimport {\n ExportAssetMap,\n BundleOutput,\n getFilesFromSerialAssets,\n persistMetroFilesAsync,\n} from './saveAssets';\nimport { createAssetMap } from './writeContents';\nimport * as Log from '../log';\nimport { WebSupportProjectPrerequisite } from '../start/doctor/web/WebSupportProjectPrerequisite';\nimport { DevServerManager } from '../start/server/DevServerManager';\nimport { MetroBundlerDevServer } from '../start/server/metro/MetroBundlerDevServer';\nimport { getRouterDirectoryModuleIdWithManifest } from '../start/server/metro/router';\nimport { serializeHtmlWithAssets } from '../start/server/metro/serializeHtml';\nimport { getEntryWithServerRoot } from '../start/server/middleware/ManifestMiddleware';\nimport { getBaseUrlFromExpoConfig } from '../start/server/middleware/metroOptions';\nimport { createTemplateHtmlFromExpoConfigAsync } from '../start/server/webTemplate';\nimport { env } from '../utils/env';\nimport { CommandError } from '../utils/errors';\nimport { setNodeEnv } from '../utils/nodeEnv';\n\nexport async function exportAppAsync(\n projectRoot: string,\n {\n platforms,\n outputDir,\n clear,\n dev,\n dumpAssetmap,\n sourceMaps,\n minify,\n bytecode,\n maxWorkers,\n skipSSG,\n }: Pick<\n Options,\n | 'dumpAssetmap'\n | 'sourceMaps'\n | 'dev'\n | 'clear'\n | 'outputDir'\n | 'platforms'\n | 'minify'\n | 'bytecode'\n | 'maxWorkers'\n | 'skipSSG'\n >\n): Promise<void> {\n setNodeEnv(dev ? 'development' : 'production');\n require('@expo/env').load(projectRoot);\n\n const projectConfig = getConfig(projectRoot);\n const exp = await getPublicExpoManifestAsync(projectRoot, {\n // Web doesn't require validation.\n skipValidation: platforms.length === 1 && platforms[0] === 'web',\n });\n\n if (platforms.includes('web')) {\n await new WebSupportProjectPrerequisite(projectRoot).assertAsync();\n }\n\n const useServerRendering = ['static', 'server'].includes(exp.web?.output ?? '');\n\n if (skipSSG && exp.web?.output !== 'server') {\n throw new CommandError('--no-ssg can only be used with `web.output: server`');\n }\n\n const baseUrl = getBaseUrlFromExpoConfig(exp);\n\n if (!bytecode && (platforms.includes('ios') || platforms.includes('android'))) {\n Log.warn(\n `Bytecode makes the app startup faster, disabling bytecode is highly discouraged and should only be used for debugging purposes.`\n );\n }\n\n // Print out logs\n if (baseUrl) {\n Log.log();\n Log.log(chalk.gray`Using (experimental) base path: ${baseUrl}`);\n // Warn if not using an absolute path.\n if (!baseUrl.startsWith('/')) {\n Log.log(\n chalk.yellow` Base path does not start with a slash. Requests will not be absolute.`\n );\n }\n }\n\n const mode = dev ? 'development' : 'production';\n const publicPath = path.resolve(projectRoot, env.EXPO_PUBLIC_FOLDER);\n const outputPath = path.resolve(projectRoot, outputDir);\n\n // Write the JS bundles to disk, and get the bundle file names (this could change with async chunk loading support).\n\n const files: ExportAssetMap = new Map();\n\n const devServerManager = await DevServerManager.startMetroAsync(projectRoot, {\n minify,\n mode,\n port: 8081,\n isExporting: true,\n location: {},\n resetDevServer: clear,\n maxWorkers,\n });\n\n const devServer = devServerManager.getDefaultDevServer();\n assert(devServer instanceof MetroBundlerDevServer);\n\n const bundles: Partial<Record<Platform, BundleOutput>> = {};\n const domComponentAssetsMetadata: Partial<Record<Platform, PlatformMetadata['assets']>> = {};\n\n const spaPlatforms =\n // TODO: Support server and static rendering for server component exports.\n useServerRendering && !devServer.isReactServerComponentsEnabled\n ? platforms.filter((platform) => platform !== 'web')\n : platforms;\n\n try {\n if (devServer.isReactServerComponentsEnabled) {\n // In RSC mode, we only need these to be in the client dir.\n // TODO: Merge back with other copy after we add SSR.\n try {\n await copyPublicFolderAsync(publicPath, path.join(outputPath, 'client'));\n } catch (error) {\n Log.error('Failed to copy public directory to dist directory');\n throw error;\n }\n } else {\n // NOTE(kitten): The public folder is currently always copied, regardless of targetDomain\n // split. Hence, there's another separate `copyPublicFolderAsync` call below for `web`\n await copyPublicFolderAsync(publicPath, outputPath);\n }\n\n let templateHtml: string | undefined;\n // Can be empty during web-only SSG.\n if (spaPlatforms.length) {\n await Promise.all(\n spaPlatforms.map(async (platform) => {\n // Assert early so the user doesn't have to wait until bundling is complete to find out that\n // Hermes won't be available.\n const isHermes = isEnableHermesManaged(exp, platform);\n if (isHermes) {\n await assertEngineMismatchAsync(projectRoot, exp, platform);\n }\n\n // Run metro bundler and create the JS bundles/source maps.\n const bundle = await devServer.nativeExportBundleAsync(\n {\n platform,\n splitChunks:\n !env.EXPO_NO_BUNDLE_SPLITTING &&\n ((devServer.isReactServerComponentsEnabled && !bytecode) || platform === 'web'),\n mainModuleName: getEntryWithServerRoot(projectRoot, {\n platform,\n pkg: projectConfig.pkg,\n }),\n mode: dev ? 'development' : 'production',\n engine: isHermes ? 'hermes' : undefined,\n serializerIncludeMaps: sourceMaps,\n bytecode: bytecode && isHermes,\n reactCompiler: !!exp.experiments?.reactCompiler,\n },\n files\n );\n\n bundles[platform] = bundle;\n\n getFilesFromSerialAssets(bundle.artifacts, {\n includeSourceMaps: sourceMaps,\n files,\n isServerHosted: devServer.isReactServerComponentsEnabled,\n });\n\n // TODO: Remove duplicates...\n const expoDomComponentReferences = bundle.artifacts\n .map((artifact) =>\n Array.isArray(artifact.metadata.expoDomComponentReferences)\n ? artifact.metadata.expoDomComponentReferences\n : []\n )\n .flat();\n await Promise.all(\n // TODO: Make a version of this which uses `this.metro.getBundler().buildGraphForEntries([])` to bundle all the DOM components at once.\n expoDomComponentReferences.map(async (filePath) => {\n const { bundle: platformDomComponentsBundle, htmlOutputName } =\n await exportDomComponentAsync({\n filePath,\n projectRoot,\n dev,\n devServer,\n isHermes,\n includeSourceMaps: sourceMaps,\n exp,\n files,\n useMd5Filename: true,\n });\n\n // Merge the assets from the DOM component into the output assets.\n // @ts-expect-error: mutate assets\n bundle.assets.push(...platformDomComponentsBundle.assets);\n\n transformNativeBundleForMd5Filename({\n domComponentReference: filePath,\n nativeBundle: bundle,\n files,\n htmlOutputName,\n });\n domComponentAssetsMetadata[platform] = [\n ...(await addDomBundleToMetadataAsync(platformDomComponentsBundle)),\n ...transformDomEntryForMd5Filename({\n files,\n htmlOutputName,\n }),\n ];\n })\n );\n\n if (platform === 'web') {\n // TODO: Unify with exportStaticAsync\n // TODO: Maybe move to the serializer.\n let html = await serializeHtmlWithAssets({\n isExporting: true,\n resources: bundle.artifacts,\n template: await createTemplateHtmlFromExpoConfigAsync(projectRoot, {\n scripts: [],\n cssLinks: [],\n exp: projectConfig.exp,\n }),\n baseUrl,\n });\n\n // Add the favicon assets to the HTML.\n const modifyHtml = await getVirtualFaviconAssetsAsync(projectRoot, {\n outputDir,\n baseUrl,\n files,\n exp: projectConfig.exp,\n });\n if (modifyHtml) {\n html = modifyHtml(html);\n }\n\n // HACK: This is used for adding SSR shims in React Server Components.\n templateHtml = html;\n\n // Generate SPA-styled HTML file.\n // If web exists, then write the template HTML file.\n files.set('index.html', {\n contents: html,\n targetDomain: devServer.isReactServerComponentsEnabled ? 'server' : 'client',\n });\n }\n })\n );\n\n if (devServer.isReactServerComponentsEnabled) {\n const isWeb = platforms.includes('web');\n\n await exportApiRoutesStandaloneAsync(devServer, {\n files,\n platform: 'web',\n apiRoutesOnly: !isWeb,\n templateHtml,\n });\n }\n\n // TODO: Use same asset system across platforms again.\n const { assets, embeddedHashSet } = await exportAssetsAsync(projectRoot, {\n files,\n exp,\n outputDir: outputPath,\n bundles,\n baseUrl,\n });\n\n if (dumpAssetmap) {\n Log.log('Creating asset map');\n files.set('assetmap.json', { contents: JSON.stringify(createAssetMap({ assets })) });\n }\n\n const targetDomain = devServer.isReactServerComponentsEnabled ? 'client/' : '';\n const fileNames = Object.fromEntries(\n Object.entries(bundles).map(([platform, bundle]) => [\n platform,\n bundle.artifacts\n .filter((asset) => asset.type === 'js')\n .map((asset) => targetDomain + asset.filename),\n ])\n );\n\n // Generate a `metadata.json` for EAS Update.\n const contents = createMetadataJson({\n bundles,\n fileNames,\n embeddedHashSet,\n domComponentAssetsMetadata,\n });\n files.set('metadata.json', { contents: JSON.stringify(contents) });\n }\n\n // Additional web-only steps...\n\n if (platforms.includes('web') && useServerRendering) {\n const exportServer = exp.web?.output === 'server';\n\n if (exportServer) {\n // TODO: Remove when this is abstracted into the files map\n await copyPublicFolderAsync(publicPath, path.resolve(outputPath, 'client'));\n }\n\n if (skipSSG) {\n Log.log('Skipping static site generation');\n await exportApiRoutesStandaloneAsync(devServer, {\n files,\n platform: 'web',\n apiRoutesOnly: true,\n });\n\n // Output a placeholder index.html if one doesn't exist in the public directory.\n // This ensures native + API routes have some content at the root URL.\n const placeholderIndex = path.resolve(outputPath, 'client/index.html');\n if (!fs.existsSync(placeholderIndex)) {\n files.set('index.html', {\n contents: `<html><body></body></html>`,\n targetDomain: 'client',\n });\n }\n } else if (\n // TODO: Support static export with RSC.\n !devServer.isReactServerComponentsEnabled\n ) {\n await exportFromServerAsync(projectRoot, devServer, {\n mode,\n files,\n clear: !!clear,\n outputDir: outputPath,\n minify,\n baseUrl,\n includeSourceMaps: sourceMaps,\n routerRoot: getRouterDirectoryModuleIdWithManifest(projectRoot, exp),\n reactCompiler: !!exp.experiments?.reactCompiler,\n exportServer,\n maxWorkers,\n isExporting: true,\n exp: projectConfig.exp,\n });\n }\n }\n } finally {\n await devServerManager.stopAsync();\n }\n\n // Write all files at the end for unified logging.\n await persistMetroFilesAsync(files, outputPath);\n}\n"],"names":["exportAppAsync","projectRoot","platforms","outputDir","clear","dev","dumpAssetmap","sourceMaps","minify","bytecode","maxWorkers","skipSSG","exp","setNodeEnv","require","load","projectConfig","getConfig","getPublicExpoManifestAsync","skipValidation","length","includes","WebSupportProjectPrerequisite","assertAsync","useServerRendering","web","output","CommandError","baseUrl","getBaseUrlFromExpoConfig","Log","warn","log","chalk","gray","startsWith","yellow","mode","publicPath","path","resolve","env","EXPO_PUBLIC_FOLDER","outputPath","files","Map","devServerManager","DevServerManager","startMetroAsync","port","isExporting","location","resetDevServer","devServer","getDefaultDevServer","assert","MetroBundlerDevServer","bundles","domComponentAssetsMetadata","spaPlatforms","isReactServerComponentsEnabled","filter","platform","copyPublicFolderAsync","join","error","templateHtml","Promise","all","map","isHermes","isEnableHermesManaged","assertEngineMismatchAsync","bundle","nativeExportBundleAsync","splitChunks","EXPO_NO_BUNDLE_SPLITTING","mainModuleName","getEntryWithServerRoot","pkg","engine","undefined","serializerIncludeMaps","reactCompiler","experiments","getFilesFromSerialAssets","artifacts","includeSourceMaps","isServerHosted","expoDomComponentReferences","artifact","Array","isArray","metadata","flat","filePath","platformDomComponentsBundle","htmlOutputName","exportDomComponentAsync","useMd5Filename","assets","push","transformNativeBundleForMd5Filename","domComponentReference","nativeBundle","addDomBundleToMetadataAsync","transformDomEntryForMd5Filename","html","serializeHtmlWithAssets","resources","template","createTemplateHtmlFromExpoConfigAsync","scripts","cssLinks","modifyHtml","getVirtualFaviconAssetsAsync","set","contents","targetDomain","isWeb","exportApiRoutesStandaloneAsync","apiRoutesOnly","embeddedHashSet","exportAssetsAsync","JSON","stringify","createAssetMap","fileNames","Object","fromEntries","entries","asset","type","filename","createMetadataJson","exportServer","placeholderIndex","fs","existsSync","exportFromServerAsync","routerRoot","getRouterDirectoryModuleIdWithManifest","stopAsync","persistMetroFilesAsync"],"mappings":";;;;+BAyCsBA;;;eAAAA;;;;yBAzCI;;;;;;;gEAEP;;;;;;;gEACD;;;;;;;gEACH;;;;;;;gEACE;;;;;;oCAEyC;8BACxB;qCAM3B;8BAC0D;mCACK;yBACzB;uCACF;8BACL;4BAO/B;+BACwB;6DACV;+CACyB;kCACb;uCACK;wBACiB;+BACf;oCACD;8BACE;6BACa;qBAClC;wBACS;yBACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEpB,eAAeA,eACpBC,WAAmB,EACnB,EACEC,SAAS,EACTC,SAAS,EACTC,KAAK,EACLC,GAAG,EACHC,YAAY,EACZC,UAAU,EACVC,MAAM,EACNC,QAAQ,EACRC,UAAU,EACVC,OAAO,EAaR;QAewDC,UAE1CA;IAffC,IAAAA,mBAAU,EAACR,MAAM,gBAAgB;IACjCS,QAAQ,aAAaC,IAAI,CAACd;IAE1B,MAAMe,gBAAgBC,IAAAA,mBAAS,EAAChB;IAChC,MAAMW,MAAM,MAAMM,IAAAA,iDAA0B,EAACjB,aAAa;QACxD,kCAAkC;QAClCkB,gBAAgBjB,UAAUkB,MAAM,KAAK,KAAKlB,SAAS,CAAC,EAAE,KAAK;IAC7D;IAEA,IAAIA,UAAUmB,QAAQ,CAAC,QAAQ;QAC7B,MAAM,IAAIC,4DAA6B,CAACrB,aAAasB,WAAW;IAClE;IAEA,MAAMC,qBAAqB;QAAC;QAAU;KAAS,CAACH,QAAQ,CAACT,EAAAA,WAAAA,IAAIa,GAAG,qBAAPb,SAASc,MAAM,KAAI;IAE5E,IAAIf,WAAWC,EAAAA,YAAAA,IAAIa,GAAG,qBAAPb,UAASc,MAAM,MAAK,UAAU;QAC3C,MAAM,IAAIC,oBAAY,CAAC;IACzB;IAEA,MAAMC,UAAUC,IAAAA,sCAAwB,EAACjB;IAEzC,IAAI,CAACH,YAAaP,CAAAA,UAAUmB,QAAQ,CAAC,UAAUnB,UAAUmB,QAAQ,CAAC,UAAS,GAAI;QAC7ES,KAAIC,IAAI,CACN,CAAC,+HAA+H,CAAC;IAErI;IAEA,iBAAiB;IACjB,IAAIH,SAAS;QACXE,KAAIE,GAAG;QACPF,KAAIE,GAAG,CAACC,gBAAK,CAACC,IAAI,CAAC,gCAAgC,EAAEN,QAAQ,CAAC;QAC9D,sCAAsC;QACtC,IAAI,CAACA,QAAQO,UAAU,CAAC,MAAM;YAC5BL,KAAIE,GAAG,CACLC,gBAAK,CAACG,MAAM,CAAC,uEAAuE,CAAC;QAEzF;IACF;IAEA,MAAMC,OAAOhC,MAAM,gBAAgB;IACnC,MAAMiC,aAAaC,eAAI,CAACC,OAAO,CAACvC,aAAawC,QAAG,CAACC,kBAAkB;IACnE,MAAMC,aAAaJ,eAAI,CAACC,OAAO,CAACvC,aAAaE;IAE7C,oHAAoH;IAEpH,MAAMyC,QAAwB,IAAIC;IAElC,MAAMC,mBAAmB,MAAMC,kCAAgB,CAACC,eAAe,CAAC/C,aAAa;QAC3EO;QACA6B;QACAY,MAAM;QACNC,aAAa;QACbC,UAAU,CAAC;QACXC,gBAAgBhD;QAChBM;IACF;IAEA,MAAM2C,YAAYP,iBAAiBQ,mBAAmB;IACtDC,IAAAA,iBAAM,EAACF,qBAAqBG,4CAAqB;IAEjD,MAAMC,UAAmD,CAAC;IAC1D,MAAMC,6BAAoF,CAAC;IAE3F,MAAMC,eACJ,0EAA0E;IAC1EnC,sBAAsB,CAAC6B,UAAUO,8BAA8B,GAC3D1D,UAAU2D,MAAM,CAAC,CAACC,WAAaA,aAAa,SAC5C5D;IAEN,IAAI;QACF,IAAImD,UAAUO,8BAA8B,EAAE;YAC5C,2DAA2D;YAC3D,qDAAqD;YACrD,IAAI;gBACF,MAAMG,IAAAA,mCAAqB,EAACzB,YAAYC,eAAI,CAACyB,IAAI,CAACrB,YAAY;YAChE,EAAE,OAAOsB,OAAO;gBACdnC,KAAImC,KAAK,CAAC;gBACV,MAAMA;YACR;QACF,OAAO;YACL,yFAAyF;YACzF,sFAAsF;YACtF,MAAMF,IAAAA,mCAAqB,EAACzB,YAAYK;QAC1C;QAEA,IAAIuB;QACJ,oCAAoC;QACpC,IAAIP,aAAavC,MAAM,EAAE;YACvB,MAAM+C,QAAQC,GAAG,CACfT,aAAaU,GAAG,CAAC,OAAOP;oBAuBDlD;gBAtBrB,4FAA4F;gBAC5F,6BAA6B;gBAC7B,MAAM0D,WAAWC,IAAAA,mCAAqB,EAAC3D,KAAKkD;gBAC5C,IAAIQ,UAAU;oBACZ,MAAME,IAAAA,uCAAyB,EAACvE,aAAaW,KAAKkD;gBACpD;gBAEA,2DAA2D;gBAC3D,MAAMW,SAAS,MAAMpB,UAAUqB,uBAAuB,CACpD;oBACEZ;oBACAa,aACE,CAAClC,QAAG,CAACmC,wBAAwB,IAC5B,CAAA,AAACvB,UAAUO,8BAA8B,IAAI,CAACnD,YAAaqD,aAAa,KAAI;oBAC/Ee,gBAAgBC,IAAAA,0CAAsB,EAAC7E,aAAa;wBAClD6D;wBACAiB,KAAK/D,cAAc+D,GAAG;oBACxB;oBACA1C,MAAMhC,MAAM,gBAAgB;oBAC5B2E,QAAQV,WAAW,WAAWW;oBAC9BC,uBAAuB3E;oBACvBE,UAAUA,YAAY6D;oBACtBa,eAAe,CAAC,GAACvE,mBAAAA,IAAIwE,WAAW,qBAAfxE,iBAAiBuE,aAAa;gBACjD,GACAvC;gBAGFa,OAAO,CAACK,SAAS,GAAGW;gBAEpBY,IAAAA,oCAAwB,EAACZ,OAAOa,SAAS,EAAE;oBACzCC,mBAAmBhF;oBACnBqC;oBACA4C,gBAAgBnC,UAAUO,8BAA8B;gBAC1D;gBAEA,6BAA6B;gBAC7B,MAAM6B,6BAA6BhB,OAAOa,SAAS,CAChDjB,GAAG,CAAC,CAACqB,WACJC,MAAMC,OAAO,CAACF,SAASG,QAAQ,CAACJ,0BAA0B,IACtDC,SAASG,QAAQ,CAACJ,0BAA0B,GAC5C,EAAE,EAEPK,IAAI;gBACP,MAAM3B,QAAQC,GAAG,CACf,uIAAuI;gBACvIqB,2BAA2BpB,GAAG,CAAC,OAAO0B;oBACpC,MAAM,EAAEtB,QAAQuB,2BAA2B,EAAEC,cAAc,EAAE,GAC3D,MAAMC,IAAAA,4CAAuB,EAAC;wBAC5BH;wBACA9F;wBACAI;wBACAgD;wBACAiB;wBACAiB,mBAAmBhF;wBACnBK;wBACAgC;wBACAuD,gBAAgB;oBAClB;oBAEF,kEAAkE;oBAClE,kCAAkC;oBAClC1B,OAAO2B,MAAM,CAACC,IAAI,IAAIL,4BAA4BI,MAAM;oBAExDE,IAAAA,wDAAmC,EAAC;wBAClCC,uBAAuBR;wBACvBS,cAAc/B;wBACd7B;wBACAqD;oBACF;oBACAvC,0BAA0B,CAACI,SAAS,GAAG;2BACjC,MAAM2C,IAAAA,gDAA2B,EAACT;2BACnCU,IAAAA,oDAA+B,EAAC;4BACjC9D;4BACAqD;wBACF;qBACD;gBACH;gBAGF,IAAInC,aAAa,OAAO;oBACtB,qCAAqC;oBACrC,sCAAsC;oBACtC,IAAI6C,OAAO,MAAMC,IAAAA,sCAAuB,EAAC;wBACvC1D,aAAa;wBACb2D,WAAWpC,OAAOa,SAAS;wBAC3BwB,UAAU,MAAMC,IAAAA,kDAAqC,EAAC9G,aAAa;4BACjE+G,SAAS,EAAE;4BACXC,UAAU,EAAE;4BACZrG,KAAKI,cAAcJ,GAAG;wBACxB;wBACAgB;oBACF;oBAEA,sCAAsC;oBACtC,MAAMsF,aAAa,MAAMC,IAAAA,qCAA4B,EAAClH,aAAa;wBACjEE;wBACAyB;wBACAgB;wBACAhC,KAAKI,cAAcJ,GAAG;oBACxB;oBACA,IAAIsG,YAAY;wBACdP,OAAOO,WAAWP;oBACpB;oBAEA,sEAAsE;oBACtEzC,eAAeyC;oBAEf,iCAAiC;oBACjC,oDAAoD;oBACpD/D,MAAMwE,GAAG,CAAC,cAAc;wBACtBC,UAAUV;wBACVW,cAAcjE,UAAUO,8BAA8B,GAAG,WAAW;oBACtE;gBACF;YACF;YAGF,IAAIP,UAAUO,8BAA8B,EAAE;gBAC5C,MAAM2D,QAAQrH,UAAUmB,QAAQ,CAAC;gBAEjC,MAAMmG,IAAAA,iDAA8B,EAACnE,WAAW;oBAC9CT;oBACAkB,UAAU;oBACV2D,eAAe,CAACF;oBAChBrD;gBACF;YACF;YAEA,sDAAsD;YACtD,MAAM,EAAEkC,MAAM,EAAEsB,eAAe,EAAE,GAAG,MAAMC,IAAAA,+BAAiB,EAAC1H,aAAa;gBACvE2C;gBACAhC;gBACAT,WAAWwC;gBACXc;gBACA7B;YACF;YAEA,IAAItB,cAAc;gBAChBwB,KAAIE,GAAG,CAAC;gBACRY,MAAMwE,GAAG,CAAC,iBAAiB;oBAAEC,UAAUO,KAAKC,SAAS,CAACC,IAAAA,6BAAc,EAAC;wBAAE1B;oBAAO;gBAAI;YACpF;YAEA,MAAMkB,eAAejE,UAAUO,8BAA8B,GAAG,YAAY;YAC5E,MAAMmE,YAAYC,OAAOC,WAAW,CAClCD,OAAOE,OAAO,CAACzE,SAASY,GAAG,CAAC,CAAC,CAACP,UAAUW,OAAO,GAAK;oBAClDX;oBACAW,OAAOa,SAAS,CACbzB,MAAM,CAAC,CAACsE,QAAUA,MAAMC,IAAI,KAAK,MACjC/D,GAAG,CAAC,CAAC8D,QAAUb,eAAea,MAAME,QAAQ;iBAChD;YAGH,6CAA6C;YAC7C,MAAMhB,WAAWiB,IAAAA,sCAAkB,EAAC;gBAClC7E;gBACAsE;gBACAL;gBACAhE;YACF;YACAd,MAAMwE,GAAG,CAAC,iBAAiB;gBAAEC,UAAUO,KAAKC,SAAS,CAACR;YAAU;QAClE;QAEA,+BAA+B;QAE/B,IAAInH,UAAUmB,QAAQ,CAAC,UAAUG,oBAAoB;gBAC9BZ;YAArB,MAAM2H,eAAe3H,EAAAA,YAAAA,IAAIa,GAAG,qBAAPb,UAASc,MAAM,MAAK;YAEzC,IAAI6G,cAAc;gBAChB,0DAA0D;gBAC1D,MAAMxE,IAAAA,mCAAqB,EAACzB,YAAYC,eAAI,CAACC,OAAO,CAACG,YAAY;YACnE;YAEA,IAAIhC,SAAS;gBACXmB,KAAIE,GAAG,CAAC;gBACR,MAAMwF,IAAAA,iDAA8B,EAACnE,WAAW;oBAC9CT;oBACAkB,UAAU;oBACV2D,eAAe;gBACjB;gBAEA,gFAAgF;gBAChF,sEAAsE;gBACtE,MAAMe,mBAAmBjG,eAAI,CAACC,OAAO,CAACG,YAAY;gBAClD,IAAI,CAAC8F,aAAE,CAACC,UAAU,CAACF,mBAAmB;oBACpC5F,MAAMwE,GAAG,CAAC,cAAc;wBACtBC,UAAU,CAAC,0BAA0B,CAAC;wBACtCC,cAAc;oBAChB;gBACF;YACF,OAAO,IACL,wCAAwC;YACxC,CAACjE,UAAUO,8BAA8B,EACzC;oBAUmBhD;gBATnB,MAAM+H,IAAAA,wCAAqB,EAAC1I,aAAaoD,WAAW;oBAClDhB;oBACAO;oBACAxC,OAAO,CAAC,CAACA;oBACTD,WAAWwC;oBACXnC;oBACAoB;oBACA2D,mBAAmBhF;oBACnBqI,YAAYC,IAAAA,8CAAsC,EAAC5I,aAAaW;oBAChEuE,eAAe,CAAC,GAACvE,mBAAAA,IAAIwE,WAAW,qBAAfxE,iBAAiBuE,aAAa;oBAC/CoD;oBACA7H;oBACAwC,aAAa;oBACbtC,KAAKI,cAAcJ,GAAG;gBACxB;YACF;QACF;IACF,SAAU;QACR,MAAMkC,iBAAiBgG,SAAS;IAClC;IAEA,kDAAkD;IAClD,MAAMC,IAAAA,kCAAsB,EAACnG,OAAOD;AACtC"}
|
|
1
|
+
{"version":3,"sources":["../../../src/export/exportApp.ts"],"sourcesContent":["import { getConfig } from '@expo/config';\nimport type { Platform } from '@expo/config';\nimport assert from 'assert';\nimport chalk from 'chalk';\nimport fs from 'fs';\nimport path from 'path';\n\nimport { type PlatformMetadata, createMetadataJson } from './createMetadataJson';\nimport { exportAssetsAsync } from './exportAssets';\nimport {\n addDomBundleToMetadataAsync,\n exportDomComponentAsync,\n transformNativeBundleForMd5Filename,\n transformDomEntryForMd5Filename,\n} from './exportDomComponents';\nimport { assertEngineMismatchAsync, isEnableHermesManaged } from './exportHermes';\nimport { exportApiRoutesStandaloneAsync, exportFromServerAsync } from './exportStaticAsync';\nimport { getVirtualFaviconAssetsAsync } from './favicon';\nimport { getPublicExpoManifestAsync } from './getPublicExpoManifest';\nimport { copyPublicFolderAsync } from './publicFolder';\nimport { Options } from './resolveOptions';\nimport {\n ExportAssetMap,\n BundleOutput,\n getFilesFromSerialAssets,\n persistMetroFilesAsync,\n} from './saveAssets';\nimport { createAssetMap } from './writeContents';\nimport * as Log from '../log';\nimport { WebSupportProjectPrerequisite } from '../start/doctor/web/WebSupportProjectPrerequisite';\nimport { DevServerManager } from '../start/server/DevServerManager';\nimport { MetroBundlerDevServer } from '../start/server/metro/MetroBundlerDevServer';\nimport { getRouterDirectoryModuleIdWithManifest } from '../start/server/metro/router';\nimport { serializeHtmlWithAssets } from '../start/server/metro/serializeHtml';\nimport { getEntryWithServerRoot } from '../start/server/middleware/ManifestMiddleware';\nimport { getBaseUrlFromExpoConfig } from '../start/server/middleware/metroOptions';\nimport { createTemplateHtmlFromExpoConfigAsync } from '../start/server/webTemplate';\nimport { env } from '../utils/env';\nimport { CommandError } from '../utils/errors';\nimport { setNodeEnv } from '../utils/nodeEnv';\n\nexport async function exportAppAsync(\n projectRoot: string,\n {\n platforms,\n outputDir,\n clear,\n dev,\n dumpAssetmap,\n sourceMaps,\n minify,\n bytecode,\n maxWorkers,\n skipSSG,\n }: Pick<\n Options,\n | 'dumpAssetmap'\n | 'sourceMaps'\n | 'dev'\n | 'clear'\n | 'outputDir'\n | 'platforms'\n | 'minify'\n | 'bytecode'\n | 'maxWorkers'\n | 'skipSSG'\n >\n): Promise<void> {\n setNodeEnv(dev ? 'development' : 'production');\n require('@expo/env').load(projectRoot);\n\n const projectConfig = getConfig(projectRoot);\n const exp = await getPublicExpoManifestAsync(projectRoot, {\n // Web doesn't require validation.\n skipValidation: platforms.length === 1 && platforms[0] === 'web',\n });\n\n if (platforms.includes('web')) {\n await new WebSupportProjectPrerequisite(projectRoot).assertAsync();\n }\n\n const useServerRendering = ['static', 'server'].includes(exp.web?.output ?? '');\n\n if (skipSSG && exp.web?.output !== 'server') {\n throw new CommandError('--no-ssg can only be used with `web.output: server`');\n }\n\n const baseUrl = getBaseUrlFromExpoConfig(exp);\n\n if (!bytecode && (platforms.includes('ios') || platforms.includes('android'))) {\n Log.warn(\n `Bytecode makes the app startup faster, disabling bytecode is highly discouraged and should only be used for debugging purposes.`\n );\n }\n\n // Print out logs\n if (baseUrl) {\n Log.log();\n Log.log(chalk.gray`Using (experimental) base path: ${baseUrl}`);\n // Warn if not using an absolute path.\n if (!baseUrl.startsWith('/')) {\n Log.log(\n chalk.yellow` Base path does not start with a slash. Requests will not be absolute.`\n );\n }\n }\n\n const mode = dev ? 'development' : 'production';\n const publicPath = path.resolve(projectRoot, env.EXPO_PUBLIC_FOLDER);\n const outputPath = path.resolve(projectRoot, outputDir);\n\n // Write the JS bundles to disk, and get the bundle file names (this could change with async chunk loading support).\n\n const files: ExportAssetMap = new Map();\n\n const devServerManager = await DevServerManager.startMetroAsync(projectRoot, {\n minify,\n mode,\n port: 8081,\n isExporting: true,\n location: {},\n resetDevServer: clear,\n maxWorkers,\n });\n\n const devServer = devServerManager.getDefaultDevServer();\n assert(devServer instanceof MetroBundlerDevServer);\n\n const bundles: Partial<Record<Platform, BundleOutput>> = {};\n const domComponentAssetsMetadata: Partial<Record<Platform, PlatformMetadata['assets']>> = {};\n\n const spaPlatforms =\n // TODO: Support server and static rendering for server component exports.\n useServerRendering && !devServer.isReactServerComponentsEnabled\n ? platforms.filter((platform) => platform !== 'web')\n : platforms;\n\n try {\n if (devServer.isReactServerComponentsEnabled) {\n // In RSC mode, we only need these to be in the client dir.\n // TODO: Merge back with other copy after we add SSR.\n try {\n await copyPublicFolderAsync(publicPath, path.join(outputPath, 'client'));\n } catch (error) {\n Log.error('Failed to copy public directory to dist directory');\n throw error;\n }\n } else {\n // NOTE(kitten): The public folder is currently always copied, regardless of targetDomain\n // split. Hence, there's another separate `copyPublicFolderAsync` call below for `web`\n await copyPublicFolderAsync(publicPath, outputPath);\n }\n\n let templateHtml: string | undefined;\n // Can be empty during web-only SSG.\n if (spaPlatforms.length) {\n await Promise.all(\n spaPlatforms.map(async (platform) => {\n // Assert early so the user doesn't have to wait until bundling is complete to find out that\n // Hermes won't be available.\n const isHermes = isEnableHermesManaged(exp, platform);\n if (isHermes) {\n await assertEngineMismatchAsync(projectRoot, exp, platform);\n }\n\n // Run metro bundler and create the JS bundles/source maps.\n const bundle = await devServer.nativeExportBundleAsync(\n {\n platform,\n splitChunks:\n !env.EXPO_NO_BUNDLE_SPLITTING &&\n ((devServer.isReactServerComponentsEnabled && !bytecode) || platform === 'web'),\n mainModuleName: getEntryWithServerRoot(projectRoot, {\n platform,\n pkg: projectConfig.pkg,\n }),\n mode: dev ? 'development' : 'production',\n engine: isHermes ? 'hermes' : undefined,\n serializerIncludeMaps: sourceMaps,\n bytecode: bytecode && isHermes,\n reactCompiler: !!exp.experiments?.reactCompiler,\n },\n files\n );\n\n bundles[platform] = bundle;\n\n getFilesFromSerialAssets(bundle.artifacts, {\n includeSourceMaps: sourceMaps,\n files,\n isServerHosted: devServer.isReactServerComponentsEnabled,\n });\n\n // TODO: Remove duplicates...\n const expoDomComponentReferences = bundle.artifacts\n .map((artifact) =>\n Array.isArray(artifact.metadata.expoDomComponentReferences)\n ? artifact.metadata.expoDomComponentReferences\n : []\n )\n .flat();\n await Promise.all(\n // TODO: Make a version of this which uses `this.metro.getBundler().buildGraphForEntries([])` to bundle all the DOM components at once.\n expoDomComponentReferences.map(async (filePath) => {\n const { bundle: platformDomComponentsBundle, htmlOutputName } =\n await exportDomComponentAsync({\n filePath,\n projectRoot,\n dev,\n devServer,\n isHermes,\n includeSourceMaps: sourceMaps,\n exp,\n files,\n useMd5Filename: true,\n });\n\n // Merge the assets from the DOM component into the output assets.\n // @ts-expect-error: mutate assets\n bundle.assets.push(...platformDomComponentsBundle.assets);\n\n transformNativeBundleForMd5Filename({\n domComponentReference: filePath,\n nativeBundle: bundle,\n files,\n htmlOutputName,\n });\n domComponentAssetsMetadata[platform] = [\n ...(await addDomBundleToMetadataAsync(platformDomComponentsBundle)),\n ...transformDomEntryForMd5Filename({\n files,\n htmlOutputName,\n }),\n ];\n })\n );\n\n if (platform === 'web') {\n // TODO: Unify with exportStaticAsync\n // TODO: Maybe move to the serializer.\n let html = await serializeHtmlWithAssets({\n isExporting: true,\n resources: bundle.artifacts,\n template: await createTemplateHtmlFromExpoConfigAsync(projectRoot, {\n scripts: [],\n cssLinks: [],\n exp: projectConfig.exp,\n }),\n baseUrl,\n });\n\n // Add the favicon assets to the HTML.\n const modifyHtml = await getVirtualFaviconAssetsAsync(projectRoot, {\n outputDir,\n baseUrl,\n files,\n exp: projectConfig.exp,\n });\n if (modifyHtml) {\n html = modifyHtml(html);\n }\n\n // HACK: This is used for adding SSR shims in React Server Components.\n templateHtml = html;\n\n // Generate SPA-styled HTML file.\n // If web exists, then write the template HTML file.\n files.set('index.html', {\n contents: html,\n targetDomain: devServer.isReactServerComponentsEnabled ? 'server' : 'client',\n });\n }\n })\n );\n\n if (devServer.isReactServerComponentsEnabled) {\n const isWeb = platforms.includes('web');\n\n await exportApiRoutesStandaloneAsync(devServer, {\n files,\n platform: 'web',\n apiRoutesOnly: !isWeb,\n templateHtml,\n });\n }\n\n // TODO: Use same asset system across platforms again.\n const { assets, embeddedHashSet } = await exportAssetsAsync(projectRoot, {\n files,\n exp,\n outputDir: outputPath,\n bundles,\n baseUrl,\n });\n\n if (dumpAssetmap) {\n Log.log('Creating asset map');\n files.set('assetmap.json', { contents: JSON.stringify(createAssetMap({ assets })) });\n }\n\n const targetDomain = devServer.isReactServerComponentsEnabled ? 'client/' : '';\n const fileNames = Object.fromEntries(\n Object.entries(bundles).map(([platform, bundle]) => [\n platform,\n bundle.artifacts\n .filter((asset) => asset.type === 'js')\n .map((asset) => targetDomain + asset.filename),\n ])\n );\n\n // Generate a `metadata.json` for EAS Update.\n const contents = createMetadataJson({\n bundles,\n fileNames,\n embeddedHashSet,\n domComponentAssetsMetadata,\n });\n files.set('metadata.json', { contents: JSON.stringify(contents) });\n }\n\n // Additional web-only steps...\n\n if (platforms.includes('web') && useServerRendering) {\n const exportServer = exp.web?.output === 'server';\n\n if (exportServer) {\n // TODO: Remove when this is abstracted into the files map\n await copyPublicFolderAsync(publicPath, path.resolve(outputPath, 'client'));\n }\n\n if (skipSSG) {\n Log.log('Skipping static site generation');\n await exportApiRoutesStandaloneAsync(devServer, {\n files,\n platform: 'web',\n apiRoutesOnly: true,\n });\n\n // Output a placeholder index.html if one doesn't exist in the public directory.\n // This ensures native + API routes have some content at the root URL.\n const placeholderIndex = path.resolve(outputPath, 'client/index.html');\n if (!fs.existsSync(placeholderIndex)) {\n files.set('index.html', {\n contents: `<html><body></body></html>`,\n targetDomain: 'client',\n });\n }\n } else if (\n // TODO: Support static export with RSC.\n !devServer.isReactServerComponentsEnabled\n ) {\n await exportFromServerAsync(projectRoot, devServer, {\n mode,\n files,\n clear: !!clear,\n outputDir: outputPath,\n minify,\n baseUrl,\n includeSourceMaps: sourceMaps,\n routerRoot: getRouterDirectoryModuleIdWithManifest(projectRoot, exp),\n reactCompiler: !!exp.experiments?.reactCompiler,\n exportServer,\n maxWorkers,\n isExporting: true,\n exp: projectConfig.exp,\n });\n }\n }\n } finally {\n await devServerManager.stopAsync();\n }\n\n // Write all files at the end for unified logging.\n await persistMetroFilesAsync(files, outputPath);\n}\n"],"names":["exportAppAsync","projectRoot","platforms","outputDir","clear","dev","dumpAssetmap","sourceMaps","minify","bytecode","maxWorkers","skipSSG","exp","setNodeEnv","require","load","projectConfig","getConfig","getPublicExpoManifestAsync","skipValidation","length","includes","WebSupportProjectPrerequisite","assertAsync","useServerRendering","web","output","CommandError","baseUrl","getBaseUrlFromExpoConfig","Log","warn","log","chalk","gray","startsWith","yellow","mode","publicPath","path","resolve","env","EXPO_PUBLIC_FOLDER","outputPath","files","Map","devServerManager","DevServerManager","startMetroAsync","port","isExporting","location","resetDevServer","devServer","getDefaultDevServer","assert","MetroBundlerDevServer","bundles","domComponentAssetsMetadata","spaPlatforms","isReactServerComponentsEnabled","filter","platform","copyPublicFolderAsync","join","error","templateHtml","Promise","all","map","isHermes","isEnableHermesManaged","assertEngineMismatchAsync","bundle","nativeExportBundleAsync","splitChunks","EXPO_NO_BUNDLE_SPLITTING","mainModuleName","getEntryWithServerRoot","pkg","engine","undefined","serializerIncludeMaps","reactCompiler","experiments","getFilesFromSerialAssets","artifacts","includeSourceMaps","isServerHosted","expoDomComponentReferences","artifact","Array","isArray","metadata","flat","filePath","platformDomComponentsBundle","htmlOutputName","exportDomComponentAsync","useMd5Filename","assets","push","transformNativeBundleForMd5Filename","domComponentReference","nativeBundle","addDomBundleToMetadataAsync","transformDomEntryForMd5Filename","html","serializeHtmlWithAssets","resources","template","createTemplateHtmlFromExpoConfigAsync","scripts","cssLinks","modifyHtml","getVirtualFaviconAssetsAsync","set","contents","targetDomain","isWeb","exportApiRoutesStandaloneAsync","apiRoutesOnly","embeddedHashSet","exportAssetsAsync","JSON","stringify","createAssetMap","fileNames","Object","fromEntries","entries","asset","type","filename","createMetadataJson","exportServer","placeholderIndex","fs","existsSync","exportFromServerAsync","routerRoot","getRouterDirectoryModuleIdWithManifest","stopAsync","persistMetroFilesAsync"],"mappings":"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"}
|
|
@@ -9,42 +9,36 @@ function _export(target, all) {
|
|
|
9
9
|
});
|
|
10
10
|
}
|
|
11
11
|
_export(exports, {
|
|
12
|
-
assetPatternsToBeBundled:
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
exportAssetsAsync: function() {
|
|
16
|
-
return exportAssetsAsync;
|
|
17
|
-
},
|
|
18
|
-
resolveAssetPatternsToBeBundled: function() {
|
|
19
|
-
return resolveAssetPatternsToBeBundled;
|
|
20
|
-
}
|
|
12
|
+
assetPatternsToBeBundled: ()=>assetPatternsToBeBundled,
|
|
13
|
+
resolveAssetPatternsToBeBundled: ()=>resolveAssetPatternsToBeBundled,
|
|
14
|
+
exportAssetsAsync: ()=>exportAssetsAsync
|
|
21
15
|
});
|
|
22
16
|
function _fs() {
|
|
23
|
-
const data = /*#__PURE__*/
|
|
17
|
+
const data = /*#__PURE__*/ _interopRequireDefault(require("fs"));
|
|
24
18
|
_fs = function() {
|
|
25
19
|
return data;
|
|
26
20
|
};
|
|
27
21
|
return data;
|
|
28
22
|
}
|
|
29
23
|
function _minimatch() {
|
|
30
|
-
const data = /*#__PURE__*/
|
|
24
|
+
const data = /*#__PURE__*/ _interopRequireDefault(require("minimatch"));
|
|
31
25
|
_minimatch = function() {
|
|
32
26
|
return data;
|
|
33
27
|
};
|
|
34
28
|
return data;
|
|
35
29
|
}
|
|
36
30
|
function _path() {
|
|
37
|
-
const data = /*#__PURE__*/
|
|
31
|
+
const data = /*#__PURE__*/ _interopRequireDefault(require("path"));
|
|
38
32
|
_path = function() {
|
|
39
33
|
return data;
|
|
40
34
|
};
|
|
41
35
|
return data;
|
|
42
36
|
}
|
|
43
37
|
const _persistMetroAssets = require("./persistMetroAssets");
|
|
44
|
-
const _log = /*#__PURE__*/
|
|
38
|
+
const _log = /*#__PURE__*/ _interopRequireWildcard(require("../log"));
|
|
45
39
|
const _resolveAssets = require("../start/server/middleware/resolveAssets");
|
|
46
40
|
const _array = require("../utils/array");
|
|
47
|
-
function
|
|
41
|
+
function _interopRequireDefault(obj) {
|
|
48
42
|
return obj && obj.__esModule ? obj : {
|
|
49
43
|
default: obj
|
|
50
44
|
};
|
|
@@ -57,7 +51,7 @@ function _getRequireWildcardCache(nodeInterop) {
|
|
|
57
51
|
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
|
58
52
|
})(nodeInterop);
|
|
59
53
|
}
|
|
60
|
-
function
|
|
54
|
+
function _interopRequireWildcard(obj, nodeInterop) {
|
|
61
55
|
if (!nodeInterop && obj && obj.__esModule) {
|
|
62
56
|
return obj;
|
|
63
57
|
}
|
|
@@ -70,9 +64,7 @@ function _interop_require_wildcard(obj, nodeInterop) {
|
|
|
70
64
|
if (cache && cache.has(obj)) {
|
|
71
65
|
return cache.get(obj);
|
|
72
66
|
}
|
|
73
|
-
var newObj = {
|
|
74
|
-
__proto__: null
|
|
75
|
-
};
|
|
67
|
+
var newObj = {};
|
|
76
68
|
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
77
69
|
for(var key in obj){
|
|
78
70
|
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
@@ -90,18 +82,18 @@ function _interop_require_wildcard(obj, nodeInterop) {
|
|
|
90
82
|
}
|
|
91
83
|
return newObj;
|
|
92
84
|
}
|
|
93
|
-
const debug = require(
|
|
85
|
+
const debug = require("debug")("expo:export:exportAssets");
|
|
94
86
|
function mapAssetHashToAssetString(asset, hash) {
|
|
95
|
-
return
|
|
87
|
+
return "asset_" + hash + ("type" in asset && asset.type ? "." + asset.type : "");
|
|
96
88
|
}
|
|
97
89
|
function assetPatternsToBeBundled(exp) {
|
|
98
|
-
var
|
|
90
|
+
var ref, ref1, ref2, ref3, ref4;
|
|
99
91
|
// new location for this key
|
|
100
|
-
if ((
|
|
92
|
+
if ((ref = exp.updates) == null ? void 0 : (ref1 = ref.assetPatternsToBeBundled) == null ? void 0 : ref1.length) {
|
|
101
93
|
return exp.updates.assetPatternsToBeBundled;
|
|
102
94
|
}
|
|
103
95
|
// old, untyped location for this key. we may want to change this to throw in a few SDK versions (deprecated as of SDK 52).
|
|
104
|
-
if ((
|
|
96
|
+
if ((ref2 = exp.extra) == null ? void 0 : (ref3 = ref2.updates) == null ? void 0 : (ref4 = ref3.assetPatternsToBeBundled) == null ? void 0 : ref4.length) {
|
|
105
97
|
return exp.extra.updates.assetPatternsToBeBundled;
|
|
106
98
|
}
|
|
107
99
|
return undefined;
|
|
@@ -135,8 +127,8 @@ function assetPatternsToBeBundled(exp) {
|
|
|
135
127
|
const allBundledAssets = assets.map((asset)=>{
|
|
136
128
|
const shouldBundle = shouldBundleAsset(asset, fullPatterns);
|
|
137
129
|
if (shouldBundle) {
|
|
138
|
-
var
|
|
139
|
-
debug(`${shouldBundle ?
|
|
130
|
+
var ref;
|
|
131
|
+
debug(`${shouldBundle ? "Include" : "Exclude"} asset ${(ref = asset.files) == null ? void 0 : ref[0]}`);
|
|
140
132
|
return asset.fileHashes.map((hash)=>mapAssetHashToAssetString(asset, hash));
|
|
141
133
|
}
|
|
142
134
|
return [];
|
|
@@ -155,23 +147,23 @@ function resolveAssetPatternsToBeBundled(projectRoot, exp, assets) {
|
|
|
155
147
|
}
|
|
156
148
|
function logPatterns(patterns) {
|
|
157
149
|
// Only log the patterns in debug mode, if they aren't already defined in the app.json, then all files will be targeted.
|
|
158
|
-
_log.log(
|
|
159
|
-
patterns.forEach((p)=>_log.log(
|
|
150
|
+
_log.log("\nProcessing asset bundle patterns:");
|
|
151
|
+
patterns.forEach((p)=>_log.log("- " + p));
|
|
160
152
|
}
|
|
161
153
|
function shouldBundleAsset(asset, patterns) {
|
|
162
|
-
var
|
|
163
|
-
const file = (
|
|
164
|
-
return !!(
|
|
154
|
+
var ref;
|
|
155
|
+
const file = (ref = asset.files) == null ? void 0 : ref[0];
|
|
156
|
+
return !!("__packager_asset" in asset && asset.__packager_asset && file && patterns.some((pattern)=>(0, _minimatch().default)(file, pattern)));
|
|
165
157
|
}
|
|
166
|
-
async function exportAssetsAsync(projectRoot, { exp, outputDir, bundles: { web, ...bundles }, baseUrl, files =
|
|
167
|
-
var
|
|
158
|
+
async function exportAssetsAsync(projectRoot, { exp , outputDir , bundles: { web , ...bundles } , baseUrl , files =new Map() }) {
|
|
159
|
+
var ref;
|
|
168
160
|
// NOTE: We use a different system for static web
|
|
169
161
|
if (web) {
|
|
170
162
|
// Save assets like a typical bundler, preserving the file paths on web.
|
|
171
163
|
// TODO: Update React Native Web to support loading files from asset hashes.
|
|
172
164
|
await (0, _persistMetroAssets.persistMetroAssetsAsync)(projectRoot, web.assets, {
|
|
173
165
|
files,
|
|
174
|
-
platform:
|
|
166
|
+
platform: "web",
|
|
175
167
|
outputDirectory: outputDir,
|
|
176
168
|
baseUrl
|
|
177
169
|
});
|
|
@@ -180,7 +172,7 @@ async function exportAssetsAsync(projectRoot, { exp, outputDir, bundles: { web,
|
|
|
180
172
|
let bundledAssetsSet = undefined;
|
|
181
173
|
let filteredAssets = assets;
|
|
182
174
|
const embeddedHashSet = new Set();
|
|
183
|
-
if ((
|
|
175
|
+
if ((ref = assets[0]) == null ? void 0 : ref.fileHashes) {
|
|
184
176
|
debug(`Assets = ${JSON.stringify(assets, null, 2)}`);
|
|
185
177
|
// Updates the manifest to reflect additional asset bundling + configs
|
|
186
178
|
// Get only asset strings for assets we will save
|
|
@@ -207,7 +199,7 @@ async function exportAssetsAsync(projectRoot, { exp, outputDir, bundles: { web,
|
|
|
207
199
|
const hash = asset.fileHashes[index];
|
|
208
200
|
if (hashes.has(hash)) return;
|
|
209
201
|
hashes.add(hash);
|
|
210
|
-
files.set(_path().default.join(
|
|
202
|
+
files.set(_path().default.join("assets", hash), {
|
|
211
203
|
originFilename: _path().default.relative(projectRoot, fp),
|
|
212
204
|
contents: _fs().default.readFileSync(fp),
|
|
213
205
|
assetId
|