@expo/cli 0.17.10 → 0.18.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/build/bin/cli +11 -7
- package/build/bin/cli.map +1 -1
- package/build/src/api/getExpoSchema.js +23 -5
- package/build/src/api/getExpoSchema.js.map +1 -1
- package/build/src/api/graphql/client.js +28 -10
- package/build/src/api/graphql/client.js.map +1 -1
- package/build/src/api/graphql/queries/AppQuery.js +16 -4
- package/build/src/api/graphql/queries/AppQuery.js.map +1 -1
- package/build/src/api/graphql/queries/UserQuery.js +8 -2
- package/build/src/api/graphql/queries/UserQuery.js.map +1 -1
- package/build/src/api/graphql/types/App.js +8 -2
- package/build/src/api/graphql/types/App.js.map +1 -1
- package/build/src/api/rest/cache/FileSystemCache.js +21 -9
- package/build/src/api/rest/cache/FileSystemCache.js.map +1 -1
- package/build/src/api/rest/cache/response.js +9 -3
- package/build/src/api/rest/cache/response.js.map +1 -1
- package/build/src/api/rest/cache/wrapFetchWithCache.js +32 -8
- package/build/src/api/rest/cache/wrapFetchWithCache.js.map +1 -1
- package/build/src/api/rest/client.js +23 -5
- package/build/src/api/rest/client.js.map +1 -1
- package/build/src/api/rest/wrapFetchWithBaseUrl.js +9 -4
- package/build/src/api/rest/wrapFetchWithBaseUrl.js.map +1 -1
- package/build/src/api/rest/wrapFetchWithProxy.js +8 -2
- package/build/src/api/rest/wrapFetchWithProxy.js.map +1 -1
- package/build/src/api/settings.js +8 -2
- package/build/src/api/settings.js.map +1 -1
- package/build/src/api/updateDevelopmentSession.js +18 -6
- package/build/src/api/updateDevelopmentSession.js.map +1 -1
- package/build/src/api/user/UserSettings.js +26 -8
- package/build/src/api/user/UserSettings.js.map +1 -1
- package/build/src/api/user/actions.js +17 -5
- package/build/src/api/user/actions.js.map +1 -1
- package/build/src/api/user/expoSsoLauncher.js +32 -8
- package/build/src/api/user/expoSsoLauncher.js.map +1 -1
- package/build/src/api/user/otp.js +17 -5
- package/build/src/api/user/otp.js.map +1 -1
- package/build/src/api/user/user.js +19 -12
- package/build/src/api/user/user.js.map +1 -1
- package/build/src/config/configAsync.js +25 -7
- package/build/src/config/configAsync.js.map +1 -1
- package/build/src/config/index.js +9 -3
- package/build/src/config/index.js.map +1 -1
- package/build/src/customize/customizeAsync.js +8 -2
- package/build/src/customize/customizeAsync.js.map +1 -1
- package/build/src/customize/generate.js +16 -4
- package/build/src/customize/generate.js.map +1 -1
- package/build/src/customize/index.js +10 -4
- package/build/src/customize/index.js.map +1 -1
- package/build/src/customize/templates.js +33 -9
- package/build/src/customize/templates.js.map +1 -1
- package/build/src/customize/typescript.js +8 -2
- package/build/src/customize/typescript.js.map +1 -1
- package/build/src/export/createMetadataJson.js +8 -2
- package/build/src/export/createMetadataJson.js.map +1 -1
- package/build/src/export/embed/exportEmbedAsync.js +58 -18
- package/build/src/export/embed/exportEmbedAsync.js.map +1 -1
- package/build/src/export/embed/index.js +17 -5
- package/build/src/export/embed/index.js.map +1 -1
- package/build/src/export/embed/resolveOptions.js +8 -2
- package/build/src/export/embed/resolveOptions.js.map +1 -1
- package/build/src/export/embed/xcodeCompilerLogger.js +16 -4
- package/build/src/export/embed/xcodeCompilerLogger.js.map +1 -1
- package/build/src/export/exportApp.js +32 -12
- package/build/src/export/exportApp.js.map +1 -1
- package/build/src/export/exportAssets.js +27 -9
- package/build/src/export/exportAssets.js.map +1 -1
- package/build/src/export/exportAsync.js +10 -2
- package/build/src/export/exportAsync.js.map +1 -1
- package/build/src/export/exportHermes.js +29 -17
- package/build/src/export/exportHermes.js.map +1 -1
- package/build/src/export/exportStaticAsync.js +69 -37
- package/build/src/export/exportStaticAsync.js.map +1 -1
- package/build/src/export/favicon.js +33 -9
- package/build/src/export/favicon.js.map +1 -1
- package/build/src/export/fork-bundleAsync.js +61 -16
- package/build/src/export/fork-bundleAsync.js.map +1 -1
- package/build/src/export/getPublicExpoManifest.js +8 -2
- package/build/src/export/getPublicExpoManifest.js.map +1 -1
- package/build/src/export/getResolvedLocales.js +15 -3
- package/build/src/export/getResolvedLocales.js.map +1 -1
- package/build/src/export/index.js +11 -5
- package/build/src/export/index.js.map +1 -1
- package/build/src/export/metroAssetLocalPath.js +9 -3
- package/build/src/export/metroAssetLocalPath.js.map +1 -1
- package/build/src/export/persistMetroAssets.js +27 -15
- package/build/src/export/persistMetroAssets.js.map +1 -1
- package/build/src/export/publicFolder.js +18 -6
- package/build/src/export/publicFolder.js.map +1 -1
- package/build/src/export/resolveOptions.js +8 -2
- package/build/src/export/resolveOptions.js.map +1 -1
- package/build/src/export/saveAssets.js +43 -19
- package/build/src/export/saveAssets.js.map +1 -1
- package/build/src/export/web/exportWebAsync.js +16 -4
- package/build/src/export/web/exportWebAsync.js.map +1 -1
- package/build/src/export/web/index.js +9 -3
- package/build/src/export/web/index.js.map +1 -1
- package/build/src/install/applyPlugins.js +8 -2
- package/build/src/install/applyPlugins.js.map +1 -1
- package/build/src/install/checkPackages.js +18 -6
- package/build/src/install/checkPackages.js.map +1 -1
- package/build/src/install/fixPackages.js +8 -2
- package/build/src/install/fixPackages.js.map +1 -1
- package/build/src/install/index.js +14 -8
- package/build/src/install/index.js.map +1 -1
- package/build/src/install/installAsync.js +27 -9
- package/build/src/install/installAsync.js.map +1 -1
- package/build/src/install/installExpoPackage.js +17 -5
- package/build/src/install/installExpoPackage.js.map +1 -1
- package/build/src/install/utils/autoAddConfigPlugins.js +17 -5
- package/build/src/install/utils/autoAddConfigPlugins.js.map +1 -1
- package/build/src/log.js +9 -3
- package/build/src/log.js.map +1 -1
- package/build/src/prebuild/clearNativeFolder.js +37 -13
- package/build/src/prebuild/clearNativeFolder.js.map +1 -1
- package/build/src/prebuild/configureProjectAsync.js +16 -4
- package/build/src/prebuild/configureProjectAsync.js.map +1 -1
- package/build/src/prebuild/copyTemplateFiles.js +29 -11
- package/build/src/prebuild/copyTemplateFiles.js.map +1 -1
- package/build/src/prebuild/ensureConfigAsync.js +24 -6
- package/build/src/prebuild/ensureConfigAsync.js.map +1 -1
- package/build/src/prebuild/index.js +14 -8
- package/build/src/prebuild/index.js.map +1 -1
- package/build/src/prebuild/prebuildAsync.js +9 -3
- package/build/src/prebuild/prebuildAsync.js.map +1 -1
- package/build/src/prebuild/renameTemplateAppName.js +119 -0
- package/build/src/prebuild/renameTemplateAppName.js.map +1 -0
- package/build/src/prebuild/resolveOptions.js +32 -8
- package/build/src/prebuild/resolveOptions.js.map +1 -1
- package/build/src/prebuild/resolveTemplate.js +44 -14
- package/build/src/prebuild/resolveTemplate.js.map +1 -1
- package/build/src/prebuild/updateFromTemplate.js +18 -2
- package/build/src/prebuild/updateFromTemplate.js.map +1 -1
- package/build/src/prebuild/updatePackageJson.js +49 -13
- package/build/src/prebuild/updatePackageJson.js.map +1 -1
- package/build/src/prebuild/validateTemplatePlatforms.js +16 -4
- package/build/src/prebuild/validateTemplatePlatforms.js.map +1 -1
- package/build/src/run/android/index.js +20 -4
- package/build/src/run/android/index.js.map +1 -1
- package/build/src/run/android/resolveGradlePropsAsync.js +55 -0
- package/build/src/run/android/resolveGradlePropsAsync.js.map +1 -0
- package/build/src/run/android/resolveInstallApkName.js +18 -6
- package/build/src/run/android/resolveInstallApkName.js.map +1 -1
- package/build/src/run/android/resolveLaunchProps.js +10 -4
- package/build/src/run/android/resolveLaunchProps.js.map +1 -1
- package/build/src/run/android/resolveOptions.js +5 -3
- package/build/src/run/android/resolveOptions.js.map +1 -1
- package/build/src/run/android/runAndroidAsync.js +13 -4
- package/build/src/run/android/runAndroidAsync.js.map +1 -1
- package/build/src/run/ensureNativeProject.js +15 -3
- package/build/src/run/ensureNativeProject.js.map +1 -1
- package/build/src/run/hints.js +10 -4
- package/build/src/run/hints.js.map +1 -1
- package/build/src/run/index.js +8 -2
- package/build/src/run/index.js.map +1 -1
- package/build/src/run/ios/XcodeBuild.js +57 -21
- package/build/src/run/ios/XcodeBuild.js.map +1 -1
- package/build/src/run/ios/appleDevice/AppleDevice.js +25 -7
- package/build/src/run/ios/appleDevice/AppleDevice.js.map +1 -1
- package/build/src/run/ios/appleDevice/ClientManager.js +10 -4
- package/build/src/run/ios/appleDevice/ClientManager.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/AFCClient.js +34 -10
- package/build/src/run/ios/appleDevice/client/AFCClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/DebugserverClient.js +16 -4
- package/build/src/run/ios/appleDevice/client/DebugserverClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/InstallationProxyClient.js +8 -2
- package/build/src/run/ios/appleDevice/client/InstallationProxyClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/LockdowndClient.js +17 -5
- package/build/src/run/ios/appleDevice/client/LockdowndClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/MobileImageMounterClient.js +17 -5
- package/build/src/run/ios/appleDevice/client/MobileImageMounterClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/UsbmuxdClient.js +25 -7
- package/build/src/run/ios/appleDevice/client/UsbmuxdClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/installOnDeviceAsync.js +24 -6
- package/build/src/run/ios/appleDevice/installOnDeviceAsync.js.map +1 -1
- package/build/src/run/ios/appleDevice/protocol/AFCProtocol.js +8 -2
- package/build/src/run/ios/appleDevice/protocol/AFCProtocol.js.map +1 -1
- package/build/src/run/ios/appleDevice/protocol/AbstractProtocol.js +16 -4
- package/build/src/run/ios/appleDevice/protocol/AbstractProtocol.js.map +1 -1
- package/build/src/run/ios/appleDevice/protocol/GDBProtocol.js +8 -2
- package/build/src/run/ios/appleDevice/protocol/GDBProtocol.js.map +1 -1
- package/build/src/run/ios/appleDevice/protocol/LockdownProtocol.js +16 -4
- package/build/src/run/ios/appleDevice/protocol/LockdownProtocol.js.map +1 -1
- package/build/src/run/ios/appleDevice/protocol/UsbmuxProtocol.js +16 -4
- package/build/src/run/ios/appleDevice/protocol/UsbmuxProtocol.js.map +1 -1
- package/build/src/run/ios/codeSigning/Security.js +17 -5
- package/build/src/run/ios/codeSigning/Security.js.map +1 -1
- package/build/src/run/ios/codeSigning/configureCodeSigning.js +8 -2
- package/build/src/run/ios/codeSigning/configureCodeSigning.js.map +1 -1
- package/build/src/run/ios/codeSigning/resolveCertificateSigningIdentity.js +9 -3
- package/build/src/run/ios/codeSigning/resolveCertificateSigningIdentity.js.map +1 -1
- package/build/src/run/ios/codeSigning/simulatorCodeSigning.js +25 -7
- package/build/src/run/ios/codeSigning/simulatorCodeSigning.js.map +1 -1
- package/build/src/run/ios/codeSigning/xcodeCodeSigning.js +22 -10
- package/build/src/run/ios/codeSigning/xcodeCodeSigning.js.map +1 -1
- package/build/src/run/ios/index.js +19 -7
- package/build/src/run/ios/index.js.map +1 -1
- package/build/src/run/ios/launchApp.js +17 -5
- package/build/src/run/ios/launchApp.js.map +1 -1
- package/build/src/run/ios/options/promptDevice.js +9 -3
- package/build/src/run/ios/options/promptDevice.js.map +1 -1
- package/build/src/run/ios/options/resolveDevice.js +1 -2
- package/build/src/run/ios/options/resolveDevice.js.map +1 -1
- package/build/src/run/ios/options/resolveNativeScheme.js +27 -9
- package/build/src/run/ios/options/resolveNativeScheme.js.map +1 -1
- package/build/src/run/ios/options/resolveXcodeProject.js +8 -2
- package/build/src/run/ios/options/resolveXcodeProject.js.map +1 -1
- package/build/src/run/ios/runIosAsync.js +10 -2
- package/build/src/run/ios/runIosAsync.js.map +1 -1
- package/build/src/run/startBundler.js +16 -4
- package/build/src/run/startBundler.js.map +1 -1
- package/build/src/start/detectDevClient.js +29 -0
- package/build/src/start/detectDevClient.js.map +1 -0
- package/build/src/start/doctor/SecurityBinPrerequisite.js +8 -2
- package/build/src/start/doctor/SecurityBinPrerequisite.js.map +1 -1
- package/build/src/start/doctor/apple/SimulatorAppPrerequisite.js +16 -4
- package/build/src/start/doctor/apple/SimulatorAppPrerequisite.js.map +1 -1
- package/build/src/start/doctor/apple/XcodeDeveloperDiskImagePrerequisite.js +16 -4
- package/build/src/start/doctor/apple/XcodeDeveloperDiskImagePrerequisite.js.map +1 -1
- package/build/src/start/doctor/apple/XcodePrerequisite.js +79 -29
- package/build/src/start/doctor/apple/XcodePrerequisite.js.map +1 -1
- package/build/src/start/doctor/apple/XcrunPrerequisite.js +24 -6
- package/build/src/start/doctor/apple/XcrunPrerequisite.js.map +1 -1
- package/build/src/start/doctor/dependencies/bundledNativeModules.js +25 -7
- package/build/src/start/doctor/dependencies/bundledNativeModules.js.map +1 -1
- package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js +27 -9
- package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js.map +1 -1
- package/build/src/start/doctor/dependencies/getMissingPackages.js +24 -6
- package/build/src/start/doctor/dependencies/getMissingPackages.js.map +1 -1
- package/build/src/start/doctor/dependencies/getVersionedPackages.js +8 -2
- package/build/src/start/doctor/dependencies/getVersionedPackages.js.map +1 -1
- package/build/src/start/doctor/dependencies/resolvePackages.js +25 -7
- package/build/src/start/doctor/dependencies/resolvePackages.js.map +1 -1
- package/build/src/start/doctor/dependencies/validateDependenciesVersions.js +32 -21
- package/build/src/start/doctor/dependencies/validateDependenciesVersions.js.map +1 -1
- package/build/src/start/doctor/ngrok/ExternalModule.js +33 -9
- package/build/src/start/doctor/ngrok/ExternalModule.js.map +1 -1
- package/build/src/start/doctor/typescript/TypeScriptProjectPrerequisite.js +18 -6
- package/build/src/start/doctor/typescript/TypeScriptProjectPrerequisite.js.map +1 -1
- package/build/src/start/doctor/typescript/updateTSConfig.js +29 -11
- package/build/src/start/doctor/typescript/updateTSConfig.js.map +1 -1
- package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js +18 -6
- package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js.map +1 -1
- package/build/src/start/index.js +17 -11
- package/build/src/start/index.js.map +1 -1
- package/build/src/start/interface/commandsTable.js +27 -9
- package/build/src/start/interface/commandsTable.js.map +1 -1
- package/build/src/start/interface/interactiveActions.js +17 -11
- package/build/src/start/interface/interactiveActions.js.map +1 -1
- package/build/src/start/interface/startInterface.js +8 -2
- package/build/src/start/interface/startInterface.js.map +1 -1
- package/build/src/start/platforms/AppIdResolver.js +9 -3
- package/build/src/start/platforms/AppIdResolver.js.map +1 -1
- package/build/src/start/platforms/DeviceManager.js +8 -2
- package/build/src/start/platforms/DeviceManager.js.map +1 -1
- package/build/src/start/platforms/ExpoGoInstaller.js +30 -14
- package/build/src/start/platforms/ExpoGoInstaller.js.map +1 -1
- package/build/src/start/platforms/PlatformManager.js +33 -13
- package/build/src/start/platforms/PlatformManager.js.map +1 -1
- package/build/src/start/platforms/android/ADBServer.js +17 -5
- package/build/src/start/platforms/android/ADBServer.js.map +1 -1
- package/build/src/start/platforms/android/AndroidAppIdResolver.js +13 -7
- package/build/src/start/platforms/android/AndroidAppIdResolver.js.map +1 -1
- package/build/src/start/platforms/android/AndroidDeviceManager.js +19 -7
- package/build/src/start/platforms/android/AndroidDeviceManager.js.map +1 -1
- package/build/src/start/platforms/android/AndroidSdk.js +34 -10
- package/build/src/start/platforms/android/AndroidSdk.js.map +1 -1
- package/build/src/start/platforms/android/activateWindow.js +16 -4
- package/build/src/start/platforms/android/activateWindow.js.map +1 -1
- package/build/src/start/platforms/android/adb.js +21 -4
- package/build/src/start/platforms/android/adb.js.map +1 -1
- package/build/src/start/platforms/android/emulator.js +32 -8
- package/build/src/start/platforms/android/emulator.js.map +1 -1
- package/build/src/start/platforms/android/gradle.js +23 -6
- package/build/src/start/platforms/android/gradle.js.map +1 -1
- package/build/src/start/platforms/android/promptAndroidDevice.js +10 -4
- package/build/src/start/platforms/android/promptAndroidDevice.js.map +1 -1
- package/build/src/start/platforms/ios/AppleAppIdResolver.js +26 -8
- package/build/src/start/platforms/ios/AppleAppIdResolver.js.map +1 -1
- package/build/src/start/platforms/ios/AppleDeviceManager.js +50 -18
- package/build/src/start/platforms/ios/AppleDeviceManager.js.map +1 -1
- package/build/src/start/platforms/ios/assertSystemRequirements.js +4 -3
- package/build/src/start/platforms/ios/assertSystemRequirements.js.map +1 -1
- package/build/src/start/platforms/ios/ensureSimulatorAppRunning.js +16 -4
- package/build/src/start/platforms/ios/ensureSimulatorAppRunning.js.map +1 -1
- package/build/src/start/platforms/ios/getBestSimulator.js +8 -2
- package/build/src/start/platforms/ios/getBestSimulator.js.map +1 -1
- package/build/src/start/platforms/ios/promptAppleDevice.js +9 -3
- package/build/src/start/platforms/ios/promptAppleDevice.js.map +1 -1
- package/build/src/start/platforms/ios/simctl.js +12 -6
- package/build/src/start/platforms/ios/simctl.js.map +1 -1
- package/build/src/start/platforms/ios/simctlLogging.js +40 -10
- package/build/src/start/platforms/ios/simctlLogging.js.map +1 -1
- package/build/src/start/platforms/ios/xcrun.js +16 -4
- package/build/src/start/platforms/ios/xcrun.js.map +1 -1
- package/build/src/start/project/dotExpo.js +27 -9
- package/build/src/start/project/dotExpo.js.map +1 -1
- package/build/src/start/resolveOptions.js +33 -15
- package/build/src/start/resolveOptions.js.map +1 -1
- package/build/src/start/server/AsyncNgrok.js +34 -10
- package/build/src/start/server/AsyncNgrok.js.map +1 -1
- package/build/src/start/server/BundlerDevServer.js +16 -4
- package/build/src/start/server/BundlerDevServer.js.map +1 -1
- package/build/src/start/server/DevServerManager.js +28 -10
- package/build/src/start/server/DevServerManager.js.map +1 -1
- package/build/src/start/server/DevToolsPluginManager.js +16 -4
- package/build/src/start/server/DevToolsPluginManager.js.map +1 -1
- package/build/src/start/server/DevelopmentSession.js +9 -3
- package/build/src/start/server/DevelopmentSession.js.map +1 -1
- package/build/src/start/server/ReactDevToolsProxy.js +26 -8
- package/build/src/start/server/ReactDevToolsProxy.js.map +1 -1
- package/build/src/start/server/UrlCreator.js +19 -6
- package/build/src/start/server/UrlCreator.js.map +1 -1
- package/build/src/start/server/getStaticRenderFunctions.js +91 -55
- package/build/src/start/server/getStaticRenderFunctions.js.map +1 -1
- package/build/src/start/server/metro/MetroBundlerDevServer.js +231 -83
- package/build/src/start/server/metro/MetroBundlerDevServer.js.map +1 -1
- package/build/src/start/server/metro/MetroTerminalReporter.js +30 -15
- package/build/src/start/server/metro/MetroTerminalReporter.js.map +1 -1
- package/build/src/start/server/metro/TerminalReporter.js +26 -8
- 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 +56 -20
- package/build/src/start/server/metro/createExpoMetroResolver.js.map +1 -1
- package/build/src/start/server/metro/createJResolver.js +90 -45
- package/build/src/start/server/metro/createJResolver.js.map +1 -1
- package/build/src/start/server/metro/createServerRouteMiddleware.js +29 -28
- package/build/src/start/server/metro/createServerRouteMiddleware.js.map +1 -1
- package/build/src/start/server/metro/debugging/MessageHandler.js +27 -0
- package/build/src/start/server/metro/debugging/MessageHandler.js.map +1 -0
- package/build/src/start/server/metro/debugging/createDebugMiddleware.js +11 -8
- package/build/src/start/server/metro/debugging/createDebugMiddleware.js.map +1 -1
- package/build/src/start/server/metro/debugging/createHandlersFactory.js +63 -0
- package/build/src/start/server/metro/debugging/createHandlersFactory.js.map +1 -0
- package/build/src/start/server/metro/debugging/{inspectorHandlers/utils.js → getDebuggerType.js} +1 -6
- package/build/src/start/server/metro/debugging/getDebuggerType.js.map +1 -0
- package/build/src/start/server/metro/debugging/{inspectorHandlers → messageHandlers}/NetworkResponse.js +8 -5
- package/build/src/start/server/metro/debugging/messageHandlers/NetworkResponse.js.map +1 -0
- package/build/src/start/server/metro/debugging/{inspectorHandlers → messageHandlers}/PageReload.js +7 -6
- package/build/src/start/server/metro/debugging/messageHandlers/PageReload.js.map +1 -0
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerGetPossibleBreakpoints.js +25 -0
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerGetPossibleBreakpoints.js.map +1 -0
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerSetBreakpointByUrl.js +22 -0
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerSetBreakpointByUrl.js.map +1 -0
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeCallFunctionOn.js +28 -0
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeCallFunctionOn.js.map +1 -0
- package/build/src/start/server/metro/debugging/{inspectorHandlers → messageHandlers}/VscodeRuntimeGetProperties.js +10 -6
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeGetProperties.js.map +1 -0
- package/build/src/start/server/metro/debugging/pageIsSupported.js +14 -0
- package/build/src/start/server/metro/debugging/pageIsSupported.js.map +1 -0
- package/build/src/start/server/metro/debugging/types.js.map +1 -0
- package/build/src/start/server/metro/externals.js +51 -64
- package/build/src/start/server/metro/externals.js.map +1 -1
- package/build/src/start/server/metro/fetchRouterManifest.js +8 -2
- package/build/src/start/server/metro/fetchRouterManifest.js.map +1 -1
- package/build/src/start/server/metro/formatFileCandidates.js +8 -2
- package/build/src/start/server/metro/formatFileCandidates.js.map +1 -1
- package/build/src/start/server/metro/getCssModulesFromBundler.js +34 -10
- package/build/src/start/server/metro/getCssModulesFromBundler.js.map +1 -1
- package/build/src/start/server/metro/instantiateMetro.js +96 -30
- package/build/src/start/server/metro/instantiateMetro.js.map +1 -1
- package/build/src/start/server/metro/metroErrorInterface.js +40 -21
- package/build/src/start/server/metro/metroErrorInterface.js.map +1 -1
- package/build/src/start/server/metro/metroVirtualModules.js +82 -0
- package/build/src/start/server/metro/metroVirtualModules.js.map +1 -0
- package/build/src/start/server/metro/metroWatchTypeScriptFiles.js +8 -2
- package/build/src/start/server/metro/metroWatchTypeScriptFiles.js.map +1 -1
- package/build/src/start/server/metro/router.js +44 -17
- package/build/src/start/server/metro/router.js.map +1 -1
- package/build/src/start/server/metro/runServer-fork.js +56 -14
- package/build/src/start/server/metro/runServer-fork.js.map +1 -1
- package/build/src/start/server/metro/serializeHtml.js +25 -12
- package/build/src/start/server/metro/serializeHtml.js.map +1 -1
- package/build/src/start/server/metro/waitForMetroToObserveTypeScriptFile.js +8 -2
- package/build/src/start/server/metro/waitForMetroToObserveTypeScriptFile.js.map +1 -1
- package/build/src/start/server/metro/withMetroMultiPlatform.js +148 -46
- package/build/src/start/server/metro/withMetroMultiPlatform.js.map +1 -1
- package/build/src/start/server/metro/withMetroResolvers.js +31 -13
- package/build/src/start/server/metro/withMetroResolvers.js.map +1 -1
- package/build/src/start/server/middleware/CreateFileMiddleware.js +22 -10
- package/build/src/start/server/middleware/CreateFileMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/DevToolsPluginMiddleware.js +16 -4
- package/build/src/start/server/middleware/DevToolsPluginMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js +42 -12
- package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/ExpoMiddleware.js +8 -2
- package/build/src/start/server/middleware/ExpoMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/InterstitialPageMiddleware.js +41 -11
- package/build/src/start/server/middleware/InterstitialPageMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/ManifestMiddleware.js +40 -10
- package/build/src/start/server/middleware/ManifestMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/ReactDevToolsPageMiddleware.js +24 -6
- package/build/src/start/server/middleware/ReactDevToolsPageMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js +8 -2
- package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/ServeStaticMiddleware.js +24 -6
- package/build/src/start/server/middleware/ServeStaticMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/inspector/JsInspector.js +25 -8
- package/build/src/start/server/middleware/inspector/JsInspector.js.map +1 -1
- package/build/src/start/server/middleware/inspector/LaunchBrowser.js +10 -4
- package/build/src/start/server/middleware/inspector/LaunchBrowser.js.map +1 -1
- package/build/src/start/server/middleware/inspector/LaunchBrowserImplLinux.js +24 -6
- package/build/src/start/server/middleware/inspector/LaunchBrowserImplLinux.js.map +1 -1
- package/build/src/start/server/middleware/inspector/LaunchBrowserImplMacOS.js +33 -9
- package/build/src/start/server/middleware/inspector/LaunchBrowserImplMacOS.js.map +1 -1
- package/build/src/start/server/middleware/inspector/LaunchBrowserImplWindows.js +27 -11
- package/build/src/start/server/middleware/inspector/LaunchBrowserImplWindows.js.map +1 -1
- package/build/src/start/server/middleware/inspector/createJsInspectorMiddleware.js +33 -9
- package/build/src/start/server/middleware/inspector/createJsInspectorMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/metroOptions.js +12 -2
- package/build/src/start/server/middleware/metroOptions.js.map +1 -1
- package/build/src/start/server/middleware/resolveAssets.js +17 -5
- package/build/src/start/server/middleware/resolveAssets.js.map +1 -1
- package/build/src/start/server/middleware/resolvePlatform.js +8 -2
- package/build/src/start/server/middleware/resolvePlatform.js.map +1 -1
- package/build/src/start/server/platformBundlers.js +8 -2
- package/build/src/start/server/platformBundlers.js.map +1 -1
- package/build/src/start/server/serverLogLikeMetro.js +37 -13
- package/build/src/start/server/serverLogLikeMetro.js.map +1 -1
- package/build/src/start/server/type-generation/expo-env.js +16 -4
- package/build/src/start/server/type-generation/expo-env.js.map +1 -1
- package/build/src/start/server/type-generation/routes.js +91 -37
- package/build/src/start/server/type-generation/routes.js.map +1 -1
- package/build/src/start/server/type-generation/startTypescriptTypeGeneration.js +27 -9
- package/build/src/start/server/type-generation/startTypescriptTypeGeneration.js.map +1 -1
- package/build/src/start/server/type-generation/tsconfig.js +27 -9
- package/build/src/start/server/type-generation/tsconfig.js.map +1 -1
- package/build/src/start/server/webTemplate.js +26 -8
- package/build/src/start/server/webTemplate.js.map +1 -1
- package/build/src/start/server/webpack/WebpackBundlerDevServer.js +36 -12
- package/build/src/start/server/webpack/WebpackBundlerDevServer.js.map +1 -1
- package/build/src/start/server/webpack/compile.js +17 -5
- package/build/src/start/server/webpack/compile.js.map +1 -1
- package/build/src/start/server/webpack/resolveFromProject.js +8 -2
- package/build/src/start/server/webpack/resolveFromProject.js.map +1 -1
- package/build/src/start/server/webpack/tls.js +35 -11
- package/build/src/start/server/webpack/tls.js.map +1 -1
- package/build/src/start/startAsync.js +36 -11
- package/build/src/start/startAsync.js.map +1 -1
- package/build/src/utils/FileNotifier.js +32 -8
- package/build/src/utils/FileNotifier.js.map +1 -1
- package/build/src/utils/analytics/getDevClientProperties.js +26 -8
- package/build/src/utils/analytics/getDevClientProperties.js.map +1 -1
- package/build/src/utils/analytics/metroDebuggerMiddleware.js +2 -2
- package/build/src/utils/analytics/metroDebuggerMiddleware.js.map +1 -1
- package/build/src/utils/args.js +32 -8
- package/build/src/utils/args.js.map +1 -1
- package/build/src/utils/cocoapods.js +64 -28
- package/build/src/utils/cocoapods.js.map +1 -1
- package/build/src/utils/codesigning.js +79 -29
- package/build/src/utils/codesigning.js.map +1 -1
- package/build/src/utils/createFileTransform.js +24 -69
- package/build/src/utils/createFileTransform.js.map +1 -1
- package/build/src/utils/dir.js +33 -26
- package/build/src/utils/dir.js.map +1 -1
- package/build/src/utils/downloadAppAsync.js +40 -10
- package/build/src/utils/downloadAppAsync.js.map +1 -1
- package/build/src/utils/downloadExpoGoAsync.js +26 -11
- package/build/src/utils/downloadExpoGoAsync.js.map +1 -1
- package/build/src/utils/editor.js +18 -6
- package/build/src/utils/editor.js.map +1 -1
- package/build/src/utils/env.js +40 -31
- package/build/src/utils/env.js.map +1 -1
- package/build/src/utils/errors.js +20 -5
- package/build/src/utils/errors.js.map +1 -1
- package/build/src/utils/findUp.js +18 -6
- package/build/src/utils/findUp.js.map +1 -1
- package/build/src/utils/getOrPromptApplicationId.js +19 -7
- package/build/src/utils/getOrPromptApplicationId.js.map +1 -1
- package/build/src/utils/getRunningProcess.js +18 -6
- package/build/src/utils/getRunningProcess.js.map +1 -1
- package/build/src/utils/git.js +18 -6
- package/build/src/utils/git.js.map +1 -1
- package/build/src/utils/glob.js +9 -3
- package/build/src/utils/glob.js.map +1 -1
- package/build/src/utils/ip.js +8 -2
- package/build/src/utils/ip.js.map +1 -1
- package/build/src/utils/isModuleSymlinked.js +16 -4
- package/build/src/utils/isModuleSymlinked.js.map +1 -1
- package/build/src/utils/link.js +18 -6
- package/build/src/utils/link.js.map +1 -1
- package/build/src/utils/mergeGitIgnorePaths.js +25 -13
- package/build/src/utils/mergeGitIgnorePaths.js.map +1 -1
- package/build/src/utils/modifyConfigAsync.js +18 -6
- package/build/src/utils/modifyConfigAsync.js.map +1 -1
- package/build/src/utils/modifyConfigPlugins.js +8 -2
- package/build/src/utils/modifyConfigPlugins.js.map +1 -1
- package/build/src/utils/nodeEnv.js +2 -0
- package/build/src/utils/nodeEnv.js.map +1 -1
- package/build/src/utils/nodeModules.js +23 -5
- package/build/src/utils/nodeModules.js.map +1 -1
- package/build/src/utils/npm.js +64 -17
- package/build/src/utils/npm.js.map +1 -1
- package/build/src/utils/open.js +9 -3
- package/build/src/utils/open.js.map +1 -1
- package/build/src/utils/ora.js +16 -4
- package/build/src/utils/ora.js.map +1 -1
- package/build/src/utils/plist.js +24 -6
- package/build/src/utils/plist.js.map +1 -1
- package/build/src/utils/port.js +22 -10
- package/build/src/utils/port.js.map +1 -1
- package/build/src/utils/profile.js +8 -2
- package/build/src/utils/profile.js.map +1 -1
- package/build/src/utils/progress.js +8 -2
- package/build/src/utils/progress.js.map +1 -1
- package/build/src/utils/prompts.js +16 -4
- package/build/src/utils/prompts.js.map +1 -1
- package/build/src/utils/scheme.js +75 -23
- package/build/src/utils/scheme.js.map +1 -1
- package/build/src/utils/tar.js +16 -4
- package/build/src/utils/tar.js.map +1 -1
- package/build/src/utils/telemetry/DetachedClient.js +87 -0
- package/build/src/utils/telemetry/DetachedClient.js.map +1 -0
- package/build/src/utils/telemetry/RudderClient.js +98 -0
- package/build/src/utils/telemetry/RudderClient.js.map +1 -0
- package/build/src/utils/telemetry/flushDetached.js +43 -0
- package/build/src/utils/telemetry/flushDetached.js.map +1 -0
- package/build/src/utils/telemetry/getContext.js +92 -0
- package/build/src/utils/telemetry/getContext.js.map +1 -0
- package/build/src/utils/telemetry/index.js +32 -0
- package/build/src/utils/telemetry/index.js.map +1 -0
- package/build/src/utils/telemetry/types.js +6 -0
- package/build/src/utils/telemetry/types.js.map +1 -0
- package/build/src/utils/tsconfig/evaluateTsConfig.js +16 -4
- package/build/src/utils/tsconfig/evaluateTsConfig.js.map +1 -1
- package/build/src/utils/tsconfig/loadTsConfigPaths.js +18 -6
- package/build/src/utils/tsconfig/loadTsConfigPaths.js.map +1 -1
- package/build/src/utils/tsconfig/resolveWithTsConfigPaths.js +10 -4
- package/build/src/utils/tsconfig/resolveWithTsConfigPaths.js.map +1 -1
- package/build/src/utils/url.js +19 -10
- package/build/src/utils/url.js.map +1 -1
- package/build/src/utils/validateApplicationId.js +18 -6
- package/build/src/utils/validateApplicationId.js.map +1 -1
- package/build/src/whoami/whoamiAsync.js +8 -2
- package/build/src/whoami/whoamiAsync.js.map +1 -1
- package/package.json +15 -16
- package/static/canary/react-native/Libraries/Renderer/implementations/ReactFabric-dev.js +27907 -0
- package/static/canary/react-native/Libraries/Renderer/implementations/ReactFabric-prod.js +9494 -0
- package/static/canary/react-native/Libraries/Renderer/implementations/ReactFabric-profiling.js +10015 -0
- package/static/canary/react-native/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +28375 -0
- package/static/canary/react-native/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +9714 -0
- package/build/src/run/android/resolveGradleProps.js +0 -37
- package/build/src/run/android/resolveGradleProps.js.map +0 -1
- package/build/src/start/server/metro/bundleApiRoutes.js +0 -52
- package/build/src/start/server/metro/bundleApiRoutes.js.map +0 -1
- package/build/src/start/server/metro/debugging/InspectorDevice.js +0 -80
- package/build/src/start/server/metro/debugging/InspectorDevice.js.map +0 -1
- package/build/src/start/server/metro/debugging/InspectorProxy.js +0 -116
- package/build/src/start/server/metro/debugging/InspectorProxy.js.map +0 -1
- package/build/src/start/server/metro/debugging/inspectorHandlers/NetworkResponse.js.map +0 -1
- package/build/src/start/server/metro/debugging/inspectorHandlers/PageReload.js.map +0 -1
- package/build/src/start/server/metro/debugging/inspectorHandlers/VscodeDebuggerGetPossibleBreakpoints.js +0 -21
- package/build/src/start/server/metro/debugging/inspectorHandlers/VscodeDebuggerGetPossibleBreakpoints.js.map +0 -1
- package/build/src/start/server/metro/debugging/inspectorHandlers/VscodeDebuggerScriptParsed.js +0 -56
- package/build/src/start/server/metro/debugging/inspectorHandlers/VscodeDebuggerScriptParsed.js.map +0 -1
- package/build/src/start/server/metro/debugging/inspectorHandlers/VscodeDebuggerSetBreakpointByUrl.js +0 -18
- package/build/src/start/server/metro/debugging/inspectorHandlers/VscodeDebuggerSetBreakpointByUrl.js.map +0 -1
- package/build/src/start/server/metro/debugging/inspectorHandlers/VscodeRuntimeCallFunctionOn.js +0 -24
- package/build/src/start/server/metro/debugging/inspectorHandlers/VscodeRuntimeCallFunctionOn.js.map +0 -1
- package/build/src/start/server/metro/debugging/inspectorHandlers/VscodeRuntimeGetProperties.js.map +0 -1
- package/build/src/start/server/metro/debugging/inspectorHandlers/types.js.map +0 -1
- package/build/src/start/server/metro/debugging/inspectorHandlers/utils.js.map +0 -1
- package/build/src/start/server/type-generation/__typetests__/fixtures/basic.js +0 -38
- package/build/src/start/server/type-generation/__typetests__/fixtures/basic.js.map +0 -1
- package/build/src/start/server/type-generation/__typetests__/generateFixtures.js +0 -38
- package/build/src/start/server/type-generation/__typetests__/generateFixtures.js.map +0 -1
- package/build/src/start/server/type-generation/__typetests__/route.test.js +0 -184
- package/build/src/start/server/type-generation/__typetests__/route.test.js.map +0 -1
- package/build/src/utils/analytics/rudderstackClient.js +0 -147
- package/build/src/utils/analytics/rudderstackClient.js.map +0 -1
- /package/build/src/start/server/metro/debugging/{inspectorHandlers/types.js → types.js} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../src/start/server/middleware/inspector/LaunchBrowser.ts"],"sourcesContent":["import os from 'os';\n\nimport {\n LaunchBrowserTypesEnum,\n type LaunchBrowser,\n type LaunchBrowserInstance,\n type LaunchBrowserTypes,\n} from './LaunchBrowser.types';\nimport LaunchBrowserImplLinux from './LaunchBrowserImplLinux';\nimport LaunchBrowserImplMacOS from './LaunchBrowserImplMacOS';\nimport LaunchBrowserImplWindows from './LaunchBrowserImplWindows';\n\nexport type { LaunchBrowserInstance };\n\nconst IS_WSL = require('is-wsl') && !require('is-docker')();\n\n/**\n * A factory to create a LaunchBrowser instance based on the host platform\n */\nexport function createLaunchBrowser(): LaunchBrowser {\n let launchBrowser: LaunchBrowser;\n if (os.platform() === 'darwin') {\n launchBrowser = new LaunchBrowserImplMacOS();\n } else if (os.platform() === 'win32' || IS_WSL) {\n launchBrowser = new LaunchBrowserImplWindows();\n } else if (os.platform() === 'linux') {\n launchBrowser = new LaunchBrowserImplLinux();\n } else {\n throw new Error('[createLaunchBrowser] Unsupported host platform');\n }\n return launchBrowser;\n}\n\n/**\n * Find a supported browser type on the host\n */\nexport async function findSupportedBrowserTypeAsync(\n launchBrowser: LaunchBrowser\n): Promise<LaunchBrowserTypes> {\n const supportedBrowsers = Object.values(LaunchBrowserTypesEnum);\n for (const browserType of supportedBrowsers) {\n if (await launchBrowser.isSupportedBrowser(browserType)) {\n return browserType;\n }\n }\n\n throw new Error(\n `[findSupportedBrowserTypeAsync] Unable to find a browser on the host to open the inspector. Supported browsers: ${supportedBrowsers.join(\n ', '\n )}`\n );\n}\n\n/**\n * Launch a browser for inspector\n */\nexport async function launchInspectorBrowserAsync(\n url: string,\n browser?: LaunchBrowser,\n browserType?: LaunchBrowserTypes\n): Promise<LaunchBrowserInstance> {\n const launchBrowser = browser ?? createLaunchBrowser();\n const launchBrowserType = browserType ?? (await findSupportedBrowserTypeAsync(launchBrowser));\n\n const tempBrowserDir = await launchBrowser.createTempBrowserDir('expo-inspector');\n\n // For dev-client connecting metro in LAN, the request to fetch sourcemaps may be blocked by Chromium\n // with insecure-content (https page send xhr for http resource).\n // Adding `--allow-running-insecure-content` to overcome this limitation\n // without users manually allow insecure-content in site settings.\n // However, if there is existing chromium browser process, the argument will not take effect.\n // We also pass a `--user-data-dir=` as temporary profile and force chromium to create new browser process.\n const launchArgs = [\n `--app=${url}`,\n '--allow-running-insecure-content',\n `--user-data-dir=${tempBrowserDir}`,\n '--no-first-run',\n '--no-default-browser-check',\n ];\n\n return launchBrowser.launchAsync(launchBrowserType, launchArgs);\n}\n"],"names":["createLaunchBrowser","findSupportedBrowserTypeAsync","launchInspectorBrowserAsync","IS_WSL","require","launchBrowser","os","platform","LaunchBrowserImplMacOS","LaunchBrowserImplWindows","LaunchBrowserImplLinux","Error","supportedBrowsers","Object","values","LaunchBrowserTypesEnum","browserType","isSupportedBrowser","join","url","browser","launchBrowserType","tempBrowserDir","createTempBrowserDir","launchArgs","launchAsync"],"mappings":"AAAA;;;;QAmBgBA,mBAAmB,GAAnBA,mBAAmB;QAiBbC,6BAA6B,GAA7BA,6BAA6B;QAoB7BC,2BAA2B,GAA3BA,2BAA2B;
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/start/server/middleware/inspector/LaunchBrowser.ts"],"sourcesContent":["import os from 'os';\n\nimport {\n LaunchBrowserTypesEnum,\n type LaunchBrowser,\n type LaunchBrowserInstance,\n type LaunchBrowserTypes,\n} from './LaunchBrowser.types';\nimport LaunchBrowserImplLinux from './LaunchBrowserImplLinux';\nimport LaunchBrowserImplMacOS from './LaunchBrowserImplMacOS';\nimport LaunchBrowserImplWindows from './LaunchBrowserImplWindows';\n\nexport type { LaunchBrowserInstance };\n\nconst IS_WSL = require('is-wsl') && !require('is-docker')();\n\n/**\n * A factory to create a LaunchBrowser instance based on the host platform\n */\nexport function createLaunchBrowser(): LaunchBrowser {\n let launchBrowser: LaunchBrowser;\n if (os.platform() === 'darwin') {\n launchBrowser = new LaunchBrowserImplMacOS();\n } else if (os.platform() === 'win32' || IS_WSL) {\n launchBrowser = new LaunchBrowserImplWindows();\n } else if (os.platform() === 'linux') {\n launchBrowser = new LaunchBrowserImplLinux();\n } else {\n throw new Error('[createLaunchBrowser] Unsupported host platform');\n }\n return launchBrowser;\n}\n\n/**\n * Find a supported browser type on the host\n */\nexport async function findSupportedBrowserTypeAsync(\n launchBrowser: LaunchBrowser\n): Promise<LaunchBrowserTypes> {\n const supportedBrowsers = Object.values(LaunchBrowserTypesEnum);\n for (const browserType of supportedBrowsers) {\n if (await launchBrowser.isSupportedBrowser(browserType)) {\n return browserType;\n }\n }\n\n throw new Error(\n `[findSupportedBrowserTypeAsync] Unable to find a browser on the host to open the inspector. Supported browsers: ${supportedBrowsers.join(\n ', '\n )}`\n );\n}\n\n/**\n * Launch a browser for inspector\n */\nexport async function launchInspectorBrowserAsync(\n url: string,\n browser?: LaunchBrowser,\n browserType?: LaunchBrowserTypes\n): Promise<LaunchBrowserInstance> {\n const launchBrowser = browser ?? createLaunchBrowser();\n const launchBrowserType = browserType ?? (await findSupportedBrowserTypeAsync(launchBrowser));\n\n const tempBrowserDir = await launchBrowser.createTempBrowserDir('expo-inspector');\n\n // For dev-client connecting metro in LAN, the request to fetch sourcemaps may be blocked by Chromium\n // with insecure-content (https page send xhr for http resource).\n // Adding `--allow-running-insecure-content` to overcome this limitation\n // without users manually allow insecure-content in site settings.\n // However, if there is existing chromium browser process, the argument will not take effect.\n // We also pass a `--user-data-dir=` as temporary profile and force chromium to create new browser process.\n const launchArgs = [\n `--app=${url}`,\n '--allow-running-insecure-content',\n `--user-data-dir=${tempBrowserDir}`,\n '--no-first-run',\n '--no-default-browser-check',\n ];\n\n return launchBrowser.launchAsync(launchBrowserType, launchArgs);\n}\n"],"names":["createLaunchBrowser","findSupportedBrowserTypeAsync","launchInspectorBrowserAsync","IS_WSL","require","launchBrowser","os","platform","LaunchBrowserImplMacOS","LaunchBrowserImplWindows","LaunchBrowserImplLinux","Error","supportedBrowsers","Object","values","LaunchBrowserTypesEnum","browserType","isSupportedBrowser","join","url","browser","launchBrowserType","tempBrowserDir","createTempBrowserDir","launchArgs","launchAsync"],"mappings":"AAAA;;;;QAmBgBA,mBAAmB,GAAnBA,mBAAmB;QAiBbC,6BAA6B,GAA7BA,6BAA6B;QAoB7BC,2BAA2B,GAA3BA,2BAA2B;SAxDlC,GAAI;gDAAJ,IAAI;IAAJ,GAAI;;;;;AAOZ,IAAA,mBAAuB,WAAvB,uBAAuB,CAAA;AACK,IAAA,uBAA0B,kCAA1B,0BAA0B,EAAA;AAC1B,IAAA,uBAA0B,kCAA1B,0BAA0B,EAAA;AACxB,IAAA,yBAA4B,kCAA5B,4BAA4B,EAAA;;;;;;AAIjE,MAAMC,MAAM,GAAGC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAACA,OAAO,CAAC,WAAW,CAAC,EAAE,AAAC;AAKrD,SAASJ,mBAAmB,GAAkB;IACnD,IAAIK,aAAa,AAAe,AAAC;IACjC,IAAIC,GAAE,UAAA,CAACC,QAAQ,EAAE,KAAK,QAAQ,EAAE;QAC9BF,aAAa,GAAG,IAAIG,uBAAsB,QAAA,EAAE,CAAC;KAC9C,MAAM,IAAIF,GAAE,UAAA,CAACC,QAAQ,EAAE,KAAK,OAAO,IAAIJ,MAAM,EAAE;QAC9CE,aAAa,GAAG,IAAII,yBAAwB,QAAA,EAAE,CAAC;KAChD,MAAM,IAAIH,GAAE,UAAA,CAACC,QAAQ,EAAE,KAAK,OAAO,EAAE;QACpCF,aAAa,GAAG,IAAIK,uBAAsB,QAAA,EAAE,CAAC;KAC9C,MAAM;QACL,MAAM,IAAIC,KAAK,CAAC,iDAAiD,CAAC,CAAC;KACpE;IACD,OAAON,aAAa,CAAC;CACtB;AAKM,eAAeJ,6BAA6B,CACjDI,aAA4B,EACC;IAC7B,MAAMO,iBAAiB,GAAGC,MAAM,CAACC,MAAM,CAACC,mBAAsB,uBAAA,CAAC,AAAC;IAChE,KAAK,MAAMC,WAAW,IAAIJ,iBAAiB,CAAE;QAC3C,IAAI,MAAMP,aAAa,CAACY,kBAAkB,CAACD,WAAW,CAAC,EAAE;YACvD,OAAOA,WAAW,CAAC;SACpB;KACF;IAED,MAAM,IAAIL,KAAK,CACb,CAAC,gHAAgH,EAAEC,iBAAiB,CAACM,IAAI,CACvI,IAAI,CACL,CAAC,CAAC,CACJ,CAAC;CACH;AAKM,eAAehB,2BAA2B,CAC/CiB,GAAW,EACXC,OAAuB,EACvBJ,WAAgC,EACA;IAChC,MAAMX,aAAa,GAAGe,OAAO,WAAPA,OAAO,GAAIpB,mBAAmB,EAAE,AAAC;IACvD,MAAMqB,iBAAiB,GAAGL,WAAW,WAAXA,WAAW,GAAK,MAAMf,6BAA6B,CAACI,aAAa,CAAC,AAAC,AAAC;IAE9F,MAAMiB,cAAc,GAAG,MAAMjB,aAAa,CAACkB,oBAAoB,CAAC,gBAAgB,CAAC,AAAC;IAElF,qGAAqG;IACrG,iEAAiE;IACjE,wEAAwE;IACxE,kEAAkE;IAClE,6FAA6F;IAC7F,2GAA2G;IAC3G,MAAMC,UAAU,GAAG;QACjB,CAAC,MAAM,EAAEL,GAAG,CAAC,CAAC;QACd,kCAAkC;QAClC,CAAC,gBAAgB,EAAEG,cAAc,CAAC,CAAC;QACnC,gBAAgB;QAChB,4BAA4B;KAC7B,AAAC;IAEF,OAAOjB,aAAa,CAACoB,WAAW,CAACJ,iBAAiB,EAAEG,UAAU,CAAC,CAAC;CACjE"}
|
|
@@ -3,9 +3,27 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
3
3
|
value: true
|
|
4
4
|
});
|
|
5
5
|
exports.default = void 0;
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
6
|
+
function _spawnAsync() {
|
|
7
|
+
const data = _interopRequireDefault(require("@expo/spawn-async"));
|
|
8
|
+
_spawnAsync = function() {
|
|
9
|
+
return data;
|
|
10
|
+
};
|
|
11
|
+
return data;
|
|
12
|
+
}
|
|
13
|
+
function _open() {
|
|
14
|
+
const data = _interopRequireDefault(require("open"));
|
|
15
|
+
_open = function() {
|
|
16
|
+
return data;
|
|
17
|
+
};
|
|
18
|
+
return data;
|
|
19
|
+
}
|
|
20
|
+
function _path() {
|
|
21
|
+
const data = _interopRequireDefault(require("path"));
|
|
22
|
+
_path = function() {
|
|
23
|
+
return data;
|
|
24
|
+
};
|
|
25
|
+
return data;
|
|
26
|
+
}
|
|
9
27
|
var _launchBrowserTypes = require("./LaunchBrowser.types");
|
|
10
28
|
class LaunchBrowserImplLinux {
|
|
11
29
|
MAP = {
|
|
@@ -28,7 +46,7 @@ class LaunchBrowserImplLinux {
|
|
|
28
46
|
if (this._appId == null || !this.MAP[browserType].includes(this._appId)) {
|
|
29
47
|
for (const appId of this.MAP[browserType]){
|
|
30
48
|
try {
|
|
31
|
-
const { status } = await (
|
|
49
|
+
const { status } = await _spawnAsync().default("which", [
|
|
32
50
|
appId
|
|
33
51
|
], {
|
|
34
52
|
stdio: "ignore"
|
|
@@ -56,11 +74,11 @@ class LaunchBrowserImplLinux {
|
|
|
56
74
|
return result;
|
|
57
75
|
}
|
|
58
76
|
async createTempBrowserDir(baseDirName) {
|
|
59
|
-
return _path.default.join(require("temp-dir"), baseDirName);
|
|
77
|
+
return _path().default.join(require("temp-dir"), baseDirName);
|
|
60
78
|
}
|
|
61
79
|
async launchAsync(browserType, args) {
|
|
62
80
|
const appId = await this.getAppId(browserType);
|
|
63
|
-
this._process = await _open.default.openApp(appId, {
|
|
81
|
+
this._process = await _open().default.openApp(appId, {
|
|
64
82
|
arguments: args
|
|
65
83
|
});
|
|
66
84
|
return this;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../src/start/server/middleware/inspector/LaunchBrowserImplLinux.ts"],"sourcesContent":["import spawnAsync from '@expo/spawn-async';\nimport { type ChildProcess } from 'child_process';\nimport open from 'open';\nimport path from 'path';\n\nimport {\n LaunchBrowserTypes,\n type LaunchBrowser,\n type LaunchBrowserInstance,\n LaunchBrowserTypesEnum,\n} from './LaunchBrowser.types';\n\n/**\n * Browser implementation for Linux\n */\nexport default class LaunchBrowserImplLinux implements LaunchBrowser, LaunchBrowserInstance {\n private _appId: string | undefined;\n private _process: ChildProcess | undefined;\n\n MAP = {\n [LaunchBrowserTypesEnum.CHROME]: ['google-chrome', 'google-chrome-stable', 'chromium'],\n [LaunchBrowserTypesEnum.EDGE]: ['microsoft-edge', 'microsoft-edge-dev'],\n [LaunchBrowserTypesEnum.BRAVE]: ['brave'],\n };\n\n /**\n * On Linux, the supported appId is an array, this function finds the available appId and caches it\n */\n private async getAppId(browserType: LaunchBrowserTypes): Promise<string> {\n if (this._appId == null || !this.MAP[browserType].includes(this._appId)) {\n for (const appId of this.MAP[browserType]) {\n try {\n const { status } = await spawnAsync('which', [appId], { stdio: 'ignore' });\n if (status === 0) {\n this._appId = appId;\n break;\n }\n } catch {}\n }\n }\n\n if (this._appId == null) {\n throw new Error(\n `Unable to find supported browser - tried[${this.MAP[browserType].join(', ')}]`\n );\n }\n\n return this._appId;\n }\n\n async isSupportedBrowser(browserType: LaunchBrowserTypes): Promise<boolean> {\n let result = false;\n try {\n await this.getAppId(browserType);\n result = true;\n } catch {\n result = false;\n }\n return result;\n }\n\n async createTempBrowserDir(baseDirName: string) {\n return path.join(require('temp-dir'), baseDirName);\n }\n\n async launchAsync(\n browserType: LaunchBrowserTypes,\n args: string[]\n ): Promise<LaunchBrowserInstance> {\n const appId = await this.getAppId(browserType);\n this._process = await open.openApp(appId, { arguments: args });\n return this;\n }\n\n async close(): Promise<void> {\n this._process?.kill();\n this._process = undefined;\n this._appId = undefined;\n }\n}\n"],"names":["LaunchBrowserImplLinux","MAP","LaunchBrowserTypesEnum","CHROME","EDGE","BRAVE","getAppId","browserType","_appId","includes","appId","status","spawnAsync","stdio","Error","join","isSupportedBrowser","result","createTempBrowserDir","baseDirName","path","require","launchAsync","args","_process","open","openApp","arguments","close","kill","undefined"],"mappings":"AAAA;;;;;
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/start/server/middleware/inspector/LaunchBrowserImplLinux.ts"],"sourcesContent":["import spawnAsync from '@expo/spawn-async';\nimport { type ChildProcess } from 'child_process';\nimport open from 'open';\nimport path from 'path';\n\nimport {\n LaunchBrowserTypes,\n type LaunchBrowser,\n type LaunchBrowserInstance,\n LaunchBrowserTypesEnum,\n} from './LaunchBrowser.types';\n\n/**\n * Browser implementation for Linux\n */\nexport default class LaunchBrowserImplLinux implements LaunchBrowser, LaunchBrowserInstance {\n private _appId: string | undefined;\n private _process: ChildProcess | undefined;\n\n MAP = {\n [LaunchBrowserTypesEnum.CHROME]: ['google-chrome', 'google-chrome-stable', 'chromium'],\n [LaunchBrowserTypesEnum.EDGE]: ['microsoft-edge', 'microsoft-edge-dev'],\n [LaunchBrowserTypesEnum.BRAVE]: ['brave'],\n };\n\n /**\n * On Linux, the supported appId is an array, this function finds the available appId and caches it\n */\n private async getAppId(browserType: LaunchBrowserTypes): Promise<string> {\n if (this._appId == null || !this.MAP[browserType].includes(this._appId)) {\n for (const appId of this.MAP[browserType]) {\n try {\n const { status } = await spawnAsync('which', [appId], { stdio: 'ignore' });\n if (status === 0) {\n this._appId = appId;\n break;\n }\n } catch {}\n }\n }\n\n if (this._appId == null) {\n throw new Error(\n `Unable to find supported browser - tried[${this.MAP[browserType].join(', ')}]`\n );\n }\n\n return this._appId;\n }\n\n async isSupportedBrowser(browserType: LaunchBrowserTypes): Promise<boolean> {\n let result = false;\n try {\n await this.getAppId(browserType);\n result = true;\n } catch {\n result = false;\n }\n return result;\n }\n\n async createTempBrowserDir(baseDirName: string) {\n return path.join(require('temp-dir'), baseDirName);\n }\n\n async launchAsync(\n browserType: LaunchBrowserTypes,\n args: string[]\n ): Promise<LaunchBrowserInstance> {\n const appId = await this.getAppId(browserType);\n this._process = await open.openApp(appId, { arguments: args });\n return this;\n }\n\n async close(): Promise<void> {\n this._process?.kill();\n this._process = undefined;\n this._appId = undefined;\n }\n}\n"],"names":["LaunchBrowserImplLinux","MAP","LaunchBrowserTypesEnum","CHROME","EDGE","BRAVE","getAppId","browserType","_appId","includes","appId","status","spawnAsync","stdio","Error","join","isSupportedBrowser","result","createTempBrowserDir","baseDirName","path","require","launchAsync","args","_process","open","openApp","arguments","close","kill","undefined"],"mappings":"AAAA;;;;;SAAuB,WAAmB;gDAAnB,mBAAmB;IAAnB,WAAmB;;;;;SAEzB,KAAM;gDAAN,MAAM;IAAN,KAAM;;;;;SACN,KAAM;gDAAN,MAAM;IAAN,KAAM;;;;;AAOhB,IAAA,mBAAuB,WAAvB,uBAAuB,CAAA;AAKf,MAAMA,sBAAsB;IAIzCC,GAAG,GAAG;QACJ,CAACC,mBAAsB,uBAAA,CAACC,MAAM,CAAC,EAAE;YAAC,eAAe;YAAE,sBAAsB;YAAE,UAAU;SAAC;QACtF,CAACD,mBAAsB,uBAAA,CAACE,IAAI,CAAC,EAAE;YAAC,gBAAgB;YAAE,oBAAoB;SAAC;QACvE,CAACF,mBAAsB,uBAAA,CAACG,KAAK,CAAC,EAAE;YAAC,OAAO;SAAC;KAC1C,CAAC;IAEF;;KAEG,CACH,MAAcC,QAAQ,CAACC,WAA+B,EAAmB;QACvE,IAAI,IAAI,CAACC,MAAM,IAAI,IAAI,IAAI,CAAC,IAAI,CAACP,GAAG,CAACM,WAAW,CAAC,CAACE,QAAQ,CAAC,IAAI,CAACD,MAAM,CAAC,EAAE;YACvE,KAAK,MAAME,KAAK,IAAI,IAAI,CAACT,GAAG,CAACM,WAAW,CAAC,CAAE;gBACzC,IAAI;oBACF,MAAM,EAAEI,MAAM,CAAA,EAAE,GAAG,MAAMC,WAAU,UAAA,CAAC,OAAO,EAAE;wBAACF,KAAK;qBAAC,EAAE;wBAAEG,KAAK,EAAE,QAAQ;qBAAE,CAAC,AAAC;oBAC3E,IAAIF,MAAM,KAAK,CAAC,EAAE;wBAChB,IAAI,CAACH,MAAM,GAAGE,KAAK,CAAC;wBACpB,MAAM;qBACP;iBACF,CAAC,OAAM,EAAE;aACX;SACF;QAED,IAAI,IAAI,CAACF,MAAM,IAAI,IAAI,EAAE;YACvB,MAAM,IAAIM,KAAK,CACb,CAAC,yCAAyC,EAAE,IAAI,CAACb,GAAG,CAACM,WAAW,CAAC,CAACQ,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAChF,CAAC;SACH;QAED,OAAO,IAAI,CAACP,MAAM,CAAC;KACpB;IAED,MAAMQ,kBAAkB,CAACT,WAA+B,EAAoB;QAC1E,IAAIU,MAAM,GAAG,KAAK,AAAC;QACnB,IAAI;YACF,MAAM,IAAI,CAACX,QAAQ,CAACC,WAAW,CAAC,CAAC;YACjCU,MAAM,GAAG,IAAI,CAAC;SACf,CAAC,OAAM;YACNA,MAAM,GAAG,KAAK,CAAC;SAChB;QACD,OAAOA,MAAM,CAAC;KACf;IAED,MAAMC,oBAAoB,CAACC,WAAmB,EAAE;QAC9C,OAAOC,KAAI,UAAA,CAACL,IAAI,CAACM,OAAO,CAAC,UAAU,CAAC,EAAEF,WAAW,CAAC,CAAC;KACpD;IAED,MAAMG,WAAW,CACff,WAA+B,EAC/BgB,IAAc,EACkB;QAChC,MAAMb,KAAK,GAAG,MAAM,IAAI,CAACJ,QAAQ,CAACC,WAAW,CAAC,AAAC;QAC/C,IAAI,CAACiB,QAAQ,GAAG,MAAMC,KAAI,UAAA,CAACC,OAAO,CAAChB,KAAK,EAAE;YAAEiB,SAAS,EAAEJ,IAAI;SAAE,CAAC,CAAC;QAC/D,OAAO,IAAI,CAAC;KACb;IAED,MAAMK,KAAK,GAAkB;YAC3B,GAAa;QAAb,CAAA,GAAa,GAAb,IAAI,CAACJ,QAAQ,SAAM,GAAnB,KAAA,CAAmB,GAAnB,GAAa,CAAEK,IAAI,EAAE,AA3EzB,CA2E0B;QACtB,IAAI,CAACL,QAAQ,GAAGM,SAAS,CAAC;QAC1B,IAAI,CAACtB,MAAM,GAAGsB,SAAS,CAAC;KACzB;CACF;kBAhEoB9B,sBAAsB"}
|
|
@@ -3,10 +3,34 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
3
3
|
value: true
|
|
4
4
|
});
|
|
5
5
|
exports.default = void 0;
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
6
|
+
function osascript() {
|
|
7
|
+
const data = _interopRequireWildcard(require("@expo/osascript"));
|
|
8
|
+
osascript = function() {
|
|
9
|
+
return data;
|
|
10
|
+
};
|
|
11
|
+
return data;
|
|
12
|
+
}
|
|
13
|
+
function _childProcess() {
|
|
14
|
+
const data = require("child_process");
|
|
15
|
+
_childProcess = function() {
|
|
16
|
+
return data;
|
|
17
|
+
};
|
|
18
|
+
return data;
|
|
19
|
+
}
|
|
20
|
+
function _glob() {
|
|
21
|
+
const data = require("glob");
|
|
22
|
+
_glob = function() {
|
|
23
|
+
return data;
|
|
24
|
+
};
|
|
25
|
+
return data;
|
|
26
|
+
}
|
|
27
|
+
function _path() {
|
|
28
|
+
const data = _interopRequireDefault(require("path"));
|
|
29
|
+
_path = function() {
|
|
30
|
+
return data;
|
|
31
|
+
};
|
|
32
|
+
return data;
|
|
33
|
+
}
|
|
10
34
|
var _launchBrowserTypes = require("./LaunchBrowser.types");
|
|
11
35
|
class LaunchBrowserImplMacOS {
|
|
12
36
|
MAP = {
|
|
@@ -17,7 +41,7 @@ class LaunchBrowserImplMacOS {
|
|
|
17
41
|
async isSupportedBrowser(browserType) {
|
|
18
42
|
let result = false;
|
|
19
43
|
try {
|
|
20
|
-
await osascript.execAsync(`id of application "${this.MAP[browserType]}"`);
|
|
44
|
+
await osascript()().execAsync(`id of application "${this.MAP[browserType]}"`);
|
|
21
45
|
result = true;
|
|
22
46
|
} catch {
|
|
23
47
|
result = false;
|
|
@@ -25,19 +49,19 @@ class LaunchBrowserImplMacOS {
|
|
|
25
49
|
return result;
|
|
26
50
|
}
|
|
27
51
|
async createTempBrowserDir(baseDirName) {
|
|
28
|
-
return _path.default.join(require("temp-dir"), baseDirName);
|
|
52
|
+
return _path().default.join(require("temp-dir"), baseDirName);
|
|
29
53
|
}
|
|
30
54
|
async launchAsync(browserType, args) {
|
|
31
55
|
var ref;
|
|
32
|
-
const appDirectory = await osascript.execAsync(`POSIX path of (path to application "${this.MAP[browserType]}")`);
|
|
33
|
-
const appPath = (ref = (
|
|
56
|
+
const appDirectory = await osascript()().execAsync(`POSIX path of (path to application "${this.MAP[browserType]}")`);
|
|
57
|
+
const appPath = (ref = _glob().sync("Contents/MacOS/*", {
|
|
34
58
|
cwd: appDirectory.trim(),
|
|
35
59
|
absolute: true
|
|
36
60
|
})) == null ? void 0 : ref[0];
|
|
37
61
|
if (!appPath) {
|
|
38
62
|
throw new Error(`Cannot find application path from ${appDirectory}Contents/MacOS`);
|
|
39
63
|
}
|
|
40
|
-
this._process = (
|
|
64
|
+
this._process = _childProcess().spawn(appPath, args, {
|
|
41
65
|
stdio: "ignore"
|
|
42
66
|
});
|
|
43
67
|
return this;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../src/start/server/middleware/inspector/LaunchBrowserImplMacOS.ts"],"sourcesContent":["import * as osascript from '@expo/osascript';\nimport { spawn, type ChildProcess } from 'child_process';\nimport { sync as globSync } from 'glob';\nimport path from 'path';\n\nimport {\n LaunchBrowserTypes,\n type LaunchBrowser,\n type LaunchBrowserInstance,\n LaunchBrowserTypesEnum,\n} from './LaunchBrowser.types';\n\n/**\n * Browser implementation for macOS\n */\nexport default class LaunchBrowserImplMacOS implements LaunchBrowser, LaunchBrowserInstance {\n private _process: ChildProcess | undefined;\n\n MAP = {\n [LaunchBrowserTypesEnum.CHROME]: 'google chrome',\n [LaunchBrowserTypesEnum.EDGE]: 'microsoft edge',\n [LaunchBrowserTypesEnum.BRAVE]: 'brave browser',\n };\n\n async isSupportedBrowser(browserType: LaunchBrowserTypes): Promise<boolean> {\n let result = false;\n try {\n await osascript.execAsync(`id of application \"${this.MAP[browserType]}\"`);\n result = true;\n } catch {\n result = false;\n }\n return result;\n }\n\n async createTempBrowserDir(baseDirName: string) {\n return path.join(require('temp-dir'), baseDirName);\n }\n\n async launchAsync(\n browserType: LaunchBrowserTypes,\n args: string[]\n ): Promise<LaunchBrowserInstance> {\n const appDirectory = await osascript.execAsync(\n `POSIX path of (path to application \"${this.MAP[browserType]}\")`\n );\n const appPath = globSync('Contents/MacOS/*', { cwd: appDirectory.trim(), absolute: true })?.[0];\n if (!appPath) {\n throw new Error(`Cannot find application path from ${appDirectory}Contents/MacOS`);\n }\n this._process = spawn(appPath, args, { stdio: 'ignore' });\n\n return this;\n }\n\n async close(): Promise<void> {\n this._process?.kill();\n this._process = undefined;\n }\n}\n"],"names":["osascript","LaunchBrowserImplMacOS","MAP","LaunchBrowserTypesEnum","CHROME","EDGE","BRAVE","isSupportedBrowser","browserType","result","execAsync","createTempBrowserDir","baseDirName","path","join","require","launchAsync","args","globSync","appDirectory","appPath","cwd","trim","absolute","Error","_process","spawn","stdio","close","kill","undefined"],"mappings":"AAAA;;;;;
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/start/server/middleware/inspector/LaunchBrowserImplMacOS.ts"],"sourcesContent":["import * as osascript from '@expo/osascript';\nimport { spawn, type ChildProcess } from 'child_process';\nimport { sync as globSync } from 'glob';\nimport path from 'path';\n\nimport {\n LaunchBrowserTypes,\n type LaunchBrowser,\n type LaunchBrowserInstance,\n LaunchBrowserTypesEnum,\n} from './LaunchBrowser.types';\n\n/**\n * Browser implementation for macOS\n */\nexport default class LaunchBrowserImplMacOS implements LaunchBrowser, LaunchBrowserInstance {\n private _process: ChildProcess | undefined;\n\n MAP = {\n [LaunchBrowserTypesEnum.CHROME]: 'google chrome',\n [LaunchBrowserTypesEnum.EDGE]: 'microsoft edge',\n [LaunchBrowserTypesEnum.BRAVE]: 'brave browser',\n };\n\n async isSupportedBrowser(browserType: LaunchBrowserTypes): Promise<boolean> {\n let result = false;\n try {\n await osascript.execAsync(`id of application \"${this.MAP[browserType]}\"`);\n result = true;\n } catch {\n result = false;\n }\n return result;\n }\n\n async createTempBrowserDir(baseDirName: string) {\n return path.join(require('temp-dir'), baseDirName);\n }\n\n async launchAsync(\n browserType: LaunchBrowserTypes,\n args: string[]\n ): Promise<LaunchBrowserInstance> {\n const appDirectory = await osascript.execAsync(\n `POSIX path of (path to application \"${this.MAP[browserType]}\")`\n );\n const appPath = globSync('Contents/MacOS/*', { cwd: appDirectory.trim(), absolute: true })?.[0];\n if (!appPath) {\n throw new Error(`Cannot find application path from ${appDirectory}Contents/MacOS`);\n }\n this._process = spawn(appPath, args, { stdio: 'ignore' });\n\n return this;\n }\n\n async close(): Promise<void> {\n this._process?.kill();\n this._process = undefined;\n }\n}\n"],"names":["osascript","LaunchBrowserImplMacOS","MAP","LaunchBrowserTypesEnum","CHROME","EDGE","BRAVE","isSupportedBrowser","browserType","result","execAsync","createTempBrowserDir","baseDirName","path","join","require","launchAsync","args","globSync","appDirectory","appPath","cwd","trim","absolute","Error","_process","spawn","stdio","close","kill","undefined"],"mappings":"AAAA;;;;;SAAYA,SAAS;iDAAM,iBAAiB;IAAhCA,SAAS;;;;;SACoB,aAAe;yBAAf,eAAe;IAAf,aAAe;;;;;SACvB,KAAM;yBAAN,MAAM;IAAN,KAAM;;;;;SACtB,KAAM;gDAAN,MAAM;IAAN,KAAM;;;;;AAOhB,IAAA,mBAAuB,WAAvB,uBAAuB,CAAA;AAKf,MAAMC,sBAAsB;IAGzCC,GAAG,GAAG;QACJ,CAACC,mBAAsB,uBAAA,CAACC,MAAM,CAAC,EAAE,eAAe;QAChD,CAACD,mBAAsB,uBAAA,CAACE,IAAI,CAAC,EAAE,gBAAgB;QAC/C,CAACF,mBAAsB,uBAAA,CAACG,KAAK,CAAC,EAAE,eAAe;KAChD,CAAC;IAEF,MAAMC,kBAAkB,CAACC,WAA+B,EAAoB;QAC1E,IAAIC,MAAM,GAAG,KAAK,AAAC;QACnB,IAAI;YACF,MAAMT,SAAS,KAACU,SAAS,CAAC,CAAC,mBAAmB,EAAE,IAAI,CAACR,GAAG,CAACM,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1EC,MAAM,GAAG,IAAI,CAAC;SACf,CAAC,OAAM;YACNA,MAAM,GAAG,KAAK,CAAC;SAChB;QACD,OAAOA,MAAM,CAAC;KACf;IAED,MAAME,oBAAoB,CAACC,WAAmB,EAAE;QAC9C,OAAOC,KAAI,UAAA,CAACC,IAAI,CAACC,OAAO,CAAC,UAAU,CAAC,EAAEH,WAAW,CAAC,CAAC;KACpD;IAED,MAAMI,WAAW,CACfR,WAA+B,EAC/BS,IAAc,EACkB;YAIhBC,GAA0E;QAH1F,MAAMC,YAAY,GAAG,MAAMnB,SAAS,KAACU,SAAS,CAC5C,CAAC,oCAAoC,EAAE,IAAI,CAACR,GAAG,CAACM,WAAW,CAAC,CAAC,EAAE,CAAC,CACjE,AAAC;QACF,MAAMY,OAAO,GAAGF,CAAAA,GAA0E,GAA1EA,KAAQ,OAAA,CAAC,kBAAkB,EAAE;YAAEG,GAAG,EAAEF,YAAY,CAACG,IAAI,EAAE;YAAEC,QAAQ,EAAE,IAAI;SAAE,CAAC,SAAK,GAA/EL,KAAAA,CAA+E,GAA/EA,GAA0E,AAAE,CAAC,CAAC,CAAC,AAAC;QAChG,IAAI,CAACE,OAAO,EAAE;YACZ,MAAM,IAAII,KAAK,CAAC,CAAC,kCAAkC,EAAEL,YAAY,CAAC,cAAc,CAAC,CAAC,CAAC;SACpF;QACD,IAAI,CAACM,QAAQ,GAAGC,aAAK,QAAA,CAACN,OAAO,EAAEH,IAAI,EAAE;YAAEU,KAAK,EAAE,QAAQ;SAAE,CAAC,CAAC;QAE1D,OAAO,IAAI,CAAC;KACb;IAED,MAAMC,KAAK,GAAkB;YAC3B,GAAa;QAAb,CAAA,GAAa,GAAb,IAAI,CAACH,QAAQ,SAAM,GAAnB,KAAA,CAAmB,GAAnB,GAAa,CAAEI,IAAI,EAAE,AAxDzB,CAwD0B;QACtB,IAAI,CAACJ,QAAQ,GAAGK,SAAS,CAAC;KAC3B;CACF;kBA5CoB7B,sBAAsB"}
|
|
@@ -3,9 +3,27 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
3
3
|
value: true
|
|
4
4
|
});
|
|
5
5
|
exports.default = void 0;
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
6
|
+
function _spawnAsync() {
|
|
7
|
+
const data = _interopRequireDefault(require("@expo/spawn-async"));
|
|
8
|
+
_spawnAsync = function() {
|
|
9
|
+
return data;
|
|
10
|
+
};
|
|
11
|
+
return data;
|
|
12
|
+
}
|
|
13
|
+
function _open() {
|
|
14
|
+
const data = _interopRequireDefault(require("open"));
|
|
15
|
+
_open = function() {
|
|
16
|
+
return data;
|
|
17
|
+
};
|
|
18
|
+
return data;
|
|
19
|
+
}
|
|
20
|
+
function _path() {
|
|
21
|
+
const data = _interopRequireDefault(require("path"));
|
|
22
|
+
_path = function() {
|
|
23
|
+
return data;
|
|
24
|
+
};
|
|
25
|
+
return data;
|
|
26
|
+
}
|
|
9
27
|
var _launchBrowserTypes = require("./LaunchBrowser.types");
|
|
10
28
|
class LaunchBrowserImplWindows {
|
|
11
29
|
MAP = {
|
|
@@ -23,11 +41,10 @@ class LaunchBrowserImplWindows {
|
|
|
23
41
|
let result = false;
|
|
24
42
|
try {
|
|
25
43
|
const env = await this.getPowershellEnv();
|
|
26
|
-
const { status } = await (
|
|
44
|
+
const { status } = await _spawnAsync().default("powershell.exe", [
|
|
27
45
|
"-c",
|
|
28
46
|
`Get-Package -Name '${browserType}'`
|
|
29
47
|
], {
|
|
30
|
-
// @ts-expect-error: Missing NODE_ENV
|
|
31
48
|
env,
|
|
32
49
|
stdio: "ignore"
|
|
33
50
|
});
|
|
@@ -42,14 +59,14 @@ class LaunchBrowserImplWindows {
|
|
|
42
59
|
if (IS_WSL) {
|
|
43
60
|
// On WSL, the browser is actually launched in host, the `temp-dir` returns the linux /tmp path where host browsers cannot reach into.
|
|
44
61
|
// We should get the temp path through the `$TEMP` windows environment variable.
|
|
45
|
-
tmpDir = (await (
|
|
62
|
+
tmpDir = (await _spawnAsync().default("powershell.exe", [
|
|
46
63
|
"-c",
|
|
47
64
|
'echo "$Env:TEMP"'
|
|
48
65
|
])).stdout.trim();
|
|
49
66
|
return `${tmpDir}\\${baseDirName}`;
|
|
50
67
|
} else {
|
|
51
68
|
tmpDir = require("temp-dir");
|
|
52
|
-
return _path.default.join(tmpDir, baseDirName);
|
|
69
|
+
return _path().default.join(tmpDir, baseDirName);
|
|
53
70
|
}
|
|
54
71
|
}
|
|
55
72
|
async launchAsync(browserType, args) {
|
|
@@ -68,11 +85,10 @@ class LaunchBrowserImplWindows {
|
|
|
68
85
|
// The implementation tries to find the pid of target chromium browser process (with --app=https://chrome-devtools-frontend.appspot.com in command arguments),
|
|
69
86
|
// and uses taskkill to terminate the process.
|
|
70
87
|
const env = await this.getPowershellEnv();
|
|
71
|
-
await (
|
|
88
|
+
await _spawnAsync().default("powershell.exe", [
|
|
72
89
|
"-c",
|
|
73
90
|
`taskkill.exe /pid @(Get-WmiObject Win32_Process -Filter "name = '${this._appId}.exe' AND CommandLine LIKE '%chrome-devtools-frontend.appspot.com%'" | Select-Object -ExpandProperty ProcessId)`,
|
|
74
91
|
], {
|
|
75
|
-
// @ts-expect-error: Missing NODE_ENV
|
|
76
92
|
env,
|
|
77
93
|
stdio: "ignore"
|
|
78
94
|
});
|
|
@@ -88,7 +104,7 @@ class LaunchBrowserImplWindows {
|
|
|
88
104
|
if (this._powershellEnv) {
|
|
89
105
|
return this._powershellEnv;
|
|
90
106
|
}
|
|
91
|
-
const PSModulePath = (await (
|
|
107
|
+
const PSModulePath = (await _spawnAsync().default("powershell.exe", [
|
|
92
108
|
"-c",
|
|
93
109
|
'echo "$PSHOME\\Modules"'
|
|
94
110
|
])).stdout.trim();
|
|
@@ -115,7 +131,7 @@ const IS_WSL = require("is-wsl") && !require("is-docker")();
|
|
|
115
131
|
try {
|
|
116
132
|
var _SYSTEMROOT;
|
|
117
133
|
process.env.SYSTEMROOT = (_SYSTEMROOT = process.env.SYSTEMROOT) != null ? _SYSTEMROOT : process.env.SystemRoot;
|
|
118
|
-
return await _open.default.openApp(appId, options);
|
|
134
|
+
return await _open().default.openApp(appId, options);
|
|
119
135
|
} finally{
|
|
120
136
|
process.env.SYSTEMROOT = oldSystemRoot;
|
|
121
137
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../src/start/server/middleware/inspector/LaunchBrowserImplWindows.ts"],"sourcesContent":["import spawnAsync from '@expo/spawn-async';\nimport open from 'open';\nimport path from 'path';\n\nimport {\n LaunchBrowserTypes,\n type LaunchBrowser,\n type LaunchBrowserInstance,\n LaunchBrowserTypesEnum,\n} from './LaunchBrowser.types';\n\nconst IS_WSL = require('is-wsl') && !require('is-docker')();\n\n/**\n * Browser implementation for Windows and WSL\n *\n * To minimize the difference between Windows and WSL, the implementation wraps all spawn calls through powershell.\n */\nexport default class LaunchBrowserImplWindows implements LaunchBrowser, LaunchBrowserInstance {\n private _appId: string | undefined;\n private _powershellEnv: { [key: string]: string } | undefined;\n\n MAP = {\n [LaunchBrowserTypesEnum.CHROME]: {\n appId: 'chrome',\n },\n [LaunchBrowserTypesEnum.EDGE]: {\n appId: 'msedge',\n },\n [LaunchBrowserTypesEnum.BRAVE]: {\n appId: 'brave',\n },\n };\n\n async isSupportedBrowser(browserType: LaunchBrowserTypes): Promise<boolean> {\n let result = false;\n try {\n const env = await this.getPowershellEnv();\n const { status } = await spawnAsync(\n 'powershell.exe',\n ['-c', `Get-Package -Name '${browserType}'`],\n {\n
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/start/server/middleware/inspector/LaunchBrowserImplWindows.ts"],"sourcesContent":["import spawnAsync from '@expo/spawn-async';\nimport open from 'open';\nimport path from 'path';\n\nimport {\n LaunchBrowserTypes,\n type LaunchBrowser,\n type LaunchBrowserInstance,\n LaunchBrowserTypesEnum,\n} from './LaunchBrowser.types';\n\nconst IS_WSL = require('is-wsl') && !require('is-docker')();\n\n/**\n * Browser implementation for Windows and WSL\n *\n * To minimize the difference between Windows and WSL, the implementation wraps all spawn calls through powershell.\n */\nexport default class LaunchBrowserImplWindows implements LaunchBrowser, LaunchBrowserInstance {\n private _appId: string | undefined;\n private _powershellEnv: { [key: string]: string } | undefined;\n\n MAP = {\n [LaunchBrowserTypesEnum.CHROME]: {\n appId: 'chrome',\n },\n [LaunchBrowserTypesEnum.EDGE]: {\n appId: 'msedge',\n },\n [LaunchBrowserTypesEnum.BRAVE]: {\n appId: 'brave',\n },\n };\n\n async isSupportedBrowser(browserType: LaunchBrowserTypes): Promise<boolean> {\n let result = false;\n try {\n const env = await this.getPowershellEnv();\n const { status } = await spawnAsync(\n 'powershell.exe',\n ['-c', `Get-Package -Name '${browserType}'`],\n {\n env,\n stdio: 'ignore',\n }\n );\n result = status === 0;\n } catch {\n result = false;\n }\n return result;\n }\n\n async createTempBrowserDir(baseDirName: string) {\n let tmpDir;\n if (IS_WSL) {\n // On WSL, the browser is actually launched in host, the `temp-dir` returns the linux /tmp path where host browsers cannot reach into.\n // We should get the temp path through the `$TEMP` windows environment variable.\n tmpDir = (await spawnAsync('powershell.exe', ['-c', 'echo \"$Env:TEMP\"'])).stdout.trim();\n return `${tmpDir}\\\\${baseDirName}`;\n } else {\n tmpDir = require('temp-dir');\n return path.join(tmpDir, baseDirName);\n }\n }\n\n async launchAsync(\n browserType: LaunchBrowserTypes,\n args: string[]\n ): Promise<LaunchBrowserInstance> {\n const appId = this.MAP[browserType].appId;\n await openWithSystemRootEnvironment(appId, { arguments: args });\n this._appId = appId;\n return this;\n }\n\n async close(): Promise<void> {\n if (this._appId != null) {\n try {\n // Since we wrap all spawn calls through powershell as well as from `open.openApp`, the returned ChildProcess is not the browser process.\n // And we cannot just call `process.kill()` kill it.\n // The implementation tries to find the pid of target chromium browser process (with --app=https://chrome-devtools-frontend.appspot.com in command arguments),\n // and uses taskkill to terminate the process.\n const env = await this.getPowershellEnv();\n await spawnAsync(\n 'powershell.exe',\n [\n '-c',\n `taskkill.exe /pid @(Get-WmiObject Win32_Process -Filter \"name = '${this._appId}.exe' AND CommandLine LIKE '%chrome-devtools-frontend.appspot.com%'\" | Select-Object -ExpandProperty ProcessId)`,\n ],\n {\n env,\n stdio: 'ignore',\n }\n );\n } catch {}\n this._appId = undefined;\n }\n }\n\n /**\n * This method is used to get the powershell environment variables for `Get-Package` command.\n * Especially for powershell 7, its default `PSModulePath` is different from powershell 5 and `Get-Package` command is not available.\n * We need to set the PSModulePath to include the default value of powershell 5.\n */\n private async getPowershellEnv(): Promise<{ [key: string]: string }> {\n if (this._powershellEnv) {\n return this._powershellEnv;\n }\n const PSModulePath = (\n await spawnAsync('powershell.exe', ['-c', 'echo \"$PSHOME\\\\Modules\"'])\n ).stdout.trim();\n this._powershellEnv = {\n PSModulePath,\n };\n return this._powershellEnv;\n }\n}\n\n/**\n * Due to a bug in `open` on Windows PowerShell, we need to ensure `process.env.SYSTEMROOT` is set.\n * This environment variable is set by Windows on `SystemRoot`, causing `open` to execute a command with an \"unknown\" drive letter.\n *\n * @see https://github.com/sindresorhus/open/issues/205\n */\nasync function openWithSystemRootEnvironment(\n appId: string | Readonly<string[]>,\n options?: open.OpenAppOptions\n): Promise<import('child_process').ChildProcess> {\n const oldSystemRoot = process.env.SYSTEMROOT;\n try {\n process.env.SYSTEMROOT = process.env.SYSTEMROOT ?? process.env.SystemRoot;\n return await open.openApp(appId, options);\n } finally {\n process.env.SYSTEMROOT = oldSystemRoot;\n }\n}\n"],"names":["LaunchBrowserImplWindows","MAP","LaunchBrowserTypesEnum","CHROME","appId","EDGE","BRAVE","isSupportedBrowser","browserType","result","env","getPowershellEnv","status","spawnAsync","stdio","createTempBrowserDir","baseDirName","tmpDir","IS_WSL","stdout","trim","require","path","join","launchAsync","args","openWithSystemRootEnvironment","arguments","_appId","close","undefined","_powershellEnv","PSModulePath","options","oldSystemRoot","process","SYSTEMROOT","SystemRoot","open","openApp"],"mappings":"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"}
|
|
@@ -3,10 +3,34 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
3
3
|
value: true
|
|
4
4
|
});
|
|
5
5
|
exports.createJsInspectorMiddleware = createJsInspectorMiddleware;
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
6
|
+
function _chalk() {
|
|
7
|
+
const data = _interopRequireDefault(require("chalk"));
|
|
8
|
+
_chalk = function() {
|
|
9
|
+
return data;
|
|
10
|
+
};
|
|
11
|
+
return data;
|
|
12
|
+
}
|
|
13
|
+
function _net() {
|
|
14
|
+
const data = _interopRequireDefault(require("net"));
|
|
15
|
+
_net = function() {
|
|
16
|
+
return data;
|
|
17
|
+
};
|
|
18
|
+
return data;
|
|
19
|
+
}
|
|
20
|
+
function _tls() {
|
|
21
|
+
const data = require("tls");
|
|
22
|
+
_tls = function() {
|
|
23
|
+
return data;
|
|
24
|
+
};
|
|
25
|
+
return data;
|
|
26
|
+
}
|
|
27
|
+
function _url() {
|
|
28
|
+
const data = require("url");
|
|
29
|
+
_url = function() {
|
|
30
|
+
return data;
|
|
31
|
+
};
|
|
32
|
+
return data;
|
|
33
|
+
}
|
|
10
34
|
var _jsInspector = require("./JsInspector");
|
|
11
35
|
function _interopRequireDefault(obj) {
|
|
12
36
|
return obj && obj.__esModule ? obj : {
|
|
@@ -16,7 +40,7 @@ function _interopRequireDefault(obj) {
|
|
|
16
40
|
function createJsInspectorMiddleware() {
|
|
17
41
|
return async function(req, res, next) {
|
|
18
42
|
var _url1;
|
|
19
|
-
const { origin , searchParams } = new _url.URL((_url1 = req.url) != null ? _url1 : "/", getServerBase(req));
|
|
43
|
+
const { origin , searchParams } = new (_url()).URL((_url1 = req.url) != null ? _url1 : "/", getServerBase(req));
|
|
20
44
|
const appId = searchParams.get("appId") || searchParams.get("applicationId");
|
|
21
45
|
if (!appId) {
|
|
22
46
|
res.writeHead(400).end('Missing application identifier ("?appId=...")');
|
|
@@ -25,7 +49,7 @@ function createJsInspectorMiddleware() {
|
|
|
25
49
|
const app = await (0, _jsInspector).queryInspectorAppAsync(origin, appId);
|
|
26
50
|
if (!app) {
|
|
27
51
|
res.writeHead(404).end("Unable to find inspector target from @react-native/dev-middleware");
|
|
28
|
-
console.warn(_chalk.default.yellow("No compatible apps connected. JavaScript Debugging can only be used with the Hermes engine."));
|
|
52
|
+
console.warn(_chalk().default.yellow("No compatible apps connected. JavaScript Debugging can only be used with the Hermes engine."));
|
|
29
53
|
return;
|
|
30
54
|
}
|
|
31
55
|
if (req.method === "GET") {
|
|
@@ -43,7 +67,7 @@ function createJsInspectorMiddleware() {
|
|
|
43
67
|
var ref;
|
|
44
68
|
// abort(Error: Command failed: osascript -e POSIX path of (path to application "google chrome")
|
|
45
69
|
// 15:50: execution error: Google Chrome got an error: Application isn’t running. (-600)
|
|
46
|
-
console.error(_chalk.default.red("Error launching JS inspector: " + ((ref = error == null ? void 0 : error.message) != null ? ref : "Unknown error occurred")));
|
|
70
|
+
console.error(_chalk().default.red("Error launching JS inspector: " + ((ref = error == null ? void 0 : error.message) != null ? ref : "Unknown error occurred")));
|
|
47
71
|
res.writeHead(500);
|
|
48
72
|
res.end();
|
|
49
73
|
return;
|
|
@@ -55,9 +79,9 @@ function createJsInspectorMiddleware() {
|
|
|
55
79
|
};
|
|
56
80
|
}
|
|
57
81
|
function getServerBase(req) {
|
|
58
|
-
const scheme = req.socket instanceof _tls.TLSSocket && req.socket.encrypted === true ? "https" : "http";
|
|
82
|
+
const scheme = req.socket instanceof _tls().TLSSocket && req.socket.encrypted === true ? "https" : "http";
|
|
59
83
|
const { localAddress , localPort } = req.socket;
|
|
60
|
-
const address = localAddress && _net.default.isIPv6(localAddress) ? `[${localAddress}]` : localAddress;
|
|
84
|
+
const address = localAddress && _net().default.isIPv6(localAddress) ? `[${localAddress}]` : localAddress;
|
|
61
85
|
return `${scheme}:${address}:${localPort}`;
|
|
62
86
|
}
|
|
63
87
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../src/start/server/middleware/inspector/createJsInspectorMiddleware.ts"],"sourcesContent":["import chalk from 'chalk';\nimport type { NextHandleFunction } from 'connect';\nimport type { IncomingMessage, ServerResponse } from 'http';\nimport net from 'net';\nimport { TLSSocket } from 'tls';\nimport { URL } from 'url';\n\nimport { openJsInspector, queryInspectorAppAsync } from './JsInspector';\n\n/**\n * Create a middleware that handles new requests to open the debugger from the dev menu.\n * @todo(cedric): delete this middleware once we fully swap over to the new React Native JS Inspector.\n */\nexport function createJsInspectorMiddleware(): NextHandleFunction {\n return async function (req: IncomingMessage, res: ServerResponse, next: (err?: Error) => void) {\n const { origin, searchParams } = new URL(req.url ?? '/', getServerBase(req));\n const appId = searchParams.get('appId') || searchParams.get('applicationId');\n if (!appId) {\n res.writeHead(400).end('Missing application identifier (\"?appId=...\")');\n return;\n }\n\n const app = await queryInspectorAppAsync(origin, appId);\n if (!app) {\n res.writeHead(404).end('Unable to find inspector target from @react-native/dev-middleware');\n console.warn(\n chalk.yellow(\n 'No compatible apps connected. JavaScript Debugging can only be used with the Hermes engine.'\n )\n );\n return;\n }\n\n if (req.method === 'GET') {\n const data = JSON.stringify(app);\n res.writeHead(200, {\n 'Content-Type': 'application/json; charset=UTF-8',\n 'Cache-Control': 'no-cache',\n 'Content-Length': data.length.toString(),\n });\n res.end(data);\n } else if (req.method === 'POST' || req.method === 'PUT') {\n try {\n await openJsInspector(origin, app);\n } catch (error: any) {\n // abort(Error: Command failed: osascript -e POSIX path of (path to application \"google chrome\")\n // 15:50: execution error: Google Chrome got an error: Application isn’t running. (-600)\n\n console.error(\n chalk.red('Error launching JS inspector: ' + (error?.message ?? 'Unknown error occurred'))\n );\n res.writeHead(500);\n res.end();\n return;\n }\n res.end();\n } else {\n res.writeHead(405);\n }\n };\n}\n\nfunction getServerBase(req: IncomingMessage): string {\n const scheme =\n req.socket instanceof TLSSocket && req.socket.encrypted === true ? 'https' : 'http';\n const { localAddress, localPort } = req.socket;\n const address = localAddress && net.isIPv6(localAddress) ? `[${localAddress}]` : localAddress;\n return `${scheme}:${address}:${localPort}`;\n}\n"],"names":["createJsInspectorMiddleware","req","res","next","origin","searchParams","URL","url","getServerBase","appId","get","writeHead","end","app","queryInspectorAppAsync","console","warn","chalk","yellow","method","data","JSON","stringify","length","toString","openJsInspector","error","red","message","scheme","socket","TLSSocket","encrypted","localAddress","localPort","address","net","isIPv6"],"mappings":"AAAA;;;;QAagBA,2BAA2B,GAA3BA,2BAA2B;
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/start/server/middleware/inspector/createJsInspectorMiddleware.ts"],"sourcesContent":["import chalk from 'chalk';\nimport type { NextHandleFunction } from 'connect';\nimport type { IncomingMessage, ServerResponse } from 'http';\nimport net from 'net';\nimport { TLSSocket } from 'tls';\nimport { URL } from 'url';\n\nimport { openJsInspector, queryInspectorAppAsync } from './JsInspector';\n\n/**\n * Create a middleware that handles new requests to open the debugger from the dev menu.\n * @todo(cedric): delete this middleware once we fully swap over to the new React Native JS Inspector.\n */\nexport function createJsInspectorMiddleware(): NextHandleFunction {\n return async function (req: IncomingMessage, res: ServerResponse, next: (err?: Error) => void) {\n const { origin, searchParams } = new URL(req.url ?? '/', getServerBase(req));\n const appId = searchParams.get('appId') || searchParams.get('applicationId');\n if (!appId) {\n res.writeHead(400).end('Missing application identifier (\"?appId=...\")');\n return;\n }\n\n const app = await queryInspectorAppAsync(origin, appId);\n if (!app) {\n res.writeHead(404).end('Unable to find inspector target from @react-native/dev-middleware');\n console.warn(\n chalk.yellow(\n 'No compatible apps connected. JavaScript Debugging can only be used with the Hermes engine.'\n )\n );\n return;\n }\n\n if (req.method === 'GET') {\n const data = JSON.stringify(app);\n res.writeHead(200, {\n 'Content-Type': 'application/json; charset=UTF-8',\n 'Cache-Control': 'no-cache',\n 'Content-Length': data.length.toString(),\n });\n res.end(data);\n } else if (req.method === 'POST' || req.method === 'PUT') {\n try {\n await openJsInspector(origin, app);\n } catch (error: any) {\n // abort(Error: Command failed: osascript -e POSIX path of (path to application \"google chrome\")\n // 15:50: execution error: Google Chrome got an error: Application isn’t running. (-600)\n\n console.error(\n chalk.red('Error launching JS inspector: ' + (error?.message ?? 'Unknown error occurred'))\n );\n res.writeHead(500);\n res.end();\n return;\n }\n res.end();\n } else {\n res.writeHead(405);\n }\n };\n}\n\nfunction getServerBase(req: IncomingMessage): string {\n const scheme =\n req.socket instanceof TLSSocket && req.socket.encrypted === true ? 'https' : 'http';\n const { localAddress, localPort } = req.socket;\n const address = localAddress && net.isIPv6(localAddress) ? `[${localAddress}]` : localAddress;\n return `${scheme}:${address}:${localPort}`;\n}\n"],"names":["createJsInspectorMiddleware","req","res","next","origin","searchParams","URL","url","getServerBase","appId","get","writeHead","end","app","queryInspectorAppAsync","console","warn","chalk","yellow","method","data","JSON","stringify","length","toString","openJsInspector","error","red","message","scheme","socket","TLSSocket","encrypted","localAddress","localPort","address","net","isIPv6"],"mappings":"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"}
|
|
@@ -3,13 +3,20 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
3
3
|
value: true
|
|
4
4
|
});
|
|
5
5
|
exports.shouldEnableAsyncImports = shouldEnableAsyncImports;
|
|
6
|
+
exports.isServerEnvironment = isServerEnvironment;
|
|
6
7
|
exports.getBaseUrlFromExpoConfig = getBaseUrlFromExpoConfig;
|
|
7
8
|
exports.getAsyncRoutesFromExpoConfig = getAsyncRoutesFromExpoConfig;
|
|
8
9
|
exports.getMetroDirectBundleOptionsForExpoConfig = getMetroDirectBundleOptionsForExpoConfig;
|
|
9
10
|
exports.getMetroDirectBundleOptions = getMetroDirectBundleOptions;
|
|
10
11
|
exports.createBundleUrlPathFromExpoConfig = createBundleUrlPathFromExpoConfig;
|
|
11
12
|
exports.createBundleUrlPath = createBundleUrlPath;
|
|
12
|
-
|
|
13
|
+
function _resolveFrom() {
|
|
14
|
+
const data = _interopRequireDefault(require("resolve-from"));
|
|
15
|
+
_resolveFrom = function() {
|
|
16
|
+
return data;
|
|
17
|
+
};
|
|
18
|
+
return data;
|
|
19
|
+
}
|
|
13
20
|
var _env = require("../../../utils/env");
|
|
14
21
|
var _errors = require("../../../utils/errors");
|
|
15
22
|
var _router = require("../metro/router");
|
|
@@ -27,7 +34,10 @@ function shouldEnableAsyncImports(projectRoot) {
|
|
|
27
34
|
// to support async imports. If it's not installed, we can't support async imports.
|
|
28
35
|
// If it is installed, the user MUST import it somewhere in their project.
|
|
29
36
|
// Expo Router automatically pulls this in, so we can check for it.
|
|
30
|
-
return _resolveFrom.default.silent(projectRoot, "@expo/metro-runtime") != null;
|
|
37
|
+
return _resolveFrom().default.silent(projectRoot, "@expo/metro-runtime") != null;
|
|
38
|
+
}
|
|
39
|
+
function isServerEnvironment(environment) {
|
|
40
|
+
return environment === "node" || environment === "react-server";
|
|
31
41
|
}
|
|
32
42
|
function withDefaults({ mode ="development" , minify =mode === "production" , preserveEnvVars =_env.env.EXPO_NO_CLIENT_ENV_VARS , lazy , ...props }) {
|
|
33
43
|
if (props.bytecode) {
|
|
@@ -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 { getRouterDirectoryModuleIdWithManifest } from '../metro/router';\n\nconst debug = require('debug')('expo:metro:options') as typeof console.log;\n\nexport type ExpoMetroOptions = {\n platform: string;\n mainModuleName: string;\n mode: string;\n minify?: boolean;\n environment?: string;\n serializerOutput?: 'static';\n serializerIncludeMaps?: boolean;\n lazy?: boolean;\n engine?: 'hermes';\n preserveEnvVars?: boolean;\n bytecode: boolean;\n asyncRoutes?: boolean;\n\n baseUrl?: string;\n isExporting: boolean;\n /** Module ID relative to the projectRoot for the Expo Router app directory. */\n routerRoot: string;\n inlineSourceMap?: boolean;\n};\n\nexport type SerializerOptions = {\n includeSourceMaps?: boolean;\n output?: 'static';\n};\n\nexport type ExpoMetroBundleOptions = MetroBundleOptions & {\n serializerOptions?: SerializerOptions;\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 = env.EXPO_NO_CLIENT_ENV_VARS,\n lazy,\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 return {\n mode,\n minify,\n preserveEnvVars,\n lazy: !props.isExporting && lazy,\n ...props,\n };\n}\n\nexport function getBaseUrlFromExpoConfig(exp: ExpoConfig) {\n return exp.experiments?.baseUrl?.trim().replace(/\\/+$/, '') ?? '';\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' | 'routerRoot' | 'asyncRoutes'>\n): Partial<ExpoMetroBundleOptions> {\n return getMetroDirectBundleOptions({\n ...options,\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 } = 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 bundleOptions: Partial<ExpoMetroBundleOptions> = {\n platform,\n entryFile: mainModuleName,\n dev,\n minify: minify ?? !dev,\n inlineSourceMap: inlineSourceMap ?? false,\n lazy,\n unstable_transformProfile: isHermes ? 'hermes-stable' : 'default',\n customTransformOptions: {\n __proto__: null,\n engine,\n preserveEnvVars,\n asyncRoutes,\n environment,\n baseUrl,\n routerRoot,\n bytecode,\n },\n customResolverOptions: {\n __proto__: null,\n environment,\n },\n sourceMapUrl: fakeSourceMapUrl,\n sourceUrl: fakeSourceUrl,\n serializerOptions: {\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, 'baseUrl' | 'routerRoot'>\n): string {\n return createBundleUrlPath({\n ...options,\n baseUrl: getBaseUrlFromExpoConfig(exp),\n routerRoot: getRouterDirectoryModuleIdWithManifest(projectRoot, exp),\n });\n}\n\nexport function createBundleUrlPath(options: ExpoMetroOptions): string {\n const {\n platform,\n mainModuleName,\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 inlineSourceMap,\n isExporting,\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', String(bytecode));\n }\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 (routerRoot != null) {\n queryParams.append('transform.routerRoot', routerRoot);\n }\n\n if (environment) {\n queryParams.append('resolver.environment', environment);\n queryParams.append('transform.environment', environment);\n }\n\n if (serializerOutput) {\n queryParams.append('serializer.output', serializerOutput);\n }\n if (serializerIncludeMaps) {\n queryParams.append('serializer.map', String(serializerIncludeMaps));\n }\n\n return `/${encodeURI(mainModuleName)}.bundle?${queryParams.toString()}`;\n}\n"],"names":["shouldEnableAsyncImports","getBaseUrlFromExpoConfig","getAsyncRoutesFromExpoConfig","getMetroDirectBundleOptionsForExpoConfig","getMetroDirectBundleOptions","createBundleUrlPathFromExpoConfig","createBundleUrlPath","debug","require","projectRoot","env","EXPO_NO_METRO_LAZY","resolveFrom","silent","withDefaults","mode","minify","preserveEnvVars","EXPO_NO_CLIENT_ENV_VARS","lazy","props","bytecode","platform","CommandError","engine","isExporting","exp","experiments","baseUrl","trim","replace","asyncRoutesSetting","extra","router","asyncRoutes","includes","default","options","routerRoot","getRouterDirectoryModuleIdWithManifest","mainModuleName","environment","serializerOutput","serializerIncludeMaps","inlineSourceMap","dev","isHermes","fakeSourceUrl","fakeSourceMapUrl","URL","toString","bundleOptions","entryFile","unstable_transformProfile","customTransformOptions","__proto__","customResolverOptions","sourceMapUrl","sourceUrl","serializerOptions","output","includeSourceMaps","String","queryParams","URLSearchParams","encodeURIComponent","hot","append","encodeURI"],"mappings":"AAAA;;;;QAwCgBA,wBAAwB,GAAxBA,wBAAwB;QAqCxBC,wBAAwB,GAAxBA,wBAAwB;QAGxBC,4BAA4B,GAA5BA,4BAA4B;QAe5BC,wCAAwC,GAAxCA,wCAAwC;QAaxCC,2BAA2B,GAA3BA,2BAA2B;QA6E3BC,iCAAiC,GAAjCA,iCAAiC;QAYjCC,mBAAmB,GAAnBA,mBAAmB;AAnMX,IAAA,YAAc,kCAAd,cAAc,EAAA;AAElB,IAAA,IAAoB,WAApB,oBAAoB,CAAA;AACX,IAAA,OAAuB,WAAvB,uBAAuB,CAAA;AACG,IAAA,OAAiB,WAAjB,iBAAiB,CAAA;;;;;;AAExE,MAAMC,KAAK,GAAGC,OAAO,CAAC,OAAO,CAAC,CAAC,oBAAoB,CAAC,AAAsB,AAAC;AAgCpE,SAASR,wBAAwB,CAACS,WAAmB,EAAW;IACrE,IAAIC,IAAG,IAAA,CAACC,kBAAkB,EAAE;QAC1B,OAAO,KAAK,CAAC;KACd;IAED,oFAAoF;IACpF,mFAAmF;IACnF,0EAA0E;IAC1E,mEAAmE;IACnE,OAAOC,YAAW,QAAA,CAACC,MAAM,CAACJ,WAAW,EAAE,qBAAqB,CAAC,IAAI,IAAI,CAAC;CACvE;AAED,SAASK,YAAY,CAAC,EACpBC,IAAI,EAAG,aAAa,CAAA,EACpBC,MAAM,EAAGD,IAAI,KAAK,YAAY,CAAA,EAC9BE,eAAe,EAAGP,IAAG,IAAA,CAACQ,uBAAuB,CAAA,EAC7CC,IAAI,CAAA,EACJ,GAAGC,KAAK,EACS,EAAoB;IACrC,IAAIA,KAAK,CAACC,QAAQ,EAAE;QAClB,IAAID,KAAK,CAACE,QAAQ,KAAK,KAAK,EAAE;YAC5B,MAAM,IAAIC,OAAY,aAAA,CAAC,2CAA2C,CAAC,CAAC;SACrE;QACD,IAAIH,KAAK,CAACI,MAAM,KAAK,QAAQ,EAAE;YAC7B,MAAM,IAAID,OAAY,aAAA,CAAC,mDAAmD,CAAC,CAAC;SAC7E;KACF;IAED,OAAO;QACLR,IAAI;QACJC,MAAM;QACNC,eAAe;QACfE,IAAI,EAAE,CAACC,KAAK,CAACK,WAAW,IAAIN,IAAI;QAChC,GAAGC,KAAK;KACT,CAAC;CACH;AAEM,SAASnB,wBAAwB,CAACyB,GAAe,EAAE;QACjDA,GAAe;QAAfA,IAAoD;IAA3D,OAAOA,CAAAA,IAAoD,GAApDA,CAAAA,GAAe,GAAfA,GAAG,CAACC,WAAW,SAAS,GAAxBD,KAAAA,CAAwB,GAAxBA,QAAAA,GAAe,CAAEE,OAAO,SAAA,GAAxBF,KAAAA,CAAwB,GAAxBA,KAA0BG,IAAI,EAAE,CAACC,OAAO,SAAS,EAAE,CAAC,YAApDJ,IAAoD,GAAI,EAAE,CAAC;CACnE;AACM,SAASxB,4BAA4B,CAACwB,GAAe,EAAEX,IAAY,EAAEO,QAAgB,EAAE;QAGxFI,GAAS;IAFb,IAAIK,kBAAkB,AAAC;IAEvB,IAAIL,CAAAA,GAAS,GAATA,GAAG,CAACM,KAAK,SAAQ,GAAjBN,KAAAA,CAAiB,GAAjBA,QAAAA,GAAS,CAAEO,MAAM,SAAA,GAAjBP,KAAAA,CAAiB,QAAEQ,WAAW,AAAb,EAAe;YACdR,IAAS;QAA7B,MAAMQ,WAAW,GAAGR,CAAAA,IAAS,GAATA,GAAG,CAACM,KAAK,SAAQ,GAAjBN,KAAAA,CAAiB,GAAjBA,QAAAA,IAAS,CAAEO,MAAM,SAAA,GAAjBP,KAAAA,CAAiB,QAAEQ,WAAW,AAAb,AAAc;QACnD,IAAI;YAAC,SAAS;YAAE,QAAQ;SAAC,CAACC,QAAQ,CAAC,OAAOD,WAAW,CAAC,EAAE;YACtDH,kBAAkB,GAAGG,WAAW,CAAC;SAClC,MAAM,IAAI,OAAOA,WAAW,KAAK,QAAQ,EAAE;gBACrBA,SAAqB;YAA1CH,kBAAkB,GAAGG,CAAAA,SAAqB,GAArBA,WAAW,CAACZ,QAAQ,CAAC,YAArBY,SAAqB,GAAIA,WAAW,CAACE,OAAO,CAAC;SACnE;KACF;IAED,OAAO;QAACrB,IAAI;QAAE,IAAI;KAAC,CAACoB,QAAQ,CAACJ,kBAAkB,CAAC,CAAC;CAClD;AAEM,SAAS5B,wCAAwC,CACtDM,WAAmB,EACnBiB,GAAe,EACfW,OAAyE,EACxC;IACjC,OAAOjC,2BAA2B,CAAC;QACjC,GAAGiC,OAAO;QACVT,OAAO,EAAE3B,wBAAwB,CAACyB,GAAG,CAAC;QACtCY,UAAU,EAAEC,CAAAA,GAAAA,OAAsC,AAAkB,CAAA,uCAAlB,CAAC9B,WAAW,EAAEiB,GAAG,CAAC;QACpEQ,WAAW,EAAEhC,4BAA4B,CAACwB,GAAG,EAAEW,OAAO,CAACtB,IAAI,EAAEsB,OAAO,CAACf,QAAQ,CAAC;KAC/E,CAAC,CAAC;CACJ;AAEM,SAASlB,2BAA2B,CACzCiC,OAAyB,EACQ;IACjC,MAAM,EACJG,cAAc,CAAA,EACdlB,QAAQ,CAAA,EACRP,IAAI,CAAA,EACJC,MAAM,CAAA,EACNyB,WAAW,CAAA,EACXC,gBAAgB,CAAA,EAChBC,qBAAqB,CAAA,EACrBtB,QAAQ,CAAA,EACRF,IAAI,CAAA,EACJK,MAAM,CAAA,EACNP,eAAe,CAAA,EACfiB,WAAW,CAAA,EACXN,OAAO,CAAA,EACPU,UAAU,CAAA,EACVb,WAAW,CAAA,EACXmB,eAAe,CAAA,IAChB,GAAG9B,YAAY,CAACuB,OAAO,CAAC,AAAC;IAE1B,MAAMQ,GAAG,GAAG9B,IAAI,KAAK,YAAY,AAAC;IAClC,MAAM+B,QAAQ,GAAGtB,MAAM,KAAK,QAAQ,AAAC;IAErC,IAAIC,WAAW,EAAE;QACflB,KAAK,CAAC,0CAA0C,CAAC,CAAC;QAClD8B,OAAO,CAAClB,IAAI,GAAG,KAAK,CAAC;KACtB;IAED,IAAI4B,aAAa,AAAoB,AAAC;IACtC,IAAIC,gBAAgB,AAAoB,AAAC;IAEzC,yEAAyE;IACzE,IAAIL,qBAAqB,IAAI,IAAI,IAAID,gBAAgB,IAAI,IAAI,EAAE;QAC7DK,aAAa,GAAG,IAAIE,GAAG,CACrB3C,mBAAmB,CAAC+B,OAAO,CAAC,CAACP,OAAO,QAAQ,EAAE,CAAC,EAC/C,uBAAuB,CACxB,CAACoB,QAAQ,EAAE,CAAC;QACb,IAAIP,qBAAqB,EAAE;YACzBK,gBAAgB,GAAGD,aAAa,CAACjB,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;SAC/D;KACF;IAED,MAAMqB,aAAa,GAAoC;QACrD7B,QAAQ;QACR8B,SAAS,EAAEZ,cAAc;QACzBK,GAAG;QACH7B,MAAM,EAAEA,MAAM,WAANA,MAAM,GAAI,CAAC6B,GAAG;QACtBD,eAAe,EAAEA,eAAe,WAAfA,eAAe,GAAI,KAAK;QACzCzB,IAAI;QACJkC,yBAAyB,EAAEP,QAAQ,GAAG,eAAe,GAAG,SAAS;QACjEQ,sBAAsB,EAAE;YACtBC,SAAS,EAAE,IAAI;YACf/B,MAAM;YACNP,eAAe;YACfiB,WAAW;YACXO,WAAW;YACXb,OAAO;YACPU,UAAU;YACVjB,QAAQ;SACT;QACDmC,qBAAqB,EAAE;YACrBD,SAAS,EAAE,IAAI;YACfd,WAAW;SACZ;QACDgB,YAAY,EAAET,gBAAgB;QAC9BU,SAAS,EAAEX,aAAa;QACxBY,iBAAiB,EAAE;YACjBC,MAAM,EAAElB,gBAAgB;YACxBmB,iBAAiB,EAAElB,qBAAqB;SACzC;KACF,AAAC;IAEF,OAAOQ,aAAa,CAAC;CACtB;AAEM,SAAS9C,iCAAiC,CAC/CI,WAAmB,EACnBiB,GAAe,EACfW,OAAyD,EACjD;IACR,OAAO/B,mBAAmB,CAAC;QACzB,GAAG+B,OAAO;QACVT,OAAO,EAAE3B,wBAAwB,CAACyB,GAAG,CAAC;QACtCY,UAAU,EAAEC,CAAAA,GAAAA,OAAsC,AAAkB,CAAA,uCAAlB,CAAC9B,WAAW,EAAEiB,GAAG,CAAC;KACrE,CAAC,CAAC;CACJ;AAEM,SAASpB,mBAAmB,CAAC+B,OAAyB,EAAU;IACrE,MAAM,EACJf,QAAQ,CAAA,EACRkB,cAAc,CAAA,EACdzB,IAAI,CAAA,EACJC,MAAM,CAAA,EACNyB,WAAW,CAAA,EACXC,gBAAgB,CAAA,EAChBC,qBAAqB,CAAA,EACrBxB,IAAI,CAAA,EACJE,QAAQ,CAAA,EACRG,MAAM,CAAA,EACNP,eAAe,CAAA,EACfiB,WAAW,CAAA,EACXN,OAAO,CAAA,EACPU,UAAU,CAAA,EACVM,eAAe,CAAA,EACfnB,WAAW,CAAA,IACZ,GAAGX,YAAY,CAACuB,OAAO,CAAC,AAAC;IAE1B,MAAMQ,GAAG,GAAGiB,MAAM,CAAC/C,IAAI,KAAK,YAAY,CAAC,AAAC;IAC1C,MAAMgD,WAAW,GAAG,IAAIC,eAAe,CAAC;QACtC1C,QAAQ,EAAE2C,kBAAkB,CAAC3C,QAAQ,CAAC;QACtCuB,GAAG;QACH,8BAA8B;QAC9BqB,GAAG,EAAEJ,MAAM,CAAC,KAAK,CAAC;KACnB,CAAC,AAAC;IAEH,+DAA+D;IAC/D,IAAI,CAACrC,WAAW,IAAIN,IAAI,EAAE;QACxB4C,WAAW,CAACI,MAAM,CAAC,MAAM,EAAEL,MAAM,CAAC3C,IAAI,CAAC,CAAC,CAAC;KAC1C;IAED,IAAIyB,eAAe,EAAE;QACnBmB,WAAW,CAACI,MAAM,CAAC,iBAAiB,EAAEL,MAAM,CAAClB,eAAe,CAAC,CAAC,CAAC;KAChE;IAED,IAAI5B,MAAM,EAAE;QACV+C,WAAW,CAACI,MAAM,CAAC,QAAQ,EAAEL,MAAM,CAAC9C,MAAM,CAAC,CAAC,CAAC;KAC9C;IAED,6FAA6F;IAC7F,uGAAuG;IACvG,gEAAgE;IAChE,IAAIQ,MAAM,EAAE;QACVuC,WAAW,CAACI,MAAM,CAAC,kBAAkB,EAAE3C,MAAM,CAAC,CAAC;KAChD;IACD,IAAIH,QAAQ,EAAE;QACZ0C,WAAW,CAACI,MAAM,CAAC,oBAAoB,EAAEL,MAAM,CAACzC,QAAQ,CAAC,CAAC,CAAC;KAC5D;IAED,IAAIa,WAAW,EAAE;QACf6B,WAAW,CAACI,MAAM,CAAC,uBAAuB,EAAEL,MAAM,CAAC5B,WAAW,CAAC,CAAC,CAAC;KAClE;IACD,IAAIjB,eAAe,EAAE;QACnB8C,WAAW,CAACI,MAAM,CAAC,2BAA2B,EAAEL,MAAM,CAAC7C,eAAe,CAAC,CAAC,CAAC;KAC1E;IACD,IAAIW,OAAO,EAAE;QACXmC,WAAW,CAACI,MAAM,CAAC,mBAAmB,EAAEvC,OAAO,CAAC,CAAC;KAClD;IACD,IAAIU,UAAU,IAAI,IAAI,EAAE;QACtByB,WAAW,CAACI,MAAM,CAAC,sBAAsB,EAAE7B,UAAU,CAAC,CAAC;KACxD;IAED,IAAIG,WAAW,EAAE;QACfsB,WAAW,CAACI,MAAM,CAAC,sBAAsB,EAAE1B,WAAW,CAAC,CAAC;QACxDsB,WAAW,CAACI,MAAM,CAAC,uBAAuB,EAAE1B,WAAW,CAAC,CAAC;KAC1D;IAED,IAAIC,gBAAgB,EAAE;QACpBqB,WAAW,CAACI,MAAM,CAAC,mBAAmB,EAAEzB,gBAAgB,CAAC,CAAC;KAC3D;IACD,IAAIC,qBAAqB,EAAE;QACzBoB,WAAW,CAACI,MAAM,CAAC,gBAAgB,EAAEL,MAAM,CAACnB,qBAAqB,CAAC,CAAC,CAAC;KACrE;IAED,OAAO,CAAC,CAAC,EAAEyB,SAAS,CAAC5B,cAAc,CAAC,CAAC,QAAQ,EAAEuB,WAAW,CAACb,QAAQ,EAAE,CAAC,CAAC,CAAC;CACzE"}
|
|
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 { 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 baseUrl?: string;\n isExporting: boolean;\n inlineSourceMap?: boolean;\n};\n\nexport type SerializerOptions = {\n includeSourceMaps?: boolean;\n output?: 'static';\n};\n\nexport type ExpoMetroBundleOptions = MetroBundleOptions & {\n serializerOptions?: SerializerOptions;\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\nexport function isServerEnvironment(environment?: any): boolean {\n return environment === 'node' || environment === 'react-server';\n}\n\nfunction withDefaults({\n mode = 'development',\n minify = mode === 'production',\n preserveEnvVars = env.EXPO_NO_CLIENT_ENV_VARS,\n lazy,\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 return {\n mode,\n minify,\n preserveEnvVars,\n lazy: !props.isExporting && lazy,\n ...props,\n };\n}\n\nexport function getBaseUrlFromExpoConfig(exp: ExpoConfig) {\n return exp.experiments?.baseUrl?.trim().replace(/\\/+$/, '') ?? '';\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' | 'routerRoot' | 'asyncRoutes'>\n): Partial<ExpoMetroBundleOptions> {\n return getMetroDirectBundleOptions({\n ...options,\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 } = 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 bundleOptions: Partial<ExpoMetroBundleOptions> = {\n platform,\n entryFile: mainModuleName,\n dev,\n minify: minify ?? !dev,\n inlineSourceMap: inlineSourceMap ?? false,\n lazy,\n unstable_transformProfile: isHermes ? 'hermes-stable' : 'default',\n customTransformOptions: {\n __proto__: null,\n engine,\n preserveEnvVars,\n asyncRoutes,\n environment,\n baseUrl,\n routerRoot,\n bytecode,\n },\n customResolverOptions: {\n __proto__: null,\n environment,\n },\n sourceMapUrl: fakeSourceMapUrl,\n sourceUrl: fakeSourceUrl,\n serializerOptions: {\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, 'baseUrl' | 'routerRoot'>\n): string {\n return createBundleUrlPath({\n ...options,\n baseUrl: getBaseUrlFromExpoConfig(exp),\n routerRoot: getRouterDirectoryModuleIdWithManifest(projectRoot, exp),\n });\n}\n\nexport function createBundleUrlPath(options: ExpoMetroOptions): string {\n const {\n platform,\n mainModuleName,\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 inlineSourceMap,\n isExporting,\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', String(bytecode));\n }\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 (routerRoot != null) {\n queryParams.append('transform.routerRoot', routerRoot);\n }\n\n if (environment) {\n queryParams.append('resolver.environment', environment);\n queryParams.append('transform.environment', environment);\n }\n\n if (serializerOutput) {\n queryParams.append('serializer.output', serializerOutput);\n }\n if (serializerIncludeMaps) {\n queryParams.append('serializer.map', String(serializerIncludeMaps));\n }\n\n return `/${encodeURI(mainModuleName)}.bundle?${queryParams.toString()}`;\n}\n"],"names":["shouldEnableAsyncImports","isServerEnvironment","getBaseUrlFromExpoConfig","getAsyncRoutesFromExpoConfig","getMetroDirectBundleOptionsForExpoConfig","getMetroDirectBundleOptions","createBundleUrlPathFromExpoConfig","createBundleUrlPath","debug","require","projectRoot","env","EXPO_NO_METRO_LAZY","resolveFrom","silent","environment","withDefaults","mode","minify","preserveEnvVars","EXPO_NO_CLIENT_ENV_VARS","lazy","props","bytecode","platform","CommandError","engine","isExporting","exp","experiments","baseUrl","trim","replace","asyncRoutesSetting","extra","router","asyncRoutes","includes","default","options","routerRoot","getRouterDirectoryModuleIdWithManifest","mainModuleName","serializerOutput","serializerIncludeMaps","inlineSourceMap","dev","isHermes","fakeSourceUrl","fakeSourceMapUrl","URL","toString","bundleOptions","entryFile","unstable_transformProfile","customTransformOptions","__proto__","customResolverOptions","sourceMapUrl","sourceUrl","serializerOptions","output","includeSourceMaps","String","queryParams","URLSearchParams","encodeURIComponent","hot","append","encodeURI"],"mappings":"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"}
|
|
@@ -5,8 +5,20 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
exports.resolveGoogleServicesFile = resolveGoogleServicesFile;
|
|
6
6
|
exports.getAssetFieldPathsForManifestAsync = getAssetFieldPathsForManifestAsync;
|
|
7
7
|
exports.resolveManifestAssets = resolveManifestAssets;
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
function _promises() {
|
|
9
|
+
const data = _interopRequireDefault(require("fs/promises"));
|
|
10
|
+
_promises = function() {
|
|
11
|
+
return data;
|
|
12
|
+
};
|
|
13
|
+
return data;
|
|
14
|
+
}
|
|
15
|
+
function _path() {
|
|
16
|
+
const data = _interopRequireDefault(require("path"));
|
|
17
|
+
_path = function() {
|
|
18
|
+
return data;
|
|
19
|
+
};
|
|
20
|
+
return data;
|
|
21
|
+
}
|
|
10
22
|
var _getExpoSchema = require("../../../api/getExpoSchema");
|
|
11
23
|
var Log = _interopRequireWildcard(require("../../../log"));
|
|
12
24
|
var _dir = require("../../../utils/dir");
|
|
@@ -43,7 +55,7 @@ async function resolveGoogleServicesFile(projectRoot, manifest) {
|
|
|
43
55
|
var ref, ref1;
|
|
44
56
|
if ((ref = manifest.android) == null ? void 0 : ref.googleServicesFile) {
|
|
45
57
|
try {
|
|
46
|
-
const contents = await _promises.default.readFile(_path.default.resolve(projectRoot, manifest.android.googleServicesFile), "utf8");
|
|
58
|
+
const contents = await _promises().default.readFile(_path().default.resolve(projectRoot, manifest.android.googleServicesFile), "utf8");
|
|
47
59
|
manifest.android.googleServicesFile = contents;
|
|
48
60
|
} catch {
|
|
49
61
|
Log.warn(`Could not parse Expo config: android.googleServicesFile: "${manifest.android.googleServicesFile}"`);
|
|
@@ -53,7 +65,7 @@ async function resolveGoogleServicesFile(projectRoot, manifest) {
|
|
|
53
65
|
}
|
|
54
66
|
if ((ref1 = manifest.ios) == null ? void 0 : ref1.googleServicesFile) {
|
|
55
67
|
try {
|
|
56
|
-
const contents = await _promises.default.readFile(_path.default.resolve(projectRoot, manifest.ios.googleServicesFile), "base64");
|
|
68
|
+
const contents = await _promises().default.readFile(_path().default.resolve(projectRoot, manifest.ios.googleServicesFile), "base64");
|
|
57
69
|
manifest.ios.googleServicesFile = contents;
|
|
58
70
|
} catch {
|
|
59
71
|
Log.warn(`Could not parse Expo config: ios.googleServicesFile: "${manifest.ios.googleServicesFile}"`);
|
|
@@ -83,7 +95,7 @@ async function resolveManifestAssets(projectRoot, { manifest , resolver , strict
|
|
|
83
95
|
return pathOrURL;
|
|
84
96
|
}
|
|
85
97
|
// File path
|
|
86
|
-
if (await (0, _dir).fileExistsAsync(_path.default.resolve(projectRoot, pathOrURL))) {
|
|
98
|
+
if (await (0, _dir).fileExistsAsync(_path().default.resolve(projectRoot, pathOrURL))) {
|
|
87
99
|
return await resolver(pathOrURL);
|
|
88
100
|
}
|
|
89
101
|
// Unknown
|