@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,982 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright © 2022 650 Industries.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/ "use strict";
|
|
7
|
+
Object.defineProperty(exports, "__esModule", {
|
|
8
|
+
value: true
|
|
9
|
+
});
|
|
10
|
+
function _export(target, all) {
|
|
11
|
+
for(var name in all)Object.defineProperty(target, name, {
|
|
12
|
+
enumerable: true,
|
|
13
|
+
get: all[name]
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
_export(exports, {
|
|
17
|
+
MetroBundlerDevServer: ()=>MetroBundlerDevServer,
|
|
18
|
+
getDeepLinkHandler: ()=>getDeepLinkHandler
|
|
19
|
+
});
|
|
20
|
+
function _config() {
|
|
21
|
+
const data = require("@expo/config");
|
|
22
|
+
_config = function() {
|
|
23
|
+
return data;
|
|
24
|
+
};
|
|
25
|
+
return data;
|
|
26
|
+
}
|
|
27
|
+
function _env() {
|
|
28
|
+
const data = /*#__PURE__*/ _interopRequireWildcard(require("@expo/env"));
|
|
29
|
+
_env = function() {
|
|
30
|
+
return data;
|
|
31
|
+
};
|
|
32
|
+
return data;
|
|
33
|
+
}
|
|
34
|
+
function _assert() {
|
|
35
|
+
const data = /*#__PURE__*/ _interopRequireDefault(require("assert"));
|
|
36
|
+
_assert = function() {
|
|
37
|
+
return data;
|
|
38
|
+
};
|
|
39
|
+
return data;
|
|
40
|
+
}
|
|
41
|
+
function _chalk() {
|
|
42
|
+
const data = /*#__PURE__*/ _interopRequireDefault(require("chalk"));
|
|
43
|
+
_chalk = function() {
|
|
44
|
+
return data;
|
|
45
|
+
};
|
|
46
|
+
return data;
|
|
47
|
+
}
|
|
48
|
+
function _baseJSBundle() {
|
|
49
|
+
const data = /*#__PURE__*/ _interopRequireDefault(require("metro/src/DeltaBundler/Serializers/baseJSBundle"));
|
|
50
|
+
_baseJSBundle = function() {
|
|
51
|
+
return data;
|
|
52
|
+
};
|
|
53
|
+
return data;
|
|
54
|
+
}
|
|
55
|
+
function _sourceMapGenerator() {
|
|
56
|
+
const data = require("metro/src/DeltaBundler/Serializers/sourceMapGenerator");
|
|
57
|
+
_sourceMapGenerator = function() {
|
|
58
|
+
return data;
|
|
59
|
+
};
|
|
60
|
+
return data;
|
|
61
|
+
}
|
|
62
|
+
function _bundleToString() {
|
|
63
|
+
const data = /*#__PURE__*/ _interopRequireDefault(require("metro/src/lib/bundleToString"));
|
|
64
|
+
_bundleToString = function() {
|
|
65
|
+
return data;
|
|
66
|
+
};
|
|
67
|
+
return data;
|
|
68
|
+
}
|
|
69
|
+
function _path() {
|
|
70
|
+
const data = /*#__PURE__*/ _interopRequireDefault(require("path"));
|
|
71
|
+
_path = function() {
|
|
72
|
+
return data;
|
|
73
|
+
};
|
|
74
|
+
return data;
|
|
75
|
+
}
|
|
76
|
+
const _createServerRouteMiddleware = require("./createServerRouteMiddleware");
|
|
77
|
+
const _fetchRouterManifest = require("./fetchRouterManifest");
|
|
78
|
+
const _instantiateMetro = require("./instantiateMetro");
|
|
79
|
+
const _metroErrorInterface = require("./metroErrorInterface");
|
|
80
|
+
const _metroPrivateServer = require("./metroPrivateServer");
|
|
81
|
+
const _metroWatchTypeScriptFiles = require("./metroWatchTypeScriptFiles");
|
|
82
|
+
const _router = require("./router");
|
|
83
|
+
const _serializeHtml = require("./serializeHtml");
|
|
84
|
+
const _waitForMetroToObserveTypeScriptFile = require("./waitForMetroToObserveTypeScriptFile");
|
|
85
|
+
const _log = require("../../../log");
|
|
86
|
+
const _getDevClientProperties = /*#__PURE__*/ _interopRequireDefault(require("../../../utils/analytics/getDevClientProperties"));
|
|
87
|
+
const _env1 = require("../../../utils/env");
|
|
88
|
+
const _errors = require("../../../utils/errors");
|
|
89
|
+
const _port = require("../../../utils/port");
|
|
90
|
+
const _telemetry = require("../../../utils/telemetry");
|
|
91
|
+
const _bundlerDevServer = require("../BundlerDevServer");
|
|
92
|
+
const _getStaticRenderFunctions = require("../getStaticRenderFunctions");
|
|
93
|
+
const _contextModuleSourceMapsMiddleware = require("../middleware/ContextModuleSourceMapsMiddleware");
|
|
94
|
+
const _createFileMiddleware = require("../middleware/CreateFileMiddleware");
|
|
95
|
+
const _devToolsPluginMiddleware = require("../middleware/DevToolsPluginMiddleware");
|
|
96
|
+
const _faviconMiddleware = require("../middleware/FaviconMiddleware");
|
|
97
|
+
const _historyFallbackMiddleware = require("../middleware/HistoryFallbackMiddleware");
|
|
98
|
+
const _interstitialPageMiddleware = require("../middleware/InterstitialPageMiddleware");
|
|
99
|
+
const _manifestMiddleware = require("../middleware/ManifestMiddleware");
|
|
100
|
+
const _reactDevToolsPageMiddleware = require("../middleware/ReactDevToolsPageMiddleware");
|
|
101
|
+
const _runtimeRedirectMiddleware = require("../middleware/RuntimeRedirectMiddleware");
|
|
102
|
+
const _serveStaticMiddleware = require("../middleware/ServeStaticMiddleware");
|
|
103
|
+
const _metroOptions = require("../middleware/metroOptions");
|
|
104
|
+
const _mutations = require("../middleware/mutations");
|
|
105
|
+
const _startTypescriptTypeGeneration = require("../type-generation/startTypescriptTypeGeneration");
|
|
106
|
+
function _interopRequireDefault(obj) {
|
|
107
|
+
return obj && obj.__esModule ? obj : {
|
|
108
|
+
default: obj
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
function _getRequireWildcardCache(nodeInterop) {
|
|
112
|
+
if (typeof WeakMap !== "function") return null;
|
|
113
|
+
var cacheBabelInterop = new WeakMap();
|
|
114
|
+
var cacheNodeInterop = new WeakMap();
|
|
115
|
+
return (_getRequireWildcardCache = function(nodeInterop) {
|
|
116
|
+
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
|
117
|
+
})(nodeInterop);
|
|
118
|
+
}
|
|
119
|
+
function _interopRequireWildcard(obj, nodeInterop) {
|
|
120
|
+
if (!nodeInterop && obj && obj.__esModule) {
|
|
121
|
+
return obj;
|
|
122
|
+
}
|
|
123
|
+
if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
|
|
124
|
+
return {
|
|
125
|
+
default: obj
|
|
126
|
+
};
|
|
127
|
+
}
|
|
128
|
+
var cache = _getRequireWildcardCache(nodeInterop);
|
|
129
|
+
if (cache && cache.has(obj)) {
|
|
130
|
+
return cache.get(obj);
|
|
131
|
+
}
|
|
132
|
+
var newObj = {};
|
|
133
|
+
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
134
|
+
for(var key in obj){
|
|
135
|
+
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
136
|
+
var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
|
|
137
|
+
if (desc && (desc.get || desc.set)) {
|
|
138
|
+
Object.defineProperty(newObj, key, desc);
|
|
139
|
+
} else {
|
|
140
|
+
newObj[key] = obj[key];
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
newObj.default = obj;
|
|
145
|
+
if (cache) {
|
|
146
|
+
cache.set(obj, newObj);
|
|
147
|
+
}
|
|
148
|
+
return newObj;
|
|
149
|
+
}
|
|
150
|
+
const debug = require("debug")("expo:start:server:metro");
|
|
151
|
+
const getGraphId = require("metro/src/lib/getGraphId");
|
|
152
|
+
/** Default port to use for apps running in Expo Go. */ const EXPO_GO_METRO_PORT = 8081;
|
|
153
|
+
/** Default port to use for apps that run in standard React Native projects or Expo Dev Clients. */ const DEV_CLIENT_METRO_PORT = 8081;
|
|
154
|
+
class MetroBundlerDevServer extends _bundlerDevServer.BundlerDevServer {
|
|
155
|
+
metro = null;
|
|
156
|
+
get name() {
|
|
157
|
+
return "metro";
|
|
158
|
+
}
|
|
159
|
+
async resolvePortAsync(options = {}) {
|
|
160
|
+
var // If the manually defined port is busy then an error should be thrown...
|
|
161
|
+
_port1;
|
|
162
|
+
const port = (_port1 = options.port) != null ? _port1 : // Otherwise use the default port based on the runtime target.
|
|
163
|
+
(options.devClient ? Number(process.env.RCT_METRO_PORT) || DEV_CLIENT_METRO_PORT : await (0, _port.getFreePortAsync)(EXPO_GO_METRO_PORT));
|
|
164
|
+
return port;
|
|
165
|
+
}
|
|
166
|
+
async exportExpoRouterApiRoutesAsync({ includeSourceMaps , outputDir , prerenderManifest }) {
|
|
167
|
+
const { routerRoot } = this.instanceMetroOptions;
|
|
168
|
+
(0, _assert().default)(routerRoot != null, "The server must be started before calling exportExpoRouterApiRoutesAsync.");
|
|
169
|
+
const appDir = _path().default.join(this.projectRoot, routerRoot);
|
|
170
|
+
const manifest = await this.getExpoRouterRoutesManifestAsync({
|
|
171
|
+
appDir
|
|
172
|
+
});
|
|
173
|
+
const files = new Map();
|
|
174
|
+
for (const route of manifest.apiRoutes){
|
|
175
|
+
const filepath = _path().default.join(appDir, route.file);
|
|
176
|
+
const contents = await this.bundleApiRoute(filepath);
|
|
177
|
+
const artifactFilename = _path().default.join(outputDir, _path().default.relative(appDir, filepath.replace(/\.[tj]sx?$/, ".js")));
|
|
178
|
+
if (contents) {
|
|
179
|
+
let src = contents.src;
|
|
180
|
+
if (includeSourceMaps && contents.map) {
|
|
181
|
+
// TODO(kitten): Merge the source map transformer in the future
|
|
182
|
+
// https://github.com/expo/expo/blob/0dffdb15/packages/%40expo/metro-config/src/serializer/serializeChunks.ts#L422-L439
|
|
183
|
+
// Alternatively, check whether `sourcesRoot` helps here
|
|
184
|
+
const artifactBasename = encodeURIComponent(_path().default.basename(artifactFilename) + ".map");
|
|
185
|
+
src = src.replace(/\/\/# sourceMappingURL=.*/g, `//# sourceMappingURL=${artifactBasename}`);
|
|
186
|
+
const parsedMap = JSON.parse(contents.map);
|
|
187
|
+
files.set(artifactFilename + ".map", {
|
|
188
|
+
contents: JSON.stringify({
|
|
189
|
+
version: parsedMap.version,
|
|
190
|
+
sources: parsedMap.sources.map((source)=>{
|
|
191
|
+
source = typeof source === "string" && source.startsWith(this.projectRoot) ? _path().default.relative(this.projectRoot, source) : source;
|
|
192
|
+
return source.split(_path().default.sep).join("/");
|
|
193
|
+
}),
|
|
194
|
+
sourcesContent: new Array(parsedMap.sources.length).fill(null),
|
|
195
|
+
names: parsedMap.names,
|
|
196
|
+
mappings: parsedMap.mappings
|
|
197
|
+
}),
|
|
198
|
+
targetDomain: "server"
|
|
199
|
+
});
|
|
200
|
+
}
|
|
201
|
+
files.set(artifactFilename, {
|
|
202
|
+
contents: src,
|
|
203
|
+
targetDomain: "server"
|
|
204
|
+
});
|
|
205
|
+
}
|
|
206
|
+
// Remap the manifest files to represent the output files.
|
|
207
|
+
route.file = artifactFilename;
|
|
208
|
+
}
|
|
209
|
+
return {
|
|
210
|
+
manifest: {
|
|
211
|
+
...manifest,
|
|
212
|
+
htmlRoutes: prerenderManifest.htmlRoutes
|
|
213
|
+
},
|
|
214
|
+
files
|
|
215
|
+
};
|
|
216
|
+
}
|
|
217
|
+
async getExpoRouterRoutesManifestAsync({ appDir }) {
|
|
218
|
+
var ref, ref1;
|
|
219
|
+
// getBuiltTimeServerManifest
|
|
220
|
+
const { exp } = (0, _config().getConfig)(this.projectRoot);
|
|
221
|
+
const manifest = await (0, _fetchRouterManifest.fetchManifest)(this.projectRoot, {
|
|
222
|
+
...(ref = exp.extra) == null ? void 0 : (ref1 = ref.router) == null ? void 0 : ref1.platformRoutes,
|
|
223
|
+
asJson: true,
|
|
224
|
+
appDir
|
|
225
|
+
});
|
|
226
|
+
if (!manifest) {
|
|
227
|
+
throw new _errors.CommandError("EXPO_ROUTER_SERVER_MANIFEST", "Unexpected error: server manifest could not be fetched.");
|
|
228
|
+
}
|
|
229
|
+
return manifest;
|
|
230
|
+
}
|
|
231
|
+
async getStaticRenderFunctionAsync() {
|
|
232
|
+
var ref;
|
|
233
|
+
const { mode , minify , isExporting } = this.instanceMetroOptions;
|
|
234
|
+
(0, _assert().default)(mode != null && isExporting != null, "The server must be started before calling ssrLoadModule.");
|
|
235
|
+
const url = this.getDevServerUrl();
|
|
236
|
+
const { getStaticContent , getManifest , getBuildTimeServerManifestAsync } = await this.ssrLoadModule("expo-router/node/render.js", {
|
|
237
|
+
minify,
|
|
238
|
+
mode,
|
|
239
|
+
isExporting
|
|
240
|
+
});
|
|
241
|
+
const { exp } = (0, _config().getConfig)(this.projectRoot);
|
|
242
|
+
return {
|
|
243
|
+
serverManifest: await getBuildTimeServerManifestAsync(),
|
|
244
|
+
// Get routes from Expo Router.
|
|
245
|
+
manifest: await getManifest({
|
|
246
|
+
preserveApiRoutes: false,
|
|
247
|
+
...(ref = exp.extra) == null ? void 0 : ref.router
|
|
248
|
+
}),
|
|
249
|
+
// Get route generating function
|
|
250
|
+
async renderAsync (path) {
|
|
251
|
+
return await getStaticContent(new URL(path, url));
|
|
252
|
+
}
|
|
253
|
+
};
|
|
254
|
+
}
|
|
255
|
+
async getStaticResourcesAsync({ includeSourceMaps , mainModuleName } = {}) {
|
|
256
|
+
const { mode , minify , isExporting , baseUrl , routerRoot , asyncRoutes } = this.instanceMetroOptions;
|
|
257
|
+
(0, _assert().default)(mode != null && isExporting != null && baseUrl != null && routerRoot != null && asyncRoutes != null, "The server must be started before calling getStaticResourcesAsync.");
|
|
258
|
+
const platform = "web";
|
|
259
|
+
const resolvedMainModuleName = mainModuleName != null ? mainModuleName : "." + _path().default.sep + (0, _manifestMiddleware.resolveMainModuleName)(this.projectRoot, {
|
|
260
|
+
platform
|
|
261
|
+
});
|
|
262
|
+
return await this.metroImportAsArtifactsAsync(resolvedMainModuleName, {
|
|
263
|
+
splitChunks: isExporting && !_env1.env.EXPO_NO_BUNDLE_SPLITTING,
|
|
264
|
+
platform,
|
|
265
|
+
mode,
|
|
266
|
+
minify,
|
|
267
|
+
environment: "client",
|
|
268
|
+
serializerOutput: "static",
|
|
269
|
+
serializerIncludeMaps: includeSourceMaps,
|
|
270
|
+
mainModuleName: resolvedMainModuleName,
|
|
271
|
+
lazy: (0, _metroOptions.shouldEnableAsyncImports)(this.projectRoot),
|
|
272
|
+
asyncRoutes,
|
|
273
|
+
baseUrl,
|
|
274
|
+
isExporting,
|
|
275
|
+
routerRoot,
|
|
276
|
+
bytecode: false
|
|
277
|
+
});
|
|
278
|
+
}
|
|
279
|
+
async getStaticPageAsync(pathname) {
|
|
280
|
+
const { mode , isExporting , baseUrl , routerRoot , asyncRoutes } = this.instanceMetroOptions;
|
|
281
|
+
(0, _assert().default)(mode != null && isExporting != null && baseUrl != null && routerRoot != null && asyncRoutes != null, "The server must be started before calling getStaticPageAsync.");
|
|
282
|
+
const platform = "web";
|
|
283
|
+
const devBundleUrlPathname = (0, _metroOptions.createBundleUrlPath)({
|
|
284
|
+
splitChunks: isExporting && !_env1.env.EXPO_NO_BUNDLE_SPLITTING,
|
|
285
|
+
platform,
|
|
286
|
+
mode,
|
|
287
|
+
environment: "client",
|
|
288
|
+
mainModuleName: (0, _manifestMiddleware.resolveMainModuleName)(this.projectRoot, {
|
|
289
|
+
platform
|
|
290
|
+
}),
|
|
291
|
+
lazy: (0, _metroOptions.shouldEnableAsyncImports)(this.projectRoot),
|
|
292
|
+
baseUrl,
|
|
293
|
+
isExporting,
|
|
294
|
+
asyncRoutes,
|
|
295
|
+
routerRoot,
|
|
296
|
+
bytecode: false
|
|
297
|
+
});
|
|
298
|
+
const bundleStaticHtml = async ()=>{
|
|
299
|
+
const { getStaticContent } = await this.ssrLoadModule("expo-router/node/render.js", {
|
|
300
|
+
minify: false,
|
|
301
|
+
mode,
|
|
302
|
+
isExporting,
|
|
303
|
+
platform
|
|
304
|
+
});
|
|
305
|
+
const location = new URL(pathname, this.getDevServerUrl());
|
|
306
|
+
return await getStaticContent(location);
|
|
307
|
+
};
|
|
308
|
+
const [{ artifacts: resources }, staticHtml] = await Promise.all([
|
|
309
|
+
this.getStaticResourcesAsync(),
|
|
310
|
+
bundleStaticHtml(),
|
|
311
|
+
]);
|
|
312
|
+
const content = (0, _serializeHtml.serializeHtmlWithAssets)({
|
|
313
|
+
isExporting,
|
|
314
|
+
resources,
|
|
315
|
+
template: staticHtml,
|
|
316
|
+
devBundleUrl: devBundleUrlPathname,
|
|
317
|
+
baseUrl
|
|
318
|
+
});
|
|
319
|
+
return {
|
|
320
|
+
content,
|
|
321
|
+
resources
|
|
322
|
+
};
|
|
323
|
+
}
|
|
324
|
+
// Set when the server is started.
|
|
325
|
+
instanceMetroOptions = {};
|
|
326
|
+
async ssrLoadModule(filePath, specificOptions = {}) {
|
|
327
|
+
const res = await this.ssrLoadModuleContents(filePath, specificOptions);
|
|
328
|
+
return await (0, _getStaticRenderFunctions.evalMetroAndWrapFunctions)(this.projectRoot, res.src, res.filename);
|
|
329
|
+
}
|
|
330
|
+
async metroImportAsArtifactsAsync(filePath, specificOptions = {}) {
|
|
331
|
+
const results = await this.ssrLoadModuleContents(filePath, {
|
|
332
|
+
serializerOutput: "static",
|
|
333
|
+
...specificOptions
|
|
334
|
+
});
|
|
335
|
+
// NOTE: This could potentially need more validation in the future.
|
|
336
|
+
if (results.artifacts && results.assets) {
|
|
337
|
+
return {
|
|
338
|
+
artifacts: results.artifacts,
|
|
339
|
+
assets: results.assets,
|
|
340
|
+
src: results.src,
|
|
341
|
+
filename: results.filename,
|
|
342
|
+
map: results.map
|
|
343
|
+
};
|
|
344
|
+
}
|
|
345
|
+
throw new _errors.CommandError("Invalid bundler results: " + results);
|
|
346
|
+
}
|
|
347
|
+
async metroLoadModuleContents(filePath, specificOptions, extraOptions = {}) {
|
|
348
|
+
const { baseUrl } = this.instanceMetroOptions;
|
|
349
|
+
(0, _assert().default)(baseUrl != null, "The server must be started before calling metroLoadModuleContents.");
|
|
350
|
+
const opts = {
|
|
351
|
+
// TODO: Possibly issues with using an absolute path here...
|
|
352
|
+
// mainModuleName: filePath,
|
|
353
|
+
lazy: false,
|
|
354
|
+
asyncRoutes: false,
|
|
355
|
+
inlineSourceMap: false,
|
|
356
|
+
engine: "hermes",
|
|
357
|
+
minify: false,
|
|
358
|
+
// bytecode: false,
|
|
359
|
+
// Bundle in Node.js mode for SSR.
|
|
360
|
+
environment: "node",
|
|
361
|
+
// platform: 'web',
|
|
362
|
+
// mode: 'development',
|
|
363
|
+
//
|
|
364
|
+
...this.instanceMetroOptions,
|
|
365
|
+
baseUrl,
|
|
366
|
+
// routerRoot,
|
|
367
|
+
// isExporting,
|
|
368
|
+
...specificOptions
|
|
369
|
+
};
|
|
370
|
+
const expoBundleOptions = (0, _metroOptions.getMetroDirectBundleOptions)(opts);
|
|
371
|
+
var _customResolverOptions, _dev;
|
|
372
|
+
const resolverOptions = {
|
|
373
|
+
customResolverOptions: (_customResolverOptions = expoBundleOptions.customResolverOptions) != null ? _customResolverOptions : {},
|
|
374
|
+
dev: (_dev = expoBundleOptions.dev) != null ? _dev : true
|
|
375
|
+
};
|
|
376
|
+
var _dev1, _minify, _unstable_transformProfile, ref, _customTransformOptions, _platform;
|
|
377
|
+
const transformOptions = {
|
|
378
|
+
dev: (_dev1 = expoBundleOptions.dev) != null ? _dev1 : true,
|
|
379
|
+
hot: true,
|
|
380
|
+
minify: (_minify = expoBundleOptions.minify) != null ? _minify : false,
|
|
381
|
+
type: "module",
|
|
382
|
+
unstable_transformProfile: (ref = (_unstable_transformProfile = extraOptions.unstable_transformProfile) != null ? _unstable_transformProfile : expoBundleOptions.unstable_transformProfile) != null ? ref : "default",
|
|
383
|
+
customTransformOptions: (_customTransformOptions = expoBundleOptions.customTransformOptions) != null ? _customTransformOptions : Object.create(null),
|
|
384
|
+
platform: (_platform = expoBundleOptions.platform) != null ? _platform : "web",
|
|
385
|
+
runtimeBytecodeVersion: expoBundleOptions.runtimeBytecodeVersion
|
|
386
|
+
};
|
|
387
|
+
const resolvedEntryFilePath = await this.resolveRelativePathAsync(filePath, {
|
|
388
|
+
resolverOptions,
|
|
389
|
+
transformOptions
|
|
390
|
+
});
|
|
391
|
+
// Use fully qualified URL with all options to represent the file path that's used for source maps and HMR. This prevents collisions.
|
|
392
|
+
const filename = (0, _metroOptions.createBundleUrlPath)({
|
|
393
|
+
...opts,
|
|
394
|
+
mainModuleName: resolvedEntryFilePath
|
|
395
|
+
});
|
|
396
|
+
var _lazy, _shallow, _inlineSourceMap, _modulesOnly, _runModule, _sourceMapUrl;
|
|
397
|
+
// https://github.com/facebook/metro/blob/2405f2f6c37a1b641cc379b9c733b1eff0c1c2a1/packages/metro/src/lib/parseOptionsFromUrl.js#L55-L87
|
|
398
|
+
const results = await this._bundleDirectAsync(resolvedEntryFilePath, {
|
|
399
|
+
graphOptions: {
|
|
400
|
+
lazy: (_lazy = expoBundleOptions.lazy) != null ? _lazy : false,
|
|
401
|
+
shallow: (_shallow = expoBundleOptions.shallow) != null ? _shallow : false
|
|
402
|
+
},
|
|
403
|
+
resolverOptions,
|
|
404
|
+
serializerOptions: {
|
|
405
|
+
...expoBundleOptions.serializerOptions,
|
|
406
|
+
inlineSourceMap: (_inlineSourceMap = expoBundleOptions.inlineSourceMap) != null ? _inlineSourceMap : false,
|
|
407
|
+
modulesOnly: (_modulesOnly = expoBundleOptions.modulesOnly) != null ? _modulesOnly : false,
|
|
408
|
+
runModule: (_runModule = expoBundleOptions.runModule) != null ? _runModule : true,
|
|
409
|
+
// @ts-expect-error
|
|
410
|
+
sourceUrl: expoBundleOptions.sourceUrl,
|
|
411
|
+
// @ts-expect-error
|
|
412
|
+
sourceMapUrl: (_sourceMapUrl = extraOptions.sourceMapUrl) != null ? _sourceMapUrl : expoBundleOptions.sourceMapUrl
|
|
413
|
+
},
|
|
414
|
+
transformOptions
|
|
415
|
+
});
|
|
416
|
+
return {
|
|
417
|
+
...results,
|
|
418
|
+
filename
|
|
419
|
+
};
|
|
420
|
+
}
|
|
421
|
+
async ssrLoadModuleContents(filePath, specificOptions = {}) {
|
|
422
|
+
const { baseUrl , routerRoot , isExporting } = this.instanceMetroOptions;
|
|
423
|
+
(0, _assert().default)(baseUrl != null && routerRoot != null && isExporting != null, "The server must be started before calling ssrLoadModuleContents.");
|
|
424
|
+
const opts = {
|
|
425
|
+
// TODO: Possibly issues with using an absolute path here...
|
|
426
|
+
mainModuleName: filePath,
|
|
427
|
+
lazy: false,
|
|
428
|
+
asyncRoutes: false,
|
|
429
|
+
inlineSourceMap: false,
|
|
430
|
+
engine: "hermes",
|
|
431
|
+
minify: false,
|
|
432
|
+
bytecode: false,
|
|
433
|
+
// Bundle in Node.js mode for SSR.
|
|
434
|
+
environment: "node",
|
|
435
|
+
platform: "web",
|
|
436
|
+
mode: "development",
|
|
437
|
+
//
|
|
438
|
+
...this.instanceMetroOptions,
|
|
439
|
+
baseUrl,
|
|
440
|
+
routerRoot,
|
|
441
|
+
isExporting,
|
|
442
|
+
...specificOptions
|
|
443
|
+
};
|
|
444
|
+
// https://github.com/facebook/metro/blob/2405f2f6c37a1b641cc379b9c733b1eff0c1c2a1/packages/metro/src/lib/parseOptionsFromUrl.js#L55-L87
|
|
445
|
+
const { filename , bundle , map , ...rest } = await this.metroLoadModuleContents(filePath, opts);
|
|
446
|
+
const scriptContents = wrapBundle(bundle);
|
|
447
|
+
if (map) {
|
|
448
|
+
debug("Registering SSR source map for:", filename);
|
|
449
|
+
_getStaticRenderFunctions.cachedSourceMaps.set(filename, {
|
|
450
|
+
url: this.projectRoot,
|
|
451
|
+
map
|
|
452
|
+
});
|
|
453
|
+
} else {
|
|
454
|
+
debug("No SSR source map found for:", filename);
|
|
455
|
+
}
|
|
456
|
+
return {
|
|
457
|
+
...rest,
|
|
458
|
+
src: scriptContents,
|
|
459
|
+
filename,
|
|
460
|
+
map
|
|
461
|
+
};
|
|
462
|
+
}
|
|
463
|
+
async legacySinglePageExportBundleAsync(options, extraOptions = {}) {
|
|
464
|
+
const { baseUrl , routerRoot , isExporting } = this.instanceMetroOptions;
|
|
465
|
+
(0, _assert().default)(baseUrl != null && routerRoot != null && isExporting != null, "The server must be started before calling legacySinglePageExportBundleAsync.");
|
|
466
|
+
const opts = {
|
|
467
|
+
...this.instanceMetroOptions,
|
|
468
|
+
baseUrl,
|
|
469
|
+
routerRoot,
|
|
470
|
+
isExporting,
|
|
471
|
+
...options,
|
|
472
|
+
environment: "client",
|
|
473
|
+
serializerOutput: "static"
|
|
474
|
+
};
|
|
475
|
+
// https://github.com/facebook/metro/blob/2405f2f6c37a1b641cc379b9c733b1eff0c1c2a1/packages/metro/src/lib/parseOptionsFromUrl.js#L55-L87
|
|
476
|
+
if (!opts.mainModuleName.startsWith(_path().default.sep)) {
|
|
477
|
+
opts.mainModuleName = "." + _path().default.sep + opts.mainModuleName;
|
|
478
|
+
}
|
|
479
|
+
const output = await this.metroLoadModuleContents(opts.mainModuleName, opts, extraOptions);
|
|
480
|
+
return {
|
|
481
|
+
artifacts: output.artifacts,
|
|
482
|
+
assets: output.assets
|
|
483
|
+
};
|
|
484
|
+
}
|
|
485
|
+
async watchEnvironmentVariables() {
|
|
486
|
+
if (!this.instance) {
|
|
487
|
+
throw new Error("Cannot observe environment variable changes without a running Metro instance.");
|
|
488
|
+
}
|
|
489
|
+
if (!this.metro) {
|
|
490
|
+
// This can happen when the run command is used and the server is already running in another
|
|
491
|
+
// process.
|
|
492
|
+
debug("Skipping Environment Variable observation because Metro is not running (headless).");
|
|
493
|
+
return;
|
|
494
|
+
}
|
|
495
|
+
const envFiles = _env().getFiles(process.env.NODE_ENV).map((fileName)=>_path().default.join(this.projectRoot, fileName));
|
|
496
|
+
(0, _waitForMetroToObserveTypeScriptFile.observeFileChanges)({
|
|
497
|
+
metro: this.metro,
|
|
498
|
+
server: this.instance.server
|
|
499
|
+
}, envFiles, ()=>{
|
|
500
|
+
debug("Reloading environment variables...");
|
|
501
|
+
// Force reload the environment variables.
|
|
502
|
+
_env().load(this.projectRoot, {
|
|
503
|
+
force: true
|
|
504
|
+
});
|
|
505
|
+
});
|
|
506
|
+
}
|
|
507
|
+
getExpoLineOptions() {
|
|
508
|
+
return this.instanceMetroOptions;
|
|
509
|
+
}
|
|
510
|
+
async startImplementationAsync(options) {
|
|
511
|
+
var ref;
|
|
512
|
+
options.port = await this.resolvePortAsync(options);
|
|
513
|
+
this.urlCreator = this.getUrlCreator(options);
|
|
514
|
+
const config = (0, _config().getConfig)(this.projectRoot, {
|
|
515
|
+
skipSDKVersionRequirement: true
|
|
516
|
+
});
|
|
517
|
+
const { exp } = config;
|
|
518
|
+
var ref1;
|
|
519
|
+
const useServerRendering = [
|
|
520
|
+
"static",
|
|
521
|
+
"server"
|
|
522
|
+
].includes((ref1 = (ref = exp.web) == null ? void 0 : ref.output) != null ? ref1 : "");
|
|
523
|
+
const baseUrl = (0, _metroOptions.getBaseUrlFromExpoConfig)(exp);
|
|
524
|
+
var _mode;
|
|
525
|
+
const asyncRoutes = (0, _metroOptions.getAsyncRoutesFromExpoConfig)(exp, (_mode = options.mode) != null ? _mode : "development", "web");
|
|
526
|
+
const routerRoot = (0, _router.getRouterDirectoryModuleIdWithManifest)(this.projectRoot, exp);
|
|
527
|
+
const appDir = _path().default.join(this.projectRoot, routerRoot);
|
|
528
|
+
var _mode1;
|
|
529
|
+
const mode = (_mode1 = options.mode) != null ? _mode1 : "development";
|
|
530
|
+
this.instanceMetroOptions = {
|
|
531
|
+
isExporting: !!options.isExporting,
|
|
532
|
+
baseUrl,
|
|
533
|
+
mode,
|
|
534
|
+
routerRoot,
|
|
535
|
+
minify: options.minify,
|
|
536
|
+
asyncRoutes
|
|
537
|
+
};
|
|
538
|
+
const parsedOptions = {
|
|
539
|
+
port: options.port,
|
|
540
|
+
maxWorkers: options.maxWorkers,
|
|
541
|
+
resetCache: options.resetDevServer
|
|
542
|
+
};
|
|
543
|
+
// Required for symbolication:
|
|
544
|
+
process.env.EXPO_DEV_SERVER_ORIGIN = `http://localhost:${options.port}`;
|
|
545
|
+
const { metro , server , middleware , messageSocket } = await (0, _instantiateMetro.instantiateMetroAsync)(this, parsedOptions, {
|
|
546
|
+
isExporting: !!options.isExporting
|
|
547
|
+
});
|
|
548
|
+
const manifestMiddleware = await this.getManifestMiddlewareAsync(options);
|
|
549
|
+
// Important that we noop source maps for context modules as soon as possible.
|
|
550
|
+
(0, _mutations.prependMiddleware)(middleware, new _contextModuleSourceMapsMiddleware.ContextModuleSourceMapsMiddleware().getHandler());
|
|
551
|
+
// We need the manifest handler to be the first middleware to run so our
|
|
552
|
+
// routes take precedence over static files. For example, the manifest is
|
|
553
|
+
// served from '/' and if the user has an index.html file in their project
|
|
554
|
+
// then the manifest handler will never run, the static middleware will run
|
|
555
|
+
// and serve index.html instead of the manifest.
|
|
556
|
+
// https://github.com/expo/expo/issues/13114
|
|
557
|
+
(0, _mutations.prependMiddleware)(middleware, manifestMiddleware.getHandler());
|
|
558
|
+
var _scheme;
|
|
559
|
+
middleware.use(new _interstitialPageMiddleware.InterstitialPageMiddleware(this.projectRoot, {
|
|
560
|
+
// TODO: Prevent this from becoming stale.
|
|
561
|
+
scheme: (_scheme = options.location.scheme) != null ? _scheme : null
|
|
562
|
+
}).getHandler());
|
|
563
|
+
middleware.use(new _reactDevToolsPageMiddleware.ReactDevToolsPageMiddleware(this.projectRoot).getHandler());
|
|
564
|
+
middleware.use(new _devToolsPluginMiddleware.DevToolsPluginMiddleware(this.projectRoot, this.devToolsPluginManager).getHandler());
|
|
565
|
+
const deepLinkMiddleware = new _runtimeRedirectMiddleware.RuntimeRedirectMiddleware(this.projectRoot, {
|
|
566
|
+
onDeepLink: getDeepLinkHandler(this.projectRoot),
|
|
567
|
+
getLocation: ({ runtime })=>{
|
|
568
|
+
if (runtime === "custom") {
|
|
569
|
+
var ref;
|
|
570
|
+
return (ref = this.urlCreator) == null ? void 0 : ref.constructDevClientUrl();
|
|
571
|
+
} else {
|
|
572
|
+
var ref1;
|
|
573
|
+
return (ref1 = this.urlCreator) == null ? void 0 : ref1.constructUrl({
|
|
574
|
+
scheme: "exp"
|
|
575
|
+
});
|
|
576
|
+
}
|
|
577
|
+
}
|
|
578
|
+
});
|
|
579
|
+
middleware.use(deepLinkMiddleware.getHandler());
|
|
580
|
+
middleware.use(new _createFileMiddleware.CreateFileMiddleware(this.projectRoot).getHandler());
|
|
581
|
+
// Append support for redirecting unhandled requests to the index.html page on web.
|
|
582
|
+
if (this.isTargetingWeb()) {
|
|
583
|
+
// This MUST be after the manifest middleware so it doesn't have a chance to serve the template `public/index.html`.
|
|
584
|
+
middleware.use(new _serveStaticMiddleware.ServeStaticMiddleware(this.projectRoot).getHandler());
|
|
585
|
+
// This should come after the static middleware so it doesn't serve the favicon from `public/favicon.ico`.
|
|
586
|
+
middleware.use(new _faviconMiddleware.FaviconMiddleware(this.projectRoot).getHandler());
|
|
587
|
+
if (useServerRendering) {
|
|
588
|
+
var ref2;
|
|
589
|
+
middleware.use((0, _createServerRouteMiddleware.createRouteHandlerMiddleware)(this.projectRoot, {
|
|
590
|
+
appDir,
|
|
591
|
+
routerRoot,
|
|
592
|
+
config,
|
|
593
|
+
...(ref2 = config.exp.extra) == null ? void 0 : ref2.router,
|
|
594
|
+
bundleApiRoute: (functionFilePath)=>this.ssrImportApiRoute(functionFilePath),
|
|
595
|
+
getStaticPageAsync: (pathname)=>{
|
|
596
|
+
return this.getStaticPageAsync(pathname);
|
|
597
|
+
}
|
|
598
|
+
}));
|
|
599
|
+
(0, _waitForMetroToObserveTypeScriptFile.observeAnyFileChanges)({
|
|
600
|
+
metro,
|
|
601
|
+
server
|
|
602
|
+
}, (events)=>{
|
|
603
|
+
var ref;
|
|
604
|
+
if (((ref = exp.web) == null ? void 0 : ref.output) === "server") {
|
|
605
|
+
// NOTE(EvanBacon): We aren't sure what files the API routes are using so we'll just invalidate
|
|
606
|
+
// aggressively to ensure we always have the latest. The only caching we really get here is for
|
|
607
|
+
// cases where the user is making subsequent requests to the same API route without changing anything.
|
|
608
|
+
// This is useful for testing but pretty suboptimal. Luckily our caching is pretty aggressive so it makes
|
|
609
|
+
// up for a lot of the overhead.
|
|
610
|
+
this.invalidateApiRouteCache();
|
|
611
|
+
} else if (!(0, _router.hasWarnedAboutApiRoutes)()) {
|
|
612
|
+
for (const event of events){
|
|
613
|
+
var // If the user did not delete a file that matches the Expo Router API Route convention, then we should warn that
|
|
614
|
+
// API Routes are not enabled in the project.
|
|
615
|
+
ref1;
|
|
616
|
+
if (((ref1 = event.metadata) == null ? void 0 : ref1.type) !== "d" && // Ensure the file is in the project's routes directory to prevent false positives in monorepos.
|
|
617
|
+
event.filePath.startsWith(appDir) && (0, _router.isApiRouteConvention)(event.filePath)) {
|
|
618
|
+
(0, _router.warnInvalidWebOutput)();
|
|
619
|
+
}
|
|
620
|
+
}
|
|
621
|
+
}
|
|
622
|
+
});
|
|
623
|
+
} else {
|
|
624
|
+
// This MUST run last since it's the fallback.
|
|
625
|
+
middleware.use(new _historyFallbackMiddleware.HistoryFallbackMiddleware(manifestMiddleware.getHandler().internal).getHandler());
|
|
626
|
+
}
|
|
627
|
+
}
|
|
628
|
+
// Extend the close method to ensure that we clean up the local info.
|
|
629
|
+
const originalClose = server.close.bind(server);
|
|
630
|
+
server.close = (callback)=>{
|
|
631
|
+
return originalClose((err)=>{
|
|
632
|
+
this.instance = null;
|
|
633
|
+
this.metro = null;
|
|
634
|
+
callback == null ? void 0 : callback(err);
|
|
635
|
+
});
|
|
636
|
+
};
|
|
637
|
+
(0, _metroPrivateServer.assertMetroPrivateServer)(metro);
|
|
638
|
+
this.metro = metro;
|
|
639
|
+
return {
|
|
640
|
+
server,
|
|
641
|
+
location: {
|
|
642
|
+
// The port is the main thing we want to send back.
|
|
643
|
+
port: options.port,
|
|
644
|
+
// localhost isn't always correct.
|
|
645
|
+
host: "localhost",
|
|
646
|
+
// http is the only supported protocol on native.
|
|
647
|
+
url: `http://localhost:${options.port}`,
|
|
648
|
+
protocol: "http"
|
|
649
|
+
},
|
|
650
|
+
middleware,
|
|
651
|
+
messageSocket
|
|
652
|
+
};
|
|
653
|
+
}
|
|
654
|
+
async waitForTypeScriptAsync() {
|
|
655
|
+
if (!this.instance) {
|
|
656
|
+
throw new Error("Cannot wait for TypeScript without a running server.");
|
|
657
|
+
}
|
|
658
|
+
return new Promise((resolve)=>{
|
|
659
|
+
if (!this.metro) {
|
|
660
|
+
// This can happen when the run command is used and the server is already running in another
|
|
661
|
+
// process. In this case we can't wait for the TypeScript check to complete because we don't
|
|
662
|
+
// have access to the Metro server.
|
|
663
|
+
debug("Skipping TypeScript check because Metro is not running (headless).");
|
|
664
|
+
return resolve(false);
|
|
665
|
+
}
|
|
666
|
+
const off = (0, _metroWatchTypeScriptFiles.metroWatchTypeScriptFiles)({
|
|
667
|
+
projectRoot: this.projectRoot,
|
|
668
|
+
server: this.instance.server,
|
|
669
|
+
metro: this.metro,
|
|
670
|
+
tsconfig: true,
|
|
671
|
+
throttle: true,
|
|
672
|
+
eventTypes: [
|
|
673
|
+
"change",
|
|
674
|
+
"add"
|
|
675
|
+
],
|
|
676
|
+
callback: async ()=>{
|
|
677
|
+
// Run once, this prevents the TypeScript project prerequisite from running on every file change.
|
|
678
|
+
off();
|
|
679
|
+
const { TypeScriptProjectPrerequisite } = await Promise.resolve().then(()=>/*#__PURE__*/ _interopRequireWildcard(require("../../doctor/typescript/TypeScriptProjectPrerequisite.js")));
|
|
680
|
+
try {
|
|
681
|
+
const req = new TypeScriptProjectPrerequisite(this.projectRoot);
|
|
682
|
+
await req.bootstrapAsync();
|
|
683
|
+
resolve(true);
|
|
684
|
+
} catch (error) {
|
|
685
|
+
// Ensure the process doesn't fail if the TypeScript check fails.
|
|
686
|
+
// This could happen during the install.
|
|
687
|
+
_log.Log.log();
|
|
688
|
+
_log.Log.error(_chalk().default.red`Failed to automatically setup TypeScript for your project. Try restarting the dev server to fix.`);
|
|
689
|
+
_log.Log.exception(error);
|
|
690
|
+
resolve(false);
|
|
691
|
+
}
|
|
692
|
+
}
|
|
693
|
+
});
|
|
694
|
+
});
|
|
695
|
+
}
|
|
696
|
+
async startTypeScriptServices() {
|
|
697
|
+
var ref;
|
|
698
|
+
return (0, _startTypescriptTypeGeneration.startTypescriptTypeGenerationAsync)({
|
|
699
|
+
server: (ref = this.instance) == null ? void 0 : ref.server,
|
|
700
|
+
metro: this.metro,
|
|
701
|
+
projectRoot: this.projectRoot
|
|
702
|
+
});
|
|
703
|
+
}
|
|
704
|
+
getConfigModuleIds() {
|
|
705
|
+
return [
|
|
706
|
+
"./metro.config.js",
|
|
707
|
+
"./metro.config.json",
|
|
708
|
+
"./rn-cli.config.js"
|
|
709
|
+
];
|
|
710
|
+
}
|
|
711
|
+
pendingRouteOperations = new Map();
|
|
712
|
+
// API Routes
|
|
713
|
+
// Bundle the API Route with Metro and return the string contents to be evaluated in the server.
|
|
714
|
+
async bundleApiRoute(filePath) {
|
|
715
|
+
if (this.pendingRouteOperations.has(filePath)) {
|
|
716
|
+
return this.pendingRouteOperations.get(filePath);
|
|
717
|
+
}
|
|
718
|
+
const bundleAsync = async ()=>{
|
|
719
|
+
try {
|
|
720
|
+
debug("Bundle API route:", this.instanceMetroOptions.routerRoot, filePath);
|
|
721
|
+
return await this.ssrLoadModuleContents(filePath);
|
|
722
|
+
} catch (error) {
|
|
723
|
+
var ref;
|
|
724
|
+
const appDir = ((ref = this.instanceMetroOptions) == null ? void 0 : ref.routerRoot) ? _path().default.join(this.projectRoot, this.instanceMetroOptions.routerRoot) : undefined;
|
|
725
|
+
const relativePath = appDir ? _path().default.relative(appDir, filePath) : filePath;
|
|
726
|
+
// Expected errors: invalid syntax, missing resolutions.
|
|
727
|
+
// Wrap with command error for better error messages.
|
|
728
|
+
const err = new _errors.CommandError("API_ROUTE", (0, _chalk().default)`Failed to bundle API Route: {bold ${relativePath}}\n\n` + error.message);
|
|
729
|
+
for(const key in error){
|
|
730
|
+
// @ts-expect-error
|
|
731
|
+
err[key] = error[key];
|
|
732
|
+
}
|
|
733
|
+
throw err;
|
|
734
|
+
} finally{
|
|
735
|
+
// pendingRouteOperations.delete(filepath);
|
|
736
|
+
}
|
|
737
|
+
};
|
|
738
|
+
const route = bundleAsync();
|
|
739
|
+
this.pendingRouteOperations.set(filePath, route);
|
|
740
|
+
return route;
|
|
741
|
+
}
|
|
742
|
+
async ssrImportApiRoute(filePath) {
|
|
743
|
+
// TODO: Cache the evaluated function.
|
|
744
|
+
try {
|
|
745
|
+
const apiRoute = await this.bundleApiRoute(filePath);
|
|
746
|
+
if (!(apiRoute == null ? void 0 : apiRoute.src)) {
|
|
747
|
+
return null;
|
|
748
|
+
}
|
|
749
|
+
return (0, _getStaticRenderFunctions.evalMetroNoHandling)(this.projectRoot, apiRoute.src, apiRoute.filename);
|
|
750
|
+
} catch (error) {
|
|
751
|
+
// Format any errors that were thrown in the global scope of the evaluation.
|
|
752
|
+
if (error instanceof Error) {
|
|
753
|
+
try {
|
|
754
|
+
const htmlServerError = await (0, _metroErrorInterface.getErrorOverlayHtmlAsync)({
|
|
755
|
+
error,
|
|
756
|
+
projectRoot: this.projectRoot,
|
|
757
|
+
routerRoot: this.getExpoLineOptions().routerRoot
|
|
758
|
+
});
|
|
759
|
+
return new Response(htmlServerError, {
|
|
760
|
+
status: 500,
|
|
761
|
+
headers: {
|
|
762
|
+
"Content-Type": "text/html"
|
|
763
|
+
}
|
|
764
|
+
});
|
|
765
|
+
} catch (internalError) {
|
|
766
|
+
debug("Failed to generate Metro server error UI for API Route error:", internalError);
|
|
767
|
+
throw error;
|
|
768
|
+
}
|
|
769
|
+
} else {
|
|
770
|
+
throw error;
|
|
771
|
+
}
|
|
772
|
+
}
|
|
773
|
+
}
|
|
774
|
+
invalidateApiRouteCache() {
|
|
775
|
+
this.pendingRouteOperations.clear();
|
|
776
|
+
}
|
|
777
|
+
// Direct Metro access
|
|
778
|
+
// Emulates the Metro dev server .bundle endpoint without having to go through a server.
|
|
779
|
+
async _bundleDirectAsync(resolvedEntryFilePath, { transformOptions , resolverOptions , graphOptions , serializerOptions }) {
|
|
780
|
+
var ref;
|
|
781
|
+
(0, _assert().default)(this.metro, "Metro server must be running to bundle directly.");
|
|
782
|
+
const config = this.metro._config;
|
|
783
|
+
const buildNumber = this.metro.getNewBuildNumber();
|
|
784
|
+
const bundlePerfLogger = config.unstable_perfLoggerFactory == null ? void 0 : config.unstable_perfLoggerFactory("BUNDLING_REQUEST", {
|
|
785
|
+
key: buildNumber
|
|
786
|
+
});
|
|
787
|
+
const onProgress = (transformedFileCount, totalFileCount)=>{
|
|
788
|
+
var ref, ref1;
|
|
789
|
+
(ref = this.metro) == null ? void 0 : (ref1 = ref._reporter) == null ? void 0 : ref1.update == null ? void 0 : ref1.update({
|
|
790
|
+
buildID: getBuildID(buildNumber),
|
|
791
|
+
type: "bundle_transform_progressed",
|
|
792
|
+
transformedFileCount,
|
|
793
|
+
totalFileCount
|
|
794
|
+
});
|
|
795
|
+
};
|
|
796
|
+
const revPromise = this.getMetroRevision(resolvedEntryFilePath, {
|
|
797
|
+
graphOptions,
|
|
798
|
+
transformOptions,
|
|
799
|
+
resolverOptions
|
|
800
|
+
});
|
|
801
|
+
bundlePerfLogger == null ? void 0 : bundlePerfLogger.point("resolvingAndTransformingDependencies_start");
|
|
802
|
+
bundlePerfLogger == null ? void 0 : bundlePerfLogger.annotate({
|
|
803
|
+
bool: {
|
|
804
|
+
initial_build: revPromise == null
|
|
805
|
+
}
|
|
806
|
+
});
|
|
807
|
+
(ref = this.metro) == null ? void 0 : ref._reporter.update({
|
|
808
|
+
buildID: getBuildID(buildNumber),
|
|
809
|
+
bundleDetails: {
|
|
810
|
+
bundleType: transformOptions.type,
|
|
811
|
+
dev: transformOptions.dev,
|
|
812
|
+
entryFile: resolvedEntryFilePath,
|
|
813
|
+
minify: transformOptions.minify,
|
|
814
|
+
platform: transformOptions.platform,
|
|
815
|
+
// @ts-expect-error: typed incorrectly upstream
|
|
816
|
+
customResolverOptions: resolverOptions.customResolverOptions,
|
|
817
|
+
customTransformOptions: transformOptions.customTransformOptions
|
|
818
|
+
},
|
|
819
|
+
isPrefetch: false,
|
|
820
|
+
type: "bundle_build_started"
|
|
821
|
+
});
|
|
822
|
+
try {
|
|
823
|
+
const { delta , revision } = await (revPromise != null ? this.metro.getBundler().updateGraph(await revPromise, false) : this.metro.getBundler().initializeGraph(// NOTE: Using absolute path instead of relative input path is a breaking change.
|
|
824
|
+
// entryFile,
|
|
825
|
+
resolvedEntryFilePath, transformOptions, resolverOptions, {
|
|
826
|
+
onProgress,
|
|
827
|
+
shallow: graphOptions.shallow,
|
|
828
|
+
// @ts-expect-error: typed incorrectly
|
|
829
|
+
lazy: graphOptions.lazy
|
|
830
|
+
}));
|
|
831
|
+
bundlePerfLogger == null ? void 0 : bundlePerfLogger.annotate({
|
|
832
|
+
int: {
|
|
833
|
+
graph_node_count: revision.graph.dependencies.size
|
|
834
|
+
}
|
|
835
|
+
});
|
|
836
|
+
bundlePerfLogger == null ? void 0 : bundlePerfLogger.point("resolvingAndTransformingDependencies_end");
|
|
837
|
+
bundlePerfLogger == null ? void 0 : bundlePerfLogger.point("serializingBundle_start");
|
|
838
|
+
const shouldAddToIgnoreList = this.metro._shouldAddModuleToIgnoreList.bind(this.metro);
|
|
839
|
+
const serializer = this.getMetroSerializer();
|
|
840
|
+
var _unstable_serverRoot;
|
|
841
|
+
const bundle = await serializer(// NOTE: Using absolute path instead of relative input path is a breaking change.
|
|
842
|
+
// entryFile,
|
|
843
|
+
resolvedEntryFilePath, revision.prepend, revision.graph, {
|
|
844
|
+
asyncRequireModulePath: await this.metro._resolveRelativePath(config.transformer.asyncRequireModulePath, {
|
|
845
|
+
relativeTo: "project",
|
|
846
|
+
resolverOptions,
|
|
847
|
+
transformOptions
|
|
848
|
+
}),
|
|
849
|
+
// ...serializerOptions,
|
|
850
|
+
processModuleFilter: config.serializer.processModuleFilter,
|
|
851
|
+
createModuleId: this.metro._createModuleId,
|
|
852
|
+
getRunModuleStatement: config.serializer.getRunModuleStatement,
|
|
853
|
+
includeAsyncPaths: graphOptions.lazy,
|
|
854
|
+
dev: transformOptions.dev,
|
|
855
|
+
projectRoot: config.projectRoot,
|
|
856
|
+
modulesOnly: serializerOptions.modulesOnly,
|
|
857
|
+
runBeforeMainModule: config.serializer.getModulesRunBeforeMainModule(resolvedEntryFilePath),
|
|
858
|
+
runModule: serializerOptions.runModule,
|
|
859
|
+
sourceMapUrl: serializerOptions.sourceMapUrl,
|
|
860
|
+
sourceUrl: serializerOptions.sourceUrl,
|
|
861
|
+
inlineSourceMap: serializerOptions.inlineSourceMap,
|
|
862
|
+
serverRoot: (_unstable_serverRoot = config.server.unstable_serverRoot) != null ? _unstable_serverRoot : config.projectRoot,
|
|
863
|
+
shouldAddToIgnoreList,
|
|
864
|
+
// @ts-expect-error: passed to our serializer to enable non-serial return values.
|
|
865
|
+
serializerOptions
|
|
866
|
+
});
|
|
867
|
+
this.metro._reporter.update({
|
|
868
|
+
buildID: getBuildID(buildNumber),
|
|
869
|
+
type: "bundle_build_done"
|
|
870
|
+
});
|
|
871
|
+
bundlePerfLogger == null ? void 0 : bundlePerfLogger.point("serializingBundle_end");
|
|
872
|
+
let bundleCode = null;
|
|
873
|
+
let bundleMap = null;
|
|
874
|
+
// @ts-expect-error: If the output is multi-bundle...
|
|
875
|
+
if (serializerOptions.output === "static") {
|
|
876
|
+
try {
|
|
877
|
+
var ref1, ref2;
|
|
878
|
+
const parsed = typeof bundle === "string" ? JSON.parse(bundle) : bundle;
|
|
879
|
+
(0, _assert().default)("artifacts" in parsed && Array.isArray(parsed.artifacts), "Expected serializer to return an object with key artifacts to contain an array of serial assets.");
|
|
880
|
+
const artifacts = parsed.artifacts;
|
|
881
|
+
const assets = parsed.assets;
|
|
882
|
+
const bundleCode1 = artifacts.filter((asset)=>asset.type === "js")[0];
|
|
883
|
+
var ref3;
|
|
884
|
+
const bundleMap1 = (ref3 = (ref1 = artifacts.filter((asset)=>asset.type === "map")) == null ? void 0 : (ref2 = ref1[0]) == null ? void 0 : ref2.source) != null ? ref3 : "";
|
|
885
|
+
return {
|
|
886
|
+
numModifiedFiles: delta.reset ? delta.added.size + revision.prepend.length : delta.added.size + delta.modified.size + delta.deleted.size,
|
|
887
|
+
lastModifiedDate: revision.date,
|
|
888
|
+
nextRevId: revision.id,
|
|
889
|
+
bundle: bundleCode1.source,
|
|
890
|
+
map: bundleMap1,
|
|
891
|
+
artifacts,
|
|
892
|
+
assets
|
|
893
|
+
};
|
|
894
|
+
} catch (error) {
|
|
895
|
+
throw new Error("Serializer did not return expected format. The project copy of `expo/metro-config` may be out of date. Error: " + error.message);
|
|
896
|
+
}
|
|
897
|
+
}
|
|
898
|
+
if (typeof bundle === "string") {
|
|
899
|
+
bundleCode = bundle;
|
|
900
|
+
// Create the source map in a second pass...
|
|
901
|
+
let { prepend , graph } = revision;
|
|
902
|
+
if (serializerOptions.modulesOnly) {
|
|
903
|
+
prepend = [];
|
|
904
|
+
}
|
|
905
|
+
bundleMap = await sourceMapStringAsync([
|
|
906
|
+
//
|
|
907
|
+
...prepend,
|
|
908
|
+
...this.metro._getSortedModules(graph),
|
|
909
|
+
], {
|
|
910
|
+
excludeSource: serializerOptions.excludeSource,
|
|
911
|
+
processModuleFilter: config.serializer.processModuleFilter,
|
|
912
|
+
shouldAddToIgnoreList
|
|
913
|
+
});
|
|
914
|
+
} else {
|
|
915
|
+
bundleCode = bundle.code;
|
|
916
|
+
bundleMap = bundle.map;
|
|
917
|
+
}
|
|
918
|
+
return {
|
|
919
|
+
numModifiedFiles: delta.reset ? delta.added.size + revision.prepend.length : delta.added.size + delta.modified.size + delta.deleted.size,
|
|
920
|
+
lastModifiedDate: revision.date,
|
|
921
|
+
nextRevId: revision.id,
|
|
922
|
+
bundle: bundleCode,
|
|
923
|
+
map: bundleMap
|
|
924
|
+
};
|
|
925
|
+
} catch (error1) {
|
|
926
|
+
this.metro._reporter.update({
|
|
927
|
+
buildID: getBuildID(buildNumber),
|
|
928
|
+
type: "bundle_build_failed"
|
|
929
|
+
});
|
|
930
|
+
throw error1;
|
|
931
|
+
}
|
|
932
|
+
}
|
|
933
|
+
getMetroSerializer() {
|
|
934
|
+
var ref, ref1;
|
|
935
|
+
return ((ref = this.metro) == null ? void 0 : (ref1 = ref._config) == null ? void 0 : ref1.serializer.customSerializer) || ((entryPoint, preModules, graph, options)=>(0, _bundleToString().default)((0, _baseJSBundle().default)(entryPoint, preModules, graph, options)).code);
|
|
936
|
+
}
|
|
937
|
+
getMetroRevision(resolvedEntryFilePath, { graphOptions , transformOptions , resolverOptions }) {
|
|
938
|
+
(0, _assert().default)(this.metro, "Metro server must be running to bundle directly.");
|
|
939
|
+
const config = this.metro._config;
|
|
940
|
+
const graphId = getGraphId(resolvedEntryFilePath, transformOptions, {
|
|
941
|
+
unstable_allowRequireContext: config.transformer.unstable_allowRequireContext,
|
|
942
|
+
resolverOptions,
|
|
943
|
+
shallow: graphOptions.shallow,
|
|
944
|
+
lazy: graphOptions.lazy
|
|
945
|
+
});
|
|
946
|
+
return this.metro.getBundler().getRevisionByGraphId(graphId);
|
|
947
|
+
}
|
|
948
|
+
async resolveRelativePathAsync(moduleId, { resolverOptions , transformOptions }) {
|
|
949
|
+
(0, _assert().default)(this.metro, "cannot invoke resolveRelativePathAsync without metro instance");
|
|
950
|
+
return await this.metro._resolveRelativePath(moduleId, {
|
|
951
|
+
relativeTo: "server",
|
|
952
|
+
resolverOptions,
|
|
953
|
+
transformOptions
|
|
954
|
+
});
|
|
955
|
+
}
|
|
956
|
+
}
|
|
957
|
+
function getBuildID(buildNumber) {
|
|
958
|
+
return buildNumber.toString(36);
|
|
959
|
+
}
|
|
960
|
+
function getDeepLinkHandler(projectRoot) {
|
|
961
|
+
return async ({ runtime })=>{
|
|
962
|
+
if (runtime === "expo") return;
|
|
963
|
+
const { exp } = (0, _config().getConfig)(projectRoot);
|
|
964
|
+
await (0, _telemetry.logEventAsync)("dev client start command", {
|
|
965
|
+
status: "started",
|
|
966
|
+
...(0, _getDevClientProperties.default)(projectRoot, exp)
|
|
967
|
+
});
|
|
968
|
+
};
|
|
969
|
+
}
|
|
970
|
+
function wrapBundle(str) {
|
|
971
|
+
// Skip the metro runtime so debugging is a bit easier.
|
|
972
|
+
// Replace the __r() call with an export statement.
|
|
973
|
+
// Use gm to apply to the last require line. This is needed when the bundle has side-effects.
|
|
974
|
+
return str.replace(/^(__r\(.*\);)$/gm, "module.exports = $1");
|
|
975
|
+
}
|
|
976
|
+
async function sourceMapStringAsync(modules, options) {
|
|
977
|
+
return (await (0, _sourceMapGenerator().sourceMapGeneratorNonBlocking)(modules, options)).toString(undefined, {
|
|
978
|
+
excludeSource: options.excludeSource
|
|
979
|
+
});
|
|
980
|
+
}
|
|
981
|
+
|
|
982
|
+
//# sourceMappingURL=MetroBundlerDevServer.js.map
|