@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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/export/exportAssets.ts"],"sourcesContent":["import { ExpoConfig } from '@expo/config';\nimport fs from 'fs';\nimport minimatch from 'minimatch';\nimport path from 'path';\n\nimport { getAssetIdForLogGrouping, persistMetroAssetsAsync } from './persistMetroAssets';\nimport type { Asset, BundleAssetWithFileHashes, BundleOutput, ExportAssetMap } from './saveAssets';\nimport * as Log from '../log';\nimport { resolveGoogleServicesFile } from '../start/server/middleware/resolveAssets';\nimport { uniqBy } from '../utils/array';\n\nconst debug = require('debug')('expo:export:exportAssets') as typeof console.log;\n\nfunction mapAssetHashToAssetString(asset: Asset, hash: string) {\n return 'asset_' + hash + ('type' in asset && asset.type ? '.' + asset.type : '');\n}\n\nexport function assetPatternsToBeBundled(\n exp: ExpoConfig & { extra?: { updates?: { assetPatternsToBeBundled?: string[] } } }\n): string[] | undefined {\n // new location for this key\n if (exp.updates?.assetPatternsToBeBundled?.length) {\n return exp.updates.assetPatternsToBeBundled;\n }\n\n // old, untyped location for this key. we may want to change this to throw in a few SDK versions (deprecated as of SDK 52).\n if (exp.extra?.updates?.assetPatternsToBeBundled?.length) {\n return exp.extra.updates.assetPatternsToBeBundled;\n }\n\n return undefined;\n}\n\n/**\n * Given an asset and a set of strings representing the assets to be bundled, returns true if\n * the asset is part of the set to be bundled.\n * @param asset Asset object\n * @param bundledAssetsSet Set of strings\n * @returns true if the asset should be bundled\n */\nfunction assetShouldBeIncludedInExport(asset: Asset, bundledAssetsSet: Set<string> | undefined) {\n if (!bundledAssetsSet) {\n return true;\n }\n return (\n asset.fileHashes.filter((hash) => bundledAssetsSet.has(mapAssetHashToAssetString(asset, hash)))\n .length > 0\n );\n}\n\n/**\n * Computes a set of strings representing the assets to be bundled with an export, given an array of assets,\n * and a set of patterns to match\n * @param assets The asset array\n * @param assetPatternsToBeBundled An array of strings with glob patterns to match\n * @param projectRoot The project root\n * @returns A set of asset strings\n */\nfunction setOfAssetsToBeBundled(\n assets: Asset[],\n assetPatternsToBeBundled: string[],\n projectRoot: string\n): Set<string> | undefined {\n // Convert asset patterns to a list of asset strings that match them.\n // Assets strings are formatted as `asset_<hash>.<type>` and represent\n // the name that the file will have in the app bundle. The `asset_` prefix is\n // needed because android doesn't support assets that start with numbers.\n\n const fullPatterns: string[] = assetPatternsToBeBundled.map((p: string) =>\n path.join(projectRoot, p)\n );\n\n logPatterns(fullPatterns);\n\n const allBundledAssets = assets\n .map((asset) => {\n const shouldBundle = shouldBundleAsset(asset, fullPatterns);\n if (shouldBundle) {\n debug(`${shouldBundle ? 'Include' : 'Exclude'} asset ${asset.files?.[0]}`);\n return asset.fileHashes.map((hash) => mapAssetHashToAssetString(asset, hash));\n }\n return [];\n })\n .flat();\n\n // The assets returned by the RN packager has duplicates so make sure we\n // only bundle each once.\n return new Set(allBundledAssets);\n}\n\n/**\n * Resolves the assetBundlePatterns from the manifest and returns the set of assets to bundle.\n *\n * @modifies {exp}\n */\nexport function resolveAssetPatternsToBeBundled<T extends ExpoConfig>(\n projectRoot: string,\n exp: T,\n assets: Asset[]\n): Set<string> | undefined {\n const assetPatternsToBeBundledForConfig = assetPatternsToBeBundled(exp);\n if (!assetPatternsToBeBundledForConfig) {\n return undefined;\n }\n const bundledAssets = setOfAssetsToBeBundled(\n assets,\n assetPatternsToBeBundledForConfig,\n projectRoot\n );\n return bundledAssets;\n}\n\nfunction logPatterns(patterns: string[]) {\n // Only log the patterns in debug mode, if they aren't already defined in the app.json, then all files will be targeted.\n Log.log('\\nProcessing asset bundle patterns:');\n patterns.forEach((p) => Log.log('- ' + p));\n}\n\nfunction shouldBundleAsset(asset: Asset, patterns: string[]) {\n const file = asset.files?.[0];\n return !!(\n '__packager_asset' in asset &&\n asset.__packager_asset &&\n file &&\n patterns.some((pattern) => minimatch(file, pattern))\n );\n}\n\nexport async function exportAssetsAsync(\n projectRoot: string,\n {\n exp,\n outputDir,\n bundles: { web, ...bundles },\n baseUrl,\n files = new Map(),\n }: {\n exp: ExpoConfig;\n bundles: Partial<Record<string, BundleOutput>>;\n outputDir: string;\n baseUrl: string;\n files?: ExportAssetMap;\n }\n) {\n // NOTE: We use a different system for static web\n if (web) {\n // Save assets like a typical bundler, preserving the file paths on web.\n // TODO: Update React Native Web to support loading files from asset hashes.\n await persistMetroAssetsAsync(projectRoot, web.assets, {\n files,\n platform: 'web',\n outputDirectory: outputDir,\n baseUrl,\n });\n }\n\n const assets: BundleAssetWithFileHashes[] = uniqBy(\n Object.values(bundles).flatMap((bundle) => bundle!.assets),\n (asset) => asset.hash\n );\n\n let bundledAssetsSet: Set<string> | undefined = undefined;\n let filteredAssets = assets;\n const embeddedHashSet: Set<string> = new Set();\n\n if (assets[0]?.fileHashes) {\n debug(`Assets = ${JSON.stringify(assets, null, 2)}`);\n // Updates the manifest to reflect additional asset bundling + configs\n // Get only asset strings for assets we will save\n bundledAssetsSet = resolveAssetPatternsToBeBundled(projectRoot, exp, assets);\n if (bundledAssetsSet) {\n debug(`Bundled assets = ${JSON.stringify([...bundledAssetsSet], null, 2)}`);\n // Filter asset objects to only ones that include assetPatternsToBeBundled matches\n filteredAssets = assets.filter((asset) => {\n const shouldInclude = assetShouldBeIncludedInExport(asset, bundledAssetsSet);\n if (!shouldInclude) {\n embeddedHashSet.add(asset.hash);\n }\n return shouldInclude;\n });\n debug(`Filtered assets count = ${filteredAssets.length}`);\n }\n\n const hashes = new Set<string>();\n\n // Add assets to copy.\n filteredAssets.forEach((asset) => {\n const assetId = getAssetIdForLogGrouping(projectRoot, asset);\n\n asset.files.forEach((fp: string, index: number) => {\n const hash = asset.fileHashes[index];\n if (hashes.has(hash)) return;\n hashes.add(hash);\n files.set(path.join('assets', hash), {\n originFilename: path.relative(projectRoot, fp),\n contents: fs.readFileSync(fp),\n assetId,\n });\n });\n });\n }\n\n // Add google services file if it exists\n await resolveGoogleServicesFile(projectRoot, exp);\n\n return { exp, assets, embeddedHashSet, files };\n}\n"],"names":["assetPatternsToBeBundled","exportAssetsAsync","resolveAssetPatternsToBeBundled","debug","require","mapAssetHashToAssetString","asset","hash","type","exp","updates","length","extra","undefined","assetShouldBeIncludedInExport","bundledAssetsSet","fileHashes","filter","has","setOfAssetsToBeBundled","assets","projectRoot","fullPatterns","map","p","path","join","logPatterns","allBundledAssets","shouldBundle","shouldBundleAsset","files","flat","Set","assetPatternsToBeBundledForConfig","bundledAssets","patterns","Log","log","forEach","file","__packager_asset","some","pattern","minimatch","outputDir","bundles","web","baseUrl","Map","persistMetroAssetsAsync","platform","outputDirectory","uniqBy","Object","values","flatMap","bundle","filteredAssets","embeddedHashSet","JSON","stringify","shouldInclude","add","hashes","assetId","getAssetIdForLogGrouping","fp","index","set","originFilename","relative","contents","fs","readFileSync","resolveGoogleServicesFile"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../src/export/exportAssets.ts"],"sourcesContent":["import { ExpoConfig } from '@expo/config';\nimport fs from 'fs';\nimport minimatch from 'minimatch';\nimport path from 'path';\n\nimport { getAssetIdForLogGrouping, persistMetroAssetsAsync } from './persistMetroAssets';\nimport type { Asset, BundleAssetWithFileHashes, BundleOutput, ExportAssetMap } from './saveAssets';\nimport * as Log from '../log';\nimport { resolveGoogleServicesFile } from '../start/server/middleware/resolveAssets';\nimport { uniqBy } from '../utils/array';\n\nconst debug = require('debug')('expo:export:exportAssets') as typeof console.log;\n\nfunction mapAssetHashToAssetString(asset: Asset, hash: string) {\n return 'asset_' + hash + ('type' in asset && asset.type ? '.' + asset.type : '');\n}\n\nexport function assetPatternsToBeBundled(\n exp: ExpoConfig & { extra?: { updates?: { assetPatternsToBeBundled?: string[] } } }\n): string[] | undefined {\n // new location for this key\n if (exp.updates?.assetPatternsToBeBundled?.length) {\n return exp.updates.assetPatternsToBeBundled;\n }\n\n // old, untyped location for this key. we may want to change this to throw in a few SDK versions (deprecated as of SDK 52).\n if (exp.extra?.updates?.assetPatternsToBeBundled?.length) {\n return exp.extra.updates.assetPatternsToBeBundled;\n }\n\n return undefined;\n}\n\n/**\n * Given an asset and a set of strings representing the assets to be bundled, returns true if\n * the asset is part of the set to be bundled.\n * @param asset Asset object\n * @param bundledAssetsSet Set of strings\n * @returns true if the asset should be bundled\n */\nfunction assetShouldBeIncludedInExport(asset: Asset, bundledAssetsSet: Set<string> | undefined) {\n if (!bundledAssetsSet) {\n return true;\n }\n return (\n asset.fileHashes.filter((hash) => bundledAssetsSet.has(mapAssetHashToAssetString(asset, hash)))\n .length > 0\n );\n}\n\n/**\n * Computes a set of strings representing the assets to be bundled with an export, given an array of assets,\n * and a set of patterns to match\n * @param assets The asset array\n * @param assetPatternsToBeBundled An array of strings with glob patterns to match\n * @param projectRoot The project root\n * @returns A set of asset strings\n */\nfunction setOfAssetsToBeBundled(\n assets: Asset[],\n assetPatternsToBeBundled: string[],\n projectRoot: string\n): Set<string> | undefined {\n // Convert asset patterns to a list of asset strings that match them.\n // Assets strings are formatted as `asset_<hash>.<type>` and represent\n // the name that the file will have in the app bundle. The `asset_` prefix is\n // needed because android doesn't support assets that start with numbers.\n\n const fullPatterns: string[] = assetPatternsToBeBundled.map((p: string) =>\n path.join(projectRoot, p)\n );\n\n logPatterns(fullPatterns);\n\n const allBundledAssets = assets\n .map((asset) => {\n const shouldBundle = shouldBundleAsset(asset, fullPatterns);\n if (shouldBundle) {\n debug(`${shouldBundle ? 'Include' : 'Exclude'} asset ${asset.files?.[0]}`);\n return asset.fileHashes.map((hash) => mapAssetHashToAssetString(asset, hash));\n }\n return [];\n })\n .flat();\n\n // The assets returned by the RN packager has duplicates so make sure we\n // only bundle each once.\n return new Set(allBundledAssets);\n}\n\n/**\n * Resolves the assetBundlePatterns from the manifest and returns the set of assets to bundle.\n *\n * @modifies {exp}\n */\nexport function resolveAssetPatternsToBeBundled<T extends ExpoConfig>(\n projectRoot: string,\n exp: T,\n assets: Asset[]\n): Set<string> | undefined {\n const assetPatternsToBeBundledForConfig = assetPatternsToBeBundled(exp);\n if (!assetPatternsToBeBundledForConfig) {\n return undefined;\n }\n const bundledAssets = setOfAssetsToBeBundled(\n assets,\n assetPatternsToBeBundledForConfig,\n projectRoot\n );\n return bundledAssets;\n}\n\nfunction logPatterns(patterns: string[]) {\n // Only log the patterns in debug mode, if they aren't already defined in the app.json, then all files will be targeted.\n Log.log('\\nProcessing asset bundle patterns:');\n patterns.forEach((p) => Log.log('- ' + p));\n}\n\nfunction shouldBundleAsset(asset: Asset, patterns: string[]) {\n const file = asset.files?.[0];\n return !!(\n '__packager_asset' in asset &&\n asset.__packager_asset &&\n file &&\n patterns.some((pattern) => minimatch(file, pattern))\n );\n}\n\nexport async function exportAssetsAsync(\n projectRoot: string,\n {\n exp,\n outputDir,\n bundles: { web, ...bundles },\n baseUrl,\n files = new Map(),\n }: {\n exp: ExpoConfig;\n bundles: Partial<Record<string, BundleOutput>>;\n outputDir: string;\n baseUrl: string;\n files?: ExportAssetMap;\n }\n) {\n // NOTE: We use a different system for static web\n if (web) {\n // Save assets like a typical bundler, preserving the file paths on web.\n // TODO: Update React Native Web to support loading files from asset hashes.\n await persistMetroAssetsAsync(projectRoot, web.assets, {\n files,\n platform: 'web',\n outputDirectory: outputDir,\n baseUrl,\n });\n }\n\n const assets: BundleAssetWithFileHashes[] = uniqBy(\n Object.values(bundles).flatMap((bundle) => bundle!.assets),\n (asset) => asset.hash\n );\n\n let bundledAssetsSet: Set<string> | undefined = undefined;\n let filteredAssets = assets;\n const embeddedHashSet: Set<string> = new Set();\n\n if (assets[0]?.fileHashes) {\n debug(`Assets = ${JSON.stringify(assets, null, 2)}`);\n // Updates the manifest to reflect additional asset bundling + configs\n // Get only asset strings for assets we will save\n bundledAssetsSet = resolveAssetPatternsToBeBundled(projectRoot, exp, assets);\n if (bundledAssetsSet) {\n debug(`Bundled assets = ${JSON.stringify([...bundledAssetsSet], null, 2)}`);\n // Filter asset objects to only ones that include assetPatternsToBeBundled matches\n filteredAssets = assets.filter((asset) => {\n const shouldInclude = assetShouldBeIncludedInExport(asset, bundledAssetsSet);\n if (!shouldInclude) {\n embeddedHashSet.add(asset.hash);\n }\n return shouldInclude;\n });\n debug(`Filtered assets count = ${filteredAssets.length}`);\n }\n\n const hashes = new Set<string>();\n\n // Add assets to copy.\n filteredAssets.forEach((asset) => {\n const assetId = getAssetIdForLogGrouping(projectRoot, asset);\n\n asset.files.forEach((fp: string, index: number) => {\n const hash = asset.fileHashes[index];\n if (hashes.has(hash)) return;\n hashes.add(hash);\n files.set(path.join('assets', hash), {\n originFilename: path.relative(projectRoot, fp),\n contents: fs.readFileSync(fp),\n assetId,\n });\n });\n });\n }\n\n // Add google services file if it exists\n await resolveGoogleServicesFile(projectRoot, exp);\n\n return { exp, assets, embeddedHashSet, files };\n}\n"],"names":["assetPatternsToBeBundled","resolveAssetPatternsToBeBundled","exportAssetsAsync","debug","require","mapAssetHashToAssetString","asset","hash","type","exp","updates","length","extra","undefined","assetShouldBeIncludedInExport","bundledAssetsSet","fileHashes","filter","has","setOfAssetsToBeBundled","assets","projectRoot","fullPatterns","map","p","path","join","logPatterns","allBundledAssets","shouldBundle","shouldBundleAsset","files","flat","Set","assetPatternsToBeBundledForConfig","bundledAssets","patterns","Log","log","forEach","file","__packager_asset","some","pattern","minimatch","outputDir","bundles","web","baseUrl","Map","persistMetroAssetsAsync","platform","outputDirectory","uniqBy","Object","values","flatMap","bundle","filteredAssets","embeddedHashSet","JSON","stringify","shouldInclude","add","hashes","assetId","getAssetIdForLogGrouping","fp","index","set","originFilename","relative","contents","fs","readFileSync","resolveGoogleServicesFile"],"mappings":"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"}
|
|
@@ -4,31 +4,29 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
});
|
|
5
5
|
Object.defineProperty(exports, "exportAsync", {
|
|
6
6
|
enumerable: true,
|
|
7
|
-
get:
|
|
8
|
-
return exportAsync;
|
|
9
|
-
}
|
|
7
|
+
get: ()=>exportAsync
|
|
10
8
|
});
|
|
11
9
|
function _chalk() {
|
|
12
|
-
const data = /*#__PURE__*/
|
|
10
|
+
const data = /*#__PURE__*/ _interopRequireDefault(require("chalk"));
|
|
13
11
|
_chalk = function() {
|
|
14
12
|
return data;
|
|
15
13
|
};
|
|
16
14
|
return data;
|
|
17
15
|
}
|
|
18
16
|
function _path() {
|
|
19
|
-
const data = /*#__PURE__*/
|
|
17
|
+
const data = /*#__PURE__*/ _interopRequireDefault(require("path"));
|
|
20
18
|
_path = function() {
|
|
21
19
|
return data;
|
|
22
20
|
};
|
|
23
21
|
return data;
|
|
24
22
|
}
|
|
25
23
|
const _exportApp = require("./exportApp");
|
|
26
|
-
const _log = /*#__PURE__*/
|
|
24
|
+
const _log = /*#__PURE__*/ _interopRequireWildcard(require("../log"));
|
|
27
25
|
const _attachAtlas = require("../start/server/metro/debugging/attachAtlas");
|
|
28
|
-
const
|
|
26
|
+
const _fileNotifier = require("../utils/FileNotifier");
|
|
29
27
|
const _dir = require("../utils/dir");
|
|
30
28
|
const _exit = require("../utils/exit");
|
|
31
|
-
function
|
|
29
|
+
function _interopRequireDefault(obj) {
|
|
32
30
|
return obj && obj.__esModule ? obj : {
|
|
33
31
|
default: obj
|
|
34
32
|
};
|
|
@@ -41,7 +39,7 @@ function _getRequireWildcardCache(nodeInterop) {
|
|
|
41
39
|
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
|
42
40
|
})(nodeInterop);
|
|
43
41
|
}
|
|
44
|
-
function
|
|
42
|
+
function _interopRequireWildcard(obj, nodeInterop) {
|
|
45
43
|
if (!nodeInterop && obj && obj.__esModule) {
|
|
46
44
|
return obj;
|
|
47
45
|
}
|
|
@@ -54,9 +52,7 @@ function _interop_require_wildcard(obj, nodeInterop) {
|
|
|
54
52
|
if (cache && cache.has(obj)) {
|
|
55
53
|
return cache.get(obj);
|
|
56
54
|
}
|
|
57
|
-
var newObj = {
|
|
58
|
-
__proto__: null
|
|
59
|
-
};
|
|
55
|
+
var newObj = {};
|
|
60
56
|
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
61
57
|
for(var key in obj){
|
|
62
58
|
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
@@ -84,7 +80,7 @@ async function exportAsync(projectRoot, options) {
|
|
|
84
80
|
// Export the app
|
|
85
81
|
await (0, _exportApp.exportAppAsync)(projectRoot, options);
|
|
86
82
|
// Stop any file watchers to prevent the CLI from hanging.
|
|
87
|
-
|
|
83
|
+
_fileNotifier.FileNotifier.stopAll();
|
|
88
84
|
// Wait until Atlas is ready, when enabled
|
|
89
85
|
// NOTE(cedric): this is a workaround, remove when `process.exit` is removed
|
|
90
86
|
await (0, _attachAtlas.waitUntilAtlasExportIsReadyAsync)(projectRoot);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/export/exportAsync.ts"],"sourcesContent":["import chalk from 'chalk';\nimport path from 'path';\n\nimport { exportAppAsync } from './exportApp';\nimport { Options } from './resolveOptions';\nimport * as Log from '../log';\nimport { waitUntilAtlasExportIsReadyAsync } from '../start/server/metro/debugging/attachAtlas';\nimport { FileNotifier } from '../utils/FileNotifier';\nimport { ensureDirectoryAsync, removeAsync } from '../utils/dir';\nimport { ensureProcessExitsAfterDelay } from '../utils/exit';\n\nexport async function exportAsync(projectRoot: string, options: Options) {\n // Ensure the output directory is created\n const outputPath = path.resolve(projectRoot, options.outputDir);\n // Delete the output directory if it exists\n await removeAsync(outputPath);\n // Create the output directory\n await ensureDirectoryAsync(outputPath);\n\n // Export the app\n await exportAppAsync(projectRoot, options);\n\n // Stop any file watchers to prevent the CLI from hanging.\n FileNotifier.stopAll();\n // Wait until Atlas is ready, when enabled\n // NOTE(cedric): this is a workaround, remove when `process.exit` is removed\n await waitUntilAtlasExportIsReadyAsync(projectRoot);\n\n // Final notes\n Log.log(chalk.greenBright`Exported: ${options.outputDir}`);\n\n // Exit the process to stop any hanging processes from reading the app.config.js or server rendering.\n ensureProcessExitsAfterDelay();\n}\n"],"names":["exportAsync","projectRoot","options","outputPath","path","resolve","outputDir","removeAsync","ensureDirectoryAsync","exportAppAsync","FileNotifier","stopAll","waitUntilAtlasExportIsReadyAsync","Log","log","chalk","greenBright","ensureProcessExitsAfterDelay"],"mappings":";;;;+BAWsBA;;;
|
|
1
|
+
{"version":3,"sources":["../../../src/export/exportAsync.ts"],"sourcesContent":["import chalk from 'chalk';\nimport path from 'path';\n\nimport { exportAppAsync } from './exportApp';\nimport { Options } from './resolveOptions';\nimport * as Log from '../log';\nimport { waitUntilAtlasExportIsReadyAsync } from '../start/server/metro/debugging/attachAtlas';\nimport { FileNotifier } from '../utils/FileNotifier';\nimport { ensureDirectoryAsync, removeAsync } from '../utils/dir';\nimport { ensureProcessExitsAfterDelay } from '../utils/exit';\n\nexport async function exportAsync(projectRoot: string, options: Options) {\n // Ensure the output directory is created\n const outputPath = path.resolve(projectRoot, options.outputDir);\n // Delete the output directory if it exists\n await removeAsync(outputPath);\n // Create the output directory\n await ensureDirectoryAsync(outputPath);\n\n // Export the app\n await exportAppAsync(projectRoot, options);\n\n // Stop any file watchers to prevent the CLI from hanging.\n FileNotifier.stopAll();\n // Wait until Atlas is ready, when enabled\n // NOTE(cedric): this is a workaround, remove when `process.exit` is removed\n await waitUntilAtlasExportIsReadyAsync(projectRoot);\n\n // Final notes\n Log.log(chalk.greenBright`Exported: ${options.outputDir}`);\n\n // Exit the process to stop any hanging processes from reading the app.config.js or server rendering.\n ensureProcessExitsAfterDelay();\n}\n"],"names":["exportAsync","projectRoot","options","outputPath","path","resolve","outputDir","removeAsync","ensureDirectoryAsync","exportAppAsync","FileNotifier","stopAll","waitUntilAtlasExportIsReadyAsync","Log","log","chalk","greenBright","ensureProcessExitsAfterDelay"],"mappings":"AAAA;;;;+BAWsBA,aAAW;;aAAXA,WAAW;;;8DAXf,OAAO;;;;;;;8DACR,MAAM;;;;;;2BAEQ,aAAa;2DAEvB,QAAQ;6BACoB,6CAA6C;8BACjE,uBAAuB;qBACF,cAAc;sBACnB,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAErD,eAAeA,WAAW,CAACC,WAAmB,EAAEC,OAAgB,EAAE;IACvE,yCAAyC;IACzC,MAAMC,UAAU,GAAGC,KAAI,EAAA,QAAA,CAACC,OAAO,CAACJ,WAAW,EAAEC,OAAO,CAACI,SAAS,CAAC,AAAC;IAChE,2CAA2C;IAC3C,MAAMC,IAAAA,IAAW,YAAA,EAACJ,UAAU,CAAC,CAAC;IAC9B,8BAA8B;IAC9B,MAAMK,IAAAA,IAAoB,qBAAA,EAACL,UAAU,CAAC,CAAC;IAEvC,iBAAiB;IACjB,MAAMM,IAAAA,UAAc,eAAA,EAACR,WAAW,EAAEC,OAAO,CAAC,CAAC;IAE3C,0DAA0D;IAC1DQ,aAAY,aAAA,CAACC,OAAO,EAAE,CAAC;IACvB,0CAA0C;IAC1C,4EAA4E;IAC5E,MAAMC,IAAAA,YAAgC,iCAAA,EAACX,WAAW,CAAC,CAAC;IAEpD,cAAc;IACdY,IAAG,CAACC,GAAG,CAACC,MAAK,EAAA,QAAA,CAACC,WAAW,CAAC,UAAU,EAAEd,OAAO,CAACI,SAAS,CAAC,CAAC,CAAC,CAAC;IAE3D,qGAAqG;IACrGW,IAAAA,KAA4B,6BAAA,GAAE,CAAC;AACjC,CAAC"}
|
|
@@ -9,49 +9,41 @@ function _export(target, all) {
|
|
|
9
9
|
});
|
|
10
10
|
}
|
|
11
11
|
_export(exports, {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
return exportDomComponentAsync;
|
|
17
|
-
},
|
|
18
|
-
transformDomEntryForMd5Filename: function() {
|
|
19
|
-
return transformDomEntryForMd5Filename;
|
|
20
|
-
},
|
|
21
|
-
transformNativeBundleForMd5Filename: function() {
|
|
22
|
-
return transformNativeBundleForMd5Filename;
|
|
23
|
-
}
|
|
12
|
+
exportDomComponentAsync: ()=>exportDomComponentAsync,
|
|
13
|
+
addDomBundleToMetadataAsync: ()=>addDomBundleToMetadataAsync,
|
|
14
|
+
transformDomEntryForMd5Filename: ()=>transformDomEntryForMd5Filename,
|
|
15
|
+
transformNativeBundleForMd5Filename: ()=>transformNativeBundleForMd5Filename
|
|
24
16
|
});
|
|
25
17
|
function _assert() {
|
|
26
|
-
const data = /*#__PURE__*/
|
|
18
|
+
const data = /*#__PURE__*/ _interopRequireDefault(require("assert"));
|
|
27
19
|
_assert = function() {
|
|
28
20
|
return data;
|
|
29
21
|
};
|
|
30
22
|
return data;
|
|
31
23
|
}
|
|
32
24
|
function _crypto() {
|
|
33
|
-
const data = /*#__PURE__*/
|
|
25
|
+
const data = /*#__PURE__*/ _interopRequireDefault(require("crypto"));
|
|
34
26
|
_crypto = function() {
|
|
35
27
|
return data;
|
|
36
28
|
};
|
|
37
29
|
return data;
|
|
38
30
|
}
|
|
39
31
|
function _path() {
|
|
40
|
-
const data = /*#__PURE__*/
|
|
32
|
+
const data = /*#__PURE__*/ _interopRequireDefault(require("path"));
|
|
41
33
|
_path = function() {
|
|
42
34
|
return data;
|
|
43
35
|
};
|
|
44
36
|
return data;
|
|
45
37
|
}
|
|
46
|
-
function
|
|
47
|
-
const data = /*#__PURE__*/
|
|
48
|
-
|
|
38
|
+
function _resolveFrom() {
|
|
39
|
+
const data = /*#__PURE__*/ _interopRequireDefault(require("resolve-from"));
|
|
40
|
+
_resolveFrom = function() {
|
|
49
41
|
return data;
|
|
50
42
|
};
|
|
51
43
|
return data;
|
|
52
44
|
}
|
|
53
45
|
function _url() {
|
|
54
|
-
const data = /*#__PURE__*/
|
|
46
|
+
const data = /*#__PURE__*/ _interopRequireDefault(require("url"));
|
|
55
47
|
_url = function() {
|
|
56
48
|
return data;
|
|
57
49
|
};
|
|
@@ -59,53 +51,53 @@ function _url() {
|
|
|
59
51
|
}
|
|
60
52
|
const _saveAssets = require("./saveAssets");
|
|
61
53
|
const _serializeHtml = require("../start/server/metro/serializeHtml");
|
|
62
|
-
const
|
|
54
|
+
const _domComponentsMiddleware = require("../start/server/middleware/DomComponentsMiddleware");
|
|
63
55
|
const _env = require("../utils/env");
|
|
64
56
|
const _filePath = require("../utils/filePath");
|
|
65
|
-
function
|
|
57
|
+
function _interopRequireDefault(obj) {
|
|
66
58
|
return obj && obj.__esModule ? obj : {
|
|
67
59
|
default: obj
|
|
68
60
|
};
|
|
69
61
|
}
|
|
70
|
-
const debug = require(
|
|
71
|
-
async function exportDomComponentAsync({ filePath, projectRoot, dev, devServer, isHermes, includeSourceMaps, exp, files, useMd5Filename =
|
|
72
|
-
var
|
|
73
|
-
const virtualEntry = (0, _filePath.toPosixPath)((0,
|
|
74
|
-
debug(
|
|
62
|
+
const debug = require("debug")("expo:export:exportDomComponents");
|
|
63
|
+
async function exportDomComponentAsync({ filePath , projectRoot , dev , devServer , isHermes , includeSourceMaps , exp , files , useMd5Filename =false }) {
|
|
64
|
+
var ref;
|
|
65
|
+
const virtualEntry = (0, _filePath.toPosixPath)((0, _resolveFrom().default)(projectRoot, "expo/dom/entry.js"));
|
|
66
|
+
debug("Bundle DOM Component:", filePath);
|
|
75
67
|
// MUST MATCH THE BABEL PLUGIN!
|
|
76
|
-
const hash = _crypto().default.createHash(
|
|
77
|
-
const outputName = `${
|
|
78
|
-
const generatedEntryPath = (0, _filePath.toPosixPath)(filePath.startsWith(
|
|
79
|
-
const baseUrl = `/${
|
|
68
|
+
const hash = _crypto().default.createHash("md5").update(filePath).digest("hex");
|
|
69
|
+
const outputName = `${_domComponentsMiddleware.DOM_COMPONENTS_BUNDLE_DIR}/${hash}.html`;
|
|
70
|
+
const generatedEntryPath = (0, _filePath.toPosixPath)(filePath.startsWith("file://") ? _url().default.fileURLToPath(filePath) : filePath);
|
|
71
|
+
const baseUrl = `/${_domComponentsMiddleware.DOM_COMPONENTS_BUNDLE_DIR}`;
|
|
80
72
|
// The relative import path will be used like URI so it must be POSIX.
|
|
81
|
-
const relativeImport =
|
|
73
|
+
const relativeImport = "./" + _path().default.posix.relative(_path().default.dirname(virtualEntry), generatedEntryPath);
|
|
82
74
|
// Run metro bundler and create the JS bundles/source maps.
|
|
83
75
|
const bundle = await devServer.legacySinglePageExportBundleAsync({
|
|
84
|
-
platform:
|
|
76
|
+
platform: "web",
|
|
85
77
|
domRoot: encodeURI(relativeImport),
|
|
86
78
|
splitChunks: !_env.env.EXPO_NO_BUNDLE_SPLITTING,
|
|
87
79
|
mainModuleName: (0, _filePath.resolveRealEntryFilePath)(projectRoot, virtualEntry),
|
|
88
|
-
mode: dev ?
|
|
89
|
-
engine: isHermes ?
|
|
80
|
+
mode: dev ? "development" : "production",
|
|
81
|
+
engine: isHermes ? "hermes" : undefined,
|
|
90
82
|
serializerIncludeMaps: includeSourceMaps,
|
|
91
83
|
bytecode: false,
|
|
92
|
-
reactCompiler: !!((
|
|
93
|
-
baseUrl:
|
|
84
|
+
reactCompiler: !!((ref = exp.experiments) == null ? void 0 : ref.reactCompiler),
|
|
85
|
+
baseUrl: "./",
|
|
94
86
|
useMd5Filename,
|
|
95
87
|
// Minify may be false because it's skipped on native when Hermes is enabled, default to true.
|
|
96
88
|
minify: true
|
|
97
89
|
});
|
|
98
90
|
if (useMd5Filename) {
|
|
99
91
|
for (const artifact of bundle.artifacts){
|
|
100
|
-
const md5 = _crypto().default.createHash(
|
|
92
|
+
const md5 = _crypto().default.createHash("md5").update(artifact.source).digest("hex");
|
|
101
93
|
artifact.filename = `${md5}.${artifact.type}`;
|
|
102
94
|
}
|
|
103
95
|
}
|
|
104
96
|
const html = await (0, _serializeHtml.serializeHtmlWithAssets)({
|
|
105
97
|
isExporting: true,
|
|
106
98
|
resources: bundle.artifacts,
|
|
107
|
-
template: (0,
|
|
108
|
-
baseUrl:
|
|
99
|
+
template: (0, _domComponentsMiddleware.getDomComponentHtml)(),
|
|
100
|
+
baseUrl: "./"
|
|
109
101
|
});
|
|
110
102
|
const serialAssets = bundle.artifacts.map((a)=>{
|
|
111
103
|
return {
|
|
@@ -116,7 +108,7 @@ async function exportDomComponentAsync({ filePath, projectRoot, dev, devServer,
|
|
|
116
108
|
(0, _saveAssets.getFilesFromSerialAssets)(serialAssets, {
|
|
117
109
|
includeSourceMaps,
|
|
118
110
|
files,
|
|
119
|
-
platform:
|
|
111
|
+
platform: "web"
|
|
120
112
|
});
|
|
121
113
|
files.set(outputName, {
|
|
122
114
|
contents: html
|
|
@@ -129,44 +121,44 @@ async function exportDomComponentAsync({ filePath, projectRoot, dev, devServer,
|
|
|
129
121
|
function addDomBundleToMetadataAsync(bundle) {
|
|
130
122
|
const assetsMetadata = [];
|
|
131
123
|
for (const artifact of bundle.artifacts){
|
|
132
|
-
if (artifact.type ===
|
|
124
|
+
if (artifact.type === "map") {
|
|
133
125
|
continue;
|
|
134
126
|
}
|
|
135
127
|
assetsMetadata.push({
|
|
136
|
-
path: `${
|
|
128
|
+
path: `${_domComponentsMiddleware.DOM_COMPONENTS_BUNDLE_DIR}/${artifact.filename}`,
|
|
137
129
|
ext: artifact.type
|
|
138
130
|
});
|
|
139
131
|
}
|
|
140
132
|
return assetsMetadata;
|
|
141
133
|
}
|
|
142
|
-
function transformDomEntryForMd5Filename({ files, htmlOutputName
|
|
134
|
+
function transformDomEntryForMd5Filename({ files , htmlOutputName }) {
|
|
143
135
|
const htmlContent = files.get(htmlOutputName);
|
|
144
136
|
(0, _assert().default)(htmlContent);
|
|
145
|
-
const htmlMd5 = _crypto().default.createHash(
|
|
146
|
-
const htmlMd5Filename = `${
|
|
137
|
+
const htmlMd5 = _crypto().default.createHash("md5").update(htmlContent.contents.toString()).digest("hex");
|
|
138
|
+
const htmlMd5Filename = `${_domComponentsMiddleware.DOM_COMPONENTS_BUNDLE_DIR}/${htmlMd5}.html`;
|
|
147
139
|
files.set(htmlMd5Filename, htmlContent);
|
|
148
140
|
files.delete(htmlOutputName);
|
|
149
141
|
return [
|
|
150
142
|
{
|
|
151
143
|
path: htmlMd5Filename,
|
|
152
|
-
ext:
|
|
153
|
-
}
|
|
144
|
+
ext: "html"
|
|
145
|
+
},
|
|
154
146
|
];
|
|
155
147
|
}
|
|
156
|
-
function transformNativeBundleForMd5Filename({ domComponentReference, nativeBundle, files, htmlOutputName
|
|
148
|
+
function transformNativeBundleForMd5Filename({ domComponentReference , nativeBundle , files , htmlOutputName }) {
|
|
157
149
|
const htmlContent = files.get(htmlOutputName);
|
|
158
150
|
(0, _assert().default)(htmlContent);
|
|
159
|
-
const htmlMd5 = _crypto().default.createHash(
|
|
160
|
-
const hash = _crypto().default.createHash(
|
|
151
|
+
const htmlMd5 = _crypto().default.createHash("md5").update(htmlContent.contents.toString()).digest("hex");
|
|
152
|
+
const hash = _crypto().default.createHash("md5").update(domComponentReference).digest("hex");
|
|
161
153
|
for (const artifact of nativeBundle.artifacts){
|
|
162
|
-
if (artifact.type !==
|
|
154
|
+
if (artifact.type !== "js") {
|
|
163
155
|
continue;
|
|
164
156
|
}
|
|
165
157
|
const assetEntity = files.get(artifact.filename);
|
|
166
158
|
(0, _assert().default)(assetEntity);
|
|
167
159
|
if (Buffer.isBuffer(assetEntity.contents)) {
|
|
168
|
-
const searchBuffer = Buffer.from(`${hash}.html`,
|
|
169
|
-
const replaceBuffer = Buffer.from(`${htmlMd5}.html`,
|
|
160
|
+
const searchBuffer = Buffer.from(`${hash}.html`, "utf8");
|
|
161
|
+
const replaceBuffer = Buffer.from(`${htmlMd5}.html`, "utf8");
|
|
170
162
|
(0, _assert().default)(searchBuffer.length === replaceBuffer.length);
|
|
171
163
|
let index = assetEntity.contents.indexOf(searchBuffer, 0);
|
|
172
164
|
while(index !== -1){
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/export/exportDomComponents.ts"],"sourcesContent":["import type { ExpoConfig } from '@expo/config';\nimport assert from 'assert';\nimport crypto from 'crypto';\nimport path from 'path';\nimport resolveFrom from 'resolve-from';\nimport url from 'url';\n\nimport { type PlatformMetadata } from './createMetadataJson';\nimport { type BundleOutput, type ExportAssetMap, getFilesFromSerialAssets } from './saveAssets';\nimport { type MetroBundlerDevServer } from '../start/server/metro/MetroBundlerDevServer';\nimport { serializeHtmlWithAssets } from '../start/server/metro/serializeHtml';\nimport {\n getDomComponentHtml,\n DOM_COMPONENTS_BUNDLE_DIR,\n} from '../start/server/middleware/DomComponentsMiddleware';\nimport { env } from '../utils/env';\nimport { resolveRealEntryFilePath, toPosixPath } from '../utils/filePath';\n\nconst debug = require('debug')('expo:export:exportDomComponents') as typeof console.log;\n\n// TODO(EvanBacon): determine how to support DOM Components with hosting.\nexport async function exportDomComponentAsync({\n filePath,\n projectRoot,\n dev,\n devServer,\n isHermes,\n includeSourceMaps,\n exp,\n files,\n useMd5Filename = false,\n}: {\n filePath: string;\n projectRoot: string;\n dev: boolean;\n devServer: MetroBundlerDevServer;\n isHermes: boolean;\n includeSourceMaps: boolean;\n exp: ExpoConfig;\n files: ExportAssetMap;\n useMd5Filename?: boolean;\n}): Promise<{\n bundle: BundleOutput;\n htmlOutputName: string;\n}> {\n const virtualEntry = toPosixPath(resolveFrom(projectRoot, 'expo/dom/entry.js'));\n debug('Bundle DOM Component:', filePath);\n // MUST MATCH THE BABEL PLUGIN!\n const hash = crypto.createHash('md5').update(filePath).digest('hex');\n const outputName = `${DOM_COMPONENTS_BUNDLE_DIR}/${hash}.html`;\n const generatedEntryPath = toPosixPath(\n filePath.startsWith('file://') ? url.fileURLToPath(filePath) : filePath\n );\n const baseUrl = `/${DOM_COMPONENTS_BUNDLE_DIR}`;\n // The relative import path will be used like URI so it must be POSIX.\n const relativeImport = './' + path.posix.relative(path.dirname(virtualEntry), generatedEntryPath);\n // Run metro bundler and create the JS bundles/source maps.\n const bundle = await devServer.legacySinglePageExportBundleAsync({\n platform: 'web',\n domRoot: encodeURI(relativeImport),\n splitChunks: !env.EXPO_NO_BUNDLE_SPLITTING,\n mainModuleName: resolveRealEntryFilePath(projectRoot, virtualEntry),\n mode: dev ? 'development' : 'production',\n engine: isHermes ? 'hermes' : undefined,\n serializerIncludeMaps: includeSourceMaps,\n bytecode: false,\n reactCompiler: !!exp.experiments?.reactCompiler,\n baseUrl: './',\n useMd5Filename,\n // Minify may be false because it's skipped on native when Hermes is enabled, default to true.\n minify: true,\n });\n\n if (useMd5Filename) {\n for (const artifact of bundle.artifacts) {\n const md5 = crypto.createHash('md5').update(artifact.source).digest('hex');\n artifact.filename = `${md5}.${artifact.type}`;\n }\n }\n\n const html = await serializeHtmlWithAssets({\n isExporting: true,\n resources: bundle.artifacts,\n template: getDomComponentHtml(),\n baseUrl: './',\n });\n\n const serialAssets = bundle.artifacts.map((a) => {\n return {\n ...a,\n filename: path.join(baseUrl, a.filename),\n };\n });\n\n getFilesFromSerialAssets(serialAssets, {\n includeSourceMaps,\n files,\n platform: 'web',\n });\n\n files.set(outputName, {\n contents: html,\n });\n\n return {\n bundle,\n htmlOutputName: outputName,\n };\n}\n\n//#region `npx export` for updates\n\n/**\n * Add the DOM component bundle to the metadata for updates.\n */\nexport function addDomBundleToMetadataAsync(bundle: BundleOutput): PlatformMetadata['assets'] {\n const assetsMetadata: PlatformMetadata['assets'] = [];\n for (const artifact of bundle.artifacts) {\n if (artifact.type === 'map') {\n continue;\n }\n assetsMetadata.push({\n path: `${DOM_COMPONENTS_BUNDLE_DIR}/${artifact.filename}`,\n ext: artifact.type,\n });\n }\n return assetsMetadata;\n}\n\n/**\n * Transform the DOM component entry (*.html) to use MD5 filename by its content.\n */\nexport function transformDomEntryForMd5Filename({\n files,\n htmlOutputName,\n}: {\n files: ExportAssetMap;\n htmlOutputName: string;\n}): PlatformMetadata['assets'] {\n const htmlContent = files.get(htmlOutputName);\n assert(htmlContent);\n const htmlMd5 = crypto.createHash('md5').update(htmlContent.contents.toString()).digest('hex');\n const htmlMd5Filename = `${DOM_COMPONENTS_BUNDLE_DIR}/${htmlMd5}.html`;\n files.set(htmlMd5Filename, htmlContent);\n files.delete(htmlOutputName);\n return [\n {\n path: htmlMd5Filename,\n ext: 'html',\n },\n ];\n}\n\n/**\n * Post-transform the native bundle to use MD5 filename based on DOM component entry content.\n */\nexport function transformNativeBundleForMd5Filename({\n domComponentReference,\n nativeBundle,\n files,\n htmlOutputName,\n}: {\n domComponentReference: string;\n nativeBundle: BundleOutput;\n files: ExportAssetMap;\n htmlOutputName: string;\n}) {\n const htmlContent = files.get(htmlOutputName);\n assert(htmlContent);\n const htmlMd5 = crypto.createHash('md5').update(htmlContent.contents.toString()).digest('hex');\n const hash = crypto.createHash('md5').update(domComponentReference).digest('hex');\n for (const artifact of nativeBundle.artifacts) {\n if (artifact.type !== 'js') {\n continue;\n }\n const assetEntity = files.get(artifact.filename);\n assert(assetEntity);\n if (Buffer.isBuffer(assetEntity.contents)) {\n const searchBuffer = Buffer.from(`${hash}.html`, 'utf8');\n const replaceBuffer = Buffer.from(`${htmlMd5}.html`, 'utf8');\n assert(searchBuffer.length === replaceBuffer.length);\n let index = assetEntity.contents.indexOf(searchBuffer, 0);\n while (index !== -1) {\n replaceBuffer.copy(assetEntity.contents, index);\n index = assetEntity.contents.indexOf(searchBuffer, index + searchBuffer.length);\n }\n } else {\n const search = `${hash}.html`;\n const replace = `${htmlMd5}.html`;\n assert(search.length === replace.length);\n assetEntity.contents = assetEntity.contents.toString().replaceAll(search, replace);\n }\n }\n}\n\n//#endregion `npx export` for updates\n"],"names":["addDomBundleToMetadataAsync","exportDomComponentAsync","transformDomEntryForMd5Filename","transformNativeBundleForMd5Filename","debug","require","filePath","projectRoot","dev","devServer","isHermes","includeSourceMaps","exp","files","useMd5Filename","virtualEntry","toPosixPath","resolveFrom","hash","crypto","createHash","update","digest","outputName","DOM_COMPONENTS_BUNDLE_DIR","generatedEntryPath","startsWith","url","fileURLToPath","baseUrl","relativeImport","path","posix","relative","dirname","bundle","legacySinglePageExportBundleAsync","platform","domRoot","encodeURI","splitChunks","env","EXPO_NO_BUNDLE_SPLITTING","mainModuleName","resolveRealEntryFilePath","mode","engine","undefined","serializerIncludeMaps","bytecode","reactCompiler","experiments","minify","artifact","artifacts","md5","source","filename","type","html","serializeHtmlWithAssets","isExporting","resources","template","getDomComponentHtml","serialAssets","map","a","join","getFilesFromSerialAssets","set","contents","htmlOutputName","assetsMetadata","push","ext","htmlContent","get","assert","htmlMd5","toString","htmlMd5Filename","delete","domComponentReference","nativeBundle","assetEntity","Buffer","isBuffer","searchBuffer","from","replaceBuffer","length","index","indexOf","copy","search","replace","replaceAll"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../src/export/exportDomComponents.ts"],"sourcesContent":["import type { ExpoConfig } from '@expo/config';\nimport assert from 'assert';\nimport crypto from 'crypto';\nimport path from 'path';\nimport resolveFrom from 'resolve-from';\nimport url from 'url';\n\nimport { type PlatformMetadata } from './createMetadataJson';\nimport { type BundleOutput, type ExportAssetMap, getFilesFromSerialAssets } from './saveAssets';\nimport { type MetroBundlerDevServer } from '../start/server/metro/MetroBundlerDevServer';\nimport { serializeHtmlWithAssets } from '../start/server/metro/serializeHtml';\nimport {\n getDomComponentHtml,\n DOM_COMPONENTS_BUNDLE_DIR,\n} from '../start/server/middleware/DomComponentsMiddleware';\nimport { env } from '../utils/env';\nimport { resolveRealEntryFilePath, toPosixPath } from '../utils/filePath';\n\nconst debug = require('debug')('expo:export:exportDomComponents') as typeof console.log;\n\n// TODO(EvanBacon): determine how to support DOM Components with hosting.\nexport async function exportDomComponentAsync({\n filePath,\n projectRoot,\n dev,\n devServer,\n isHermes,\n includeSourceMaps,\n exp,\n files,\n useMd5Filename = false,\n}: {\n filePath: string;\n projectRoot: string;\n dev: boolean;\n devServer: MetroBundlerDevServer;\n isHermes: boolean;\n includeSourceMaps: boolean;\n exp: ExpoConfig;\n files: ExportAssetMap;\n useMd5Filename?: boolean;\n}): Promise<{\n bundle: BundleOutput;\n htmlOutputName: string;\n}> {\n const virtualEntry = toPosixPath(resolveFrom(projectRoot, 'expo/dom/entry.js'));\n debug('Bundle DOM Component:', filePath);\n // MUST MATCH THE BABEL PLUGIN!\n const hash = crypto.createHash('md5').update(filePath).digest('hex');\n const outputName = `${DOM_COMPONENTS_BUNDLE_DIR}/${hash}.html`;\n const generatedEntryPath = toPosixPath(\n filePath.startsWith('file://') ? url.fileURLToPath(filePath) : filePath\n );\n const baseUrl = `/${DOM_COMPONENTS_BUNDLE_DIR}`;\n // The relative import path will be used like URI so it must be POSIX.\n const relativeImport = './' + path.posix.relative(path.dirname(virtualEntry), generatedEntryPath);\n // Run metro bundler and create the JS bundles/source maps.\n const bundle = await devServer.legacySinglePageExportBundleAsync({\n platform: 'web',\n domRoot: encodeURI(relativeImport),\n splitChunks: !env.EXPO_NO_BUNDLE_SPLITTING,\n mainModuleName: resolveRealEntryFilePath(projectRoot, virtualEntry),\n mode: dev ? 'development' : 'production',\n engine: isHermes ? 'hermes' : undefined,\n serializerIncludeMaps: includeSourceMaps,\n bytecode: false,\n reactCompiler: !!exp.experiments?.reactCompiler,\n baseUrl: './',\n useMd5Filename,\n // Minify may be false because it's skipped on native when Hermes is enabled, default to true.\n minify: true,\n });\n\n if (useMd5Filename) {\n for (const artifact of bundle.artifacts) {\n const md5 = crypto.createHash('md5').update(artifact.source).digest('hex');\n artifact.filename = `${md5}.${artifact.type}`;\n }\n }\n\n const html = await serializeHtmlWithAssets({\n isExporting: true,\n resources: bundle.artifacts,\n template: getDomComponentHtml(),\n baseUrl: './',\n });\n\n const serialAssets = bundle.artifacts.map((a) => {\n return {\n ...a,\n filename: path.join(baseUrl, a.filename),\n };\n });\n\n getFilesFromSerialAssets(serialAssets, {\n includeSourceMaps,\n files,\n platform: 'web',\n });\n\n files.set(outputName, {\n contents: html,\n });\n\n return {\n bundle,\n htmlOutputName: outputName,\n };\n}\n\n//#region `npx export` for updates\n\n/**\n * Add the DOM component bundle to the metadata for updates.\n */\nexport function addDomBundleToMetadataAsync(bundle: BundleOutput): PlatformMetadata['assets'] {\n const assetsMetadata: PlatformMetadata['assets'] = [];\n for (const artifact of bundle.artifacts) {\n if (artifact.type === 'map') {\n continue;\n }\n assetsMetadata.push({\n path: `${DOM_COMPONENTS_BUNDLE_DIR}/${artifact.filename}`,\n ext: artifact.type,\n });\n }\n return assetsMetadata;\n}\n\n/**\n * Transform the DOM component entry (*.html) to use MD5 filename by its content.\n */\nexport function transformDomEntryForMd5Filename({\n files,\n htmlOutputName,\n}: {\n files: ExportAssetMap;\n htmlOutputName: string;\n}): PlatformMetadata['assets'] {\n const htmlContent = files.get(htmlOutputName);\n assert(htmlContent);\n const htmlMd5 = crypto.createHash('md5').update(htmlContent.contents.toString()).digest('hex');\n const htmlMd5Filename = `${DOM_COMPONENTS_BUNDLE_DIR}/${htmlMd5}.html`;\n files.set(htmlMd5Filename, htmlContent);\n files.delete(htmlOutputName);\n return [\n {\n path: htmlMd5Filename,\n ext: 'html',\n },\n ];\n}\n\n/**\n * Post-transform the native bundle to use MD5 filename based on DOM component entry content.\n */\nexport function transformNativeBundleForMd5Filename({\n domComponentReference,\n nativeBundle,\n files,\n htmlOutputName,\n}: {\n domComponentReference: string;\n nativeBundle: BundleOutput;\n files: ExportAssetMap;\n htmlOutputName: string;\n}) {\n const htmlContent = files.get(htmlOutputName);\n assert(htmlContent);\n const htmlMd5 = crypto.createHash('md5').update(htmlContent.contents.toString()).digest('hex');\n const hash = crypto.createHash('md5').update(domComponentReference).digest('hex');\n for (const artifact of nativeBundle.artifacts) {\n if (artifact.type !== 'js') {\n continue;\n }\n const assetEntity = files.get(artifact.filename);\n assert(assetEntity);\n if (Buffer.isBuffer(assetEntity.contents)) {\n const searchBuffer = Buffer.from(`${hash}.html`, 'utf8');\n const replaceBuffer = Buffer.from(`${htmlMd5}.html`, 'utf8');\n assert(searchBuffer.length === replaceBuffer.length);\n let index = assetEntity.contents.indexOf(searchBuffer, 0);\n while (index !== -1) {\n replaceBuffer.copy(assetEntity.contents, index);\n index = assetEntity.contents.indexOf(searchBuffer, index + searchBuffer.length);\n }\n } else {\n const search = `${hash}.html`;\n const replace = `${htmlMd5}.html`;\n assert(search.length === replace.length);\n assetEntity.contents = assetEntity.contents.toString().replaceAll(search, replace);\n }\n }\n}\n\n//#endregion `npx export` for updates\n"],"names":["exportDomComponentAsync","addDomBundleToMetadataAsync","transformDomEntryForMd5Filename","transformNativeBundleForMd5Filename","debug","require","filePath","projectRoot","dev","devServer","isHermes","includeSourceMaps","exp","files","useMd5Filename","virtualEntry","toPosixPath","resolveFrom","hash","crypto","createHash","update","digest","outputName","DOM_COMPONENTS_BUNDLE_DIR","generatedEntryPath","startsWith","url","fileURLToPath","baseUrl","relativeImport","path","posix","relative","dirname","bundle","legacySinglePageExportBundleAsync","platform","domRoot","encodeURI","splitChunks","env","EXPO_NO_BUNDLE_SPLITTING","mainModuleName","resolveRealEntryFilePath","mode","engine","undefined","serializerIncludeMaps","bytecode","reactCompiler","experiments","minify","artifact","artifacts","md5","source","filename","type","html","serializeHtmlWithAssets","isExporting","resources","template","getDomComponentHtml","serialAssets","map","a","join","getFilesFromSerialAssets","set","contents","htmlOutputName","assetsMetadata","push","ext","htmlContent","get","assert","htmlMd5","toString","htmlMd5Filename","delete","domComponentReference","nativeBundle","assetEntity","Buffer","isBuffer","searchBuffer","from","replaceBuffer","length","index","indexOf","copy","search","replace","replaceAll"],"mappings":"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"}
|