@expo/cli 0.0.0-bisect-20240612-0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +144 -0
- package/build/bin/cli +260 -0
- package/build/bin/cli.map +1 -0
- package/build/src/api/endpoint.js +35 -0
- package/build/src/api/endpoint.js.map +1 -0
- package/build/src/api/getExpoGoIntermediateCertificate.js +22 -0
- package/build/src/api/getExpoGoIntermediateCertificate.js.map +1 -0
- package/build/src/api/getExpoSchema.js +89 -0
- package/build/src/api/getExpoSchema.js.map +1 -0
- package/build/src/api/getNativeModuleVersions.js +34 -0
- package/build/src/api/getNativeModuleVersions.js.map +1 -0
- package/build/src/api/getProjectDevelopmentCertificate.js +25 -0
- package/build/src/api/getProjectDevelopmentCertificate.js.map +1 -0
- package/build/src/api/getVersions.js +27 -0
- package/build/src/api/getVersions.js.map +1 -0
- package/build/src/api/graphql/client.js +144 -0
- package/build/src/api/graphql/client.js.map +1 -0
- package/build/src/api/graphql/queries/AppQuery.js +53 -0
- package/build/src/api/graphql/queries/AppQuery.js.map +1 -0
- package/build/src/api/graphql/queries/UserQuery.js +59 -0
- package/build/src/api/graphql/queries/UserQuery.js.map +1 -0
- package/build/src/api/graphql/types/App.js +31 -0
- package/build/src/api/graphql/types/App.js.map +1 -0
- package/build/src/api/rest/cache/FileSystemCache.js +93 -0
- package/build/src/api/rest/cache/FileSystemCache.js.map +1 -0
- package/build/src/api/rest/cache/response.js +40 -0
- package/build/src/api/rest/cache/response.js.map +1 -0
- package/build/src/api/rest/cache/wrapFetchWithCache.js +189 -0
- package/build/src/api/rest/cache/wrapFetchWithCache.js.map +1 -0
- package/build/src/api/rest/client.js +134 -0
- package/build/src/api/rest/client.js.map +1 -0
- package/build/src/api/rest/client.types.js +6 -0
- package/build/src/api/rest/client.types.js.map +1 -0
- package/build/src/api/rest/wrapFetchWithBaseUrl.js +31 -0
- package/build/src/api/rest/wrapFetchWithBaseUrl.js.map +1 -0
- package/build/src/api/rest/wrapFetchWithOffline.js +22 -0
- package/build/src/api/rest/wrapFetchWithOffline.js.map +1 -0
- package/build/src/api/rest/wrapFetchWithProgress.js +85 -0
- package/build/src/api/rest/wrapFetchWithProgress.js.map +1 -0
- package/build/src/api/rest/wrapFetchWithProxy.js +35 -0
- package/build/src/api/rest/wrapFetchWithProxy.js.map +1 -0
- package/build/src/api/settings.js +31 -0
- package/build/src/api/settings.js.map +1 -0
- package/build/src/api/updateDevelopmentSession.js +94 -0
- package/build/src/api/updateDevelopmentSession.js.map +1 -0
- package/build/src/api/user/UserSettings.js +91 -0
- package/build/src/api/user/UserSettings.js.map +1 -0
- package/build/src/api/user/actions.js +144 -0
- package/build/src/api/user/actions.js.map +1 -0
- package/build/src/api/user/expoSsoLauncher.js +172 -0
- package/build/src/api/user/expoSsoLauncher.js.map +1 -0
- package/build/src/api/user/otp.js +171 -0
- package/build/src/api/user/otp.js.map +1 -0
- package/build/src/api/user/user.js +176 -0
- package/build/src/api/user/user.js.map +1 -0
- package/build/src/config/configAsync.js +174 -0
- package/build/src/config/configAsync.js.map +1 -0
- package/build/src/config/index.js +97 -0
- package/build/src/config/index.js.map +1 -0
- package/build/src/customize/customizeAsync.js +53 -0
- package/build/src/customize/customizeAsync.js.map +1 -0
- package/build/src/customize/generate.js +131 -0
- package/build/src/customize/generate.js.map +1 -0
- package/build/src/customize/index.js +49 -0
- package/build/src/customize/index.js.map +1 -0
- package/build/src/customize/resolveOptions.js +21 -0
- package/build/src/customize/resolveOptions.js.map +1 -0
- package/build/src/customize/templates.js +147 -0
- package/build/src/customize/templates.js.map +1 -0
- package/build/src/customize/typescript.js +77 -0
- package/build/src/customize/typescript.js.map +1 -0
- package/build/src/export/createMetadataJson.js +49 -0
- package/build/src/export/createMetadataJson.js.map +1 -0
- package/build/src/export/embed/exportEmbedAsync.js +310 -0
- package/build/src/export/embed/exportEmbedAsync.js.map +1 -0
- package/build/src/export/embed/index.js +139 -0
- package/build/src/export/embed/index.js.map +1 -0
- package/build/src/export/embed/resolveOptions.js +67 -0
- package/build/src/export/embed/resolveOptions.js.map +1 -0
- package/build/src/export/embed/xcodeCompilerLogger.js +121 -0
- package/build/src/export/embed/xcodeCompilerLogger.js.map +1 -0
- package/build/src/export/exportApp.js +279 -0
- package/build/src/export/exportApp.js.map +1 -0
- package/build/src/export/exportAssets.js +214 -0
- package/build/src/export/exportAssets.js.map +1 -0
- package/build/src/export/exportAsync.js +85 -0
- package/build/src/export/exportAsync.js.map +1 -0
- package/build/src/export/exportHermes.js +159 -0
- package/build/src/export/exportHermes.js.map +1 -0
- package/build/src/export/exportStaticAsync.js +348 -0
- package/build/src/export/exportStaticAsync.js.map +1 -0
- package/build/src/export/favicon.js +132 -0
- package/build/src/export/favicon.js.map +1 -0
- package/build/src/export/getPublicExpoManifest.js +37 -0
- package/build/src/export/getPublicExpoManifest.js.map +1 -0
- package/build/src/export/getResolvedLocales.js +50 -0
- package/build/src/export/getResolvedLocales.js.map +1 -0
- package/build/src/export/html.js +29 -0
- package/build/src/export/html.js.map +1 -0
- package/build/src/export/index.js +115 -0
- package/build/src/export/index.js.map +1 -0
- package/build/src/export/metroAssetLocalPath.js +124 -0
- package/build/src/export/metroAssetLocalPath.js.map +1 -0
- package/build/src/export/persistMetroAssets.js +228 -0
- package/build/src/export/persistMetroAssets.js.map +1 -0
- package/build/src/export/publicFolder.js +54 -0
- package/build/src/export/publicFolder.js.map +1 -0
- package/build/src/export/resolveOptions.js +81 -0
- package/build/src/export/resolveOptions.js.map +1 -0
- package/build/src/export/saveAssets.js +195 -0
- package/build/src/export/saveAssets.js.map +1 -0
- package/build/src/export/web/exportWebAsync.js +55 -0
- package/build/src/export/web/exportWebAsync.js.map +1 -0
- package/build/src/export/web/index.js +88 -0
- package/build/src/export/web/index.js.map +1 -0
- package/build/src/export/web/resolveOptions.js +16 -0
- package/build/src/export/web/resolveOptions.js.map +1 -0
- package/build/src/export/writeContents.js +31 -0
- package/build/src/export/writeContents.js.map +1 -0
- package/build/src/graphql/generated.js +499 -0
- package/build/src/graphql/generated.js.map +1 -0
- package/build/src/install/applyPlugins.js +76 -0
- package/build/src/install/applyPlugins.js.map +1 -0
- package/build/src/install/checkPackages.js +110 -0
- package/build/src/install/checkPackages.js.map +1 -0
- package/build/src/install/fixPackages.js +107 -0
- package/build/src/install/fixPackages.js.map +1 -0
- package/build/src/install/index.js +59 -0
- package/build/src/install/index.js.map +1 -0
- package/build/src/install/installAsync.js +192 -0
- package/build/src/install/installAsync.js.map +1 -0
- package/build/src/install/installExpoPackage.js +112 -0
- package/build/src/install/installExpoPackage.js.map +1 -0
- package/build/src/install/resolveOptions.js +56 -0
- package/build/src/install/resolveOptions.js.map +1 -0
- package/build/src/install/utils/autoAddConfigPlugins.js +86 -0
- package/build/src/install/utils/autoAddConfigPlugins.js.map +1 -0
- 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 +86 -0
- package/build/src/log.js.map +1 -0
- package/build/src/login/index.js +84 -0
- package/build/src/login/index.js.map +1 -0
- package/build/src/logout/index.js +66 -0
- package/build/src/logout/index.js.map +1 -0
- package/build/src/prebuild/clearNativeFolder.js +190 -0
- package/build/src/prebuild/clearNativeFolder.js.map +1 -0
- package/build/src/prebuild/configureProjectAsync.js +103 -0
- package/build/src/prebuild/configureProjectAsync.js.map +1 -0
- package/build/src/prebuild/copyTemplateFiles.js +91 -0
- package/build/src/prebuild/copyTemplateFiles.js.map +1 -0
- package/build/src/prebuild/ensureConfigAsync.js +119 -0
- package/build/src/prebuild/ensureConfigAsync.js.map +1 -0
- package/build/src/prebuild/index.js +118 -0
- package/build/src/prebuild/index.js.map +1 -0
- package/build/src/prebuild/prebuildAsync.js +170 -0
- package/build/src/prebuild/prebuildAsync.js.map +1 -0
- package/build/src/prebuild/renameTemplateAppName.js +124 -0
- package/build/src/prebuild/renameTemplateAppName.js.map +1 -0
- package/build/src/prebuild/resolveOptions.js +164 -0
- package/build/src/prebuild/resolveOptions.js.map +1 -0
- package/build/src/prebuild/resolveTemplate.js +229 -0
- package/build/src/prebuild/resolveTemplate.js.map +1 -0
- package/build/src/prebuild/updateFromTemplate.js +143 -0
- package/build/src/prebuild/updateFromTemplate.js.map +1 -0
- package/build/src/prebuild/updatePackageJson.js +284 -0
- package/build/src/prebuild/updatePackageJson.js.map +1 -0
- package/build/src/prebuild/validateTemplatePlatforms.js +81 -0
- package/build/src/prebuild/validateTemplatePlatforms.js.map +1 -0
- package/build/src/register/index.js +66 -0
- package/build/src/register/index.js.map +1 -0
- package/build/src/register/registerAsync.js +37 -0
- package/build/src/register/registerAsync.js.map +1 -0
- package/build/src/run/android/index.js +129 -0
- package/build/src/run/android/index.js.map +1 -0
- package/build/src/run/android/resolveDevice.js +26 -0
- package/build/src/run/android/resolveDevice.js.map +1 -0
- package/build/src/run/android/resolveGradlePropsAsync.js +64 -0
- package/build/src/run/android/resolveGradlePropsAsync.js.map +1 -0
- package/build/src/run/android/resolveInstallApkName.js +65 -0
- package/build/src/run/android/resolveInstallApkName.js.map +1 -0
- package/build/src/run/android/resolveLaunchProps.js +41 -0
- package/build/src/run/android/resolveLaunchProps.js.map +1 -0
- package/build/src/run/android/resolveOptions.js +30 -0
- package/build/src/run/android/resolveOptions.js.map +1 -0
- package/build/src/run/android/runAndroidAsync.js +95 -0
- package/build/src/run/android/runAndroidAsync.js.map +1 -0
- package/build/src/run/ensureNativeProject.js +51 -0
- package/build/src/run/ensureNativeProject.js.map +1 -0
- package/build/src/run/hints.js +40 -0
- package/build/src/run/hints.js.map +1 -0
- package/build/src/run/index.js +121 -0
- package/build/src/run/index.js.map +1 -0
- package/build/src/run/ios/XcodeBuild.js +336 -0
- package/build/src/run/ios/XcodeBuild.js.map +1 -0
- package/build/src/run/ios/XcodeBuild.types.js +6 -0
- package/build/src/run/ios/XcodeBuild.types.js.map +1 -0
- package/build/src/run/ios/appleDevice/AppleDevice.js +310 -0
- package/build/src/run/ios/appleDevice/AppleDevice.js.map +1 -0
- package/build/src/run/ios/appleDevice/ClientManager.js +204 -0
- package/build/src/run/ios/appleDevice/ClientManager.js.map +1 -0
- package/build/src/run/ios/appleDevice/client/AFCClient.js +245 -0
- package/build/src/run/ios/appleDevice/client/AFCClient.js.map +1 -0
- package/build/src/run/ios/appleDevice/client/DebugserverClient.js +146 -0
- package/build/src/run/ios/appleDevice/client/DebugserverClient.js.map +1 -0
- package/build/src/run/ios/appleDevice/client/InstallationProxyClient.js +112 -0
- package/build/src/run/ios/appleDevice/client/InstallationProxyClient.js.map +1 -0
- package/build/src/run/ios/appleDevice/client/LockdowndClient.js +183 -0
- package/build/src/run/ios/appleDevice/client/LockdowndClient.js.map +1 -0
- package/build/src/run/ios/appleDevice/client/MobileImageMounterClient.js +129 -0
- package/build/src/run/ios/appleDevice/client/MobileImageMounterClient.js.map +1 -0
- package/build/src/run/ios/appleDevice/client/ServiceClient.js +35 -0
- package/build/src/run/ios/appleDevice/client/ServiceClient.js.map +1 -0
- package/build/src/run/ios/appleDevice/client/UsbmuxdClient.js +144 -0
- package/build/src/run/ios/appleDevice/client/UsbmuxdClient.js.map +1 -0
- package/build/src/run/ios/appleDevice/installOnDeviceAsync.js +148 -0
- package/build/src/run/ios/appleDevice/installOnDeviceAsync.js.map +1 -0
- package/build/src/run/ios/appleDevice/protocol/AFCProtocol.js +351 -0
- package/build/src/run/ios/appleDevice/protocol/AFCProtocol.js.map +1 -0
- package/build/src/run/ios/appleDevice/protocol/AbstractProtocol.js +159 -0
- package/build/src/run/ios/appleDevice/protocol/AbstractProtocol.js.map +1 -0
- package/build/src/run/ios/appleDevice/protocol/GDBProtocol.js +145 -0
- package/build/src/run/ios/appleDevice/protocol/GDBProtocol.js.map +1 -0
- package/build/src/run/ios/appleDevice/protocol/LockdownProtocol.js +99 -0
- package/build/src/run/ios/appleDevice/protocol/LockdownProtocol.js.map +1 -0
- package/build/src/run/ios/appleDevice/protocol/UsbmuxProtocol.js +90 -0
- package/build/src/run/ios/appleDevice/protocol/UsbmuxProtocol.js.map +1 -0
- package/build/src/run/ios/codeSigning/Security.js +104 -0
- package/build/src/run/ios/codeSigning/Security.js.map +1 -0
- package/build/src/run/ios/codeSigning/configureCodeSigning.js +104 -0
- package/build/src/run/ios/codeSigning/configureCodeSigning.js.map +1 -0
- package/build/src/run/ios/codeSigning/resolveCertificateSigningIdentity.js +133 -0
- package/build/src/run/ios/codeSigning/resolveCertificateSigningIdentity.js.map +1 -0
- package/build/src/run/ios/codeSigning/settings.js +29 -0
- package/build/src/run/ios/codeSigning/settings.js.map +1 -0
- package/build/src/run/ios/codeSigning/simulatorCodeSigning.js +65 -0
- package/build/src/run/ios/codeSigning/simulatorCodeSigning.js.map +1 -0
- package/build/src/run/ios/codeSigning/xcodeCodeSigning.js +97 -0
- package/build/src/run/ios/codeSigning/xcodeCodeSigning.js.map +1 -0
- package/build/src/run/ios/index.js +126 -0
- package/build/src/run/ios/index.js.map +1 -0
- package/build/src/run/ios/launchApp.js +113 -0
- package/build/src/run/ios/launchApp.js.map +1 -0
- package/build/src/run/ios/options/appleDestinations.js +124 -0
- package/build/src/run/ios/options/appleDestinations.js.map +1 -0
- package/build/src/run/ios/options/promptDevice.js +60 -0
- package/build/src/run/ios/options/promptDevice.js.map +1 -0
- package/build/src/run/ios/options/resolveDevice.js +147 -0
- package/build/src/run/ios/options/resolveDevice.js.map +1 -0
- package/build/src/run/ios/options/resolveNativeScheme.js +142 -0
- package/build/src/run/ios/options/resolveNativeScheme.js.map +1 -0
- package/build/src/run/ios/options/resolveOptions.js +50 -0
- package/build/src/run/ios/options/resolveOptions.js.map +1 -0
- package/build/src/run/ios/options/resolveXcodeProject.js +48 -0
- package/build/src/run/ios/options/resolveXcodeProject.js.map +1 -0
- package/build/src/run/ios/runIosAsync.js +122 -0
- package/build/src/run/ios/runIosAsync.js.map +1 -0
- package/build/src/run/resolveBundlerProps.js +37 -0
- package/build/src/run/resolveBundlerProps.js.map +1 -0
- package/build/src/run/startBundler.js +116 -0
- package/build/src/run/startBundler.js.map +1 -0
- package/build/src/start/detectDevClient.js +32 -0
- package/build/src/start/detectDevClient.js.map +1 -0
- package/build/src/start/doctor/Prerequisite.js +55 -0
- package/build/src/start/doctor/Prerequisite.js.map +1 -0
- package/build/src/start/doctor/SecurityBinPrerequisite.js +36 -0
- package/build/src/start/doctor/SecurityBinPrerequisite.js.map +1 -0
- package/build/src/start/doctor/apple/SimulatorAppPrerequisite.js +103 -0
- package/build/src/start/doctor/apple/SimulatorAppPrerequisite.js.map +1 -0
- package/build/src/start/doctor/apple/XcodeDeveloperDiskImagePrerequisite.js +102 -0
- package/build/src/start/doctor/apple/XcodeDeveloperDiskImagePrerequisite.js.map +1 -0
- package/build/src/start/doctor/apple/XcodePrerequisite.js +233 -0
- package/build/src/start/doctor/apple/XcodePrerequisite.js.map +1 -0
- package/build/src/start/doctor/apple/XcrunPrerequisite.js +86 -0
- package/build/src/start/doctor/apple/XcrunPrerequisite.js.map +1 -0
- package/build/src/start/doctor/dependencies/bundledNativeModules.js +108 -0
- package/build/src/start/doctor/dependencies/bundledNativeModules.js.map +1 -0
- package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js +186 -0
- package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js.map +1 -0
- package/build/src/start/doctor/dependencies/getMissingPackages.js +100 -0
- package/build/src/start/doctor/dependencies/getMissingPackages.js.map +1 -0
- package/build/src/start/doctor/dependencies/getVersionedPackages.js +157 -0
- package/build/src/start/doctor/dependencies/getVersionedPackages.js.map +1 -0
- package/build/src/start/doctor/dependencies/resolvePackages.js +90 -0
- package/build/src/start/doctor/dependencies/resolvePackages.js.map +1 -0
- package/build/src/start/doctor/dependencies/validateDependenciesVersions.js +200 -0
- package/build/src/start/doctor/dependencies/validateDependenciesVersions.js.map +1 -0
- package/build/src/start/doctor/ngrok/ExternalModule.js +218 -0
- package/build/src/start/doctor/ngrok/ExternalModule.js.map +1 -0
- package/build/src/start/doctor/ngrok/NgrokResolver.js +29 -0
- package/build/src/start/doctor/ngrok/NgrokResolver.js.map +1 -0
- package/build/src/start/doctor/typescript/TypeScriptProjectPrerequisite.js +195 -0
- package/build/src/start/doctor/typescript/TypeScriptProjectPrerequisite.js.map +1 -0
- package/build/src/start/doctor/typescript/updateTSConfig.js +140 -0
- package/build/src/start/doctor/typescript/updateTSConfig.js.map +1 -0
- package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js +154 -0
- package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js.map +1 -0
- package/build/src/start/index.js +143 -0
- package/build/src/start/index.js.map +1 -0
- package/build/src/start/interface/KeyPressHandler.js +122 -0
- package/build/src/start/interface/KeyPressHandler.js.map +1 -0
- package/build/src/start/interface/commandsTable.js +235 -0
- package/build/src/start/interface/commandsTable.js.map +1 -0
- package/build/src/start/interface/interactiveActions.js +244 -0
- package/build/src/start/interface/interactiveActions.js.map +1 -0
- package/build/src/start/interface/startInterface.js +254 -0
- package/build/src/start/interface/startInterface.js.map +1 -0
- package/build/src/start/platforms/AppIdResolver.js +53 -0
- package/build/src/start/platforms/AppIdResolver.js.map +1 -0
- package/build/src/start/platforms/DeviceManager.js +70 -0
- package/build/src/start/platforms/DeviceManager.js.map +1 -0
- package/build/src/start/platforms/ExpoGoInstaller.js +163 -0
- package/build/src/start/platforms/ExpoGoInstaller.js.map +1 -0
- package/build/src/start/platforms/PlatformManager.js +158 -0
- package/build/src/start/platforms/PlatformManager.js.map +1 -0
- package/build/src/start/platforms/android/ADBServer.js +136 -0
- package/build/src/start/platforms/android/ADBServer.js.map +1 -0
- package/build/src/start/platforms/android/AndroidAppIdResolver.js +52 -0
- package/build/src/start/platforms/android/AndroidAppIdResolver.js.map +1 -0
- package/build/src/start/platforms/android/AndroidDeviceManager.js +218 -0
- package/build/src/start/platforms/android/AndroidDeviceManager.js.map +1 -0
- package/build/src/start/platforms/android/AndroidPlatformManager.js +38 -0
- package/build/src/start/platforms/android/AndroidPlatformManager.js.map +1 -0
- package/build/src/start/platforms/android/AndroidSdk.js +68 -0
- package/build/src/start/platforms/android/AndroidSdk.js.map +1 -0
- package/build/src/start/platforms/android/activateWindow.js +113 -0
- package/build/src/start/platforms/android/activateWindow.js.map +1 -0
- package/build/src/start/platforms/android/adb.js +310 -0
- package/build/src/start/platforms/android/adb.js.map +1 -0
- package/build/src/start/platforms/android/adbReverse.js +121 -0
- package/build/src/start/platforms/android/adbReverse.js.map +1 -0
- package/build/src/start/platforms/android/emulator.js +175 -0
- package/build/src/start/platforms/android/emulator.js.map +1 -0
- package/build/src/start/platforms/android/getDevices.js +37 -0
- package/build/src/start/platforms/android/getDevices.js.map +1 -0
- package/build/src/start/platforms/android/gradle.js +110 -0
- package/build/src/start/platforms/android/gradle.js.map +1 -0
- package/build/src/start/platforms/android/promptAndroidDevice.js +62 -0
- package/build/src/start/platforms/android/promptAndroidDevice.js.map +1 -0
- package/build/src/start/platforms/ios/AppleAppIdResolver.js +74 -0
- package/build/src/start/platforms/ios/AppleAppIdResolver.js.map +1 -0
- package/build/src/start/platforms/ios/AppleDeviceManager.js +278 -0
- package/build/src/start/platforms/ios/AppleDeviceManager.js.map +1 -0
- package/build/src/start/platforms/ios/ApplePlatformManager.js +34 -0
- package/build/src/start/platforms/ios/ApplePlatformManager.js.map +1 -0
- package/build/src/start/platforms/ios/assertSystemRequirements.js +20 -0
- package/build/src/start/platforms/ios/assertSystemRequirements.js.map +1 -0
- package/build/src/start/platforms/ios/devicectl.js +371 -0
- package/build/src/start/platforms/ios/devicectl.js.map +1 -0
- package/build/src/start/platforms/ios/ensureSimulatorAppRunning.js +118 -0
- package/build/src/start/platforms/ios/ensureSimulatorAppRunning.js.map +1 -0
- package/build/src/start/platforms/ios/getBestSimulator.js +131 -0
- package/build/src/start/platforms/ios/getBestSimulator.js.map +1 -0
- package/build/src/start/platforms/ios/promptAppleDevice.js +68 -0
- package/build/src/start/platforms/ios/promptAppleDevice.js.map +1 -0
- package/build/src/start/platforms/ios/simctl.js +352 -0
- package/build/src/start/platforms/ios/simctl.js.map +1 -0
- package/build/src/start/platforms/ios/simctlLogging.js +273 -0
- package/build/src/start/platforms/ios/simctlLogging.js.map +1 -0
- package/build/src/start/platforms/ios/xcrun.js +61 -0
- package/build/src/start/platforms/ios/xcrun.js.map +1 -0
- package/build/src/start/project/devices.js +82 -0
- package/build/src/start/project/devices.js.map +1 -0
- package/build/src/start/project/dotExpo.js +100 -0
- package/build/src/start/project/dotExpo.js.map +1 -0
- package/build/src/start/project/settings.js +15 -0
- package/build/src/start/project/settings.js.map +1 -0
- package/build/src/start/resolveOptions.js +160 -0
- package/build/src/start/resolveOptions.js.map +1 -0
- package/build/src/start/server/AsyncNgrok.js +263 -0
- package/build/src/start/server/AsyncNgrok.js.map +1 -0
- package/build/src/start/server/BundlerDevServer.js +395 -0
- package/build/src/start/server/BundlerDevServer.js.map +1 -0
- package/build/src/start/server/DevServerManager.js +256 -0
- package/build/src/start/server/DevServerManager.js.map +1 -0
- package/build/src/start/server/DevToolsPluginManager.js +80 -0
- package/build/src/start/server/DevToolsPluginManager.js.map +1 -0
- package/build/src/start/server/DevelopmentSession.js +138 -0
- package/build/src/start/server/DevelopmentSession.js.map +1 -0
- package/build/src/start/server/ReactDevToolsProxy.js +99 -0
- package/build/src/start/server/ReactDevToolsProxy.js.map +1 -0
- package/build/src/start/server/UrlCreator.js +209 -0
- package/build/src/start/server/UrlCreator.js.map +1 -0
- package/build/src/start/server/getStaticRenderFunctions.js +157 -0
- package/build/src/start/server/getStaticRenderFunctions.js.map +1 -0
- package/build/src/start/server/metro/MetroBundlerDevServer.js +982 -0
- package/build/src/start/server/metro/MetroBundlerDevServer.js.map +1 -0
- package/build/src/start/server/metro/MetroTerminalReporter.js +191 -0
- package/build/src/start/server/metro/MetroTerminalReporter.js.map +1 -0
- package/build/src/start/server/metro/TerminalReporter.js +163 -0
- package/build/src/start/server/metro/TerminalReporter.js.map +1 -0
- package/build/src/start/server/metro/TerminalReporter.types.js +6 -0
- package/build/src/start/server/metro/TerminalReporter.types.js.map +1 -0
- package/build/src/start/server/metro/createExpoMetroResolver.js +251 -0
- package/build/src/start/server/metro/createExpoMetroResolver.js.map +1 -0
- package/build/src/start/server/metro/createJResolver.js +222 -0
- package/build/src/start/server/metro/createJResolver.js.map +1 -0
- package/build/src/start/server/metro/createServerRouteMiddleware.js +137 -0
- package/build/src/start/server/metro/createServerRouteMiddleware.js.map +1 -0
- package/build/src/start/server/metro/debugging/AtlasPrerequisite.js +47 -0
- package/build/src/start/server/metro/debugging/AtlasPrerequisite.js.map +1 -0
- package/build/src/start/server/metro/debugging/MessageHandler.js +30 -0
- package/build/src/start/server/metro/debugging/MessageHandler.js.map +1 -0
- package/build/src/start/server/metro/debugging/attachAtlas.js +97 -0
- package/build/src/start/server/metro/debugging/attachAtlas.js.map +1 -0
- package/build/src/start/server/metro/debugging/createDebugMiddleware.js +52 -0
- package/build/src/start/server/metro/debugging/createDebugMiddleware.js.map +1 -0
- package/build/src/start/server/metro/debugging/createHandlersFactory.js +64 -0
- package/build/src/start/server/metro/debugging/createHandlersFactory.js.map +1 -0
- package/build/src/start/server/metro/debugging/getDebuggerType.js +18 -0
- package/build/src/start/server/metro/debugging/getDebuggerType.js.map +1 -0
- package/build/src/start/server/metro/debugging/messageHandlers/NetworkResponse.js +34 -0
- package/build/src/start/server/metro/debugging/messageHandlers/NetworkResponse.js.map +1 -0
- package/build/src/start/server/metro/debugging/messageHandlers/PageReload.js +26 -0
- package/build/src/start/server/metro/debugging/messageHandlers/PageReload.js.map +1 -0
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerGetPossibleBreakpoints.js +28 -0
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerGetPossibleBreakpoints.js.map +1 -0
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerSetBreakpointByUrl.js +25 -0
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerSetBreakpointByUrl.js.map +1 -0
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeCallFunctionOn.js +31 -0
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeCallFunctionOn.js.map +1 -0
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeGetProperties.js +47 -0
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeGetProperties.js.map +1 -0
- package/build/src/start/server/metro/debugging/pageIsSupported.js +17 -0
- package/build/src/start/server/metro/debugging/pageIsSupported.js.map +1 -0
- package/build/src/start/server/metro/debugging/types.js +6 -0
- package/build/src/start/server/metro/debugging/types.js.map +1 -0
- package/build/src/start/server/metro/externals.js +92 -0
- package/build/src/start/server/metro/externals.js.map +1 -0
- package/build/src/start/server/metro/fetchRouterManifest.js +79 -0
- package/build/src/start/server/metro/fetchRouterManifest.js.map +1 -0
- package/build/src/start/server/metro/formatFileCandidates.js +82 -0
- package/build/src/start/server/metro/formatFileCandidates.js.map +1 -0
- package/build/src/start/server/metro/getCssModulesFromBundler.js +109 -0
- package/build/src/start/server/metro/getCssModulesFromBundler.js.map +1 -0
- package/build/src/start/server/metro/instantiateMetro.js +276 -0
- package/build/src/start/server/metro/instantiateMetro.js.map +1 -0
- package/build/src/start/server/metro/metroErrorInterface.js +279 -0
- package/build/src/start/server/metro/metroErrorInterface.js.map +1 -0
- package/build/src/start/server/metro/metroErrors.js +23 -0
- package/build/src/start/server/metro/metroErrors.js.map +1 -0
- package/build/src/start/server/metro/metroPrivateServer.js +26 -0
- package/build/src/start/server/metro/metroPrivateServer.js.map +1 -0
- package/build/src/start/server/metro/metroVirtualModules.js +90 -0
- package/build/src/start/server/metro/metroVirtualModules.js.map +1 -0
- package/build/src/start/server/metro/metroWatchTypeScriptFiles.js +60 -0
- package/build/src/start/server/metro/metroWatchTypeScriptFiles.js.map +1 -0
- package/build/src/start/server/metro/router.js +128 -0
- package/build/src/start/server/metro/router.js.map +1 -0
- package/build/src/start/server/metro/runServer-fork.js +153 -0
- package/build/src/start/server/metro/runServer-fork.js.map +1 -0
- package/build/src/start/server/metro/serializeHtml.js +72 -0
- package/build/src/start/server/metro/serializeHtml.js.map +1 -0
- package/build/src/start/server/metro/symbolicate.js +6 -0
- package/build/src/start/server/metro/symbolicate.js.map +1 -0
- package/build/src/start/server/metro/waitForMetroToObserveTypeScriptFile.js +97 -0
- package/build/src/start/server/metro/waitForMetroToObserveTypeScriptFile.js.map +1 -0
- package/build/src/start/server/metro/withMetroMultiPlatform.js +517 -0
- package/build/src/start/server/metro/withMetroMultiPlatform.js.map +1 -0
- package/build/src/start/server/metro/withMetroResolvers.js +320 -0
- package/build/src/start/server/metro/withMetroResolvers.js.map +1 -0
- package/build/src/start/server/middleware/ContextModuleSourceMapsMiddleware.js +30 -0
- package/build/src/start/server/middleware/ContextModuleSourceMapsMiddleware.js.map +1 -0
- package/build/src/start/server/middleware/CorsMiddleware.js +59 -0
- package/build/src/start/server/middleware/CorsMiddleware.js.map +1 -0
- package/build/src/start/server/middleware/CreateFileMiddleware.js +126 -0
- package/build/src/start/server/middleware/CreateFileMiddleware.js.map +1 -0
- package/build/src/start/server/middleware/DevToolsPluginMiddleware.js +76 -0
- package/build/src/start/server/middleware/DevToolsPluginMiddleware.js.map +1 -0
- package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js +274 -0
- package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js.map +1 -0
- package/build/src/start/server/middleware/ExpoMiddleware.js +115 -0
- package/build/src/start/server/middleware/ExpoMiddleware.js.map +1 -0
- package/build/src/start/server/middleware/FaviconMiddleware.js +47 -0
- package/build/src/start/server/middleware/FaviconMiddleware.js.map +1 -0
- package/build/src/start/server/middleware/HistoryFallbackMiddleware.js +27 -0
- package/build/src/start/server/middleware/HistoryFallbackMiddleware.js.map +1 -0
- package/build/src/start/server/middleware/InterstitialPageMiddleware.js +118 -0
- package/build/src/start/server/middleware/InterstitialPageMiddleware.js.map +1 -0
- package/build/src/start/server/middleware/ManifestMiddleware.js +362 -0
- package/build/src/start/server/middleware/ManifestMiddleware.js.map +1 -0
- package/build/src/start/server/middleware/ReactDevToolsPageMiddleware.js +79 -0
- package/build/src/start/server/middleware/ReactDevToolsPageMiddleware.js.map +1 -0
- package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js +102 -0
- package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js.map +1 -0
- package/build/src/start/server/middleware/ServeStaticMiddleware.js +83 -0
- package/build/src/start/server/middleware/ServeStaticMiddleware.js.map +1 -0
- package/build/src/start/server/middleware/inspector/JsInspector.js +113 -0
- package/build/src/start/server/middleware/inspector/JsInspector.js.map +1 -0
- package/build/src/start/server/middleware/inspector/LaunchBrowser.js +75 -0
- package/build/src/start/server/middleware/inspector/LaunchBrowser.js.map +1 -0
- package/build/src/start/server/middleware/inspector/LaunchBrowser.types.js +15 -0
- package/build/src/start/server/middleware/inspector/LaunchBrowser.types.js.map +1 -0
- package/build/src/start/server/middleware/inspector/LaunchBrowserImplLinux.js +104 -0
- package/build/src/start/server/middleware/inspector/LaunchBrowserImplLinux.js.map +1 -0
- package/build/src/start/server/middleware/inspector/LaunchBrowserImplMacOS.js +125 -0
- package/build/src/start/server/middleware/inspector/LaunchBrowserImplMacOS.js.map +1 -0
- package/build/src/start/server/middleware/inspector/LaunchBrowserImplWindows.js +146 -0
- package/build/src/start/server/middleware/inspector/LaunchBrowserImplWindows.js.map +1 -0
- package/build/src/start/server/middleware/inspector/createJsInspectorMiddleware.js +91 -0
- package/build/src/start/server/middleware/inspector/createJsInspectorMiddleware.js.map +1 -0
- package/build/src/start/server/middleware/inspector/middlwareMutations.js +26 -0
- package/build/src/start/server/middleware/inspector/middlwareMutations.js.map +1 -0
- package/build/src/start/server/middleware/metroOptions.js +213 -0
- package/build/src/start/server/middleware/metroOptions.js.map +1 -0
- package/build/src/start/server/middleware/mutations.js +26 -0
- package/build/src/start/server/middleware/mutations.js.map +1 -0
- package/build/src/start/server/middleware/resolveAssets.js +146 -0
- package/build/src/start/server/middleware/resolveAssets.js.map +1 -0
- package/build/src/start/server/middleware/resolvePlatform.js +61 -0
- package/build/src/start/server/middleware/resolvePlatform.js.map +1 -0
- package/build/src/start/server/middleware/server.types.js +6 -0
- package/build/src/start/server/middleware/server.types.js.map +1 -0
- package/build/src/start/server/middleware/suppressErrorMiddleware.js +19 -0
- package/build/src/start/server/middleware/suppressErrorMiddleware.js.map +1 -0
- package/build/src/start/server/openPlatforms.js +31 -0
- package/build/src/start/server/openPlatforms.js.map +1 -0
- package/build/src/start/server/platformBundlers.js +40 -0
- package/build/src/start/server/platformBundlers.js.map +1 -0
- package/build/src/start/server/serverLogLikeMetro.js +255 -0
- package/build/src/start/server/serverLogLikeMetro.js.map +1 -0
- package/build/src/start/server/type-generation/expo-env.js +47 -0
- package/build/src/start/server/type-generation/expo-env.js.map +1 -0
- package/build/src/start/server/type-generation/routes.js +531 -0
- package/build/src/start/server/type-generation/routes.js.map +1 -0
- package/build/src/start/server/type-generation/startTypescriptTypeGeneration.js +77 -0
- package/build/src/start/server/type-generation/startTypescriptTypeGeneration.js.map +1 -0
- package/build/src/start/server/type-generation/tsconfig.js +114 -0
- package/build/src/start/server/type-generation/tsconfig.js.map +1 -0
- package/build/src/start/server/webTemplate.js +108 -0
- package/build/src/start/server/webTemplate.js.map +1 -0
- package/build/src/start/server/webpack/WebpackBundlerDevServer.js +315 -0
- package/build/src/start/server/webpack/WebpackBundlerDevServer.js.map +1 -0
- package/build/src/start/server/webpack/compile.js +97 -0
- package/build/src/start/server/webpack/compile.js.map +1 -0
- package/build/src/start/server/webpack/formatWebpackMessages.js +104 -0
- package/build/src/start/server/webpack/formatWebpackMessages.js.map +1 -0
- package/build/src/start/server/webpack/resolveFromProject.js +57 -0
- package/build/src/start/server/webpack/resolveFromProject.js.map +1 -0
- package/build/src/start/server/webpack/tls.js +122 -0
- package/build/src/start/server/webpack/tls.js.map +1 -0
- package/build/src/start/startAsync.js +207 -0
- package/build/src/start/startAsync.js.map +1 -0
- package/build/src/utils/FileNotifier.js +135 -0
- package/build/src/utils/FileNotifier.js.map +1 -0
- package/build/src/utils/analytics/getDevClientProperties.js +73 -0
- package/build/src/utils/analytics/getDevClientProperties.js.map +1 -0
- package/build/src/utils/analytics/getMetroDebugProperties.js +18 -0
- package/build/src/utils/analytics/getMetroDebugProperties.js.map +1 -0
- package/build/src/utils/analytics/getMetroProperties.js +31 -0
- package/build/src/utils/analytics/getMetroProperties.js.map +1 -0
- package/build/src/utils/analytics/metroDebuggerMiddleware.js +63 -0
- package/build/src/utils/analytics/metroDebuggerMiddleware.js.map +1 -0
- package/build/src/utils/ansi.js +20 -0
- package/build/src/utils/ansi.js.map +1 -0
- package/build/src/utils/args.js +131 -0
- package/build/src/utils/args.js.map +1 -0
- package/build/src/utils/array.js +74 -0
- package/build/src/utils/array.js.map +1 -0
- package/build/src/utils/cocoapods.js +250 -0
- package/build/src/utils/cocoapods.js.map +1 -0
- package/build/src/utils/codesigning.js +393 -0
- package/build/src/utils/codesigning.js.map +1 -0
- package/build/src/utils/createFileTransform.js +65 -0
- package/build/src/utils/createFileTransform.js.map +1 -0
- package/build/src/utils/delay.js +46 -0
- package/build/src/utils/delay.js.map +1 -0
- package/build/src/utils/dir.js +73 -0
- package/build/src/utils/dir.js.map +1 -0
- package/build/src/utils/downloadAppAsync.js +106 -0
- package/build/src/utils/downloadAppAsync.js.map +1 -0
- package/build/src/utils/downloadExpoGoAsync.js +137 -0
- package/build/src/utils/downloadExpoGoAsync.js.map +1 -0
- package/build/src/utils/editor.js +107 -0
- package/build/src/utils/editor.js.map +1 -0
- package/build/src/utils/env.js +160 -0
- package/build/src/utils/env.js.map +1 -0
- package/build/src/utils/errors.js +93 -0
- package/build/src/utils/errors.js.map +1 -0
- package/build/src/utils/exit.js +72 -0
- package/build/src/utils/exit.js.map +1 -0
- package/build/src/utils/findUp.js +57 -0
- package/build/src/utils/findUp.js.map +1 -0
- package/build/src/utils/fn.js +40 -0
- package/build/src/utils/fn.js.map +1 -0
- package/build/src/utils/getOrPromptApplicationId.js +219 -0
- package/build/src/utils/getOrPromptApplicationId.js.map +1 -0
- package/build/src/utils/getRunningProcess.js +134 -0
- package/build/src/utils/getRunningProcess.js.map +1 -0
- package/build/src/utils/git.js +127 -0
- package/build/src/utils/git.js.map +1 -0
- package/build/src/utils/glob.js +76 -0
- package/build/src/utils/glob.js.map +1 -0
- package/build/src/utils/interactive.js +14 -0
- package/build/src/utils/interactive.js.map +1 -0
- package/build/src/utils/ip.js +25 -0
- package/build/src/utils/ip.js.map +1 -0
- package/build/src/utils/isModuleSymlinked.js +52 -0
- package/build/src/utils/isModuleSymlinked.js.map +1 -0
- package/build/src/utils/link.js +51 -0
- package/build/src/utils/link.js.map +1 -0
- package/build/src/utils/mergeGitIgnorePaths.js +171 -0
- package/build/src/utils/mergeGitIgnorePaths.js.map +1 -0
- package/build/src/utils/modifyConfigAsync.js +106 -0
- package/build/src/utils/modifyConfigAsync.js.map +1 -0
- package/build/src/utils/modifyConfigPlugins.js +78 -0
- package/build/src/utils/modifyConfigPlugins.js.map +1 -0
- package/build/src/utils/nodeEnv.js +18 -0
- package/build/src/utils/nodeEnv.js.map +1 -0
- package/build/src/utils/nodeModules.js +50 -0
- package/build/src/utils/nodeModules.js.map +1 -0
- package/build/src/utils/npm.js +183 -0
- package/build/src/utils/npm.js.map +1 -0
- package/build/src/utils/obj.js +53 -0
- package/build/src/utils/obj.js.map +1 -0
- package/build/src/utils/open.js +35 -0
- package/build/src/utils/open.js.map +1 -0
- package/build/src/utils/ora.js +107 -0
- package/build/src/utils/ora.js.map +1 -0
- package/build/src/utils/plist.js +103 -0
- package/build/src/utils/plist.js.map +1 -0
- package/build/src/utils/port.js +198 -0
- package/build/src/utils/port.js.map +1 -0
- package/build/src/utils/profile.js +90 -0
- package/build/src/utils/profile.js.map +1 -0
- package/build/src/utils/progress.js +71 -0
- package/build/src/utils/progress.js.map +1 -0
- package/build/src/utils/prompts.js +133 -0
- package/build/src/utils/prompts.js.map +1 -0
- package/build/src/utils/resolveArgs.js +149 -0
- package/build/src/utils/resolveArgs.js.map +1 -0
- package/build/src/utils/scheme.js +204 -0
- package/build/src/utils/scheme.js.map +1 -0
- package/build/src/utils/strings.js +31 -0
- package/build/src/utils/strings.js.map +1 -0
- package/build/src/utils/tar.js +95 -0
- package/build/src/utils/tar.js.map +1 -0
- package/build/src/utils/telemetry/DetachedClient.js +90 -0
- package/build/src/utils/telemetry/DetachedClient.js.map +1 -0
- package/build/src/utils/telemetry/RudderClient.js +101 -0
- package/build/src/utils/telemetry/RudderClient.js.map +1 -0
- package/build/src/utils/telemetry/flushDetached.js +44 -0
- package/build/src/utils/telemetry/flushDetached.js.map +1 -0
- package/build/src/utils/telemetry/getContext.js +112 -0
- package/build/src/utils/telemetry/getContext.js.map +1 -0
- package/build/src/utils/telemetry/index.js +37 -0
- package/build/src/utils/telemetry/index.js.map +1 -0
- package/build/src/utils/telemetry/types.js +6 -0
- package/build/src/utils/telemetry/types.js.map +1 -0
- package/build/src/utils/template.js +46 -0
- package/build/src/utils/template.js.map +1 -0
- package/build/src/utils/terminal.js +13 -0
- package/build/src/utils/terminal.js.map +1 -0
- package/build/src/utils/tsconfig/evaluateTsConfig.js +79 -0
- package/build/src/utils/tsconfig/evaluateTsConfig.js.map +1 -0
- package/build/src/utils/tsconfig/loadTsConfigPaths.js +81 -0
- package/build/src/utils/tsconfig/loadTsConfigPaths.js.map +1 -0
- package/build/src/utils/tsconfig/matchTsConfigPathAlias.js +92 -0
- package/build/src/utils/tsconfig/matchTsConfigPathAlias.js.map +1 -0
- package/build/src/utils/tsconfig/resolveWithTsConfigPaths.js +60 -0
- package/build/src/utils/tsconfig/resolveWithTsConfigPaths.js.map +1 -0
- package/build/src/utils/url.js +83 -0
- package/build/src/utils/url.js.map +1 -0
- package/build/src/utils/validateApplicationId.js +198 -0
- package/build/src/utils/validateApplicationId.js.map +1 -0
- package/build/src/utils/variadic.js +69 -0
- package/build/src/utils/variadic.js.map +1 -0
- package/build/src/whoami/index.js +65 -0
- package/build/src/whoami/index.js.map +1 -0
- package/build/src/whoami/whoamiAsync.js +71 -0
- package/build/src/whoami/whoamiAsync.js.map +1 -0
- package/package.json +175 -0
- package/static/canary/react-is/cjs/react-is.development.js +200 -0
- package/static/canary/react-is/cjs/react-is.production.js +130 -0
- package/static/canary/react-native/Libraries/Renderer/implementations/ReactFabric-dev.js +26803 -0
- package/static/canary/react-native/Libraries/Renderer/implementations/ReactFabric-prod.js +10414 -0
- package/static/canary/react-native/Libraries/Renderer/implementations/ReactFabric-profiling.js +11127 -0
- package/static/canary/react-native/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +27227 -0
- package/static/canary/react-native/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +10635 -0
- package/static/canary/react-native/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +11347 -0
- package/static/canary/scheduler/cjs/scheduler-unstable_mock.development.js +711 -0
- package/static/canary/scheduler/cjs/scheduler-unstable_mock.production.js +415 -0
- package/static/canary/scheduler/cjs/scheduler-unstable_post_task.development.js +208 -0
- package/static/canary/scheduler/cjs/scheduler-unstable_post_task.production.js +145 -0
- package/static/canary/scheduler/cjs/scheduler.development.js +625 -0
- package/static/canary/scheduler/cjs/scheduler.native.development.js +538 -0
- package/static/canary/scheduler/cjs/scheduler.native.production.js +329 -0
- package/static/canary/scheduler/cjs/scheduler.production.js +341 -0
- package/static/loading-page/index.html +363 -0
- package/static/react-devtools-page/index.html +113 -0
- package/static/react-devtools-page/standalone.js +3 -0
- package/static/shims/react-native-web/dist/cjs/exports/AppRegistry/AppContainer.js +13 -0
- package/static/shims/react-native-web/dist/cjs/exports/BackHandler/index.js +10 -0
- package/static/shims/react-native-web/dist/exports/AppRegistry/AppContainer.js +12 -0
- package/static/shims/react-native-web/dist/exports/BackHandler/index.js +7 -0
- package/static/template/babel.config.js +6 -0
- package/static/template/index.html +36 -0
- package/static/template/metro.config.js +7 -0
- package/static/template/serve.json +13 -0
- package/static/template/webpack.config.js +7 -0
|
@@ -0,0 +1,256 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "DevServerManager", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: ()=>DevServerManager
|
|
8
|
+
});
|
|
9
|
+
function _config() {
|
|
10
|
+
const data = require("@expo/config");
|
|
11
|
+
_config = function() {
|
|
12
|
+
return data;
|
|
13
|
+
};
|
|
14
|
+
return data;
|
|
15
|
+
}
|
|
16
|
+
function _assert() {
|
|
17
|
+
const data = /*#__PURE__*/ _interopRequireDefault(require("assert"));
|
|
18
|
+
_assert = function() {
|
|
19
|
+
return data;
|
|
20
|
+
};
|
|
21
|
+
return data;
|
|
22
|
+
}
|
|
23
|
+
function _chalk() {
|
|
24
|
+
const data = /*#__PURE__*/ _interopRequireDefault(require("chalk"));
|
|
25
|
+
_chalk = function() {
|
|
26
|
+
return data;
|
|
27
|
+
};
|
|
28
|
+
return data;
|
|
29
|
+
}
|
|
30
|
+
const _devToolsPluginManager = /*#__PURE__*/ _interopRequireDefault(require("./DevToolsPluginManager"));
|
|
31
|
+
const _platformBundlers = require("./platformBundlers");
|
|
32
|
+
const _log = require("../../log");
|
|
33
|
+
const _fileNotifier = require("../../utils/FileNotifier");
|
|
34
|
+
const _env = require("../../utils/env");
|
|
35
|
+
const _telemetry = require("../../utils/telemetry");
|
|
36
|
+
const _typeScriptProjectPrerequisite = require("../doctor/typescript/TypeScriptProjectPrerequisite");
|
|
37
|
+
const _commandsTable = require("../interface/commandsTable");
|
|
38
|
+
const _adb = /*#__PURE__*/ _interopRequireWildcard(require("../platforms/android/adb"));
|
|
39
|
+
const _resolveOptions = require("../resolveOptions");
|
|
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
|
+
}
|
|
84
|
+
var _urlCreator;
|
|
85
|
+
const debug = require("debug")("expo:start:server:devServerManager");
|
|
86
|
+
const devServers = [];
|
|
87
|
+
const BUNDLERS = {
|
|
88
|
+
webpack: ()=>require("./webpack/WebpackBundlerDevServer").WebpackBundlerDevServer,
|
|
89
|
+
metro: ()=>require("./metro/MetroBundlerDevServer").MetroBundlerDevServer
|
|
90
|
+
};
|
|
91
|
+
class DevServerManager {
|
|
92
|
+
static async startMetroAsync(projectRoot, startOptions) {
|
|
93
|
+
const devServerManager = new DevServerManager(projectRoot, startOptions);
|
|
94
|
+
await devServerManager.startAsync([
|
|
95
|
+
{
|
|
96
|
+
type: "metro",
|
|
97
|
+
options: startOptions
|
|
98
|
+
},
|
|
99
|
+
]);
|
|
100
|
+
return devServerManager;
|
|
101
|
+
}
|
|
102
|
+
constructor(projectRoot, options){
|
|
103
|
+
this.projectRoot = projectRoot;
|
|
104
|
+
this.options = options;
|
|
105
|
+
this.projectPrerequisites = [];
|
|
106
|
+
this.notifier = null;
|
|
107
|
+
if (!options.isExporting) {
|
|
108
|
+
this.notifier = this.watchBabelConfig();
|
|
109
|
+
}
|
|
110
|
+
this.devtoolsPluginManager = new _devToolsPluginManager.default(projectRoot);
|
|
111
|
+
}
|
|
112
|
+
watchBabelConfig() {
|
|
113
|
+
const notifier = new _fileNotifier.FileNotifier(this.projectRoot, [
|
|
114
|
+
"./babel.config.js",
|
|
115
|
+
"./babel.config.json",
|
|
116
|
+
"./.babelrc.json",
|
|
117
|
+
"./.babelrc",
|
|
118
|
+
"./.babelrc.js",
|
|
119
|
+
], {
|
|
120
|
+
additionalWarning: (0, _chalk().default)` You may need to clear the bundler cache with the {bold --clear} flag for your changes to take effect.`
|
|
121
|
+
});
|
|
122
|
+
notifier.startObserving();
|
|
123
|
+
return notifier;
|
|
124
|
+
}
|
|
125
|
+
/** Lazily load and assert a project-level prerequisite. */ async ensureProjectPrerequisiteAsync(PrerequisiteClass) {
|
|
126
|
+
let prerequisite = this.projectPrerequisites.find((prerequisite)=>prerequisite instanceof PrerequisiteClass);
|
|
127
|
+
if (!prerequisite) {
|
|
128
|
+
prerequisite = new PrerequisiteClass(this.projectRoot);
|
|
129
|
+
this.projectPrerequisites.push(prerequisite);
|
|
130
|
+
}
|
|
131
|
+
return await prerequisite.assertAsync();
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Sends a message over web sockets to all connected devices,
|
|
135
|
+
* does nothing when the dev server is not running.
|
|
136
|
+
*
|
|
137
|
+
* @param method name of the command. In RN projects `reload`, and `devMenu` are available. In Expo Go, `sendDevCommand` is available.
|
|
138
|
+
* @param params extra event info to send over the socket.
|
|
139
|
+
*/ broadcastMessage(method, params) {
|
|
140
|
+
devServers.forEach((server)=>{
|
|
141
|
+
server.broadcastMessage(method, params);
|
|
142
|
+
});
|
|
143
|
+
}
|
|
144
|
+
/** Get the port for the dev server (either Webpack or Metro) that is hosting code for React Native runtimes. */ getNativeDevServerPort() {
|
|
145
|
+
var ref;
|
|
146
|
+
const server = devServers.find((server)=>server.isTargetingNative());
|
|
147
|
+
var _port;
|
|
148
|
+
return (_port = (ref = server == null ? void 0 : server.getInstance()) == null ? void 0 : ref.location.port) != null ? _port : null;
|
|
149
|
+
}
|
|
150
|
+
/** Get the first server that targets web. */ getWebDevServer() {
|
|
151
|
+
const server = devServers.find((server)=>server.isTargetingWeb());
|
|
152
|
+
return server != null ? server : null;
|
|
153
|
+
}
|
|
154
|
+
getDefaultDevServer() {
|
|
155
|
+
// Return the first native dev server otherwise return the first dev server.
|
|
156
|
+
const server = devServers.find((server)=>server.isTargetingNative());
|
|
157
|
+
const defaultServer = server != null ? server : devServers[0];
|
|
158
|
+
(0, _assert().default)(defaultServer, "No dev servers are running");
|
|
159
|
+
return defaultServer;
|
|
160
|
+
}
|
|
161
|
+
async ensureWebDevServerRunningAsync() {
|
|
162
|
+
const [server] = devServers.filter((server)=>server.isTargetingWeb());
|
|
163
|
+
if (server) {
|
|
164
|
+
return;
|
|
165
|
+
}
|
|
166
|
+
const { exp } = (0, _config().getConfig)(this.projectRoot, {
|
|
167
|
+
skipPlugins: true,
|
|
168
|
+
skipSDKVersionRequirement: true
|
|
169
|
+
});
|
|
170
|
+
const bundler = (0, _platformBundlers.getPlatformBundlers)(this.projectRoot, exp).web;
|
|
171
|
+
debug(`Starting ${bundler} dev server for web`);
|
|
172
|
+
return this.startAsync([
|
|
173
|
+
{
|
|
174
|
+
type: bundler,
|
|
175
|
+
options: this.options
|
|
176
|
+
},
|
|
177
|
+
]);
|
|
178
|
+
}
|
|
179
|
+
/** Switch between Expo Go and Expo Dev Clients. */ async toggleRuntimeMode(isUsingDevClient = !this.options.devClient) {
|
|
180
|
+
const nextMode = isUsingDevClient ? "--dev-client" : "--go";
|
|
181
|
+
_log.Log.log((0, _commandsTable.printItem)((0, _chalk().default)`Switching to {bold ${nextMode}}`));
|
|
182
|
+
const nextScheme = await (0, _resolveOptions.resolveSchemeAsync)(this.projectRoot, {
|
|
183
|
+
devClient: isUsingDevClient
|
|
184
|
+
});
|
|
185
|
+
this.options.location.scheme = nextScheme;
|
|
186
|
+
this.options.devClient = isUsingDevClient;
|
|
187
|
+
for (const devServer of devServers){
|
|
188
|
+
devServer.isDevClient = isUsingDevClient;
|
|
189
|
+
const urlCreator = devServer.getUrlCreator();
|
|
190
|
+
var _defaults;
|
|
191
|
+
(_defaults = (_urlCreator = urlCreator).defaults) != null ? _defaults : _urlCreator.defaults = {};
|
|
192
|
+
urlCreator.defaults.scheme = nextScheme;
|
|
193
|
+
}
|
|
194
|
+
debug(`New runtime options (runtime: ${nextMode}):`, this.options);
|
|
195
|
+
return true;
|
|
196
|
+
}
|
|
197
|
+
/** Start all dev servers. */ async startAsync(startOptions) {
|
|
198
|
+
const { exp } = (0, _config().getConfig)(this.projectRoot, {
|
|
199
|
+
skipSDKVersionRequirement: true
|
|
200
|
+
});
|
|
201
|
+
var _sdkVersion;
|
|
202
|
+
await (0, _telemetry.logEventAsync)("Start Project", {
|
|
203
|
+
sdkVersion: (_sdkVersion = exp.sdkVersion) != null ? _sdkVersion : null
|
|
204
|
+
});
|
|
205
|
+
const platformBundlers = (0, _platformBundlers.getPlatformBundlers)(this.projectRoot, exp);
|
|
206
|
+
// Start all dev servers...
|
|
207
|
+
for (const { type , options } of startOptions){
|
|
208
|
+
const BundlerDevServerClass = await BUNDLERS[type]();
|
|
209
|
+
const server = new BundlerDevServerClass(this.projectRoot, platformBundlers, {
|
|
210
|
+
devToolsPluginManager: this.devtoolsPluginManager,
|
|
211
|
+
isDevClient: !!(options == null ? void 0 : options.devClient)
|
|
212
|
+
});
|
|
213
|
+
await server.startAsync(options != null ? options : this.options);
|
|
214
|
+
devServers.push(server);
|
|
215
|
+
}
|
|
216
|
+
return exp;
|
|
217
|
+
}
|
|
218
|
+
async bootstrapTypeScriptAsync() {
|
|
219
|
+
const typescriptPrerequisite = await this.ensureProjectPrerequisiteAsync(_typeScriptProjectPrerequisite.TypeScriptProjectPrerequisite);
|
|
220
|
+
if (_env.env.EXPO_NO_TYPESCRIPT_SETUP) {
|
|
221
|
+
return;
|
|
222
|
+
}
|
|
223
|
+
// Optionally, wait for the user to add TypeScript during the
|
|
224
|
+
// development cycle.
|
|
225
|
+
const server = devServers.find((server)=>server.name === "metro");
|
|
226
|
+
if (!server) {
|
|
227
|
+
return;
|
|
228
|
+
}
|
|
229
|
+
// The dev server shouldn't wait for the typescript services
|
|
230
|
+
if (!typescriptPrerequisite) {
|
|
231
|
+
server.waitForTypeScriptAsync().then(async (success)=>{
|
|
232
|
+
if (success) {
|
|
233
|
+
server.startTypeScriptServices();
|
|
234
|
+
}
|
|
235
|
+
});
|
|
236
|
+
} else {
|
|
237
|
+
server.startTypeScriptServices();
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
async watchEnvironmentVariables() {
|
|
241
|
+
var ref;
|
|
242
|
+
await ((ref = devServers.find((server)=>server.name === "metro")) == null ? void 0 : ref.watchEnvironmentVariables());
|
|
243
|
+
}
|
|
244
|
+
/** Stop all servers including ADB. */ async stopAsync() {
|
|
245
|
+
var ref;
|
|
246
|
+
await Promise.allSettled([
|
|
247
|
+
(ref = this.notifier) == null ? void 0 : ref.stopObserving(),
|
|
248
|
+
// Stop all dev servers
|
|
249
|
+
...devServers.map((server)=>server.stopAsync()),
|
|
250
|
+
// Stop ADB
|
|
251
|
+
_adb.getServer().stopAsync(),
|
|
252
|
+
]);
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
//# sourceMappingURL=DevServerManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/start/server/DevServerManager.ts"],"sourcesContent":["import { ExpoConfig, getConfig } from '@expo/config';\nimport assert from 'assert';\nimport chalk from 'chalk';\n\nimport { BundlerDevServer, BundlerStartOptions } from './BundlerDevServer';\nimport DevToolsPluginManager from './DevToolsPluginManager';\nimport { getPlatformBundlers } from './platformBundlers';\nimport { Log } from '../../log';\nimport { FileNotifier } from '../../utils/FileNotifier';\nimport { env } from '../../utils/env';\nimport { logEventAsync } from '../../utils/telemetry';\nimport { ProjectPrerequisite } from '../doctor/Prerequisite';\nimport { TypeScriptProjectPrerequisite } from '../doctor/typescript/TypeScriptProjectPrerequisite';\nimport { printItem } from '../interface/commandsTable';\nimport * as AndroidDebugBridge from '../platforms/android/adb';\nimport { resolveSchemeAsync } from '../resolveOptions';\n\nconst debug = require('debug')('expo:start:server:devServerManager') as typeof console.log;\n\nexport type MultiBundlerStartOptions = {\n type: keyof typeof BUNDLERS;\n options?: BundlerStartOptions;\n}[];\n\nconst devServers: BundlerDevServer[] = [];\n\nconst BUNDLERS = {\n webpack: () =>\n require('./webpack/WebpackBundlerDevServer')\n .WebpackBundlerDevServer as typeof import('./webpack/WebpackBundlerDevServer').WebpackBundlerDevServer,\n metro: () =>\n require('./metro/MetroBundlerDevServer')\n .MetroBundlerDevServer as typeof import('./metro/MetroBundlerDevServer').MetroBundlerDevServer,\n};\n\n/** Manages interacting with multiple dev servers. */\nexport class DevServerManager {\n static async startMetroAsync(projectRoot: string, startOptions: BundlerStartOptions) {\n const devServerManager = new DevServerManager(projectRoot, startOptions);\n\n await devServerManager.startAsync([\n {\n type: 'metro',\n options: startOptions,\n },\n ]);\n return devServerManager;\n }\n\n private projectPrerequisites: ProjectPrerequisite<any, void>[] = [];\n public readonly devtoolsPluginManager: DevToolsPluginManager;\n\n private notifier: FileNotifier | null = null;\n\n constructor(\n public projectRoot: string,\n /** Keep track of the original CLI options for bundlers that are started interactively. */\n public options: BundlerStartOptions\n ) {\n if (!options.isExporting) {\n this.notifier = this.watchBabelConfig();\n }\n this.devtoolsPluginManager = new DevToolsPluginManager(projectRoot);\n }\n\n private watchBabelConfig() {\n const notifier = new FileNotifier(\n this.projectRoot,\n [\n './babel.config.js',\n './babel.config.json',\n './.babelrc.json',\n './.babelrc',\n './.babelrc.js',\n ],\n {\n additionalWarning: chalk` You may need to clear the bundler cache with the {bold --clear} flag for your changes to take effect.`,\n }\n );\n\n notifier.startObserving();\n\n return notifier;\n }\n\n /** Lazily load and assert a project-level prerequisite. */\n async ensureProjectPrerequisiteAsync(PrerequisiteClass: typeof ProjectPrerequisite<any, any>) {\n let prerequisite = this.projectPrerequisites.find(\n (prerequisite) => prerequisite instanceof PrerequisiteClass\n );\n if (!prerequisite) {\n prerequisite = new PrerequisiteClass(this.projectRoot);\n this.projectPrerequisites.push(prerequisite);\n }\n return await prerequisite.assertAsync();\n }\n\n /**\n * Sends a message over web sockets to all connected devices,\n * does nothing when the dev server is not running.\n *\n * @param method name of the command. In RN projects `reload`, and `devMenu` are available. In Expo Go, `sendDevCommand` is available.\n * @param params extra event info to send over the socket.\n */\n broadcastMessage(method: 'reload' | 'devMenu' | 'sendDevCommand', params?: Record<string, any>) {\n devServers.forEach((server) => {\n server.broadcastMessage(method, params);\n });\n }\n\n /** Get the port for the dev server (either Webpack or Metro) that is hosting code for React Native runtimes. */\n getNativeDevServerPort() {\n const server = devServers.find((server) => server.isTargetingNative());\n return server?.getInstance()?.location.port ?? null;\n }\n\n /** Get the first server that targets web. */\n getWebDevServer() {\n const server = devServers.find((server) => server.isTargetingWeb());\n return server ?? null;\n }\n\n getDefaultDevServer(): BundlerDevServer {\n // Return the first native dev server otherwise return the first dev server.\n const server = devServers.find((server) => server.isTargetingNative());\n const defaultServer = server ?? devServers[0];\n assert(defaultServer, 'No dev servers are running');\n return defaultServer;\n }\n\n async ensureWebDevServerRunningAsync() {\n const [server] = devServers.filter((server) => server.isTargetingWeb());\n if (server) {\n return;\n }\n const { exp } = getConfig(this.projectRoot, {\n skipPlugins: true,\n skipSDKVersionRequirement: true,\n });\n const bundler = getPlatformBundlers(this.projectRoot, exp).web;\n debug(`Starting ${bundler} dev server for web`);\n return this.startAsync([\n {\n type: bundler,\n options: this.options,\n },\n ]);\n }\n\n /** Switch between Expo Go and Expo Dev Clients. */\n async toggleRuntimeMode(isUsingDevClient: boolean = !this.options.devClient): Promise<boolean> {\n const nextMode = isUsingDevClient ? '--dev-client' : '--go';\n Log.log(printItem(chalk`Switching to {bold ${nextMode}}`));\n\n const nextScheme = await resolveSchemeAsync(this.projectRoot, {\n devClient: isUsingDevClient,\n // NOTE: The custom `--scheme` argument is lost from this point on.\n });\n\n this.options.location.scheme = nextScheme;\n this.options.devClient = isUsingDevClient;\n for (const devServer of devServers) {\n devServer.isDevClient = isUsingDevClient;\n const urlCreator = devServer.getUrlCreator();\n urlCreator.defaults ??= {};\n urlCreator.defaults.scheme = nextScheme;\n }\n\n debug(`New runtime options (runtime: ${nextMode}):`, this.options);\n return true;\n }\n\n /** Start all dev servers. */\n async startAsync(startOptions: MultiBundlerStartOptions): Promise<ExpoConfig> {\n const { exp } = getConfig(this.projectRoot, { skipSDKVersionRequirement: true });\n\n await logEventAsync('Start Project', {\n sdkVersion: exp.sdkVersion ?? null,\n });\n\n const platformBundlers = getPlatformBundlers(this.projectRoot, exp);\n\n // Start all dev servers...\n for (const { type, options } of startOptions) {\n const BundlerDevServerClass = await BUNDLERS[type]();\n const server = new BundlerDevServerClass(this.projectRoot, platformBundlers, {\n devToolsPluginManager: this.devtoolsPluginManager,\n isDevClient: !!options?.devClient,\n });\n await server.startAsync(options ?? this.options);\n devServers.push(server);\n }\n\n return exp;\n }\n\n async bootstrapTypeScriptAsync() {\n const typescriptPrerequisite = await this.ensureProjectPrerequisiteAsync(\n TypeScriptProjectPrerequisite\n );\n\n if (env.EXPO_NO_TYPESCRIPT_SETUP) {\n return;\n }\n\n // Optionally, wait for the user to add TypeScript during the\n // development cycle.\n const server = devServers.find((server) => server.name === 'metro');\n if (!server) {\n return;\n }\n\n // The dev server shouldn't wait for the typescript services\n if (!typescriptPrerequisite) {\n server.waitForTypeScriptAsync().then(async (success) => {\n if (success) {\n server.startTypeScriptServices();\n }\n });\n } else {\n server.startTypeScriptServices();\n }\n }\n\n async watchEnvironmentVariables() {\n await devServers.find((server) => server.name === 'metro')?.watchEnvironmentVariables();\n }\n\n /** Stop all servers including ADB. */\n async stopAsync(): Promise<void> {\n await Promise.allSettled([\n this.notifier?.stopObserving(),\n // Stop all dev servers\n ...devServers.map((server) => server.stopAsync()),\n // Stop ADB\n AndroidDebugBridge.getServer().stopAsync(),\n ]);\n }\n}\n"],"names":["DevServerManager","urlCreator","debug","require","devServers","BUNDLERS","webpack","WebpackBundlerDevServer","metro","MetroBundlerDevServer","startMetroAsync","projectRoot","startOptions","devServerManager","startAsync","type","options","constructor","projectPrerequisites","notifier","isExporting","watchBabelConfig","devtoolsPluginManager","DevToolsPluginManager","FileNotifier","additionalWarning","chalk","startObserving","ensureProjectPrerequisiteAsync","PrerequisiteClass","prerequisite","find","push","assertAsync","broadcastMessage","method","params","forEach","server","getNativeDevServerPort","isTargetingNative","getInstance","location","port","getWebDevServer","isTargetingWeb","getDefaultDevServer","defaultServer","assert","ensureWebDevServerRunningAsync","filter","exp","getConfig","skipPlugins","skipSDKVersionRequirement","bundler","getPlatformBundlers","web","toggleRuntimeMode","isUsingDevClient","devClient","nextMode","Log","log","printItem","nextScheme","resolveSchemeAsync","scheme","devServer","isDevClient","getUrlCreator","defaults","logEventAsync","sdkVersion","platformBundlers","BundlerDevServerClass","devToolsPluginManager","bootstrapTypeScriptAsync","typescriptPrerequisite","TypeScriptProjectPrerequisite","env","EXPO_NO_TYPESCRIPT_SETUP","name","waitForTypeScriptAsync","then","success","startTypeScriptServices","watchEnvironmentVariables","stopAsync","Promise","allSettled","stopObserving","map","AndroidDebugBridge","getServer"],"mappings":"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"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
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
|
+
DevToolsPluginEndpoint: ()=>DevToolsPluginEndpoint,
|
|
13
|
+
default: ()=>DevToolsPluginManager
|
|
14
|
+
});
|
|
15
|
+
function _path() {
|
|
16
|
+
const data = /*#__PURE__*/ _interopRequireDefault(require("path"));
|
|
17
|
+
_path = function() {
|
|
18
|
+
return data;
|
|
19
|
+
};
|
|
20
|
+
return data;
|
|
21
|
+
}
|
|
22
|
+
function _resolveFrom() {
|
|
23
|
+
const data = /*#__PURE__*/ _interopRequireDefault(require("resolve-from"));
|
|
24
|
+
_resolveFrom = function() {
|
|
25
|
+
return data;
|
|
26
|
+
};
|
|
27
|
+
return data;
|
|
28
|
+
}
|
|
29
|
+
function _interopRequireDefault(obj) {
|
|
30
|
+
return obj && obj.__esModule ? obj : {
|
|
31
|
+
default: obj
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
const debug = require("debug")("expo:start:server:devtools");
|
|
35
|
+
const DevToolsPluginEndpoint = "/_expo/plugins";
|
|
36
|
+
class DevToolsPluginManager {
|
|
37
|
+
constructor(projectRoot){
|
|
38
|
+
this.projectRoot = projectRoot;
|
|
39
|
+
this.plugins = null;
|
|
40
|
+
}
|
|
41
|
+
async queryPluginsAsync() {
|
|
42
|
+
if (this.plugins) {
|
|
43
|
+
return this.plugins;
|
|
44
|
+
}
|
|
45
|
+
const plugins = (await this.queryAutolinkedPluginsAsync(this.projectRoot)).map((plugin)=>({
|
|
46
|
+
...plugin,
|
|
47
|
+
webpageEndpoint: `${DevToolsPluginEndpoint}/${plugin.packageName}`
|
|
48
|
+
}));
|
|
49
|
+
this.plugins = plugins;
|
|
50
|
+
return this.plugins;
|
|
51
|
+
}
|
|
52
|
+
async queryPluginWebpageRootAsync(pluginName) {
|
|
53
|
+
const plugins = await this.queryPluginsAsync();
|
|
54
|
+
const plugin = plugins.find((p)=>p.packageName === pluginName);
|
|
55
|
+
var ref;
|
|
56
|
+
return (ref = plugin == null ? void 0 : plugin.webpageRoot) != null ? ref : null;
|
|
57
|
+
}
|
|
58
|
+
async queryAutolinkedPluginsAsync(projectRoot) {
|
|
59
|
+
const expoPackagePath = _resolveFrom().default.silent(projectRoot, "expo/package.json");
|
|
60
|
+
if (!expoPackagePath) {
|
|
61
|
+
return [];
|
|
62
|
+
}
|
|
63
|
+
const resolvedPath = _resolveFrom().default.silent(_path().default.dirname(expoPackagePath), "expo-modules-autolinking/exports");
|
|
64
|
+
if (!resolvedPath) {
|
|
65
|
+
return [];
|
|
66
|
+
}
|
|
67
|
+
const autolinkingModule = require(resolvedPath);
|
|
68
|
+
if (!autolinkingModule.queryAutolinkingModulesFromProjectAsync) {
|
|
69
|
+
throw new Error("Missing exported `queryAutolinkingModulesFromProjectAsync()` function from `expo-modules-autolinking`");
|
|
70
|
+
}
|
|
71
|
+
const plugins = await autolinkingModule.queryAutolinkingModulesFromProjectAsync(projectRoot, {
|
|
72
|
+
platform: "devtools",
|
|
73
|
+
onlyProjectDeps: false
|
|
74
|
+
});
|
|
75
|
+
debug("Found autolinked plugins", this.plugins);
|
|
76
|
+
return plugins;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
//# sourceMappingURL=DevToolsPluginManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/start/server/DevToolsPluginManager.ts"],"sourcesContent":["import type { ModuleDescriptorDevTools } from 'expo-modules-autolinking/exports';\nimport path from 'path';\nimport resolveFrom from 'resolve-from';\n\nconst debug = require('debug')('expo:start:server:devtools');\n\nexport const DevToolsPluginEndpoint = '/_expo/plugins';\n\ninterface AutolinkingPlugin {\n packageName: string;\n packageRoot: string;\n webpageRoot: string;\n}\n\nexport interface DevToolsPlugin extends AutolinkingPlugin {\n webpageEndpoint: string;\n}\n\nexport default class DevToolsPluginManager {\n private plugins: DevToolsPlugin[] | null = null;\n\n constructor(private projectRoot: string) {}\n\n public async queryPluginsAsync(): Promise<DevToolsPlugin[]> {\n if (this.plugins) {\n return this.plugins;\n }\n const plugins = (await this.queryAutolinkedPluginsAsync(this.projectRoot)).map((plugin) => ({\n ...plugin,\n webpageEndpoint: `${DevToolsPluginEndpoint}/${plugin.packageName}`,\n }));\n this.plugins = plugins;\n return this.plugins;\n }\n\n public async queryPluginWebpageRootAsync(pluginName: string): Promise<string | null> {\n const plugins = await this.queryPluginsAsync();\n const plugin = plugins.find((p) => p.packageName === pluginName);\n return plugin?.webpageRoot ?? null;\n }\n\n private async queryAutolinkedPluginsAsync(projectRoot: string): Promise<AutolinkingPlugin[]> {\n const expoPackagePath = resolveFrom.silent(projectRoot, 'expo/package.json');\n if (!expoPackagePath) {\n return [];\n }\n const resolvedPath = resolveFrom.silent(\n path.dirname(expoPackagePath),\n 'expo-modules-autolinking/exports'\n );\n if (!resolvedPath) {\n return [];\n }\n const autolinkingModule = require(\n resolvedPath\n ) as typeof import('expo-modules-autolinking/exports');\n if (!autolinkingModule.queryAutolinkingModulesFromProjectAsync) {\n throw new Error(\n 'Missing exported `queryAutolinkingModulesFromProjectAsync()` function from `expo-modules-autolinking`'\n );\n }\n const plugins = (await autolinkingModule.queryAutolinkingModulesFromProjectAsync(projectRoot, {\n platform: 'devtools',\n onlyProjectDeps: false,\n })) as ModuleDescriptorDevTools[];\n debug('Found autolinked plugins', this.plugins);\n return plugins;\n }\n}\n"],"names":["DevToolsPluginEndpoint","DevToolsPluginManager","debug","require","constructor","projectRoot","plugins","queryPluginsAsync","queryAutolinkedPluginsAsync","map","plugin","webpageEndpoint","packageName","queryPluginWebpageRootAsync","pluginName","find","p","webpageRoot","expoPackagePath","resolveFrom","silent","resolvedPath","path","dirname","autolinkingModule","queryAutolinkingModulesFromProjectAsync","Error","platform","onlyProjectDeps"],"mappings":"AAAA;;;;;;;;;;;IAMaA,sBAAsB,MAAtBA,sBAAsB;IAYnC,OAkDC,MAlDoBC,qBAAqB;;;8DAjBzB,MAAM;;;;;;;8DACC,cAAc;;;;;;;;;;;AAEtC,MAAMC,KAAK,GAAGC,OAAO,CAAC,OAAO,CAAC,CAAC,4BAA4B,CAAC,AAAC;AAEtD,MAAMH,sBAAsB,GAAG,gBAAgB,AAAC;AAYxC,MAAMC,qBAAqB;IAGxCG,YAAoBC,WAAmB,CAAE;QAArBA,mBAAAA,WAAmB,CAAA;aAF/BC,OAAO,GAA4B,IAAI;IAEL;UAE7BC,iBAAiB,GAA8B;QAC1D,IAAI,IAAI,CAACD,OAAO,EAAE;YAChB,OAAO,IAAI,CAACA,OAAO,CAAC;QACtB,CAAC;QACD,MAAMA,OAAO,GAAG,CAAC,MAAM,IAAI,CAACE,2BAA2B,CAAC,IAAI,CAACH,WAAW,CAAC,CAAC,CAACI,GAAG,CAAC,CAACC,MAAM,GAAK,CAAC;gBAC1F,GAAGA,MAAM;gBACTC,eAAe,EAAE,CAAC,EAAEX,sBAAsB,CAAC,CAAC,EAAEU,MAAM,CAACE,WAAW,CAAC,CAAC;aACnE,CAAC,CAAC,AAAC;QACJ,IAAI,CAACN,OAAO,GAAGA,OAAO,CAAC;QACvB,OAAO,IAAI,CAACA,OAAO,CAAC;IACtB;UAEaO,2BAA2B,CAACC,UAAkB,EAA0B;QACnF,MAAMR,OAAO,GAAG,MAAM,IAAI,CAACC,iBAAiB,EAAE,AAAC;QAC/C,MAAMG,MAAM,GAAGJ,OAAO,CAACS,IAAI,CAAC,CAACC,CAAC,GAAKA,CAAC,CAACJ,WAAW,KAAKE,UAAU,CAAC,AAAC;YAC1DJ,GAAmB;QAA1B,OAAOA,CAAAA,GAAmB,GAAnBA,MAAM,QAAa,GAAnBA,KAAAA,CAAmB,GAAnBA,MAAM,CAAEO,WAAW,YAAnBP,GAAmB,GAAI,IAAI,CAAC;IACrC;UAEcF,2BAA2B,CAACH,WAAmB,EAAgC;QAC3F,MAAMa,eAAe,GAAGC,YAAW,EAAA,QAAA,CAACC,MAAM,CAACf,WAAW,EAAE,mBAAmB,CAAC,AAAC;QAC7E,IAAI,CAACa,eAAe,EAAE;YACpB,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,MAAMG,YAAY,GAAGF,YAAW,EAAA,QAAA,CAACC,MAAM,CACrCE,KAAI,EAAA,QAAA,CAACC,OAAO,CAACL,eAAe,CAAC,EAC7B,kCAAkC,CACnC,AAAC;QACF,IAAI,CAACG,YAAY,EAAE;YACjB,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,MAAMG,iBAAiB,GAAGrB,OAAO,CAC/BkB,YAAY,CACb,AAAqD,AAAC;QACvD,IAAI,CAACG,iBAAiB,CAACC,uCAAuC,EAAE;YAC9D,MAAM,IAAIC,KAAK,CACb,uGAAuG,CACxG,CAAC;QACJ,CAAC;QACD,MAAMpB,OAAO,GAAI,MAAMkB,iBAAiB,CAACC,uCAAuC,CAACpB,WAAW,EAAE;YAC5FsB,QAAQ,EAAE,UAAU;YACpBC,eAAe,EAAE,KAAK;SACvB,CAAC,AAA+B,AAAC;QAClC1B,KAAK,CAAC,0BAA0B,EAAE,IAAI,CAACI,OAAO,CAAC,CAAC;QAChD,OAAOA,OAAO,CAAC;IACjB;CACD"}
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "DevelopmentSession", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: ()=>DevelopmentSession
|
|
8
|
+
});
|
|
9
|
+
function _config() {
|
|
10
|
+
const data = require("@expo/config");
|
|
11
|
+
_config = function() {
|
|
12
|
+
return data;
|
|
13
|
+
};
|
|
14
|
+
return data;
|
|
15
|
+
}
|
|
16
|
+
const _updateDevelopmentSession = require("../../api/updateDevelopmentSession");
|
|
17
|
+
const _user = require("../../api/user/user");
|
|
18
|
+
const _env = require("../../utils/env");
|
|
19
|
+
const _devices = /*#__PURE__*/ _interopRequireWildcard(require("../project/devices"));
|
|
20
|
+
function _getRequireWildcardCache(nodeInterop) {
|
|
21
|
+
if (typeof WeakMap !== "function") return null;
|
|
22
|
+
var cacheBabelInterop = new WeakMap();
|
|
23
|
+
var cacheNodeInterop = new WeakMap();
|
|
24
|
+
return (_getRequireWildcardCache = function(nodeInterop) {
|
|
25
|
+
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
|
26
|
+
})(nodeInterop);
|
|
27
|
+
}
|
|
28
|
+
function _interopRequireWildcard(obj, nodeInterop) {
|
|
29
|
+
if (!nodeInterop && obj && obj.__esModule) {
|
|
30
|
+
return obj;
|
|
31
|
+
}
|
|
32
|
+
if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
|
|
33
|
+
return {
|
|
34
|
+
default: obj
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
var cache = _getRequireWildcardCache(nodeInterop);
|
|
38
|
+
if (cache && cache.has(obj)) {
|
|
39
|
+
return cache.get(obj);
|
|
40
|
+
}
|
|
41
|
+
var newObj = {};
|
|
42
|
+
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
43
|
+
for(var key in obj){
|
|
44
|
+
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
45
|
+
var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
|
|
46
|
+
if (desc && (desc.get || desc.set)) {
|
|
47
|
+
Object.defineProperty(newObj, key, desc);
|
|
48
|
+
} else {
|
|
49
|
+
newObj[key] = obj[key];
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
newObj.default = obj;
|
|
54
|
+
if (cache) {
|
|
55
|
+
cache.set(obj, newObj);
|
|
56
|
+
}
|
|
57
|
+
return newObj;
|
|
58
|
+
}
|
|
59
|
+
const debug = require("debug")("expo:start:server:developmentSession");
|
|
60
|
+
const UPDATE_FREQUENCY = 20 * 1000; // 20 seconds
|
|
61
|
+
async function isAuthenticatedAsync() {
|
|
62
|
+
return !!await (0, _user.getUserAsync)().catch(()=>null);
|
|
63
|
+
}
|
|
64
|
+
class DevelopmentSession {
|
|
65
|
+
constructor(projectRoot, url, onError){
|
|
66
|
+
this.projectRoot = projectRoot;
|
|
67
|
+
this.url = url;
|
|
68
|
+
this.onError = onError;
|
|
69
|
+
this.timeout = null;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Notify the Expo servers that a project is running, this enables the Expo Go app
|
|
73
|
+
* and Dev Clients to offer a "recently in development" section for quick access.
|
|
74
|
+
*
|
|
75
|
+
* This method starts an interval that will continue to ping the servers until we stop it.
|
|
76
|
+
*
|
|
77
|
+
* @param projectRoot Project root folder, used for retrieving device installation IDs.
|
|
78
|
+
* @param props.exp Partial Expo config with values that will be used in the Expo Go app.
|
|
79
|
+
* @param props.runtime which runtime the app should be opened in. `native` for dev clients, `web` for web browsers.
|
|
80
|
+
*/ async startAsync({ exp =(0, _config().getConfig)(this.projectRoot).exp , runtime }) {
|
|
81
|
+
try {
|
|
82
|
+
if (_env.env.EXPO_OFFLINE) {
|
|
83
|
+
debug("This project will not be suggested in Expo Go or Dev Clients because Expo CLI is running in offline-mode.");
|
|
84
|
+
this.stopNotifying();
|
|
85
|
+
return;
|
|
86
|
+
}
|
|
87
|
+
const deviceIds = await this.getDeviceInstallationIdsAsync();
|
|
88
|
+
if (!await isAuthenticatedAsync() && !(deviceIds == null ? void 0 : deviceIds.length)) {
|
|
89
|
+
debug("Development session will not ping because the user is not authenticated and there are no devices.");
|
|
90
|
+
this.stopNotifying();
|
|
91
|
+
return;
|
|
92
|
+
}
|
|
93
|
+
if (this.url) {
|
|
94
|
+
// debug(`Development session ping (runtime: ${runtime}, url: ${this.url})`);
|
|
95
|
+
await (0, _updateDevelopmentSession.updateDevelopmentSessionAsync)({
|
|
96
|
+
url: this.url,
|
|
97
|
+
runtime,
|
|
98
|
+
exp,
|
|
99
|
+
deviceIds
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
this.stopNotifying();
|
|
103
|
+
this.timeout = setTimeout(()=>this.startAsync({
|
|
104
|
+
exp,
|
|
105
|
+
runtime
|
|
106
|
+
}), UPDATE_FREQUENCY);
|
|
107
|
+
} catch (error) {
|
|
108
|
+
debug(`Error updating development session API: ${error}`);
|
|
109
|
+
this.stopNotifying();
|
|
110
|
+
this.onError(error);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
/** Get all recent devices for the project. */ async getDeviceInstallationIdsAsync() {
|
|
114
|
+
const { devices } = await _devices.getDevicesInfoAsync(this.projectRoot);
|
|
115
|
+
return devices.map(({ installationId })=>installationId);
|
|
116
|
+
}
|
|
117
|
+
/** Stop notifying the Expo servers that the development session is running. */ stopNotifying() {
|
|
118
|
+
if (this.timeout) {
|
|
119
|
+
clearTimeout(this.timeout);
|
|
120
|
+
}
|
|
121
|
+
this.timeout = null;
|
|
122
|
+
}
|
|
123
|
+
async closeAsync() {
|
|
124
|
+
this.stopNotifying();
|
|
125
|
+
const deviceIds = await this.getDeviceInstallationIdsAsync();
|
|
126
|
+
if (!await isAuthenticatedAsync() && !(deviceIds == null ? void 0 : deviceIds.length)) {
|
|
127
|
+
return;
|
|
128
|
+
}
|
|
129
|
+
if (this.url) {
|
|
130
|
+
await (0, _updateDevelopmentSession.closeDevelopmentSessionAsync)({
|
|
131
|
+
url: this.url,
|
|
132
|
+
deviceIds
|
|
133
|
+
});
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
//# sourceMappingURL=DevelopmentSession.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/start/server/DevelopmentSession.ts"],"sourcesContent":["import { ExpoConfig, getConfig } from '@expo/config';\n\nimport {\n closeDevelopmentSessionAsync,\n updateDevelopmentSessionAsync,\n} from '../../api/updateDevelopmentSession';\nimport { getUserAsync } from '../../api/user/user';\nimport { env } from '../../utils/env';\nimport * as ProjectDevices from '../project/devices';\n\nconst debug = require('debug')('expo:start:server:developmentSession') as typeof console.log;\n\nconst UPDATE_FREQUENCY = 20 * 1000; // 20 seconds\n\nasync function isAuthenticatedAsync(): Promise<boolean> {\n return !!(await getUserAsync().catch(() => null));\n}\n\nexport class DevelopmentSession {\n protected timeout: NodeJS.Timeout | null = null;\n\n constructor(\n /** Project root directory. */\n private projectRoot: string,\n /** Development Server URL. */\n public url: string | null,\n /** Catch any errors that may occur during the `startAsync` method. */\n private onError: (error: Error) => void\n ) {}\n\n /**\n * Notify the Expo servers that a project is running, this enables the Expo Go app\n * and Dev Clients to offer a \"recently in development\" section for quick access.\n *\n * This method starts an interval that will continue to ping the servers until we stop it.\n *\n * @param projectRoot Project root folder, used for retrieving device installation IDs.\n * @param props.exp Partial Expo config with values that will be used in the Expo Go app.\n * @param props.runtime which runtime the app should be opened in. `native` for dev clients, `web` for web browsers.\n */\n public async startAsync({\n exp = getConfig(this.projectRoot).exp,\n runtime,\n }: {\n exp?: Pick<ExpoConfig, 'name' | 'description' | 'slug' | 'primaryColor'>;\n runtime: 'native' | 'web';\n }): Promise<void> {\n try {\n if (env.EXPO_OFFLINE) {\n debug(\n 'This project will not be suggested in Expo Go or Dev Clients because Expo CLI is running in offline-mode.'\n );\n this.stopNotifying();\n return;\n }\n\n const deviceIds = await this.getDeviceInstallationIdsAsync();\n\n if (!(await isAuthenticatedAsync()) && !deviceIds?.length) {\n debug(\n 'Development session will not ping because the user is not authenticated and there are no devices.'\n );\n this.stopNotifying();\n return;\n }\n\n if (this.url) {\n // debug(`Development session ping (runtime: ${runtime}, url: ${this.url})`);\n\n await updateDevelopmentSessionAsync({\n url: this.url,\n runtime,\n exp,\n deviceIds,\n });\n }\n\n this.stopNotifying();\n\n this.timeout = setTimeout(() => this.startAsync({ exp, runtime }), UPDATE_FREQUENCY);\n } catch (error: any) {\n debug(`Error updating development session API: ${error}`);\n this.stopNotifying();\n this.onError(error);\n }\n }\n\n /** Get all recent devices for the project. */\n private async getDeviceInstallationIdsAsync(): Promise<string[]> {\n const { devices } = await ProjectDevices.getDevicesInfoAsync(this.projectRoot);\n return devices.map(({ installationId }) => installationId);\n }\n\n /** Stop notifying the Expo servers that the development session is running. */\n public stopNotifying() {\n if (this.timeout) {\n clearTimeout(this.timeout);\n }\n this.timeout = null;\n }\n\n public async closeAsync(): Promise<void> {\n this.stopNotifying();\n\n const deviceIds = await this.getDeviceInstallationIdsAsync();\n\n if (!(await isAuthenticatedAsync()) && !deviceIds?.length) {\n return;\n }\n\n if (this.url) {\n await closeDevelopmentSessionAsync({\n url: this.url,\n deviceIds,\n });\n }\n }\n}\n"],"names":["DevelopmentSession","debug","require","UPDATE_FREQUENCY","isAuthenticatedAsync","getUserAsync","catch","constructor","projectRoot","url","onError","timeout","startAsync","exp","getConfig","runtime","env","EXPO_OFFLINE","stopNotifying","deviceIds","getDeviceInstallationIdsAsync","length","updateDevelopmentSessionAsync","setTimeout","error","devices","ProjectDevices","getDevicesInfoAsync","map","installationId","clearTimeout","closeAsync","closeDevelopmentSessionAsync"],"mappings":"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"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
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
|
+
startReactDevToolsProxyAsync: ()=>startReactDevToolsProxyAsync,
|
|
13
|
+
closeReactDevToolsProxy: ()=>closeReactDevToolsProxy,
|
|
14
|
+
addReactDevToolsReloadListener: ()=>addReactDevToolsReloadListener
|
|
15
|
+
});
|
|
16
|
+
function _assert() {
|
|
17
|
+
const data = /*#__PURE__*/ _interopRequireDefault(require("assert"));
|
|
18
|
+
_assert = function() {
|
|
19
|
+
return data;
|
|
20
|
+
};
|
|
21
|
+
return data;
|
|
22
|
+
}
|
|
23
|
+
function _events() {
|
|
24
|
+
const data = require("events");
|
|
25
|
+
_events = function() {
|
|
26
|
+
return data;
|
|
27
|
+
};
|
|
28
|
+
return data;
|
|
29
|
+
}
|
|
30
|
+
function _ws() {
|
|
31
|
+
const data = /*#__PURE__*/ _interopRequireDefault(require("ws"));
|
|
32
|
+
_ws = function() {
|
|
33
|
+
return data;
|
|
34
|
+
};
|
|
35
|
+
return data;
|
|
36
|
+
}
|
|
37
|
+
function _interopRequireDefault(obj) {
|
|
38
|
+
return obj && obj.__esModule ? obj : {
|
|
39
|
+
default: obj
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
let serverInstance = null;
|
|
43
|
+
const eventEmitter = new (_events()).EventEmitter();
|
|
44
|
+
/**
|
|
45
|
+
* Private command to support DevTools frontend reload.
|
|
46
|
+
*
|
|
47
|
+
* The react-devtools maintains state between frontend(webpage) and backend(app).
|
|
48
|
+
* If we reload the frontend without reloading the app, the react-devtools will stuck on incorrect state.
|
|
49
|
+
* We introduce this special reload command.
|
|
50
|
+
* As long as the frontend reload, we will close app's WebSocket connection and tell app to reconnect again.
|
|
51
|
+
*/ const RELOAD_COMMAND = "Expo::RELOAD";
|
|
52
|
+
async function startReactDevToolsProxyAsync(options) {
|
|
53
|
+
if (serverInstance != null) {
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
var ref;
|
|
57
|
+
serverInstance = new (_ws()).default.WebSocketServer({
|
|
58
|
+
port: (ref = options == null ? void 0 : options.port) != null ? ref : 8097
|
|
59
|
+
});
|
|
60
|
+
serverInstance.on("connection", function connection(ws) {
|
|
61
|
+
ws.on("message", function message(rawData, isBinary) {
|
|
62
|
+
(0, _assert().default)(!isBinary);
|
|
63
|
+
const data = rawData.toString();
|
|
64
|
+
if (data === RELOAD_COMMAND) {
|
|
65
|
+
closeAllOtherClients(ws);
|
|
66
|
+
eventEmitter.emit(RELOAD_COMMAND);
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
69
|
+
serverInstance == null ? void 0 : serverInstance.clients.forEach(function each(client) {
|
|
70
|
+
if (client !== ws && client.readyState === _ws().default.OPEN) {
|
|
71
|
+
client.send(data, {
|
|
72
|
+
binary: isBinary
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
});
|
|
76
|
+
});
|
|
77
|
+
});
|
|
78
|
+
serverInstance.on("close", function() {
|
|
79
|
+
serverInstance = null;
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
function closeReactDevToolsProxy() {
|
|
83
|
+
serverInstance == null ? void 0 : serverInstance.close();
|
|
84
|
+
serverInstance = null;
|
|
85
|
+
}
|
|
86
|
+
function addReactDevToolsReloadListener(listener) {
|
|
87
|
+
eventEmitter.addListener(RELOAD_COMMAND, listener);
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Close all other WebSocket clients other than the current `self` client
|
|
91
|
+
*/ function closeAllOtherClients(self) {
|
|
92
|
+
serverInstance == null ? void 0 : serverInstance.clients.forEach(function each(client) {
|
|
93
|
+
if (client !== self && client.readyState === _ws().default.OPEN) {
|
|
94
|
+
client.close();
|
|
95
|
+
}
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
//# sourceMappingURL=ReactDevToolsProxy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/start/server/ReactDevToolsProxy.ts"],"sourcesContent":["import assert from 'assert';\nimport { EventEmitter } from 'events';\nimport WebSocket from 'ws';\n\nlet serverInstance: WebSocket.WebSocketServer | null = null;\n\nconst eventEmitter = new EventEmitter();\n\n/**\n * Private command to support DevTools frontend reload.\n *\n * The react-devtools maintains state between frontend(webpage) and backend(app).\n * If we reload the frontend without reloading the app, the react-devtools will stuck on incorrect state.\n * We introduce this special reload command.\n * As long as the frontend reload, we will close app's WebSocket connection and tell app to reconnect again.\n */\nconst RELOAD_COMMAND = 'Expo::RELOAD';\n\n/**\n * Start the react-devtools WebSocket proxy server\n */\nexport async function startReactDevToolsProxyAsync(options?: { port: number }) {\n if (serverInstance != null) {\n return;\n }\n\n serverInstance = new WebSocket.WebSocketServer({ port: options?.port ?? 8097 });\n\n serverInstance.on('connection', function connection(ws) {\n ws.on('message', function message(rawData, isBinary) {\n assert(!isBinary);\n const data = rawData.toString();\n\n if (data === RELOAD_COMMAND) {\n closeAllOtherClients(ws);\n eventEmitter.emit(RELOAD_COMMAND);\n return;\n }\n\n serverInstance?.clients.forEach(function each(client) {\n if (client !== ws && client.readyState === WebSocket.OPEN) {\n client.send(data, { binary: isBinary });\n }\n });\n });\n });\n\n serverInstance.on('close', function () {\n serverInstance = null;\n });\n}\n\n/**\n * Close the WebSocket server\n */\nexport function closeReactDevToolsProxy() {\n serverInstance?.close();\n serverInstance = null;\n}\n\n/**\n * add event listener from react-devtools frontend reload\n */\nexport function addReactDevToolsReloadListener(listener: (...args: any[]) => void) {\n eventEmitter.addListener(RELOAD_COMMAND, listener);\n}\n\n/**\n * Close all other WebSocket clients other than the current `self` client\n */\nfunction closeAllOtherClients(self: WebSocket.WebSocket) {\n serverInstance?.clients.forEach(function each(client) {\n if (client !== self && client.readyState === WebSocket.OPEN) {\n client.close();\n }\n });\n}\n"],"names":["startReactDevToolsProxyAsync","closeReactDevToolsProxy","addReactDevToolsReloadListener","serverInstance","eventEmitter","EventEmitter","RELOAD_COMMAND","options","WebSocket","WebSocketServer","port","on","connection","ws","message","rawData","isBinary","assert","data","toString","closeAllOtherClients","emit","clients","forEach","each","client","readyState","OPEN","send","binary","close","listener","addListener","self"],"mappings":"AAAA;;;;;;;;;;;IAqBsBA,4BAA4B,MAA5BA,4BAA4B;IAkClCC,uBAAuB,MAAvBA,uBAAuB;IAQvBC,8BAA8B,MAA9BA,8BAA8B;;;8DA/D3B,QAAQ;;;;;;;yBACE,QAAQ;;;;;;;8DACf,IAAI;;;;;;;;;;;AAE1B,IAAIC,cAAc,GAAqC,IAAI,AAAC;AAE5D,MAAMC,YAAY,GAAG,IAAIC,CAAAA,OAAY,EAAA,CAAA,aAAA,EAAE,AAAC;AAExC;;;;;;;CAOC,GACD,MAAMC,cAAc,GAAG,cAAc,AAAC;AAK/B,eAAeN,4BAA4B,CAACO,OAA0B,EAAE;IAC7E,IAAIJ,cAAc,IAAI,IAAI,EAAE;QAC1B,OAAO;IACT,CAAC;QAEsDI,GAAa;IAApEJ,cAAc,GAAG,IAAIK,CAAAA,GAAS,EAAA,CAAA,QAAA,CAACC,eAAe,CAAC;QAAEC,IAAI,EAAEH,CAAAA,GAAa,GAAbA,OAAO,QAAM,GAAbA,KAAAA,CAAa,GAAbA,OAAO,CAAEG,IAAI,YAAbH,GAAa,GAAI,IAAI;KAAE,CAAC,CAAC;IAEhFJ,cAAc,CAACQ,EAAE,CAAC,YAAY,EAAE,SAASC,UAAU,CAACC,EAAE,EAAE;QACtDA,EAAE,CAACF,EAAE,CAAC,SAAS,EAAE,SAASG,OAAO,CAACC,OAAO,EAAEC,QAAQ,EAAE;YACnDC,IAAAA,OAAM,EAAA,QAAA,EAAC,CAACD,QAAQ,CAAC,CAAC;YAClB,MAAME,IAAI,GAAGH,OAAO,CAACI,QAAQ,EAAE,AAAC;YAEhC,IAAID,IAAI,KAAKZ,cAAc,EAAE;gBAC3Bc,oBAAoB,CAACP,EAAE,CAAC,CAAC;gBACzBT,YAAY,CAACiB,IAAI,CAACf,cAAc,CAAC,CAAC;gBAClC,OAAO;YACT,CAAC;YAEDH,cAAc,QAAS,GAAvBA,KAAAA,CAAuB,GAAvBA,cAAc,CAAEmB,OAAO,CAACC,OAAO,CAAC,SAASC,IAAI,CAACC,MAAM,EAAE;gBACpD,IAAIA,MAAM,KAAKZ,EAAE,IAAIY,MAAM,CAACC,UAAU,KAAKlB,GAAS,EAAA,QAAA,CAACmB,IAAI,EAAE;oBACzDF,MAAM,CAACG,IAAI,CAACV,IAAI,EAAE;wBAAEW,MAAM,EAAEb,QAAQ;qBAAE,CAAC,CAAC;gBAC1C,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEHb,cAAc,CAACQ,EAAE,CAAC,OAAO,EAAE,WAAY;QACrCR,cAAc,GAAG,IAAI,CAAC;IACxB,CAAC,CAAC,CAAC;AACL,CAAC;AAKM,SAASF,uBAAuB,GAAG;IACxCE,cAAc,QAAO,GAArBA,KAAAA,CAAqB,GAArBA,cAAc,CAAE2B,KAAK,EAAE,CAAC;IACxB3B,cAAc,GAAG,IAAI,CAAC;AACxB,CAAC;AAKM,SAASD,8BAA8B,CAAC6B,QAAkC,EAAE;IACjF3B,YAAY,CAAC4B,WAAW,CAAC1B,cAAc,EAAEyB,QAAQ,CAAC,CAAC;AACrD,CAAC;AAED;;CAEC,GACD,SAASX,oBAAoB,CAACa,IAAyB,EAAE;IACvD9B,cAAc,QAAS,GAAvBA,KAAAA,CAAuB,GAAvBA,cAAc,CAAEmB,OAAO,CAACC,OAAO,CAAC,SAASC,IAAI,CAACC,MAAM,EAAE;QACpD,IAAIA,MAAM,KAAKQ,IAAI,IAAIR,MAAM,CAACC,UAAU,KAAKlB,GAAS,EAAA,QAAA,CAACmB,IAAI,EAAE;YAC3DF,MAAM,CAACK,KAAK,EAAE,CAAC;QACjB,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC"}
|