@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
|
@@ -9,46 +9,22 @@ function _export(target, all) {
|
|
|
9
9
|
});
|
|
10
10
|
}
|
|
11
11
|
_export(exports, {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
createBundleUrlSearchParams: function() {
|
|
25
|
-
return createBundleUrlSearchParams;
|
|
26
|
-
},
|
|
27
|
-
getAsyncRoutesFromExpoConfig: function() {
|
|
28
|
-
return getAsyncRoutesFromExpoConfig;
|
|
29
|
-
},
|
|
30
|
-
getBaseUrlFromExpoConfig: function() {
|
|
31
|
-
return getBaseUrlFromExpoConfig;
|
|
32
|
-
},
|
|
33
|
-
getMetroDirectBundleOptions: function() {
|
|
34
|
-
return getMetroDirectBundleOptions;
|
|
35
|
-
},
|
|
36
|
-
getMetroDirectBundleOptionsForExpoConfig: function() {
|
|
37
|
-
return getMetroDirectBundleOptionsForExpoConfig;
|
|
38
|
-
},
|
|
39
|
-
getMetroOptionsFromUrl: function() {
|
|
40
|
-
return getMetroOptionsFromUrl;
|
|
41
|
-
},
|
|
42
|
-
isServerEnvironment: function() {
|
|
43
|
-
return isServerEnvironment;
|
|
44
|
-
},
|
|
45
|
-
shouldEnableAsyncImports: function() {
|
|
46
|
-
return shouldEnableAsyncImports;
|
|
47
|
-
}
|
|
12
|
+
isServerEnvironment: ()=>isServerEnvironment,
|
|
13
|
+
shouldEnableAsyncImports: ()=>shouldEnableAsyncImports,
|
|
14
|
+
getBaseUrlFromExpoConfig: ()=>getBaseUrlFromExpoConfig,
|
|
15
|
+
getAsyncRoutesFromExpoConfig: ()=>getAsyncRoutesFromExpoConfig,
|
|
16
|
+
getMetroDirectBundleOptionsForExpoConfig: ()=>getMetroDirectBundleOptionsForExpoConfig,
|
|
17
|
+
getMetroDirectBundleOptions: ()=>getMetroDirectBundleOptions,
|
|
18
|
+
createBundleUrlPathFromExpoConfig: ()=>createBundleUrlPathFromExpoConfig,
|
|
19
|
+
createBundleUrlPath: ()=>createBundleUrlPath,
|
|
20
|
+
createBundleUrlOsPath: ()=>createBundleUrlOsPath,
|
|
21
|
+
createBundleUrlSearchParams: ()=>createBundleUrlSearchParams,
|
|
22
|
+
convertPathToModuleSpecifier: ()=>convertPathToModuleSpecifier,
|
|
23
|
+
getMetroOptionsFromUrl: ()=>getMetroOptionsFromUrl
|
|
48
24
|
});
|
|
49
|
-
function
|
|
50
|
-
const data = /*#__PURE__*/
|
|
51
|
-
|
|
25
|
+
function _resolveFrom() {
|
|
26
|
+
const data = /*#__PURE__*/ _interopRequireDefault(require("resolve-from"));
|
|
27
|
+
_resolveFrom = function() {
|
|
52
28
|
return data;
|
|
53
29
|
};
|
|
54
30
|
return data;
|
|
@@ -57,14 +33,14 @@ const _env = require("../../../utils/env");
|
|
|
57
33
|
const _errors = require("../../../utils/errors");
|
|
58
34
|
const _filePath = require("../../../utils/filePath");
|
|
59
35
|
const _router = require("../metro/router");
|
|
60
|
-
function
|
|
36
|
+
function _interopRequireDefault(obj) {
|
|
61
37
|
return obj && obj.__esModule ? obj : {
|
|
62
38
|
default: obj
|
|
63
39
|
};
|
|
64
40
|
}
|
|
65
|
-
const debug = require(
|
|
41
|
+
const debug = require("debug")("expo:metro:options");
|
|
66
42
|
function isServerEnvironment(environment) {
|
|
67
|
-
return environment ===
|
|
43
|
+
return environment === "node" || environment === "react-server";
|
|
68
44
|
}
|
|
69
45
|
function shouldEnableAsyncImports(projectRoot) {
|
|
70
46
|
if (_env.env.EXPO_NO_METRO_LAZY) {
|
|
@@ -74,18 +50,18 @@ function shouldEnableAsyncImports(projectRoot) {
|
|
|
74
50
|
// to support async imports. If it's not installed, we can't support async imports.
|
|
75
51
|
// If it is installed, the user MUST import it somewhere in their project.
|
|
76
52
|
// Expo Router automatically pulls this in, so we can check for it.
|
|
77
|
-
return
|
|
53
|
+
return _resolveFrom().default.silent(projectRoot, "@expo/metro-runtime") != null;
|
|
78
54
|
}
|
|
79
|
-
function withDefaults({ mode =
|
|
55
|
+
function withDefaults({ mode ="development" , minify =mode === "production" , preserveEnvVars =mode !== "development" && _env.env.EXPO_NO_CLIENT_ENV_VARS , lazy , environment , ...props }) {
|
|
80
56
|
if (props.bytecode) {
|
|
81
|
-
if (props.platform ===
|
|
82
|
-
throw new _errors.CommandError(
|
|
57
|
+
if (props.platform === "web") {
|
|
58
|
+
throw new _errors.CommandError("Cannot use bytecode with the web platform");
|
|
83
59
|
}
|
|
84
|
-
if (props.engine !==
|
|
85
|
-
throw new _errors.CommandError(
|
|
60
|
+
if (props.engine !== "hermes") {
|
|
61
|
+
throw new _errors.CommandError("Bytecode is only supported with the Hermes engine");
|
|
86
62
|
}
|
|
87
63
|
}
|
|
88
|
-
const optimize = props.optimize ?? (environment !==
|
|
64
|
+
const optimize = props.optimize ?? (environment !== "node" && mode === "production" && _env.env.EXPO_UNSTABLE_METRO_OPTIMIZE_GRAPH);
|
|
89
65
|
return {
|
|
90
66
|
mode,
|
|
91
67
|
minify,
|
|
@@ -93,26 +69,26 @@ function withDefaults({ mode = 'development', minify = mode === 'production', pr
|
|
|
93
69
|
optimize,
|
|
94
70
|
usedExports: optimize && _env.env.EXPO_UNSTABLE_TREE_SHAKING,
|
|
95
71
|
lazy: !props.isExporting && lazy,
|
|
96
|
-
environment: environment ===
|
|
72
|
+
environment: environment === "client" ? undefined : environment,
|
|
97
73
|
...props
|
|
98
74
|
};
|
|
99
75
|
}
|
|
100
76
|
function getBaseUrlFromExpoConfig(exp) {
|
|
101
|
-
var
|
|
102
|
-
return ((
|
|
77
|
+
var ref, ref1;
|
|
78
|
+
return ((ref = exp.experiments) == null ? void 0 : (ref1 = ref.baseUrl) == null ? void 0 : ref1.trim().replace(/\/+$/, "")) ?? "";
|
|
103
79
|
}
|
|
104
80
|
function getAsyncRoutesFromExpoConfig(exp, mode, platform) {
|
|
105
|
-
var
|
|
81
|
+
var ref, ref1;
|
|
106
82
|
let asyncRoutesSetting;
|
|
107
|
-
if ((
|
|
108
|
-
var
|
|
109
|
-
const asyncRoutes = (
|
|
83
|
+
if ((ref = exp.extra) == null ? void 0 : (ref1 = ref.router) == null ? void 0 : ref1.asyncRoutes) {
|
|
84
|
+
var ref2, ref3;
|
|
85
|
+
const asyncRoutes = (ref2 = exp.extra) == null ? void 0 : (ref3 = ref2.router) == null ? void 0 : ref3.asyncRoutes;
|
|
110
86
|
if ([
|
|
111
|
-
|
|
112
|
-
|
|
87
|
+
"boolean",
|
|
88
|
+
"string"
|
|
113
89
|
].includes(typeof asyncRoutes)) {
|
|
114
90
|
asyncRoutesSetting = asyncRoutes;
|
|
115
|
-
} else if (typeof asyncRoutes ===
|
|
91
|
+
} else if (typeof asyncRoutes === "object") {
|
|
116
92
|
asyncRoutesSetting = asyncRoutes[platform] ?? asyncRoutes.default;
|
|
117
93
|
}
|
|
118
94
|
}
|
|
@@ -122,30 +98,30 @@ function getAsyncRoutesFromExpoConfig(exp, mode, platform) {
|
|
|
122
98
|
].includes(asyncRoutesSetting);
|
|
123
99
|
}
|
|
124
100
|
function getMetroDirectBundleOptionsForExpoConfig(projectRoot, exp, options) {
|
|
125
|
-
var
|
|
101
|
+
var ref;
|
|
126
102
|
return getMetroDirectBundleOptions({
|
|
127
103
|
...options,
|
|
128
|
-
reactCompiler: !!((
|
|
104
|
+
reactCompiler: !!((ref = exp.experiments) == null ? void 0 : ref.reactCompiler),
|
|
129
105
|
baseUrl: getBaseUrlFromExpoConfig(exp),
|
|
130
106
|
routerRoot: (0, _router.getRouterDirectoryModuleIdWithManifest)(projectRoot, exp),
|
|
131
107
|
asyncRoutes: getAsyncRoutesFromExpoConfig(exp, options.mode, options.platform)
|
|
132
108
|
});
|
|
133
109
|
}
|
|
134
110
|
function getMetroDirectBundleOptions(options) {
|
|
135
|
-
const { mainModuleName, platform, mode, minify, environment, serializerOutput, serializerIncludeMaps, bytecode, lazy, engine, preserveEnvVars, asyncRoutes, baseUrl, routerRoot, isExporting, inlineSourceMap, splitChunks, usedExports, reactCompiler, optimize, domRoot, clientBoundaries, runModule, modulesOnly, useMd5Filename } = withDefaults(options);
|
|
136
|
-
const dev = mode !==
|
|
137
|
-
const isHermes = engine ===
|
|
111
|
+
const { mainModuleName , platform , mode , minify , environment , serializerOutput , serializerIncludeMaps , bytecode , lazy , engine , preserveEnvVars , asyncRoutes , baseUrl , routerRoot , isExporting , inlineSourceMap , splitChunks , usedExports , reactCompiler , optimize , domRoot , clientBoundaries , runModule , modulesOnly , useMd5Filename , } = withDefaults(options);
|
|
112
|
+
const dev = mode !== "production";
|
|
113
|
+
const isHermes = engine === "hermes";
|
|
138
114
|
if (isExporting) {
|
|
139
|
-
debug(
|
|
115
|
+
debug("Disabling lazy bundling for export build");
|
|
140
116
|
options.lazy = false;
|
|
141
117
|
}
|
|
142
118
|
let fakeSourceUrl;
|
|
143
119
|
let fakeSourceMapUrl;
|
|
144
120
|
// TODO: Upstream support to Metro for passing custom serializer options.
|
|
145
121
|
if (serializerIncludeMaps != null || serializerOutput != null) {
|
|
146
|
-
fakeSourceUrl = new URL(createBundleUrlPath(options).replace(/^\//,
|
|
122
|
+
fakeSourceUrl = new URL(createBundleUrlPath(options).replace(/^\//, ""), "http://localhost:8081").toString();
|
|
147
123
|
if (serializerIncludeMaps) {
|
|
148
|
-
fakeSourceMapUrl = fakeSourceUrl.replace(
|
|
124
|
+
fakeSourceMapUrl = fakeSourceUrl.replace(".bundle?", ".map?");
|
|
149
125
|
}
|
|
150
126
|
}
|
|
151
127
|
const customTransformOptions = {
|
|
@@ -159,7 +135,7 @@ function getMetroDirectBundleOptions(options) {
|
|
|
159
135
|
environment,
|
|
160
136
|
baseUrl: baseUrl || undefined,
|
|
161
137
|
routerRoot,
|
|
162
|
-
bytecode: bytecode ?
|
|
138
|
+
bytecode: bytecode ? "1" : undefined,
|
|
163
139
|
reactCompiler: reactCompiler ? String(reactCompiler) : undefined,
|
|
164
140
|
dom: domRoot,
|
|
165
141
|
useMd5Filename: useMd5Filename || undefined
|
|
@@ -177,7 +153,7 @@ function getMetroDirectBundleOptions(options) {
|
|
|
177
153
|
minify: minify ?? !dev,
|
|
178
154
|
inlineSourceMap: inlineSourceMap ?? false,
|
|
179
155
|
lazy: !isExporting && lazy || undefined,
|
|
180
|
-
unstable_transformProfile: isHermes ?
|
|
156
|
+
unstable_transformProfile: isHermes ? "hermes-stable" : "default",
|
|
181
157
|
customTransformOptions,
|
|
182
158
|
runModule,
|
|
183
159
|
modulesOnly,
|
|
@@ -198,17 +174,17 @@ function getMetroDirectBundleOptions(options) {
|
|
|
198
174
|
return bundleOptions;
|
|
199
175
|
}
|
|
200
176
|
function createBundleUrlPathFromExpoConfig(projectRoot, exp, options) {
|
|
201
|
-
var
|
|
177
|
+
var ref;
|
|
202
178
|
return createBundleUrlPath({
|
|
203
179
|
...options,
|
|
204
|
-
reactCompiler: !!((
|
|
180
|
+
reactCompiler: !!((ref = exp.experiments) == null ? void 0 : ref.reactCompiler),
|
|
205
181
|
baseUrl: getBaseUrlFromExpoConfig(exp),
|
|
206
182
|
routerRoot: (0, _router.getRouterDirectoryModuleIdWithManifest)(projectRoot, exp)
|
|
207
183
|
});
|
|
208
184
|
}
|
|
209
185
|
function createBundleUrlPath(options) {
|
|
210
186
|
const queryParams = createBundleUrlSearchParams(options);
|
|
211
|
-
return `/${encodeURI(options.mainModuleName.replace(/^\/+/,
|
|
187
|
+
return `/${encodeURI(options.mainModuleName.replace(/^\/+/, ""))}.bundle?${queryParams.toString()}`;
|
|
212
188
|
}
|
|
213
189
|
function createBundleUrlOsPath(options) {
|
|
214
190
|
const queryParams = createBundleUrlSearchParams(options);
|
|
@@ -216,8 +192,8 @@ function createBundleUrlOsPath(options) {
|
|
|
216
192
|
return `${mainModuleName}.bundle?${queryParams.toString()}`;
|
|
217
193
|
}
|
|
218
194
|
function createBundleUrlSearchParams(options) {
|
|
219
|
-
const { platform, mode, minify, environment, serializerOutput, serializerIncludeMaps, lazy, bytecode, engine, preserveEnvVars, asyncRoutes, baseUrl, routerRoot, reactCompiler, inlineSourceMap, isExporting, clientBoundaries, splitChunks, usedExports, optimize, domRoot, modulesOnly, runModule } = withDefaults(options);
|
|
220
|
-
const dev = String(mode !==
|
|
195
|
+
const { platform , mode , minify , environment , serializerOutput , serializerIncludeMaps , lazy , bytecode , engine , preserveEnvVars , asyncRoutes , baseUrl , routerRoot , reactCompiler , inlineSourceMap , isExporting , clientBoundaries , splitChunks , usedExports , optimize , domRoot , modulesOnly , runModule , } = withDefaults(options);
|
|
196
|
+
const dev = String(mode !== "production");
|
|
221
197
|
const queryParams = new URLSearchParams({
|
|
222
198
|
platform: encodeURIComponent(platform),
|
|
223
199
|
dev,
|
|
@@ -226,74 +202,74 @@ function createBundleUrlSearchParams(options) {
|
|
|
226
202
|
});
|
|
227
203
|
// Lazy bundling must be disabled for bundle splitting to work.
|
|
228
204
|
if (!isExporting && lazy) {
|
|
229
|
-
queryParams.append(
|
|
205
|
+
queryParams.append("lazy", String(lazy));
|
|
230
206
|
}
|
|
231
207
|
if (inlineSourceMap) {
|
|
232
|
-
queryParams.append(
|
|
208
|
+
queryParams.append("inlineSourceMap", String(inlineSourceMap));
|
|
233
209
|
}
|
|
234
210
|
if (minify) {
|
|
235
|
-
queryParams.append(
|
|
211
|
+
queryParams.append("minify", String(minify));
|
|
236
212
|
}
|
|
237
213
|
// We split bytecode from the engine since you could technically use Hermes without bytecode.
|
|
238
214
|
// Hermes indicates the type of language features you want to transform out of the JS, whereas bytecode
|
|
239
215
|
// indicates whether you want to use the Hermes bytecode format.
|
|
240
216
|
if (engine) {
|
|
241
|
-
queryParams.append(
|
|
217
|
+
queryParams.append("transform.engine", engine);
|
|
242
218
|
}
|
|
243
219
|
if (bytecode) {
|
|
244
|
-
queryParams.append(
|
|
220
|
+
queryParams.append("transform.bytecode", "1");
|
|
245
221
|
}
|
|
246
222
|
if (asyncRoutes) {
|
|
247
|
-
queryParams.append(
|
|
223
|
+
queryParams.append("transform.asyncRoutes", String(asyncRoutes));
|
|
248
224
|
}
|
|
249
225
|
if (preserveEnvVars) {
|
|
250
|
-
queryParams.append(
|
|
226
|
+
queryParams.append("transform.preserveEnvVars", String(preserveEnvVars));
|
|
251
227
|
}
|
|
252
228
|
if (baseUrl) {
|
|
253
|
-
queryParams.append(
|
|
229
|
+
queryParams.append("transform.baseUrl", baseUrl);
|
|
254
230
|
}
|
|
255
231
|
if (clientBoundaries == null ? void 0 : clientBoundaries.length) {
|
|
256
|
-
queryParams.append(
|
|
232
|
+
queryParams.append("transform.clientBoundaries", JSON.stringify(clientBoundaries));
|
|
257
233
|
}
|
|
258
234
|
if (routerRoot != null) {
|
|
259
|
-
queryParams.append(
|
|
235
|
+
queryParams.append("transform.routerRoot", routerRoot);
|
|
260
236
|
}
|
|
261
237
|
if (reactCompiler) {
|
|
262
|
-
queryParams.append(
|
|
238
|
+
queryParams.append("transform.reactCompiler", String(reactCompiler));
|
|
263
239
|
}
|
|
264
240
|
if (domRoot) {
|
|
265
|
-
queryParams.append(
|
|
241
|
+
queryParams.append("transform.dom", domRoot);
|
|
266
242
|
}
|
|
267
243
|
if (environment) {
|
|
268
|
-
queryParams.append(
|
|
269
|
-
queryParams.append(
|
|
244
|
+
queryParams.append("resolver.environment", environment);
|
|
245
|
+
queryParams.append("transform.environment", environment);
|
|
270
246
|
}
|
|
271
247
|
if (isExporting) {
|
|
272
|
-
queryParams.append(
|
|
248
|
+
queryParams.append("resolver.exporting", String(isExporting));
|
|
273
249
|
}
|
|
274
250
|
if (splitChunks) {
|
|
275
|
-
queryParams.append(
|
|
251
|
+
queryParams.append("serializer.splitChunks", String(splitChunks));
|
|
276
252
|
}
|
|
277
253
|
if (usedExports) {
|
|
278
|
-
queryParams.append(
|
|
254
|
+
queryParams.append("serializer.usedExports", String(usedExports));
|
|
279
255
|
}
|
|
280
256
|
if (optimize) {
|
|
281
|
-
queryParams.append(
|
|
257
|
+
queryParams.append("transform.optimize", String(optimize));
|
|
282
258
|
}
|
|
283
259
|
if (serializerOutput) {
|
|
284
|
-
queryParams.append(
|
|
260
|
+
queryParams.append("serializer.output", serializerOutput);
|
|
285
261
|
}
|
|
286
262
|
if (serializerIncludeMaps) {
|
|
287
|
-
queryParams.append(
|
|
263
|
+
queryParams.append("serializer.map", String(serializerIncludeMaps));
|
|
288
264
|
}
|
|
289
|
-
if (engine ===
|
|
290
|
-
queryParams.append(
|
|
265
|
+
if (engine === "hermes") {
|
|
266
|
+
queryParams.append("unstable_transformProfile", "hermes-stable");
|
|
291
267
|
}
|
|
292
268
|
if (modulesOnly != null) {
|
|
293
|
-
queryParams.set(
|
|
269
|
+
queryParams.set("modulesOnly", String(modulesOnly));
|
|
294
270
|
}
|
|
295
271
|
if (runModule != null) {
|
|
296
|
-
queryParams.set(
|
|
272
|
+
queryParams.set("runModule", String(runModule));
|
|
297
273
|
}
|
|
298
274
|
return queryParams;
|
|
299
275
|
}
|
|
@@ -301,7 +277,7 @@ function convertPathToModuleSpecifier(pathLike) {
|
|
|
301
277
|
return (0, _filePath.toPosixPath)(pathLike);
|
|
302
278
|
}
|
|
303
279
|
function getMetroOptionsFromUrl(urlFragment) {
|
|
304
|
-
const url = new URL(urlFragment,
|
|
280
|
+
const url = new URL(urlFragment, "http://localhost:0");
|
|
305
281
|
const getStringParam = (key)=>{
|
|
306
282
|
const param = url.searchParams.get(key);
|
|
307
283
|
if (Array.isArray(param)) {
|
|
@@ -310,40 +286,40 @@ function getMetroOptionsFromUrl(urlFragment) {
|
|
|
310
286
|
return param;
|
|
311
287
|
};
|
|
312
288
|
let pathname = url.pathname;
|
|
313
|
-
if (pathname.endsWith(
|
|
314
|
-
pathname = pathname.slice(0, -
|
|
289
|
+
if (pathname.endsWith(".bundle")) {
|
|
290
|
+
pathname = pathname.slice(0, -".bundle".length);
|
|
315
291
|
}
|
|
316
292
|
const options = {
|
|
317
|
-
mode: isTruthy(getStringParam(
|
|
318
|
-
minify: isTruthy(getStringParam(
|
|
319
|
-
lazy: isTruthy(getStringParam(
|
|
320
|
-
routerRoot: getStringParam(
|
|
321
|
-
isExporting: isTruthy(getStringParam(
|
|
322
|
-
environment: assertEnvironment(getStringParam(
|
|
323
|
-
platform: url.searchParams.get(
|
|
324
|
-
bytecode: isTruthy(getStringParam(
|
|
293
|
+
mode: isTruthy(getStringParam("dev") ?? "true") ? "development" : "production",
|
|
294
|
+
minify: isTruthy(getStringParam("minify") ?? "false"),
|
|
295
|
+
lazy: isTruthy(getStringParam("lazy") ?? "false"),
|
|
296
|
+
routerRoot: getStringParam("transform.routerRoot") ?? "app",
|
|
297
|
+
isExporting: isTruthy(getStringParam("resolver.exporting") ?? "false"),
|
|
298
|
+
environment: assertEnvironment(getStringParam("transform.environment") ?? "node"),
|
|
299
|
+
platform: url.searchParams.get("platform") ?? "web",
|
|
300
|
+
bytecode: isTruthy(getStringParam("transform.bytecode") ?? "false"),
|
|
325
301
|
mainModuleName: convertPathToModuleSpecifier(pathname),
|
|
326
|
-
reactCompiler: isTruthy(getStringParam(
|
|
327
|
-
asyncRoutes: isTruthy(getStringParam(
|
|
328
|
-
baseUrl: getStringParam(
|
|
302
|
+
reactCompiler: isTruthy(getStringParam("transform.reactCompiler") ?? "false"),
|
|
303
|
+
asyncRoutes: isTruthy(getStringParam("transform.asyncRoutes") ?? "false"),
|
|
304
|
+
baseUrl: getStringParam("transform.baseUrl") ?? undefined,
|
|
329
305
|
// clientBoundaries: JSON.parse(getStringParam('transform.clientBoundaries') ?? '[]'),
|
|
330
|
-
engine: assertEngine(getStringParam(
|
|
331
|
-
runModule: isTruthy(getStringParam(
|
|
332
|
-
modulesOnly: isTruthy(getStringParam(
|
|
306
|
+
engine: assertEngine(getStringParam("transform.engine")),
|
|
307
|
+
runModule: isTruthy(getStringParam("runModule") ?? "true"),
|
|
308
|
+
modulesOnly: isTruthy(getStringParam("modulesOnly") ?? "false")
|
|
333
309
|
};
|
|
334
310
|
return options;
|
|
335
311
|
}
|
|
336
312
|
function isTruthy(value) {
|
|
337
|
-
return value ===
|
|
313
|
+
return value === "true" || value === "1";
|
|
338
314
|
}
|
|
339
315
|
function assertEnvironment(environment) {
|
|
340
316
|
if (!environment) {
|
|
341
317
|
return undefined;
|
|
342
318
|
}
|
|
343
319
|
if (![
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
320
|
+
"node",
|
|
321
|
+
"react-server",
|
|
322
|
+
"client"
|
|
347
323
|
].includes(environment)) {
|
|
348
324
|
throw new Error(`Expected transform.environment to be one of: node, react-server, client`);
|
|
349
325
|
}
|
|
@@ -354,7 +330,7 @@ function assertEngine(engine) {
|
|
|
354
330
|
return undefined;
|
|
355
331
|
}
|
|
356
332
|
if (![
|
|
357
|
-
|
|
333
|
+
"hermes"
|
|
358
334
|
].includes(engine)) {
|
|
359
335
|
throw new Error(`Expected transform.engine to be one of: hermes`);
|
|
360
336
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/start/server/middleware/metroOptions.ts"],"sourcesContent":["import { ExpoConfig } from '@expo/config';\nimport type { BundleOptions as MetroBundleOptions } from 'metro/src/shared/types';\nimport resolveFrom from 'resolve-from';\n\nimport { env } from '../../../utils/env';\nimport { CommandError } from '../../../utils/errors';\nimport { toPosixPath } from '../../../utils/filePath';\nimport { getRouterDirectoryModuleIdWithManifest } from '../metro/router';\n\nconst debug = require('debug')('expo:metro:options') as typeof console.log;\n\nexport type MetroEnvironment = 'node' | 'react-server' | 'client';\n\nexport type ExpoMetroOptions = {\n platform: string;\n mainModuleName: string;\n mode: string;\n minify?: boolean;\n environment?: MetroEnvironment;\n serializerOutput?: 'static';\n serializerIncludeMaps?: boolean;\n lazy?: boolean;\n engine?: 'hermes';\n preserveEnvVars?: boolean;\n bytecode: boolean;\n /** Enable async routes (route-based bundle splitting) in Expo Router. */\n asyncRoutes?: boolean;\n /** Module ID relative to the projectRoot for the Expo Router app directory. */\n routerRoot: string;\n /** Enable React compiler support in Babel. */\n reactCompiler: boolean;\n baseUrl?: string;\n isExporting: boolean;\n /** Is bundling a DOM Component (\"use dom\"). Requires the entry dom component file path. */\n domRoot?: string;\n /** Exporting MD5 filename based on file contents, for EAS Update. */\n useMd5Filename?: boolean;\n inlineSourceMap?: boolean;\n clientBoundaries?: string[];\n splitChunks?: boolean;\n usedExports?: boolean;\n /** Enable optimized bundling (required for tree shaking). */\n optimize?: boolean;\n\n modulesOnly?: boolean;\n runModule?: boolean;\n};\n\nexport type SerializerOptions = {\n includeSourceMaps?: boolean;\n output?: 'static';\n splitChunks?: boolean;\n usedExports?: boolean;\n};\n\nexport type ExpoMetroBundleOptions = MetroBundleOptions & {\n serializerOptions?: SerializerOptions;\n};\n\nexport function isServerEnvironment(environment?: any): boolean {\n return environment === 'node' || environment === 'react-server';\n}\n\nexport function shouldEnableAsyncImports(projectRoot: string): boolean {\n if (env.EXPO_NO_METRO_LAZY) {\n return false;\n }\n\n // `@expo/metro-runtime` includes support for the fetch + eval runtime code required\n // to support async imports. If it's not installed, we can't support async imports.\n // If it is installed, the user MUST import it somewhere in their project.\n // Expo Router automatically pulls this in, so we can check for it.\n return resolveFrom.silent(projectRoot, '@expo/metro-runtime') != null;\n}\n\nfunction withDefaults({\n mode = 'development',\n minify = mode === 'production',\n preserveEnvVars = mode !== 'development' && env.EXPO_NO_CLIENT_ENV_VARS,\n lazy,\n environment,\n ...props\n}: ExpoMetroOptions): ExpoMetroOptions {\n if (props.bytecode) {\n if (props.platform === 'web') {\n throw new CommandError('Cannot use bytecode with the web platform');\n }\n if (props.engine !== 'hermes') {\n throw new CommandError('Bytecode is only supported with the Hermes engine');\n }\n }\n\n const optimize =\n props.optimize ??\n (environment !== 'node' && mode === 'production' && env.EXPO_UNSTABLE_METRO_OPTIMIZE_GRAPH);\n\n return {\n mode,\n minify,\n preserveEnvVars,\n optimize,\n usedExports: optimize && env.EXPO_UNSTABLE_TREE_SHAKING,\n lazy: !props.isExporting && lazy,\n environment: environment === 'client' ? undefined : environment,\n ...props,\n };\n}\n\nexport function getBaseUrlFromExpoConfig(exp: ExpoConfig) {\n return exp.experiments?.baseUrl?.trim().replace(/\\/+$/, '') ?? '';\n}\n\nexport function getAsyncRoutesFromExpoConfig(exp: ExpoConfig, mode: string, platform: string) {\n let asyncRoutesSetting;\n\n if (exp.extra?.router?.asyncRoutes) {\n const asyncRoutes = exp.extra?.router?.asyncRoutes;\n if (['boolean', 'string'].includes(typeof asyncRoutes)) {\n asyncRoutesSetting = asyncRoutes;\n } else if (typeof asyncRoutes === 'object') {\n asyncRoutesSetting = asyncRoutes[platform] ?? asyncRoutes.default;\n }\n }\n\n return [mode, true].includes(asyncRoutesSetting);\n}\n\nexport function getMetroDirectBundleOptionsForExpoConfig(\n projectRoot: string,\n exp: ExpoConfig,\n options: Omit<ExpoMetroOptions, 'baseUrl' | 'reactCompiler' | 'routerRoot' | 'asyncRoutes'>\n): Partial<ExpoMetroBundleOptions> {\n return getMetroDirectBundleOptions({\n ...options,\n reactCompiler: !!exp.experiments?.reactCompiler,\n baseUrl: getBaseUrlFromExpoConfig(exp),\n routerRoot: getRouterDirectoryModuleIdWithManifest(projectRoot, exp),\n asyncRoutes: getAsyncRoutesFromExpoConfig(exp, options.mode, options.platform),\n });\n}\n\nexport function getMetroDirectBundleOptions(\n options: ExpoMetroOptions\n): Partial<ExpoMetroBundleOptions> {\n const {\n mainModuleName,\n platform,\n mode,\n minify,\n environment,\n serializerOutput,\n serializerIncludeMaps,\n bytecode,\n lazy,\n engine,\n preserveEnvVars,\n asyncRoutes,\n baseUrl,\n routerRoot,\n isExporting,\n inlineSourceMap,\n splitChunks,\n usedExports,\n reactCompiler,\n optimize,\n domRoot,\n clientBoundaries,\n runModule,\n modulesOnly,\n useMd5Filename,\n } = withDefaults(options);\n\n const dev = mode !== 'production';\n const isHermes = engine === 'hermes';\n\n if (isExporting) {\n debug('Disabling lazy bundling for export build');\n options.lazy = false;\n }\n\n let fakeSourceUrl: string | undefined;\n let fakeSourceMapUrl: string | undefined;\n\n // TODO: Upstream support to Metro for passing custom serializer options.\n if (serializerIncludeMaps != null || serializerOutput != null) {\n fakeSourceUrl = new URL(\n createBundleUrlPath(options).replace(/^\\//, ''),\n 'http://localhost:8081'\n ).toString();\n if (serializerIncludeMaps) {\n fakeSourceMapUrl = fakeSourceUrl.replace('.bundle?', '.map?');\n }\n }\n\n const customTransformOptions: ExpoMetroBundleOptions['customTransformOptions'] = {\n __proto__: null,\n optimize: optimize || undefined,\n engine,\n clientBoundaries,\n preserveEnvVars: preserveEnvVars || undefined,\n // Use string to match the query param behavior.\n asyncRoutes: asyncRoutes ? String(asyncRoutes) : undefined,\n environment,\n baseUrl: baseUrl || undefined,\n routerRoot,\n bytecode: bytecode ? '1' : undefined,\n reactCompiler: reactCompiler ? String(reactCompiler) : undefined,\n dom: domRoot,\n useMd5Filename: useMd5Filename || undefined,\n };\n\n // Iterate and delete undefined values\n for (const key in customTransformOptions) {\n if (customTransformOptions[key] === undefined) {\n delete customTransformOptions[key];\n }\n }\n\n const bundleOptions: Partial<ExpoMetroBundleOptions> = {\n platform,\n entryFile: mainModuleName,\n dev,\n minify: minify ?? !dev,\n inlineSourceMap: inlineSourceMap ?? false,\n lazy: (!isExporting && lazy) || undefined,\n unstable_transformProfile: isHermes ? 'hermes-stable' : 'default',\n customTransformOptions,\n runModule,\n modulesOnly,\n customResolverOptions: {\n __proto__: null,\n environment,\n exporting: isExporting || undefined,\n },\n sourceMapUrl: fakeSourceMapUrl,\n sourceUrl: fakeSourceUrl,\n serializerOptions: {\n splitChunks,\n usedExports: usedExports || undefined,\n output: serializerOutput,\n includeSourceMaps: serializerIncludeMaps,\n },\n };\n\n return bundleOptions;\n}\n\nexport function createBundleUrlPathFromExpoConfig(\n projectRoot: string,\n exp: ExpoConfig,\n options: Omit<ExpoMetroOptions, 'reactCompiler' | 'baseUrl' | 'routerRoot'>\n): string {\n return createBundleUrlPath({\n ...options,\n reactCompiler: !!exp.experiments?.reactCompiler,\n baseUrl: getBaseUrlFromExpoConfig(exp),\n routerRoot: getRouterDirectoryModuleIdWithManifest(projectRoot, exp),\n });\n}\n\nexport function createBundleUrlPath(options: ExpoMetroOptions): string {\n const queryParams = createBundleUrlSearchParams(options);\n return `/${encodeURI(options.mainModuleName.replace(/^\\/+/, ''))}.bundle?${queryParams.toString()}`;\n}\n\n/**\n * Create a bundle URL, containing all required query parameters, using a valid \"os path\".\n * On POSIX systems, this would look something like `/Users/../project/file.js?dev=false&..`.\n * On UNIX systems, this would look something like `C:\\Users\\..\\project\\file.js?dev=false&..`.\n * This path can safely be used with `path.*` modifiers and resolved.\n */\nexport function createBundleUrlOsPath(options: ExpoMetroOptions): string {\n const queryParams = createBundleUrlSearchParams(options);\n const mainModuleName = encodeURI(toPosixPath(options.mainModuleName));\n return `${mainModuleName}.bundle?${queryParams.toString()}`;\n}\n\nexport function createBundleUrlSearchParams(options: ExpoMetroOptions): URLSearchParams {\n const {\n platform,\n mode,\n minify,\n environment,\n serializerOutput,\n serializerIncludeMaps,\n lazy,\n bytecode,\n engine,\n preserveEnvVars,\n asyncRoutes,\n baseUrl,\n routerRoot,\n reactCompiler,\n inlineSourceMap,\n isExporting,\n clientBoundaries,\n splitChunks,\n usedExports,\n optimize,\n domRoot,\n modulesOnly,\n runModule,\n } = withDefaults(options);\n\n const dev = String(mode !== 'production');\n const queryParams = new URLSearchParams({\n platform: encodeURIComponent(platform),\n dev,\n // TODO: Is this still needed?\n hot: String(false),\n });\n\n // Lazy bundling must be disabled for bundle splitting to work.\n if (!isExporting && lazy) {\n queryParams.append('lazy', String(lazy));\n }\n\n if (inlineSourceMap) {\n queryParams.append('inlineSourceMap', String(inlineSourceMap));\n }\n\n if (minify) {\n queryParams.append('minify', String(minify));\n }\n\n // We split bytecode from the engine since you could technically use Hermes without bytecode.\n // Hermes indicates the type of language features you want to transform out of the JS, whereas bytecode\n // indicates whether you want to use the Hermes bytecode format.\n if (engine) {\n queryParams.append('transform.engine', engine);\n }\n if (bytecode) {\n queryParams.append('transform.bytecode', '1');\n }\n if (asyncRoutes) {\n queryParams.append('transform.asyncRoutes', String(asyncRoutes));\n }\n if (preserveEnvVars) {\n queryParams.append('transform.preserveEnvVars', String(preserveEnvVars));\n }\n if (baseUrl) {\n queryParams.append('transform.baseUrl', baseUrl);\n }\n if (clientBoundaries?.length) {\n queryParams.append('transform.clientBoundaries', JSON.stringify(clientBoundaries));\n }\n if (routerRoot != null) {\n queryParams.append('transform.routerRoot', routerRoot);\n }\n if (reactCompiler) {\n queryParams.append('transform.reactCompiler', String(reactCompiler));\n }\n if (domRoot) {\n queryParams.append('transform.dom', domRoot);\n }\n\n if (environment) {\n queryParams.append('resolver.environment', environment);\n queryParams.append('transform.environment', environment);\n }\n\n if (isExporting) {\n queryParams.append('resolver.exporting', String(isExporting));\n }\n\n if (splitChunks) {\n queryParams.append('serializer.splitChunks', String(splitChunks));\n }\n if (usedExports) {\n queryParams.append('serializer.usedExports', String(usedExports));\n }\n if (optimize) {\n queryParams.append('transform.optimize', String(optimize));\n }\n if (serializerOutput) {\n queryParams.append('serializer.output', serializerOutput);\n }\n if (serializerIncludeMaps) {\n queryParams.append('serializer.map', String(serializerIncludeMaps));\n }\n if (engine === 'hermes') {\n queryParams.append('unstable_transformProfile', 'hermes-stable');\n }\n\n if (modulesOnly != null) {\n queryParams.set('modulesOnly', String(modulesOnly));\n }\n if (runModule != null) {\n queryParams.set('runModule', String(runModule));\n }\n\n return queryParams;\n}\n\n/**\n * Convert all path separators to `/`, including on Windows.\n * Metro asumes that all module specifiers are posix paths.\n * References to directories can still be Windows-style paths in Metro.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Modules#importing_features_into_your_script\n * @see https://github.com/facebook/metro/pull/1286\n */\nexport function convertPathToModuleSpecifier(pathLike: string) {\n return toPosixPath(pathLike);\n}\n\nexport function getMetroOptionsFromUrl(urlFragment: string) {\n const url = new URL(urlFragment, 'http://localhost:0');\n const getStringParam = (key: string) => {\n const param = url.searchParams.get(key);\n if (Array.isArray(param)) {\n throw new Error(`Expected single value for ${key}`);\n }\n return param;\n };\n\n let pathname = url.pathname;\n if (pathname.endsWith('.bundle')) {\n pathname = pathname.slice(0, -'.bundle'.length);\n }\n\n const options: ExpoMetroOptions = {\n mode: isTruthy(getStringParam('dev') ?? 'true') ? 'development' : 'production',\n minify: isTruthy(getStringParam('minify') ?? 'false'),\n lazy: isTruthy(getStringParam('lazy') ?? 'false'),\n routerRoot: getStringParam('transform.routerRoot') ?? 'app',\n isExporting: isTruthy(getStringParam('resolver.exporting') ?? 'false'),\n environment: assertEnvironment(getStringParam('transform.environment') ?? 'node'),\n platform: url.searchParams.get('platform') ?? 'web',\n bytecode: isTruthy(getStringParam('transform.bytecode') ?? 'false'),\n mainModuleName: convertPathToModuleSpecifier(pathname),\n reactCompiler: isTruthy(getStringParam('transform.reactCompiler') ?? 'false'),\n asyncRoutes: isTruthy(getStringParam('transform.asyncRoutes') ?? 'false'),\n baseUrl: getStringParam('transform.baseUrl') ?? undefined,\n // clientBoundaries: JSON.parse(getStringParam('transform.clientBoundaries') ?? '[]'),\n engine: assertEngine(getStringParam('transform.engine')),\n runModule: isTruthy(getStringParam('runModule') ?? 'true'),\n modulesOnly: isTruthy(getStringParam('modulesOnly') ?? 'false'),\n };\n\n return options;\n}\n\nfunction isTruthy(value: string | null): boolean {\n return value === 'true' || value === '1';\n}\n\nfunction assertEnvironment(environment: string | undefined): MetroEnvironment | undefined {\n if (!environment) {\n return undefined;\n }\n if (!['node', 'react-server', 'client'].includes(environment)) {\n throw new Error(`Expected transform.environment to be one of: node, react-server, client`);\n }\n return environment as MetroEnvironment;\n}\nfunction assertEngine(engine: string | undefined | null): 'hermes' | undefined {\n if (!engine) {\n return undefined;\n }\n if (!['hermes'].includes(engine)) {\n throw new Error(`Expected transform.engine to be one of: hermes`);\n }\n return engine as 'hermes';\n}\n"],"names":["convertPathToModuleSpecifier","createBundleUrlOsPath","createBundleUrlPath","createBundleUrlPathFromExpoConfig","createBundleUrlSearchParams","getAsyncRoutesFromExpoConfig","getBaseUrlFromExpoConfig","getMetroDirectBundleOptions","getMetroDirectBundleOptionsForExpoConfig","getMetroOptionsFromUrl","isServerEnvironment","shouldEnableAsyncImports","debug","require","environment","projectRoot","env","EXPO_NO_METRO_LAZY","resolveFrom","silent","withDefaults","mode","minify","preserveEnvVars","EXPO_NO_CLIENT_ENV_VARS","lazy","props","bytecode","platform","CommandError","engine","optimize","EXPO_UNSTABLE_METRO_OPTIMIZE_GRAPH","usedExports","EXPO_UNSTABLE_TREE_SHAKING","isExporting","undefined","exp","experiments","baseUrl","trim","replace","asyncRoutesSetting","extra","router","asyncRoutes","includes","default","options","reactCompiler","routerRoot","getRouterDirectoryModuleIdWithManifest","mainModuleName","serializerOutput","serializerIncludeMaps","inlineSourceMap","splitChunks","domRoot","clientBoundaries","runModule","modulesOnly","useMd5Filename","dev","isHermes","fakeSourceUrl","fakeSourceMapUrl","URL","toString","customTransformOptions","__proto__","String","dom","key","bundleOptions","entryFile","unstable_transformProfile","customResolverOptions","exporting","sourceMapUrl","sourceUrl","serializerOptions","output","includeSourceMaps","queryParams","encodeURI","toPosixPath","URLSearchParams","encodeURIComponent","hot","append","length","JSON","stringify","set","pathLike","urlFragment","url","getStringParam","param","searchParams","get","Array","isArray","Error","pathname","endsWith","slice","isTruthy","assertEnvironment","assertEngine","value"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../../../src/start/server/middleware/metroOptions.ts"],"sourcesContent":["import { ExpoConfig } from '@expo/config';\nimport type { BundleOptions as MetroBundleOptions } from 'metro/src/shared/types';\nimport resolveFrom from 'resolve-from';\n\nimport { env } from '../../../utils/env';\nimport { CommandError } from '../../../utils/errors';\nimport { toPosixPath } from '../../../utils/filePath';\nimport { getRouterDirectoryModuleIdWithManifest } from '../metro/router';\n\nconst debug = require('debug')('expo:metro:options') as typeof console.log;\n\nexport type MetroEnvironment = 'node' | 'react-server' | 'client';\n\nexport type ExpoMetroOptions = {\n platform: string;\n mainModuleName: string;\n mode: string;\n minify?: boolean;\n environment?: MetroEnvironment;\n serializerOutput?: 'static';\n serializerIncludeMaps?: boolean;\n lazy?: boolean;\n engine?: 'hermes';\n preserveEnvVars?: boolean;\n bytecode: boolean;\n /** Enable async routes (route-based bundle splitting) in Expo Router. */\n asyncRoutes?: boolean;\n /** Module ID relative to the projectRoot for the Expo Router app directory. */\n routerRoot: string;\n /** Enable React compiler support in Babel. */\n reactCompiler: boolean;\n baseUrl?: string;\n isExporting: boolean;\n /** Is bundling a DOM Component (\"use dom\"). Requires the entry dom component file path. */\n domRoot?: string;\n /** Exporting MD5 filename based on file contents, for EAS Update. */\n useMd5Filename?: boolean;\n inlineSourceMap?: boolean;\n clientBoundaries?: string[];\n splitChunks?: boolean;\n usedExports?: boolean;\n /** Enable optimized bundling (required for tree shaking). */\n optimize?: boolean;\n\n modulesOnly?: boolean;\n runModule?: boolean;\n};\n\nexport type SerializerOptions = {\n includeSourceMaps?: boolean;\n output?: 'static';\n splitChunks?: boolean;\n usedExports?: boolean;\n};\n\nexport type ExpoMetroBundleOptions = MetroBundleOptions & {\n serializerOptions?: SerializerOptions;\n};\n\nexport function isServerEnvironment(environment?: any): boolean {\n return environment === 'node' || environment === 'react-server';\n}\n\nexport function shouldEnableAsyncImports(projectRoot: string): boolean {\n if (env.EXPO_NO_METRO_LAZY) {\n return false;\n }\n\n // `@expo/metro-runtime` includes support for the fetch + eval runtime code required\n // to support async imports. If it's not installed, we can't support async imports.\n // If it is installed, the user MUST import it somewhere in their project.\n // Expo Router automatically pulls this in, so we can check for it.\n return resolveFrom.silent(projectRoot, '@expo/metro-runtime') != null;\n}\n\nfunction withDefaults({\n mode = 'development',\n minify = mode === 'production',\n preserveEnvVars = mode !== 'development' && env.EXPO_NO_CLIENT_ENV_VARS,\n lazy,\n environment,\n ...props\n}: ExpoMetroOptions): ExpoMetroOptions {\n if (props.bytecode) {\n if (props.platform === 'web') {\n throw new CommandError('Cannot use bytecode with the web platform');\n }\n if (props.engine !== 'hermes') {\n throw new CommandError('Bytecode is only supported with the Hermes engine');\n }\n }\n\n const optimize =\n props.optimize ??\n (environment !== 'node' && mode === 'production' && env.EXPO_UNSTABLE_METRO_OPTIMIZE_GRAPH);\n\n return {\n mode,\n minify,\n preserveEnvVars,\n optimize,\n usedExports: optimize && env.EXPO_UNSTABLE_TREE_SHAKING,\n lazy: !props.isExporting && lazy,\n environment: environment === 'client' ? undefined : environment,\n ...props,\n };\n}\n\nexport function getBaseUrlFromExpoConfig(exp: ExpoConfig) {\n return exp.experiments?.baseUrl?.trim().replace(/\\/+$/, '') ?? '';\n}\n\nexport function getAsyncRoutesFromExpoConfig(exp: ExpoConfig, mode: string, platform: string) {\n let asyncRoutesSetting;\n\n if (exp.extra?.router?.asyncRoutes) {\n const asyncRoutes = exp.extra?.router?.asyncRoutes;\n if (['boolean', 'string'].includes(typeof asyncRoutes)) {\n asyncRoutesSetting = asyncRoutes;\n } else if (typeof asyncRoutes === 'object') {\n asyncRoutesSetting = asyncRoutes[platform] ?? asyncRoutes.default;\n }\n }\n\n return [mode, true].includes(asyncRoutesSetting);\n}\n\nexport function getMetroDirectBundleOptionsForExpoConfig(\n projectRoot: string,\n exp: ExpoConfig,\n options: Omit<ExpoMetroOptions, 'baseUrl' | 'reactCompiler' | 'routerRoot' | 'asyncRoutes'>\n): Partial<ExpoMetroBundleOptions> {\n return getMetroDirectBundleOptions({\n ...options,\n reactCompiler: !!exp.experiments?.reactCompiler,\n baseUrl: getBaseUrlFromExpoConfig(exp),\n routerRoot: getRouterDirectoryModuleIdWithManifest(projectRoot, exp),\n asyncRoutes: getAsyncRoutesFromExpoConfig(exp, options.mode, options.platform),\n });\n}\n\nexport function getMetroDirectBundleOptions(\n options: ExpoMetroOptions\n): Partial<ExpoMetroBundleOptions> {\n const {\n mainModuleName,\n platform,\n mode,\n minify,\n environment,\n serializerOutput,\n serializerIncludeMaps,\n bytecode,\n lazy,\n engine,\n preserveEnvVars,\n asyncRoutes,\n baseUrl,\n routerRoot,\n isExporting,\n inlineSourceMap,\n splitChunks,\n usedExports,\n reactCompiler,\n optimize,\n domRoot,\n clientBoundaries,\n runModule,\n modulesOnly,\n useMd5Filename,\n } = withDefaults(options);\n\n const dev = mode !== 'production';\n const isHermes = engine === 'hermes';\n\n if (isExporting) {\n debug('Disabling lazy bundling for export build');\n options.lazy = false;\n }\n\n let fakeSourceUrl: string | undefined;\n let fakeSourceMapUrl: string | undefined;\n\n // TODO: Upstream support to Metro for passing custom serializer options.\n if (serializerIncludeMaps != null || serializerOutput != null) {\n fakeSourceUrl = new URL(\n createBundleUrlPath(options).replace(/^\\//, ''),\n 'http://localhost:8081'\n ).toString();\n if (serializerIncludeMaps) {\n fakeSourceMapUrl = fakeSourceUrl.replace('.bundle?', '.map?');\n }\n }\n\n const customTransformOptions: ExpoMetroBundleOptions['customTransformOptions'] = {\n __proto__: null,\n optimize: optimize || undefined,\n engine,\n clientBoundaries,\n preserveEnvVars: preserveEnvVars || undefined,\n // Use string to match the query param behavior.\n asyncRoutes: asyncRoutes ? String(asyncRoutes) : undefined,\n environment,\n baseUrl: baseUrl || undefined,\n routerRoot,\n bytecode: bytecode ? '1' : undefined,\n reactCompiler: reactCompiler ? String(reactCompiler) : undefined,\n dom: domRoot,\n useMd5Filename: useMd5Filename || undefined,\n };\n\n // Iterate and delete undefined values\n for (const key in customTransformOptions) {\n if (customTransformOptions[key] === undefined) {\n delete customTransformOptions[key];\n }\n }\n\n const bundleOptions: Partial<ExpoMetroBundleOptions> = {\n platform,\n entryFile: mainModuleName,\n dev,\n minify: minify ?? !dev,\n inlineSourceMap: inlineSourceMap ?? false,\n lazy: (!isExporting && lazy) || undefined,\n unstable_transformProfile: isHermes ? 'hermes-stable' : 'default',\n customTransformOptions,\n runModule,\n modulesOnly,\n customResolverOptions: {\n __proto__: null,\n environment,\n exporting: isExporting || undefined,\n },\n sourceMapUrl: fakeSourceMapUrl,\n sourceUrl: fakeSourceUrl,\n serializerOptions: {\n splitChunks,\n usedExports: usedExports || undefined,\n output: serializerOutput,\n includeSourceMaps: serializerIncludeMaps,\n },\n };\n\n return bundleOptions;\n}\n\nexport function createBundleUrlPathFromExpoConfig(\n projectRoot: string,\n exp: ExpoConfig,\n options: Omit<ExpoMetroOptions, 'reactCompiler' | 'baseUrl' | 'routerRoot'>\n): string {\n return createBundleUrlPath({\n ...options,\n reactCompiler: !!exp.experiments?.reactCompiler,\n baseUrl: getBaseUrlFromExpoConfig(exp),\n routerRoot: getRouterDirectoryModuleIdWithManifest(projectRoot, exp),\n });\n}\n\nexport function createBundleUrlPath(options: ExpoMetroOptions): string {\n const queryParams = createBundleUrlSearchParams(options);\n return `/${encodeURI(options.mainModuleName.replace(/^\\/+/, ''))}.bundle?${queryParams.toString()}`;\n}\n\n/**\n * Create a bundle URL, containing all required query parameters, using a valid \"os path\".\n * On POSIX systems, this would look something like `/Users/../project/file.js?dev=false&..`.\n * On UNIX systems, this would look something like `C:\\Users\\..\\project\\file.js?dev=false&..`.\n * This path can safely be used with `path.*` modifiers and resolved.\n */\nexport function createBundleUrlOsPath(options: ExpoMetroOptions): string {\n const queryParams = createBundleUrlSearchParams(options);\n const mainModuleName = encodeURI(toPosixPath(options.mainModuleName));\n return `${mainModuleName}.bundle?${queryParams.toString()}`;\n}\n\nexport function createBundleUrlSearchParams(options: ExpoMetroOptions): URLSearchParams {\n const {\n platform,\n mode,\n minify,\n environment,\n serializerOutput,\n serializerIncludeMaps,\n lazy,\n bytecode,\n engine,\n preserveEnvVars,\n asyncRoutes,\n baseUrl,\n routerRoot,\n reactCompiler,\n inlineSourceMap,\n isExporting,\n clientBoundaries,\n splitChunks,\n usedExports,\n optimize,\n domRoot,\n modulesOnly,\n runModule,\n } = withDefaults(options);\n\n const dev = String(mode !== 'production');\n const queryParams = new URLSearchParams({\n platform: encodeURIComponent(platform),\n dev,\n // TODO: Is this still needed?\n hot: String(false),\n });\n\n // Lazy bundling must be disabled for bundle splitting to work.\n if (!isExporting && lazy) {\n queryParams.append('lazy', String(lazy));\n }\n\n if (inlineSourceMap) {\n queryParams.append('inlineSourceMap', String(inlineSourceMap));\n }\n\n if (minify) {\n queryParams.append('minify', String(minify));\n }\n\n // We split bytecode from the engine since you could technically use Hermes without bytecode.\n // Hermes indicates the type of language features you want to transform out of the JS, whereas bytecode\n // indicates whether you want to use the Hermes bytecode format.\n if (engine) {\n queryParams.append('transform.engine', engine);\n }\n if (bytecode) {\n queryParams.append('transform.bytecode', '1');\n }\n if (asyncRoutes) {\n queryParams.append('transform.asyncRoutes', String(asyncRoutes));\n }\n if (preserveEnvVars) {\n queryParams.append('transform.preserveEnvVars', String(preserveEnvVars));\n }\n if (baseUrl) {\n queryParams.append('transform.baseUrl', baseUrl);\n }\n if (clientBoundaries?.length) {\n queryParams.append('transform.clientBoundaries', JSON.stringify(clientBoundaries));\n }\n if (routerRoot != null) {\n queryParams.append('transform.routerRoot', routerRoot);\n }\n if (reactCompiler) {\n queryParams.append('transform.reactCompiler', String(reactCompiler));\n }\n if (domRoot) {\n queryParams.append('transform.dom', domRoot);\n }\n\n if (environment) {\n queryParams.append('resolver.environment', environment);\n queryParams.append('transform.environment', environment);\n }\n\n if (isExporting) {\n queryParams.append('resolver.exporting', String(isExporting));\n }\n\n if (splitChunks) {\n queryParams.append('serializer.splitChunks', String(splitChunks));\n }\n if (usedExports) {\n queryParams.append('serializer.usedExports', String(usedExports));\n }\n if (optimize) {\n queryParams.append('transform.optimize', String(optimize));\n }\n if (serializerOutput) {\n queryParams.append('serializer.output', serializerOutput);\n }\n if (serializerIncludeMaps) {\n queryParams.append('serializer.map', String(serializerIncludeMaps));\n }\n if (engine === 'hermes') {\n queryParams.append('unstable_transformProfile', 'hermes-stable');\n }\n\n if (modulesOnly != null) {\n queryParams.set('modulesOnly', String(modulesOnly));\n }\n if (runModule != null) {\n queryParams.set('runModule', String(runModule));\n }\n\n return queryParams;\n}\n\n/**\n * Convert all path separators to `/`, including on Windows.\n * Metro asumes that all module specifiers are posix paths.\n * References to directories can still be Windows-style paths in Metro.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Modules#importing_features_into_your_script\n * @see https://github.com/facebook/metro/pull/1286\n */\nexport function convertPathToModuleSpecifier(pathLike: string) {\n return toPosixPath(pathLike);\n}\n\nexport function getMetroOptionsFromUrl(urlFragment: string) {\n const url = new URL(urlFragment, 'http://localhost:0');\n const getStringParam = (key: string) => {\n const param = url.searchParams.get(key);\n if (Array.isArray(param)) {\n throw new Error(`Expected single value for ${key}`);\n }\n return param;\n };\n\n let pathname = url.pathname;\n if (pathname.endsWith('.bundle')) {\n pathname = pathname.slice(0, -'.bundle'.length);\n }\n\n const options: ExpoMetroOptions = {\n mode: isTruthy(getStringParam('dev') ?? 'true') ? 'development' : 'production',\n minify: isTruthy(getStringParam('minify') ?? 'false'),\n lazy: isTruthy(getStringParam('lazy') ?? 'false'),\n routerRoot: getStringParam('transform.routerRoot') ?? 'app',\n isExporting: isTruthy(getStringParam('resolver.exporting') ?? 'false'),\n environment: assertEnvironment(getStringParam('transform.environment') ?? 'node'),\n platform: url.searchParams.get('platform') ?? 'web',\n bytecode: isTruthy(getStringParam('transform.bytecode') ?? 'false'),\n mainModuleName: convertPathToModuleSpecifier(pathname),\n reactCompiler: isTruthy(getStringParam('transform.reactCompiler') ?? 'false'),\n asyncRoutes: isTruthy(getStringParam('transform.asyncRoutes') ?? 'false'),\n baseUrl: getStringParam('transform.baseUrl') ?? undefined,\n // clientBoundaries: JSON.parse(getStringParam('transform.clientBoundaries') ?? '[]'),\n engine: assertEngine(getStringParam('transform.engine')),\n runModule: isTruthy(getStringParam('runModule') ?? 'true'),\n modulesOnly: isTruthy(getStringParam('modulesOnly') ?? 'false'),\n };\n\n return options;\n}\n\nfunction isTruthy(value: string | null): boolean {\n return value === 'true' || value === '1';\n}\n\nfunction assertEnvironment(environment: string | undefined): MetroEnvironment | undefined {\n if (!environment) {\n return undefined;\n }\n if (!['node', 'react-server', 'client'].includes(environment)) {\n throw new Error(`Expected transform.environment to be one of: node, react-server, client`);\n }\n return environment as MetroEnvironment;\n}\nfunction assertEngine(engine: string | undefined | null): 'hermes' | undefined {\n if (!engine) {\n return undefined;\n }\n if (!['hermes'].includes(engine)) {\n throw new Error(`Expected transform.engine to be one of: hermes`);\n }\n return engine as 'hermes';\n}\n"],"names":["isServerEnvironment","shouldEnableAsyncImports","getBaseUrlFromExpoConfig","getAsyncRoutesFromExpoConfig","getMetroDirectBundleOptionsForExpoConfig","getMetroDirectBundleOptions","createBundleUrlPathFromExpoConfig","createBundleUrlPath","createBundleUrlOsPath","createBundleUrlSearchParams","convertPathToModuleSpecifier","getMetroOptionsFromUrl","debug","require","environment","projectRoot","env","EXPO_NO_METRO_LAZY","resolveFrom","silent","withDefaults","mode","minify","preserveEnvVars","EXPO_NO_CLIENT_ENV_VARS","lazy","props","bytecode","platform","CommandError","engine","optimize","EXPO_UNSTABLE_METRO_OPTIMIZE_GRAPH","usedExports","EXPO_UNSTABLE_TREE_SHAKING","isExporting","undefined","exp","experiments","baseUrl","trim","replace","asyncRoutesSetting","extra","router","asyncRoutes","includes","default","options","reactCompiler","routerRoot","getRouterDirectoryModuleIdWithManifest","mainModuleName","serializerOutput","serializerIncludeMaps","inlineSourceMap","splitChunks","domRoot","clientBoundaries","runModule","modulesOnly","useMd5Filename","dev","isHermes","fakeSourceUrl","fakeSourceMapUrl","URL","toString","customTransformOptions","__proto__","String","dom","key","bundleOptions","entryFile","unstable_transformProfile","customResolverOptions","exporting","sourceMapUrl","sourceUrl","serializerOptions","output","includeSourceMaps","queryParams","encodeURI","toPosixPath","URLSearchParams","encodeURIComponent","hot","append","length","JSON","stringify","set","pathLike","urlFragment","url","getStringParam","param","searchParams","get","Array","isArray","Error","pathname","endsWith","slice","isTruthy","assertEnvironment","assertEngine","value"],"mappings":"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"}
|
|
@@ -9,12 +9,8 @@ function _export(target, all) {
|
|
|
9
9
|
});
|
|
10
10
|
}
|
|
11
11
|
_export(exports, {
|
|
12
|
-
prependMiddleware:
|
|
13
|
-
|
|
14
|
-
},
|
|
15
|
-
replaceMiddlewareWith: function() {
|
|
16
|
-
return replaceMiddlewareWith;
|
|
17
|
-
}
|
|
12
|
+
prependMiddleware: ()=>prependMiddleware,
|
|
13
|
+
replaceMiddlewareWith: ()=>replaceMiddlewareWith
|
|
18
14
|
});
|
|
19
15
|
function prependMiddleware(app, middleware) {
|
|
20
16
|
app.use(middleware);
|
|
@@ -23,7 +19,7 @@ function prependMiddleware(app, middleware) {
|
|
|
23
19
|
function replaceMiddlewareWith(app, sourceMiddleware, targetMiddleware) {
|
|
24
20
|
const item = app.stack.find((middleware)=>{
|
|
25
21
|
const handlerCode = middleware.handle.toString();
|
|
26
|
-
return !handlerCode.includes(
|
|
22
|
+
return !handlerCode.includes("[native code]") && handlerCode === sourceMiddleware.toString();
|
|
27
23
|
});
|
|
28
24
|
if (item) {
|
|
29
25
|
item.handle = targetMiddleware;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/start/server/middleware/mutations.ts"],"sourcesContent":["import type { Server as ConnectServer, HandleFunction } from 'connect';\n\n/**\n * Prepends a `middleware` to current server middleware stack.\n *\n * @param app connect app server instance\n * @param middleware target middleware to be prepended\n */\nexport function prependMiddleware(app: ConnectServer, middleware: HandleFunction) {\n app.use(middleware);\n app.stack.unshift(app.stack.pop()!);\n}\n\n/**\n * Replaces source middleware with a new middlware in connect app\n *\n * @param app connect app server instance\n * @param sourceMiddleware source middlware to be matched and replaces\n * @param targetMiddleware new middlware\n */\nexport function replaceMiddlewareWith(\n app: ConnectServer,\n sourceMiddleware: HandleFunction,\n targetMiddleware: HandleFunction\n) {\n const item = app.stack.find((middleware) => {\n const handlerCode = middleware.handle.toString();\n return !handlerCode.includes('[native code]') && handlerCode === sourceMiddleware.toString();\n });\n if (item) {\n item.handle = targetMiddleware;\n }\n}\n"],"names":["prependMiddleware","replaceMiddlewareWith","app","middleware","use","stack","unshift","pop","sourceMiddleware","targetMiddleware","item","find","handlerCode","handle","toString","includes"],"mappings":";;;;;;;;;;;IAQgBA,iBAAiB;
|
|
1
|
+
{"version":3,"sources":["../../../../../src/start/server/middleware/mutations.ts"],"sourcesContent":["import type { Server as ConnectServer, HandleFunction } from 'connect';\n\n/**\n * Prepends a `middleware` to current server middleware stack.\n *\n * @param app connect app server instance\n * @param middleware target middleware to be prepended\n */\nexport function prependMiddleware(app: ConnectServer, middleware: HandleFunction) {\n app.use(middleware);\n app.stack.unshift(app.stack.pop()!);\n}\n\n/**\n * Replaces source middleware with a new middlware in connect app\n *\n * @param app connect app server instance\n * @param sourceMiddleware source middlware to be matched and replaces\n * @param targetMiddleware new middlware\n */\nexport function replaceMiddlewareWith(\n app: ConnectServer,\n sourceMiddleware: HandleFunction,\n targetMiddleware: HandleFunction\n) {\n const item = app.stack.find((middleware) => {\n const handlerCode = middleware.handle.toString();\n return !handlerCode.includes('[native code]') && handlerCode === sourceMiddleware.toString();\n });\n if (item) {\n item.handle = targetMiddleware;\n }\n}\n"],"names":["prependMiddleware","replaceMiddlewareWith","app","middleware","use","stack","unshift","pop","sourceMiddleware","targetMiddleware","item","find","handlerCode","handle","toString","includes"],"mappings":"AAAA;;;;;;;;;;;IAQgBA,iBAAiB,MAAjBA,iBAAiB;IAYjBC,qBAAqB,MAArBA,qBAAqB;;AAZ9B,SAASD,iBAAiB,CAACE,GAAkB,EAAEC,UAA0B,EAAE;IAChFD,GAAG,CAACE,GAAG,CAACD,UAAU,CAAC,CAAC;IACpBD,GAAG,CAACG,KAAK,CAACC,OAAO,CAACJ,GAAG,CAACG,KAAK,CAACE,GAAG,EAAE,CAAE,CAAC;AACtC,CAAC;AASM,SAASN,qBAAqB,CACnCC,GAAkB,EAClBM,gBAAgC,EAChCC,gBAAgC,EAChC;IACA,MAAMC,IAAI,GAAGR,GAAG,CAACG,KAAK,CAACM,IAAI,CAAC,CAACR,UAAU,GAAK;QAC1C,MAAMS,WAAW,GAAGT,UAAU,CAACU,MAAM,CAACC,QAAQ,EAAE,AAAC;QACjD,OAAO,CAACF,WAAW,CAACG,QAAQ,CAAC,eAAe,CAAC,IAAIH,WAAW,KAAKJ,gBAAgB,CAACM,QAAQ,EAAE,CAAC;IAC/F,CAAC,CAAC,AAAC;IACH,IAAIJ,IAAI,EAAE;QACRA,IAAI,CAACG,MAAM,GAAGJ,gBAAgB,CAAC;IACjC,CAAC;AACH,CAAC"}
|