@expo/cli 1.0.0-canary-20250320-7a205d3 → 1.0.0-canary-20250402-161f57b
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/bin/cli +93 -91
- package/build/bin/cli.map +1 -1
- package/build/metro-require/require.js +53 -52
- package/build/src/api/endpoint.js +6 -2
- package/build/src/api/endpoint.js.map +1 -1
- package/build/src/api/getExpoGoIntermediateCertificate.js +5 -3
- package/build/src/api/getExpoGoIntermediateCertificate.js.map +1 -1
- package/build/src/api/getExpoSchema.js +16 -12
- package/build/src/api/getExpoSchema.js.map +1 -1
- package/build/src/api/getNativeModuleVersions.js +6 -4
- package/build/src/api/getNativeModuleVersions.js.map +1 -1
- package/build/src/api/getProjectDevelopmentCertificate.js +5 -3
- package/build/src/api/getProjectDevelopmentCertificate.js.map +1 -1
- package/build/src/api/getVersions.js +7 -5
- package/build/src/api/getVersions.js.map +1 -1
- package/build/src/api/graphql/client.js +32 -26
- package/build/src/api/graphql/client.js.map +1 -1
- package/build/src/api/graphql/queries/AppQuery.js +6 -4
- package/build/src/api/graphql/queries/AppQuery.js.map +1 -1
- package/build/src/api/graphql/queries/UserQuery.js +5 -3
- package/build/src/api/graphql/queries/UserQuery.js.map +1 -1
- package/build/src/api/graphql/types/App.js +3 -1
- package/build/src/api/graphql/types/App.js.map +1 -1
- package/build/src/api/rest/cache/FileSystemResponseCache.js +36 -32
- package/build/src/api/rest/cache/FileSystemResponseCache.js.map +1 -1
- package/build/src/api/rest/cache/ResponseCache.js +20 -12
- package/build/src/api/rest/cache/ResponseCache.js.map +1 -1
- package/build/src/api/rest/cache/wrapFetchWithCache.js +13 -11
- package/build/src/api/rest/cache/wrapFetchWithCache.js.map +1 -1
- package/build/src/api/rest/client.js +55 -37
- package/build/src/api/rest/client.js.map +1 -1
- package/build/src/api/rest/client.types.js.map +1 -1
- package/build/src/api/rest/wrapFetchWithBaseUrl.js +5 -3
- package/build/src/api/rest/wrapFetchWithBaseUrl.js.map +1 -1
- package/build/src/api/rest/wrapFetchWithOffline.js +5 -3
- package/build/src/api/rest/wrapFetchWithOffline.js.map +1 -1
- package/build/src/api/rest/wrapFetchWithProgress.js +11 -7
- package/build/src/api/rest/wrapFetchWithProgress.js.map +1 -1
- package/build/src/api/rest/wrapFetchWithProxy.js +5 -3
- package/build/src/api/rest/wrapFetchWithProxy.js.map +1 -1
- package/build/src/api/rest/wrapFetchWithUserAgent.js +8 -6
- package/build/src/api/rest/wrapFetchWithUserAgent.js.map +1 -1
- package/build/src/api/settings.js +7 -5
- package/build/src/api/settings.js.map +1 -1
- package/build/src/api/updateDevelopmentSession.js +23 -17
- package/build/src/api/updateDevelopmentSession.js.map +1 -1
- package/build/src/api/user/UserSettings.js +53 -31
- package/build/src/api/user/UserSettings.js.map +1 -1
- package/build/src/api/user/actions.js +27 -21
- package/build/src/api/user/actions.js.map +1 -1
- package/build/src/api/user/expoSsoLauncher.js +30 -26
- package/build/src/api/user/expoSsoLauncher.js.map +1 -1
- package/build/src/api/user/otp.js +35 -29
- package/build/src/api/user/otp.js.map +1 -1
- package/build/src/api/user/user.js +44 -30
- package/build/src/api/user/user.js.map +1 -1
- package/build/src/config/configAsync.js +29 -23
- package/build/src/config/configAsync.js.map +1 -1
- package/build/src/config/index.js +25 -21
- package/build/src/config/index.js.map +1 -1
- package/build/src/customize/customizeAsync.js +8 -6
- package/build/src/customize/customizeAsync.js.map +1 -1
- package/build/src/customize/generate.js +20 -16
- package/build/src/customize/generate.js.map +1 -1
- package/build/src/customize/index.js +14 -12
- package/build/src/customize/index.js.map +1 -1
- package/build/src/customize/resolveOptions.js +4 -2
- package/build/src/customize/resolveOptions.js.map +1 -1
- package/build/src/customize/templates.js +58 -54
- package/build/src/customize/templates.js.map +1 -1
- package/build/src/customize/typescript.js +11 -7
- package/build/src/customize/typescript.js.map +1 -1
- package/build/src/export/createMetadataJson.js +11 -9
- package/build/src/export/createMetadataJson.js.map +1 -1
- package/build/src/export/embed/exportEager.js +8 -6
- package/build/src/export/embed/exportEager.js.map +1 -1
- package/build/src/export/embed/exportEmbedAsync.js +72 -62
- package/build/src/export/embed/exportEmbedAsync.js.map +1 -1
- package/build/src/export/embed/exportServer.js +57 -55
- package/build/src/export/embed/exportServer.js.map +1 -1
- package/build/src/export/embed/index.js +44 -40
- package/build/src/export/embed/index.js.map +1 -1
- package/build/src/export/embed/resolveOptions.js +44 -36
- package/build/src/export/embed/resolveOptions.js.map +1 -1
- package/build/src/export/embed/xcodeCompilerLogger.js +39 -27
- package/build/src/export/embed/xcodeCompilerLogger.js.map +1 -1
- package/build/src/export/exportApp.js +68 -64
- package/build/src/export/exportApp.js.map +1 -1
- package/build/src/export/exportAssets.js +34 -26
- package/build/src/export/exportAssets.js.map +1 -1
- package/build/src/export/exportAsync.js +13 -9
- package/build/src/export/exportAsync.js.map +1 -1
- package/build/src/export/exportDomComponents.js +53 -45
- package/build/src/export/exportDomComponents.js.map +1 -1
- package/build/src/export/exportHermes.js +75 -53
- package/build/src/export/exportHermes.js.map +1 -1
- package/build/src/export/exportStaticAsync.js +73 -62
- package/build/src/export/exportStaticAsync.js.map +1 -1
- package/build/src/export/favicon.js +33 -27
- package/build/src/export/favicon.js.map +1 -1
- package/build/src/export/getPublicExpoManifest.js +7 -5
- package/build/src/export/getPublicExpoManifest.js.map +1 -1
- package/build/src/export/getResolvedLocales.js +11 -9
- package/build/src/export/getResolvedLocales.js.map +1 -1
- package/build/src/export/html.js +10 -6
- package/build/src/export/html.js.map +1 -1
- package/build/src/export/index.js +32 -28
- package/build/src/export/index.js.map +1 -1
- package/build/src/export/metroAssetLocalPath.js +36 -30
- package/build/src/export/metroAssetLocalPath.js.map +1 -1
- package/build/src/export/persistMetroAssets.js +64 -34
- package/build/src/export/persistMetroAssets.js.map +1 -1
- package/build/src/export/publicFolder.js +10 -6
- package/build/src/export/publicFolder.js.map +1 -1
- package/build/src/export/resolveOptions.js +28 -24
- package/build/src/export/resolveOptions.js.map +1 -1
- package/build/src/export/saveAssets.js +50 -46
- package/build/src/export/saveAssets.js.map +1 -1
- package/build/src/export/web/exportWebAsync.js +13 -11
- package/build/src/export/web/exportWebAsync.js.map +1 -1
- package/build/src/export/web/index.js +19 -15
- package/build/src/export/web/index.js.map +1 -1
- package/build/src/export/web/resolveOptions.js +5 -3
- package/build/src/export/web/resolveOptions.js.map +1 -1
- package/build/src/export/writeContents.js +4 -2
- package/build/src/export/writeContents.js.map +1 -1
- package/build/src/graphql/generated.js +705 -479
- package/build/src/graphql/generated.js.map +1 -1
- package/build/src/install/applyPlugins.js +11 -7
- package/build/src/install/applyPlugins.js.map +1 -1
- package/build/src/install/checkPackages.js +26 -22
- package/build/src/install/checkPackages.js.map +1 -1
- package/build/src/install/fixPackages.js +16 -12
- package/build/src/install/fixPackages.js.map +1 -1
- package/build/src/install/index.js +18 -16
- package/build/src/install/index.js.map +1 -1
- package/build/src/install/installAsync.js +32 -26
- package/build/src/install/installAsync.js.map +1 -1
- package/build/src/install/installExpoPackage.js +22 -18
- package/build/src/install/installExpoPackage.js.map +1 -1
- package/build/src/install/resolveOptions.js +21 -19
- package/build/src/install/resolveOptions.js.map +1 -1
- package/build/src/install/utils/autoAddConfigPlugins.js +18 -14
- package/build/src/install/utils/autoAddConfigPlugins.js.map +1 -1
- package/build/src/install/utils/checkPackagesCompatibility.js +14 -12
- package/build/src/install/utils/checkPackagesCompatibility.js.map +1 -1
- package/build/src/lint/ESlintPrerequisite.js +50 -44
- package/build/src/lint/ESlintPrerequisite.js.map +1 -1
- package/build/src/lint/index.js +12 -8
- package/build/src/lint/index.js.map +1 -1
- package/build/src/lint/lintAsync.js +10 -8
- package/build/src/lint/lintAsync.js.map +1 -1
- package/build/src/log.js +36 -16
- package/build/src/log.js.map +1 -1
- package/build/src/login/index.js +24 -20
- package/build/src/login/index.js.map +1 -1
- package/build/src/logout/index.js +11 -7
- package/build/src/logout/index.js.map +1 -1
- package/build/src/prebuild/clearNativeFolder.js +38 -26
- package/build/src/prebuild/clearNativeFolder.js.map +1 -1
- package/build/src/prebuild/configureProjectAsync.js +18 -14
- package/build/src/prebuild/configureProjectAsync.js.map +1 -1
- package/build/src/prebuild/copyTemplateFiles.js +17 -13
- package/build/src/prebuild/copyTemplateFiles.js.map +1 -1
- package/build/src/prebuild/ensureConfigAsync.js +6 -4
- package/build/src/prebuild/ensureConfigAsync.js.map +1 -1
- package/build/src/prebuild/index.js +36 -32
- package/build/src/prebuild/index.js.map +1 -1
- package/build/src/prebuild/prebuildAsync.js +29 -25
- package/build/src/prebuild/prebuildAsync.js.map +1 -1
- package/build/src/prebuild/renameTemplateAppName.js +43 -37
- package/build/src/prebuild/renameTemplateAppName.js.map +1 -1
- package/build/src/prebuild/resolveOptions.js +70 -53
- package/build/src/prebuild/resolveOptions.js.map +1 -1
- package/build/src/prebuild/resolveTemplate.js +36 -32
- package/build/src/prebuild/resolveTemplate.js.map +1 -1
- package/build/src/prebuild/updateFromTemplate.js +19 -13
- package/build/src/prebuild/updateFromTemplate.js.map +1 -1
- package/build/src/prebuild/updatePackageJson.js +53 -39
- package/build/src/prebuild/updatePackageJson.js.map +1 -1
- package/build/src/prebuild/validateTemplatePlatforms.js +12 -8
- package/build/src/prebuild/validateTemplatePlatforms.js.map +1 -1
- package/build/src/register/index.js +11 -7
- package/build/src/register/index.js.map +1 -1
- package/build/src/register/registerAsync.js +5 -3
- package/build/src/register/registerAsync.js.map +1 -1
- package/build/src/run/android/index.js +36 -32
- package/build/src/run/android/index.js.map +1 -1
- package/build/src/run/android/resolveDevice.js +10 -8
- package/build/src/run/android/resolveDevice.js.map +1 -1
- package/build/src/run/android/resolveGradlePropsAsync.js +18 -16
- package/build/src/run/android/resolveGradlePropsAsync.js.map +1 -1
- package/build/src/run/android/resolveInstallApkName.js +17 -15
- package/build/src/run/android/resolveInstallApkName.js.map +1 -1
- package/build/src/run/android/resolveLaunchProps.js +12 -10
- package/build/src/run/android/resolveLaunchProps.js.map +1 -1
- package/build/src/run/android/resolveOptions.js +4 -2
- package/build/src/run/android/resolveOptions.js.map +1 -1
- package/build/src/run/android/runAndroidAsync.js +23 -21
- package/build/src/run/android/runAndroidAsync.js.map +1 -1
- package/build/src/run/ensureNativeProject.js +7 -5
- package/build/src/run/ensureNativeProject.js.map +1 -1
- package/build/src/run/hints.js +13 -7
- package/build/src/run/hints.js.map +1 -1
- package/build/src/run/index.js +27 -23
- package/build/src/run/index.js.map +1 -1
- package/build/src/run/ios/XcodeBuild.js +80 -60
- package/build/src/run/ios/XcodeBuild.js.map +1 -1
- package/build/src/run/ios/XcodeBuild.types.js.map +1 -1
- package/build/src/run/ios/appleDevice/AppleDevice.js +69 -63
- package/build/src/run/ios/appleDevice/AppleDevice.js.map +1 -1
- package/build/src/run/ios/appleDevice/ClientManager.js +29 -26
- package/build/src/run/ios/appleDevice/ClientManager.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/AFCClient.js +28 -25
- package/build/src/run/ios/appleDevice/client/AFCClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/DebugserverClient.js +29 -26
- package/build/src/run/ios/appleDevice/client/DebugserverClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/InstallationProxyClient.js +22 -21
- package/build/src/run/ios/appleDevice/client/InstallationProxyClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/LockdowndClient.js +32 -29
- package/build/src/run/ios/appleDevice/client/LockdowndClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/MobileImageMounterClient.js +28 -24
- package/build/src/run/ios/appleDevice/client/MobileImageMounterClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/ServiceClient.js +7 -4
- package/build/src/run/ios/appleDevice/client/ServiceClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/UsbmuxdClient.js +28 -27
- package/build/src/run/ios/appleDevice/client/UsbmuxdClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/installOnDeviceAsync.js +23 -17
- package/build/src/run/ios/appleDevice/installOnDeviceAsync.js.map +1 -1
- package/build/src/run/ios/appleDevice/protocol/AFCProtocol.js +146 -132
- package/build/src/run/ios/appleDevice/protocol/AFCProtocol.js.map +1 -1
- package/build/src/run/ios/appleDevice/protocol/AbstractProtocol.js +29 -21
- package/build/src/run/ios/appleDevice/protocol/AbstractProtocol.js.map +1 -1
- package/build/src/run/ios/appleDevice/protocol/GDBProtocol.js +29 -21
- package/build/src/run/ios/appleDevice/protocol/GDBProtocol.js.map +1 -1
- package/build/src/run/ios/appleDevice/protocol/LockdownProtocol.js +34 -22
- package/build/src/run/ios/appleDevice/protocol/LockdownProtocol.js.map +1 -1
- package/build/src/run/ios/appleDevice/protocol/UsbmuxProtocol.js +27 -17
- package/build/src/run/ios/appleDevice/protocol/UsbmuxProtocol.js.map +1 -1
- package/build/src/run/ios/codeSigning/Security.js +53 -39
- package/build/src/run/ios/codeSigning/Security.js.map +1 -1
- package/build/src/run/ios/codeSigning/configureCodeSigning.js +13 -9
- package/build/src/run/ios/codeSigning/configureCodeSigning.js.map +1 -1
- package/build/src/run/ios/codeSigning/resolveCertificateSigningIdentity.js +27 -19
- package/build/src/run/ios/codeSigning/resolveCertificateSigningIdentity.js.map +1 -1
- package/build/src/run/ios/codeSigning/settings.js +9 -5
- package/build/src/run/ios/codeSigning/settings.js.map +1 -1
- package/build/src/run/ios/codeSigning/simulatorCodeSigning.js +14 -12
- package/build/src/run/ios/codeSigning/simulatorCodeSigning.js.map +1 -1
- package/build/src/run/ios/codeSigning/xcodeCodeSigning.js +27 -21
- package/build/src/run/ios/codeSigning/xcodeCodeSigning.js.map +1 -1
- package/build/src/run/ios/index.js +40 -36
- package/build/src/run/ios/index.js.map +1 -1
- package/build/src/run/ios/launchApp.js +23 -17
- package/build/src/run/ios/launchApp.js.map +1 -1
- package/build/src/run/ios/options/appleDestinations.js +38 -36
- package/build/src/run/ios/options/appleDestinations.js.map +1 -1
- package/build/src/run/ios/options/promptDevice.js +20 -16
- package/build/src/run/ios/options/promptDevice.js.map +1 -1
- package/build/src/run/ios/options/resolveDevice.js +30 -24
- package/build/src/run/ios/options/resolveDevice.js.map +1 -1
- package/build/src/run/ios/options/resolveNativeScheme.js +31 -23
- package/build/src/run/ios/options/resolveNativeScheme.js.map +1 -1
- package/build/src/run/ios/options/resolveOptions.js +7 -5
- package/build/src/run/ios/options/resolveOptions.js.map +1 -1
- package/build/src/run/ios/options/resolveXcodeProject.js +7 -5
- package/build/src/run/ios/options/resolveXcodeProject.js.map +1 -1
- package/build/src/run/ios/runIosAsync.js +48 -44
- package/build/src/run/ios/runIosAsync.js.map +1 -1
- package/build/src/run/ios/validateExternalBinary.js +24 -22
- package/build/src/run/ios/validateExternalBinary.js.map +1 -1
- package/build/src/run/resolveBundlerProps.js +4 -2
- package/build/src/run/resolveBundlerProps.js.map +1 -1
- package/build/src/run/startBundler.js +16 -12
- package/build/src/run/startBundler.js.map +1 -1
- package/build/src/serve/index.js +20 -16
- package/build/src/serve/index.js.map +1 -1
- package/build/src/serve/serveAsync.js +36 -32
- package/build/src/serve/serveAsync.js.map +1 -1
- package/build/src/start/detectDevClient.js +13 -9
- package/build/src/start/detectDevClient.js.map +1 -1
- package/build/src/start/doctor/Prerequisite.js +12 -7
- package/build/src/start/doctor/Prerequisite.js.map +1 -1
- package/build/src/start/doctor/SecurityBinPrerequisite.js +13 -11
- package/build/src/start/doctor/SecurityBinPrerequisite.js.map +1 -1
- package/build/src/start/doctor/apple/SimulatorAppPrerequisite.js +23 -19
- package/build/src/start/doctor/apple/SimulatorAppPrerequisite.js.map +1 -1
- package/build/src/start/doctor/apple/XcodeDeveloperDiskImagePrerequisite.js +23 -19
- package/build/src/start/doctor/apple/XcodeDeveloperDiskImagePrerequisite.js.map +1 -1
- package/build/src/start/doctor/apple/XcodePrerequisite.js +51 -45
- package/build/src/start/doctor/apple/XcodePrerequisite.js.map +1 -1
- package/build/src/start/doctor/apple/XcrunPrerequisite.js +18 -16
- package/build/src/start/doctor/apple/XcrunPrerequisite.js.map +1 -1
- package/build/src/start/doctor/dependencies/bundledNativeModules.js +23 -19
- package/build/src/start/doctor/dependencies/bundledNativeModules.js.map +1 -1
- package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js +31 -25
- package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js.map +1 -1
- package/build/src/start/doctor/dependencies/getMissingPackages.js +25 -17
- package/build/src/start/doctor/dependencies/getMissingPackages.js.map +1 -1
- package/build/src/start/doctor/dependencies/getVersionedPackages.js +40 -32
- package/build/src/start/doctor/dependencies/getVersionedPackages.js.map +1 -1
- package/build/src/start/doctor/dependencies/resolvePackages.js +32 -26
- package/build/src/start/doctor/dependencies/resolvePackages.js.map +1 -1
- package/build/src/start/doctor/dependencies/validateDependenciesVersions.js +41 -31
- package/build/src/start/doctor/dependencies/validateDependenciesVersions.js.map +1 -1
- package/build/src/start/doctor/ngrok/ExternalModule.js +34 -29
- package/build/src/start/doctor/ngrok/ExternalModule.js.map +1 -1
- package/build/src/start/doctor/ngrok/NgrokResolver.js +12 -8
- package/build/src/start/doctor/ngrok/NgrokResolver.js.map +1 -1
- package/build/src/start/doctor/typescript/TypeScriptProjectPrerequisite.js +32 -28
- package/build/src/start/doctor/typescript/TypeScriptProjectPrerequisite.js.map +1 -1
- package/build/src/start/doctor/typescript/updateTSConfig.js +23 -17
- package/build/src/start/doctor/typescript/updateTSConfig.js.map +1 -1
- package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js +33 -27
- package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js.map +1 -1
- package/build/src/start/index.js +46 -42
- package/build/src/start/index.js.map +1 -1
- package/build/src/start/interface/KeyPressHandler.js +18 -14
- package/build/src/start/interface/KeyPressHandler.js.map +1 -1
- package/build/src/start/interface/commandsTable.js +94 -80
- package/build/src/start/interface/commandsTable.js.map +1 -1
- package/build/src/start/interface/interactiveActions.js +44 -40
- package/build/src/start/interface/interactiveActions.js.map +1 -1
- package/build/src/start/interface/startInterface.js +65 -61
- package/build/src/start/interface/startInterface.js.map +1 -1
- package/build/src/start/platforms/AppIdResolver.js +6 -4
- package/build/src/start/platforms/AppIdResolver.js.map +1 -1
- package/build/src/start/platforms/DeviceManager.js +10 -6
- package/build/src/start/platforms/DeviceManager.js.map +1 -1
- package/build/src/start/platforms/ExpoGoInstaller.js +25 -20
- package/build/src/start/platforms/ExpoGoInstaller.js.map +1 -1
- package/build/src/start/platforms/PlatformManager.js +17 -15
- package/build/src/start/platforms/PlatformManager.js.map +1 -1
- package/build/src/start/platforms/android/ADBServer.js +39 -35
- package/build/src/start/platforms/android/ADBServer.js.map +1 -1
- package/build/src/start/platforms/android/AndroidAppIdResolver.js +18 -16
- package/build/src/start/platforms/android/AndroidAppIdResolver.js.map +1 -1
- package/build/src/start/platforms/android/AndroidDeviceManager.js +24 -20
- package/build/src/start/platforms/android/AndroidDeviceManager.js.map +1 -1
- package/build/src/start/platforms/android/AndroidPlatformManager.js +17 -17
- package/build/src/start/platforms/android/AndroidPlatformManager.js.map +1 -1
- package/build/src/start/platforms/android/AndroidSdk.js +11 -9
- package/build/src/start/platforms/android/AndroidSdk.js.map +1 -1
- package/build/src/start/platforms/android/activateWindow.js +26 -22
- package/build/src/start/platforms/android/activateWindow.js.map +1 -1
- package/build/src/start/platforms/android/adb.js +121 -83
- package/build/src/start/platforms/android/adb.js.map +1 -1
- package/build/src/start/platforms/android/adbReverse.js +20 -12
- package/build/src/start/platforms/android/adbReverse.js.map +1 -1
- package/build/src/start/platforms/android/emulator.js +36 -26
- package/build/src/start/platforms/android/emulator.js.map +1 -1
- package/build/src/start/platforms/android/getDevices.js +7 -5
- package/build/src/start/platforms/android/getDevices.js.map +1 -1
- package/build/src/start/platforms/android/gradle.js +36 -28
- package/build/src/start/platforms/android/gradle.js.map +1 -1
- package/build/src/start/platforms/android/promptAndroidDevice.js +19 -15
- package/build/src/start/platforms/android/promptAndroidDevice.js.map +1 -1
- package/build/src/start/platforms/ios/AppleAppIdResolver.js +21 -19
- package/build/src/start/platforms/ios/AppleAppIdResolver.js.map +1 -1
- package/build/src/start/platforms/ios/AppleDeviceManager.js +37 -31
- package/build/src/start/platforms/ios/AppleDeviceManager.js.map +1 -1
- package/build/src/start/platforms/ios/ApplePlatformManager.js +12 -12
- package/build/src/start/platforms/ios/ApplePlatformManager.js.map +1 -1
- package/build/src/start/platforms/ios/assertSystemRequirements.js +9 -7
- package/build/src/start/platforms/ios/assertSystemRequirements.js.map +1 -1
- package/build/src/start/platforms/ios/devicectl.js +88 -74
- package/build/src/start/platforms/ios/devicectl.js.map +1 -1
- package/build/src/start/platforms/ios/ensureSimulatorAppRunning.js +22 -18
- package/build/src/start/platforms/ios/ensureSimulatorAppRunning.js.map +1 -1
- package/build/src/start/platforms/ios/getBestSimulator.js +29 -19
- package/build/src/start/platforms/ios/getBestSimulator.js.map +1 -1
- package/build/src/start/platforms/ios/promptAppleDevice.js +14 -10
- package/build/src/start/platforms/ios/promptAppleDevice.js.map +1 -1
- package/build/src/start/platforms/ios/simctl.js +102 -74
- package/build/src/start/platforms/ios/simctl.js.map +1 -1
- package/build/src/start/platforms/ios/simctlLogging.js +57 -52
- package/build/src/start/platforms/ios/simctlLogging.js.map +1 -1
- package/build/src/start/platforms/ios/xcrun.js +22 -18
- package/build/src/start/platforms/ios/xcrun.js.map +1 -1
- package/build/src/start/project/devices.js +19 -9
- package/build/src/start/project/devices.js.map +1 -1
- package/build/src/start/project/dotExpo.js +15 -11
- package/build/src/start/project/dotExpo.js.map +1 -1
- package/build/src/start/project/settings.js +4 -2
- package/build/src/start/project/settings.js.map +1 -1
- package/build/src/start/resolveOptions.js +48 -40
- package/build/src/start/resolveOptions.js.map +1 -1
- package/build/src/start/server/AsyncNgrok.js +55 -51
- package/build/src/start/server/AsyncNgrok.js.map +1 -1
- package/build/src/start/server/AsyncWsTunnel.js +37 -33
- package/build/src/start/server/AsyncWsTunnel.js.map +1 -1
- package/build/src/start/server/BundlerDevServer.js +81 -79
- package/build/src/start/server/BundlerDevServer.js.map +1 -1
- package/build/src/start/server/DevServerManager.js +42 -38
- package/build/src/start/server/DevServerManager.js.map +1 -1
- package/build/src/start/server/DevToolsPluginManager.js +18 -14
- package/build/src/start/server/DevToolsPluginManager.js.map +1 -1
- package/build/src/start/server/DevelopmentSession.js +18 -14
- package/build/src/start/server/DevelopmentSession.js.map +1 -1
- package/build/src/start/server/ReactDevToolsProxy.js +16 -10
- package/build/src/start/server/ReactDevToolsProxy.js.map +1 -1
- package/build/src/start/server/UrlCreator.js +36 -33
- package/build/src/start/server/UrlCreator.js.map +1 -1
- package/build/src/start/server/getStaticRenderFunctions.js +30 -22
- package/build/src/start/server/getStaticRenderFunctions.js.map +1 -1
- package/build/src/start/server/metro/DevToolsPluginWebsocketEndpoint.js +9 -5
- package/build/src/start/server/metro/DevToolsPluginWebsocketEndpoint.js.map +1 -1
- package/build/src/start/server/metro/MetroBundlerDevServer.js +293 -280
- package/build/src/start/server/metro/MetroBundlerDevServer.js.map +1 -1
- package/build/src/start/server/metro/MetroTerminalReporter.js +63 -56
- package/build/src/start/server/metro/MetroTerminalReporter.js.map +1 -1
- package/build/src/start/server/metro/TerminalReporter.js +39 -33
- package/build/src/start/server/metro/TerminalReporter.js.map +1 -1
- package/build/src/start/server/metro/TerminalReporter.types.js.map +1 -1
- package/build/src/start/server/metro/createExpoFallbackResolver.js +13 -11
- package/build/src/start/server/metro/createExpoFallbackResolver.js.map +1 -1
- package/build/src/start/server/metro/createExpoMetroResolver.js +47 -41
- package/build/src/start/server/metro/createExpoMetroResolver.js.map +1 -1
- package/build/src/start/server/metro/createJResolver.js +31 -27
- package/build/src/start/server/metro/createJResolver.js.map +1 -1
- package/build/src/start/server/metro/createServerComponentsMiddleware.js +110 -98
- package/build/src/start/server/metro/createServerComponentsMiddleware.js.map +1 -1
- package/build/src/start/server/metro/createServerRouteMiddleware.js +34 -30
- package/build/src/start/server/metro/createServerRouteMiddleware.js.map +1 -1
- package/build/src/start/server/metro/debugging/AtlasPrerequisite.js +13 -11
- package/build/src/start/server/metro/debugging/AtlasPrerequisite.js.map +1 -1
- package/build/src/start/server/metro/debugging/MessageHandler.js +3 -1
- package/build/src/start/server/metro/debugging/MessageHandler.js.map +1 -1
- package/build/src/start/server/metro/debugging/attachAtlas.js +26 -22
- package/build/src/start/server/metro/debugging/attachAtlas.js.map +1 -1
- package/build/src/start/server/metro/debugging/createDebugMiddleware.js +19 -17
- package/build/src/start/server/metro/debugging/createDebugMiddleware.js.map +1 -1
- package/build/src/start/server/metro/debugging/createHandlersFactory.js +25 -31
- package/build/src/start/server/metro/debugging/createHandlersFactory.js.map +1 -1
- package/build/src/start/server/metro/debugging/getDebuggerType.js +6 -4
- package/build/src/start/server/metro/debugging/getDebuggerType.js.map +1 -1
- package/build/src/start/server/metro/debugging/messageHandlers/NetworkResponse.js +14 -8
- package/build/src/start/server/metro/debugging/messageHandlers/NetworkResponse.js.map +1 -1
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerGetPossibleBreakpoints.js +7 -5
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerGetPossibleBreakpoints.js.map +1 -1
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerSetBreakpointByUrl.js +8 -6
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerSetBreakpointByUrl.js.map +1 -1
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeCallFunctionOn.js +7 -5
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeCallFunctionOn.js.map +1 -1
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeEvaluate.js +14 -12
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeEvaluate.js.map +1 -1
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeGetProperties.js +14 -10
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeGetProperties.js.map +1 -1
- package/build/src/start/server/metro/debugging/pageIsSupported.js +6 -4
- package/build/src/start/server/metro/debugging/pageIsSupported.js.map +1 -1
- package/build/src/start/server/metro/debugging/types.js.map +1 -1
- package/build/src/start/server/metro/dev-server/createEventSocket.js +18 -16
- package/build/src/start/server/metro/dev-server/createEventSocket.js.map +1 -1
- package/build/src/start/server/metro/dev-server/createMessageSocket.js +23 -21
- package/build/src/start/server/metro/dev-server/createMessageSocket.js.map +1 -1
- package/build/src/start/server/metro/dev-server/createMetroMiddleware.js +23 -21
- package/build/src/start/server/metro/dev-server/createMetroMiddleware.js.map +1 -1
- package/build/src/start/server/metro/dev-server/utils/createSocketBroadcaster.js +4 -2
- package/build/src/start/server/metro/dev-server/utils/createSocketBroadcaster.js.map +1 -1
- package/build/src/start/server/metro/dev-server/utils/createSocketMap.js +4 -2
- package/build/src/start/server/metro/dev-server/utils/createSocketMap.js.map +1 -1
- package/build/src/start/server/metro/dev-server/utils/socketMessages.js +8 -4
- package/build/src/start/server/metro/dev-server/utils/socketMessages.js.map +1 -1
- package/build/src/start/server/metro/externals.js +33 -25
- package/build/src/start/server/metro/externals.js.map +1 -1
- package/build/src/start/server/metro/fetchRouterManifest.js +28 -12
- package/build/src/start/server/metro/fetchRouterManifest.js.map +1 -1
- package/build/src/start/server/metro/formatFileCandidates.js +11 -9
- package/build/src/start/server/metro/formatFileCandidates.js.map +1 -1
- package/build/src/start/server/metro/getCssModulesFromBundler.js +24 -20
- package/build/src/start/server/metro/getCssModulesFromBundler.js.map +1 -1
- package/build/src/start/server/metro/instantiateMetro.js +87 -81
- package/build/src/start/server/metro/instantiateMetro.js.map +1 -1
- package/build/src/start/server/metro/log-box/LogBoxLog.js +40 -36
- package/build/src/start/server/metro/log-box/LogBoxLog.js.map +1 -1
- package/build/src/start/server/metro/log-box/LogBoxSymbolication.js +20 -14
- package/build/src/start/server/metro/log-box/LogBoxSymbolication.js.map +1 -1
- package/build/src/start/server/metro/log-box/formatProjectFilePath.js +10 -6
- package/build/src/start/server/metro/log-box/formatProjectFilePath.js.map +1 -1
- package/build/src/start/server/metro/metroErrorInterface.js +88 -78
- package/build/src/start/server/metro/metroErrorInterface.js.map +1 -1
- package/build/src/start/server/metro/metroErrors.js +8 -4
- package/build/src/start/server/metro/metroErrors.js.map +1 -1
- package/build/src/start/server/metro/metroPrivateServer.js +9 -7
- package/build/src/start/server/metro/metroPrivateServer.js.map +1 -1
- package/build/src/start/server/metro/metroVirtualModules.js +10 -8
- package/build/src/start/server/metro/metroVirtualModules.js.map +1 -1
- package/build/src/start/server/metro/metroWatchTypeScriptFiles.js +24 -22
- package/build/src/start/server/metro/metroWatchTypeScriptFiles.js.map +1 -1
- package/build/src/start/server/metro/router.js +48 -32
- package/build/src/start/server/metro/router.js.map +1 -1
- package/build/src/start/server/metro/runServer-fork.js +24 -22
- package/build/src/start/server/metro/runServer-fork.js.map +1 -1
- package/build/src/start/server/metro/serializeHtml.js +24 -22
- package/build/src/start/server/metro/serializeHtml.js.map +1 -1
- package/build/src/start/server/metro/symbolicate.js.map +1 -1
- package/build/src/start/server/metro/waitForMetroToObserveTypeScriptFile.js +35 -29
- package/build/src/start/server/metro/waitForMetroToObserveTypeScriptFile.js.map +1 -1
- package/build/src/start/server/metro/withMetroMultiPlatform.js +150 -140
- package/build/src/start/server/metro/withMetroMultiPlatform.js.map +1 -1
- package/build/src/start/server/metro/withMetroResolvers.js +49 -39
- package/build/src/start/server/metro/withMetroResolvers.js.map +1 -1
- package/build/src/start/server/middleware/ContextModuleSourceMapsMiddleware.js +8 -6
- package/build/src/start/server/middleware/ContextModuleSourceMapsMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/CorsMiddleware.js +17 -15
- package/build/src/start/server/middleware/CorsMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/CreateFileMiddleware.js +32 -31
- package/build/src/start/server/middleware/CreateFileMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/DevToolsPluginMiddleware.js +22 -19
- package/build/src/start/server/middleware/DevToolsPluginMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/DomComponentsMiddleware.js +33 -27
- package/build/src/start/server/middleware/DomComponentsMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js +61 -57
- package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/ExpoMiddleware.js +15 -9
- package/build/src/start/server/middleware/ExpoMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/FaviconMiddleware.js +16 -15
- package/build/src/start/server/middleware/FaviconMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/HistoryFallbackMiddleware.js +4 -2
- package/build/src/start/server/middleware/HistoryFallbackMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/InterstitialPageMiddleware.js +34 -31
- package/build/src/start/server/middleware/InterstitialPageMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/ManifestMiddleware.js +64 -56
- package/build/src/start/server/middleware/ManifestMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/ReactDevToolsPageMiddleware.js +23 -19
- package/build/src/start/server/middleware/ReactDevToolsPageMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js +20 -19
- package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/ServeStaticMiddleware.js +11 -9
- package/build/src/start/server/middleware/ServeStaticMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/createBuiltinAPIRequestHandler.js +17 -11
- package/build/src/start/server/middleware/createBuiltinAPIRequestHandler.js.map +1 -1
- package/build/src/start/server/middleware/inspector/CdpClient.js +12 -10
- package/build/src/start/server/middleware/inspector/CdpClient.js.map +1 -1
- package/build/src/start/server/middleware/inspector/JsInspector.js +35 -27
- package/build/src/start/server/middleware/inspector/JsInspector.js.map +1 -1
- package/build/src/start/server/middleware/inspector/createJsInspectorMiddleware.js +21 -19
- package/build/src/start/server/middleware/inspector/createJsInspectorMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/inspector/middlwareMutations.js +6 -2
- package/build/src/start/server/middleware/inspector/middlwareMutations.js.map +1 -1
- package/build/src/start/server/middleware/metroOptions.js +120 -96
- package/build/src/start/server/middleware/metroOptions.js.map +1 -1
- package/build/src/start/server/middleware/mutations.js +7 -3
- package/build/src/start/server/middleware/mutations.js.map +1 -1
- package/build/src/start/server/middleware/resolveAssets.js +26 -18
- package/build/src/start/server/middleware/resolveAssets.js.map +1 -1
- package/build/src/start/server/middleware/resolvePlatform.js +23 -15
- package/build/src/start/server/middleware/resolvePlatform.js.map +1 -1
- package/build/src/start/server/middleware/resolveRuntimeVersionWithExpoUpdatesAsync.js +11 -9
- package/build/src/start/server/middleware/resolveRuntimeVersionWithExpoUpdatesAsync.js.map +1 -1
- package/build/src/start/server/middleware/server.types.js.map +1 -1
- package/build/src/start/server/openPlatforms.js +10 -8
- package/build/src/start/server/openPlatforms.js.map +1 -1
- package/build/src/start/server/platformBundlers.js +13 -11
- package/build/src/start/server/platformBundlers.js.map +1 -1
- package/build/src/start/server/serverLogLikeMetro.js +58 -50
- package/build/src/start/server/serverLogLikeMetro.js.map +1 -1
- package/build/src/start/server/type-generation/expo-env.js +11 -7
- package/build/src/start/server/type-generation/expo-env.js.map +1 -1
- package/build/src/start/server/type-generation/routes.js +72 -50
- package/build/src/start/server/type-generation/routes.js.map +1 -1
- package/build/src/start/server/type-generation/startTypescriptTypeGeneration.js +21 -19
- package/build/src/start/server/type-generation/startTypescriptTypeGeneration.js.map +1 -1
- package/build/src/start/server/type-generation/tsconfig.js +36 -28
- package/build/src/start/server/type-generation/tsconfig.js.map +1 -1
- package/build/src/start/server/webTemplate.js +28 -24
- package/build/src/start/server/webTemplate.js.map +1 -1
- package/build/src/start/server/webpack/WebpackBundlerDevServer.js +52 -46
- package/build/src/start/server/webpack/WebpackBundlerDevServer.js.map +1 -1
- package/build/src/start/server/webpack/compile.js +15 -11
- package/build/src/start/server/webpack/compile.js.map +1 -1
- package/build/src/start/server/webpack/formatWebpackMessages.js +28 -26
- package/build/src/start/server/webpack/formatWebpackMessages.js.map +1 -1
- package/build/src/start/server/webpack/resolveFromProject.js +18 -12
- package/build/src/start/server/webpack/resolveFromProject.js.map +1 -1
- package/build/src/start/server/webpack/tls.js +18 -12
- package/build/src/start/server/webpack/tls.js.map +1 -1
- package/build/src/start/startAsync.js +31 -27
- package/build/src/start/startAsync.js.map +1 -1
- package/build/src/utils/FileNotifier.js +20 -17
- package/build/src/utils/FileNotifier.js.map +1 -1
- package/build/src/utils/ansi.js +7 -5
- package/build/src/utils/ansi.js.map +1 -1
- package/build/src/utils/args.js +24 -14
- package/build/src/utils/args.js.map +1 -1
- package/build/src/utils/array.js +18 -6
- package/build/src/utils/array.js.map +1 -1
- package/build/src/utils/cocoapods.js +54 -46
- package/build/src/utils/cocoapods.js.map +1 -1
- package/build/src/utils/codesigning.js +79 -69
- package/build/src/utils/codesigning.js.map +1 -1
- package/build/src/utils/createFileTransform.js +16 -12
- package/build/src/utils/createFileTransform.js.map +1 -1
- package/build/src/utils/createTempPath.js +12 -8
- package/build/src/utils/createTempPath.js.map +1 -1
- package/build/src/utils/delay.js +12 -6
- package/build/src/utils/delay.js.map +1 -1
- package/build/src/utils/dir.js +40 -22
- package/build/src/utils/dir.js.map +1 -1
- package/build/src/utils/downloadAppAsync.js +10 -8
- package/build/src/utils/downloadAppAsync.js.map +1 -1
- package/build/src/utils/downloadExpoGoAsync.js +27 -23
- package/build/src/utils/downloadExpoGoAsync.js.map +1 -1
- package/build/src/utils/editor.js +41 -35
- package/build/src/utils/editor.js.map +1 -1
- package/build/src/utils/env.js +63 -59
- package/build/src/utils/env.js.map +1 -1
- package/build/src/utils/errors.js +37 -30
- package/build/src/utils/errors.js.map +1 -1
- package/build/src/utils/exit.js +35 -31
- package/build/src/utils/exit.js.map +1 -1
- package/build/src/utils/expoUpdatesCli.js +32 -22
- package/build/src/utils/expoUpdatesCli.js.map +1 -1
- package/build/src/utils/fetch.js +8 -4
- package/build/src/utils/fetch.js.map +1 -1
- package/build/src/utils/filePath.js +10 -6
- package/build/src/utils/filePath.js.map +1 -1
- package/build/src/utils/findUp.js +13 -9
- package/build/src/utils/findUp.js.map +1 -1
- package/build/src/utils/fn.js +6 -2
- package/build/src/utils/fn.js.map +1 -1
- package/build/src/utils/getOrPromptApplicationId.js +41 -35
- package/build/src/utils/getOrPromptApplicationId.js.map +1 -1
- package/build/src/utils/getRunningProcess.js +29 -21
- package/build/src/utils/getRunningProcess.js.map +1 -1
- package/build/src/utils/git.js +26 -20
- package/build/src/utils/git.js.map +1 -1
- package/build/src/utils/glob.js +8 -4
- package/build/src/utils/glob.js.map +1 -1
- package/build/src/utils/interactive.js +3 -1
- package/build/src/utils/interactive.js.map +1 -1
- package/build/src/utils/ip.js +21 -19
- package/build/src/utils/ip.js.map +1 -1
- package/build/src/utils/isModuleSymlinked.js +11 -9
- package/build/src/utils/isModuleSymlinked.js.map +1 -1
- package/build/src/utils/jsonSchemaDeref.js +20 -18
- package/build/src/utils/jsonSchemaDeref.js.map +1 -1
- package/build/src/utils/link.js +17 -13
- package/build/src/utils/link.js.map +1 -1
- package/build/src/utils/mergeGitIgnorePaths.js +46 -28
- package/build/src/utils/mergeGitIgnorePaths.js.map +1 -1
- package/build/src/utils/modifyConfigAsync.js +16 -10
- package/build/src/utils/modifyConfigAsync.js.map +1 -1
- package/build/src/utils/modifyConfigPlugins.js +10 -6
- package/build/src/utils/modifyConfigPlugins.js.map +1 -1
- package/build/src/utils/multipartMixed.js +13 -11
- package/build/src/utils/multipartMixed.js.map +1 -1
- package/build/src/utils/nodeEnv.js +12 -6
- package/build/src/utils/nodeEnv.js.map +1 -1
- package/build/src/utils/nodeModules.js +10 -8
- package/build/src/utils/nodeModules.js.map +1 -1
- package/build/src/utils/npm.js +49 -35
- package/build/src/utils/npm.js.map +1 -1
- package/build/src/utils/obj.js +11 -5
- package/build/src/utils/obj.js.map +1 -1
- package/build/src/utils/open.js +10 -8
- package/build/src/utils/open.js.map +1 -1
- package/build/src/utils/ora.js +13 -7
- package/build/src/utils/ora.js.map +1 -1
- package/build/src/utils/plist.js +21 -15
- package/build/src/utils/plist.js.map +1 -1
- package/build/src/utils/port.js +43 -33
- package/build/src/utils/port.js.map +1 -1
- package/build/src/utils/profile.js +11 -7
- package/build/src/utils/profile.js.map +1 -1
- package/build/src/utils/progress.js +11 -5
- package/build/src/utils/progress.js.map +1 -1
- package/build/src/utils/prompts.js +47 -29
- package/build/src/utils/prompts.js.map +1 -1
- package/build/src/utils/resolveArgs.js +36 -24
- package/build/src/utils/resolveArgs.js.map +1 -1
- package/build/src/utils/scheme.js +40 -32
- package/build/src/utils/scheme.js.map +1 -1
- package/build/src/utils/stream.js +5 -3
- package/build/src/utils/stream.js.map +1 -1
- package/build/src/utils/strings.js +6 -4
- package/build/src/utils/strings.js.map +1 -1
- package/build/src/utils/tar.js +18 -14
- package/build/src/utils/tar.js.map +1 -1
- package/build/src/utils/telemetry/Telemetry.js +29 -27
- package/build/src/utils/telemetry/Telemetry.js.map +1 -1
- package/build/src/utils/telemetry/clients/FetchClient.js +15 -13
- package/build/src/utils/telemetry/clients/FetchClient.js.map +1 -1
- package/build/src/utils/telemetry/clients/FetchDetachedClient.js +26 -22
- package/build/src/utils/telemetry/clients/FetchDetachedClient.js.map +1 -1
- package/build/src/utils/telemetry/clients/flushFetchDetached.js +10 -10
- package/build/src/utils/telemetry/clients/flushFetchDetached.js.map +1 -1
- package/build/src/utils/telemetry/events.js +4 -2
- package/build/src/utils/telemetry/events.js.map +1 -1
- package/build/src/utils/telemetry/index.js +25 -29
- package/build/src/utils/telemetry/index.js.map +1 -1
- package/build/src/utils/telemetry/types.js.map +1 -1
- package/build/src/utils/telemetry/utils/constants.js +8 -4
- package/build/src/utils/telemetry/utils/constants.js.map +1 -1
- package/build/src/utils/telemetry/utils/context.js +18 -14
- package/build/src/utils/telemetry/utils/context.js.map +1 -1
- package/build/src/utils/template.js +6 -4
- package/build/src/utils/template.js.map +1 -1
- package/build/src/utils/terminal.js +4 -2
- package/build/src/utils/terminal.js.map +1 -1
- package/build/src/utils/tsconfig/evaluateTsConfig.js +21 -17
- package/build/src/utils/tsconfig/evaluateTsConfig.js.map +1 -1
- package/build/src/utils/tsconfig/loadTsConfigPaths.js +18 -14
- package/build/src/utils/tsconfig/loadTsConfigPaths.js.map +1 -1
- package/build/src/utils/tsconfig/matchTsConfigPathAlias.js +7 -5
- package/build/src/utils/tsconfig/matchTsConfigPathAlias.js.map +1 -1
- package/build/src/utils/tsconfig/resolveWithTsConfigPaths.js +14 -12
- package/build/src/utils/tsconfig/resolveWithTsConfigPaths.js.map +1 -1
- package/build/src/utils/url.js +23 -13
- package/build/src/utils/url.js.map +1 -1
- package/build/src/utils/validateApplicationId.js +108 -86
- package/build/src/utils/validateApplicationId.js.map +1 -1
- package/build/src/utils/variadic.js +22 -16
- package/build/src/utils/variadic.js.map +1 -1
- package/build/src/whoami/index.js +11 -7
- package/build/src/whoami/index.js.map +1 -1
- package/build/src/whoami/whoamiAsync.js +11 -7
- package/build/src/whoami/whoamiAsync.js.map +1 -1
- package/package.json +17 -16
|
@@ -14,11 +14,21 @@ function _export(target, all) {
|
|
|
14
14
|
});
|
|
15
15
|
}
|
|
16
16
|
_export(exports, {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
17
|
+
IS_METRO_BUNDLE_ERROR_SYMBOL: function() {
|
|
18
|
+
return IS_METRO_BUNDLE_ERROR_SYMBOL;
|
|
19
|
+
},
|
|
20
|
+
getErrorOverlayHtmlAsync: function() {
|
|
21
|
+
return getErrorOverlayHtmlAsync;
|
|
22
|
+
},
|
|
23
|
+
logMetroError: function() {
|
|
24
|
+
return logMetroError;
|
|
25
|
+
},
|
|
26
|
+
logMetroErrorAsync: function() {
|
|
27
|
+
return logMetroErrorAsync;
|
|
28
|
+
},
|
|
29
|
+
logMetroErrorWithStack: function() {
|
|
30
|
+
return logMetroErrorWithStack;
|
|
31
|
+
}
|
|
22
32
|
});
|
|
23
33
|
function _paths() {
|
|
24
34
|
const data = require("@expo/config/paths");
|
|
@@ -28,96 +38,96 @@ function _paths() {
|
|
|
28
38
|
return data;
|
|
29
39
|
}
|
|
30
40
|
function _chalk() {
|
|
31
|
-
const data = /*#__PURE__*/
|
|
41
|
+
const data = /*#__PURE__*/ _interop_require_default(require("chalk"));
|
|
32
42
|
_chalk = function() {
|
|
33
43
|
return data;
|
|
34
44
|
};
|
|
35
45
|
return data;
|
|
36
46
|
}
|
|
37
47
|
function _path() {
|
|
38
|
-
const data = /*#__PURE__*/
|
|
48
|
+
const data = /*#__PURE__*/ _interop_require_default(require("path"));
|
|
39
49
|
_path = function() {
|
|
40
50
|
return data;
|
|
41
51
|
};
|
|
42
52
|
return data;
|
|
43
53
|
}
|
|
44
|
-
function
|
|
45
|
-
const data = /*#__PURE__*/
|
|
46
|
-
|
|
54
|
+
function _resolvefrom() {
|
|
55
|
+
const data = /*#__PURE__*/ _interop_require_default(require("resolve-from"));
|
|
56
|
+
_resolvefrom = function() {
|
|
47
57
|
return data;
|
|
48
58
|
};
|
|
49
59
|
return data;
|
|
50
60
|
}
|
|
51
|
-
function
|
|
61
|
+
function _stacktraceparser() {
|
|
52
62
|
const data = require("stacktrace-parser");
|
|
53
|
-
|
|
63
|
+
_stacktraceparser = function() {
|
|
54
64
|
return data;
|
|
55
65
|
};
|
|
56
66
|
return data;
|
|
57
67
|
}
|
|
58
|
-
function
|
|
59
|
-
const data = /*#__PURE__*/
|
|
60
|
-
|
|
68
|
+
function _terminallink() {
|
|
69
|
+
const data = /*#__PURE__*/ _interop_require_default(require("terminal-link"));
|
|
70
|
+
_terminallink = function() {
|
|
61
71
|
return data;
|
|
62
72
|
};
|
|
63
73
|
return data;
|
|
64
74
|
}
|
|
65
|
-
const
|
|
75
|
+
const _LogBoxLog = require("./log-box/LogBoxLog");
|
|
66
76
|
const _formatProjectFilePath = require("./log-box/formatProjectFilePath");
|
|
67
77
|
const _log = require("../../../log");
|
|
68
78
|
const _ansi = require("../../../utils/ansi");
|
|
69
79
|
const _errors = require("../../../utils/errors");
|
|
70
80
|
const _getStaticRenderFunctions = require("../getStaticRenderFunctions");
|
|
71
|
-
function
|
|
81
|
+
function _interop_require_default(obj) {
|
|
72
82
|
return obj && obj.__esModule ? obj : {
|
|
73
83
|
default: obj
|
|
74
84
|
};
|
|
75
85
|
}
|
|
76
86
|
function fill(width) {
|
|
77
|
-
return Array(width).join(
|
|
87
|
+
return Array(width).join(' ');
|
|
78
88
|
}
|
|
79
89
|
function formatPaths(config) {
|
|
80
90
|
const filePath = _chalk().default.reset(config.filePath);
|
|
81
|
-
return _chalk().default.dim(
|
|
91
|
+
return _chalk().default.dim('(') + filePath + _chalk().default.dim(`:${[
|
|
82
92
|
config.line,
|
|
83
93
|
config.col
|
|
84
|
-
].filter(Boolean).join(
|
|
94
|
+
].filter(Boolean).join(':')})`);
|
|
85
95
|
}
|
|
86
|
-
async function logMetroErrorWithStack(projectRoot, { stack
|
|
96
|
+
async function logMetroErrorWithStack(projectRoot, { stack, codeFrame, error }) {
|
|
87
97
|
if (error instanceof _errors.SilentError) {
|
|
88
98
|
return;
|
|
89
99
|
}
|
|
90
100
|
// process.stdout.write('\u001b[0m'); // Reset attributes
|
|
91
101
|
// process.stdout.write('\u001bc'); // Reset the terminal
|
|
92
102
|
_log.Log.log();
|
|
93
|
-
_log.Log.log(_chalk().default.red(
|
|
103
|
+
_log.Log.log(_chalk().default.red('Metro error: ') + error.message);
|
|
94
104
|
_log.Log.log();
|
|
95
105
|
if (error instanceof _errors.CommandError) {
|
|
96
106
|
return;
|
|
97
107
|
}
|
|
98
108
|
if (codeFrame) {
|
|
99
|
-
var
|
|
109
|
+
var _codeFrame_location;
|
|
100
110
|
const maxWarningLineLength = Math.max(200, process.stdout.columns);
|
|
101
111
|
const lineText = codeFrame.content;
|
|
102
|
-
const isPreviewTooLong = codeFrame.content.split(
|
|
103
|
-
const column = (
|
|
112
|
+
const isPreviewTooLong = codeFrame.content.split('\n').some((line)=>line.length > maxWarningLineLength);
|
|
113
|
+
const column = (_codeFrame_location = codeFrame.location) == null ? void 0 : _codeFrame_location.column;
|
|
104
114
|
// When the preview is too long, we skip reading the file and attempting to apply
|
|
105
115
|
// code coloring, this is because it can get very slow.
|
|
106
116
|
if (isPreviewTooLong) {
|
|
107
|
-
var
|
|
108
|
-
let previewLine =
|
|
109
|
-
let cursorLine =
|
|
117
|
+
var _codeFrame_location1, _codeFrame_location2;
|
|
118
|
+
let previewLine = '';
|
|
119
|
+
let cursorLine = '';
|
|
110
120
|
const formattedPath = formatPaths({
|
|
111
121
|
filePath: codeFrame.fileName,
|
|
112
|
-
line: (
|
|
113
|
-
col: (
|
|
122
|
+
line: (_codeFrame_location1 = codeFrame.location) == null ? void 0 : _codeFrame_location1.row,
|
|
123
|
+
col: (_codeFrame_location2 = codeFrame.location) == null ? void 0 : _codeFrame_location2.column
|
|
114
124
|
});
|
|
115
125
|
// Create a curtailed preview line like:
|
|
116
126
|
// `...transition:'fade'},k._updatePropsStack=function(){clearImmediate(k._updateImmediate),k._updateImmediate...`
|
|
117
127
|
// If there is no text preview or column number, we can't do anything.
|
|
118
128
|
if (lineText && column != null) {
|
|
119
|
-
var
|
|
120
|
-
const rangeWindow = Math.round(Math.max(((
|
|
129
|
+
var _codeFrame_fileName;
|
|
130
|
+
const rangeWindow = Math.round(Math.max(((_codeFrame_fileName = codeFrame.fileName) == null ? void 0 : _codeFrame_fileName.length) ?? 0, Math.max(80, process.stdout.columns)) / 2);
|
|
121
131
|
let minBounds = Math.max(0, column - rangeWindow);
|
|
122
132
|
const maxBounds = Math.min(minBounds + rangeWindow * 2, lineText.length);
|
|
123
133
|
previewLine = lineText.slice(minBounds, maxBounds);
|
|
@@ -126,20 +136,20 @@ async function logMetroErrorWithStack(projectRoot, { stack , codeFrame , error
|
|
|
126
136
|
if (minBounds > 0) {
|
|
127
137
|
// Adjust the min bounds so the cursor is aligned after we add the "..."
|
|
128
138
|
minBounds -= 3;
|
|
129
|
-
previewLine = _chalk().default.dim(
|
|
139
|
+
previewLine = _chalk().default.dim('...') + previewLine;
|
|
130
140
|
}
|
|
131
141
|
if (maxBounds < lineText.length) {
|
|
132
|
-
previewLine += _chalk().default.dim(
|
|
142
|
+
previewLine += _chalk().default.dim('...');
|
|
133
143
|
}
|
|
134
144
|
// If the column property could be found, then use that to fix the cursor location which is often broken in regex.
|
|
135
|
-
cursorLine = (column == null ?
|
|
145
|
+
cursorLine = (column == null ? '' : fill(column) + _chalk().default.reset('^')).slice(minBounds);
|
|
136
146
|
_log.Log.log([
|
|
137
147
|
formattedPath,
|
|
138
|
-
|
|
148
|
+
'',
|
|
139
149
|
previewLine,
|
|
140
150
|
cursorLine,
|
|
141
|
-
_chalk().default.dim(
|
|
142
|
-
].join(
|
|
151
|
+
_chalk().default.dim('(error truncated)')
|
|
152
|
+
].join('\n'));
|
|
143
153
|
}
|
|
144
154
|
} else {
|
|
145
155
|
_log.Log.log(codeFrame.content);
|
|
@@ -155,7 +165,7 @@ async function logMetroErrorWithStack(projectRoot, { stack , codeFrame , error
|
|
|
155
165
|
});
|
|
156
166
|
const stackLines = [];
|
|
157
167
|
stackProps.forEach((frame)=>{
|
|
158
|
-
const position =
|
|
168
|
+
const position = _terminallink().default.isSupported ? (0, _terminallink().default)(frame.subtitle, frame.subtitle) : frame.subtitle;
|
|
159
169
|
let lineItem = _chalk().default.gray(` ${frame.title} (${position})`);
|
|
160
170
|
if (frame.collapse) {
|
|
161
171
|
lineItem = _chalk().default.dim(lineItem);
|
|
@@ -168,45 +178,45 @@ async function logMetroErrorWithStack(projectRoot, { stack , codeFrame , error
|
|
|
168
178
|
_log.Log.log();
|
|
169
179
|
_log.Log.log(_chalk().default.bold`Call Stack`);
|
|
170
180
|
if (!stackLines.length) {
|
|
171
|
-
_log.Log.log(_chalk().default.gray(
|
|
181
|
+
_log.Log.log(_chalk().default.gray(' No stack trace available.'));
|
|
172
182
|
} else {
|
|
173
|
-
_log.Log.log(stackLines.join(
|
|
183
|
+
_log.Log.log(stackLines.join('\n'));
|
|
174
184
|
}
|
|
175
185
|
} else {
|
|
176
186
|
_log.Log.log(_chalk().default.gray(` ${error.stack}`));
|
|
177
187
|
}
|
|
178
188
|
}
|
|
179
|
-
const IS_METRO_BUNDLE_ERROR_SYMBOL = Symbol(
|
|
180
|
-
const HAS_LOGGED_SYMBOL = Symbol(
|
|
181
|
-
async function logMetroError(projectRoot, { error
|
|
182
|
-
var
|
|
189
|
+
const IS_METRO_BUNDLE_ERROR_SYMBOL = Symbol('_isMetroBundleError');
|
|
190
|
+
const HAS_LOGGED_SYMBOL = Symbol('_hasLoggedInCLI');
|
|
191
|
+
async function logMetroError(projectRoot, { error }) {
|
|
192
|
+
var _log_symbolicated_stack, _log_symbolicated;
|
|
183
193
|
if (error instanceof _errors.SilentError || error[HAS_LOGGED_SYMBOL]) {
|
|
184
194
|
return;
|
|
185
195
|
}
|
|
186
196
|
error[HAS_LOGGED_SYMBOL] = true;
|
|
187
197
|
const stack = parseErrorStack(projectRoot, error.stack);
|
|
188
|
-
const log = new
|
|
189
|
-
level:
|
|
198
|
+
const log = new _LogBoxLog.LogBoxLog({
|
|
199
|
+
level: 'static',
|
|
190
200
|
message: {
|
|
191
201
|
content: error.message,
|
|
192
202
|
substitutions: []
|
|
193
203
|
},
|
|
194
204
|
isComponentError: false,
|
|
195
205
|
stack,
|
|
196
|
-
category:
|
|
206
|
+
category: 'static',
|
|
197
207
|
componentStack: []
|
|
198
208
|
});
|
|
199
|
-
await new Promise((res)=>log.symbolicate(
|
|
209
|
+
await new Promise((res)=>log.symbolicate('stack', res));
|
|
200
210
|
logMetroErrorWithStack(projectRoot, {
|
|
201
|
-
stack: ((
|
|
211
|
+
stack: ((_log_symbolicated = log.symbolicated) == null ? void 0 : (_log_symbolicated_stack = _log_symbolicated.stack) == null ? void 0 : _log_symbolicated_stack.stack) ?? [],
|
|
202
212
|
codeFrame: log.codeFrame,
|
|
203
213
|
error
|
|
204
214
|
});
|
|
205
215
|
}
|
|
206
216
|
function isTransformError(error) {
|
|
207
|
-
return error.type ===
|
|
217
|
+
return error.type === 'TransformError';
|
|
208
218
|
}
|
|
209
|
-
/** @returns the html required to render the static metro error as an SPA. */ function logFromError({ error
|
|
219
|
+
/** @returns the html required to render the static metro error as an SPA. */ function logFromError({ error, projectRoot }) {
|
|
210
220
|
// Remap direct Metro Node.js errors to a format that will appear more client-friendly in the logbox UI.
|
|
211
221
|
let stack;
|
|
212
222
|
if (isTransformError(error) && error.filename) {
|
|
@@ -214,66 +224,66 @@ function isTransformError(error) {
|
|
|
214
224
|
stack = [
|
|
215
225
|
{
|
|
216
226
|
file: _path().default.join(projectRoot, error.filename),
|
|
217
|
-
methodName:
|
|
227
|
+
methodName: '<unknown>',
|
|
218
228
|
arguments: [],
|
|
219
229
|
// TODO: Import stack
|
|
220
230
|
lineNumber: error.lineNumber,
|
|
221
231
|
column: error.column
|
|
222
|
-
}
|
|
232
|
+
}
|
|
223
233
|
];
|
|
224
|
-
} else if (
|
|
234
|
+
} else if ('originModulePath' in error && typeof error.originModulePath === 'string') {
|
|
225
235
|
// TODO: Use import stack here when the error is resolution based.
|
|
226
236
|
stack = [
|
|
227
237
|
{
|
|
228
238
|
file: error.originModulePath,
|
|
229
|
-
methodName:
|
|
239
|
+
methodName: '<unknown>',
|
|
230
240
|
arguments: [],
|
|
231
241
|
// TODO: Import stack
|
|
232
242
|
lineNumber: 0,
|
|
233
243
|
column: 0
|
|
234
|
-
}
|
|
244
|
+
}
|
|
235
245
|
];
|
|
236
246
|
} else {
|
|
237
247
|
stack = parseErrorStack(projectRoot, error.stack);
|
|
238
248
|
}
|
|
239
|
-
return new
|
|
240
|
-
level:
|
|
249
|
+
return new _LogBoxLog.LogBoxLog({
|
|
250
|
+
level: 'static',
|
|
241
251
|
message: {
|
|
242
252
|
content: error.message,
|
|
243
253
|
substitutions: []
|
|
244
254
|
},
|
|
245
255
|
isComponentError: false,
|
|
246
256
|
stack,
|
|
247
|
-
category:
|
|
257
|
+
category: 'static',
|
|
248
258
|
componentStack: []
|
|
249
259
|
});
|
|
250
260
|
}
|
|
251
|
-
async function logMetroErrorAsync({ error
|
|
252
|
-
var
|
|
261
|
+
async function logMetroErrorAsync({ error, projectRoot }) {
|
|
262
|
+
var _log_symbolicated_stack, _log_symbolicated;
|
|
253
263
|
const log = logFromError({
|
|
254
264
|
projectRoot,
|
|
255
265
|
error
|
|
256
266
|
});
|
|
257
|
-
await new Promise((res)=>log.symbolicate(
|
|
267
|
+
await new Promise((res)=>log.symbolicate('stack', ()=>res()));
|
|
258
268
|
logMetroErrorWithStack(projectRoot, {
|
|
259
|
-
stack: ((
|
|
269
|
+
stack: ((_log_symbolicated = log.symbolicated) == null ? void 0 : (_log_symbolicated_stack = _log_symbolicated.stack) == null ? void 0 : _log_symbolicated_stack.stack) ?? [],
|
|
260
270
|
codeFrame: log.codeFrame,
|
|
261
271
|
error
|
|
262
272
|
});
|
|
263
273
|
}
|
|
264
|
-
async function getErrorOverlayHtmlAsync({ error
|
|
265
|
-
var
|
|
274
|
+
async function getErrorOverlayHtmlAsync({ error, projectRoot, routerRoot }) {
|
|
275
|
+
var _log_symbolicated_stack, _log_symbolicated;
|
|
266
276
|
const log = logFromError({
|
|
267
277
|
projectRoot,
|
|
268
278
|
error
|
|
269
279
|
});
|
|
270
|
-
await new Promise((res)=>log.symbolicate(
|
|
280
|
+
await new Promise((res)=>log.symbolicate('stack', ()=>res()));
|
|
271
281
|
logMetroErrorWithStack(projectRoot, {
|
|
272
|
-
stack: ((
|
|
282
|
+
stack: ((_log_symbolicated = log.symbolicated) == null ? void 0 : (_log_symbolicated_stack = _log_symbolicated.stack) == null ? void 0 : _log_symbolicated_stack.stack) ?? [],
|
|
273
283
|
codeFrame: log.codeFrame,
|
|
274
284
|
error
|
|
275
285
|
});
|
|
276
|
-
if (
|
|
286
|
+
if ('message' in log && 'content' in log.message && typeof log.message.content === 'string') {
|
|
277
287
|
log.message.content = (0, _ansi.stripAnsi)(log.message.content);
|
|
278
288
|
}
|
|
279
289
|
const logBoxContext = {
|
|
@@ -285,18 +295,18 @@ async function getErrorOverlayHtmlAsync({ error , projectRoot , routerRoot }) {
|
|
|
285
295
|
};
|
|
286
296
|
const html = `<html><head><style>#root,body,html{height:100%}body{overflow:hidden}#root{display:flex}</style></head><body><div id="root"></div><script id="_expo-static-error" type="application/json">${JSON.stringify(logBoxContext)}</script></body></html>`;
|
|
287
297
|
const errorOverlayEntry = await (0, _getStaticRenderFunctions.createMetroEndpointAsync)(projectRoot, // Keep the URL relative
|
|
288
|
-
|
|
289
|
-
mode:
|
|
290
|
-
platform:
|
|
298
|
+
'', (0, _resolvefrom().default)(projectRoot, 'expo-router/_error'), {
|
|
299
|
+
mode: 'development',
|
|
300
|
+
platform: 'web',
|
|
291
301
|
minify: false,
|
|
292
302
|
optimize: false,
|
|
293
303
|
usedExports: false,
|
|
294
|
-
baseUrl:
|
|
304
|
+
baseUrl: '',
|
|
295
305
|
routerRoot,
|
|
296
306
|
isExporting: false,
|
|
297
307
|
reactCompiler: false
|
|
298
308
|
});
|
|
299
|
-
const htmlWithJs = html.replace(
|
|
309
|
+
const htmlWithJs = html.replace('</body>', `<script src=${errorOverlayEntry}></script></body>`);
|
|
300
310
|
return htmlWithJs;
|
|
301
311
|
}
|
|
302
312
|
function parseErrorStack(projectRoot, stack) {
|
|
@@ -307,20 +317,20 @@ function parseErrorStack(projectRoot, stack) {
|
|
|
307
317
|
return stack;
|
|
308
318
|
}
|
|
309
319
|
const serverRoot = (0, _paths().getMetroServerRoot)(projectRoot);
|
|
310
|
-
return (0,
|
|
320
|
+
return (0, _stacktraceparser().parse)(stack).map((frame)=>{
|
|
311
321
|
// frame.file will mostly look like `http://localhost:8081/index.bundle?platform=web&dev=true&hot=false`
|
|
312
322
|
if (frame.file) {
|
|
313
323
|
// SSR will sometimes have absolute paths followed by `.bundle?...`, we need to try and make them relative paths and append a dev server URL.
|
|
314
|
-
if (frame.file.startsWith(
|
|
324
|
+
if (frame.file.startsWith('/') && frame.file.includes('bundle?') && !canParse(frame.file)) {
|
|
315
325
|
// Malformed stack file from SSR. Attempt to repair.
|
|
316
|
-
frame.file =
|
|
326
|
+
frame.file = 'https://localhost:8081/' + _path().default.relative(serverRoot, frame.file);
|
|
317
327
|
}
|
|
318
328
|
}
|
|
319
329
|
return {
|
|
320
330
|
...frame,
|
|
321
331
|
column: frame.column != null ? frame.column - 1 : null
|
|
322
332
|
};
|
|
323
|
-
}).filter((frame)=>frame.file && !frame.file.includes(
|
|
333
|
+
}).filter((frame)=>frame.file && !frame.file.includes('node_modules'));
|
|
324
334
|
}
|
|
325
335
|
function canParse(url) {
|
|
326
336
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/start/server/metro/metroErrorInterface.ts"],"sourcesContent":["/**\n * Copyright © 2022 650 Industries.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport { getMetroServerRoot } from '@expo/config/paths';\nimport chalk from 'chalk';\nimport path from 'path';\nimport resolveFrom from 'resolve-from';\nimport { parse, StackFrame } from 'stacktrace-parser';\nimport terminalLink from 'terminal-link';\n\nimport { LogBoxLog } from './log-box/LogBoxLog';\nimport type { CodeFrame, StackFrame as MetroStackFrame } from './log-box/LogBoxSymbolication';\nimport { getStackFormattedLocation } from './log-box/formatProjectFilePath';\nimport { Log } from '../../../log';\nimport { stripAnsi } from '../../../utils/ansi';\nimport { CommandError, SilentError } from '../../../utils/errors';\nimport { createMetroEndpointAsync } from '../getStaticRenderFunctions';\n\nfunction fill(width: number): string {\n return Array(width).join(' ');\n}\n\nfunction formatPaths(config: { filePath: string | null; line?: number; col?: number }) {\n const filePath = chalk.reset(config.filePath);\n return (\n chalk.dim('(') +\n filePath +\n chalk.dim(`:${[config.line, config.col].filter(Boolean).join(':')})`)\n );\n}\n\nexport async function logMetroErrorWithStack(\n projectRoot: string,\n {\n stack,\n codeFrame,\n error,\n }: {\n stack: MetroStackFrame[];\n codeFrame?: CodeFrame;\n error: Error;\n }\n) {\n if (error instanceof SilentError) {\n return;\n }\n\n // process.stdout.write('\\u001b[0m'); // Reset attributes\n // process.stdout.write('\\u001bc'); // Reset the terminal\n\n Log.log();\n Log.log(chalk.red('Metro error: ') + error.message);\n Log.log();\n\n if (error instanceof CommandError) {\n return;\n }\n\n if (codeFrame) {\n const maxWarningLineLength = Math.max(200, process.stdout.columns);\n\n const lineText = codeFrame.content;\n const isPreviewTooLong = codeFrame.content\n .split('\\n')\n .some((line) => line.length > maxWarningLineLength);\n const column = codeFrame.location?.column;\n // When the preview is too long, we skip reading the file and attempting to apply\n // code coloring, this is because it can get very slow.\n if (isPreviewTooLong) {\n let previewLine = '';\n let cursorLine = '';\n\n const formattedPath = formatPaths({\n filePath: codeFrame.fileName,\n line: codeFrame.location?.row,\n col: codeFrame.location?.column,\n });\n // Create a curtailed preview line like:\n // `...transition:'fade'},k._updatePropsStack=function(){clearImmediate(k._updateImmediate),k._updateImmediate...`\n // If there is no text preview or column number, we can't do anything.\n if (lineText && column != null) {\n const rangeWindow = Math.round(\n Math.max(codeFrame.fileName?.length ?? 0, Math.max(80, process.stdout.columns)) / 2\n );\n let minBounds = Math.max(0, column - rangeWindow);\n const maxBounds = Math.min(minBounds + rangeWindow * 2, lineText.length);\n previewLine = lineText.slice(minBounds, maxBounds);\n\n // If we splice content off the start, then we should append `...`.\n // This is unlikely to happen since we limit the activation size.\n if (minBounds > 0) {\n // Adjust the min bounds so the cursor is aligned after we add the \"...\"\n minBounds -= 3;\n previewLine = chalk.dim('...') + previewLine;\n }\n if (maxBounds < lineText.length) {\n previewLine += chalk.dim('...');\n }\n\n // If the column property could be found, then use that to fix the cursor location which is often broken in regex.\n cursorLine = (column == null ? '' : fill(column) + chalk.reset('^')).slice(minBounds);\n\n Log.log(\n [formattedPath, '', previewLine, cursorLine, chalk.dim('(error truncated)')].join('\\n')\n );\n }\n } else {\n Log.log(codeFrame.content);\n }\n }\n\n if (stack?.length) {\n const stackProps = stack.map((frame) => {\n return {\n title: frame.methodName,\n subtitle: getStackFormattedLocation(projectRoot, frame),\n collapse: frame.collapse,\n };\n });\n\n const stackLines: string[] = [];\n\n stackProps.forEach((frame) => {\n const position = terminalLink.isSupported\n ? terminalLink(frame.subtitle, frame.subtitle)\n : frame.subtitle;\n let lineItem = chalk.gray(` ${frame.title} (${position})`);\n if (frame.collapse) {\n lineItem = chalk.dim(lineItem);\n }\n // Never show the internal module system.\n if (!frame.subtitle.match(/\\/metro-require\\/require\\.js/)) {\n stackLines.push(lineItem);\n }\n });\n\n Log.log();\n Log.log(chalk.bold`Call Stack`);\n if (!stackLines.length) {\n Log.log(chalk.gray(' No stack trace available.'));\n } else {\n Log.log(stackLines.join('\\n'));\n }\n } else {\n Log.log(chalk.gray(` ${error.stack}`));\n }\n}\n\nexport const IS_METRO_BUNDLE_ERROR_SYMBOL = Symbol('_isMetroBundleError');\nconst HAS_LOGGED_SYMBOL = Symbol('_hasLoggedInCLI');\n\nexport async function logMetroError(\n projectRoot: string,\n {\n error,\n }: {\n error: Error & {\n [HAS_LOGGED_SYMBOL]?: boolean;\n };\n }\n) {\n if (error instanceof SilentError || error[HAS_LOGGED_SYMBOL]) {\n return;\n }\n error[HAS_LOGGED_SYMBOL] = true;\n\n const stack = parseErrorStack(projectRoot, error.stack);\n\n const log = new LogBoxLog({\n level: 'static',\n message: {\n content: error.message,\n substitutions: [],\n },\n isComponentError: false,\n stack,\n category: 'static',\n componentStack: [],\n });\n\n await new Promise((res) => log.symbolicate('stack', res));\n\n logMetroErrorWithStack(projectRoot, {\n stack: log.symbolicated?.stack?.stack ?? [],\n codeFrame: log.codeFrame,\n error,\n });\n}\n\nfunction isTransformError(\n error: any\n): error is { type: 'TransformError'; filename: string; lineNumber: number; column: number } {\n return error.type === 'TransformError';\n}\n\n/** @returns the html required to render the static metro error as an SPA. */\nfunction logFromError({ error, projectRoot }: { error: Error; projectRoot: string }) {\n // Remap direct Metro Node.js errors to a format that will appear more client-friendly in the logbox UI.\n let stack: MetroStackFrame[] | undefined;\n if (isTransformError(error) && error.filename) {\n // Syntax errors in static rendering.\n stack = [\n {\n file: path.join(projectRoot, error.filename),\n methodName: '<unknown>',\n arguments: [],\n // TODO: Import stack\n lineNumber: error.lineNumber,\n column: error.column,\n },\n ];\n } else if ('originModulePath' in error && typeof error.originModulePath === 'string') {\n // TODO: Use import stack here when the error is resolution based.\n stack = [\n {\n file: error.originModulePath,\n methodName: '<unknown>',\n arguments: [],\n // TODO: Import stack\n lineNumber: 0,\n column: 0,\n },\n ];\n } else {\n stack = parseErrorStack(projectRoot, error.stack);\n }\n\n return new LogBoxLog({\n level: 'static',\n message: {\n content: error.message,\n substitutions: [],\n },\n isComponentError: false,\n stack,\n category: 'static',\n componentStack: [],\n });\n}\n\n/** @returns the html required to render the static metro error as an SPA. */\nexport async function logMetroErrorAsync({\n error,\n projectRoot,\n}: {\n error: Error;\n projectRoot: string;\n}) {\n const log = logFromError({ projectRoot, error });\n\n await new Promise<void>((res) => log.symbolicate('stack', () => res()));\n\n logMetroErrorWithStack(projectRoot, {\n stack: log.symbolicated?.stack?.stack ?? [],\n codeFrame: log.codeFrame,\n error,\n });\n}\n\n/** @returns the html required to render the static metro error as an SPA. */\nexport async function getErrorOverlayHtmlAsync({\n error,\n projectRoot,\n routerRoot,\n}: {\n error: Error;\n projectRoot: string;\n routerRoot: string;\n}) {\n const log = logFromError({ projectRoot, error });\n\n await new Promise<void>((res) => log.symbolicate('stack', () => res()));\n\n logMetroErrorWithStack(projectRoot, {\n stack: log.symbolicated?.stack?.stack ?? [],\n codeFrame: log.codeFrame,\n error,\n });\n\n if ('message' in log && 'content' in log.message && typeof log.message.content === 'string') {\n log.message.content = stripAnsi(log.message.content)!;\n }\n\n const logBoxContext = {\n selectedLogIndex: 0,\n isDisabled: false,\n logs: [log],\n };\n const html = `<html><head><style>#root,body,html{height:100%}body{overflow:hidden}#root{display:flex}</style></head><body><div id=\"root\"></div><script id=\"_expo-static-error\" type=\"application/json\">${JSON.stringify(\n logBoxContext\n )}</script></body></html>`;\n\n const errorOverlayEntry = await createMetroEndpointAsync(\n projectRoot,\n // Keep the URL relative\n '',\n resolveFrom(projectRoot, 'expo-router/_error'),\n {\n mode: 'development',\n platform: 'web',\n minify: false,\n optimize: false,\n usedExports: false,\n baseUrl: '',\n routerRoot,\n isExporting: false,\n reactCompiler: false,\n }\n );\n\n const htmlWithJs = html.replace('</body>', `<script src=${errorOverlayEntry}></script></body>`);\n return htmlWithJs;\n}\n\nfunction parseErrorStack(\n projectRoot: string,\n stack?: string\n): (StackFrame & { collapse?: boolean })[] {\n if (stack == null) {\n return [];\n }\n if (Array.isArray(stack)) {\n return stack;\n }\n\n const serverRoot = getMetroServerRoot(projectRoot);\n\n return parse(stack)\n .map((frame) => {\n // frame.file will mostly look like `http://localhost:8081/index.bundle?platform=web&dev=true&hot=false`\n\n if (frame.file) {\n // SSR will sometimes have absolute paths followed by `.bundle?...`, we need to try and make them relative paths and append a dev server URL.\n if (frame.file.startsWith('/') && frame.file.includes('bundle?') && !canParse(frame.file)) {\n // Malformed stack file from SSR. Attempt to repair.\n frame.file = 'https://localhost:8081/' + path.relative(serverRoot, frame.file);\n }\n }\n\n return {\n ...frame,\n column: frame.column != null ? frame.column - 1 : null,\n };\n })\n .filter((frame) => frame.file && !frame.file.includes('node_modules'));\n}\n\nfunction canParse(url: string): boolean {\n try {\n // eslint-disable-next-line no-new\n new URL(url);\n return true;\n } catch {\n return false;\n }\n}\n"],"names":["logMetroErrorWithStack","IS_METRO_BUNDLE_ERROR_SYMBOL","logMetroError","logMetroErrorAsync","getErrorOverlayHtmlAsync","fill","width","Array","join","formatPaths","config","filePath","chalk","reset","dim","line","col","filter","Boolean","projectRoot","stack","codeFrame","error","SilentError","Log","log","red","message","CommandError","maxWarningLineLength","Math","max","process","stdout","columns","lineText","content","isPreviewTooLong","split","some","length","column","location","previewLine","cursorLine","formattedPath","fileName","row","rangeWindow","round","minBounds","maxBounds","min","slice","stackProps","map","frame","title","methodName","subtitle","getStackFormattedLocation","collapse","stackLines","forEach","position","terminalLink","isSupported","lineItem","gray","match","push","bold","Symbol","HAS_LOGGED_SYMBOL","parseErrorStack","LogBoxLog","level","substitutions","isComponentError","category","componentStack","Promise","res","symbolicate","symbolicated","isTransformError","type","logFromError","filename","file","path","arguments","lineNumber","originModulePath","routerRoot","stripAnsi","logBoxContext","selectedLogIndex","isDisabled","logs","html","JSON","stringify","errorOverlayEntry","createMetroEndpointAsync","resolveFrom","mode","platform","minify","optimize","usedExports","baseUrl","isExporting","reactCompiler","htmlWithJs","replace","isArray","serverRoot","getMetroServerRoot","parse","startsWith","includes","canParse","relative","url","URL"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../../../src/start/server/metro/metroErrorInterface.ts"],"sourcesContent":["/**\n * Copyright © 2022 650 Industries.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport { getMetroServerRoot } from '@expo/config/paths';\nimport chalk from 'chalk';\nimport path from 'path';\nimport resolveFrom from 'resolve-from';\nimport { parse, StackFrame } from 'stacktrace-parser';\nimport terminalLink from 'terminal-link';\n\nimport { LogBoxLog } from './log-box/LogBoxLog';\nimport type { CodeFrame, StackFrame as MetroStackFrame } from './log-box/LogBoxSymbolication';\nimport { getStackFormattedLocation } from './log-box/formatProjectFilePath';\nimport { Log } from '../../../log';\nimport { stripAnsi } from '../../../utils/ansi';\nimport { CommandError, SilentError } from '../../../utils/errors';\nimport { createMetroEndpointAsync } from '../getStaticRenderFunctions';\n\nfunction fill(width: number): string {\n return Array(width).join(' ');\n}\n\nfunction formatPaths(config: { filePath: string | null; line?: number; col?: number }) {\n const filePath = chalk.reset(config.filePath);\n return (\n chalk.dim('(') +\n filePath +\n chalk.dim(`:${[config.line, config.col].filter(Boolean).join(':')})`)\n );\n}\n\nexport async function logMetroErrorWithStack(\n projectRoot: string,\n {\n stack,\n codeFrame,\n error,\n }: {\n stack: MetroStackFrame[];\n codeFrame?: CodeFrame;\n error: Error;\n }\n) {\n if (error instanceof SilentError) {\n return;\n }\n\n // process.stdout.write('\\u001b[0m'); // Reset attributes\n // process.stdout.write('\\u001bc'); // Reset the terminal\n\n Log.log();\n Log.log(chalk.red('Metro error: ') + error.message);\n Log.log();\n\n if (error instanceof CommandError) {\n return;\n }\n\n if (codeFrame) {\n const maxWarningLineLength = Math.max(200, process.stdout.columns);\n\n const lineText = codeFrame.content;\n const isPreviewTooLong = codeFrame.content\n .split('\\n')\n .some((line) => line.length > maxWarningLineLength);\n const column = codeFrame.location?.column;\n // When the preview is too long, we skip reading the file and attempting to apply\n // code coloring, this is because it can get very slow.\n if (isPreviewTooLong) {\n let previewLine = '';\n let cursorLine = '';\n\n const formattedPath = formatPaths({\n filePath: codeFrame.fileName,\n line: codeFrame.location?.row,\n col: codeFrame.location?.column,\n });\n // Create a curtailed preview line like:\n // `...transition:'fade'},k._updatePropsStack=function(){clearImmediate(k._updateImmediate),k._updateImmediate...`\n // If there is no text preview or column number, we can't do anything.\n if (lineText && column != null) {\n const rangeWindow = Math.round(\n Math.max(codeFrame.fileName?.length ?? 0, Math.max(80, process.stdout.columns)) / 2\n );\n let minBounds = Math.max(0, column - rangeWindow);\n const maxBounds = Math.min(minBounds + rangeWindow * 2, lineText.length);\n previewLine = lineText.slice(minBounds, maxBounds);\n\n // If we splice content off the start, then we should append `...`.\n // This is unlikely to happen since we limit the activation size.\n if (minBounds > 0) {\n // Adjust the min bounds so the cursor is aligned after we add the \"...\"\n minBounds -= 3;\n previewLine = chalk.dim('...') + previewLine;\n }\n if (maxBounds < lineText.length) {\n previewLine += chalk.dim('...');\n }\n\n // If the column property could be found, then use that to fix the cursor location which is often broken in regex.\n cursorLine = (column == null ? '' : fill(column) + chalk.reset('^')).slice(minBounds);\n\n Log.log(\n [formattedPath, '', previewLine, cursorLine, chalk.dim('(error truncated)')].join('\\n')\n );\n }\n } else {\n Log.log(codeFrame.content);\n }\n }\n\n if (stack?.length) {\n const stackProps = stack.map((frame) => {\n return {\n title: frame.methodName,\n subtitle: getStackFormattedLocation(projectRoot, frame),\n collapse: frame.collapse,\n };\n });\n\n const stackLines: string[] = [];\n\n stackProps.forEach((frame) => {\n const position = terminalLink.isSupported\n ? terminalLink(frame.subtitle, frame.subtitle)\n : frame.subtitle;\n let lineItem = chalk.gray(` ${frame.title} (${position})`);\n if (frame.collapse) {\n lineItem = chalk.dim(lineItem);\n }\n // Never show the internal module system.\n if (!frame.subtitle.match(/\\/metro-require\\/require\\.js/)) {\n stackLines.push(lineItem);\n }\n });\n\n Log.log();\n Log.log(chalk.bold`Call Stack`);\n if (!stackLines.length) {\n Log.log(chalk.gray(' No stack trace available.'));\n } else {\n Log.log(stackLines.join('\\n'));\n }\n } else {\n Log.log(chalk.gray(` ${error.stack}`));\n }\n}\n\nexport const IS_METRO_BUNDLE_ERROR_SYMBOL = Symbol('_isMetroBundleError');\nconst HAS_LOGGED_SYMBOL = Symbol('_hasLoggedInCLI');\n\nexport async function logMetroError(\n projectRoot: string,\n {\n error,\n }: {\n error: Error & {\n [HAS_LOGGED_SYMBOL]?: boolean;\n };\n }\n) {\n if (error instanceof SilentError || error[HAS_LOGGED_SYMBOL]) {\n return;\n }\n error[HAS_LOGGED_SYMBOL] = true;\n\n const stack = parseErrorStack(projectRoot, error.stack);\n\n const log = new LogBoxLog({\n level: 'static',\n message: {\n content: error.message,\n substitutions: [],\n },\n isComponentError: false,\n stack,\n category: 'static',\n componentStack: [],\n });\n\n await new Promise((res) => log.symbolicate('stack', res));\n\n logMetroErrorWithStack(projectRoot, {\n stack: log.symbolicated?.stack?.stack ?? [],\n codeFrame: log.codeFrame,\n error,\n });\n}\n\nfunction isTransformError(\n error: any\n): error is { type: 'TransformError'; filename: string; lineNumber: number; column: number } {\n return error.type === 'TransformError';\n}\n\n/** @returns the html required to render the static metro error as an SPA. */\nfunction logFromError({ error, projectRoot }: { error: Error; projectRoot: string }) {\n // Remap direct Metro Node.js errors to a format that will appear more client-friendly in the logbox UI.\n let stack: MetroStackFrame[] | undefined;\n if (isTransformError(error) && error.filename) {\n // Syntax errors in static rendering.\n stack = [\n {\n file: path.join(projectRoot, error.filename),\n methodName: '<unknown>',\n arguments: [],\n // TODO: Import stack\n lineNumber: error.lineNumber,\n column: error.column,\n },\n ];\n } else if ('originModulePath' in error && typeof error.originModulePath === 'string') {\n // TODO: Use import stack here when the error is resolution based.\n stack = [\n {\n file: error.originModulePath,\n methodName: '<unknown>',\n arguments: [],\n // TODO: Import stack\n lineNumber: 0,\n column: 0,\n },\n ];\n } else {\n stack = parseErrorStack(projectRoot, error.stack);\n }\n\n return new LogBoxLog({\n level: 'static',\n message: {\n content: error.message,\n substitutions: [],\n },\n isComponentError: false,\n stack,\n category: 'static',\n componentStack: [],\n });\n}\n\n/** @returns the html required to render the static metro error as an SPA. */\nexport async function logMetroErrorAsync({\n error,\n projectRoot,\n}: {\n error: Error;\n projectRoot: string;\n}) {\n const log = logFromError({ projectRoot, error });\n\n await new Promise<void>((res) => log.symbolicate('stack', () => res()));\n\n logMetroErrorWithStack(projectRoot, {\n stack: log.symbolicated?.stack?.stack ?? [],\n codeFrame: log.codeFrame,\n error,\n });\n}\n\n/** @returns the html required to render the static metro error as an SPA. */\nexport async function getErrorOverlayHtmlAsync({\n error,\n projectRoot,\n routerRoot,\n}: {\n error: Error;\n projectRoot: string;\n routerRoot: string;\n}) {\n const log = logFromError({ projectRoot, error });\n\n await new Promise<void>((res) => log.symbolicate('stack', () => res()));\n\n logMetroErrorWithStack(projectRoot, {\n stack: log.symbolicated?.stack?.stack ?? [],\n codeFrame: log.codeFrame,\n error,\n });\n\n if ('message' in log && 'content' in log.message && typeof log.message.content === 'string') {\n log.message.content = stripAnsi(log.message.content)!;\n }\n\n const logBoxContext = {\n selectedLogIndex: 0,\n isDisabled: false,\n logs: [log],\n };\n const html = `<html><head><style>#root,body,html{height:100%}body{overflow:hidden}#root{display:flex}</style></head><body><div id=\"root\"></div><script id=\"_expo-static-error\" type=\"application/json\">${JSON.stringify(\n logBoxContext\n )}</script></body></html>`;\n\n const errorOverlayEntry = await createMetroEndpointAsync(\n projectRoot,\n // Keep the URL relative\n '',\n resolveFrom(projectRoot, 'expo-router/_error'),\n {\n mode: 'development',\n platform: 'web',\n minify: false,\n optimize: false,\n usedExports: false,\n baseUrl: '',\n routerRoot,\n isExporting: false,\n reactCompiler: false,\n }\n );\n\n const htmlWithJs = html.replace('</body>', `<script src=${errorOverlayEntry}></script></body>`);\n return htmlWithJs;\n}\n\nfunction parseErrorStack(\n projectRoot: string,\n stack?: string\n): (StackFrame & { collapse?: boolean })[] {\n if (stack == null) {\n return [];\n }\n if (Array.isArray(stack)) {\n return stack;\n }\n\n const serverRoot = getMetroServerRoot(projectRoot);\n\n return parse(stack)\n .map((frame) => {\n // frame.file will mostly look like `http://localhost:8081/index.bundle?platform=web&dev=true&hot=false`\n\n if (frame.file) {\n // SSR will sometimes have absolute paths followed by `.bundle?...`, we need to try and make them relative paths and append a dev server URL.\n if (frame.file.startsWith('/') && frame.file.includes('bundle?') && !canParse(frame.file)) {\n // Malformed stack file from SSR. Attempt to repair.\n frame.file = 'https://localhost:8081/' + path.relative(serverRoot, frame.file);\n }\n }\n\n return {\n ...frame,\n column: frame.column != null ? frame.column - 1 : null,\n };\n })\n .filter((frame) => frame.file && !frame.file.includes('node_modules'));\n}\n\nfunction canParse(url: string): boolean {\n try {\n // eslint-disable-next-line no-new\n new URL(url);\n return true;\n } catch {\n return false;\n }\n}\n"],"names":["IS_METRO_BUNDLE_ERROR_SYMBOL","getErrorOverlayHtmlAsync","logMetroError","logMetroErrorAsync","logMetroErrorWithStack","fill","width","Array","join","formatPaths","config","filePath","chalk","reset","dim","line","col","filter","Boolean","projectRoot","stack","codeFrame","error","SilentError","Log","log","red","message","CommandError","maxWarningLineLength","Math","max","process","stdout","columns","lineText","content","isPreviewTooLong","split","some","length","column","location","previewLine","cursorLine","formattedPath","fileName","row","rangeWindow","round","minBounds","maxBounds","min","slice","stackProps","map","frame","title","methodName","subtitle","getStackFormattedLocation","collapse","stackLines","forEach","position","terminalLink","isSupported","lineItem","gray","match","push","bold","Symbol","HAS_LOGGED_SYMBOL","parseErrorStack","LogBoxLog","level","substitutions","isComponentError","category","componentStack","Promise","res","symbolicate","symbolicated","isTransformError","type","logFromError","filename","file","path","arguments","lineNumber","originModulePath","routerRoot","stripAnsi","logBoxContext","selectedLogIndex","isDisabled","logs","html","JSON","stringify","errorOverlayEntry","createMetroEndpointAsync","resolveFrom","mode","platform","minify","optimize","usedExports","baseUrl","isExporting","reactCompiler","htmlWithJs","replace","isArray","serverRoot","getMetroServerRoot","parse","startsWith","includes","canParse","relative","url","URL"],"mappings":"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"}
|
|
@@ -10,14 +10,18 @@ function _export(target, all) {
|
|
|
10
10
|
});
|
|
11
11
|
}
|
|
12
12
|
_export(exports, {
|
|
13
|
-
isFailedToResolveNameError: ()
|
|
14
|
-
|
|
13
|
+
isFailedToResolveNameError: function() {
|
|
14
|
+
return isFailedToResolveNameError;
|
|
15
|
+
},
|
|
16
|
+
isFailedToResolvePathError: function() {
|
|
17
|
+
return isFailedToResolvePathError;
|
|
18
|
+
}
|
|
15
19
|
});
|
|
16
20
|
function isFailedToResolveNameError(error) {
|
|
17
|
-
return !!error &&
|
|
21
|
+
return !!error && 'extraPaths' in error && error.constructor.name === 'FailedToResolveNameError';
|
|
18
22
|
}
|
|
19
23
|
function isFailedToResolvePathError(error) {
|
|
20
|
-
return !!error &&
|
|
24
|
+
return !!error && 'candidates' in error && error.constructor.name === 'FailedToResolvePathError' && !error.message.includes('Importing native-only module');
|
|
21
25
|
}
|
|
22
26
|
|
|
23
27
|
//# sourceMappingURL=metroErrors.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/start/server/metro/metroErrors.ts"],"sourcesContent":["// Used to cast a type to metro errors without depending on specific versions of metro.\n\nexport type FileAndDirCandidates = {\n dir: FileCandidates;\n file: FileCandidates;\n};\n\n/**\n * This is a way to describe what files we tried to look for when resolving\n * a module name as file. This is mainly used for error reporting, so that\n * we can explain why we cannot resolve a module.\n */\nexport type FileCandidates =\n // We only tried to resolve a specific asset.\n | { type: 'asset'; name: string }\n // We attempted to resolve a name as being a source file (ex. JavaScript,\n // JSON...), in which case there can be several extensions we tried, for\n // example `/js/foo.ios.js`, `/js/foo.js`, etc. for a single prefix '/js/foo'.\n | {\n type: 'sourceFile';\n filePathPrefix: string;\n candidateExts: readonly string[];\n };\n\ntype FailedToResolveNameError = Error & {\n dirPaths: string[];\n extraPaths: string[];\n};\n\ntype FailedToResolvePathError = Error & {\n candidates: FileAndDirCandidates;\n};\n\nexport function isFailedToResolveNameError(error: any): error is FailedToResolveNameError {\n return !!error && 'extraPaths' in error && error.constructor.name === 'FailedToResolveNameError';\n}\n\nexport function isFailedToResolvePathError(error: any): error is FailedToResolvePathError {\n return (\n !!error &&\n 'candidates' in error &&\n error.constructor.name === 'FailedToResolvePathError' &&\n !error.message.includes('Importing native-only module')\n );\n}\n"],"names":["isFailedToResolveNameError","isFailedToResolvePathError","error","constructor","name","message","includes"],"mappings":"AAAA,uFAAuF
|
|
1
|
+
{"version":3,"sources":["../../../../../src/start/server/metro/metroErrors.ts"],"sourcesContent":["// Used to cast a type to metro errors without depending on specific versions of metro.\n\nexport type FileAndDirCandidates = {\n dir: FileCandidates;\n file: FileCandidates;\n};\n\n/**\n * This is a way to describe what files we tried to look for when resolving\n * a module name as file. This is mainly used for error reporting, so that\n * we can explain why we cannot resolve a module.\n */\nexport type FileCandidates =\n // We only tried to resolve a specific asset.\n | { type: 'asset'; name: string }\n // We attempted to resolve a name as being a source file (ex. JavaScript,\n // JSON...), in which case there can be several extensions we tried, for\n // example `/js/foo.ios.js`, `/js/foo.js`, etc. for a single prefix '/js/foo'.\n | {\n type: 'sourceFile';\n filePathPrefix: string;\n candidateExts: readonly string[];\n };\n\ntype FailedToResolveNameError = Error & {\n dirPaths: string[];\n extraPaths: string[];\n};\n\ntype FailedToResolvePathError = Error & {\n candidates: FileAndDirCandidates;\n};\n\nexport function isFailedToResolveNameError(error: any): error is FailedToResolveNameError {\n return !!error && 'extraPaths' in error && error.constructor.name === 'FailedToResolveNameError';\n}\n\nexport function isFailedToResolvePathError(error: any): error is FailedToResolvePathError {\n return (\n !!error &&\n 'candidates' in error &&\n error.constructor.name === 'FailedToResolvePathError' &&\n !error.message.includes('Importing native-only module')\n );\n}\n"],"names":["isFailedToResolveNameError","isFailedToResolvePathError","error","constructor","name","message","includes"],"mappings":"AAAA,uFAAuF;;;;;;;;;;;;IAiCvEA,0BAA0B;eAA1BA;;IAIAC,0BAA0B;eAA1BA;;;AAJT,SAASD,2BAA2BE,KAAU;IACnD,OAAO,CAAC,CAACA,SAAS,gBAAgBA,SAASA,MAAMC,WAAW,CAACC,IAAI,KAAK;AACxE;AAEO,SAASH,2BAA2BC,KAAU;IACnD,OACE,CAAC,CAACA,SACF,gBAAgBA,SAChBA,MAAMC,WAAW,CAACC,IAAI,KAAK,8BAC3B,CAACF,MAAMG,OAAO,CAACC,QAAQ,CAAC;AAE5B"}
|
|
@@ -4,23 +4,25 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
});
|
|
5
5
|
Object.defineProperty(exports, "assertMetroPrivateServer", {
|
|
6
6
|
enumerable: true,
|
|
7
|
-
get: ()
|
|
7
|
+
get: function() {
|
|
8
|
+
return assertMetroPrivateServer;
|
|
9
|
+
}
|
|
8
10
|
});
|
|
9
|
-
function
|
|
10
|
-
const data = /*#__PURE__*/
|
|
11
|
-
|
|
11
|
+
function _nodeassert() {
|
|
12
|
+
const data = /*#__PURE__*/ _interop_require_default(require("node:assert"));
|
|
13
|
+
_nodeassert = function() {
|
|
12
14
|
return data;
|
|
13
15
|
};
|
|
14
16
|
return data;
|
|
15
17
|
}
|
|
16
|
-
function
|
|
18
|
+
function _interop_require_default(obj) {
|
|
17
19
|
return obj && obj.__esModule ? obj : {
|
|
18
20
|
default: obj
|
|
19
21
|
};
|
|
20
22
|
}
|
|
21
23
|
function assertMetroPrivateServer(metro) {
|
|
22
|
-
(0,
|
|
23
|
-
(0,
|
|
24
|
+
(0, _nodeassert().default)(metro, 'Metro server undefined.');
|
|
25
|
+
(0, _nodeassert().default)('_config' in metro && '_bundler' in metro, 'Metro server is missing expected properties (_config, _bundler). This could be due to a version mismatch or change in the Metro API.');
|
|
24
26
|
}
|
|
25
27
|
|
|
26
28
|
//# sourceMappingURL=metroPrivateServer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/start/server/metro/metroPrivateServer.ts"],"sourcesContent":["import { TransformInputOptions } from 'metro';\nimport type Metro from 'metro';\nimport { ConfigT } from 'metro-config';\nimport assert from 'node:assert';\n\nexport type MetroPrivateServer = import('metro').Server & {\n _bundler: import('metro/src/IncrementalBundler').default;\n _config: ConfigT;\n _createModuleId: (path: string, context?: { environment?: string; platform: string }) => number;\n _isEnded: boolean;\n _nextBundleBuildNumber: number;\n _platforms: Set<string>;\n _reporter: import('metro/src/lib/reporting').Reporter;\n _serverOptions: import('metro').ServerOptions | void;\n\n getNewBuildNumber(): number;\n _getSortedModules(\n graph: import('metro/src/IncrementalBundler').OutputGraph\n ): import('metro/src/DeltaBundler/types').Module[];\n\n _resolveRelativePath(\n filePath: string,\n {\n relativeTo,\n resolverOptions,\n transformOptions,\n }: {\n relativeTo: 'project' | 'server';\n resolverOptions: import('metro/src/shared/types').ResolverInputOptions;\n transformOptions: TransformInputOptions;\n }\n ): Promise<string>;\n\n _shouldAddModuleToIgnoreList(module: import('metro/src/DeltaBundler/types').Module<any>): boolean;\n};\n\nexport function assertMetroPrivateServer(metro: Metro.Server): asserts metro is MetroPrivateServer {\n assert(metro, 'Metro server undefined.');\n assert(\n '_config' in metro && '_bundler' in metro,\n 'Metro server is missing expected properties (_config, _bundler). This could be due to a version mismatch or change in the Metro API.'\n );\n}\n"],"names":["assertMetroPrivateServer","metro","assert"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../../../src/start/server/metro/metroPrivateServer.ts"],"sourcesContent":["import { TransformInputOptions } from 'metro';\nimport type Metro from 'metro';\nimport { ConfigT } from 'metro-config';\nimport assert from 'node:assert';\n\nexport type MetroPrivateServer = import('metro').Server & {\n _bundler: import('metro/src/IncrementalBundler').default;\n _config: ConfigT;\n _createModuleId: (path: string, context?: { environment?: string; platform: string }) => number;\n _isEnded: boolean;\n _nextBundleBuildNumber: number;\n _platforms: Set<string>;\n _reporter: import('metro/src/lib/reporting').Reporter;\n _serverOptions: import('metro').ServerOptions | void;\n\n getNewBuildNumber(): number;\n _getSortedModules(\n graph: import('metro/src/IncrementalBundler').OutputGraph\n ): import('metro/src/DeltaBundler/types').Module[];\n\n _resolveRelativePath(\n filePath: string,\n {\n relativeTo,\n resolverOptions,\n transformOptions,\n }: {\n relativeTo: 'project' | 'server';\n resolverOptions: import('metro/src/shared/types').ResolverInputOptions;\n transformOptions: TransformInputOptions;\n }\n ): Promise<string>;\n\n _shouldAddModuleToIgnoreList(module: import('metro/src/DeltaBundler/types').Module<any>): boolean;\n};\n\nexport function assertMetroPrivateServer(metro: Metro.Server): asserts metro is MetroPrivateServer {\n assert(metro, 'Metro server undefined.');\n assert(\n '_config' in metro && '_bundler' in metro,\n 'Metro server is missing expected properties (_config, _bundler). This could be due to a version mismatch or change in the Metro API.'\n );\n}\n"],"names":["assertMetroPrivateServer","metro","assert"],"mappings":";;;;+BAoCgBA;;;eAAAA;;;;gEAjCG;;;;;;;;;;;AAiCZ,SAASA,yBAAyBC,KAAmB;IAC1DC,IAAAA,qBAAM,EAACD,OAAO;IACdC,IAAAA,qBAAM,EACJ,aAAaD,SAAS,cAAcA,OACpC;AAEJ"}
|
|
@@ -9,17 +9,19 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
9
9
|
});
|
|
10
10
|
Object.defineProperty(exports, "getMetroBundlerWithVirtualModules", {
|
|
11
11
|
enumerable: true,
|
|
12
|
-
get: ()
|
|
12
|
+
get: function() {
|
|
13
|
+
return getMetroBundlerWithVirtualModules;
|
|
14
|
+
}
|
|
13
15
|
});
|
|
14
16
|
function assertBundlerHasPrivateMembers(bundler) {
|
|
15
|
-
if (!(
|
|
16
|
-
throw new Error(
|
|
17
|
+
if (!('_depGraph' in bundler)) {
|
|
18
|
+
throw new Error('Expected bundler to have member: _depGraph. Upstream metro may have removed this property.');
|
|
17
19
|
}
|
|
18
20
|
assertDepGraphHasPrivateMembers(bundler._depGraph);
|
|
19
21
|
}
|
|
20
22
|
function assertDepGraphHasPrivateMembers(depGraph) {
|
|
21
|
-
if (!depGraph || typeof depGraph !==
|
|
22
|
-
throw new Error(
|
|
23
|
+
if (!depGraph || typeof depGraph !== 'object' || !('_fileSystem' in depGraph)) {
|
|
24
|
+
throw new Error('Expected bundler._depGraph to have member: _fileSystem. Upstream metro may have removed this property.');
|
|
23
25
|
}
|
|
24
26
|
}
|
|
25
27
|
function ensureMetroBundlerPatchedWithSetVirtualModule(bundler) {
|
|
@@ -40,7 +42,7 @@ function ensureMetroBundlerPatchedWithSetVirtualModule(bundler) {
|
|
|
40
42
|
function ensureStartsWithNullByte(id) {
|
|
41
43
|
// Because you'll likely need to return the path somewhere, we should just assert with a useful error message instead of
|
|
42
44
|
// attempting to mutate the value behind the scenes. This ensures correctness in the resolution.
|
|
43
|
-
if (!id.startsWith(
|
|
45
|
+
if (!id.startsWith('\0')) {
|
|
44
46
|
throw new Error(`Virtual modules in Expo CLI must start with with null byte (\\0), got: ${id}`);
|
|
45
47
|
}
|
|
46
48
|
return id;
|
|
@@ -51,7 +53,7 @@ function getMetroBundlerWithVirtualModules(bundler) {
|
|
|
51
53
|
bundler.transformFile = async function(filePath, transformOptions, /** Optionally provide the file contents, this can be used to provide virtual contents for a file. */ fileBuffer) {
|
|
52
54
|
// file buffer will be defined for virtual modules in Metro, e.g. context modules.
|
|
53
55
|
if (!fileBuffer) {
|
|
54
|
-
if (filePath.startsWith(
|
|
56
|
+
if (filePath.startsWith('\0')) {
|
|
55
57
|
const graph = await this.getDependencyGraph();
|
|
56
58
|
assertDepGraphHasPrivateMembers(graph);
|
|
57
59
|
if (graph._fileSystem.expoVirtualModules) {
|
|
@@ -73,7 +75,7 @@ function ensureFileSystemPatched(fs) {
|
|
|
73
75
|
const original_getSha1 = fs.getSha1.bind(fs);
|
|
74
76
|
fs.getSha1 = (filename)=>{
|
|
75
77
|
// Rollup virtual module format.
|
|
76
|
-
if (filename.startsWith(
|
|
78
|
+
if (filename.startsWith('\0')) {
|
|
77
79
|
return filename;
|
|
78
80
|
}
|
|
79
81
|
return original_getSha1(filename);
|