@depup/expo__cli 55.0.22-depup.1 → 57.0.9-depup.0
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/LICENSE +21 -0
- package/README.md +13 -18
- package/build/bin/cli +4 -4
- package/build/bin/cli.map +1 -1
- package/build/src/api/endpoint.js +4 -4
- package/build/src/api/endpoint.js.map +1 -1
- package/build/src/api/getExpoSchema.js +3 -3
- package/build/src/api/getExpoSchema.js.map +1 -1
- package/build/src/api/graphql/client.js +26 -14
- package/build/src/api/graphql/client.js.map +1 -1
- package/build/src/api/graphql/mutations/TunnelMutation.js +31 -0
- package/build/src/api/graphql/mutations/TunnelMutation.js.map +1 -0
- package/build/src/api/rest/cache/FileSystemResponseCache.js.map +1 -1
- package/build/src/api/rest/cache/ResponseCache.js +5 -5
- package/build/src/api/rest/cache/ResponseCache.js.map +1 -1
- package/build/src/api/rest/client.js +35 -20
- package/build/src/api/rest/client.js.map +1 -1
- package/build/src/api/rest/wrapFetchWithBaseUrl.js.map +1 -1
- package/build/src/api/rest/wrapFetchWithOffline.js.map +1 -1
- package/build/src/api/rest/wrapFetchWithProgress.js.map +1 -1
- package/build/src/api/rest/wrapFetchWithUserAgent.js.map +1 -1
- package/build/src/api/updateDevelopmentSession.js +6 -5
- package/build/src/api/updateDevelopmentSession.js.map +1 -1
- package/build/src/api/user/UserSettings.js +28 -15
- package/build/src/api/user/UserSettings.js.map +1 -1
- package/build/src/api/user/actions.js +10 -3
- package/build/src/api/user/actions.js.map +1 -1
- package/build/src/api/user/expoSsoLauncher.js +76 -24
- package/build/src/api/user/expoSsoLauncher.js.map +1 -1
- package/build/src/api/user/otp.js +4 -4
- package/build/src/api/user/otp.js.map +1 -1
- package/build/src/api/user/user.js +19 -7
- package/build/src/api/user/user.js.map +1 -1
- package/build/src/config/configAsync.js +3 -3
- package/build/src/config/configAsync.js.map +1 -1
- package/build/src/config/index.js.map +1 -1
- package/build/src/customize/customizeAsync.js.map +1 -1
- package/build/src/customize/generate.js +7 -4
- package/build/src/customize/generate.js.map +1 -1
- package/build/src/customize/index.js.map +1 -1
- package/build/src/customize/templates.js +4 -6
- package/build/src/customize/templates.js.map +1 -1
- package/build/src/customize/typescript.js.map +1 -1
- package/build/src/events/index.js +19 -15
- package/build/src/events/index.js.map +1 -1
- package/build/src/events/stream.js +94 -24
- package/build/src/events/stream.js.map +1 -1
- package/build/src/expoUpdatesExports.js +50 -7
- package/build/src/expoUpdatesExports.js.map +1 -1
- package/build/src/export/createMetadataJson.js +2 -1
- package/build/src/export/createMetadataJson.js.map +1 -1
- package/build/src/export/embed/exportEmbedAsync.js +58 -24
- package/build/src/export/embed/exportEmbedAsync.js.map +1 -1
- package/build/src/export/embed/exportServer.js +1 -1
- package/build/src/export/embed/exportServer.js.map +1 -1
- package/build/src/export/embed/index.js +1 -1
- package/build/src/export/embed/index.js.map +1 -1
- package/build/src/export/embed/resolveOptions.js +7 -6
- package/build/src/export/embed/resolveOptions.js.map +1 -1
- package/build/src/export/embed/xcodeCompilerLogger.js +7 -7
- package/build/src/export/embed/xcodeCompilerLogger.js.map +1 -1
- package/build/src/export/exportApp.js +40 -30
- package/build/src/export/exportApp.js.map +1 -1
- package/build/src/export/exportAssets.js +5 -5
- package/build/src/export/exportAssets.js.map +1 -1
- package/build/src/export/exportAsync.js.map +1 -1
- package/build/src/export/exportDomComponents.js +16 -9
- package/build/src/export/exportDomComponents.js.map +1 -1
- package/build/src/export/exportHermes.js +23 -13
- package/build/src/export/exportHermes.js.map +1 -1
- package/build/src/export/exportStaticAsync.js +30 -21
- package/build/src/export/exportStaticAsync.js.map +1 -1
- package/build/src/export/favicon.js +26 -34
- package/build/src/export/favicon.js.map +1 -1
- package/build/src/export/getPublicExpoManifest.js.map +1 -1
- package/build/src/export/getResolvedLocales.js.map +1 -1
- package/build/src/export/html.js +3 -3
- package/build/src/export/html.js.map +1 -1
- package/build/src/export/index.js +2 -0
- package/build/src/export/index.js.map +1 -1
- package/build/src/export/metroAssetLocalPath.js +4 -4
- package/build/src/export/metroAssetLocalPath.js.map +1 -1
- package/build/src/export/persistMetroAssets.js +6 -6
- package/build/src/export/persistMetroAssets.js.map +1 -1
- package/build/src/export/publicFolder.js +16 -4
- package/build/src/export/publicFolder.js.map +1 -1
- package/build/src/export/resolveOptions.js +12 -13
- package/build/src/export/resolveOptions.js.map +1 -1
- package/build/src/export/saveAssets.js +3 -3
- package/build/src/export/saveAssets.js.map +1 -1
- package/build/src/export/static.js +6 -0
- package/build/src/export/static.js.map +1 -0
- package/build/src/export/web/exportWebAsync.js.map +1 -1
- package/build/src/export/web/index.js.map +1 -1
- package/build/src/export/writeContents.js.map +1 -1
- package/build/src/install/checkPackages.js +1 -28
- package/build/src/install/checkPackages.js.map +1 -1
- package/build/src/install/fixPackages.js.map +1 -1
- package/build/src/install/index.js.map +1 -1
- package/build/src/install/installAsync.js +3 -3
- package/build/src/install/installAsync.js.map +1 -1
- package/build/src/install/installExpoPackage.js.map +1 -1
- package/build/src/install/resolveOptions.js.map +1 -1
- package/build/src/install/utils/autoAddConfigPlugins.js +3 -3
- package/build/src/install/utils/autoAddConfigPlugins.js.map +1 -1
- package/build/src/install/utils/checkPackagesCompatibility.js +32 -16
- package/build/src/install/utils/checkPackagesCompatibility.js.map +1 -1
- package/build/src/lint/ESlintPrerequisite.js.map +1 -1
- package/build/src/log.js +32 -14
- package/build/src/log.js.map +1 -1
- package/build/src/login/index.js +25 -5
- package/build/src/login/index.js.map +1 -1
- package/build/src/logout/index.js.map +1 -1
- package/build/src/prebuild/clearNativeFolder.js +49 -14
- package/build/src/prebuild/clearNativeFolder.js.map +1 -1
- package/build/src/prebuild/configureProjectAsync.js.map +1 -1
- package/build/src/prebuild/copyTemplateFiles.js +3 -3
- package/build/src/prebuild/copyTemplateFiles.js.map +1 -1
- package/build/src/prebuild/ensureConfigAsync.js.map +1 -1
- package/build/src/prebuild/index.js +3 -2
- package/build/src/prebuild/index.js.map +1 -1
- package/build/src/prebuild/prebuildAsync.js +31 -6
- package/build/src/prebuild/prebuildAsync.js.map +1 -1
- package/build/src/prebuild/renameTemplateAppName.js +8 -5
- package/build/src/prebuild/renameTemplateAppName.js.map +1 -1
- package/build/src/prebuild/resolveOptions.js +7 -7
- package/build/src/prebuild/resolveOptions.js.map +1 -1
- package/build/src/prebuild/resolveTemplate.js +10 -5
- package/build/src/prebuild/resolveTemplate.js.map +1 -1
- package/build/src/prebuild/updateFromTemplate.js +3 -3
- package/build/src/prebuild/updateFromTemplate.js.map +1 -1
- package/build/src/prebuild/updatePackageJson.js +7 -7
- package/build/src/prebuild/updatePackageJson.js.map +1 -1
- package/build/src/prebuild/validateTemplatePlatforms.js.map +1 -1
- package/build/src/register/index.js.map +1 -1
- package/build/src/run/android/index.js.map +1 -1
- package/build/src/run/android/resolveGradlePropsAsync.js +3 -4
- package/build/src/run/android/resolveGradlePropsAsync.js.map +1 -1
- package/build/src/run/android/resolveInstallApkName.js +48 -1
- package/build/src/run/android/resolveInstallApkName.js.map +1 -1
- package/build/src/run/android/resolveLaunchProps.js +4 -1
- package/build/src/run/android/resolveLaunchProps.js.map +1 -1
- package/build/src/run/android/resolveOptions.js.map +1 -1
- package/build/src/run/android/runAndroidAsync.js.map +1 -1
- package/build/src/run/ensureNativeProject.js.map +1 -1
- package/build/src/run/hints.js +4 -4
- package/build/src/run/hints.js.map +1 -1
- package/build/src/run/index.js.map +1 -1
- package/build/src/run/ios/XcodeBuild.js +163 -23
- package/build/src/run/ios/XcodeBuild.js.map +1 -1
- package/build/src/run/ios/appleDevice/AppleDevice.js +6 -5
- package/build/src/run/ios/appleDevice/AppleDevice.js.map +1 -1
- package/build/src/run/ios/appleDevice/ClientManager.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/AFCClient.js +10 -16
- package/build/src/run/ios/appleDevice/client/AFCClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/DebugserverClient.js +1 -1
- package/build/src/run/ios/appleDevice/client/DebugserverClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/InstallationProxyClient.js +2 -1
- package/build/src/run/ios/appleDevice/client/InstallationProxyClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/LockdowndClient.js +1 -1
- package/build/src/run/ios/appleDevice/client/LockdowndClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/MobileImageMounterClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/ServiceClient.js +3 -3
- package/build/src/run/ios/appleDevice/client/ServiceClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/UsbmuxdClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/installOnDeviceAsync.js +3 -3
- package/build/src/run/ios/appleDevice/installOnDeviceAsync.js.map +1 -1
- package/build/src/run/ios/appleDevice/protocol/AFCProtocol.js +16 -13
- package/build/src/run/ios/appleDevice/protocol/AFCProtocol.js.map +1 -1
- package/build/src/run/ios/appleDevice/protocol/AbstractProtocol.js +6 -6
- package/build/src/run/ios/appleDevice/protocol/AbstractProtocol.js.map +1 -1
- package/build/src/run/ios/appleDevice/protocol/GDBProtocol.js +5 -5
- package/build/src/run/ios/appleDevice/protocol/GDBProtocol.js.map +1 -1
- package/build/src/run/ios/appleDevice/protocol/LockdownProtocol.js +7 -7
- package/build/src/run/ios/appleDevice/protocol/LockdownProtocol.js.map +1 -1
- package/build/src/run/ios/appleDevice/protocol/UsbmuxProtocol.js +5 -5
- package/build/src/run/ios/appleDevice/protocol/UsbmuxProtocol.js.map +1 -1
- package/build/src/run/ios/codeSigning/Security.js +8 -8
- package/build/src/run/ios/codeSigning/Security.js.map +1 -1
- package/build/src/run/ios/codeSigning/configureCodeSigning.js +5 -3
- package/build/src/run/ios/codeSigning/configureCodeSigning.js.map +1 -1
- package/build/src/run/ios/codeSigning/resolveCertificateSigningIdentity.js +7 -5
- package/build/src/run/ios/codeSigning/resolveCertificateSigningIdentity.js.map +1 -1
- package/build/src/run/ios/codeSigning/settings.js +3 -3
- package/build/src/run/ios/codeSigning/settings.js.map +1 -1
- package/build/src/run/ios/codeSigning/xcodeCodeSigning.js +4 -4
- package/build/src/run/ios/codeSigning/xcodeCodeSigning.js.map +1 -1
- package/build/src/run/ios/index.js +8 -1
- package/build/src/run/ios/index.js.map +1 -1
- package/build/src/run/ios/launchApp.js +3 -3
- package/build/src/run/ios/launchApp.js.map +1 -1
- package/build/src/run/ios/options/appleDestinations.js.map +1 -1
- package/build/src/run/ios/options/promptDevice.js +3 -3
- package/build/src/run/ios/options/promptDevice.js.map +1 -1
- package/build/src/run/ios/options/resolveDevice.js +8 -3
- package/build/src/run/ios/options/resolveDevice.js.map +1 -1
- package/build/src/run/ios/options/resolveNativeScheme.js +4 -4
- package/build/src/run/ios/options/resolveNativeScheme.js.map +1 -1
- package/build/src/run/ios/options/resolveOptions.js +9 -4
- package/build/src/run/ios/options/resolveOptions.js.map +1 -1
- package/build/src/run/ios/options/resolveXcodeProject.js.map +1 -1
- package/build/src/run/ios/runIosAsync.js +39 -0
- package/build/src/run/ios/runIosAsync.js.map +1 -1
- package/build/src/run/ios/validateExternalBinary.js.map +1 -1
- package/build/src/run/startBundler.js +4 -0
- package/build/src/run/startBundler.js.map +1 -1
- package/build/src/serve/index.js +4 -1
- package/build/src/serve/index.js.map +1 -1
- package/build/src/serve/serveAsync.js +23 -11
- package/build/src/serve/serveAsync.js.map +1 -1
- package/build/src/serve/static.js +69 -0
- package/build/src/serve/static.js.map +1 -0
- package/build/src/start/checkDependenciesOnStart.js +131 -0
- package/build/src/start/checkDependenciesOnStart.js.map +1 -0
- package/build/src/start/detectDevClient.js +3 -3
- package/build/src/start/detectDevClient.js.map +1 -1
- package/build/src/start/doctor/Prerequisite.js +4 -4
- package/build/src/start/doctor/Prerequisite.js.map +1 -1
- package/build/src/start/doctor/apple/SimulatorAppPrerequisite.js +53 -91
- package/build/src/start/doctor/apple/SimulatorAppPrerequisite.js.map +1 -1
- package/build/src/start/doctor/apple/XcodePrerequisite.js +3 -3
- package/build/src/start/doctor/apple/XcodePrerequisite.js.map +1 -1
- package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js +3 -3
- package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js.map +1 -1
- package/build/src/start/doctor/dependencies/getMissingPackages.js +5 -5
- package/build/src/start/doctor/dependencies/getMissingPackages.js.map +1 -1
- package/build/src/start/doctor/dependencies/getVersionedPackages.js +5 -5
- package/build/src/start/doctor/dependencies/getVersionedPackages.js.map +1 -1
- package/build/src/start/doctor/dependencies/reactNativeTv.js +149 -0
- package/build/src/start/doctor/dependencies/reactNativeTv.js.map +1 -0
- package/build/src/start/doctor/dependencies/resolvePackages.js +4 -4
- package/build/src/start/doctor/dependencies/resolvePackages.js.map +1 -1
- package/build/src/start/doctor/dependencies/validateDependenciesVersions.js +33 -8
- package/build/src/start/doctor/dependencies/validateDependenciesVersions.js.map +1 -1
- package/build/src/start/doctor/ngrok/ExternalModule.js +14 -9
- package/build/src/start/doctor/ngrok/ExternalModule.js.map +1 -1
- package/build/src/start/doctor/ngrok/NgrokResolver.js +3 -3
- package/build/src/start/doctor/ngrok/NgrokResolver.js.map +1 -1
- package/build/src/start/doctor/typescript/TypeScriptProjectPrerequisite.js.map +1 -1
- package/build/src/start/doctor/typescript/updateTSConfig.js +3 -3
- package/build/src/start/doctor/typescript/updateTSConfig.js.map +1 -1
- package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js +5 -12
- package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js.map +1 -1
- package/build/src/start/index.js +2 -0
- package/build/src/start/index.js.map +1 -1
- package/build/src/start/interface/KeyPressHandler.js.map +1 -1
- package/build/src/start/interface/cliExtensionMenuItemHandler.js.map +1 -1
- package/build/src/start/interface/commandsTable.js +6 -6
- package/build/src/start/interface/commandsTable.js.map +1 -1
- package/build/src/start/interface/createDevToolsMenuItems.js.map +1 -1
- package/build/src/start/interface/interactiveActions.js +49 -6
- package/build/src/start/interface/interactiveActions.js.map +1 -1
- package/build/src/start/interface/startInterface.js +13 -4
- package/build/src/start/interface/startInterface.js.map +1 -1
- package/build/src/start/platforms/AppIdResolver.js +4 -0
- package/build/src/start/platforms/AppIdResolver.js.map +1 -1
- package/build/src/start/platforms/DeviceManager.js.map +1 -1
- package/build/src/start/platforms/ExpoGoInstaller.js +13 -4
- package/build/src/start/platforms/ExpoGoInstaller.js.map +1 -1
- package/build/src/start/platforms/PlatformManager.js.map +1 -1
- package/build/src/start/platforms/android/AndroidAppIdResolver.js.map +1 -1
- package/build/src/start/platforms/android/AndroidDeviceManager.js.map +1 -1
- package/build/src/start/platforms/android/AndroidPlatformManager.js.map +1 -1
- package/build/src/start/platforms/android/activateWindow.js.map +1 -1
- package/build/src/start/platforms/android/adb.js +36 -34
- package/build/src/start/platforms/android/adb.js.map +1 -1
- package/build/src/start/platforms/android/adbReverse.js +4 -4
- package/build/src/start/platforms/android/adbReverse.js.map +1 -1
- package/build/src/start/platforms/android/emulator.js +5 -5
- package/build/src/start/platforms/android/emulator.js.map +1 -1
- package/build/src/start/platforms/android/getDevices.js.map +1 -1
- package/build/src/start/platforms/android/gradle.js +5 -5
- package/build/src/start/platforms/android/gradle.js.map +1 -1
- package/build/src/start/platforms/android/promptAndroidDevice.js +3 -3
- package/build/src/start/platforms/android/promptAndroidDevice.js.map +1 -1
- package/build/src/start/platforms/ios/AppleAppIdResolver.js.map +1 -1
- package/build/src/start/platforms/ios/AppleDeviceManager.js +20 -6
- package/build/src/start/platforms/ios/AppleDeviceManager.js.map +1 -1
- package/build/src/start/platforms/ios/ApplePlatformManager.js +11 -0
- package/build/src/start/platforms/ios/ApplePlatformManager.js.map +1 -1
- package/build/src/start/platforms/ios/devicectl.js +7 -7
- package/build/src/start/platforms/ios/devicectl.js.map +1 -1
- package/build/src/start/platforms/ios/ensureSimulatorAppRunning.js +26 -11
- package/build/src/start/platforms/ios/ensureSimulatorAppRunning.js.map +1 -1
- package/build/src/start/platforms/ios/getBestSimulator.js +5 -5
- package/build/src/start/platforms/ios/getBestSimulator.js.map +1 -1
- package/build/src/start/platforms/ios/promptAppleDevice.js +5 -4
- package/build/src/start/platforms/ios/promptAppleDevice.js.map +1 -1
- package/build/src/start/platforms/ios/simctl.js +25 -19
- package/build/src/start/platforms/ios/simctl.js.map +1 -1
- package/build/src/start/platforms/ios/simctlLogging.js +3 -3
- package/build/src/start/platforms/ios/simctlLogging.js.map +1 -1
- package/build/src/start/platforms/ios/xcrun.js +3 -3
- package/build/src/start/platforms/ios/xcrun.js.map +1 -1
- package/build/src/start/project/devices.js +6 -6
- package/build/src/start/project/devices.js.map +1 -1
- package/build/src/start/project/dotExpo.js +4 -3
- package/build/src/start/project/dotExpo.js.map +1 -1
- package/build/src/start/resolveOptions.js +7 -7
- package/build/src/start/resolveOptions.js.map +1 -1
- package/build/src/start/server/AsyncNgrok.js +1 -1
- package/build/src/start/server/AsyncNgrok.js.map +1 -1
- package/build/src/start/server/AsyncWsTunnel.js +120 -35
- package/build/src/start/server/AsyncWsTunnel.js.map +1 -1
- package/build/src/start/server/Bonjour.js +8 -3
- package/build/src/start/server/Bonjour.js.map +1 -1
- package/build/src/start/server/BundlerDevServer.js +23 -9
- package/build/src/start/server/BundlerDevServer.js.map +1 -1
- package/build/src/start/server/DevServerManager.js.map +1 -1
- package/build/src/start/server/DevToolsPlugin.js +63 -3
- package/build/src/start/server/DevToolsPlugin.js.map +1 -1
- package/build/src/start/server/DevToolsPlugin.schema.js +8 -3
- package/build/src/start/server/DevToolsPlugin.schema.js.map +1 -1
- package/build/src/start/server/DevToolsPluginCliExtensionExecutor.js +58 -23
- package/build/src/start/server/DevToolsPluginCliExtensionExecutor.js.map +1 -1
- package/build/src/start/server/DevToolsPluginCliExtensionResults.js +29 -0
- package/build/src/start/server/DevToolsPluginCliExtensionResults.js.map +1 -1
- package/build/src/start/server/DevToolsPluginManager.js +20 -6
- package/build/src/start/server/DevToolsPluginManager.js.map +1 -1
- package/build/src/start/server/DevToolsPluginServerHelpers.js +83 -0
- package/build/src/start/server/DevToolsPluginServerHelpers.js.map +1 -0
- package/build/src/start/server/DevelopmentSession.js +41 -24
- package/build/src/start/server/DevelopmentSession.js.map +1 -1
- package/build/src/start/server/MCP.js +10 -3
- package/build/src/start/server/MCP.js.map +1 -1
- package/build/src/start/server/MCPDevToolsPluginCLIExtensions.js +15 -5
- package/build/src/start/server/MCPDevToolsPluginCLIExtensions.js.map +1 -1
- package/build/src/start/server/UrlCreator.js +14 -1
- package/build/src/start/server/UrlCreator.js.map +1 -1
- package/build/src/start/server/createMCPDevToolsExtensionSchema.js +18 -4
- package/build/src/start/server/createMCPDevToolsExtensionSchema.js.map +1 -1
- package/build/src/start/server/getStaticRenderFunctions.js +13 -24
- package/build/src/start/server/getStaticRenderFunctions.js.map +1 -1
- package/build/src/start/server/metro/MetroBundlerDevServer.js +245 -114
- package/build/src/start/server/metro/MetroBundlerDevServer.js.map +1 -1
- package/build/src/start/server/metro/MetroTerminalReporter.js +67 -16
- package/build/src/start/server/metro/MetroTerminalReporter.js.map +1 -1
- package/build/src/start/server/metro/TerminalReporter.js +22 -4
- package/build/src/start/server/metro/TerminalReporter.js.map +1 -1
- package/build/src/start/server/metro/createExpoAutolinkingResolver.js +25 -12
- package/build/src/start/server/metro/createExpoAutolinkingResolver.js.map +1 -1
- package/build/src/start/server/metro/createExpoFallbackResolver.js +39 -0
- package/build/src/start/server/metro/createExpoFallbackResolver.js.map +1 -1
- package/build/src/start/server/metro/createFileMap-fork.js +196 -0
- package/build/src/start/server/metro/createFileMap-fork.js.map +1 -0
- package/build/src/start/server/metro/createServerComponentsMiddleware.js +22 -22
- package/build/src/start/server/metro/createServerComponentsMiddleware.js.map +1 -1
- package/build/src/start/server/metro/createServerRouteMiddleware.js.map +1 -1
- package/build/src/start/server/metro/createTypescriptResolver.js +410 -0
- package/build/src/start/server/metro/createTypescriptResolver.js.map +1 -0
- package/build/src/start/server/metro/debugging/MessageHandler.js.map +1 -1
- package/build/src/start/server/metro/debugging/attachAtlas.js +3 -3
- package/build/src/start/server/metro/debugging/attachAtlas.js.map +1 -1
- package/build/src/start/server/metro/debugging/createDebugMiddleware.js +6 -5
- package/build/src/start/server/metro/debugging/createDebugMiddleware.js.map +1 -1
- package/build/src/start/server/metro/debugging/createHandlersFactory.js.map +1 -1
- package/build/src/start/server/metro/debugging/messageHandlers/NetworkResponse.js +20 -4
- package/build/src/start/server/metro/debugging/messageHandlers/NetworkResponse.js.map +1 -1
- package/build/src/start/server/metro/debugging/pageIsSupported.js.map +1 -1
- package/build/src/start/server/metro/dev-server/compression.js.map +1 -1
- package/build/src/start/server/metro/dev-server/createMessageSocket.js +13 -2
- package/build/src/start/server/metro/dev-server/createMessageSocket.js.map +1 -1
- package/build/src/start/server/metro/dev-server/createMetroMiddleware.js +9 -2
- package/build/src/start/server/metro/dev-server/createMetroMiddleware.js.map +1 -1
- package/build/src/start/server/metro/dev-server/utils/socketMessages.js +3 -3
- package/build/src/start/server/metro/dev-server/utils/socketMessages.js.map +1 -1
- package/build/src/start/server/metro/errors/FailedToResolveNativeOnlyModuleError.js.map +1 -1
- package/build/src/start/server/metro/externals.js +4 -4
- package/build/src/start/server/metro/externals.js.map +1 -1
- package/build/src/start/server/metro/fetchRouterManifest.js +3 -3
- package/build/src/start/server/metro/fetchRouterManifest.js.map +1 -1
- package/build/src/start/server/metro/getCssModulesFromBundler.js +3 -3
- package/build/src/start/server/metro/getCssModulesFromBundler.js.map +1 -1
- package/build/src/start/server/metro/instantiateMetro.js +141 -57
- package/build/src/start/server/metro/instantiateMetro.js.map +1 -1
- package/build/src/start/server/metro/log-box/LogBoxLog.js.map +1 -1
- package/build/src/start/server/metro/log-box/LogBoxSymbolication.js +4 -4
- package/build/src/start/server/metro/log-box/LogBoxSymbolication.js.map +1 -1
- package/build/src/start/server/metro/log-box/formatProjectFilePath.js +3 -3
- package/build/src/start/server/metro/log-box/formatProjectFilePath.js.map +1 -1
- package/build/src/start/server/metro/metroErrorInterface.js +16 -13
- package/build/src/start/server/metro/metroErrorInterface.js.map +1 -1
- package/build/src/start/server/metro/metroErrors.js +3 -3
- package/build/src/start/server/metro/metroErrors.js.map +1 -1
- package/build/src/start/server/metro/metroWatchTypeScriptFiles.js +48 -16
- package/build/src/start/server/metro/metroWatchTypeScriptFiles.js.map +1 -1
- package/build/src/start/server/metro/resolveLoader.js +3 -3
- package/build/src/start/server/metro/resolveLoader.js.map +1 -1
- package/build/src/start/server/metro/router.js +23 -14
- package/build/src/start/server/metro/router.js.map +1 -1
- package/build/src/start/server/metro/runServer-fork.js +13 -10
- package/build/src/start/server/metro/runServer-fork.js.map +1 -1
- package/build/src/start/server/metro/serializeHtml.js +29 -13
- package/build/src/start/server/metro/serializeHtml.js.map +1 -1
- package/build/src/start/server/metro/waitForMetroToObserveTypeScriptFile.js +36 -34
- package/build/src/start/server/metro/waitForMetroToObserveTypeScriptFile.js.map +1 -1
- package/build/src/start/server/metro/withMetroErrorReportingResolver.js +53 -30
- package/build/src/start/server/metro/withMetroErrorReportingResolver.js.map +1 -1
- package/build/src/start/server/metro/withMetroMultiPlatform.js +187 -126
- package/build/src/start/server/metro/withMetroMultiPlatform.js.map +1 -1
- package/build/src/start/server/metro/withMetroResolvers.js +4 -4
- package/build/src/start/server/metro/withMetroResolvers.js.map +1 -1
- package/build/src/start/server/middleware/ContextModuleSourceMapsMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/CorsMiddleware.js +3 -3
- package/build/src/start/server/middleware/CorsMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/CreateFileMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/DevToolsPluginMiddleware.js +60 -9
- package/build/src/start/server/middleware/DevToolsPluginMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/DomComponentsMiddleware.js +30 -17
- package/build/src/start/server/middleware/DomComponentsMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js +6 -4
- package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/ExpoMiddleware.js +3 -3
- package/build/src/start/server/middleware/ExpoMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/FaviconMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/HistoryFallbackMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/InterstitialPageMiddleware.js +13 -8
- package/build/src/start/server/middleware/InterstitialPageMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/ManifestMiddleware.js +19 -47
- package/build/src/start/server/middleware/ManifestMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/OpenMiddleware.js +150 -0
- package/build/src/start/server/middleware/OpenMiddleware.js.map +1 -0
- package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js +13 -4
- package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/ServeStaticMiddleware.js +2 -9
- package/build/src/start/server/middleware/ServeStaticMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/domPolyfills.js +60 -0
- package/build/src/start/server/middleware/domPolyfills.js.map +1 -0
- package/build/src/start/server/middleware/inspector/JsInspector.js +6 -31
- package/build/src/start/server/middleware/inspector/JsInspector.js.map +1 -1
- package/build/src/start/server/middleware/inspector/createJsInspectorMiddleware.js +14 -24
- package/build/src/start/server/middleware/inspector/createJsInspectorMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/inspector/middlwareMutations.js +3 -3
- package/build/src/start/server/middleware/inspector/middlwareMutations.js.map +1 -1
- package/build/src/start/server/middleware/metroOptions.js +15 -14
- package/build/src/start/server/middleware/metroOptions.js.map +1 -1
- package/build/src/start/server/middleware/mutations.js +3 -3
- package/build/src/start/server/middleware/mutations.js.map +1 -1
- package/build/src/start/server/middleware/openHandlers.js +157 -0
- package/build/src/start/server/middleware/openHandlers.js.map +1 -0
- package/build/src/start/server/middleware/resolveAssets.js +4 -4
- package/build/src/start/server/middleware/resolveAssets.js.map +1 -1
- package/build/src/start/server/middleware/resolvePlatform.js +9 -7
- package/build/src/start/server/middleware/resolvePlatform.js.map +1 -1
- package/build/src/start/server/middleware/resolveRuntimeVersionWithExpoUpdatesAsync.js.map +1 -1
- package/build/src/start/server/openPlatforms.js.map +1 -1
- package/build/src/start/server/platformBundlers.js +3 -1
- package/build/src/start/server/platformBundlers.js.map +1 -1
- package/build/src/start/server/serverLogLikeMetro.js +13 -36
- package/build/src/start/server/serverLogLikeMetro.js.map +1 -1
- package/build/src/start/server/type-generation/expo-env.js +3 -3
- package/build/src/start/server/type-generation/expo-env.js.map +1 -1
- package/build/src/start/server/type-generation/routes.js +14 -55
- package/build/src/start/server/type-generation/routes.js.map +1 -1
- package/build/src/start/server/type-generation/startTypescriptTypeGeneration.js.map +1 -1
- package/build/src/start/server/type-generation/tsconfig.js +5 -5
- package/build/src/start/server/type-generation/tsconfig.js.map +1 -1
- package/build/src/start/server/webTemplate.js +12 -10
- package/build/src/start/server/webTemplate.js.map +1 -1
- package/build/src/start/server/webpack/WebpackBundlerDevServer.js +3 -3
- package/build/src/start/server/webpack/WebpackBundlerDevServer.js.map +1 -1
- package/build/src/start/server/webpack/formatWebpackMessages.js.map +1 -1
- package/build/src/start/server/webpack/resolveFromProject.js +4 -4
- package/build/src/start/server/webpack/resolveFromProject.js.map +1 -1
- package/build/src/start/server/webpack/tls.js +3 -3
- package/build/src/start/server/webpack/tls.js.map +1 -1
- package/build/src/start/startAsync.js +21 -11
- package/build/src/start/startAsync.js.map +1 -1
- package/build/src/types.d.ts +2 -0
- package/build/src/utils/FileNotifier.js +1 -1
- package/build/src/utils/FileNotifier.js.map +1 -1
- package/build/src/utils/args.js +5 -5
- package/build/src/utils/args.js.map +1 -1
- package/build/src/utils/array.js +8 -8
- package/build/src/utils/array.js.map +1 -1
- package/build/src/utils/build-cache-providers/helpers.js +4 -4
- package/build/src/utils/build-cache-providers/helpers.js.map +1 -1
- package/build/src/utils/build-cache-providers/index.js +5 -5
- package/build/src/utils/build-cache-providers/index.js.map +1 -1
- package/build/src/utils/cocoapods.js +5 -5
- package/build/src/utils/cocoapods.js.map +1 -1
- package/build/src/utils/codesigning.js +12 -6
- package/build/src/utils/codesigning.js.map +1 -1
- package/build/src/utils/composeMetroIgnorePatterns.js +69 -0
- package/build/src/utils/composeMetroIgnorePatterns.js.map +1 -0
- package/build/src/utils/createTempPath.js +3 -3
- package/build/src/utils/createTempPath.js.map +1 -1
- package/build/src/utils/delay.js +4 -4
- package/build/src/utils/delay.js.map +1 -1
- package/build/src/utils/dir.js +21 -11
- package/build/src/utils/dir.js.map +1 -1
- package/build/src/utils/downloadAppAsync.js.map +1 -1
- package/build/src/utils/downloadExpoGoAsync.js +4 -4
- package/build/src/utils/downloadExpoGoAsync.js.map +1 -1
- package/build/src/utils/editor.js +4 -4
- package/build/src/utils/editor.js.map +1 -1
- package/build/src/utils/env.js +39 -13
- package/build/src/utils/env.js.map +1 -1
- package/build/src/utils/errors.js +6 -6
- package/build/src/utils/errors.js.map +1 -1
- package/build/src/utils/exit.js +15 -19
- package/build/src/utils/exit.js.map +1 -1
- package/build/src/utils/expoUpdatesCli.js +5 -5
- package/build/src/utils/expoUpdatesCli.js.map +1 -1
- package/build/src/utils/fetch.js +4 -4
- package/build/src/utils/fetch.js.map +1 -1
- package/build/src/utils/filePath.js +3 -29
- package/build/src/utils/filePath.js.map +1 -1
- package/build/src/utils/findUp.js +3 -3
- package/build/src/utils/findUp.js.map +1 -1
- package/build/src/utils/fn.js +3 -3
- package/build/src/utils/fn.js.map +1 -1
- package/build/src/utils/freeport.js +3 -3
- package/build/src/utils/freeport.js.map +1 -1
- package/build/src/utils/getOrPromptApplicationId.js +3 -5
- package/build/src/utils/getOrPromptApplicationId.js.map +1 -1
- package/build/src/utils/getRunningProcess.js +5 -5
- package/build/src/utils/getRunningProcess.js.map +1 -1
- package/build/src/utils/git.js +3 -3
- package/build/src/utils/git.js.map +1 -1
- package/build/src/utils/glob.js +3 -3
- package/build/src/utils/glob.js.map +1 -1
- package/build/src/utils/ip.js +4 -4
- package/build/src/utils/ip.js.map +1 -1
- package/build/src/utils/link.js +3 -3
- package/build/src/utils/link.js.map +1 -1
- package/build/src/utils/mergeGitIgnorePaths.js +10 -10
- package/build/src/utils/mergeGitIgnorePaths.js.map +1 -1
- package/build/src/utils/modifyConfigAsync.js +3 -3
- package/build/src/utils/modifyConfigAsync.js.map +1 -1
- package/build/src/utils/net.js +23 -4
- package/build/src/utils/net.js.map +1 -1
- package/build/src/utils/nodeEnv.js +6 -6
- package/build/src/utils/nodeEnv.js.map +1 -1
- package/build/src/utils/npm.js +10 -9
- package/build/src/utils/npm.js.map +1 -1
- package/build/src/utils/obj.js +4 -4
- package/build/src/utils/obj.js.map +1 -1
- package/build/src/utils/open.js +240 -11
- package/build/src/utils/open.js.map +1 -1
- package/build/src/utils/ora.js +4 -4
- package/build/src/utils/ora.js.map +1 -1
- package/build/src/utils/plist.js +5 -4
- package/build/src/utils/plist.js.map +1 -1
- package/build/src/utils/port.js +12 -5
- package/build/src/utils/port.js.map +1 -1
- package/build/src/utils/progress.js +4 -4
- package/build/src/utils/progress.js.map +1 -1
- package/build/src/utils/prompts.js +11 -11
- package/build/src/utils/prompts.js.map +1 -1
- package/build/src/utils/qr.js +5 -4
- package/build/src/utils/qr.js.map +1 -1
- package/build/src/utils/resolveArgs.js +10 -9
- package/build/src/utils/resolveArgs.js.map +1 -1
- package/build/src/utils/scheme.js +4 -4
- package/build/src/utils/scheme.js.map +1 -1
- package/build/src/utils/strings.js.map +1 -1
- package/build/src/utils/tar.js +8 -7
- package/build/src/utils/tar.js.map +1 -1
- package/build/src/utils/telemetry/Telemetry.js +5 -0
- package/build/src/utils/telemetry/Telemetry.js.map +1 -1
- package/build/src/utils/telemetry/clients/FetchClient.js +1 -1
- package/build/src/utils/telemetry/clients/FetchClient.js.map +1 -1
- package/build/src/utils/telemetry/clients/flushFetchDetached.js +5 -1
- package/build/src/utils/telemetry/clients/flushFetchDetached.js.map +1 -1
- package/build/src/utils/telemetry/index.js +4 -4
- package/build/src/utils/telemetry/index.js.map +1 -1
- package/build/src/utils/telemetry/utils/agent.js +42 -0
- package/build/src/utils/telemetry/utils/agent.js.map +1 -0
- package/build/src/utils/telemetry/utils/constants.js +3 -3
- package/build/src/utils/telemetry/utils/constants.js.map +1 -1
- package/build/src/utils/telemetry/utils/context.js +3 -2
- package/build/src/utils/telemetry/utils/context.js.map +1 -1
- package/build/src/utils/url.js +5 -17
- package/build/src/utils/url.js.map +1 -1
- package/build/src/utils/validateApplicationId.js +12 -12
- package/build/src/utils/validateApplicationId.js.map +1 -1
- package/build/src/utils/variadic.js +4 -4
- package/build/src/utils/variadic.js.map +1 -1
- package/build/src/whoami/index.js.map +1 -1
- package/changes.json +16 -36
- package/main.js +3 -0
- package/package.json +86 -90
- package/static/loading-page/index.html +45 -3
- package/static/template/+html.tsx +14 -5
- package/add-module.js +0 -8
- package/build/src/start/server/middleware/inspector/CdpClient.js +0 -81
- package/build/src/start/server/middleware/inspector/CdpClient.js.map +0 -1
- package/build/src/utils/resolveGlobal.js +0 -195
- package/build/src/utils/resolveGlobal.js.map +0 -1
- package/build/src/utils/resolveWatchFolders.js +0 -67
- package/build/src/utils/resolveWatchFolders.js.map +0 -1
- package/build/src/utils/tsconfig/evaluateTsConfig.js +0 -87
- package/build/src/utils/tsconfig/evaluateTsConfig.js.map +0 -1
- package/build/src/utils/tsconfig/loadTsConfigPaths.js +0 -84
- package/build/src/utils/tsconfig/loadTsConfigPaths.js.map +0 -1
- package/build/src/utils/tsconfig/matchTsConfigPathAlias.js +0 -94
- package/build/src/utils/tsconfig/matchTsConfigPathAlias.js.map +0 -1
- package/build/src/utils/tsconfig/resolveWithTsConfigPaths.js +0 -62
- package/build/src/utils/tsconfig/resolveWithTsConfigPaths.js.map +0 -1
|
@@ -10,14 +10,14 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
10
10
|
function _export(target, all) {
|
|
11
11
|
for(var name in all)Object.defineProperty(target, name, {
|
|
12
12
|
enumerable: true,
|
|
13
|
-
get: all
|
|
13
|
+
get: Object.getOwnPropertyDescriptor(all, name).get
|
|
14
14
|
});
|
|
15
15
|
}
|
|
16
16
|
_export(exports, {
|
|
17
|
-
MetroBundlerDevServer
|
|
17
|
+
get MetroBundlerDevServer () {
|
|
18
18
|
return MetroBundlerDevServer;
|
|
19
19
|
},
|
|
20
|
-
event
|
|
20
|
+
get event () {
|
|
21
21
|
return event;
|
|
22
22
|
}
|
|
23
23
|
});
|
|
@@ -42,13 +42,6 @@ function _baseJSBundle() {
|
|
|
42
42
|
};
|
|
43
43
|
return data;
|
|
44
44
|
}
|
|
45
|
-
function _sourceMapGenerator() {
|
|
46
|
-
const data = require("@expo/metro/metro/DeltaBundler/Serializers/sourceMapGenerator");
|
|
47
|
-
_sourceMapGenerator = function() {
|
|
48
|
-
return data;
|
|
49
|
-
};
|
|
50
|
-
return data;
|
|
51
|
-
}
|
|
52
45
|
function _bundleToString() {
|
|
53
46
|
const data = /*#__PURE__*/ _interop_require_default(require("@expo/metro/metro/lib/bundleToString"));
|
|
54
47
|
_bundleToString = function() {
|
|
@@ -63,6 +56,13 @@ function _getGraphId() {
|
|
|
63
56
|
};
|
|
64
57
|
return data;
|
|
65
58
|
}
|
|
59
|
+
function _sourceMap() {
|
|
60
|
+
const data = require("@expo/metro-config/build/serializer/sourceMap");
|
|
61
|
+
_sourceMap = function() {
|
|
62
|
+
return data;
|
|
63
|
+
};
|
|
64
|
+
return data;
|
|
65
|
+
}
|
|
66
66
|
function _assert() {
|
|
67
67
|
const data = /*#__PURE__*/ _interop_require_default(require("assert"));
|
|
68
68
|
_assert = function() {
|
|
@@ -84,13 +84,6 @@ function _private() {
|
|
|
84
84
|
};
|
|
85
85
|
return data;
|
|
86
86
|
}
|
|
87
|
-
function _https() {
|
|
88
|
-
const data = /*#__PURE__*/ _interop_require_default(require("https"));
|
|
89
|
-
_https = function() {
|
|
90
|
-
return data;
|
|
91
|
-
};
|
|
92
|
-
return data;
|
|
93
|
-
}
|
|
94
87
|
function _path() {
|
|
95
88
|
const data = /*#__PURE__*/ _interop_require_default(require("path"));
|
|
96
89
|
_path = function() {
|
|
@@ -114,6 +107,8 @@ const _errors = require("../../../utils/errors");
|
|
|
114
107
|
const _filePath = require("../../../utils/filePath");
|
|
115
108
|
const _nodeEnv = require("../../../utils/nodeEnv");
|
|
116
109
|
const _port = require("../../../utils/port");
|
|
110
|
+
const _AndroidAppIdResolver = require("../../platforms/android/AndroidAppIdResolver");
|
|
111
|
+
const _AppleAppIdResolver = require("../../platforms/ios/AppleAppIdResolver");
|
|
117
112
|
const _BundlerDevServer = require("../BundlerDevServer");
|
|
118
113
|
const _getStaticRenderFunctions = require("../getStaticRenderFunctions");
|
|
119
114
|
const _resolveLoader = require("./resolveLoader");
|
|
@@ -124,11 +119,12 @@ const _DomComponentsMiddleware = require("../middleware/DomComponentsMiddleware"
|
|
|
124
119
|
const _FaviconMiddleware = require("../middleware/FaviconMiddleware");
|
|
125
120
|
const _HistoryFallbackMiddleware = require("../middleware/HistoryFallbackMiddleware");
|
|
126
121
|
const _InterstitialPageMiddleware = require("../middleware/InterstitialPageMiddleware");
|
|
127
|
-
const
|
|
122
|
+
const _OpenMiddleware = require("../middleware/OpenMiddleware");
|
|
128
123
|
const _RuntimeRedirectMiddleware = require("../middleware/RuntimeRedirectMiddleware");
|
|
129
124
|
const _ServeStaticMiddleware = require("../middleware/ServeStaticMiddleware");
|
|
130
125
|
const _metroOptions = require("../middleware/metroOptions");
|
|
131
126
|
const _mutations = require("../middleware/mutations");
|
|
127
|
+
const _openHandlers = require("../middleware/openHandlers");
|
|
132
128
|
const _startTypescriptTypeGeneration = require("../type-generation/startTypescriptTypeGeneration");
|
|
133
129
|
function _interop_require_default(obj) {
|
|
134
130
|
return obj && obj.__esModule ? obj : {
|
|
@@ -429,7 +425,7 @@ class MetroBundlerDevServer extends _BundlerDevServer.BundlerDevServer {
|
|
|
429
425
|
async getStaticResourcesAsync({ includeSourceMaps, mainModuleName, clientBoundaries = this.instanceMetroOptions.clientBoundaries ?? [], platform = 'web' } = {}) {
|
|
430
426
|
const { mode, minify, isExporting, baseUrl, reactCompiler, routerRoot, asyncRoutes } = this.instanceMetroOptions;
|
|
431
427
|
(0, _assert().default)(mode != null && isExporting != null && baseUrl != null && routerRoot != null && reactCompiler != null && asyncRoutes != null, 'The server must be started before calling getStaticResourcesAsync.');
|
|
432
|
-
const resolvedMainModuleName = mainModuleName ?? './' + (0,
|
|
428
|
+
const resolvedMainModuleName = mainModuleName ?? './' + (0, _paths().resolveRelativeEntryPoint)(this.projectRoot, {
|
|
433
429
|
platform
|
|
434
430
|
});
|
|
435
431
|
return await this.metroImportAsArtifactsAsync(resolvedMainModuleName, {
|
|
@@ -450,9 +446,48 @@ class MetroBundlerDevServer extends _BundlerDevServer.BundlerDevServer {
|
|
|
450
446
|
bytecode: false
|
|
451
447
|
});
|
|
452
448
|
}
|
|
449
|
+
async getDevServerRenderOptionsAsync({ location, route, request, resolveMetadata }) {
|
|
450
|
+
var _exp_extra_router, _exp_extra;
|
|
451
|
+
const { exp } = (0, _config().getConfig)(this.projectRoot);
|
|
452
|
+
const resolvedLoaderRoute = (0, _resolveLoader.fromServerManifestRoute)(location.pathname, route);
|
|
453
|
+
const params = (resolvedLoaderRoute == null ? void 0 : resolvedLoaderRoute.params) ?? {};
|
|
454
|
+
const renderOptions = {
|
|
455
|
+
params
|
|
456
|
+
};
|
|
457
|
+
if (resolveMetadata) {
|
|
458
|
+
// TODO(@hassankhan): Revisit if we support request-less `generateMetadata()` during SSG
|
|
459
|
+
if (!request) {
|
|
460
|
+
throw new _errors.CommandError('SSR_STREAMING_REQUEST_REQUIRED', 'Invariant violation: development streaming SSR requires a request to resolve metadata.');
|
|
461
|
+
}
|
|
462
|
+
renderOptions.metadata = await resolveMetadata({
|
|
463
|
+
route: {
|
|
464
|
+
file: route.file,
|
|
465
|
+
page: route.page
|
|
466
|
+
},
|
|
467
|
+
request,
|
|
468
|
+
params
|
|
469
|
+
});
|
|
470
|
+
}
|
|
471
|
+
const useServerDataLoaders = ((_exp_extra = exp.extra) == null ? void 0 : (_exp_extra_router = _exp_extra.router) == null ? void 0 : _exp_extra_router.unstable_useServerDataLoaders) === true;
|
|
472
|
+
if (!useServerDataLoaders || !resolvedLoaderRoute) {
|
|
473
|
+
return renderOptions;
|
|
474
|
+
}
|
|
475
|
+
const loaderResult = await this.executeServerDataLoaderAsync(location, resolvedLoaderRoute, request);
|
|
476
|
+
if (!loaderResult) {
|
|
477
|
+
return renderOptions;
|
|
478
|
+
}
|
|
479
|
+
const loaderData = loaderResult instanceof Response ? await loaderResult.json() : loaderResult;
|
|
480
|
+
const resolvedLoaderKey = (0, _private().resolveLoaderContextKey)(resolvedLoaderRoute.contextKey, resolvedLoaderRoute.params);
|
|
481
|
+
renderOptions.loader = {
|
|
482
|
+
data: loaderData ?? null,
|
|
483
|
+
key: resolvedLoaderKey
|
|
484
|
+
};
|
|
485
|
+
return renderOptions;
|
|
486
|
+
}
|
|
453
487
|
/**
|
|
454
488
|
* This function is invoked when running in development via `expo start`
|
|
455
489
|
*/ async getStaticPageAsync(pathname, route, request) {
|
|
490
|
+
var _exp_web, _exp_extra_router, _exp_extra;
|
|
456
491
|
const { exp } = (0, _config().getConfig)(this.projectRoot);
|
|
457
492
|
const { mode, isExporting, clientBoundaries, baseUrl, reactCompiler, routerRoot, asyncRoutes } = this.instanceMetroOptions;
|
|
458
493
|
(0, _assert().default)(mode != null && isExporting != null && baseUrl != null && reactCompiler != null && routerRoot != null && asyncRoutes != null, 'The server must be started before calling getStaticPageAsync.');
|
|
@@ -463,7 +498,7 @@ class MetroBundlerDevServer extends _BundlerDevServer.BundlerDevServer {
|
|
|
463
498
|
mode,
|
|
464
499
|
environment: 'client',
|
|
465
500
|
reactCompiler,
|
|
466
|
-
mainModuleName: (0,
|
|
501
|
+
mainModuleName: (0, _paths().resolveRelativeEntryPoint)(this.projectRoot, {
|
|
467
502
|
platform
|
|
468
503
|
}),
|
|
469
504
|
lazy: !_env.env.EXPO_NO_METRO_LAZY,
|
|
@@ -474,8 +509,47 @@ class MetroBundlerDevServer extends _BundlerDevServer.BundlerDevServer {
|
|
|
474
509
|
clientBoundaries,
|
|
475
510
|
bytecode: false
|
|
476
511
|
});
|
|
512
|
+
const isSSREnabled = ((_exp_web = exp.web) == null ? void 0 : _exp_web.output) === 'server' && ((_exp_extra = exp.extra) == null ? void 0 : (_exp_extra_router = _exp_extra.router) == null ? void 0 : _exp_extra_router.unstable_useServerRendering) === true;
|
|
513
|
+
const location = new URL(pathname, this.getDevServerUrlOrAssert());
|
|
514
|
+
if (isSSREnabled) {
|
|
515
|
+
if (!request) {
|
|
516
|
+
throw new _errors.CommandError('SSR_STREAMING_REQUEST_REQUIRED', 'Invariant violation: development streaming SSR requires a request.');
|
|
517
|
+
}
|
|
518
|
+
const { getStreamingContent, resolveMetadata } = await this.ssrLoadModule(require.resolve('@expo/router-server/node/render.js'), {
|
|
519
|
+
// Development streaming SSR intentionally stays on the non-RSC server renderer.
|
|
520
|
+
environment: 'node',
|
|
521
|
+
minify: false,
|
|
522
|
+
isExporting,
|
|
523
|
+
platform
|
|
524
|
+
});
|
|
525
|
+
const { artifacts: resources } = await this.getStaticResourcesAsync({
|
|
526
|
+
clientBoundaries: []
|
|
527
|
+
});
|
|
528
|
+
const { cssHrefs, externalCss, inlineCss } = getStreamingCssAssetsFromSerialAssets(resources);
|
|
529
|
+
const { loader, metadata } = await this.getDevServerRenderOptionsAsync({
|
|
530
|
+
location,
|
|
531
|
+
route,
|
|
532
|
+
request,
|
|
533
|
+
resolveMetadata
|
|
534
|
+
});
|
|
535
|
+
const content = await getStreamingContent(location, {
|
|
536
|
+
loader,
|
|
537
|
+
metadata,
|
|
538
|
+
request: request,
|
|
539
|
+
assets: {
|
|
540
|
+
css: cssHrefs,
|
|
541
|
+
externalCss,
|
|
542
|
+
inlineCss,
|
|
543
|
+
js: [
|
|
544
|
+
devBundleUrlPathname
|
|
545
|
+
]
|
|
546
|
+
}
|
|
547
|
+
});
|
|
548
|
+
return {
|
|
549
|
+
content
|
|
550
|
+
};
|
|
551
|
+
}
|
|
477
552
|
const bundleStaticHtml = async ()=>{
|
|
478
|
-
var _exp_extra_router, _exp_extra;
|
|
479
553
|
const { getStaticContent } = await this.ssrLoadModule(require.resolve('@expo/router-server/node/render.js'), {
|
|
480
554
|
// This must always use the legacy rendering resolution (no `react-server`) because it leverages
|
|
481
555
|
// the previous React SSG utilities which aren't available in React 19.
|
|
@@ -484,27 +558,14 @@ class MetroBundlerDevServer extends _BundlerDevServer.BundlerDevServer {
|
|
|
484
558
|
isExporting,
|
|
485
559
|
platform
|
|
486
560
|
});
|
|
487
|
-
const
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
}
|
|
492
|
-
const resolvedLoaderRoute = (0, _resolveLoader.fromServerManifestRoute)(location.pathname, route);
|
|
493
|
-
if (!resolvedLoaderRoute) {
|
|
494
|
-
return await getStaticContent(location);
|
|
495
|
-
}
|
|
496
|
-
const loaderResult = await this.executeServerDataLoaderAsync(location, resolvedLoaderRoute, request);
|
|
497
|
-
if (!loaderResult) {
|
|
498
|
-
return await getStaticContent(location);
|
|
499
|
-
}
|
|
500
|
-
const loaderData = await loaderResult.json();
|
|
501
|
-
const resolvedLoaderKey = (0, _private().resolveLoaderContextKey)(resolvedLoaderRoute.contextKey, resolvedLoaderRoute.params);
|
|
502
|
-
return await getStaticContent(location, {
|
|
503
|
-
loader: {
|
|
504
|
-
data: loaderData,
|
|
505
|
-
key: resolvedLoaderKey
|
|
506
|
-
}
|
|
561
|
+
const { loader } = await this.getDevServerRenderOptionsAsync({
|
|
562
|
+
location,
|
|
563
|
+
route,
|
|
564
|
+
request
|
|
507
565
|
});
|
|
566
|
+
return await getStaticContent(location, loader ? {
|
|
567
|
+
loader
|
|
568
|
+
} : undefined);
|
|
508
569
|
};
|
|
509
570
|
const [{ artifacts: resources }, staticHtml] = await Promise.all([
|
|
510
571
|
this.getStaticResourcesAsync({
|
|
@@ -603,7 +664,8 @@ class MetroBundlerDevServer extends _BundlerDevServer.BundlerDevServer {
|
|
|
603
664
|
modulesOnly: expoBundleOptions.modulesOnly ?? false,
|
|
604
665
|
runModule: expoBundleOptions.runModule ?? true,
|
|
605
666
|
sourceUrl: expoBundleOptions.sourceUrl,
|
|
606
|
-
sourceMapUrl: extraOptions.sourceMapUrl ?? expoBundleOptions.sourceMapUrl
|
|
667
|
+
sourceMapUrl: extraOptions.sourceMapUrl ?? expoBundleOptions.sourceMapUrl,
|
|
668
|
+
excludeSource: expoBundleOptions.serializerOptions.excludeSource ?? false
|
|
607
669
|
},
|
|
608
670
|
transformOptions
|
|
609
671
|
});
|
|
@@ -640,15 +702,6 @@ class MetroBundlerDevServer extends _BundlerDevServer.BundlerDevServer {
|
|
|
640
702
|
// https://github.com/facebook/metro/blob/2405f2f6c37a1b641cc379b9c733b1eff0c1c2a1/packages/metro/src/lib/parseOptionsFromUrl.js#L55-L87
|
|
641
703
|
const { filename, bundle, map, ...rest } = await this.metroLoadModuleContents(filePath, opts);
|
|
642
704
|
const scriptContents = wrapBundle(bundle);
|
|
643
|
-
if (map) {
|
|
644
|
-
debug('Registering SSR source map for:', filename);
|
|
645
|
-
_getStaticRenderFunctions.cachedSourceMaps.set(filename, {
|
|
646
|
-
url: this.projectRoot,
|
|
647
|
-
map
|
|
648
|
-
});
|
|
649
|
-
} else {
|
|
650
|
-
debug('No SSR source map found for:', filename);
|
|
651
|
-
}
|
|
652
705
|
return {
|
|
653
706
|
...rest,
|
|
654
707
|
src: scriptContents,
|
|
@@ -873,14 +926,16 @@ class MetroBundlerDevServer extends _BundlerDevServer.BundlerDevServer {
|
|
|
873
926
|
apiRoutes: hasApiRoutes,
|
|
874
927
|
exporting: !!options.isExporting
|
|
875
928
|
});
|
|
876
|
-
const { metro, hmrServer, server, middleware, messageSocket } = await (0, _instantiateMetro.instantiateMetroAsync)(this, parsedOptions, {
|
|
929
|
+
const { metro, hmrServer, address, server, middleware, messageSocket } = await (0, _instantiateMetro.instantiateMetroAsync)(this, parsedOptions, {
|
|
877
930
|
isExporting: !!options.isExporting,
|
|
878
|
-
exp
|
|
931
|
+
exp,
|
|
932
|
+
devToolsPluginManager: this.devToolsPluginManager
|
|
879
933
|
});
|
|
880
|
-
const protocol = server instanceof _https().default.Server ? 'https' : 'http';
|
|
881
934
|
// Required for symbolication:
|
|
882
|
-
|
|
935
|
+
const serverBaseUrl = `${(address == null ? void 0 : address.protocol) ?? 'http'}://localhost:${(address == null ? void 0 : address.port) ?? options.port}`;
|
|
936
|
+
process.env.EXPO_DEV_SERVER_ORIGIN = serverBaseUrl;
|
|
883
937
|
if (!options.isExporting) {
|
|
938
|
+
var _metro__config_server, _metro__config;
|
|
884
939
|
const manifestMiddleware = await this.getManifestMiddlewareAsync(options);
|
|
885
940
|
// Important that we noop source maps for context modules as soon as possible.
|
|
886
941
|
(0, _mutations.prependMiddleware)(middleware, new _ContextModuleSourceMapsMiddleware.ContextModuleSourceMapsMiddleware().getHandler());
|
|
@@ -910,14 +965,54 @@ class MetroBundlerDevServer extends _BundlerDevServer.BundlerDevServer {
|
|
|
910
965
|
}
|
|
911
966
|
});
|
|
912
967
|
middleware.use(deepLinkMiddleware.getHandler());
|
|
913
|
-
const
|
|
968
|
+
const getHostSupport = (platform)=>{
|
|
969
|
+
if (platform === 'ios' && process.platform !== 'darwin') {
|
|
970
|
+
return {
|
|
971
|
+
canOpen: false,
|
|
972
|
+
reason: `iOS simulators require macOS with Xcode installed; this dev server is running on ${process.platform}.`
|
|
973
|
+
};
|
|
974
|
+
}
|
|
975
|
+
return {
|
|
976
|
+
canOpen: true
|
|
977
|
+
};
|
|
978
|
+
};
|
|
979
|
+
// Read all dev-server state live — pressing `s` in the terminal toggles `isDevClient`
|
|
980
|
+
// and the scheme, and `expo-dev-client` can be installed mid-run (re-resolved by
|
|
981
|
+
// isRedirectPageEnabled on every call).
|
|
982
|
+
const openMiddleware = new _OpenMiddleware.OpenMiddleware(this.projectRoot, {
|
|
983
|
+
serverBaseUrl,
|
|
984
|
+
getHostSupport,
|
|
985
|
+
getInfo: (0, _openHandlers.createInfoHandler)({
|
|
986
|
+
urlCreator: this.getUrlCreator(),
|
|
987
|
+
getIsDevClient: ()=>this.isDevClient,
|
|
988
|
+
getIsRedirectPageEnabled: ()=>this.isRedirectPageEnabled(),
|
|
989
|
+
getAppId: async (platform)=>{
|
|
990
|
+
if (platform === 'web') return null;
|
|
991
|
+
const resolver = platform === 'ios' ? new _AppleAppIdResolver.AppleAppIdResolver(this.projectRoot) : new _AndroidAppIdResolver.AndroidAppIdResolver(this.projectRoot);
|
|
992
|
+
try {
|
|
993
|
+
return await resolver.getAppIdAsync();
|
|
994
|
+
} catch {
|
|
995
|
+
// Surfacing the error would block the dry-run; consumers can detect the missing id
|
|
996
|
+
// from `appId: null` and prompt the user to configure ios.bundleIdentifier /
|
|
997
|
+
// android.package.
|
|
998
|
+
return null;
|
|
999
|
+
}
|
|
1000
|
+
}
|
|
1001
|
+
}),
|
|
1002
|
+
open: (0, _openHandlers.createOpen)({
|
|
1003
|
+
getIsDevClient: ()=>this.isDevClient,
|
|
1004
|
+
openPlatformAsync: (target, resolver)=>this.openPlatformAsync(target, resolver)
|
|
1005
|
+
})
|
|
1006
|
+
});
|
|
1007
|
+
middleware.use(openMiddleware.getHandler());
|
|
914
1008
|
const domComponentRenderer = (0, _DomComponentsMiddleware.createDomComponentsMiddleware)({
|
|
915
|
-
metroRoot: serverRoot,
|
|
916
1009
|
projectRoot: this.projectRoot
|
|
917
1010
|
}, instanceMetroOptions);
|
|
918
1011
|
// Add support for DOM components.
|
|
919
1012
|
// TODO: Maybe put behind a flag for now?
|
|
920
1013
|
middleware.use(domComponentRenderer);
|
|
1014
|
+
// NOTE: Optional is to accommodate mocks in tests
|
|
1015
|
+
const serverRoot = ((_metro__config = metro._config) == null ? void 0 : (_metro__config_server = _metro__config.server) == null ? void 0 : _metro__config_server.unstable_serverRoot) ?? this.projectRoot;
|
|
921
1016
|
middleware.use(new _CreateFileMiddleware.CreateFileMiddleware({
|
|
922
1017
|
metroRoot: serverRoot,
|
|
923
1018
|
projectRoot: this.projectRoot,
|
|
@@ -950,8 +1045,7 @@ class MetroBundlerDevServer extends _BundlerDevServer.BundlerDevServer {
|
|
|
950
1045
|
(0, _waitForMetroToObserveTypeScriptFile.observeAnyFileChanges)({
|
|
951
1046
|
metro,
|
|
952
1047
|
server
|
|
953
|
-
}, (
|
|
954
|
-
var _exp_extra_router, _exp_extra;
|
|
1048
|
+
}, ({ changes })=>{
|
|
955
1049
|
if (hasApiRoutes) {
|
|
956
1050
|
// NOTE(EvanBacon): We aren't sure what files the API routes are using so we'll just invalidate
|
|
957
1051
|
// aggressively to ensure we always have the latest. The only caching we really get here is for
|
|
@@ -960,25 +1054,15 @@ class MetroBundlerDevServer extends _BundlerDevServer.BundlerDevServer {
|
|
|
960
1054
|
// up for a lot of the overhead.
|
|
961
1055
|
this.invalidateApiRouteCache();
|
|
962
1056
|
} else if (!(0, _router.hasWarnedAboutApiRoutes)()) {
|
|
963
|
-
for (const
|
|
964
|
-
|
|
1057
|
+
for (const change of changes.addedFiles){
|
|
1058
|
+
if (// If the user did not delete a file that matches the Expo Router API Route convention, then we should warn that
|
|
965
1059
|
// API Routes are not enabled in the project.
|
|
966
|
-
|
|
967
|
-
|
|
968
|
-
event.filePath.startsWith(appDir) && (0, _router.isApiRouteConvention)(event.filePath)) {
|
|
1060
|
+
// Ensure the file is in the project's routes directory to prevent false positives in monorepos.
|
|
1061
|
+
change[0].startsWith(appDir) && (0, _router.isApiRouteConvention)(change[0])) {
|
|
969
1062
|
(0, _router.warnInvalidWebOutput)();
|
|
970
1063
|
}
|
|
971
1064
|
}
|
|
972
1065
|
}
|
|
973
|
-
// Handle loader file changes for HMR
|
|
974
|
-
if ((_exp_extra = exp.extra) == null ? void 0 : (_exp_extra_router = _exp_extra.router) == null ? void 0 : _exp_extra_router.unstable_useServerDataLoaders) {
|
|
975
|
-
for (const event of events){
|
|
976
|
-
var _event_metadata1;
|
|
977
|
-
if (((_event_metadata1 = event.metadata) == null ? void 0 : _event_metadata1.type) !== 'd') {
|
|
978
|
-
this.handleLoaderFileChange(event.filePath);
|
|
979
|
-
}
|
|
980
|
-
}
|
|
981
|
-
}
|
|
982
1066
|
});
|
|
983
1067
|
}
|
|
984
1068
|
// If React 19 is enabled, then add RSC middleware to the dev server.
|
|
@@ -1026,8 +1110,9 @@ class MetroBundlerDevServer extends _BundlerDevServer.BundlerDevServer {
|
|
|
1026
1110
|
return this.executeServerDataLoaderAsync(url, resolvedLoaderRoute, isSSREnabled ? request : undefined);
|
|
1027
1111
|
},
|
|
1028
1112
|
getStaticPageAsync: async (pathname, route, request)=>{
|
|
1029
|
-
// TODO: Add server rendering when RSC is enabled.
|
|
1030
1113
|
if (isReactServerComponentsEnabled) {
|
|
1114
|
+
// RSC development HTML intentionally stays on the existing temporary SPA/template path.
|
|
1115
|
+
// Non-RSC streaming SSR is handled by `MetroBundlerDevServer#getStaticPageAsync()`.
|
|
1031
1116
|
// NOTE: This is a temporary hack to return the SPA/template index.html in development when RSC is enabled.
|
|
1032
1117
|
// While this technically works, it doesn't provide the correct experience of server rendering the React code to HTML first.
|
|
1033
1118
|
const html = await manifestMiddleware.getSingleHtmlTemplateAsync();
|
|
@@ -1069,6 +1154,11 @@ class MetroBundlerDevServer extends _BundlerDevServer.BundlerDevServer {
|
|
|
1069
1154
|
this.metro = null;
|
|
1070
1155
|
this.hmrServer = null;
|
|
1071
1156
|
this.ssrHmrClients = new Map();
|
|
1157
|
+
for (const unlisten of this.loaderGraphListeners.values()){
|
|
1158
|
+
unlisten();
|
|
1159
|
+
}
|
|
1160
|
+
this.loaderGraphListeners.clear();
|
|
1161
|
+
this.pendingLoaderInvalidationChangeIds.clear();
|
|
1072
1162
|
callback == null ? void 0 : callback(err);
|
|
1073
1163
|
});
|
|
1074
1164
|
};
|
|
@@ -1078,11 +1168,11 @@ class MetroBundlerDevServer extends _BundlerDevServer.BundlerDevServer {
|
|
|
1078
1168
|
server,
|
|
1079
1169
|
location: {
|
|
1080
1170
|
// The port is the main thing we want to send back.
|
|
1081
|
-
port: options.port,
|
|
1171
|
+
port: (address == null ? void 0 : address.port) ?? options.port,
|
|
1082
1172
|
// localhost isn't always correct.
|
|
1083
1173
|
host: 'localhost',
|
|
1084
|
-
url:
|
|
1085
|
-
protocol
|
|
1174
|
+
url: serverBaseUrl,
|
|
1175
|
+
protocol: (address == null ? void 0 : address.protocol) ?? 'http'
|
|
1086
1176
|
},
|
|
1087
1177
|
middleware,
|
|
1088
1178
|
messageSocket
|
|
@@ -1157,6 +1247,8 @@ class MetroBundlerDevServer extends _BundlerDevServer.BundlerDevServer {
|
|
|
1157
1247
|
debug('Skipping TypeScript check because Metro is not running (headless).');
|
|
1158
1248
|
return resolve(false);
|
|
1159
1249
|
}
|
|
1250
|
+
// TODO(@kitten): This is highly inefficient. We shouldn't watch all changes to determine this
|
|
1251
|
+
// and instead use startup heuristic and do a pre-bundling check
|
|
1160
1252
|
const off = (0, _metroWatchTypeScriptFiles.metroWatchTypeScriptFiles)({
|
|
1161
1253
|
projectRoot: this.projectRoot,
|
|
1162
1254
|
server: this.instance.server,
|
|
@@ -1242,7 +1334,7 @@ class MetroBundlerDevServer extends _BundlerDevServer.BundlerDevServer {
|
|
|
1242
1334
|
if (!(apiRoute == null ? void 0 : apiRoute.src)) {
|
|
1243
1335
|
return null;
|
|
1244
1336
|
}
|
|
1245
|
-
return (0, _getStaticRenderFunctions.evalMetroNoHandling)(this.projectRoot, apiRoute.src, apiRoute.filename);
|
|
1337
|
+
return (0, _getStaticRenderFunctions.evalMetroNoHandling)(this.projectRoot, apiRoute.src, apiRoute.filename, apiRoute.map);
|
|
1246
1338
|
} catch (error) {
|
|
1247
1339
|
// Format any errors that were thrown in the global scope of the evaluation.
|
|
1248
1340
|
if (error instanceof Error) {
|
|
@@ -1300,8 +1392,6 @@ class MetroBundlerDevServer extends _BundlerDevServer.BundlerDevServer {
|
|
|
1300
1392
|
isLoaderBundle: true
|
|
1301
1393
|
});
|
|
1302
1394
|
if (routeModule.loader) {
|
|
1303
|
-
// Register this module for loader HMR
|
|
1304
|
-
this.setupLoaderHmr(modulePath);
|
|
1305
1395
|
const maybeResponse = await routeModule.loader(request, route.params);
|
|
1306
1396
|
let data;
|
|
1307
1397
|
if (maybeResponse instanceof Response) {
|
|
@@ -1378,29 +1468,48 @@ class MetroBundlerDevServer extends _BundlerDevServer.BundlerDevServer {
|
|
|
1378
1468
|
};
|
|
1379
1469
|
this.registerSsrHmrAsync(url.toString(), onReload);
|
|
1380
1470
|
}
|
|
1381
|
-
|
|
1382
|
-
|
|
1471
|
+
// Subscribe to a loader bundle's Metro graph so we can broadcast `loader-invalidate` and
|
|
1472
|
+
// drop the SSR module eval cache when the loader's dependency graph is dirtied. This avoids
|
|
1473
|
+
// the full-page reload the old stub used and keeps client state across loader edits.
|
|
1474
|
+
setupLoaderGraphListener(graphId, resolvedEntryFilePath, graph) {
|
|
1475
|
+
if (this.loaderGraphListeners.has(graphId) || !this.metro) {
|
|
1383
1476
|
return;
|
|
1384
1477
|
}
|
|
1385
|
-
this.
|
|
1386
|
-
|
|
1387
|
-
|
|
1388
|
-
|
|
1389
|
-
|
|
1390
|
-
const possibleExtensions = [
|
|
1391
|
-
'.tsx',
|
|
1392
|
-
'.ts',
|
|
1393
|
-
'.jsx',
|
|
1394
|
-
'.js'
|
|
1395
|
-
];
|
|
1396
|
-
const isLoaderFile = possibleExtensions.some((ext)=>changedFilePath === loaderPath + ext || changedFilePath === loaderPath);
|
|
1397
|
-
if (isLoaderFile) {
|
|
1398
|
-
debug('[Loader HMR] Loader file changed, triggering reload:', changedFilePath);
|
|
1399
|
-
this.broadcastMessage('sendDevCommand', {
|
|
1400
|
-
name: 'reload'
|
|
1401
|
-
});
|
|
1478
|
+
const deltaBundler = this.metro.getBundler().getDeltaBundler();
|
|
1479
|
+
const onChange = async (changeEvent)=>{
|
|
1480
|
+
debug('[Loader HMR] Graph change detected for:', resolvedEntryFilePath);
|
|
1481
|
+
if (!this.shouldBroadcastLoaderInvalidation(changeEvent == null ? void 0 : changeEvent.changeId)) {
|
|
1482
|
+
return;
|
|
1402
1483
|
}
|
|
1484
|
+
if (typeof globalThis.__c === 'function') {
|
|
1485
|
+
globalThis.__c();
|
|
1486
|
+
}
|
|
1487
|
+
this.broadcastMessage('sendDevCommand', {
|
|
1488
|
+
name: 'loader-invalidate',
|
|
1489
|
+
data: {
|
|
1490
|
+
scope: 'all'
|
|
1491
|
+
}
|
|
1492
|
+
});
|
|
1493
|
+
};
|
|
1494
|
+
const unlisten = deltaBundler.listen(graph, onChange);
|
|
1495
|
+
this.loaderGraphListeners.set(graphId, unlisten);
|
|
1496
|
+
}
|
|
1497
|
+
shouldBroadcastLoaderInvalidation(changeId) {
|
|
1498
|
+
if (!changeId) {
|
|
1499
|
+
return true;
|
|
1500
|
+
}
|
|
1501
|
+
if (this.pendingLoaderInvalidationChangeIds.has(changeId)) {
|
|
1502
|
+
return false;
|
|
1403
1503
|
}
|
|
1504
|
+
this.pendingLoaderInvalidationChangeIds.add(changeId);
|
|
1505
|
+
// All listeners for a single filesystem change are dispatched synchronously from one
|
|
1506
|
+
// DeltaCalculator EventEmitter.emit(), so dedupe collisions resolve within microseconds.
|
|
1507
|
+
// The timeout exists only to bound memory: without it, this Set would accumulate one entry
|
|
1508
|
+
// per change for the lifetime of the dev server.
|
|
1509
|
+
setTimeout(()=>{
|
|
1510
|
+
this.pendingLoaderInvalidationChangeIds.delete(changeId);
|
|
1511
|
+
}, 500);
|
|
1512
|
+
return true;
|
|
1404
1513
|
}
|
|
1405
1514
|
// Direct Metro access
|
|
1406
1515
|
// Emulates the Metro dev server .bundle endpoint without having to go through a server.
|
|
@@ -1447,13 +1556,14 @@ class MetroBundlerDevServer extends _BundlerDevServer.BundlerDevServer {
|
|
|
1447
1556
|
type: 'bundle_build_started'
|
|
1448
1557
|
});
|
|
1449
1558
|
try {
|
|
1559
|
+
var _transformOptions_customTransformOptions;
|
|
1450
1560
|
let delta;
|
|
1451
1561
|
let revision;
|
|
1452
1562
|
try {
|
|
1453
|
-
var
|
|
1563
|
+
var _transformOptions_customTransformOptions1;
|
|
1454
1564
|
// TODO: Some bug in Metro/RSC causes this to break when changing imports in server components.
|
|
1455
1565
|
// We should resolve the bug because it results in ~6x faster bundling to reuse the graph revision.
|
|
1456
|
-
if (((
|
|
1566
|
+
if (((_transformOptions_customTransformOptions1 = transformOptions.customTransformOptions) == null ? void 0 : _transformOptions_customTransformOptions1.environment) === 'react-server') {
|
|
1457
1567
|
const props = await this.metro.getBundler().initializeGraph(// NOTE: Using absolute path instead of relative input path is a breaking change.
|
|
1458
1568
|
// entryFile,
|
|
1459
1569
|
resolvedEntryFilePath, transformOptions, resolverOptions, {
|
|
@@ -1479,6 +1589,9 @@ class MetroBundlerDevServer extends _BundlerDevServer.BundlerDevServer {
|
|
|
1479
1589
|
(0, _metroErrorInterface.dropStackIfContainsCodeFrame)(error);
|
|
1480
1590
|
throw error;
|
|
1481
1591
|
}
|
|
1592
|
+
if (!this.instanceMetroOptions.isExporting && transformOptions.dev !== false && ((_transformOptions_customTransformOptions = transformOptions.customTransformOptions) == null ? void 0 : _transformOptions_customTransformOptions.isLoaderBundle) === 'true') {
|
|
1593
|
+
this.setupLoaderGraphListener(revision.graphId, resolvedEntryFilePath, revision.graph);
|
|
1594
|
+
}
|
|
1482
1595
|
bundlePerfLogger == null ? void 0 : bundlePerfLogger.annotate({
|
|
1483
1596
|
int: {
|
|
1484
1597
|
graph_node_count: revision.graph.dependencies.size
|
|
@@ -1527,13 +1640,13 @@ class MetroBundlerDevServer extends _BundlerDevServer.BundlerDevServer {
|
|
|
1527
1640
|
let bundleMap = null;
|
|
1528
1641
|
if (serializerOptions.output === 'static') {
|
|
1529
1642
|
try {
|
|
1530
|
-
var
|
|
1643
|
+
var _artifacts_find;
|
|
1531
1644
|
const parsed = typeof bundle === 'string' ? JSON.parse(bundle) : bundle;
|
|
1532
1645
|
(0, _assert().default)('artifacts' in parsed && Array.isArray(parsed.artifacts), 'Expected serializer to return an object with key artifacts to contain an array of serial assets.');
|
|
1533
1646
|
const artifacts = parsed.artifacts;
|
|
1534
1647
|
const assets = parsed.assets;
|
|
1535
|
-
const bundleCode = artifacts.
|
|
1536
|
-
const bundleMap = ((
|
|
1648
|
+
const bundleCode = artifacts.find((asset)=>asset.type === 'js');
|
|
1649
|
+
const bundleMap = ((_artifacts_find = artifacts.find((asset)=>asset.type === 'map')) == null ? void 0 : _artifacts_find.source) ?? '';
|
|
1537
1650
|
return {
|
|
1538
1651
|
numModifiedFiles: delta.reset ? delta.added.size + revision.prepend.length : delta.added.size + delta.modified.size + delta.deleted.size,
|
|
1539
1652
|
lastModifiedDate: revision.date,
|
|
@@ -1554,7 +1667,7 @@ class MetroBundlerDevServer extends _BundlerDevServer.BundlerDevServer {
|
|
|
1554
1667
|
if (serializerOptions.modulesOnly) {
|
|
1555
1668
|
prepend = [];
|
|
1556
1669
|
}
|
|
1557
|
-
bundleMap = await
|
|
1670
|
+
bundleMap = await (0, _sourceMap().sourceMapStringNonBlocking)([
|
|
1558
1671
|
//
|
|
1559
1672
|
...prepend,
|
|
1560
1673
|
...this.metro._getSortedModules(graph)
|
|
@@ -1610,7 +1723,7 @@ class MetroBundlerDevServer extends _BundlerDevServer.BundlerDevServer {
|
|
|
1610
1723
|
});
|
|
1611
1724
|
}
|
|
1612
1725
|
constructor(...args){
|
|
1613
|
-
super(...args), this.metro = null, this.hmrServer = null, this.ssrHmrClients = new Map(), // Set when the server is started.
|
|
1726
|
+
super(...args), this.metro = null, this.hmrServer = null, this.ssrHmrClients = new Map(), this.loaderGraphListeners = new Map(), this.pendingLoaderInvalidationChangeIds = new Set(), // Set when the server is started.
|
|
1614
1727
|
this.instanceMetroOptions = {}, this.ssrLoadModule = async (filePath, specificOptions = {}, extras = {})=>{
|
|
1615
1728
|
// NOTE(@kitten): We don't properly initialize the server-side modules
|
|
1616
1729
|
// Instead, we first load an entrypoint with an empty bundle to initialize the runtime instead
|
|
@@ -1624,13 +1737,13 @@ class MetroBundlerDevServer extends _BundlerDevServer.BundlerDevServer {
|
|
|
1624
1737
|
extras.hot && this.instanceMetroOptions.isExporting !== true) {
|
|
1625
1738
|
// Register SSR HMR
|
|
1626
1739
|
const serverRoot = (0, _paths().getMetroServerRoot)(this.projectRoot);
|
|
1627
|
-
const relativePath = _path().default.relative(serverRoot, res.filename);
|
|
1740
|
+
const relativePath = (0, _filePath.toPosixPath)(_path().default.relative(serverRoot, res.filename));
|
|
1628
1741
|
const url = new URL(relativePath, this.getDevServerUrlOrAssert());
|
|
1629
1742
|
this.setupHmr(url);
|
|
1630
1743
|
}
|
|
1631
|
-
return (0, _getStaticRenderFunctions.evalMetroAndWrapFunctions)(this.projectRoot, res.src, res.filename, specificOptions.isExporting ?? this.instanceMetroOptions.isExporting);
|
|
1744
|
+
return (0, _getStaticRenderFunctions.evalMetroAndWrapFunctions)(this.projectRoot, res.src, res.filename, res.map, specificOptions.isExporting ?? this.instanceMetroOptions.isExporting);
|
|
1632
1745
|
}, this.rscRenderer = null, this.onReloadRscEvent = null, // API Routes
|
|
1633
|
-
this.pendingRouteOperations = new Map()
|
|
1746
|
+
this.pendingRouteOperations = new Map();
|
|
1634
1747
|
}
|
|
1635
1748
|
}
|
|
1636
1749
|
function getBuildID(buildNumber) {
|
|
@@ -1642,13 +1755,31 @@ function wrapBundle(str) {
|
|
|
1642
1755
|
// Use gm to apply to the last require line. This is needed when the bundle has side-effects.
|
|
1643
1756
|
return str.replace(/^(__r\(.*\);)$/gm, 'module.exports = $1');
|
|
1644
1757
|
}
|
|
1645
|
-
async function sourceMapStringAsync(modules, options) {
|
|
1646
|
-
return (await (0, _sourceMapGenerator().sourceMapGeneratorNonBlocking)(modules, options)).toString(undefined, {
|
|
1647
|
-
excludeSource: options.excludeSource
|
|
1648
|
-
});
|
|
1649
|
-
}
|
|
1650
1758
|
function unique(array) {
|
|
1651
1759
|
return Array.from(new Set(array));
|
|
1652
1760
|
}
|
|
1761
|
+
function getStreamingCssAssetsFromSerialAssets(resources) {
|
|
1762
|
+
const cssHrefs = [];
|
|
1763
|
+
const externalCss = [];
|
|
1764
|
+
const inlineCss = [];
|
|
1765
|
+
for (const asset of resources){
|
|
1766
|
+
if (asset.type === 'css') {
|
|
1767
|
+
inlineCss.push({
|
|
1768
|
+
source: asset.source,
|
|
1769
|
+
hmrId: asset.metadata.hmrId
|
|
1770
|
+
});
|
|
1771
|
+
} else if (asset.type === 'css-external') {
|
|
1772
|
+
externalCss.push({
|
|
1773
|
+
href: asset.filename,
|
|
1774
|
+
media: asset.metadata.media
|
|
1775
|
+
});
|
|
1776
|
+
}
|
|
1777
|
+
}
|
|
1778
|
+
return {
|
|
1779
|
+
cssHrefs,
|
|
1780
|
+
externalCss,
|
|
1781
|
+
inlineCss
|
|
1782
|
+
};
|
|
1783
|
+
}
|
|
1653
1784
|
|
|
1654
1785
|
//# sourceMappingURL=MetroBundlerDevServer.js.map
|