@expo/cli 0.18.0 → 0.18.2
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 +90 -114
- package/build/bin/cli.map +1 -1
- package/build/src/api/endpoint.js +11 -3
- package/build/src/api/endpoint.js.map +1 -1
- package/build/src/api/getExpoGoIntermediateCertificate.js +7 -4
- package/build/src/api/getExpoGoIntermediateCertificate.js.map +1 -1
- package/build/src/api/getExpoSchema.js +13 -11
- package/build/src/api/getExpoSchema.js.map +1 -1
- package/build/src/api/getNativeModuleVersions.js +7 -4
- package/build/src/api/getNativeModuleVersions.js.map +1 -1
- package/build/src/api/getProjectDevelopmentCertificate.js +7 -4
- package/build/src/api/getProjectDevelopmentCertificate.js.map +1 -1
- package/build/src/api/getVersions.js +7 -4
- package/build/src/api/getVersions.js.map +1 -1
- package/build/src/api/graphql/client.js +55 -35
- package/build/src/api/graphql/client.js.map +1 -1
- package/build/src/api/graphql/queries/AppQuery.js +9 -7
- package/build/src/api/graphql/queries/AppQuery.js.map +1 -1
- package/build/src/api/graphql/queries/UserQuery.js +7 -5
- package/build/src/api/graphql/queries/UserQuery.js.map +1 -1
- package/build/src/api/graphql/types/App.js +6 -4
- package/build/src/api/graphql/types/App.js.map +1 -1
- package/build/src/api/rest/cache/FileSystemCache.js +6 -4
- package/build/src/api/rest/cache/FileSystemCache.js.map +1 -1
- package/build/src/api/rest/cache/response.js +4 -1
- package/build/src/api/rest/cache/response.js.map +1 -1
- package/build/src/api/rest/cache/wrapFetchWithCache.js +21 -12
- package/build/src/api/rest/cache/wrapFetchWithCache.js.map +1 -1
- package/build/src/api/rest/client.js +36 -29
- package/build/src/api/rest/client.js.map +1 -1
- package/build/src/api/rest/wrapFetchWithBaseUrl.js +4 -1
- package/build/src/api/rest/wrapFetchWithBaseUrl.js.map +1 -1
- package/build/src/api/rest/wrapFetchWithOffline.js +5 -2
- package/build/src/api/rest/wrapFetchWithOffline.js.map +1 -1
- package/build/src/api/rest/wrapFetchWithProgress.js +40 -19
- package/build/src/api/rest/wrapFetchWithProgress.js.map +1 -1
- package/build/src/api/rest/wrapFetchWithProxy.js +7 -4
- package/build/src/api/rest/wrapFetchWithProxy.js.map +1 -1
- package/build/src/api/settings.js +9 -4
- package/build/src/api/settings.js.map +1 -1
- package/build/src/api/updateDevelopmentSession.js +16 -8
- package/build/src/api/updateDevelopmentSession.js.map +1 -1
- package/build/src/api/user/UserSettings.js +10 -8
- package/build/src/api/user/UserSettings.js.map +1 -1
- package/build/src/api/user/actions.js +66 -41
- package/build/src/api/user/actions.js.map +1 -1
- package/build/src/api/user/expoSsoLauncher.js +46 -25
- package/build/src/api/user/expoSsoLauncher.js.map +1 -1
- package/build/src/api/user/otp.js +70 -50
- package/build/src/api/user/otp.js.map +1 -1
- package/build/src/api/user/user.js +66 -41
- package/build/src/api/user/user.js.map +1 -1
- package/build/src/config/configAsync.js +62 -43
- package/build/src/config/configAsync.js.map +1 -1
- package/build/src/config/index.js +46 -30
- package/build/src/config/index.js.map +1 -1
- package/build/src/customize/customizeAsync.js +14 -11
- package/build/src/customize/customizeAsync.js.map +1 -1
- package/build/src/customize/generate.js +61 -46
- package/build/src/customize/generate.js.map +1 -1
- package/build/src/customize/index.js +10 -8
- package/build/src/customize/index.js.map +1 -1
- package/build/src/customize/resolveOptions.js +7 -4
- package/build/src/customize/resolveOptions.js.map +1 -1
- package/build/src/customize/templates.js +31 -34
- package/build/src/customize/templates.js.map +1 -1
- package/build/src/customize/typescript.js +43 -28
- package/build/src/customize/typescript.js.map +1 -1
- package/build/src/export/createMetadataJson.js +7 -6
- package/build/src/export/createMetadataJson.js.map +1 -1
- package/build/src/export/embed/exportEmbedAsync.js +51 -38
- package/build/src/export/embed/exportEmbedAsync.js.map +1 -1
- package/build/src/export/embed/index.js +48 -36
- package/build/src/export/embed/index.js.map +1 -1
- package/build/src/export/embed/resolveOptions.js +7 -4
- package/build/src/export/embed/resolveOptions.js.map +1 -1
- package/build/src/export/embed/xcodeCompilerLogger.js +20 -8
- package/build/src/export/embed/xcodeCompilerLogger.js.map +1 -1
- package/build/src/export/exportApp.js +84 -67
- package/build/src/export/exportApp.js.map +1 -1
- package/build/src/export/exportAssets.js +62 -43
- package/build/src/export/exportAssets.js.map +1 -1
- package/build/src/export/exportAsync.js +47 -26
- package/build/src/export/exportAsync.js.map +1 -1
- package/build/src/export/exportHermes.js +19 -11
- package/build/src/export/exportHermes.js.map +1 -1
- package/build/src/export/exportStaticAsync.js +49 -38
- package/build/src/export/exportStaticAsync.js.map +1 -1
- package/build/src/export/favicon.js +19 -11
- package/build/src/export/favicon.js.map +1 -1
- package/build/src/export/fork-bundleAsync.js +42 -39
- package/build/src/export/fork-bundleAsync.js.map +1 -1
- package/build/src/export/getPublicExpoManifest.js +9 -6
- package/build/src/export/getPublicExpoManifest.js.map +1 -1
- package/build/src/export/getResolvedLocales.js +7 -4
- package/build/src/export/getResolvedLocales.js.map +1 -1
- package/build/src/export/html.js +12 -4
- package/build/src/export/html.js.map +1 -1
- package/build/src/export/index.js +49 -33
- package/build/src/export/index.js.map +1 -1
- package/build/src/export/metroAssetLocalPath.js +22 -6
- package/build/src/export/metroAssetLocalPath.js.map +1 -1
- package/build/src/export/persistMetroAssets.js +38 -24
- package/build/src/export/persistMetroAssets.js.map +1 -1
- package/build/src/export/publicFolder.js +15 -7
- package/build/src/export/publicFolder.js.map +1 -1
- package/build/src/export/resolveOptions.js +19 -15
- package/build/src/export/resolveOptions.js.map +1 -1
- package/build/src/export/saveAssets.js +42 -38
- package/build/src/export/saveAssets.js.map +1 -1
- package/build/src/export/web/exportWebAsync.js +15 -12
- package/build/src/export/web/exportWebAsync.js.map +1 -1
- package/build/src/export/web/index.js +47 -31
- package/build/src/export/web/index.js.map +1 -1
- package/build/src/export/web/resolveOptions.js +4 -1
- package/build/src/export/web/resolveOptions.js.map +1 -1
- package/build/src/export/writeContents.js +12 -7
- package/build/src/export/writeContents.js.map +1 -1
- package/build/src/graphql/generated.js +141 -128
- package/build/src/graphql/generated.js.map +1 -1
- package/build/src/install/applyPlugins.js +43 -25
- package/build/src/install/applyPlugins.js.map +1 -1
- package/build/src/install/checkPackages.js +55 -35
- package/build/src/install/checkPackages.js.map +1 -1
- package/build/src/install/fixPackages.js +52 -35
- package/build/src/install/fixPackages.js.map +1 -1
- package/build/src/install/index.js +15 -13
- package/build/src/install/index.js.map +1 -1
- package/build/src/install/installAsync.js +90 -65
- package/build/src/install/installAsync.js.map +1 -1
- package/build/src/install/installExpoPackage.js +48 -27
- package/build/src/install/installExpoPackage.js.map +1 -1
- package/build/src/install/resolveOptions.js +8 -5
- package/build/src/install/resolveOptions.js.map +1 -1
- package/build/src/install/utils/autoAddConfigPlugins.js +15 -7
- package/build/src/install/utils/autoAddConfigPlugins.js.map +1 -1
- package/build/src/lint/ESlintPrerequisite.js +174 -0
- package/build/src/lint/ESlintPrerequisite.js.map +1 -0
- package/build/src/lint/index.js +66 -0
- package/build/src/lint/index.js.map +1 -0
- package/build/src/lint/lintAsync.js +33 -0
- package/build/src/lint/lintAsync.js.map +1 -0
- package/build/src/log.js +20 -14
- package/build/src/log.js.map +1 -1
- package/build/src/login/index.js +43 -25
- package/build/src/login/index.js.map +1 -1
- package/build/src/logout/index.js +43 -25
- package/build/src/logout/index.js.map +1 -1
- package/build/src/prebuild/clearNativeFolder.js +65 -42
- package/build/src/prebuild/clearNativeFolder.js.map +1 -1
- package/build/src/prebuild/configureProjectAsync.js +50 -29
- package/build/src/prebuild/configureProjectAsync.js.map +1 -1
- package/build/src/prebuild/copyTemplateFiles.js +19 -13
- package/build/src/prebuild/copyTemplateFiles.js.map +1 -1
- package/build/src/prebuild/ensureConfigAsync.js +54 -28
- package/build/src/prebuild/ensureConfigAsync.js.map +1 -1
- package/build/src/prebuild/index.js +52 -38
- package/build/src/prebuild/index.js.map +1 -1
- package/build/src/prebuild/prebuildAsync.js +68 -51
- package/build/src/prebuild/prebuildAsync.js.map +1 -1
- package/build/src/prebuild/renameTemplateAppName.js +15 -10
- package/build/src/prebuild/renameTemplateAppName.js.map +1 -1
- package/build/src/prebuild/resolveOptions.js +60 -35
- package/build/src/prebuild/resolveOptions.js.map +1 -1
- package/build/src/prebuild/resolveTemplate.js +66 -40
- package/build/src/prebuild/resolveTemplate.js.map +1 -1
- package/build/src/prebuild/updateFromTemplate.js +67 -44
- package/build/src/prebuild/updateFromTemplate.js.map +1 -1
- package/build/src/prebuild/updatePackageJson.js +70 -49
- package/build/src/prebuild/updatePackageJson.js.map +1 -1
- package/build/src/prebuild/validateTemplatePlatforms.js +44 -23
- package/build/src/prebuild/validateTemplatePlatforms.js.map +1 -1
- package/build/src/register/index.js +43 -25
- package/build/src/register/index.js.map +1 -1
- package/build/src/register/registerAsync.js +14 -11
- package/build/src/register/registerAsync.js.map +1 -1
- package/build/src/run/android/index.js +47 -31
- package/build/src/run/android/index.js.map +1 -1
- package/build/src/run/android/resolveDevice.js +9 -6
- package/build/src/run/android/resolveDevice.js.map +1 -1
- package/build/src/run/android/resolveGradlePropsAsync.js +10 -9
- package/build/src/run/android/resolveGradlePropsAsync.js.map +1 -1
- package/build/src/run/android/resolveInstallApkName.js +14 -12
- package/build/src/run/android/resolveInstallApkName.js.map +1 -1
- package/build/src/run/android/resolveLaunchProps.js +6 -3
- package/build/src/run/android/resolveLaunchProps.js.map +1 -1
- package/build/src/run/android/resolveOptions.js +12 -9
- package/build/src/run/android/resolveOptions.js.map +1 -1
- package/build/src/run/android/runAndroidAsync.js +27 -24
- package/build/src/run/android/runAndroidAsync.js.map +1 -1
- package/build/src/run/ensureNativeProject.js +11 -8
- package/build/src/run/ensureNativeProject.js.map +1 -1
- package/build/src/run/hints.js +15 -7
- package/build/src/run/hints.js.map +1 -1
- package/build/src/run/index.js +49 -35
- package/build/src/run/index.js.map +1 -1
- package/build/src/run/ios/XcodeBuild.js +75 -51
- package/build/src/run/ios/XcodeBuild.js.map +1 -1
- package/build/src/run/ios/appleDevice/AppleDevice.js +31 -24
- package/build/src/run/ios/appleDevice/AppleDevice.js.map +1 -1
- package/build/src/run/ios/appleDevice/ClientManager.js +66 -33
- package/build/src/run/ios/appleDevice/ClientManager.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/AFCClient.js +73 -47
- package/build/src/run/ios/appleDevice/client/AFCClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/DebugserverClient.js +53 -26
- package/build/src/run/ios/appleDevice/client/DebugserverClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/InstallationProxyClient.js +15 -6
- package/build/src/run/ios/appleDevice/client/InstallationProxyClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/LockdowndClient.js +54 -27
- package/build/src/run/ios/appleDevice/client/LockdowndClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/MobileImageMounterClient.js +56 -30
- package/build/src/run/ios/appleDevice/client/MobileImageMounterClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/ServiceClient.js +18 -4
- package/build/src/run/ios/appleDevice/client/ServiceClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/UsbmuxdClient.js +22 -13
- package/build/src/run/ios/appleDevice/client/UsbmuxdClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/installOnDeviceAsync.js +57 -31
- package/build/src/run/ios/appleDevice/installOnDeviceAsync.js.map +1 -1
- package/build/src/run/ios/appleDevice/protocol/AFCProtocol.js +79 -66
- package/build/src/run/ios/appleDevice/protocol/AFCProtocol.js.map +1 -1
- package/build/src/run/ios/appleDevice/protocol/AbstractProtocol.js +28 -14
- package/build/src/run/ios/appleDevice/protocol/AbstractProtocol.js.map +1 -1
- package/build/src/run/ios/appleDevice/protocol/GDBProtocol.js +24 -11
- package/build/src/run/ios/appleDevice/protocol/GDBProtocol.js.map +1 -1
- package/build/src/run/ios/appleDevice/protocol/LockdownProtocol.js +26 -13
- package/build/src/run/ios/appleDevice/protocol/LockdownProtocol.js.map +1 -1
- package/build/src/run/ios/appleDevice/protocol/UsbmuxProtocol.js +23 -10
- package/build/src/run/ios/appleDevice/protocol/UsbmuxProtocol.js.map +1 -1
- package/build/src/run/ios/codeSigning/Security.js +27 -20
- package/build/src/run/ios/codeSigning/Security.js.map +1 -1
- package/build/src/run/ios/codeSigning/configureCodeSigning.js +49 -28
- package/build/src/run/ios/codeSigning/configureCodeSigning.js.map +1 -1
- package/build/src/run/ios/codeSigning/resolveCertificateSigningIdentity.js +61 -36
- package/build/src/run/ios/codeSigning/resolveCertificateSigningIdentity.js.map +1 -1
- package/build/src/run/ios/codeSigning/settings.js +11 -3
- package/build/src/run/ios/codeSigning/settings.js.map +1 -1
- package/build/src/run/ios/codeSigning/simulatorCodeSigning.js +7 -5
- package/build/src/run/ios/codeSigning/simulatorCodeSigning.js.map +1 -1
- package/build/src/run/ios/codeSigning/xcodeCodeSigning.js +14 -8
- package/build/src/run/ios/codeSigning/xcodeCodeSigning.js.map +1 -1
- package/build/src/run/ios/index.js +50 -34
- package/build/src/run/ios/index.js.map +1 -1
- package/build/src/run/ios/launchApp.js +52 -31
- package/build/src/run/ios/launchApp.js.map +1 -1
- package/build/src/run/ios/options/promptDevice.js +17 -13
- package/build/src/run/ios/options/promptDevice.js.map +1 -1
- package/build/src/run/ios/options/resolveDevice.js +63 -39
- package/build/src/run/ios/options/resolveDevice.js.map +1 -1
- package/build/src/run/ios/options/resolveNativeScheme.js +57 -34
- package/build/src/run/ios/options/resolveNativeScheme.js.map +1 -1
- package/build/src/run/ios/options/resolveOptions.js +15 -12
- package/build/src/run/ios/options/resolveOptions.js.map +1 -1
- package/build/src/run/ios/options/resolveXcodeProject.js +6 -3
- package/build/src/run/ios/options/resolveXcodeProject.js.map +1 -1
- package/build/src/run/ios/runIosAsync.js +63 -42
- package/build/src/run/ios/runIosAsync.js.map +1 -1
- package/build/src/run/resolveBundlerProps.js +8 -5
- package/build/src/run/resolveBundlerProps.js.map +1 -1
- package/build/src/run/startBundler.js +47 -26
- package/build/src/run/startBundler.js.map +1 -1
- package/build/src/start/detectDevClient.js +6 -3
- package/build/src/start/detectDevClient.js.map +1 -1
- package/build/src/start/doctor/Prerequisite.js +15 -7
- package/build/src/start/doctor/Prerequisite.js.map +1 -1
- package/build/src/start/doctor/SecurityBinPrerequisite.js +7 -4
- package/build/src/start/doctor/SecurityBinPrerequisite.js.map +1 -1
- package/build/src/start/doctor/apple/SimulatorAppPrerequisite.js +44 -23
- package/build/src/start/doctor/apple/SimulatorAppPrerequisite.js.map +1 -1
- package/build/src/start/doctor/apple/XcodeDeveloperDiskImagePrerequisite.js +44 -23
- package/build/src/start/doctor/apple/XcodeDeveloperDiskImagePrerequisite.js.map +1 -1
- package/build/src/start/doctor/apple/XcodePrerequisite.js +61 -36
- package/build/src/start/doctor/apple/XcodePrerequisite.js.map +1 -1
- package/build/src/start/doctor/apple/XcrunPrerequisite.js +15 -12
- package/build/src/start/doctor/apple/XcrunPrerequisite.js.map +1 -1
- package/build/src/start/doctor/dependencies/bundledNativeModules.js +49 -28
- package/build/src/start/doctor/dependencies/bundledNativeModules.js.map +1 -1
- package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js +98 -53
- package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js.map +1 -1
- package/build/src/start/doctor/dependencies/getMissingPackages.js +17 -9
- package/build/src/start/doctor/dependencies/getMissingPackages.js.map +1 -1
- package/build/src/start/doctor/dependencies/getVersionedPackages.js +23 -15
- package/build/src/start/doctor/dependencies/getVersionedPackages.js.map +1 -1
- package/build/src/start/doctor/dependencies/resolvePackages.js +19 -13
- package/build/src/start/doctor/dependencies/resolvePackages.js.map +1 -1
- package/build/src/start/doctor/dependencies/validateDependenciesVersions.js +63 -41
- package/build/src/start/doctor/dependencies/validateDependenciesVersions.js.map +1 -1
- package/build/src/start/doctor/ngrok/ExternalModule.js +64 -39
- package/build/src/start/doctor/ngrok/ExternalModule.js.map +1 -1
- package/build/src/start/doctor/ngrok/NgrokResolver.js +12 -5
- package/build/src/start/doctor/ngrok/NgrokResolver.js.map +1 -1
- package/build/src/start/doctor/typescript/TypeScriptProjectPrerequisite.js +59 -41
- package/build/src/start/doctor/typescript/TypeScriptProjectPrerequisite.js.map +1 -1
- package/build/src/start/doctor/typescript/updateTSConfig.js +59 -36
- package/build/src/start/doctor/typescript/updateTSConfig.js.map +1 -1
- package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js +57 -31
- package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js.map +1 -1
- package/build/src/start/index.js +56 -42
- package/build/src/start/index.js.map +1 -1
- package/build/src/start/interface/KeyPressHandler.js +43 -22
- package/build/src/start/interface/KeyPressHandler.js.map +1 -1
- package/build/src/start/interface/commandsTable.js +60 -38
- package/build/src/start/interface/commandsTable.js.map +1 -1
- package/build/src/start/interface/interactiveActions.js +85 -68
- package/build/src/start/interface/interactiveActions.js.map +1 -1
- package/build/src/start/interface/startInterface.js +78 -57
- package/build/src/start/interface/startInterface.js.map +1 -1
- package/build/src/start/platforms/AppIdResolver.js +9 -6
- package/build/src/start/platforms/AppIdResolver.js.map +1 -1
- package/build/src/start/platforms/DeviceManager.js +41 -20
- package/build/src/start/platforms/DeviceManager.js.map +1 -1
- package/build/src/start/platforms/ExpoGoInstaller.js +55 -35
- package/build/src/start/platforms/ExpoGoInstaller.js.map +1 -1
- package/build/src/start/platforms/PlatformManager.js +19 -17
- package/build/src/start/platforms/PlatformManager.js.map +1 -1
- package/build/src/start/platforms/android/ADBServer.js +15 -12
- package/build/src/start/platforms/android/ADBServer.js.map +1 -1
- package/build/src/start/platforms/android/AndroidAppIdResolver.js +6 -4
- package/build/src/start/platforms/android/AndroidAppIdResolver.js.map +1 -1
- package/build/src/start/platforms/android/AndroidDeviceManager.js +70 -50
- package/build/src/start/platforms/android/AndroidDeviceManager.js.map +1 -1
- package/build/src/start/platforms/android/AndroidPlatformManager.js +9 -6
- package/build/src/start/platforms/android/AndroidPlatformManager.js.map +1 -1
- package/build/src/start/platforms/android/AndroidSdk.js +11 -8
- package/build/src/start/platforms/android/AndroidSdk.js.map +1 -1
- package/build/src/start/platforms/android/activateWindow.js +43 -22
- package/build/src/start/platforms/android/activateWindow.js.map +1 -1
- package/build/src/start/platforms/android/adb.js +73 -52
- package/build/src/start/platforms/android/adb.js.map +1 -1
- package/build/src/start/platforms/android/adbReverse.js +57 -31
- package/build/src/start/platforms/android/adbReverse.js.map +1 -1
- package/build/src/start/platforms/android/emulator.js +63 -42
- package/build/src/start/platforms/android/emulator.js.map +1 -1
- package/build/src/start/platforms/android/getDevices.js +11 -10
- package/build/src/start/platforms/android/getDevices.js.map +1 -1
- package/build/src/start/platforms/android/gradle.js +18 -11
- package/build/src/start/platforms/android/gradle.js.map +1 -1
- package/build/src/start/platforms/android/promptAndroidDevice.js +14 -14
- package/build/src/start/platforms/android/promptAndroidDevice.js.map +1 -1
- package/build/src/start/platforms/ios/AppleAppIdResolver.js +7 -4
- package/build/src/start/platforms/ios/AppleAppIdResolver.js.map +1 -1
- package/build/src/start/platforms/ios/AppleDeviceManager.js +80 -54
- package/build/src/start/platforms/ios/AppleDeviceManager.js.map +1 -1
- package/build/src/start/platforms/ios/ApplePlatformManager.js +7 -4
- package/build/src/start/platforms/ios/ApplePlatformManager.js.map +1 -1
- package/build/src/start/platforms/ios/assertSystemRequirements.js +11 -8
- package/build/src/start/platforms/ios/assertSystemRequirements.js.map +1 -1
- package/build/src/start/platforms/ios/ensureSimulatorAppRunning.js +50 -29
- package/build/src/start/platforms/ios/ensureSimulatorAppRunning.js.map +1 -1
- package/build/src/start/platforms/ios/getBestSimulator.js +53 -29
- package/build/src/start/platforms/ios/getBestSimulator.js.map +1 -1
- package/build/src/start/platforms/ios/promptAppleDevice.js +18 -12
- package/build/src/start/platforms/ios/promptAppleDevice.js.map +1 -1
- package/build/src/start/platforms/ios/simctl.js +65 -42
- package/build/src/start/platforms/ios/simctl.js.map +1 -1
- package/build/src/start/platforms/ios/simctlLogging.js +67 -44
- package/build/src/start/platforms/ios/simctlLogging.js.map +1 -1
- package/build/src/start/platforms/ios/xcrun.js +8 -5
- package/build/src/start/platforms/ios/xcrun.js.map +1 -1
- package/build/src/start/project/devices.js +19 -16
- package/build/src/start/project/devices.js.map +1 -1
- package/build/src/start/project/dotExpo.js +13 -5
- package/build/src/start/project/dotExpo.js.map +1 -1
- package/build/src/start/project/settings.js +6 -4
- package/build/src/start/project/settings.js.map +1 -1
- package/build/src/start/resolveOptions.js +26 -19
- package/build/src/start/resolveOptions.js.map +1 -1
- package/build/src/start/server/AsyncNgrok.js +66 -46
- package/build/src/start/server/AsyncNgrok.js.map +1 -1
- package/build/src/start/server/BundlerDevServer.js +64 -44
- package/build/src/start/server/BundlerDevServer.js.map +1 -1
- package/build/src/start/server/DevServerManager.js +81 -69
- package/build/src/start/server/DevServerManager.js.map +1 -1
- package/build/src/start/server/DevToolsPluginManager.js +21 -16
- package/build/src/start/server/DevToolsPluginManager.js.map +1 -1
- package/build/src/start/server/DevelopmentSession.js +49 -31
- package/build/src/start/server/DevelopmentSession.js.map +1 -1
- package/build/src/start/server/ReactDevToolsProxy.js +14 -6
- package/build/src/start/server/ReactDevToolsProxy.js.map +1 -1
- package/build/src/start/server/UrlCreator.js +44 -23
- package/build/src/start/server/UrlCreator.js.map +1 -1
- package/build/src/start/server/getStaticRenderFunctions.js +46 -34
- package/build/src/start/server/getStaticRenderFunctions.js.map +1 -1
- package/build/src/start/server/metro/MetroBundlerDevServer.js +135 -108
- package/build/src/start/server/metro/MetroBundlerDevServer.js.map +1 -1
- package/build/src/start/server/metro/MetroTerminalReporter.js +24 -17
- package/build/src/start/server/metro/MetroTerminalReporter.js.map +1 -1
- package/build/src/start/server/metro/TerminalReporter.js +18 -8
- package/build/src/start/server/metro/TerminalReporter.js.map +1 -1
- package/build/src/start/server/metro/createExpoMetroResolver.js +31 -20
- package/build/src/start/server/metro/createExpoMetroResolver.js.map +1 -1
- package/build/src/start/server/metro/createJResolver.js +76 -51
- package/build/src/start/server/metro/createJResolver.js.map +1 -1
- package/build/src/start/server/metro/createServerRouteMiddleware.js +22 -14
- package/build/src/start/server/metro/createServerRouteMiddleware.js.map +1 -1
- package/build/src/start/server/metro/debugging/MessageHandler.js +4 -1
- package/build/src/start/server/metro/debugging/MessageHandler.js.map +1 -1
- package/build/src/start/server/metro/debugging/createDebugMiddleware.js +10 -9
- package/build/src/start/server/metro/debugging/createDebugMiddleware.js.map +1 -1
- package/build/src/start/server/metro/debugging/createHandlersFactory.js +14 -13
- package/build/src/start/server/metro/debugging/createHandlersFactory.js.map +1 -1
- package/build/src/start/server/metro/debugging/getDebuggerType.js +5 -2
- package/build/src/start/server/metro/debugging/getDebuggerType.js.map +1 -1
- package/build/src/start/server/metro/debugging/messageHandlers/NetworkResponse.js +5 -2
- package/build/src/start/server/metro/debugging/messageHandlers/NetworkResponse.js.map +1 -1
- package/build/src/start/server/metro/debugging/messageHandlers/PageReload.js +5 -2
- package/build/src/start/server/metro/debugging/messageHandlers/PageReload.js.map +1 -1
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerGetPossibleBreakpoints.js +7 -4
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerGetPossibleBreakpoints.js.map +1 -1
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerSetBreakpointByUrl.js +7 -4
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerSetBreakpointByUrl.js.map +1 -1
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeCallFunctionOn.js +7 -4
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeCallFunctionOn.js.map +1 -1
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeGetProperties.js +7 -4
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeGetProperties.js.map +1 -1
- package/build/src/start/server/metro/debugging/pageIsSupported.js +4 -1
- package/build/src/start/server/metro/debugging/pageIsSupported.js.map +1 -1
- package/build/src/start/server/metro/externals.js +21 -10
- package/build/src/start/server/metro/externals.js.map +1 -1
- package/build/src/start/server/metro/fetchRouterManifest.js +20 -7
- package/build/src/start/server/metro/fetchRouterManifest.js.map +1 -1
- package/build/src/start/server/metro/formatFileCandidates.js +21 -17
- package/build/src/start/server/metro/formatFileCandidates.js.map +1 -1
- package/build/src/start/server/metro/getCssModulesFromBundler.js +15 -7
- package/build/src/start/server/metro/getCssModulesFromBundler.js.map +1 -1
- package/build/src/start/server/metro/instantiateMetro.js +57 -44
- package/build/src/start/server/metro/instantiateMetro.js.map +1 -1
- package/build/src/start/server/metro/metroErrorInterface.js +43 -34
- package/build/src/start/server/metro/metroErrorInterface.js.map +1 -1
- package/build/src/start/server/metro/metroErrors.js +11 -2
- package/build/src/start/server/metro/metroErrors.js.map +1 -1
- package/build/src/start/server/metro/metroVirtualModules.js +10 -2
- package/build/src/start/server/metro/metroVirtualModules.js.map +1 -1
- package/build/src/start/server/metro/metroWatchTypeScriptFiles.js +5 -2
- package/build/src/start/server/metro/metroWatchTypeScriptFiles.js.map +1 -1
- package/build/src/start/server/metro/router.js +27 -20
- package/build/src/start/server/metro/router.js.map +1 -1
- package/build/src/start/server/metro/runServer-fork.js +21 -14
- package/build/src/start/server/metro/runServer-fork.js.map +1 -1
- package/build/src/start/server/metro/serializeHtml.js +7 -7
- package/build/src/start/server/metro/serializeHtml.js.map +1 -1
- package/build/src/start/server/metro/waitForMetroToObserveTypeScriptFile.js +12 -4
- package/build/src/start/server/metro/waitForMetroToObserveTypeScriptFile.js.map +1 -1
- package/build/src/start/server/metro/withMetroMultiPlatform.js +107 -81
- package/build/src/start/server/metro/withMetroMultiPlatform.js.map +1 -1
- package/build/src/start/server/metro/withMetroResolvers.js +72 -42
- package/build/src/start/server/metro/withMetroResolvers.js.map +1 -1
- package/build/src/start/server/middleware/ContextModuleSourceMapsMiddleware.js +4 -1
- package/build/src/start/server/middleware/ContextModuleSourceMapsMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/CorsMiddleware.js +4 -1
- package/build/src/start/server/middleware/CorsMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/CreateFileMiddleware.js +13 -5
- package/build/src/start/server/middleware/CreateFileMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/DevToolsPluginMiddleware.js +15 -12
- package/build/src/start/server/middleware/DevToolsPluginMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js +30 -23
- package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/ExpoMiddleware.js +47 -21
- package/build/src/start/server/middleware/ExpoMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/FaviconMiddleware.js +8 -5
- package/build/src/start/server/middleware/FaviconMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/HistoryFallbackMiddleware.js +6 -3
- package/build/src/start/server/middleware/HistoryFallbackMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/InterstitialPageMiddleware.js +23 -16
- package/build/src/start/server/middleware/InterstitialPageMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/ManifestMiddleware.js +84 -60
- package/build/src/start/server/middleware/ManifestMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/ReactDevToolsPageMiddleware.js +14 -7
- package/build/src/start/server/middleware/ReactDevToolsPageMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js +47 -26
- package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/ServeStaticMiddleware.js +11 -8
- package/build/src/start/server/middleware/ServeStaticMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/inspector/JsInspector.js +30 -24
- package/build/src/start/server/middleware/inspector/JsInspector.js.map +1 -1
- package/build/src/start/server/middleware/inspector/LaunchBrowser.js +16 -8
- package/build/src/start/server/middleware/inspector/LaunchBrowser.js.map +1 -1
- package/build/src/start/server/middleware/inspector/LaunchBrowser.types.js +4 -2
- package/build/src/start/server/middleware/inspector/LaunchBrowser.types.js.map +1 -1
- package/build/src/start/server/middleware/inspector/LaunchBrowserImplLinux.js +16 -12
- package/build/src/start/server/middleware/inspector/LaunchBrowserImplLinux.js.map +1 -1
- package/build/src/start/server/middleware/inspector/LaunchBrowserImplMacOS.js +59 -37
- package/build/src/start/server/middleware/inspector/LaunchBrowserImplMacOS.js.map +1 -1
- package/build/src/start/server/middleware/inspector/LaunchBrowserImplWindows.js +22 -16
- package/build/src/start/server/middleware/inspector/LaunchBrowserImplWindows.js.map +1 -1
- package/build/src/start/server/middleware/inspector/createJsInspectorMiddleware.js +9 -6
- package/build/src/start/server/middleware/inspector/createJsInspectorMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/inspector/middlwareMutations.js +11 -4
- package/build/src/start/server/middleware/inspector/middlwareMutations.js.map +1 -1
- package/build/src/start/server/middleware/metroOptions.js +26 -18
- package/build/src/start/server/middleware/metroOptions.js.map +1 -1
- package/build/src/start/server/middleware/mutations.js +11 -4
- package/build/src/start/server/middleware/mutations.js.map +1 -1
- package/build/src/start/server/middleware/resolveAssets.js +65 -41
- package/build/src/start/server/middleware/resolveAssets.js.map +1 -1
- package/build/src/start/server/middleware/resolvePlatform.js +14 -6
- package/build/src/start/server/middleware/resolvePlatform.js.map +1 -1
- package/build/src/start/server/middleware/suppressErrorMiddleware.js +4 -1
- package/build/src/start/server/middleware/suppressErrorMiddleware.js.map +1 -1
- package/build/src/start/server/openPlatforms.js +7 -6
- package/build/src/start/server/openPlatforms.js.map +1 -1
- package/build/src/start/server/platformBundlers.js +5 -2
- package/build/src/start/server/platformBundlers.js.map +1 -1
- package/build/src/start/server/serverLogLikeMetro.js +62 -33
- package/build/src/start/server/serverLogLikeMetro.js.map +1 -1
- package/build/src/start/server/type-generation/expo-env.js +12 -4
- package/build/src/start/server/type-generation/expo-env.js.map +1 -1
- package/build/src/start/server/type-generation/routes.js +52 -51
- package/build/src/start/server/type-generation/routes.js.map +1 -1
- package/build/src/start/server/type-generation/startTypescriptTypeGeneration.js +22 -19
- package/build/src/start/server/type-generation/startTypescriptTypeGeneration.js.map +1 -1
- package/build/src/start/server/type-generation/tsconfig.js +18 -11
- package/build/src/start/server/type-generation/tsconfig.js.map +1 -1
- package/build/src/start/server/webTemplate.js +21 -15
- package/build/src/start/server/webTemplate.js.map +1 -1
- package/build/src/start/server/webpack/WebpackBundlerDevServer.js +81 -56
- package/build/src/start/server/webpack/WebpackBundlerDevServer.js.map +1 -1
- package/build/src/start/server/webpack/compile.js +47 -26
- package/build/src/start/server/webpack/compile.js.map +1 -1
- package/build/src/start/server/webpack/formatWebpackMessages.js +35 -25
- package/build/src/start/server/webpack/formatWebpackMessages.js.map +1 -1
- package/build/src/start/server/webpack/resolveFromProject.js +13 -5
- package/build/src/start/server/webpack/resolveFromProject.js.map +1 -1
- package/build/src/start/server/webpack/tls.js +54 -28
- package/build/src/start/server/webpack/tls.js.map +1 -1
- package/build/src/start/startAsync.js +73 -52
- package/build/src/start/startAsync.js.map +1 -1
- package/build/src/utils/FileNotifier.js +46 -25
- package/build/src/utils/FileNotifier.js.map +1 -1
- package/build/src/utils/analytics/getDevClientProperties.js +29 -21
- package/build/src/utils/analytics/getDevClientProperties.js.map +1 -1
- package/build/src/utils/analytics/getMetroDebugProperties.js +4 -1
- package/build/src/utils/analytics/getMetroDebugProperties.js.map +1 -1
- package/build/src/utils/analytics/getMetroProperties.js +4 -1
- package/build/src/utils/analytics/getMetroProperties.js.map +1 -1
- package/build/src/utils/analytics/metroDebuggerMiddleware.js +14 -6
- package/build/src/utils/analytics/metroDebuggerMiddleware.js.map +1 -1
- package/build/src/utils/ansi.js +5 -2
- package/build/src/utils/ansi.js.map +1 -1
- package/build/src/utils/args.js +57 -29
- package/build/src/utils/args.js.map +1 -1
- package/build/src/utils/array.js +16 -9
- package/build/src/utils/array.js.map +1 -1
- package/build/src/utils/cocoapods.js +77 -53
- package/build/src/utils/cocoapods.js.map +1 -1
- package/build/src/utils/codesigning.js +80 -58
- package/build/src/utils/codesigning.js.map +1 -1
- package/build/src/utils/createFileTransform.js +13 -5
- package/build/src/utils/createFileTransform.js.map +1 -1
- package/build/src/utils/delay.js +13 -6
- package/build/src/utils/delay.js.map +1 -1
- package/build/src/utils/dir.js +24 -21
- package/build/src/utils/dir.js.map +1 -1
- package/build/src/utils/downloadAppAsync.js +16 -13
- package/build/src/utils/downloadAppAsync.js.map +1 -1
- package/build/src/utils/downloadExpoGoAsync.js +26 -20
- package/build/src/utils/downloadExpoGoAsync.js.map +1 -1
- package/build/src/utils/editor.js +50 -24
- package/build/src/utils/editor.js.map +1 -1
- package/build/src/utils/env.js +35 -33
- package/build/src/utils/env.js.map +1 -1
- package/build/src/utils/errors.js +17 -9
- package/build/src/utils/errors.js.map +1 -1
- package/build/src/utils/exit.js +10 -7
- package/build/src/utils/exit.js.map +1 -1
- package/build/src/utils/findUp.js +22 -4
- package/build/src/utils/findUp.js.map +1 -1
- package/build/src/utils/fn.js +11 -3
- package/build/src/utils/fn.js.map +1 -1
- package/build/src/utils/getOrPromptApplicationId.js +71 -45
- package/build/src/utils/getOrPromptApplicationId.js.map +1 -1
- package/build/src/utils/getRunningProcess.js +52 -26
- package/build/src/utils/getRunningProcess.js.map +1 -1
- package/build/src/utils/git.js +64 -38
- package/build/src/utils/git.js.map +1 -1
- package/build/src/utils/glob.js +14 -9
- package/build/src/utils/glob.js.map +1 -1
- package/build/src/utils/interactive.js +5 -2
- package/build/src/utils/interactive.js.map +1 -1
- package/build/src/utils/ip.js +5 -2
- package/build/src/utils/ip.js.map +1 -1
- package/build/src/utils/isModuleSymlinked.js +7 -4
- package/build/src/utils/isModuleSymlinked.js.map +1 -1
- package/build/src/utils/link.js +13 -5
- package/build/src/utils/link.js.map +1 -1
- package/build/src/utils/mergeGitIgnorePaths.js +22 -17
- package/build/src/utils/mergeGitIgnorePaths.js.map +1 -1
- package/build/src/utils/modifyConfigAsync.js +56 -30
- package/build/src/utils/modifyConfigAsync.js.map +1 -1
- package/build/src/utils/modifyConfigPlugins.js +43 -22
- package/build/src/utils/modifyConfigPlugins.js.map +1 -1
- package/build/src/utils/nodeEnv.js +6 -1
- package/build/src/utils/nodeEnv.js.map +1 -1
- package/build/src/utils/nodeModules.js +9 -6
- package/build/src/utils/nodeModules.js.map +1 -1
- package/build/src/utils/npm.js +32 -24
- package/build/src/utils/npm.js.map +1 -1
- package/build/src/utils/obj.js +12 -4
- package/build/src/utils/obj.js.map +1 -1
- package/build/src/utils/open.js +7 -4
- package/build/src/utils/open.js.map +1 -1
- package/build/src/utils/ora.js +25 -21
- package/build/src/utils/ora.js.map +1 -1
- package/build/src/utils/plist.js +53 -27
- package/build/src/utils/plist.js.map +1 -1
- package/build/src/utils/port.js +58 -32
- package/build/src/utils/port.js.map +1 -1
- package/build/src/utils/profile.js +49 -28
- package/build/src/utils/profile.js.map +1 -1
- package/build/src/utils/progress.js +16 -12
- package/build/src/utils/progress.js.map +1 -1
- package/build/src/utils/prompts.js +33 -28
- package/build/src/utils/prompts.js.map +1 -1
- package/build/src/utils/resolveArgs.js +23 -20
- package/build/src/utils/resolveArgs.js.map +1 -1
- package/build/src/utils/scheme.js +61 -37
- package/build/src/utils/scheme.js.map +1 -1
- package/build/src/utils/strings.js +11 -4
- package/build/src/utils/strings.js.map +1 -1
- package/build/src/utils/tar.js +43 -22
- package/build/src/utils/tar.js.map +1 -1
- package/build/src/utils/telemetry/DetachedClient.js +8 -5
- package/build/src/utils/telemetry/DetachedClient.js.map +1 -1
- package/build/src/utils/telemetry/RudderClient.js +12 -9
- package/build/src/utils/telemetry/RudderClient.js.map +1 -1
- package/build/src/utils/telemetry/flushDetached.js +8 -7
- package/build/src/utils/telemetry/flushDetached.js.map +1 -1
- package/build/src/utils/telemetry/getContext.js +48 -28
- package/build/src/utils/telemetry/getContext.js.map +1 -1
- package/build/src/utils/telemetry/index.js +16 -11
- package/build/src/utils/telemetry/index.js.map +1 -1
- package/build/src/utils/template.js +27 -2
- package/build/src/utils/template.js.map +1 -1
- package/build/src/utils/terminal.js +5 -2
- package/build/src/utils/terminal.js.map +1 -1
- package/build/src/utils/tsconfig/evaluateTsConfig.js +18 -12
- package/build/src/utils/tsconfig/evaluateTsConfig.js.map +1 -1
- package/build/src/utils/tsconfig/loadTsConfigPaths.js +18 -10
- package/build/src/utils/tsconfig/loadTsConfigPaths.js.map +1 -1
- package/build/src/utils/tsconfig/matchTsConfigPathAlias.js +8 -4
- package/build/src/utils/tsconfig/matchTsConfigPathAlias.js.map +1 -1
- package/build/src/utils/tsconfig/resolveWithTsConfigPaths.js +12 -9
- package/build/src/utils/tsconfig/resolveWithTsConfigPaths.js.map +1 -1
- package/build/src/utils/url.js +17 -10
- package/build/src/utils/url.js.map +1 -1
- package/build/src/utils/validateApplicationId.js +32 -25
- package/build/src/utils/validateApplicationId.js.map +1 -1
- package/build/src/utils/variadic.js +15 -11
- package/build/src/utils/variadic.js.map +1 -1
- package/build/src/whoami/index.js +43 -25
- package/build/src/whoami/index.js.map +1 -1
- package/build/src/whoami/whoamiAsync.js +44 -23
- package/build/src/whoami/whoamiAsync.js.map +1 -1
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/start/server/middleware/RuntimeRedirectMiddleware.ts"],"sourcesContent":["import { parse } from 'url';\n\nimport { disableResponseCache, ExpoMiddleware } from './ExpoMiddleware';\nimport {\n assertMissingRuntimePlatform,\n assertRuntimePlatform,\n parsePlatformHeader,\n resolvePlatformFromUserAgentHeader,\n RuntimePlatform,\n} from './resolvePlatform';\nimport { ServerRequest, ServerResponse } from './server.types';\nimport * as Log from '../../../log';\n\nconst debug = require('debug')(\n 'expo:start:server:middleware:runtimeRedirect'\n) as typeof console.log;\n\n/** Runtime to target: expo = Expo Go, custom = Dev Client. */\ntype RuntimeTarget = 'expo' | 'custom';\n\nexport type DeepLinkHandler = (props: {\n runtime: RuntimeTarget;\n platform: RuntimePlatform;\n}) => void | Promise<void>;\n\nexport class RuntimeRedirectMiddleware extends ExpoMiddleware {\n constructor(\n protected projectRoot: string,\n protected options: {\n onDeepLink: DeepLinkHandler;\n getLocation: (props: { runtime: RuntimeTarget }) => string | null | undefined;\n }\n ) {\n super(projectRoot, ['/_expo/link']);\n }\n\n async handleRequestAsync(req: ServerRequest, res: ServerResponse): Promise<void> {\n const { query } = parse(req.url!, true);\n const isDevClient = query['choice'] === 'expo-dev-client';\n const platform = parsePlatformHeader(req) ?? resolvePlatformFromUserAgentHeader(req);\n assertMissingRuntimePlatform(platform);\n assertRuntimePlatform(platform);\n const runtime = isDevClient ? 'custom' : 'expo';\n\n debug(`props:`, { platform, runtime });\n\n this.options.onDeepLink({ runtime, platform });\n\n const redirect = this.options.getLocation({ runtime });\n if (!redirect) {\n Log.warn(\n `[redirect middleware]: Unable to determine redirect location for runtime '${runtime}' and platform '${platform}'`\n );\n res.statusCode = 404;\n res.end();\n return;\n }\n debug('Redirect ->', redirect);\n res.setHeader('Location', redirect);\n\n // Disable caching\n disableResponseCache(res);\n\n // 'Temporary Redirect'\n res.statusCode = 307;\n res.end();\n }\n}\n"],"names":["
|
|
1
|
+
{"version":3,"sources":["../../../../../src/start/server/middleware/RuntimeRedirectMiddleware.ts"],"sourcesContent":["import { parse } from 'url';\n\nimport { disableResponseCache, ExpoMiddleware } from './ExpoMiddleware';\nimport {\n assertMissingRuntimePlatform,\n assertRuntimePlatform,\n parsePlatformHeader,\n resolvePlatformFromUserAgentHeader,\n RuntimePlatform,\n} from './resolvePlatform';\nimport { ServerRequest, ServerResponse } from './server.types';\nimport * as Log from '../../../log';\n\nconst debug = require('debug')(\n 'expo:start:server:middleware:runtimeRedirect'\n) as typeof console.log;\n\n/** Runtime to target: expo = Expo Go, custom = Dev Client. */\ntype RuntimeTarget = 'expo' | 'custom';\n\nexport type DeepLinkHandler = (props: {\n runtime: RuntimeTarget;\n platform: RuntimePlatform;\n}) => void | Promise<void>;\n\nexport class RuntimeRedirectMiddleware extends ExpoMiddleware {\n constructor(\n protected projectRoot: string,\n protected options: {\n onDeepLink: DeepLinkHandler;\n getLocation: (props: { runtime: RuntimeTarget }) => string | null | undefined;\n }\n ) {\n super(projectRoot, ['/_expo/link']);\n }\n\n async handleRequestAsync(req: ServerRequest, res: ServerResponse): Promise<void> {\n const { query } = parse(req.url!, true);\n const isDevClient = query['choice'] === 'expo-dev-client';\n const platform = parsePlatformHeader(req) ?? resolvePlatformFromUserAgentHeader(req);\n assertMissingRuntimePlatform(platform);\n assertRuntimePlatform(platform);\n const runtime = isDevClient ? 'custom' : 'expo';\n\n debug(`props:`, { platform, runtime });\n\n this.options.onDeepLink({ runtime, platform });\n\n const redirect = this.options.getLocation({ runtime });\n if (!redirect) {\n Log.warn(\n `[redirect middleware]: Unable to determine redirect location for runtime '${runtime}' and platform '${platform}'`\n );\n res.statusCode = 404;\n res.end();\n return;\n }\n debug('Redirect ->', redirect);\n res.setHeader('Location', redirect);\n\n // Disable caching\n disableResponseCache(res);\n\n // 'Temporary Redirect'\n res.statusCode = 307;\n res.end();\n }\n}\n"],"names":["RuntimeRedirectMiddleware","debug","require","ExpoMiddleware","constructor","projectRoot","options","handleRequestAsync","req","res","query","parse","url","isDevClient","parsePlatformHeader","platform","resolvePlatformFromUserAgentHeader","assertMissingRuntimePlatform","assertRuntimePlatform","runtime","onDeepLink","redirect","getLocation","Log","warn","statusCode","end","setHeader","disableResponseCache"],"mappings":"AAAA;;;;+BAyBaA,2BAAyB;;aAAzBA,yBAAyB;;;yBAzBhB,KAAK;;;;;;gCAE0B,kBAAkB;iCAOhE,mBAAmB;2DAEL,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEnC,MAAMC,KAAK,GAAGC,OAAO,CAAC,OAAO,CAAC,CAC5B,8CAA8C,CAC/C,AAAsB,AAAC;AAUjB,MAAMF,yBAAyB,SAASG,eAAc,eAAA;IAC3DC,YACYC,WAAmB,EACnBC,OAGT,CACD;QACA,KAAK,CAACD,WAAW,EAAE;YAAC,aAAa;SAAC,CAAC,CAAC;QAN1BA,mBAAAA,WAAmB,CAAA;QACnBC,eAAAA,OAGT,CAAA;IAGH;UAEMC,kBAAkB,CAACC,GAAkB,EAAEC,GAAmB,EAAiB;QAC/E,MAAM,EAAEC,KAAK,CAAA,EAAE,GAAGC,IAAAA,IAAK,EAAA,MAAA,EAACH,GAAG,CAACI,GAAG,EAAG,IAAI,CAAC,AAAC;QACxC,MAAMC,WAAW,GAAGH,KAAK,CAAC,QAAQ,CAAC,KAAK,iBAAiB,AAAC;YACzCI,GAAwB;QAAzC,MAAMC,QAAQ,GAAGD,CAAAA,GAAwB,GAAxBA,IAAAA,gBAAmB,oBAAA,EAACN,GAAG,CAAC,YAAxBM,GAAwB,GAAIE,IAAAA,gBAAkC,mCAAA,EAACR,GAAG,CAAC,AAAC;QACrFS,IAAAA,gBAA4B,6BAAA,EAACF,QAAQ,CAAC,CAAC;QACvCG,IAAAA,gBAAqB,sBAAA,EAACH,QAAQ,CAAC,CAAC;QAChC,MAAMI,OAAO,GAAGN,WAAW,GAAG,QAAQ,GAAG,MAAM,AAAC;QAEhDZ,KAAK,CAAC,CAAC,MAAM,CAAC,EAAE;YAAEc,QAAQ;YAAEI,OAAO;SAAE,CAAC,CAAC;QAEvC,IAAI,CAACb,OAAO,CAACc,UAAU,CAAC;YAAED,OAAO;YAAEJ,QAAQ;SAAE,CAAC,CAAC;QAE/C,MAAMM,QAAQ,GAAG,IAAI,CAACf,OAAO,CAACgB,WAAW,CAAC;YAAEH,OAAO;SAAE,CAAC,AAAC;QACvD,IAAI,CAACE,QAAQ,EAAE;YACbE,IAAG,CAACC,IAAI,CACN,CAAC,0EAA0E,EAAEL,OAAO,CAAC,gBAAgB,EAAEJ,QAAQ,CAAC,CAAC,CAAC,CACnH,CAAC;YACFN,GAAG,CAACgB,UAAU,GAAG,GAAG,CAAC;YACrBhB,GAAG,CAACiB,GAAG,EAAE,CAAC;YACV,OAAO;QACT,CAAC;QACDzB,KAAK,CAAC,aAAa,EAAEoB,QAAQ,CAAC,CAAC;QAC/BZ,GAAG,CAACkB,SAAS,CAAC,UAAU,EAAEN,QAAQ,CAAC,CAAC;QAEpC,kBAAkB;QAClBO,IAAAA,eAAoB,qBAAA,EAACnB,GAAG,CAAC,CAAC;QAE1B,uBAAuB;QACvBA,GAAG,CAACgB,UAAU,GAAG,GAAG,CAAC;QACrBhB,GAAG,CAACiB,GAAG,EAAE,CAAC;IACZ;CACD"}
|
|
@@ -2,15 +2,19 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", {
|
|
3
3
|
value: true
|
|
4
4
|
});
|
|
5
|
+
Object.defineProperty(exports, "ServeStaticMiddleware", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: ()=>ServeStaticMiddleware
|
|
8
|
+
});
|
|
5
9
|
function _path() {
|
|
6
|
-
const data = _interopRequireDefault(require("path"));
|
|
10
|
+
const data = /*#__PURE__*/ _interopRequireDefault(require("path"));
|
|
7
11
|
_path = function() {
|
|
8
12
|
return data;
|
|
9
13
|
};
|
|
10
14
|
return data;
|
|
11
15
|
}
|
|
12
16
|
function _send() {
|
|
13
|
-
const data = _interopRequireDefault(require("send"));
|
|
17
|
+
const data = /*#__PURE__*/ _interopRequireDefault(require("send"));
|
|
14
18
|
_send = function() {
|
|
15
19
|
return data;
|
|
16
20
|
};
|
|
@@ -23,8 +27,8 @@ function _url() {
|
|
|
23
27
|
};
|
|
24
28
|
return data;
|
|
25
29
|
}
|
|
26
|
-
|
|
27
|
-
|
|
30
|
+
const _resolvePlatform = require("./resolvePlatform");
|
|
31
|
+
const _env = require("../../../utils/env");
|
|
28
32
|
function _interopRequireDefault(obj) {
|
|
29
33
|
return obj && obj.__esModule ? obj : {
|
|
30
34
|
default: obj
|
|
@@ -45,17 +49,17 @@ class ServeStaticMiddleware {
|
|
|
45
49
|
if (!(req == null ? void 0 : req.url) || req.method !== "GET" && req.method !== "HEAD") {
|
|
46
50
|
return next();
|
|
47
51
|
}
|
|
48
|
-
const platform = (0, _resolvePlatform
|
|
52
|
+
const platform = (0, _resolvePlatform.parsePlatformHeader)(req);
|
|
49
53
|
// Currently this is web-only
|
|
50
54
|
if (platform && platform !== "web") {
|
|
51
55
|
return next();
|
|
52
56
|
}
|
|
53
|
-
const pathname = _url().parse(req.url).pathname;
|
|
57
|
+
const pathname = (0, _url().parse)(req.url).pathname;
|
|
54
58
|
if (!pathname) {
|
|
55
59
|
return next();
|
|
56
60
|
}
|
|
57
61
|
debug(`Maybe serve static:`, pathname);
|
|
58
|
-
const stream = _send().default(req, pathname, opts);
|
|
62
|
+
const stream = (0, _send().default)(req, pathname, opts);
|
|
59
63
|
// add file listener for fallthrough
|
|
60
64
|
let forwardError = false;
|
|
61
65
|
stream.on("file", function onFile() {
|
|
@@ -75,6 +79,5 @@ class ServeStaticMiddleware {
|
|
|
75
79
|
};
|
|
76
80
|
}
|
|
77
81
|
}
|
|
78
|
-
exports.ServeStaticMiddleware = ServeStaticMiddleware;
|
|
79
82
|
|
|
80
83
|
//# sourceMappingURL=ServeStaticMiddleware.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/start/server/middleware/ServeStaticMiddleware.ts"],"sourcesContent":["import path from 'path';\nimport send from 'send';\nimport { parse } from 'url';\n\nimport { parsePlatformHeader } from './resolvePlatform';\nimport { ServerRequest, ServerResponse } from './server.types';\nimport { env } from '../../../utils/env';\n\nconst debug = require('debug')('expo:start:server:middleware:serveStatic') as typeof console.log;\n\n/**\n * Adds support for serving the files in the static `public/` folder to web apps.\n */\nexport class ServeStaticMiddleware {\n constructor(private projectRoot: string) {}\n getHandler() {\n const publicPath = path.join(this.projectRoot, env.EXPO_PUBLIC_FOLDER);\n\n debug(`Serving static files from:`, publicPath);\n const opts = {\n root: publicPath,\n };\n return (req: ServerRequest, res: ServerResponse, next: any) => {\n if (!req?.url || (req.method !== 'GET' && req.method !== 'HEAD')) {\n return next();\n }\n\n const platform = parsePlatformHeader(req);\n // Currently this is web-only\n if (platform && platform !== 'web') {\n return next();\n }\n\n const pathname = parse(req.url).pathname;\n if (!pathname) {\n return next();\n }\n\n debug(`Maybe serve static:`, pathname);\n const stream = send(req, pathname, opts);\n\n // add file listener for fallthrough\n let forwardError = false;\n stream.on('file', function onFile() {\n // once file is determined, always forward error\n forwardError = true;\n });\n\n // forward errors\n stream.on('error', function error(err: any) {\n if (forwardError || !(err.statusCode < 500)) {\n next(err);\n return;\n }\n\n next();\n });\n\n // pipe\n stream.pipe(res);\n };\n }\n}\n"],"names":["
|
|
1
|
+
{"version":3,"sources":["../../../../../src/start/server/middleware/ServeStaticMiddleware.ts"],"sourcesContent":["import path from 'path';\nimport send from 'send';\nimport { parse } from 'url';\n\nimport { parsePlatformHeader } from './resolvePlatform';\nimport { ServerRequest, ServerResponse } from './server.types';\nimport { env } from '../../../utils/env';\n\nconst debug = require('debug')('expo:start:server:middleware:serveStatic') as typeof console.log;\n\n/**\n * Adds support for serving the files in the static `public/` folder to web apps.\n */\nexport class ServeStaticMiddleware {\n constructor(private projectRoot: string) {}\n getHandler() {\n const publicPath = path.join(this.projectRoot, env.EXPO_PUBLIC_FOLDER);\n\n debug(`Serving static files from:`, publicPath);\n const opts = {\n root: publicPath,\n };\n return (req: ServerRequest, res: ServerResponse, next: any) => {\n if (!req?.url || (req.method !== 'GET' && req.method !== 'HEAD')) {\n return next();\n }\n\n const platform = parsePlatformHeader(req);\n // Currently this is web-only\n if (platform && platform !== 'web') {\n return next();\n }\n\n const pathname = parse(req.url).pathname;\n if (!pathname) {\n return next();\n }\n\n debug(`Maybe serve static:`, pathname);\n const stream = send(req, pathname, opts);\n\n // add file listener for fallthrough\n let forwardError = false;\n stream.on('file', function onFile() {\n // once file is determined, always forward error\n forwardError = true;\n });\n\n // forward errors\n stream.on('error', function error(err: any) {\n if (forwardError || !(err.statusCode < 500)) {\n next(err);\n return;\n }\n\n next();\n });\n\n // pipe\n stream.pipe(res);\n };\n }\n}\n"],"names":["ServeStaticMiddleware","debug","require","constructor","projectRoot","getHandler","publicPath","path","join","env","EXPO_PUBLIC_FOLDER","opts","root","req","res","next","url","method","platform","parsePlatformHeader","pathname","parse","stream","send","forwardError","on","onFile","error","err","statusCode","pipe"],"mappings":"AAAA;;;;+BAaaA,uBAAqB;;aAArBA,qBAAqB;;;8DAbjB,MAAM;;;;;;;8DACN,MAAM;;;;;;;yBACD,KAAK;;;;;;iCAES,mBAAmB;qBAEnC,oBAAoB;;;;;;AAExC,MAAMC,KAAK,GAAGC,OAAO,CAAC,OAAO,CAAC,CAAC,0CAA0C,CAAC,AAAsB,AAAC;AAK1F,MAAMF,qBAAqB;IAChCG,YAAoBC,WAAmB,CAAE;QAArBA,mBAAAA,WAAmB,CAAA;IAAG;IAC1CC,UAAU,GAAG;QACX,MAAMC,UAAU,GAAGC,KAAI,EAAA,QAAA,CAACC,IAAI,CAAC,IAAI,CAACJ,WAAW,EAAEK,IAAG,IAAA,CAACC,kBAAkB,CAAC,AAAC;QAEvET,KAAK,CAAC,CAAC,0BAA0B,CAAC,EAAEK,UAAU,CAAC,CAAC;QAChD,MAAMK,IAAI,GAAG;YACXC,IAAI,EAAEN,UAAU;SACjB,AAAC;QACF,OAAO,CAACO,GAAkB,EAAEC,GAAmB,EAAEC,IAAS,GAAK;YAC7D,IAAI,CAACF,CAAAA,GAAG,QAAK,GAARA,KAAAA,CAAQ,GAARA,GAAG,CAAEG,GAAG,CAAA,IAAKH,GAAG,CAACI,MAAM,KAAK,KAAK,IAAIJ,GAAG,CAACI,MAAM,KAAK,MAAM,AAAC,EAAE;gBAChE,OAAOF,IAAI,EAAE,CAAC;YAChB,CAAC;YAED,MAAMG,QAAQ,GAAGC,IAAAA,gBAAmB,oBAAA,EAACN,GAAG,CAAC,AAAC;YAC1C,6BAA6B;YAC7B,IAAIK,QAAQ,IAAIA,QAAQ,KAAK,KAAK,EAAE;gBAClC,OAAOH,IAAI,EAAE,CAAC;YAChB,CAAC;YAED,MAAMK,QAAQ,GAAGC,IAAAA,IAAK,EAAA,MAAA,EAACR,GAAG,CAACG,GAAG,CAAC,CAACI,QAAQ,AAAC;YACzC,IAAI,CAACA,QAAQ,EAAE;gBACb,OAAOL,IAAI,EAAE,CAAC;YAChB,CAAC;YAEDd,KAAK,CAAC,CAAC,mBAAmB,CAAC,EAAEmB,QAAQ,CAAC,CAAC;YACvC,MAAME,MAAM,GAAGC,IAAAA,KAAI,EAAA,QAAA,EAACV,GAAG,EAAEO,QAAQ,EAAET,IAAI,CAAC,AAAC;YAEzC,oCAAoC;YACpC,IAAIa,YAAY,GAAG,KAAK,AAAC;YACzBF,MAAM,CAACG,EAAE,CAAC,MAAM,EAAE,SAASC,MAAM,GAAG;gBAClC,gDAAgD;gBAChDF,YAAY,GAAG,IAAI,CAAC;YACtB,CAAC,CAAC,CAAC;YAEH,iBAAiB;YACjBF,MAAM,CAACG,EAAE,CAAC,OAAO,EAAE,SAASE,KAAK,CAACC,GAAQ,EAAE;gBAC1C,IAAIJ,YAAY,IAAI,CAAC,CAACI,GAAG,CAACC,UAAU,GAAG,GAAG,CAAC,EAAE;oBAC3Cd,IAAI,CAACa,GAAG,CAAC,CAAC;oBACV,OAAO;gBACT,CAAC;gBAEDb,IAAI,EAAE,CAAC;YACT,CAAC,CAAC,CAAC;YAEH,OAAO;YACPO,MAAM,CAACQ,IAAI,CAAChB,GAAG,CAAC,CAAC;QACnB,CAAC,CAAC;IACJ;CACD"}
|
|
@@ -2,28 +2,36 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", {
|
|
3
3
|
value: true
|
|
4
4
|
});
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
5
|
+
function _export(target, all) {
|
|
6
|
+
for(var name in all)Object.defineProperty(target, name, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: all[name]
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
_export(exports, {
|
|
12
|
+
openJsInspector: ()=>openJsInspector,
|
|
13
|
+
closeJsInspector: ()=>closeJsInspector,
|
|
14
|
+
queryInspectorAppAsync: ()=>queryInspectorAppAsync,
|
|
15
|
+
queryAllInspectorAppsAsync: ()=>queryAllInspectorAppsAsync
|
|
16
|
+
});
|
|
9
17
|
function _chalk() {
|
|
10
|
-
const data = _interopRequireDefault(require("chalk"));
|
|
18
|
+
const data = /*#__PURE__*/ _interopRequireDefault(require("chalk"));
|
|
11
19
|
_chalk = function() {
|
|
12
20
|
return data;
|
|
13
21
|
};
|
|
14
22
|
return data;
|
|
15
23
|
}
|
|
16
24
|
function _nodeFetch() {
|
|
17
|
-
const data = _interopRequireDefault(require("node-fetch"));
|
|
25
|
+
const data = /*#__PURE__*/ _interopRequireDefault(require("node-fetch"));
|
|
18
26
|
_nodeFetch = function() {
|
|
19
27
|
return data;
|
|
20
28
|
};
|
|
21
29
|
return data;
|
|
22
30
|
}
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
31
|
+
const _launchBrowser = require("./LaunchBrowser");
|
|
32
|
+
const _log = require("../../../../log");
|
|
33
|
+
const _env = require("../../../../utils/env");
|
|
34
|
+
const _pageIsSupported = require("../../metro/debugging/pageIsSupported");
|
|
27
35
|
function _interopRequireDefault(obj) {
|
|
28
36
|
return obj && obj.__esModule ? obj : {
|
|
29
37
|
default: obj
|
|
@@ -40,7 +48,7 @@ function openJsInspector(metroBaseUrl, app) {
|
|
|
40
48
|
async function openExperimentalJsInspector(metroBaseUrl, app) {
|
|
41
49
|
const device = encodeURIComponent(app.id);
|
|
42
50
|
const appId = encodeURIComponent(app.description);
|
|
43
|
-
await _nodeFetch().default(`${metroBaseUrl}/open-debugger?device=${device}&appId=${appId}`, {
|
|
51
|
+
await (0, _nodeFetch().default)(`${metroBaseUrl}/open-debugger?device=${device}&appId=${appId}`, {
|
|
44
52
|
method: "POST"
|
|
45
53
|
});
|
|
46
54
|
}
|
|
@@ -48,7 +56,7 @@ async function openExperimentalJsInspector(metroBaseUrl, app) {
|
|
|
48
56
|
* Chrome DevTools UI implemented for SDK <49.
|
|
49
57
|
* TODO(cedric): Remove this when we fully swap over to the new React Native JS Inspector.
|
|
50
58
|
*/ async function openClassicJsInspector(app) {
|
|
51
|
-
_log.Log.log(_chalk().default`{bold Debug:} Opening JavaScript inspector in the browser...`);
|
|
59
|
+
_log.Log.log((0, _chalk().default)`{bold Debug:} Opening JavaScript inspector in the browser...`);
|
|
52
60
|
// To update devtoolsFrontendRev, find the full commit hash in the url:
|
|
53
61
|
// https://chromium.googlesource.com/chromium/src.git/+log/refs/tags/{CHROME_VERSION}/chrome/VERSION
|
|
54
62
|
//
|
|
@@ -60,7 +68,7 @@ async function openExperimentalJsInspector(metroBaseUrl, app) {
|
|
|
60
68
|
const ws = app.webSocketDebuggerUrl.replace(/^ws:\/\//, "");
|
|
61
69
|
const url = `${urlBase}?panel=console&ws=${encodeURIComponent(ws)}`;
|
|
62
70
|
await closeJsInspector();
|
|
63
|
-
openingBrowserInstance = await (0, _launchBrowser
|
|
71
|
+
openingBrowserInstance = await (0, _launchBrowser.launchInspectorBrowserAsync)(url);
|
|
64
72
|
}
|
|
65
73
|
async function closeJsInspector() {
|
|
66
74
|
await (openingBrowserInstance == null ? void 0 : openingBrowserInstance.close());
|
|
@@ -69,34 +77,32 @@ async function closeJsInspector() {
|
|
|
69
77
|
async function queryInspectorAppAsync(metroServerOrigin, appId) {
|
|
70
78
|
const apps = await queryAllInspectorAppsAsync(metroServerOrigin);
|
|
71
79
|
var ref;
|
|
72
|
-
return (ref = apps.find((app)=>app.description === appId
|
|
73
|
-
)) != null ? ref : null;
|
|
80
|
+
return (ref = apps.find((app)=>app.description === appId)) != null ? ref : null;
|
|
74
81
|
}
|
|
75
82
|
async function queryAllInspectorAppsAsync(metroServerOrigin) {
|
|
76
|
-
const resp = await _nodeFetch().default(`${metroServerOrigin}/json/list`);
|
|
83
|
+
const resp = await (0, _nodeFetch().default)(`${metroServerOrigin}/json/list`);
|
|
77
84
|
const apps = transformApps(await resp.json());
|
|
78
85
|
// Only use targets with better reloading support
|
|
79
|
-
return apps.filter((app)=>(0, _pageIsSupported
|
|
80
|
-
);
|
|
86
|
+
return apps.filter((app)=>(0, _pageIsSupported.pageIsSupported)(app));
|
|
81
87
|
}
|
|
82
88
|
// The description of `React Native Experimental (Improved Chrome Reloads)` target is `don't use` from metro.
|
|
83
89
|
// This function tries to transform the unmeaningful description to appId
|
|
84
90
|
function transformApps(apps) {
|
|
85
91
|
const deviceIdToAppId = {};
|
|
86
|
-
for (const
|
|
87
|
-
if (
|
|
92
|
+
for (const app of apps){
|
|
93
|
+
if (app.description !== "don't use") {
|
|
88
94
|
var ref;
|
|
89
95
|
var ref1;
|
|
90
|
-
const deviceId = (ref1 = (ref =
|
|
91
|
-
const appId =
|
|
96
|
+
const deviceId = (ref1 = (ref = app.reactNative) == null ? void 0 : ref.logicalDeviceId) != null ? ref1 : app.id.split("-")[0];
|
|
97
|
+
const appId = app.description;
|
|
92
98
|
deviceIdToAppId[deviceId] = appId;
|
|
93
99
|
}
|
|
94
100
|
}
|
|
95
101
|
return apps.map((app)=>{
|
|
96
102
|
if (app.description === "don't use") {
|
|
97
103
|
var ref;
|
|
98
|
-
var
|
|
99
|
-
const deviceId = (
|
|
104
|
+
var ref1;
|
|
105
|
+
const deviceId = (ref1 = (ref = app.reactNative) == null ? void 0 : ref.logicalDeviceId) != null ? ref1 : app.id.split("-")[0];
|
|
100
106
|
var _deviceId;
|
|
101
107
|
app.description = (_deviceId = deviceIdToAppId[deviceId]) != null ? _deviceId : app.description;
|
|
102
108
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../src/start/server/middleware/inspector/JsInspector.ts"],"sourcesContent":["import type { CustomMessageHandlerConnection } from '@react-native/dev-middleware';\nimport chalk from 'chalk';\nimport fetch from 'node-fetch';\n\nimport { launchInspectorBrowserAsync, type LaunchBrowserInstance } from './LaunchBrowser';\nimport { Log } from '../../../../log';\nimport { env } from '../../../../utils/env';\nimport { pageIsSupported } from '../../metro/debugging/pageIsSupported';\n\nexport interface MetroInspectorProxyApp {\n id: string;\n description: string;\n title: string;\n faviconUrl: string;\n devtoolsFrontendUrl: string;\n type: 'node';\n webSocketDebuggerUrl: string;\n vm: 'Hermes' | \"don't use\";\n /** Added since React Native 0.73.x */\n deviceName?: string;\n /** Added since React Native 0.74.x */\n reactNative?: {\n logicalDeviceId: string;\n capabilities: CustomMessageHandlerConnection['page']['capabilities'];\n };\n}\n\nlet openingBrowserInstance: LaunchBrowserInstance | null = null;\n\nexport function openJsInspector(metroBaseUrl: string, app: MetroInspectorProxyApp) {\n if (env.EXPO_USE_UNSTABLE_DEBUGGER) {\n return openExperimentalJsInspector(metroBaseUrl, app);\n } else {\n return openClassicJsInspector(app);\n }\n}\n\nasync function openExperimentalJsInspector(metroBaseUrl: string, app: MetroInspectorProxyApp) {\n const device = encodeURIComponent(app.id);\n const appId = encodeURIComponent(app.description);\n await fetch(`${metroBaseUrl}/open-debugger?device=${device}&appId=${appId}`, { method: 'POST' });\n}\n\n/**\n * Chrome DevTools UI implemented for SDK <49.\n * TODO(cedric): Remove this when we fully swap over to the new React Native JS Inspector.\n */\nasync function openClassicJsInspector(app: MetroInspectorProxyApp) {\n Log.log(chalk`{bold Debug:} Opening JavaScript inspector in the browser...`);\n\n // To update devtoolsFrontendRev, find the full commit hash in the url:\n // https://chromium.googlesource.com/chromium/src.git/+log/refs/tags/{CHROME_VERSION}/chrome/VERSION\n //\n // 1. Replace {CHROME_VERSION} with the target chrome version\n // 2. Click the first log item in the webpage\n // 3. The full commit hash is the desired revision\n const devtoolsFrontendRev = 'd9568d04d7dd79269c5a655d7ada69650c5a8336'; // Chrome 100.0.4896.75\n\n const urlBase = `https://chrome-devtools-frontend.appspot.com/serve_rev/@${devtoolsFrontendRev}/devtools_app.html`;\n const ws = app.webSocketDebuggerUrl.replace(/^ws:\\/\\//, '');\n const url = `${urlBase}?panel=console&ws=${encodeURIComponent(ws)}`;\n await closeJsInspector();\n openingBrowserInstance = await launchInspectorBrowserAsync(url);\n}\n\nexport async function closeJsInspector() {\n await openingBrowserInstance?.close();\n openingBrowserInstance = null;\n}\n\nexport async function queryInspectorAppAsync(\n metroServerOrigin: string,\n appId: string\n): Promise<MetroInspectorProxyApp | null> {\n const apps = await queryAllInspectorAppsAsync(metroServerOrigin);\n return apps.find((app) => app.description === appId) ?? null;\n}\n\nexport async function queryAllInspectorAppsAsync(\n metroServerOrigin: string\n): Promise<MetroInspectorProxyApp[]> {\n const resp = await fetch(`${metroServerOrigin}/json/list`);\n const apps: MetroInspectorProxyApp[] = transformApps(await resp.json());\n // Only use targets with better reloading support\n return apps.filter((app) => pageIsSupported(app));\n}\n\n// The description of `React Native Experimental (Improved Chrome Reloads)` target is `don't use` from metro.\n// This function tries to transform the unmeaningful description to appId\nfunction transformApps(apps: MetroInspectorProxyApp[]): MetroInspectorProxyApp[] {\n const deviceIdToAppId: Record<string, string> = {};\n\n for (const app of apps) {\n if (app.description !== \"don't use\") {\n const deviceId = app.reactNative?.logicalDeviceId ?? app.id.split('-')[0];\n const appId = app.description;\n deviceIdToAppId[deviceId] = appId;\n }\n }\n\n return apps.map((app) => {\n if (app.description === \"don't use\") {\n const deviceId = app.reactNative?.logicalDeviceId ?? app.id.split('-')[0];\n app.description = deviceIdToAppId[deviceId] ?? app.description;\n }\n return app;\n });\n}\n"],"names":["openJsInspector","closeJsInspector","queryInspectorAppAsync","queryAllInspectorAppsAsync","openingBrowserInstance","metroBaseUrl","app","env","EXPO_USE_UNSTABLE_DEBUGGER","openExperimentalJsInspector","openClassicJsInspector","device","encodeURIComponent","id","appId","description","fetch","method","Log","log","chalk","devtoolsFrontendRev","urlBase","ws","webSocketDebuggerUrl","replace","url","launchInspectorBrowserAsync","close","metroServerOrigin","apps","find","resp","transformApps","json","filter","pageIsSupported","deviceIdToAppId","deviceId","reactNative","logicalDeviceId","split","map"],"mappings":"AAAA
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/start/server/middleware/inspector/JsInspector.ts"],"sourcesContent":["import type { CustomMessageHandlerConnection } from '@react-native/dev-middleware';\nimport chalk from 'chalk';\nimport fetch from 'node-fetch';\n\nimport { launchInspectorBrowserAsync, type LaunchBrowserInstance } from './LaunchBrowser';\nimport { Log } from '../../../../log';\nimport { env } from '../../../../utils/env';\nimport { pageIsSupported } from '../../metro/debugging/pageIsSupported';\n\nexport interface MetroInspectorProxyApp {\n id: string;\n description: string;\n title: string;\n faviconUrl: string;\n devtoolsFrontendUrl: string;\n type: 'node';\n webSocketDebuggerUrl: string;\n vm: 'Hermes' | \"don't use\";\n /** Added since React Native 0.73.x */\n deviceName?: string;\n /** Added since React Native 0.74.x */\n reactNative?: {\n logicalDeviceId: string;\n capabilities: CustomMessageHandlerConnection['page']['capabilities'];\n };\n}\n\nlet openingBrowserInstance: LaunchBrowserInstance | null = null;\n\nexport function openJsInspector(metroBaseUrl: string, app: MetroInspectorProxyApp) {\n if (env.EXPO_USE_UNSTABLE_DEBUGGER) {\n return openExperimentalJsInspector(metroBaseUrl, app);\n } else {\n return openClassicJsInspector(app);\n }\n}\n\nasync function openExperimentalJsInspector(metroBaseUrl: string, app: MetroInspectorProxyApp) {\n const device = encodeURIComponent(app.id);\n const appId = encodeURIComponent(app.description);\n await fetch(`${metroBaseUrl}/open-debugger?device=${device}&appId=${appId}`, { method: 'POST' });\n}\n\n/**\n * Chrome DevTools UI implemented for SDK <49.\n * TODO(cedric): Remove this when we fully swap over to the new React Native JS Inspector.\n */\nasync function openClassicJsInspector(app: MetroInspectorProxyApp) {\n Log.log(chalk`{bold Debug:} Opening JavaScript inspector in the browser...`);\n\n // To update devtoolsFrontendRev, find the full commit hash in the url:\n // https://chromium.googlesource.com/chromium/src.git/+log/refs/tags/{CHROME_VERSION}/chrome/VERSION\n //\n // 1. Replace {CHROME_VERSION} with the target chrome version\n // 2. Click the first log item in the webpage\n // 3. The full commit hash is the desired revision\n const devtoolsFrontendRev = 'd9568d04d7dd79269c5a655d7ada69650c5a8336'; // Chrome 100.0.4896.75\n\n const urlBase = `https://chrome-devtools-frontend.appspot.com/serve_rev/@${devtoolsFrontendRev}/devtools_app.html`;\n const ws = app.webSocketDebuggerUrl.replace(/^ws:\\/\\//, '');\n const url = `${urlBase}?panel=console&ws=${encodeURIComponent(ws)}`;\n await closeJsInspector();\n openingBrowserInstance = await launchInspectorBrowserAsync(url);\n}\n\nexport async function closeJsInspector() {\n await openingBrowserInstance?.close();\n openingBrowserInstance = null;\n}\n\nexport async function queryInspectorAppAsync(\n metroServerOrigin: string,\n appId: string\n): Promise<MetroInspectorProxyApp | null> {\n const apps = await queryAllInspectorAppsAsync(metroServerOrigin);\n return apps.find((app) => app.description === appId) ?? null;\n}\n\nexport async function queryAllInspectorAppsAsync(\n metroServerOrigin: string\n): Promise<MetroInspectorProxyApp[]> {\n const resp = await fetch(`${metroServerOrigin}/json/list`);\n const apps: MetroInspectorProxyApp[] = transformApps(await resp.json());\n // Only use targets with better reloading support\n return apps.filter((app) => pageIsSupported(app));\n}\n\n// The description of `React Native Experimental (Improved Chrome Reloads)` target is `don't use` from metro.\n// This function tries to transform the unmeaningful description to appId\nfunction transformApps(apps: MetroInspectorProxyApp[]): MetroInspectorProxyApp[] {\n const deviceIdToAppId: Record<string, string> = {};\n\n for (const app of apps) {\n if (app.description !== \"don't use\") {\n const deviceId = app.reactNative?.logicalDeviceId ?? app.id.split('-')[0];\n const appId = app.description;\n deviceIdToAppId[deviceId] = appId;\n }\n }\n\n return apps.map((app) => {\n if (app.description === \"don't use\") {\n const deviceId = app.reactNative?.logicalDeviceId ?? app.id.split('-')[0];\n app.description = deviceIdToAppId[deviceId] ?? app.description;\n }\n return app;\n });\n}\n"],"names":["openJsInspector","closeJsInspector","queryInspectorAppAsync","queryAllInspectorAppsAsync","openingBrowserInstance","metroBaseUrl","app","env","EXPO_USE_UNSTABLE_DEBUGGER","openExperimentalJsInspector","openClassicJsInspector","device","encodeURIComponent","id","appId","description","fetch","method","Log","log","chalk","devtoolsFrontendRev","urlBase","ws","webSocketDebuggerUrl","replace","url","launchInspectorBrowserAsync","close","metroServerOrigin","apps","find","resp","transformApps","json","filter","pageIsSupported","deviceIdToAppId","deviceId","reactNative","logicalDeviceId","split","map"],"mappings":"AAAA;;;;;;;;;;;IA6BgBA,eAAe,MAAfA,eAAe;IAoCTC,gBAAgB,MAAhBA,gBAAgB;IAKhBC,sBAAsB,MAAtBA,sBAAsB;IAQtBC,0BAA0B,MAA1BA,0BAA0B;;;8DA7E9B,OAAO;;;;;;;8DACP,YAAY;;;;;;+BAE0C,iBAAiB;qBACrE,iBAAiB;qBACjB,uBAAuB;iCACX,uCAAuC;;;;;;AAoBvE,IAAIC,sBAAsB,GAAiC,IAAI,AAAC;AAEzD,SAASJ,eAAe,CAACK,YAAoB,EAAEC,GAA2B,EAAE;IACjF,IAAIC,IAAG,IAAA,CAACC,0BAA0B,EAAE;QAClC,OAAOC,2BAA2B,CAACJ,YAAY,EAAEC,GAAG,CAAC,CAAC;IACxD,OAAO;QACL,OAAOI,sBAAsB,CAACJ,GAAG,CAAC,CAAC;IACrC,CAAC;AACH,CAAC;AAED,eAAeG,2BAA2B,CAACJ,YAAoB,EAAEC,GAA2B,EAAE;IAC5F,MAAMK,MAAM,GAAGC,kBAAkB,CAACN,GAAG,CAACO,EAAE,CAAC,AAAC;IAC1C,MAAMC,KAAK,GAAGF,kBAAkB,CAACN,GAAG,CAACS,WAAW,CAAC,AAAC;IAClD,MAAMC,IAAAA,UAAK,EAAA,QAAA,EAAC,CAAC,EAAEX,YAAY,CAAC,sBAAsB,EAAEM,MAAM,CAAC,OAAO,EAAEG,KAAK,CAAC,CAAC,EAAE;QAAEG,MAAM,EAAE,MAAM;KAAE,CAAC,CAAC;AACnG,CAAC;AAED;;;CAGC,GACD,eAAeP,sBAAsB,CAACJ,GAA2B,EAAE;IACjEY,IAAG,IAAA,CAACC,GAAG,CAACC,IAAAA,MAAK,EAAA,QAAA,CAAA,CAAC,4DAA4D,CAAC,CAAC,CAAC;IAE7E,uEAAuE;IACvE,oGAAoG;IACpG,EAAE;IACF,6DAA6D;IAC7D,6CAA6C;IAC7C,kDAAkD;IAClD,MAAMC,mBAAmB,GAAG,0CAA0C,AAAC,EAAC,uBAAuB;IAE/F,MAAMC,OAAO,GAAG,CAAC,wDAAwD,EAAED,mBAAmB,CAAC,kBAAkB,CAAC,AAAC;IACnH,MAAME,EAAE,GAAGjB,GAAG,CAACkB,oBAAoB,CAACC,OAAO,aAAa,EAAE,CAAC,AAAC;IAC5D,MAAMC,GAAG,GAAG,CAAC,EAAEJ,OAAO,CAAC,kBAAkB,EAAEV,kBAAkB,CAACW,EAAE,CAAC,CAAC,CAAC,AAAC;IACpE,MAAMtB,gBAAgB,EAAE,CAAC;IACzBG,sBAAsB,GAAG,MAAMuB,IAAAA,cAA2B,4BAAA,EAACD,GAAG,CAAC,CAAC;AAClE,CAAC;AAEM,eAAezB,gBAAgB,GAAG;IACvC,OAAMG,sBAAsB,QAAO,GAA7BA,KAAAA,CAA6B,GAA7BA,sBAAsB,CAAEwB,KAAK,EAAE,CAAA,CAAC;IACtCxB,sBAAsB,GAAG,IAAI,CAAC;AAChC,CAAC;AAEM,eAAeF,sBAAsB,CAC1C2B,iBAAyB,EACzBf,KAAa,EAC2B;IACxC,MAAMgB,IAAI,GAAG,MAAM3B,0BAA0B,CAAC0B,iBAAiB,CAAC,AAAC;QAC1DC,GAA6C;IAApD,OAAOA,CAAAA,GAA6C,GAA7CA,IAAI,CAACC,IAAI,CAAC,CAACzB,GAAG,GAAKA,GAAG,CAACS,WAAW,KAAKD,KAAK,CAAC,YAA7CgB,GAA6C,GAAI,IAAI,CAAC;AAC/D,CAAC;AAEM,eAAe3B,0BAA0B,CAC9C0B,iBAAyB,EACU;IACnC,MAAMG,IAAI,GAAG,MAAMhB,IAAAA,UAAK,EAAA,QAAA,EAAC,CAAC,EAAEa,iBAAiB,CAAC,UAAU,CAAC,CAAC,AAAC;IAC3D,MAAMC,IAAI,GAA6BG,aAAa,CAAC,MAAMD,IAAI,CAACE,IAAI,EAAE,CAAC,AAAC;IACxE,iDAAiD;IACjD,OAAOJ,IAAI,CAACK,MAAM,CAAC,CAAC7B,GAAG,GAAK8B,IAAAA,gBAAe,gBAAA,EAAC9B,GAAG,CAAC,CAAC,CAAC;AACpD,CAAC;AAED,6GAA6G;AAC7G,yEAAyE;AACzE,SAAS2B,aAAa,CAACH,IAA8B,EAA4B;IAC/E,MAAMO,eAAe,GAA2B,EAAE,AAAC;IAEnD,KAAK,MAAM/B,GAAG,IAAIwB,IAAI,CAAE;QACtB,IAAIxB,GAAG,CAACS,WAAW,KAAK,WAAW,EAAE;gBAClBT,GAAe;gBAAfA,IAAgC;YAAjD,MAAMgC,QAAQ,GAAGhC,CAAAA,IAAgC,GAAhCA,CAAAA,GAAe,GAAfA,GAAG,CAACiC,WAAW,SAAiB,GAAhCjC,KAAAA,CAAgC,GAAhCA,GAAe,CAAEkC,eAAe,YAAhClC,IAAgC,GAAIA,GAAG,CAACO,EAAE,CAAC4B,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,AAAC;YAC1E,MAAM3B,KAAK,GAAGR,GAAG,CAACS,WAAW,AAAC;YAC9BsB,eAAe,CAACC,QAAQ,CAAC,GAAGxB,KAAK,CAAC;QACpC,CAAC;IACH,CAAC;IAED,OAAOgB,IAAI,CAACY,GAAG,CAAC,CAACpC,GAAG,GAAK;QACvB,IAAIA,GAAG,CAACS,WAAW,KAAK,WAAW,EAAE;gBAClBT,GAAe;gBAAfA,IAAgC;YAAjD,MAAMgC,QAAQ,GAAGhC,CAAAA,IAAgC,GAAhCA,CAAAA,GAAe,GAAfA,GAAG,CAACiC,WAAW,SAAiB,GAAhCjC,KAAAA,CAAgC,GAAhCA,GAAe,CAAEkC,eAAe,YAAhClC,IAAgC,GAAIA,GAAG,CAACO,EAAE,CAAC4B,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,AAAC;gBACxDJ,SAAyB;YAA3C/B,GAAG,CAACS,WAAW,GAAGsB,CAAAA,SAAyB,GAAzBA,eAAe,CAACC,QAAQ,CAAC,YAAzBD,SAAyB,GAAI/B,GAAG,CAACS,WAAW,CAAC;QACjE,CAAC;QACD,OAAOT,GAAG,CAAC;IACb,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -2,20 +2,28 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", {
|
|
3
3
|
value: true
|
|
4
4
|
});
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
function _export(target, all) {
|
|
6
|
+
for(var name in all)Object.defineProperty(target, name, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: all[name]
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
_export(exports, {
|
|
12
|
+
createLaunchBrowser: ()=>createLaunchBrowser,
|
|
13
|
+
findSupportedBrowserTypeAsync: ()=>findSupportedBrowserTypeAsync,
|
|
14
|
+
launchInspectorBrowserAsync: ()=>launchInspectorBrowserAsync
|
|
15
|
+
});
|
|
8
16
|
function _os() {
|
|
9
|
-
const data = _interopRequireDefault(require("os"));
|
|
17
|
+
const data = /*#__PURE__*/ _interopRequireDefault(require("os"));
|
|
10
18
|
_os = function() {
|
|
11
19
|
return data;
|
|
12
20
|
};
|
|
13
21
|
return data;
|
|
14
22
|
}
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
23
|
+
const _launchBrowserTypes = require("./LaunchBrowser.types");
|
|
24
|
+
const _launchBrowserImplLinux = /*#__PURE__*/ _interopRequireDefault(require("./LaunchBrowserImplLinux"));
|
|
25
|
+
const _launchBrowserImplMacOS = /*#__PURE__*/ _interopRequireDefault(require("./LaunchBrowserImplMacOS"));
|
|
26
|
+
const _launchBrowserImplWindows = /*#__PURE__*/ _interopRequireDefault(require("./LaunchBrowserImplWindows"));
|
|
19
27
|
function _interopRequireDefault(obj) {
|
|
20
28
|
return obj && obj.__esModule ? obj : {
|
|
21
29
|
default: obj
|
|
@@ -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
|
|
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;;;;;;;;;;;IAmBgBA,mBAAmB,MAAnBA,mBAAmB;IAiBbC,6BAA6B,MAA7BA,6BAA6B;IAoB7BC,2BAA2B,MAA3BA,2BAA2B;;;8DAxDlC,IAAI;;;;;;oCAOZ,uBAAuB;6EACK,0BAA0B;6EAC1B,0BAA0B;+EACxB,4BAA4B;;;;;;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,EAAA,QAAA,CAACC,QAAQ,EAAE,KAAK,QAAQ,EAAE;QAC9BF,aAAa,GAAG,IAAIG,uBAAsB,QAAA,EAAE,CAAC;IAC/C,OAAO,IAAIF,GAAE,EAAA,QAAA,CAACC,QAAQ,EAAE,KAAK,OAAO,IAAIJ,MAAM,EAAE;QAC9CE,aAAa,GAAG,IAAII,yBAAwB,QAAA,EAAE,CAAC;IACjD,OAAO,IAAIH,GAAE,EAAA,QAAA,CAACC,QAAQ,EAAE,KAAK,OAAO,EAAE;QACpCF,aAAa,GAAG,IAAIK,uBAAsB,QAAA,EAAE,CAAC;IAC/C,OAAO;QACL,MAAM,IAAIC,KAAK,CAAC,iDAAiD,CAAC,CAAC;IACrE,CAAC;IACD,OAAON,aAAa,CAAC;AACvB,CAAC;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;QACrB,CAAC;IACH,CAAC;IAED,MAAM,IAAIL,KAAK,CACb,CAAC,gHAAgH,EAAEC,iBAAiB,CAACM,IAAI,CACvI,IAAI,CACL,CAAC,CAAC,CACJ,CAAC;AACJ,CAAC;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;AAClE,CAAC"}
|
|
@@ -2,12 +2,14 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", {
|
|
3
3
|
value: true
|
|
4
4
|
});
|
|
5
|
-
exports
|
|
5
|
+
Object.defineProperty(exports, "LaunchBrowserTypesEnum", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: ()=>LaunchBrowserTypesEnum
|
|
8
|
+
});
|
|
6
9
|
const LaunchBrowserTypesEnum = {
|
|
7
10
|
CHROME: "Google Chrome",
|
|
8
11
|
EDGE: "Microsoft Edge",
|
|
9
12
|
BRAVE: "Brave"
|
|
10
13
|
};
|
|
11
|
-
exports.LaunchBrowserTypesEnum = LaunchBrowserTypesEnum;
|
|
12
14
|
|
|
13
15
|
//# sourceMappingURL=LaunchBrowser.types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../src/start/server/middleware/inspector/LaunchBrowser.types.ts"],"sourcesContent":["export interface LaunchBrowserInstance {\n close: () => Promise<void>;\n}\n\n/**\n * Supported browser types enum\n */\nexport const LaunchBrowserTypesEnum = {\n CHROME: 'Google Chrome',\n EDGE: 'Microsoft Edge',\n BRAVE: 'Brave',\n} as const;\n\n/**\n * Supported browser types\n */\nexport type LaunchBrowserTypes =\n (typeof LaunchBrowserTypesEnum)[keyof typeof LaunchBrowserTypesEnum];\n\n/**\n * A browser launcher\n */\nexport interface LaunchBrowser {\n /**\n * Return whether the given `browserType` is supported\n */\n isSupportedBrowser: (browserType: LaunchBrowserTypes) => Promise<boolean>;\n\n /**\n * Create temp directory for browser profile\n *\n * @param baseDirName The base directory name for the created directory\n */\n createTempBrowserDir: (baseDirName: string) => Promise<string>;\n\n /**\n * Launch the browser\n */\n launchAsync: (browserType: LaunchBrowserTypes, args: string[]) => Promise<LaunchBrowserInstance>;\n\n /**\n * Close current browser instance\n */\n close: () => Promise<void>;\n}\n"],"names":["LaunchBrowserTypesEnum","CHROME","EDGE","BRAVE"],"mappings":"AAAA
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/start/server/middleware/inspector/LaunchBrowser.types.ts"],"sourcesContent":["export interface LaunchBrowserInstance {\n close: () => Promise<void>;\n}\n\n/**\n * Supported browser types enum\n */\nexport const LaunchBrowserTypesEnum = {\n CHROME: 'Google Chrome',\n EDGE: 'Microsoft Edge',\n BRAVE: 'Brave',\n} as const;\n\n/**\n * Supported browser types\n */\nexport type LaunchBrowserTypes =\n (typeof LaunchBrowserTypesEnum)[keyof typeof LaunchBrowserTypesEnum];\n\n/**\n * A browser launcher\n */\nexport interface LaunchBrowser {\n /**\n * Return whether the given `browserType` is supported\n */\n isSupportedBrowser: (browserType: LaunchBrowserTypes) => Promise<boolean>;\n\n /**\n * Create temp directory for browser profile\n *\n * @param baseDirName The base directory name for the created directory\n */\n createTempBrowserDir: (baseDirName: string) => Promise<string>;\n\n /**\n * Launch the browser\n */\n launchAsync: (browserType: LaunchBrowserTypes, args: string[]) => Promise<LaunchBrowserInstance>;\n\n /**\n * Close current browser instance\n */\n close: () => Promise<void>;\n}\n"],"names":["LaunchBrowserTypesEnum","CHROME","EDGE","BRAVE"],"mappings":"AAAA;;;;+BAOaA,wBAAsB;;aAAtBA,sBAAsB;;AAA5B,MAAMA,sBAAsB,GAAG;IACpCC,MAAM,EAAE,eAAe;IACvBC,IAAI,EAAE,gBAAgB;IACtBC,KAAK,EAAE,OAAO;CACf,AAAS,AAAC"}
|
|
@@ -2,29 +2,39 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", {
|
|
3
3
|
value: true
|
|
4
4
|
});
|
|
5
|
-
exports
|
|
5
|
+
Object.defineProperty(exports, /**
|
|
6
|
+
* Browser implementation for Linux
|
|
7
|
+
*/ "default", {
|
|
8
|
+
enumerable: true,
|
|
9
|
+
get: ()=>LaunchBrowserImplLinux
|
|
10
|
+
});
|
|
6
11
|
function _spawnAsync() {
|
|
7
|
-
const data = _interopRequireDefault(require("@expo/spawn-async"));
|
|
12
|
+
const data = /*#__PURE__*/ _interopRequireDefault(require("@expo/spawn-async"));
|
|
8
13
|
_spawnAsync = function() {
|
|
9
14
|
return data;
|
|
10
15
|
};
|
|
11
16
|
return data;
|
|
12
17
|
}
|
|
13
18
|
function _open() {
|
|
14
|
-
const data = _interopRequireDefault(require("open"));
|
|
19
|
+
const data = /*#__PURE__*/ _interopRequireDefault(require("open"));
|
|
15
20
|
_open = function() {
|
|
16
21
|
return data;
|
|
17
22
|
};
|
|
18
23
|
return data;
|
|
19
24
|
}
|
|
20
25
|
function _path() {
|
|
21
|
-
const data = _interopRequireDefault(require("path"));
|
|
26
|
+
const data = /*#__PURE__*/ _interopRequireDefault(require("path"));
|
|
22
27
|
_path = function() {
|
|
23
28
|
return data;
|
|
24
29
|
};
|
|
25
30
|
return data;
|
|
26
31
|
}
|
|
27
|
-
|
|
32
|
+
const _launchBrowserTypes = require("./LaunchBrowser.types");
|
|
33
|
+
function _interopRequireDefault(obj) {
|
|
34
|
+
return obj && obj.__esModule ? obj : {
|
|
35
|
+
default: obj
|
|
36
|
+
};
|
|
37
|
+
}
|
|
28
38
|
class LaunchBrowserImplLinux {
|
|
29
39
|
MAP = {
|
|
30
40
|
[_launchBrowserTypes.LaunchBrowserTypesEnum.CHROME]: [
|
|
@@ -46,7 +56,7 @@ class LaunchBrowserImplLinux {
|
|
|
46
56
|
if (this._appId == null || !this.MAP[browserType].includes(this._appId)) {
|
|
47
57
|
for (const appId of this.MAP[browserType]){
|
|
48
58
|
try {
|
|
49
|
-
const { status } = await _spawnAsync().default("which", [
|
|
59
|
+
const { status } = await (0, _spawnAsync().default)("which", [
|
|
50
60
|
appId
|
|
51
61
|
], {
|
|
52
62
|
stdio: "ignore"
|
|
@@ -90,11 +100,5 @@ class LaunchBrowserImplLinux {
|
|
|
90
100
|
this._appId = undefined;
|
|
91
101
|
}
|
|
92
102
|
}
|
|
93
|
-
exports.default = LaunchBrowserImplLinux;
|
|
94
|
-
function _interopRequireDefault(obj) {
|
|
95
|
-
return obj && obj.__esModule ? obj : {
|
|
96
|
-
default: obj
|
|
97
|
-
};
|
|
98
|
-
}
|
|
99
103
|
|
|
100
104
|
//# sourceMappingURL=LaunchBrowserImplLinux.js.map
|
|
@@ -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;;;;+BAYA;;CAEC,GACD,SAgEC;;aAhEoBA,sBAAsB;;;8DAfpB,mBAAmB;;;;;;;8DAEzB,MAAM;;;;;;;8DACN,MAAM;;;;;;oCAOhB,uBAAuB;;;;;;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;;GAEC,SACaC,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,IAAAA,WAAU,EAAA,QAAA,EAAC,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;oBACR,CAAC;gBACH,EAAE,OAAM,CAAC,CAAC;YACZ,CAAC;QACH,CAAC;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;QACJ,CAAC;QAED,OAAO,IAAI,CAACP,MAAM,CAAC;IACrB;UAEMQ,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;QAChB,EAAE,OAAM;YACNA,MAAM,GAAG,KAAK,CAAC;QACjB,CAAC;QACD,OAAOA,MAAM,CAAC;IAChB;UAEMC,oBAAoB,CAACC,WAAmB,EAAE;QAC9C,OAAOC,KAAI,EAAA,QAAA,CAACL,IAAI,CAACM,OAAO,CAAC,UAAU,CAAC,EAAEF,WAAW,CAAC,CAAC;IACrD;UAEMG,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,EAAA,QAAA,CAACC,OAAO,CAAChB,KAAK,EAAE;YAAEiB,SAAS,EAAEJ,IAAI;SAAE,CAAC,CAAC;QAC/D,OAAO,IAAI,CAAC;IACd;UAEMK,KAAK,GAAkB;YAC3B,GAAa;QAAb,CAAA,GAAa,GAAb,IAAI,CAACJ,QAAQ,SAAM,GAAnB,KAAA,CAAmB,GAAnB,GAAa,CAAEK,IAAI,EAAE,CAAC;QACtB,IAAI,CAACL,QAAQ,GAAGM,SAAS,CAAC;QAC1B,IAAI,CAACtB,MAAM,GAAGsB,SAAS,CAAC;IAC1B;CACD"}
|
|
@@ -2,10 +2,15 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", {
|
|
3
3
|
value: true
|
|
4
4
|
});
|
|
5
|
-
exports
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
5
|
+
Object.defineProperty(exports, /**
|
|
6
|
+
* Browser implementation for macOS
|
|
7
|
+
*/ "default", {
|
|
8
|
+
enumerable: true,
|
|
9
|
+
get: ()=>LaunchBrowserImplMacOS
|
|
10
|
+
});
|
|
11
|
+
function _osascript() {
|
|
12
|
+
const data = /*#__PURE__*/ _interopRequireWildcard(require("@expo/osascript"));
|
|
13
|
+
_osascript = function() {
|
|
9
14
|
return data;
|
|
10
15
|
};
|
|
11
16
|
return data;
|
|
@@ -25,13 +30,57 @@ function _glob() {
|
|
|
25
30
|
return data;
|
|
26
31
|
}
|
|
27
32
|
function _path() {
|
|
28
|
-
const data = _interopRequireDefault(require("path"));
|
|
33
|
+
const data = /*#__PURE__*/ _interopRequireDefault(require("path"));
|
|
29
34
|
_path = function() {
|
|
30
35
|
return data;
|
|
31
36
|
};
|
|
32
37
|
return data;
|
|
33
38
|
}
|
|
34
|
-
|
|
39
|
+
const _launchBrowserTypes = require("./LaunchBrowser.types");
|
|
40
|
+
function _interopRequireDefault(obj) {
|
|
41
|
+
return obj && obj.__esModule ? obj : {
|
|
42
|
+
default: obj
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
function _getRequireWildcardCache(nodeInterop) {
|
|
46
|
+
if (typeof WeakMap !== "function") return null;
|
|
47
|
+
var cacheBabelInterop = new WeakMap();
|
|
48
|
+
var cacheNodeInterop = new WeakMap();
|
|
49
|
+
return (_getRequireWildcardCache = function(nodeInterop) {
|
|
50
|
+
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
|
51
|
+
})(nodeInterop);
|
|
52
|
+
}
|
|
53
|
+
function _interopRequireWildcard(obj, nodeInterop) {
|
|
54
|
+
if (!nodeInterop && obj && obj.__esModule) {
|
|
55
|
+
return obj;
|
|
56
|
+
}
|
|
57
|
+
if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
|
|
58
|
+
return {
|
|
59
|
+
default: obj
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
var cache = _getRequireWildcardCache(nodeInterop);
|
|
63
|
+
if (cache && cache.has(obj)) {
|
|
64
|
+
return cache.get(obj);
|
|
65
|
+
}
|
|
66
|
+
var newObj = {};
|
|
67
|
+
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
68
|
+
for(var key in obj){
|
|
69
|
+
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
70
|
+
var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
|
|
71
|
+
if (desc && (desc.get || desc.set)) {
|
|
72
|
+
Object.defineProperty(newObj, key, desc);
|
|
73
|
+
} else {
|
|
74
|
+
newObj[key] = obj[key];
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
newObj.default = obj;
|
|
79
|
+
if (cache) {
|
|
80
|
+
cache.set(obj, newObj);
|
|
81
|
+
}
|
|
82
|
+
return newObj;
|
|
83
|
+
}
|
|
35
84
|
class LaunchBrowserImplMacOS {
|
|
36
85
|
MAP = {
|
|
37
86
|
[_launchBrowserTypes.LaunchBrowserTypesEnum.CHROME]: "google chrome",
|
|
@@ -41,7 +90,7 @@ class LaunchBrowserImplMacOS {
|
|
|
41
90
|
async isSupportedBrowser(browserType) {
|
|
42
91
|
let result = false;
|
|
43
92
|
try {
|
|
44
|
-
await
|
|
93
|
+
await _osascript().execAsync(`id of application "${this.MAP[browserType]}"`);
|
|
45
94
|
result = true;
|
|
46
95
|
} catch {
|
|
47
96
|
result = false;
|
|
@@ -53,15 +102,15 @@ class LaunchBrowserImplMacOS {
|
|
|
53
102
|
}
|
|
54
103
|
async launchAsync(browserType, args) {
|
|
55
104
|
var ref;
|
|
56
|
-
const appDirectory = await
|
|
57
|
-
const appPath = (ref = _glob().sync("Contents/MacOS/*", {
|
|
105
|
+
const appDirectory = await _osascript().execAsync(`POSIX path of (path to application "${this.MAP[browserType]}")`);
|
|
106
|
+
const appPath = (ref = (0, _glob().sync)("Contents/MacOS/*", {
|
|
58
107
|
cwd: appDirectory.trim(),
|
|
59
108
|
absolute: true
|
|
60
109
|
})) == null ? void 0 : ref[0];
|
|
61
110
|
if (!appPath) {
|
|
62
111
|
throw new Error(`Cannot find application path from ${appDirectory}Contents/MacOS`);
|
|
63
112
|
}
|
|
64
|
-
this._process = _childProcess().spawn(appPath, args, {
|
|
113
|
+
this._process = (0, _childProcess().spawn)(appPath, args, {
|
|
65
114
|
stdio: "ignore"
|
|
66
115
|
});
|
|
67
116
|
return this;
|
|
@@ -72,32 +121,5 @@ class LaunchBrowserImplMacOS {
|
|
|
72
121
|
this._process = undefined;
|
|
73
122
|
}
|
|
74
123
|
}
|
|
75
|
-
exports.default = LaunchBrowserImplMacOS;
|
|
76
|
-
function _interopRequireDefault(obj) {
|
|
77
|
-
return obj && obj.__esModule ? obj : {
|
|
78
|
-
default: obj
|
|
79
|
-
};
|
|
80
|
-
}
|
|
81
|
-
function _interopRequireWildcard(obj) {
|
|
82
|
-
if (obj && obj.__esModule) {
|
|
83
|
-
return obj;
|
|
84
|
-
} else {
|
|
85
|
-
var newObj = {};
|
|
86
|
-
if (obj != null) {
|
|
87
|
-
for(var key in obj){
|
|
88
|
-
if (Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
89
|
-
var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {};
|
|
90
|
-
if (desc.get || desc.set) {
|
|
91
|
-
Object.defineProperty(newObj, key, desc);
|
|
92
|
-
} else {
|
|
93
|
-
newObj[key] = obj[key];
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
newObj.default = obj;
|
|
99
|
-
return newObj;
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
124
|
|
|
103
125
|
//# sourceMappingURL=LaunchBrowserImplMacOS.js.map
|