@expo/cli 0.18.0 → 0.18.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/bin/cli +90 -114
- package/build/bin/cli.map +1 -1
- package/build/src/api/endpoint.js +11 -3
- package/build/src/api/endpoint.js.map +1 -1
- package/build/src/api/getExpoGoIntermediateCertificate.js +7 -4
- package/build/src/api/getExpoGoIntermediateCertificate.js.map +1 -1
- package/build/src/api/getExpoSchema.js +13 -11
- package/build/src/api/getExpoSchema.js.map +1 -1
- package/build/src/api/getNativeModuleVersions.js +7 -4
- package/build/src/api/getNativeModuleVersions.js.map +1 -1
- package/build/src/api/getProjectDevelopmentCertificate.js +7 -4
- package/build/src/api/getProjectDevelopmentCertificate.js.map +1 -1
- package/build/src/api/getVersions.js +7 -4
- package/build/src/api/getVersions.js.map +1 -1
- package/build/src/api/graphql/client.js +55 -35
- package/build/src/api/graphql/client.js.map +1 -1
- package/build/src/api/graphql/queries/AppQuery.js +9 -7
- package/build/src/api/graphql/queries/AppQuery.js.map +1 -1
- package/build/src/api/graphql/queries/UserQuery.js +7 -5
- package/build/src/api/graphql/queries/UserQuery.js.map +1 -1
- package/build/src/api/graphql/types/App.js +6 -4
- package/build/src/api/graphql/types/App.js.map +1 -1
- package/build/src/api/rest/cache/FileSystemCache.js +6 -4
- package/build/src/api/rest/cache/FileSystemCache.js.map +1 -1
- package/build/src/api/rest/cache/response.js +4 -1
- package/build/src/api/rest/cache/response.js.map +1 -1
- package/build/src/api/rest/cache/wrapFetchWithCache.js +21 -12
- package/build/src/api/rest/cache/wrapFetchWithCache.js.map +1 -1
- package/build/src/api/rest/client.js +36 -29
- package/build/src/api/rest/client.js.map +1 -1
- package/build/src/api/rest/wrapFetchWithBaseUrl.js +4 -1
- package/build/src/api/rest/wrapFetchWithBaseUrl.js.map +1 -1
- package/build/src/api/rest/wrapFetchWithOffline.js +5 -2
- package/build/src/api/rest/wrapFetchWithOffline.js.map +1 -1
- package/build/src/api/rest/wrapFetchWithProgress.js +40 -19
- package/build/src/api/rest/wrapFetchWithProgress.js.map +1 -1
- package/build/src/api/rest/wrapFetchWithProxy.js +7 -4
- package/build/src/api/rest/wrapFetchWithProxy.js.map +1 -1
- package/build/src/api/settings.js +9 -4
- package/build/src/api/settings.js.map +1 -1
- package/build/src/api/updateDevelopmentSession.js +16 -8
- package/build/src/api/updateDevelopmentSession.js.map +1 -1
- package/build/src/api/user/UserSettings.js +10 -8
- package/build/src/api/user/UserSettings.js.map +1 -1
- package/build/src/api/user/actions.js +66 -41
- package/build/src/api/user/actions.js.map +1 -1
- package/build/src/api/user/expoSsoLauncher.js +46 -25
- package/build/src/api/user/expoSsoLauncher.js.map +1 -1
- package/build/src/api/user/otp.js +70 -50
- package/build/src/api/user/otp.js.map +1 -1
- package/build/src/api/user/user.js +66 -41
- package/build/src/api/user/user.js.map +1 -1
- package/build/src/config/configAsync.js +62 -43
- package/build/src/config/configAsync.js.map +1 -1
- package/build/src/config/index.js +46 -30
- package/build/src/config/index.js.map +1 -1
- package/build/src/customize/customizeAsync.js +14 -11
- package/build/src/customize/customizeAsync.js.map +1 -1
- package/build/src/customize/generate.js +61 -46
- package/build/src/customize/generate.js.map +1 -1
- package/build/src/customize/index.js +10 -8
- package/build/src/customize/index.js.map +1 -1
- package/build/src/customize/resolveOptions.js +7 -4
- package/build/src/customize/resolveOptions.js.map +1 -1
- package/build/src/customize/templates.js +31 -34
- package/build/src/customize/templates.js.map +1 -1
- package/build/src/customize/typescript.js +43 -28
- package/build/src/customize/typescript.js.map +1 -1
- package/build/src/export/createMetadataJson.js +7 -6
- package/build/src/export/createMetadataJson.js.map +1 -1
- package/build/src/export/embed/exportEmbedAsync.js +51 -38
- package/build/src/export/embed/exportEmbedAsync.js.map +1 -1
- package/build/src/export/embed/index.js +48 -36
- package/build/src/export/embed/index.js.map +1 -1
- package/build/src/export/embed/resolveOptions.js +7 -4
- package/build/src/export/embed/resolveOptions.js.map +1 -1
- package/build/src/export/embed/xcodeCompilerLogger.js +20 -8
- package/build/src/export/embed/xcodeCompilerLogger.js.map +1 -1
- package/build/src/export/exportApp.js +84 -67
- package/build/src/export/exportApp.js.map +1 -1
- package/build/src/export/exportAssets.js +62 -43
- package/build/src/export/exportAssets.js.map +1 -1
- package/build/src/export/exportAsync.js +47 -26
- package/build/src/export/exportAsync.js.map +1 -1
- package/build/src/export/exportHermes.js +19 -11
- package/build/src/export/exportHermes.js.map +1 -1
- package/build/src/export/exportStaticAsync.js +49 -38
- package/build/src/export/exportStaticAsync.js.map +1 -1
- package/build/src/export/favicon.js +19 -11
- package/build/src/export/favicon.js.map +1 -1
- package/build/src/export/fork-bundleAsync.js +42 -39
- package/build/src/export/fork-bundleAsync.js.map +1 -1
- package/build/src/export/getPublicExpoManifest.js +9 -6
- package/build/src/export/getPublicExpoManifest.js.map +1 -1
- package/build/src/export/getResolvedLocales.js +7 -4
- package/build/src/export/getResolvedLocales.js.map +1 -1
- package/build/src/export/html.js +12 -4
- package/build/src/export/html.js.map +1 -1
- package/build/src/export/index.js +49 -33
- package/build/src/export/index.js.map +1 -1
- package/build/src/export/metroAssetLocalPath.js +22 -6
- package/build/src/export/metroAssetLocalPath.js.map +1 -1
- package/build/src/export/persistMetroAssets.js +38 -24
- package/build/src/export/persistMetroAssets.js.map +1 -1
- package/build/src/export/publicFolder.js +15 -7
- package/build/src/export/publicFolder.js.map +1 -1
- package/build/src/export/resolveOptions.js +19 -15
- package/build/src/export/resolveOptions.js.map +1 -1
- package/build/src/export/saveAssets.js +42 -38
- package/build/src/export/saveAssets.js.map +1 -1
- package/build/src/export/web/exportWebAsync.js +15 -12
- package/build/src/export/web/exportWebAsync.js.map +1 -1
- package/build/src/export/web/index.js +47 -31
- package/build/src/export/web/index.js.map +1 -1
- package/build/src/export/web/resolveOptions.js +4 -1
- package/build/src/export/web/resolveOptions.js.map +1 -1
- package/build/src/export/writeContents.js +12 -7
- package/build/src/export/writeContents.js.map +1 -1
- package/build/src/graphql/generated.js +141 -128
- package/build/src/graphql/generated.js.map +1 -1
- package/build/src/install/applyPlugins.js +43 -25
- package/build/src/install/applyPlugins.js.map +1 -1
- package/build/src/install/checkPackages.js +55 -35
- package/build/src/install/checkPackages.js.map +1 -1
- package/build/src/install/fixPackages.js +52 -35
- package/build/src/install/fixPackages.js.map +1 -1
- package/build/src/install/index.js +15 -13
- package/build/src/install/index.js.map +1 -1
- package/build/src/install/installAsync.js +90 -65
- package/build/src/install/installAsync.js.map +1 -1
- package/build/src/install/installExpoPackage.js +48 -27
- package/build/src/install/installExpoPackage.js.map +1 -1
- package/build/src/install/resolveOptions.js +8 -5
- package/build/src/install/resolveOptions.js.map +1 -1
- package/build/src/install/utils/autoAddConfigPlugins.js +15 -7
- package/build/src/install/utils/autoAddConfigPlugins.js.map +1 -1
- package/build/src/lint/ESlintPrerequisite.js +174 -0
- package/build/src/lint/ESlintPrerequisite.js.map +1 -0
- package/build/src/lint/index.js +66 -0
- package/build/src/lint/index.js.map +1 -0
- package/build/src/lint/lintAsync.js +33 -0
- package/build/src/lint/lintAsync.js.map +1 -0
- package/build/src/log.js +20 -14
- package/build/src/log.js.map +1 -1
- package/build/src/login/index.js +43 -25
- package/build/src/login/index.js.map +1 -1
- package/build/src/logout/index.js +43 -25
- package/build/src/logout/index.js.map +1 -1
- package/build/src/prebuild/clearNativeFolder.js +65 -42
- package/build/src/prebuild/clearNativeFolder.js.map +1 -1
- package/build/src/prebuild/configureProjectAsync.js +50 -29
- package/build/src/prebuild/configureProjectAsync.js.map +1 -1
- package/build/src/prebuild/copyTemplateFiles.js +19 -13
- package/build/src/prebuild/copyTemplateFiles.js.map +1 -1
- package/build/src/prebuild/ensureConfigAsync.js +54 -28
- package/build/src/prebuild/ensureConfigAsync.js.map +1 -1
- package/build/src/prebuild/index.js +52 -38
- package/build/src/prebuild/index.js.map +1 -1
- package/build/src/prebuild/prebuildAsync.js +68 -51
- package/build/src/prebuild/prebuildAsync.js.map +1 -1
- package/build/src/prebuild/renameTemplateAppName.js +15 -10
- package/build/src/prebuild/renameTemplateAppName.js.map +1 -1
- package/build/src/prebuild/resolveOptions.js +60 -35
- package/build/src/prebuild/resolveOptions.js.map +1 -1
- package/build/src/prebuild/resolveTemplate.js +66 -40
- package/build/src/prebuild/resolveTemplate.js.map +1 -1
- package/build/src/prebuild/updateFromTemplate.js +67 -44
- package/build/src/prebuild/updateFromTemplate.js.map +1 -1
- package/build/src/prebuild/updatePackageJson.js +70 -49
- package/build/src/prebuild/updatePackageJson.js.map +1 -1
- package/build/src/prebuild/validateTemplatePlatforms.js +44 -23
- package/build/src/prebuild/validateTemplatePlatforms.js.map +1 -1
- package/build/src/register/index.js +43 -25
- package/build/src/register/index.js.map +1 -1
- package/build/src/register/registerAsync.js +14 -11
- package/build/src/register/registerAsync.js.map +1 -1
- package/build/src/run/android/index.js +47 -31
- package/build/src/run/android/index.js.map +1 -1
- package/build/src/run/android/resolveDevice.js +9 -6
- package/build/src/run/android/resolveDevice.js.map +1 -1
- package/build/src/run/android/resolveGradlePropsAsync.js +10 -9
- package/build/src/run/android/resolveGradlePropsAsync.js.map +1 -1
- package/build/src/run/android/resolveInstallApkName.js +14 -12
- package/build/src/run/android/resolveInstallApkName.js.map +1 -1
- package/build/src/run/android/resolveLaunchProps.js +6 -3
- package/build/src/run/android/resolveLaunchProps.js.map +1 -1
- package/build/src/run/android/resolveOptions.js +12 -9
- package/build/src/run/android/resolveOptions.js.map +1 -1
- package/build/src/run/android/runAndroidAsync.js +27 -24
- package/build/src/run/android/runAndroidAsync.js.map +1 -1
- package/build/src/run/ensureNativeProject.js +11 -8
- package/build/src/run/ensureNativeProject.js.map +1 -1
- package/build/src/run/hints.js +15 -7
- package/build/src/run/hints.js.map +1 -1
- package/build/src/run/index.js +49 -35
- package/build/src/run/index.js.map +1 -1
- package/build/src/run/ios/XcodeBuild.js +75 -51
- package/build/src/run/ios/XcodeBuild.js.map +1 -1
- package/build/src/run/ios/appleDevice/AppleDevice.js +31 -24
- package/build/src/run/ios/appleDevice/AppleDevice.js.map +1 -1
- package/build/src/run/ios/appleDevice/ClientManager.js +66 -33
- package/build/src/run/ios/appleDevice/ClientManager.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/AFCClient.js +73 -47
- package/build/src/run/ios/appleDevice/client/AFCClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/DebugserverClient.js +53 -26
- package/build/src/run/ios/appleDevice/client/DebugserverClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/InstallationProxyClient.js +15 -6
- package/build/src/run/ios/appleDevice/client/InstallationProxyClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/LockdowndClient.js +54 -27
- package/build/src/run/ios/appleDevice/client/LockdowndClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/MobileImageMounterClient.js +56 -30
- package/build/src/run/ios/appleDevice/client/MobileImageMounterClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/ServiceClient.js +18 -4
- package/build/src/run/ios/appleDevice/client/ServiceClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/UsbmuxdClient.js +22 -13
- package/build/src/run/ios/appleDevice/client/UsbmuxdClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/installOnDeviceAsync.js +57 -31
- package/build/src/run/ios/appleDevice/installOnDeviceAsync.js.map +1 -1
- package/build/src/run/ios/appleDevice/protocol/AFCProtocol.js +79 -66
- package/build/src/run/ios/appleDevice/protocol/AFCProtocol.js.map +1 -1
- package/build/src/run/ios/appleDevice/protocol/AbstractProtocol.js +28 -14
- package/build/src/run/ios/appleDevice/protocol/AbstractProtocol.js.map +1 -1
- package/build/src/run/ios/appleDevice/protocol/GDBProtocol.js +24 -11
- package/build/src/run/ios/appleDevice/protocol/GDBProtocol.js.map +1 -1
- package/build/src/run/ios/appleDevice/protocol/LockdownProtocol.js +26 -13
- package/build/src/run/ios/appleDevice/protocol/LockdownProtocol.js.map +1 -1
- package/build/src/run/ios/appleDevice/protocol/UsbmuxProtocol.js +23 -10
- package/build/src/run/ios/appleDevice/protocol/UsbmuxProtocol.js.map +1 -1
- package/build/src/run/ios/codeSigning/Security.js +27 -20
- package/build/src/run/ios/codeSigning/Security.js.map +1 -1
- package/build/src/run/ios/codeSigning/configureCodeSigning.js +49 -28
- package/build/src/run/ios/codeSigning/configureCodeSigning.js.map +1 -1
- package/build/src/run/ios/codeSigning/resolveCertificateSigningIdentity.js +61 -36
- package/build/src/run/ios/codeSigning/resolveCertificateSigningIdentity.js.map +1 -1
- package/build/src/run/ios/codeSigning/settings.js +11 -3
- package/build/src/run/ios/codeSigning/settings.js.map +1 -1
- package/build/src/run/ios/codeSigning/simulatorCodeSigning.js +7 -5
- package/build/src/run/ios/codeSigning/simulatorCodeSigning.js.map +1 -1
- package/build/src/run/ios/codeSigning/xcodeCodeSigning.js +14 -8
- package/build/src/run/ios/codeSigning/xcodeCodeSigning.js.map +1 -1
- package/build/src/run/ios/index.js +50 -34
- package/build/src/run/ios/index.js.map +1 -1
- package/build/src/run/ios/launchApp.js +52 -31
- package/build/src/run/ios/launchApp.js.map +1 -1
- package/build/src/run/ios/options/promptDevice.js +17 -13
- package/build/src/run/ios/options/promptDevice.js.map +1 -1
- package/build/src/run/ios/options/resolveDevice.js +63 -39
- package/build/src/run/ios/options/resolveDevice.js.map +1 -1
- package/build/src/run/ios/options/resolveNativeScheme.js +57 -34
- package/build/src/run/ios/options/resolveNativeScheme.js.map +1 -1
- package/build/src/run/ios/options/resolveOptions.js +15 -12
- package/build/src/run/ios/options/resolveOptions.js.map +1 -1
- package/build/src/run/ios/options/resolveXcodeProject.js +6 -3
- package/build/src/run/ios/options/resolveXcodeProject.js.map +1 -1
- package/build/src/run/ios/runIosAsync.js +63 -42
- package/build/src/run/ios/runIosAsync.js.map +1 -1
- package/build/src/run/resolveBundlerProps.js +8 -5
- package/build/src/run/resolveBundlerProps.js.map +1 -1
- package/build/src/run/startBundler.js +47 -26
- package/build/src/run/startBundler.js.map +1 -1
- package/build/src/start/detectDevClient.js +6 -3
- package/build/src/start/detectDevClient.js.map +1 -1
- package/build/src/start/doctor/Prerequisite.js +15 -7
- package/build/src/start/doctor/Prerequisite.js.map +1 -1
- package/build/src/start/doctor/SecurityBinPrerequisite.js +7 -4
- package/build/src/start/doctor/SecurityBinPrerequisite.js.map +1 -1
- package/build/src/start/doctor/apple/SimulatorAppPrerequisite.js +44 -23
- package/build/src/start/doctor/apple/SimulatorAppPrerequisite.js.map +1 -1
- package/build/src/start/doctor/apple/XcodeDeveloperDiskImagePrerequisite.js +44 -23
- package/build/src/start/doctor/apple/XcodeDeveloperDiskImagePrerequisite.js.map +1 -1
- package/build/src/start/doctor/apple/XcodePrerequisite.js +61 -36
- package/build/src/start/doctor/apple/XcodePrerequisite.js.map +1 -1
- package/build/src/start/doctor/apple/XcrunPrerequisite.js +15 -12
- package/build/src/start/doctor/apple/XcrunPrerequisite.js.map +1 -1
- package/build/src/start/doctor/dependencies/bundledNativeModules.js +49 -28
- package/build/src/start/doctor/dependencies/bundledNativeModules.js.map +1 -1
- package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js +98 -53
- package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js.map +1 -1
- package/build/src/start/doctor/dependencies/getMissingPackages.js +17 -9
- package/build/src/start/doctor/dependencies/getMissingPackages.js.map +1 -1
- package/build/src/start/doctor/dependencies/getVersionedPackages.js +23 -15
- package/build/src/start/doctor/dependencies/getVersionedPackages.js.map +1 -1
- package/build/src/start/doctor/dependencies/resolvePackages.js +19 -13
- package/build/src/start/doctor/dependencies/resolvePackages.js.map +1 -1
- package/build/src/start/doctor/dependencies/validateDependenciesVersions.js +63 -41
- package/build/src/start/doctor/dependencies/validateDependenciesVersions.js.map +1 -1
- package/build/src/start/doctor/ngrok/ExternalModule.js +64 -39
- package/build/src/start/doctor/ngrok/ExternalModule.js.map +1 -1
- package/build/src/start/doctor/ngrok/NgrokResolver.js +12 -5
- package/build/src/start/doctor/ngrok/NgrokResolver.js.map +1 -1
- package/build/src/start/doctor/typescript/TypeScriptProjectPrerequisite.js +59 -41
- package/build/src/start/doctor/typescript/TypeScriptProjectPrerequisite.js.map +1 -1
- package/build/src/start/doctor/typescript/updateTSConfig.js +59 -36
- package/build/src/start/doctor/typescript/updateTSConfig.js.map +1 -1
- package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js +57 -31
- package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js.map +1 -1
- package/build/src/start/index.js +56 -42
- package/build/src/start/index.js.map +1 -1
- package/build/src/start/interface/KeyPressHandler.js +43 -22
- package/build/src/start/interface/KeyPressHandler.js.map +1 -1
- package/build/src/start/interface/commandsTable.js +60 -38
- package/build/src/start/interface/commandsTable.js.map +1 -1
- package/build/src/start/interface/interactiveActions.js +85 -68
- package/build/src/start/interface/interactiveActions.js.map +1 -1
- package/build/src/start/interface/startInterface.js +78 -57
- package/build/src/start/interface/startInterface.js.map +1 -1
- package/build/src/start/platforms/AppIdResolver.js +9 -6
- package/build/src/start/platforms/AppIdResolver.js.map +1 -1
- package/build/src/start/platforms/DeviceManager.js +41 -20
- package/build/src/start/platforms/DeviceManager.js.map +1 -1
- package/build/src/start/platforms/ExpoGoInstaller.js +55 -35
- package/build/src/start/platforms/ExpoGoInstaller.js.map +1 -1
- package/build/src/start/platforms/PlatformManager.js +19 -17
- package/build/src/start/platforms/PlatformManager.js.map +1 -1
- package/build/src/start/platforms/android/ADBServer.js +15 -12
- package/build/src/start/platforms/android/ADBServer.js.map +1 -1
- package/build/src/start/platforms/android/AndroidAppIdResolver.js +6 -4
- package/build/src/start/platforms/android/AndroidAppIdResolver.js.map +1 -1
- package/build/src/start/platforms/android/AndroidDeviceManager.js +70 -50
- package/build/src/start/platforms/android/AndroidDeviceManager.js.map +1 -1
- package/build/src/start/platforms/android/AndroidPlatformManager.js +9 -6
- package/build/src/start/platforms/android/AndroidPlatformManager.js.map +1 -1
- package/build/src/start/platforms/android/AndroidSdk.js +11 -8
- package/build/src/start/platforms/android/AndroidSdk.js.map +1 -1
- package/build/src/start/platforms/android/activateWindow.js +43 -22
- package/build/src/start/platforms/android/activateWindow.js.map +1 -1
- package/build/src/start/platforms/android/adb.js +73 -52
- package/build/src/start/platforms/android/adb.js.map +1 -1
- package/build/src/start/platforms/android/adbReverse.js +57 -31
- package/build/src/start/platforms/android/adbReverse.js.map +1 -1
- package/build/src/start/platforms/android/emulator.js +63 -42
- package/build/src/start/platforms/android/emulator.js.map +1 -1
- package/build/src/start/platforms/android/getDevices.js +11 -10
- package/build/src/start/platforms/android/getDevices.js.map +1 -1
- package/build/src/start/platforms/android/gradle.js +18 -11
- package/build/src/start/platforms/android/gradle.js.map +1 -1
- package/build/src/start/platforms/android/promptAndroidDevice.js +14 -14
- package/build/src/start/platforms/android/promptAndroidDevice.js.map +1 -1
- package/build/src/start/platforms/ios/AppleAppIdResolver.js +7 -4
- package/build/src/start/platforms/ios/AppleAppIdResolver.js.map +1 -1
- package/build/src/start/platforms/ios/AppleDeviceManager.js +80 -54
- package/build/src/start/platforms/ios/AppleDeviceManager.js.map +1 -1
- package/build/src/start/platforms/ios/ApplePlatformManager.js +7 -4
- package/build/src/start/platforms/ios/ApplePlatformManager.js.map +1 -1
- package/build/src/start/platforms/ios/assertSystemRequirements.js +11 -8
- package/build/src/start/platforms/ios/assertSystemRequirements.js.map +1 -1
- package/build/src/start/platforms/ios/ensureSimulatorAppRunning.js +50 -29
- package/build/src/start/platforms/ios/ensureSimulatorAppRunning.js.map +1 -1
- package/build/src/start/platforms/ios/getBestSimulator.js +53 -29
- package/build/src/start/platforms/ios/getBestSimulator.js.map +1 -1
- package/build/src/start/platforms/ios/promptAppleDevice.js +18 -12
- package/build/src/start/platforms/ios/promptAppleDevice.js.map +1 -1
- package/build/src/start/platforms/ios/simctl.js +65 -42
- package/build/src/start/platforms/ios/simctl.js.map +1 -1
- package/build/src/start/platforms/ios/simctlLogging.js +67 -44
- package/build/src/start/platforms/ios/simctlLogging.js.map +1 -1
- package/build/src/start/platforms/ios/xcrun.js +8 -5
- package/build/src/start/platforms/ios/xcrun.js.map +1 -1
- package/build/src/start/project/devices.js +19 -16
- package/build/src/start/project/devices.js.map +1 -1
- package/build/src/start/project/dotExpo.js +13 -5
- package/build/src/start/project/dotExpo.js.map +1 -1
- package/build/src/start/project/settings.js +6 -4
- package/build/src/start/project/settings.js.map +1 -1
- package/build/src/start/resolveOptions.js +26 -19
- package/build/src/start/resolveOptions.js.map +1 -1
- package/build/src/start/server/AsyncNgrok.js +66 -46
- package/build/src/start/server/AsyncNgrok.js.map +1 -1
- package/build/src/start/server/BundlerDevServer.js +64 -44
- package/build/src/start/server/BundlerDevServer.js.map +1 -1
- package/build/src/start/server/DevServerManager.js +81 -69
- package/build/src/start/server/DevServerManager.js.map +1 -1
- package/build/src/start/server/DevToolsPluginManager.js +21 -16
- package/build/src/start/server/DevToolsPluginManager.js.map +1 -1
- package/build/src/start/server/DevelopmentSession.js +49 -31
- package/build/src/start/server/DevelopmentSession.js.map +1 -1
- package/build/src/start/server/ReactDevToolsProxy.js +14 -6
- package/build/src/start/server/ReactDevToolsProxy.js.map +1 -1
- package/build/src/start/server/UrlCreator.js +44 -23
- package/build/src/start/server/UrlCreator.js.map +1 -1
- package/build/src/start/server/getStaticRenderFunctions.js +46 -34
- package/build/src/start/server/getStaticRenderFunctions.js.map +1 -1
- package/build/src/start/server/metro/MetroBundlerDevServer.js +135 -108
- package/build/src/start/server/metro/MetroBundlerDevServer.js.map +1 -1
- package/build/src/start/server/metro/MetroTerminalReporter.js +24 -17
- package/build/src/start/server/metro/MetroTerminalReporter.js.map +1 -1
- package/build/src/start/server/metro/TerminalReporter.js +18 -8
- package/build/src/start/server/metro/TerminalReporter.js.map +1 -1
- package/build/src/start/server/metro/createExpoMetroResolver.js +31 -20
- package/build/src/start/server/metro/createExpoMetroResolver.js.map +1 -1
- package/build/src/start/server/metro/createJResolver.js +76 -51
- package/build/src/start/server/metro/createJResolver.js.map +1 -1
- package/build/src/start/server/metro/createServerRouteMiddleware.js +22 -14
- package/build/src/start/server/metro/createServerRouteMiddleware.js.map +1 -1
- package/build/src/start/server/metro/debugging/MessageHandler.js +4 -1
- package/build/src/start/server/metro/debugging/MessageHandler.js.map +1 -1
- package/build/src/start/server/metro/debugging/createDebugMiddleware.js +10 -9
- package/build/src/start/server/metro/debugging/createDebugMiddleware.js.map +1 -1
- package/build/src/start/server/metro/debugging/createHandlersFactory.js +14 -13
- package/build/src/start/server/metro/debugging/createHandlersFactory.js.map +1 -1
- package/build/src/start/server/metro/debugging/getDebuggerType.js +5 -2
- package/build/src/start/server/metro/debugging/getDebuggerType.js.map +1 -1
- package/build/src/start/server/metro/debugging/messageHandlers/NetworkResponse.js +5 -2
- package/build/src/start/server/metro/debugging/messageHandlers/NetworkResponse.js.map +1 -1
- package/build/src/start/server/metro/debugging/messageHandlers/PageReload.js +5 -2
- package/build/src/start/server/metro/debugging/messageHandlers/PageReload.js.map +1 -1
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerGetPossibleBreakpoints.js +7 -4
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerGetPossibleBreakpoints.js.map +1 -1
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerSetBreakpointByUrl.js +7 -4
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerSetBreakpointByUrl.js.map +1 -1
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeCallFunctionOn.js +7 -4
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeCallFunctionOn.js.map +1 -1
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeGetProperties.js +7 -4
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeGetProperties.js.map +1 -1
- package/build/src/start/server/metro/debugging/pageIsSupported.js +4 -1
- package/build/src/start/server/metro/debugging/pageIsSupported.js.map +1 -1
- package/build/src/start/server/metro/externals.js +21 -10
- package/build/src/start/server/metro/externals.js.map +1 -1
- package/build/src/start/server/metro/fetchRouterManifest.js +20 -7
- package/build/src/start/server/metro/fetchRouterManifest.js.map +1 -1
- package/build/src/start/server/metro/formatFileCandidates.js +21 -17
- package/build/src/start/server/metro/formatFileCandidates.js.map +1 -1
- package/build/src/start/server/metro/getCssModulesFromBundler.js +15 -7
- package/build/src/start/server/metro/getCssModulesFromBundler.js.map +1 -1
- package/build/src/start/server/metro/instantiateMetro.js +57 -44
- package/build/src/start/server/metro/instantiateMetro.js.map +1 -1
- package/build/src/start/server/metro/metroErrorInterface.js +43 -34
- package/build/src/start/server/metro/metroErrorInterface.js.map +1 -1
- package/build/src/start/server/metro/metroErrors.js +11 -2
- package/build/src/start/server/metro/metroErrors.js.map +1 -1
- package/build/src/start/server/metro/metroVirtualModules.js +10 -2
- package/build/src/start/server/metro/metroVirtualModules.js.map +1 -1
- package/build/src/start/server/metro/metroWatchTypeScriptFiles.js +5 -2
- package/build/src/start/server/metro/metroWatchTypeScriptFiles.js.map +1 -1
- package/build/src/start/server/metro/router.js +27 -20
- package/build/src/start/server/metro/router.js.map +1 -1
- package/build/src/start/server/metro/runServer-fork.js +21 -14
- package/build/src/start/server/metro/runServer-fork.js.map +1 -1
- package/build/src/start/server/metro/serializeHtml.js +7 -7
- package/build/src/start/server/metro/serializeHtml.js.map +1 -1
- package/build/src/start/server/metro/waitForMetroToObserveTypeScriptFile.js +12 -4
- package/build/src/start/server/metro/waitForMetroToObserveTypeScriptFile.js.map +1 -1
- package/build/src/start/server/metro/withMetroMultiPlatform.js +107 -81
- package/build/src/start/server/metro/withMetroMultiPlatform.js.map +1 -1
- package/build/src/start/server/metro/withMetroResolvers.js +72 -42
- package/build/src/start/server/metro/withMetroResolvers.js.map +1 -1
- package/build/src/start/server/middleware/ContextModuleSourceMapsMiddleware.js +4 -1
- package/build/src/start/server/middleware/ContextModuleSourceMapsMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/CorsMiddleware.js +4 -1
- package/build/src/start/server/middleware/CorsMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/CreateFileMiddleware.js +13 -5
- package/build/src/start/server/middleware/CreateFileMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/DevToolsPluginMiddleware.js +15 -12
- package/build/src/start/server/middleware/DevToolsPluginMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js +30 -23
- package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/ExpoMiddleware.js +47 -21
- package/build/src/start/server/middleware/ExpoMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/FaviconMiddleware.js +8 -5
- package/build/src/start/server/middleware/FaviconMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/HistoryFallbackMiddleware.js +6 -3
- package/build/src/start/server/middleware/HistoryFallbackMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/InterstitialPageMiddleware.js +23 -16
- package/build/src/start/server/middleware/InterstitialPageMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/ManifestMiddleware.js +84 -60
- package/build/src/start/server/middleware/ManifestMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/ReactDevToolsPageMiddleware.js +14 -7
- package/build/src/start/server/middleware/ReactDevToolsPageMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js +47 -26
- package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/ServeStaticMiddleware.js +11 -8
- package/build/src/start/server/middleware/ServeStaticMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/inspector/JsInspector.js +30 -24
- package/build/src/start/server/middleware/inspector/JsInspector.js.map +1 -1
- package/build/src/start/server/middleware/inspector/LaunchBrowser.js +16 -8
- package/build/src/start/server/middleware/inspector/LaunchBrowser.js.map +1 -1
- package/build/src/start/server/middleware/inspector/LaunchBrowser.types.js +4 -2
- package/build/src/start/server/middleware/inspector/LaunchBrowser.types.js.map +1 -1
- package/build/src/start/server/middleware/inspector/LaunchBrowserImplLinux.js +16 -12
- package/build/src/start/server/middleware/inspector/LaunchBrowserImplLinux.js.map +1 -1
- package/build/src/start/server/middleware/inspector/LaunchBrowserImplMacOS.js +59 -37
- package/build/src/start/server/middleware/inspector/LaunchBrowserImplMacOS.js.map +1 -1
- package/build/src/start/server/middleware/inspector/LaunchBrowserImplWindows.js +22 -16
- package/build/src/start/server/middleware/inspector/LaunchBrowserImplWindows.js.map +1 -1
- package/build/src/start/server/middleware/inspector/createJsInspectorMiddleware.js +9 -6
- package/build/src/start/server/middleware/inspector/createJsInspectorMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/inspector/middlwareMutations.js +11 -4
- package/build/src/start/server/middleware/inspector/middlwareMutations.js.map +1 -1
- package/build/src/start/server/middleware/metroOptions.js +26 -18
- package/build/src/start/server/middleware/metroOptions.js.map +1 -1
- package/build/src/start/server/middleware/mutations.js +11 -4
- package/build/src/start/server/middleware/mutations.js.map +1 -1
- package/build/src/start/server/middleware/resolveAssets.js +65 -41
- package/build/src/start/server/middleware/resolveAssets.js.map +1 -1
- package/build/src/start/server/middleware/resolvePlatform.js +14 -6
- package/build/src/start/server/middleware/resolvePlatform.js.map +1 -1
- package/build/src/start/server/middleware/suppressErrorMiddleware.js +4 -1
- package/build/src/start/server/middleware/suppressErrorMiddleware.js.map +1 -1
- package/build/src/start/server/openPlatforms.js +7 -6
- package/build/src/start/server/openPlatforms.js.map +1 -1
- package/build/src/start/server/platformBundlers.js +5 -2
- package/build/src/start/server/platformBundlers.js.map +1 -1
- package/build/src/start/server/serverLogLikeMetro.js +62 -33
- package/build/src/start/server/serverLogLikeMetro.js.map +1 -1
- package/build/src/start/server/type-generation/expo-env.js +12 -4
- package/build/src/start/server/type-generation/expo-env.js.map +1 -1
- package/build/src/start/server/type-generation/routes.js +52 -51
- package/build/src/start/server/type-generation/routes.js.map +1 -1
- package/build/src/start/server/type-generation/startTypescriptTypeGeneration.js +22 -19
- package/build/src/start/server/type-generation/startTypescriptTypeGeneration.js.map +1 -1
- package/build/src/start/server/type-generation/tsconfig.js +18 -11
- package/build/src/start/server/type-generation/tsconfig.js.map +1 -1
- package/build/src/start/server/webTemplate.js +21 -15
- package/build/src/start/server/webTemplate.js.map +1 -1
- package/build/src/start/server/webpack/WebpackBundlerDevServer.js +81 -56
- package/build/src/start/server/webpack/WebpackBundlerDevServer.js.map +1 -1
- package/build/src/start/server/webpack/compile.js +47 -26
- package/build/src/start/server/webpack/compile.js.map +1 -1
- package/build/src/start/server/webpack/formatWebpackMessages.js +35 -25
- package/build/src/start/server/webpack/formatWebpackMessages.js.map +1 -1
- package/build/src/start/server/webpack/resolveFromProject.js +13 -5
- package/build/src/start/server/webpack/resolveFromProject.js.map +1 -1
- package/build/src/start/server/webpack/tls.js +54 -28
- package/build/src/start/server/webpack/tls.js.map +1 -1
- package/build/src/start/startAsync.js +73 -52
- package/build/src/start/startAsync.js.map +1 -1
- package/build/src/utils/FileNotifier.js +46 -25
- package/build/src/utils/FileNotifier.js.map +1 -1
- package/build/src/utils/analytics/getDevClientProperties.js +29 -21
- package/build/src/utils/analytics/getDevClientProperties.js.map +1 -1
- package/build/src/utils/analytics/getMetroDebugProperties.js +4 -1
- package/build/src/utils/analytics/getMetroDebugProperties.js.map +1 -1
- package/build/src/utils/analytics/getMetroProperties.js +4 -1
- package/build/src/utils/analytics/getMetroProperties.js.map +1 -1
- package/build/src/utils/analytics/metroDebuggerMiddleware.js +14 -6
- package/build/src/utils/analytics/metroDebuggerMiddleware.js.map +1 -1
- package/build/src/utils/ansi.js +5 -2
- package/build/src/utils/ansi.js.map +1 -1
- package/build/src/utils/args.js +57 -29
- package/build/src/utils/args.js.map +1 -1
- package/build/src/utils/array.js +16 -9
- package/build/src/utils/array.js.map +1 -1
- package/build/src/utils/cocoapods.js +77 -53
- package/build/src/utils/cocoapods.js.map +1 -1
- package/build/src/utils/codesigning.js +80 -58
- package/build/src/utils/codesigning.js.map +1 -1
- package/build/src/utils/createFileTransform.js +13 -5
- package/build/src/utils/createFileTransform.js.map +1 -1
- package/build/src/utils/delay.js +13 -6
- package/build/src/utils/delay.js.map +1 -1
- package/build/src/utils/dir.js +24 -21
- package/build/src/utils/dir.js.map +1 -1
- package/build/src/utils/downloadAppAsync.js +16 -13
- package/build/src/utils/downloadAppAsync.js.map +1 -1
- package/build/src/utils/downloadExpoGoAsync.js +26 -20
- package/build/src/utils/downloadExpoGoAsync.js.map +1 -1
- package/build/src/utils/editor.js +50 -24
- package/build/src/utils/editor.js.map +1 -1
- package/build/src/utils/env.js +35 -33
- package/build/src/utils/env.js.map +1 -1
- package/build/src/utils/errors.js +17 -9
- package/build/src/utils/errors.js.map +1 -1
- package/build/src/utils/exit.js +10 -7
- package/build/src/utils/exit.js.map +1 -1
- package/build/src/utils/findUp.js +22 -4
- package/build/src/utils/findUp.js.map +1 -1
- package/build/src/utils/fn.js +11 -3
- package/build/src/utils/fn.js.map +1 -1
- package/build/src/utils/getOrPromptApplicationId.js +71 -45
- package/build/src/utils/getOrPromptApplicationId.js.map +1 -1
- package/build/src/utils/getRunningProcess.js +52 -26
- package/build/src/utils/getRunningProcess.js.map +1 -1
- package/build/src/utils/git.js +64 -38
- package/build/src/utils/git.js.map +1 -1
- package/build/src/utils/glob.js +14 -9
- package/build/src/utils/glob.js.map +1 -1
- package/build/src/utils/interactive.js +5 -2
- package/build/src/utils/interactive.js.map +1 -1
- package/build/src/utils/ip.js +5 -2
- package/build/src/utils/ip.js.map +1 -1
- package/build/src/utils/isModuleSymlinked.js +7 -4
- package/build/src/utils/isModuleSymlinked.js.map +1 -1
- package/build/src/utils/link.js +13 -5
- package/build/src/utils/link.js.map +1 -1
- package/build/src/utils/mergeGitIgnorePaths.js +22 -17
- package/build/src/utils/mergeGitIgnorePaths.js.map +1 -1
- package/build/src/utils/modifyConfigAsync.js +56 -30
- package/build/src/utils/modifyConfigAsync.js.map +1 -1
- package/build/src/utils/modifyConfigPlugins.js +43 -22
- package/build/src/utils/modifyConfigPlugins.js.map +1 -1
- package/build/src/utils/nodeEnv.js +6 -1
- package/build/src/utils/nodeEnv.js.map +1 -1
- package/build/src/utils/nodeModules.js +9 -6
- package/build/src/utils/nodeModules.js.map +1 -1
- package/build/src/utils/npm.js +32 -24
- package/build/src/utils/npm.js.map +1 -1
- package/build/src/utils/obj.js +12 -4
- package/build/src/utils/obj.js.map +1 -1
- package/build/src/utils/open.js +7 -4
- package/build/src/utils/open.js.map +1 -1
- package/build/src/utils/ora.js +25 -21
- package/build/src/utils/ora.js.map +1 -1
- package/build/src/utils/plist.js +53 -27
- package/build/src/utils/plist.js.map +1 -1
- package/build/src/utils/port.js +58 -32
- package/build/src/utils/port.js.map +1 -1
- package/build/src/utils/profile.js +49 -28
- package/build/src/utils/profile.js.map +1 -1
- package/build/src/utils/progress.js +16 -12
- package/build/src/utils/progress.js.map +1 -1
- package/build/src/utils/prompts.js +33 -28
- package/build/src/utils/prompts.js.map +1 -1
- package/build/src/utils/resolveArgs.js +23 -20
- package/build/src/utils/resolveArgs.js.map +1 -1
- package/build/src/utils/scheme.js +61 -37
- package/build/src/utils/scheme.js.map +1 -1
- package/build/src/utils/strings.js +11 -4
- package/build/src/utils/strings.js.map +1 -1
- package/build/src/utils/tar.js +43 -22
- package/build/src/utils/tar.js.map +1 -1
- package/build/src/utils/telemetry/DetachedClient.js +8 -5
- package/build/src/utils/telemetry/DetachedClient.js.map +1 -1
- package/build/src/utils/telemetry/RudderClient.js +12 -9
- package/build/src/utils/telemetry/RudderClient.js.map +1 -1
- package/build/src/utils/telemetry/flushDetached.js +8 -7
- package/build/src/utils/telemetry/flushDetached.js.map +1 -1
- package/build/src/utils/telemetry/getContext.js +48 -28
- package/build/src/utils/telemetry/getContext.js.map +1 -1
- package/build/src/utils/telemetry/index.js +16 -11
- package/build/src/utils/telemetry/index.js.map +1 -1
- package/build/src/utils/template.js +27 -2
- package/build/src/utils/template.js.map +1 -1
- package/build/src/utils/terminal.js +5 -2
- package/build/src/utils/terminal.js.map +1 -1
- package/build/src/utils/tsconfig/evaluateTsConfig.js +18 -12
- package/build/src/utils/tsconfig/evaluateTsConfig.js.map +1 -1
- package/build/src/utils/tsconfig/loadTsConfigPaths.js +18 -10
- package/build/src/utils/tsconfig/loadTsConfigPaths.js.map +1 -1
- package/build/src/utils/tsconfig/matchTsConfigPathAlias.js +8 -4
- package/build/src/utils/tsconfig/matchTsConfigPathAlias.js.map +1 -1
- package/build/src/utils/tsconfig/resolveWithTsConfigPaths.js +12 -9
- package/build/src/utils/tsconfig/resolveWithTsConfigPaths.js.map +1 -1
- package/build/src/utils/url.js +17 -10
- package/build/src/utils/url.js.map +1 -1
- package/build/src/utils/validateApplicationId.js +32 -25
- package/build/src/utils/validateApplicationId.js.map +1 -1
- package/build/src/utils/variadic.js +15 -11
- package/build/src/utils/variadic.js.map +1 -1
- package/build/src/whoami/index.js +43 -25
- package/build/src/whoami/index.js.map +1 -1
- package/build/src/whoami/whoamiAsync.js +44 -23
- package/build/src/whoami/whoamiAsync.js.map +1 -1
- package/package.json +4 -4
|
@@ -2,54 +2,80 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", {
|
|
3
3
|
value: true
|
|
4
4
|
});
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
function _export(target, all) {
|
|
6
|
+
for(var name in all)Object.defineProperty(target, name, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: all[name]
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
_export(exports, {
|
|
12
|
+
resolveGoogleServicesFile: ()=>resolveGoogleServicesFile,
|
|
13
|
+
getAssetFieldPathsForManifestAsync: ()=>getAssetFieldPathsForManifestAsync,
|
|
14
|
+
resolveManifestAssets: ()=>resolveManifestAssets
|
|
15
|
+
});
|
|
8
16
|
function _promises() {
|
|
9
|
-
const data = _interopRequireDefault(require("fs/promises"));
|
|
17
|
+
const data = /*#__PURE__*/ _interopRequireDefault(require("fs/promises"));
|
|
10
18
|
_promises = function() {
|
|
11
19
|
return data;
|
|
12
20
|
};
|
|
13
21
|
return data;
|
|
14
22
|
}
|
|
15
23
|
function _path() {
|
|
16
|
-
const data = _interopRequireDefault(require("path"));
|
|
24
|
+
const data = /*#__PURE__*/ _interopRequireDefault(require("path"));
|
|
17
25
|
_path = function() {
|
|
18
26
|
return data;
|
|
19
27
|
};
|
|
20
28
|
return data;
|
|
21
29
|
}
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
30
|
+
const _getExpoSchema = require("../../../api/getExpoSchema");
|
|
31
|
+
const _log = /*#__PURE__*/ _interopRequireWildcard(require("../../../log"));
|
|
32
|
+
const _dir = require("../../../utils/dir");
|
|
33
|
+
const _errors = require("../../../utils/errors");
|
|
34
|
+
const _obj = require("../../../utils/obj");
|
|
35
|
+
const _url = require("../../../utils/url");
|
|
28
36
|
function _interopRequireDefault(obj) {
|
|
29
37
|
return obj && obj.__esModule ? obj : {
|
|
30
38
|
default: obj
|
|
31
39
|
};
|
|
32
40
|
}
|
|
33
|
-
function
|
|
34
|
-
if (
|
|
41
|
+
function _getRequireWildcardCache(nodeInterop) {
|
|
42
|
+
if (typeof WeakMap !== "function") return null;
|
|
43
|
+
var cacheBabelInterop = new WeakMap();
|
|
44
|
+
var cacheNodeInterop = new WeakMap();
|
|
45
|
+
return (_getRequireWildcardCache = function(nodeInterop) {
|
|
46
|
+
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
|
47
|
+
})(nodeInterop);
|
|
48
|
+
}
|
|
49
|
+
function _interopRequireWildcard(obj, nodeInterop) {
|
|
50
|
+
if (!nodeInterop && obj && obj.__esModule) {
|
|
35
51
|
return obj;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
52
|
+
}
|
|
53
|
+
if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
|
|
54
|
+
return {
|
|
55
|
+
default: obj
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
var cache = _getRequireWildcardCache(nodeInterop);
|
|
59
|
+
if (cache && cache.has(obj)) {
|
|
60
|
+
return cache.get(obj);
|
|
61
|
+
}
|
|
62
|
+
var newObj = {};
|
|
63
|
+
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
64
|
+
for(var key in obj){
|
|
65
|
+
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
66
|
+
var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
|
|
67
|
+
if (desc && (desc.get || desc.set)) {
|
|
68
|
+
Object.defineProperty(newObj, key, desc);
|
|
69
|
+
} else {
|
|
70
|
+
newObj[key] = obj[key];
|
|
48
71
|
}
|
|
49
72
|
}
|
|
50
|
-
newObj.default = obj;
|
|
51
|
-
return newObj;
|
|
52
73
|
}
|
|
74
|
+
newObj.default = obj;
|
|
75
|
+
if (cache) {
|
|
76
|
+
cache.set(obj, newObj);
|
|
77
|
+
}
|
|
78
|
+
return newObj;
|
|
53
79
|
}
|
|
54
80
|
async function resolveGoogleServicesFile(projectRoot, manifest) {
|
|
55
81
|
var ref, ref1;
|
|
@@ -58,17 +84,17 @@ async function resolveGoogleServicesFile(projectRoot, manifest) {
|
|
|
58
84
|
const contents = await _promises().default.readFile(_path().default.resolve(projectRoot, manifest.android.googleServicesFile), "utf8");
|
|
59
85
|
manifest.android.googleServicesFile = contents;
|
|
60
86
|
} catch {
|
|
61
|
-
|
|
87
|
+
_log.warn(`Could not parse Expo config: android.googleServicesFile: "${manifest.android.googleServicesFile}"`);
|
|
62
88
|
// Delete the field so Expo Go doesn't attempt to read it.
|
|
63
89
|
delete manifest.android.googleServicesFile;
|
|
64
90
|
}
|
|
65
91
|
}
|
|
66
92
|
if ((ref1 = manifest.ios) == null ? void 0 : ref1.googleServicesFile) {
|
|
67
93
|
try {
|
|
68
|
-
const
|
|
69
|
-
manifest.ios.googleServicesFile =
|
|
94
|
+
const contents1 = await _promises().default.readFile(_path().default.resolve(projectRoot, manifest.ios.googleServicesFile), "base64");
|
|
95
|
+
manifest.ios.googleServicesFile = contents1;
|
|
70
96
|
} catch {
|
|
71
|
-
|
|
97
|
+
_log.warn(`Could not parse Expo config: ios.googleServicesFile: "${manifest.ios.googleServicesFile}"`);
|
|
72
98
|
// Delete the field so Expo Go doesn't attempt to read it.
|
|
73
99
|
delete manifest.ios.googleServicesFile;
|
|
74
100
|
}
|
|
@@ -77,9 +103,8 @@ async function resolveGoogleServicesFile(projectRoot, manifest) {
|
|
|
77
103
|
}
|
|
78
104
|
async function getAssetFieldPathsForManifestAsync(manifest) {
|
|
79
105
|
// String array like ["icon", "notification.icon", "loading.icon", "loading.backgroundImage", "ios.icon", ...]
|
|
80
|
-
const sdkAssetFieldPaths = await (0, _getExpoSchema
|
|
81
|
-
return sdkAssetFieldPaths.filter((assetSchema)=>(0, _obj
|
|
82
|
-
);
|
|
106
|
+
const sdkAssetFieldPaths = await (0, _getExpoSchema.getAssetSchemasAsync)(manifest.sdkVersion);
|
|
107
|
+
return sdkAssetFieldPaths.filter((assetSchema)=>(0, _obj.get)(manifest, assetSchema));
|
|
83
108
|
}
|
|
84
109
|
async function resolveManifestAssets(projectRoot, { manifest , resolver , strict }) {
|
|
85
110
|
try {
|
|
@@ -87,15 +112,15 @@ async function resolveManifestAssets(projectRoot, { manifest , resolver , strict
|
|
|
87
112
|
const assetSchemas = await getAssetFieldPathsForManifestAsync(manifest);
|
|
88
113
|
// Get the URLs
|
|
89
114
|
const urls = await Promise.all(assetSchemas.map(async (manifestField)=>{
|
|
90
|
-
const pathOrURL = (0, _obj
|
|
115
|
+
const pathOrURL = (0, _obj.get)(manifest, manifestField);
|
|
91
116
|
// URL
|
|
92
|
-
if ((0, _url
|
|
117
|
+
if ((0, _url.validateUrl)(pathOrURL, {
|
|
93
118
|
requireProtocol: true
|
|
94
119
|
})) {
|
|
95
120
|
return pathOrURL;
|
|
96
121
|
}
|
|
97
122
|
// File path
|
|
98
|
-
if (await (0, _dir
|
|
123
|
+
if (await (0, _dir.fileExistsAsync)(_path().default.resolve(projectRoot, pathOrURL))) {
|
|
99
124
|
return await resolver(pathOrURL);
|
|
100
125
|
}
|
|
101
126
|
// Unknown
|
|
@@ -105,13 +130,12 @@ async function resolveManifestAssets(projectRoot, { manifest , resolver , strict
|
|
|
105
130
|
throw err;
|
|
106
131
|
}));
|
|
107
132
|
// Set the corresponding URL fields
|
|
108
|
-
assetSchemas.forEach((manifestField, index)=>(0, _obj
|
|
109
|
-
);
|
|
133
|
+
assetSchemas.forEach((manifestField, index)=>(0, _obj.set)(manifest, `${manifestField}Url`, urls[index]));
|
|
110
134
|
} catch (error) {
|
|
111
135
|
if (error.localAssetPath) {
|
|
112
|
-
|
|
136
|
+
_log.warn(`Unable to resolve asset "${error.localAssetPath}" from "${error.manifestField}" in your app.json or app.config.js`);
|
|
113
137
|
} else {
|
|
114
|
-
|
|
138
|
+
_log.warn(`Warning: Unable to resolve manifest assets. Icons and fonts might not work. ${error.message}.`);
|
|
115
139
|
}
|
|
116
140
|
if (strict) {
|
|
117
141
|
throw new _errors.CommandError("MANIFEST_ASSET", "Failed to export manifest assets: " + error.message);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/start/server/middleware/resolveAssets.ts"],"sourcesContent":["import { ExpoConfig } from '@expo/config';\nimport fs from 'fs/promises';\nimport path from 'path';\n\nimport { getAssetSchemasAsync } from '../../../api/getExpoSchema';\nimport { BundleAssetWithFileHashes } from '../../../export/fork-bundleAsync';\nimport * as Log from '../../../log';\nimport { fileExistsAsync } from '../../../utils/dir';\nimport { CommandError } from '../../../utils/errors';\nimport { get, set } from '../../../utils/obj';\nimport { validateUrl } from '../../../utils/url';\n\ntype ManifestAsset = { fileHashes: string[]; files: string[]; hash: string };\n\nexport type Asset = ManifestAsset | BundleAssetWithFileHashes;\n\ntype ManifestResolutionError = Error & {\n localAssetPath?: string;\n manifestField?: string;\n};\n\n/** Inline the contents of each platform's `googleServicesFile` so runtimes can access them. */\nexport async function resolveGoogleServicesFile(\n projectRoot: string,\n manifest: Partial<Pick<ExpoConfig, 'android' | 'ios'>>\n) {\n if (manifest.android?.googleServicesFile) {\n try {\n const contents = await fs.readFile(\n path.resolve(projectRoot, manifest.android.googleServicesFile),\n 'utf8'\n );\n manifest.android.googleServicesFile = contents;\n } catch {\n Log.warn(\n `Could not parse Expo config: android.googleServicesFile: \"${manifest.android.googleServicesFile}\"`\n );\n // Delete the field so Expo Go doesn't attempt to read it.\n delete manifest.android.googleServicesFile;\n }\n }\n if (manifest.ios?.googleServicesFile) {\n try {\n const contents = await fs.readFile(\n path.resolve(projectRoot, manifest.ios.googleServicesFile),\n 'base64'\n );\n manifest.ios.googleServicesFile = contents;\n } catch {\n Log.warn(\n `Could not parse Expo config: ios.googleServicesFile: \"${manifest.ios.googleServicesFile}\"`\n );\n // Delete the field so Expo Go doesn't attempt to read it.\n delete manifest.ios.googleServicesFile;\n }\n }\n return manifest;\n}\n\n/**\n * Get all fields in the manifest that match assets, then filter the ones that aren't set.\n *\n * @param manifest\n * @returns Asset fields that the user has set like [\"icon\", \"splash.image\", ...]\n */\nexport async function getAssetFieldPathsForManifestAsync(manifest: ExpoConfig): Promise<string[]> {\n // String array like [\"icon\", \"notification.icon\", \"loading.icon\", \"loading.backgroundImage\", \"ios.icon\", ...]\n const sdkAssetFieldPaths = await getAssetSchemasAsync(manifest.sdkVersion);\n return sdkAssetFieldPaths.filter((assetSchema) => get(manifest, assetSchema));\n}\n\n/** Resolve all assets in the app.json inline. */\nexport async function resolveManifestAssets(\n projectRoot: string,\n {\n manifest,\n resolver,\n strict,\n }: {\n manifest: ExpoConfig;\n resolver: (assetPath: string) => Promise<string>;\n strict?: boolean;\n }\n) {\n try {\n // Asset fields that the user has set like [\"icon\", \"splash.image\"]\n const assetSchemas = await getAssetFieldPathsForManifestAsync(manifest);\n // Get the URLs\n const urls = await Promise.all(\n assetSchemas.map(async (manifestField) => {\n const pathOrURL = get(manifest, manifestField);\n // URL\n if (validateUrl(pathOrURL, { requireProtocol: true })) {\n return pathOrURL;\n }\n\n // File path\n if (await fileExistsAsync(path.resolve(projectRoot, pathOrURL))) {\n return await resolver(pathOrURL);\n }\n\n // Unknown\n const err: ManifestResolutionError = new CommandError(\n 'MANIFEST_ASSET',\n 'Could not resolve local asset: ' + pathOrURL\n );\n err.localAssetPath = pathOrURL;\n err.manifestField = manifestField;\n throw err;\n })\n );\n\n // Set the corresponding URL fields\n assetSchemas.forEach((manifestField, index: number) =>\n set(manifest, `${manifestField}Url`, urls[index])\n );\n } catch (error: any) {\n if (error.localAssetPath) {\n Log.warn(\n `Unable to resolve asset \"${error.localAssetPath}\" from \"${error.manifestField}\" in your app.json or app.config.js`\n );\n } else {\n Log.warn(\n `Warning: Unable to resolve manifest assets. Icons and fonts might not work. ${error.message}.`\n );\n }\n\n if (strict) {\n throw new CommandError(\n 'MANIFEST_ASSET',\n 'Failed to export manifest assets: ' + error.message\n );\n }\n }\n}\n"],"names":["resolveGoogleServicesFile","getAssetFieldPathsForManifestAsync","resolveManifestAssets","
|
|
1
|
+
{"version":3,"sources":["../../../../../src/start/server/middleware/resolveAssets.ts"],"sourcesContent":["import { ExpoConfig } from '@expo/config';\nimport fs from 'fs/promises';\nimport path from 'path';\n\nimport { getAssetSchemasAsync } from '../../../api/getExpoSchema';\nimport { BundleAssetWithFileHashes } from '../../../export/fork-bundleAsync';\nimport * as Log from '../../../log';\nimport { fileExistsAsync } from '../../../utils/dir';\nimport { CommandError } from '../../../utils/errors';\nimport { get, set } from '../../../utils/obj';\nimport { validateUrl } from '../../../utils/url';\n\ntype ManifestAsset = { fileHashes: string[]; files: string[]; hash: string };\n\nexport type Asset = ManifestAsset | BundleAssetWithFileHashes;\n\ntype ManifestResolutionError = Error & {\n localAssetPath?: string;\n manifestField?: string;\n};\n\n/** Inline the contents of each platform's `googleServicesFile` so runtimes can access them. */\nexport async function resolveGoogleServicesFile(\n projectRoot: string,\n manifest: Partial<Pick<ExpoConfig, 'android' | 'ios'>>\n) {\n if (manifest.android?.googleServicesFile) {\n try {\n const contents = await fs.readFile(\n path.resolve(projectRoot, manifest.android.googleServicesFile),\n 'utf8'\n );\n manifest.android.googleServicesFile = contents;\n } catch {\n Log.warn(\n `Could not parse Expo config: android.googleServicesFile: \"${manifest.android.googleServicesFile}\"`\n );\n // Delete the field so Expo Go doesn't attempt to read it.\n delete manifest.android.googleServicesFile;\n }\n }\n if (manifest.ios?.googleServicesFile) {\n try {\n const contents = await fs.readFile(\n path.resolve(projectRoot, manifest.ios.googleServicesFile),\n 'base64'\n );\n manifest.ios.googleServicesFile = contents;\n } catch {\n Log.warn(\n `Could not parse Expo config: ios.googleServicesFile: \"${manifest.ios.googleServicesFile}\"`\n );\n // Delete the field so Expo Go doesn't attempt to read it.\n delete manifest.ios.googleServicesFile;\n }\n }\n return manifest;\n}\n\n/**\n * Get all fields in the manifest that match assets, then filter the ones that aren't set.\n *\n * @param manifest\n * @returns Asset fields that the user has set like [\"icon\", \"splash.image\", ...]\n */\nexport async function getAssetFieldPathsForManifestAsync(manifest: ExpoConfig): Promise<string[]> {\n // String array like [\"icon\", \"notification.icon\", \"loading.icon\", \"loading.backgroundImage\", \"ios.icon\", ...]\n const sdkAssetFieldPaths = await getAssetSchemasAsync(manifest.sdkVersion);\n return sdkAssetFieldPaths.filter((assetSchema) => get(manifest, assetSchema));\n}\n\n/** Resolve all assets in the app.json inline. */\nexport async function resolveManifestAssets(\n projectRoot: string,\n {\n manifest,\n resolver,\n strict,\n }: {\n manifest: ExpoConfig;\n resolver: (assetPath: string) => Promise<string>;\n strict?: boolean;\n }\n) {\n try {\n // Asset fields that the user has set like [\"icon\", \"splash.image\"]\n const assetSchemas = await getAssetFieldPathsForManifestAsync(manifest);\n // Get the URLs\n const urls = await Promise.all(\n assetSchemas.map(async (manifestField) => {\n const pathOrURL = get(manifest, manifestField);\n // URL\n if (validateUrl(pathOrURL, { requireProtocol: true })) {\n return pathOrURL;\n }\n\n // File path\n if (await fileExistsAsync(path.resolve(projectRoot, pathOrURL))) {\n return await resolver(pathOrURL);\n }\n\n // Unknown\n const err: ManifestResolutionError = new CommandError(\n 'MANIFEST_ASSET',\n 'Could not resolve local asset: ' + pathOrURL\n );\n err.localAssetPath = pathOrURL;\n err.manifestField = manifestField;\n throw err;\n })\n );\n\n // Set the corresponding URL fields\n assetSchemas.forEach((manifestField, index: number) =>\n set(manifest, `${manifestField}Url`, urls[index])\n );\n } catch (error: any) {\n if (error.localAssetPath) {\n Log.warn(\n `Unable to resolve asset \"${error.localAssetPath}\" from \"${error.manifestField}\" in your app.json or app.config.js`\n );\n } else {\n Log.warn(\n `Warning: Unable to resolve manifest assets. Icons and fonts might not work. ${error.message}.`\n );\n }\n\n if (strict) {\n throw new CommandError(\n 'MANIFEST_ASSET',\n 'Failed to export manifest assets: ' + error.message\n );\n }\n }\n}\n"],"names":["resolveGoogleServicesFile","getAssetFieldPathsForManifestAsync","resolveManifestAssets","projectRoot","manifest","android","googleServicesFile","contents","fs","readFile","path","resolve","Log","warn","ios","sdkAssetFieldPaths","getAssetSchemasAsync","sdkVersion","filter","assetSchema","get","resolver","strict","assetSchemas","urls","Promise","all","map","manifestField","pathOrURL","validateUrl","requireProtocol","fileExistsAsync","err","CommandError","localAssetPath","forEach","index","set","error","message"],"mappings":"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"}
|
|
@@ -2,10 +2,18 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", {
|
|
3
3
|
value: true
|
|
4
4
|
});
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
5
|
+
function _export(target, all) {
|
|
6
|
+
for(var name in all)Object.defineProperty(target, name, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: all[name]
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
_export(exports, {
|
|
12
|
+
parsePlatformHeader: ()=>parsePlatformHeader,
|
|
13
|
+
resolvePlatformFromUserAgentHeader: ()=>resolvePlatformFromUserAgentHeader,
|
|
14
|
+
assertMissingRuntimePlatform: ()=>assertMissingRuntimePlatform,
|
|
15
|
+
assertRuntimePlatform: ()=>assertRuntimePlatform
|
|
16
|
+
});
|
|
9
17
|
function _url() {
|
|
10
18
|
const data = require("url");
|
|
11
19
|
_url = function() {
|
|
@@ -13,11 +21,11 @@ function _url() {
|
|
|
13
21
|
};
|
|
14
22
|
return data;
|
|
15
23
|
}
|
|
16
|
-
|
|
24
|
+
const _errors = require("../../../utils/errors");
|
|
17
25
|
const debug = require("debug")("expo:start:server:middleware:resolvePlatform");
|
|
18
26
|
function parsePlatformHeader(req) {
|
|
19
27
|
var ref;
|
|
20
|
-
const url = _url().parse(req.url, /* parseQueryString */ true);
|
|
28
|
+
const url = (0, _url().parse)(req.url, /* parseQueryString */ true);
|
|
21
29
|
const platform = ((ref = url.query) == null ? void 0 : ref.platform) || req.headers["expo-platform"] || req.headers["exponent-platform"];
|
|
22
30
|
var ref1;
|
|
23
31
|
return (ref1 = Array.isArray(platform) ? platform[0] : platform) != null ? ref1 : null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/start/server/middleware/resolvePlatform.ts"],"sourcesContent":["import { parse } from 'url';\n\nimport { ServerRequest } from './server.types';\nimport { CommandError } from '../../../utils/errors';\n\nconst debug = require('debug')(\n 'expo:start:server:middleware:resolvePlatform'\n) as typeof console.log;\n\n/** Supported platforms */\nexport type RuntimePlatform = 'ios' | 'android';\n\n/**\n * Extract the runtime platform from the server request.\n * 1. Query param `platform`: `?platform=ios`\n * 2. Header `expo-platform`: `'expo-platform': ios`\n * 3. Legacy header `exponent-platform`: `'exponent-platform': ios`\n *\n * Returns first item in the case of an array.\n */\nexport function parsePlatformHeader(req: ServerRequest): string | null {\n const url = parse(req.url!, /* parseQueryString */ true);\n const platform =\n url.query?.platform || req.headers['expo-platform'] || req.headers['exponent-platform'];\n return (Array.isArray(platform) ? platform[0] : platform) ?? null;\n}\n\n/** Guess the platform from the user-agent header. */\nexport function resolvePlatformFromUserAgentHeader(req: ServerRequest): string | null {\n let platform = null;\n const userAgent = req.headers['user-agent'];\n if (userAgent?.match(/Android/i)) {\n platform = 'android';\n }\n if (userAgent?.match(/iPhone|iPad/i)) {\n platform = 'ios';\n }\n debug(`Resolved platform ${platform} from user-agent header: ${userAgent}`);\n return platform;\n}\n\n/** Assert if the runtime platform is not included. */\nexport function assertMissingRuntimePlatform(platform?: any): asserts platform {\n if (!platform) {\n throw new CommandError(\n 'PLATFORM_HEADER',\n `Must specify \"expo-platform\" header or \"platform\" query parameter`\n );\n }\n}\n\n/** Assert if the runtime platform is not correct. */\nexport function assertRuntimePlatform(platform: string): asserts platform is RuntimePlatform {\n const stringifiedPlatform = String(platform);\n if (!['android', 'ios', 'web'].includes(stringifiedPlatform)) {\n throw new CommandError(\n 'PLATFORM_HEADER',\n `platform must be \"android\", \"ios\", or \"web\". Received: \"${platform}\"`\n );\n }\n}\n"],"names":["parsePlatformHeader","resolvePlatformFromUserAgentHeader","assertMissingRuntimePlatform","assertRuntimePlatform","debug","require","req","url","parse","platform","query","headers","Array","isArray","userAgent","match","CommandError","stringifiedPlatform","String","includes"],"mappings":"AAAA
|
|
1
|
+
{"version":3,"sources":["../../../../../src/start/server/middleware/resolvePlatform.ts"],"sourcesContent":["import { parse } from 'url';\n\nimport { ServerRequest } from './server.types';\nimport { CommandError } from '../../../utils/errors';\n\nconst debug = require('debug')(\n 'expo:start:server:middleware:resolvePlatform'\n) as typeof console.log;\n\n/** Supported platforms */\nexport type RuntimePlatform = 'ios' | 'android';\n\n/**\n * Extract the runtime platform from the server request.\n * 1. Query param `platform`: `?platform=ios`\n * 2. Header `expo-platform`: `'expo-platform': ios`\n * 3. Legacy header `exponent-platform`: `'exponent-platform': ios`\n *\n * Returns first item in the case of an array.\n */\nexport function parsePlatformHeader(req: ServerRequest): string | null {\n const url = parse(req.url!, /* parseQueryString */ true);\n const platform =\n url.query?.platform || req.headers['expo-platform'] || req.headers['exponent-platform'];\n return (Array.isArray(platform) ? platform[0] : platform) ?? null;\n}\n\n/** Guess the platform from the user-agent header. */\nexport function resolvePlatformFromUserAgentHeader(req: ServerRequest): string | null {\n let platform = null;\n const userAgent = req.headers['user-agent'];\n if (userAgent?.match(/Android/i)) {\n platform = 'android';\n }\n if (userAgent?.match(/iPhone|iPad/i)) {\n platform = 'ios';\n }\n debug(`Resolved platform ${platform} from user-agent header: ${userAgent}`);\n return platform;\n}\n\n/** Assert if the runtime platform is not included. */\nexport function assertMissingRuntimePlatform(platform?: any): asserts platform {\n if (!platform) {\n throw new CommandError(\n 'PLATFORM_HEADER',\n `Must specify \"expo-platform\" header or \"platform\" query parameter`\n );\n }\n}\n\n/** Assert if the runtime platform is not correct. */\nexport function assertRuntimePlatform(platform: string): asserts platform is RuntimePlatform {\n const stringifiedPlatform = String(platform);\n if (!['android', 'ios', 'web'].includes(stringifiedPlatform)) {\n throw new CommandError(\n 'PLATFORM_HEADER',\n `platform must be \"android\", \"ios\", or \"web\". Received: \"${platform}\"`\n );\n }\n}\n"],"names":["parsePlatformHeader","resolvePlatformFromUserAgentHeader","assertMissingRuntimePlatform","assertRuntimePlatform","debug","require","req","url","parse","platform","query","headers","Array","isArray","userAgent","match","CommandError","stringifiedPlatform","String","includes"],"mappings":"AAAA;;;;;;;;;;;IAoBgBA,mBAAmB,MAAnBA,mBAAmB;IAQnBC,kCAAkC,MAAlCA,kCAAkC;IAclCC,4BAA4B,MAA5BA,4BAA4B;IAU5BC,qBAAqB,MAArBA,qBAAqB;;;yBApDf,KAAK;;;;;;wBAGE,uBAAuB;AAEpD,MAAMC,KAAK,GAAGC,OAAO,CAAC,OAAO,CAAC,CAC5B,8CAA8C,CAC/C,AAAsB,AAAC;AAajB,SAASL,mBAAmB,CAACM,GAAkB,EAAiB;QAGnEC,GAAS;IAFX,MAAMA,GAAG,GAAGC,IAAAA,IAAK,EAAA,MAAA,EAACF,GAAG,CAACC,GAAG,EAAG,oBAAoB,GAAG,IAAI,CAAC,AAAC;IACzD,MAAME,QAAQ,GACZF,CAAAA,CAAAA,GAAS,GAATA,GAAG,CAACG,KAAK,SAAU,GAAnBH,KAAAA,CAAmB,GAAnBA,GAAS,CAAEE,QAAQ,CAAA,IAAIH,GAAG,CAACK,OAAO,CAAC,eAAe,CAAC,IAAIL,GAAG,CAACK,OAAO,CAAC,mBAAmB,CAAC,AAAC;QACnF,IAAkD;IAAzD,OAAO,CAAA,IAAkD,GAAjDC,KAAK,CAACC,OAAO,CAACJ,QAAQ,CAAC,GAAGA,QAAQ,CAAC,CAAC,CAAC,GAAGA,QAAQ,YAAjD,IAAkD,GAAI,IAAI,CAAC;AACpE,CAAC;AAGM,SAASR,kCAAkC,CAACK,GAAkB,EAAiB;IACpF,IAAIG,QAAQ,GAAG,IAAI,AAAC;IACpB,MAAMK,SAAS,GAAGR,GAAG,CAACK,OAAO,CAAC,YAAY,CAAC,AAAC;IAC5C,IAAIG,SAAS,QAAO,GAAhBA,KAAAA,CAAgB,GAAhBA,SAAS,CAAEC,KAAK,YAAY,EAAE;QAChCN,QAAQ,GAAG,SAAS,CAAC;IACvB,CAAC;IACD,IAAIK,SAAS,QAAO,GAAhBA,KAAAA,CAAgB,GAAhBA,SAAS,CAAEC,KAAK,gBAAgB,EAAE;QACpCN,QAAQ,GAAG,KAAK,CAAC;IACnB,CAAC;IACDL,KAAK,CAAC,CAAC,kBAAkB,EAAEK,QAAQ,CAAC,yBAAyB,EAAEK,SAAS,CAAC,CAAC,CAAC,CAAC;IAC5E,OAAOL,QAAQ,CAAC;AAClB,CAAC;AAGM,SAASP,4BAA4B,CAACO,QAAc,EAAoB;IAC7E,IAAI,CAACA,QAAQ,EAAE;QACb,MAAM,IAAIO,OAAY,aAAA,CACpB,iBAAiB,EACjB,CAAC,iEAAiE,CAAC,CACpE,CAAC;IACJ,CAAC;AACH,CAAC;AAGM,SAASb,qBAAqB,CAACM,QAAgB,EAAuC;IAC3F,MAAMQ,mBAAmB,GAAGC,MAAM,CAACT,QAAQ,CAAC,AAAC;IAC7C,IAAI,CAAC;QAAC,SAAS;QAAE,KAAK;QAAE,KAAK;KAAC,CAACU,QAAQ,CAACF,mBAAmB,CAAC,EAAE;QAC5D,MAAM,IAAID,OAAY,aAAA,CACpB,iBAAiB,EACjB,CAAC,wDAAwD,EAAEP,QAAQ,CAAC,CAAC,CAAC,CACvE,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -2,7 +2,10 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", {
|
|
3
3
|
value: true
|
|
4
4
|
});
|
|
5
|
-
exports
|
|
5
|
+
Object.defineProperty(exports, "suppressRemoteDebuggingErrorMiddleware", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: ()=>suppressRemoteDebuggingErrorMiddleware
|
|
8
|
+
});
|
|
6
9
|
function suppressRemoteDebuggingErrorMiddleware(req, res, next) {
|
|
7
10
|
var ref;
|
|
8
11
|
if ((ref = req.url) == null ? void 0 : ref.match(/\/debugger-ui\/.+\.map$/)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/start/server/middleware/suppressErrorMiddleware.ts"],"sourcesContent":["import type { IncomingMessage, ServerResponse } from 'http';\n\n// Middleware to suppress `EISDIR` error when opening javascript inspector in remote debugging.\n// A workaround for https://github.com/facebook/react-native/issues/28844\n// The root cause is that metro cannot serve sourcemap requests for /debugger-ui/\nexport function suppressRemoteDebuggingErrorMiddleware(\n req: IncomingMessage,\n res: ServerResponse,\n next: (err?: Error) => void\n) {\n if (req.url?.match(/\\/debugger-ui\\/.+\\.map$/)) {\n res.writeHead(404);\n res.end('Sourcemap for /debugger-ui/ is not supported.');\n return;\n }\n next();\n}\n"],"names":["suppressRemoteDebuggingErrorMiddleware","req","res","next","url","match","writeHead","end"],"mappings":"AAAA
|
|
1
|
+
{"version":3,"sources":["../../../../../src/start/server/middleware/suppressErrorMiddleware.ts"],"sourcesContent":["import type { IncomingMessage, ServerResponse } from 'http';\n\n// Middleware to suppress `EISDIR` error when opening javascript inspector in remote debugging.\n// A workaround for https://github.com/facebook/react-native/issues/28844\n// The root cause is that metro cannot serve sourcemap requests for /debugger-ui/\nexport function suppressRemoteDebuggingErrorMiddleware(\n req: IncomingMessage,\n res: ServerResponse,\n next: (err?: Error) => void\n) {\n if (req.url?.match(/\\/debugger-ui\\/.+\\.map$/)) {\n res.writeHead(404);\n res.end('Sourcemap for /debugger-ui/ is not supported.');\n return;\n }\n next();\n}\n"],"names":["suppressRemoteDebuggingErrorMiddleware","req","res","next","url","match","writeHead","end"],"mappings":"AAAA;;;;+BAKgBA,wCAAsC;;aAAtCA,sCAAsC;;AAA/C,SAASA,sCAAsC,CACpDC,GAAoB,EACpBC,GAAmB,EACnBC,IAA2B,EAC3B;QACIF,GAAO;IAAX,IAAIA,CAAAA,GAAO,GAAPA,GAAG,CAACG,GAAG,SAAO,GAAdH,KAAAA,CAAc,GAAdA,GAAO,CAAEI,KAAK,2BAA2B,EAAE;QAC7CH,GAAG,CAACI,SAAS,CAAC,GAAG,CAAC,CAAC;QACnBJ,GAAG,CAACK,GAAG,CAAC,+CAA+C,CAAC,CAAC;QACzD,OAAO;IACT,CAAC;IACDJ,IAAI,EAAE,CAAC;AACT,CAAC"}
|
|
@@ -2,8 +2,11 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", {
|
|
3
3
|
value: true
|
|
4
4
|
});
|
|
5
|
-
exports
|
|
6
|
-
|
|
5
|
+
Object.defineProperty(exports, "openPlatformsAsync", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: ()=>openPlatformsAsync
|
|
8
|
+
});
|
|
9
|
+
const _errors = require("../../utils/errors");
|
|
7
10
|
async function openPlatformsAsync(devServerManager, options) {
|
|
8
11
|
const results = await Promise.allSettled([
|
|
9
12
|
options.android ? devServerManager.getDefaultDevServer().openPlatformAsync("emulator") : null,
|
|
@@ -13,12 +16,10 @@ async function openPlatformsAsync(devServerManager, options) {
|
|
|
13
16
|
return (ref = devServerManager.getWebDevServer()) == null ? void 0 : ref.openPlatformAsync("desktop");
|
|
14
17
|
}) : null,
|
|
15
18
|
]);
|
|
16
|
-
const errors = results.map((result)=>result.status === "rejected" ? result.reason : null
|
|
17
|
-
).filter(Boolean);
|
|
19
|
+
const errors = results.map((result)=>result.status === "rejected" ? result.reason : null).filter(Boolean);
|
|
18
20
|
if (errors.length) {
|
|
19
21
|
// ctrl+c
|
|
20
|
-
const isEscapedError = errors.some((error)=>error.code === "ABORTED"
|
|
21
|
-
);
|
|
22
|
+
const isEscapedError = errors.some((error)=>error.code === "ABORTED");
|
|
22
23
|
if (isEscapedError) {
|
|
23
24
|
throw new _errors.AbortCommandError();
|
|
24
25
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/start/server/openPlatforms.ts"],"sourcesContent":["import { DevServerManager } from './DevServerManager';\nimport { AbortCommandError } from '../../utils/errors';\nimport { Options } from '../resolveOptions';\n\n/** Launch the app on various platforms in parallel. */\nexport async function openPlatformsAsync(\n devServerManager: DevServerManager,\n options: Pick<Options, 'ios' | 'android' | 'web'>\n) {\n const results = await Promise.allSettled([\n options.android ? devServerManager.getDefaultDevServer().openPlatformAsync('emulator') : null,\n options.ios ? devServerManager.getDefaultDevServer().openPlatformAsync('simulator') : null,\n options.web\n ? devServerManager\n .ensureWebDevServerRunningAsync()\n .then(() => devServerManager.getWebDevServer()?.openPlatformAsync('desktop'))\n : null,\n ]);\n\n const errors = results\n .map((result) => (result.status === 'rejected' ? result.reason : null))\n .filter(Boolean);\n\n if (errors.length) {\n // ctrl+c\n const isEscapedError = errors.some((error: any) => error.code === 'ABORTED');\n if (isEscapedError) {\n throw new AbortCommandError();\n }\n throw errors[0];\n }\n\n return !!options.android || !!options.ios;\n}\n"],"names":["openPlatformsAsync","devServerManager","options","results","Promise","allSettled","android","getDefaultDevServer","openPlatformAsync","ios","web","ensureWebDevServerRunningAsync","then","getWebDevServer","errors","map","result","status","reason","filter","Boolean","length","isEscapedError","some","error","code","AbortCommandError"],"mappings":"AAAA
|
|
1
|
+
{"version":3,"sources":["../../../../src/start/server/openPlatforms.ts"],"sourcesContent":["import { DevServerManager } from './DevServerManager';\nimport { AbortCommandError } from '../../utils/errors';\nimport { Options } from '../resolveOptions';\n\n/** Launch the app on various platforms in parallel. */\nexport async function openPlatformsAsync(\n devServerManager: DevServerManager,\n options: Pick<Options, 'ios' | 'android' | 'web'>\n) {\n const results = await Promise.allSettled([\n options.android ? devServerManager.getDefaultDevServer().openPlatformAsync('emulator') : null,\n options.ios ? devServerManager.getDefaultDevServer().openPlatformAsync('simulator') : null,\n options.web\n ? devServerManager\n .ensureWebDevServerRunningAsync()\n .then(() => devServerManager.getWebDevServer()?.openPlatformAsync('desktop'))\n : null,\n ]);\n\n const errors = results\n .map((result) => (result.status === 'rejected' ? result.reason : null))\n .filter(Boolean);\n\n if (errors.length) {\n // ctrl+c\n const isEscapedError = errors.some((error: any) => error.code === 'ABORTED');\n if (isEscapedError) {\n throw new AbortCommandError();\n }\n throw errors[0];\n }\n\n return !!options.android || !!options.ios;\n}\n"],"names":["openPlatformsAsync","devServerManager","options","results","Promise","allSettled","android","getDefaultDevServer","openPlatformAsync","ios","web","ensureWebDevServerRunningAsync","then","getWebDevServer","errors","map","result","status","reason","filter","Boolean","length","isEscapedError","some","error","code","AbortCommandError"],"mappings":"AAAA;;;;+BAKsBA,oBAAkB;;aAAlBA,kBAAkB;;wBAJN,oBAAoB;AAI/C,eAAeA,kBAAkB,CACtCC,gBAAkC,EAClCC,OAAiD,EACjD;IACA,MAAMC,OAAO,GAAG,MAAMC,OAAO,CAACC,UAAU,CAAC;QACvCH,OAAO,CAACI,OAAO,GAAGL,gBAAgB,CAACM,mBAAmB,EAAE,CAACC,iBAAiB,CAAC,UAAU,CAAC,GAAG,IAAI;QAC7FN,OAAO,CAACO,GAAG,GAAGR,gBAAgB,CAACM,mBAAmB,EAAE,CAACC,iBAAiB,CAAC,WAAW,CAAC,GAAG,IAAI;QAC1FN,OAAO,CAACQ,GAAG,GACPT,gBAAgB,CACbU,8BAA8B,EAAE,CAChCC,IAAI,CAAC;gBAAMX,GAAkC;YAAlCA,OAAAA,CAAAA,GAAkC,GAAlCA,gBAAgB,CAACY,eAAe,EAAE,SAAmB,GAArDZ,KAAAA,CAAqD,GAArDA,GAAkC,CAAEO,iBAAiB,CAAC,SAAS,CAAC,CAAA;SAAA,CAAC,GAC/E,IAAI;KACT,CAAC,AAAC;IAEH,MAAMM,MAAM,GAAGX,OAAO,CACnBY,GAAG,CAAC,CAACC,MAAM,GAAMA,MAAM,CAACC,MAAM,KAAK,UAAU,GAAGD,MAAM,CAACE,MAAM,GAAG,IAAI,AAAC,CAAC,CACtEC,MAAM,CAACC,OAAO,CAAC,AAAC;IAEnB,IAAIN,MAAM,CAACO,MAAM,EAAE;QACjB,SAAS;QACT,MAAMC,cAAc,GAAGR,MAAM,CAACS,IAAI,CAAC,CAACC,KAAU,GAAKA,KAAK,CAACC,IAAI,KAAK,SAAS,CAAC,AAAC;QAC7E,IAAIH,cAAc,EAAE;YAClB,MAAM,IAAII,OAAiB,kBAAA,EAAE,CAAC;QAChC,CAAC;QACD,MAAMZ,MAAM,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,OAAO,CAAC,CAACZ,OAAO,CAACI,OAAO,IAAI,CAAC,CAACJ,OAAO,CAACO,GAAG,CAAC;AAC5C,CAAC"}
|
|
@@ -2,9 +2,12 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", {
|
|
3
3
|
value: true
|
|
4
4
|
});
|
|
5
|
-
exports
|
|
5
|
+
Object.defineProperty(exports, "getPlatformBundlers", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: ()=>getPlatformBundlers
|
|
8
|
+
});
|
|
6
9
|
function _resolveFrom() {
|
|
7
|
-
const data = _interopRequireDefault(require("resolve-from"));
|
|
10
|
+
const data = /*#__PURE__*/ _interopRequireDefault(require("resolve-from"));
|
|
8
11
|
_resolveFrom = function() {
|
|
9
12
|
return data;
|
|
10
13
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/start/server/platformBundlers.ts"],"sourcesContent":["import { ExpoConfig, Platform } from '@expo/config';\nimport resolveFrom from 'resolve-from';\n\n/** Which bundler each platform should use. */\nexport type PlatformBundlers = Record<Platform, 'metro' | 'webpack'>;\n\n/** Get the platform bundlers mapping. */\nexport function getPlatformBundlers(\n projectRoot: string,\n exp: Partial<ExpoConfig>\n): PlatformBundlers {\n /**\n * SDK 50+: The web bundler is dynamic based upon the presence of the `@expo/webpack-config` package.\n */\n let web = exp.web?.bundler;\n if (!web) {\n const resolved = resolveFrom.silent(projectRoot, '@expo/webpack-config/package.json');\n web = resolved ? 'webpack' : 'metro';\n }\n\n return {\n // @ts-expect-error: not on type yet\n ios: exp.ios?.bundler ?? 'metro',\n // @ts-expect-error: not on type yet\n android: exp.android?.bundler ?? 'metro',\n web,\n };\n}\n"],"names":["getPlatformBundlers","projectRoot","exp","web","bundler","resolved","resolveFrom","silent","ios","android"],"mappings":"AAAA
|
|
1
|
+
{"version":3,"sources":["../../../../src/start/server/platformBundlers.ts"],"sourcesContent":["import { ExpoConfig, Platform } from '@expo/config';\nimport resolveFrom from 'resolve-from';\n\n/** Which bundler each platform should use. */\nexport type PlatformBundlers = Record<Platform, 'metro' | 'webpack'>;\n\n/** Get the platform bundlers mapping. */\nexport function getPlatformBundlers(\n projectRoot: string,\n exp: Partial<ExpoConfig>\n): PlatformBundlers {\n /**\n * SDK 50+: The web bundler is dynamic based upon the presence of the `@expo/webpack-config` package.\n */\n let web = exp.web?.bundler;\n if (!web) {\n const resolved = resolveFrom.silent(projectRoot, '@expo/webpack-config/package.json');\n web = resolved ? 'webpack' : 'metro';\n }\n\n return {\n // @ts-expect-error: not on type yet\n ios: exp.ios?.bundler ?? 'metro',\n // @ts-expect-error: not on type yet\n android: exp.android?.bundler ?? 'metro',\n web,\n };\n}\n"],"names":["getPlatformBundlers","projectRoot","exp","web","bundler","resolved","resolveFrom","silent","ios","android"],"mappings":"AAAA;;;;+BAOgBA,qBAAmB;;aAAnBA,mBAAmB;;;8DANX,cAAc;;;;;;;;;;;AAM/B,SAASA,mBAAmB,CACjCC,WAAmB,EACnBC,GAAwB,EACN;QAIRA,GAAO,EAQVA,IAAO,EAEHA,IAAW;IAbtB;;GAEC,GACD,IAAIC,GAAG,GAAGD,CAAAA,GAAO,GAAPA,GAAG,CAACC,GAAG,SAAS,GAAhBD,KAAAA,CAAgB,GAAhBA,GAAO,CAAEE,OAAO,AAAC;IAC3B,IAAI,CAACD,GAAG,EAAE;QACR,MAAME,QAAQ,GAAGC,YAAW,EAAA,QAAA,CAACC,MAAM,CAACN,WAAW,EAAE,mCAAmC,CAAC,AAAC;QACtFE,GAAG,GAAGE,QAAQ,GAAG,SAAS,GAAG,OAAO,CAAC;IACvC,CAAC;QAIMH,IAAgB,EAEZA,IAAoB;IAJ/B,OAAO;QACL,oCAAoC;QACpCM,GAAG,EAAEN,CAAAA,IAAgB,GAAhBA,CAAAA,IAAO,GAAPA,GAAG,CAACM,GAAG,SAAS,GAAhBN,KAAAA,CAAgB,GAAhBA,IAAO,CAAEE,OAAO,YAAhBF,IAAgB,GAAI,OAAO;QAChC,oCAAoC;QACpCO,OAAO,EAAEP,CAAAA,IAAoB,GAApBA,CAAAA,IAAW,GAAXA,GAAG,CAACO,OAAO,SAAS,GAApBP,KAAAA,CAAoB,GAApBA,IAAW,CAAEE,OAAO,YAApBF,IAAoB,GAAI,OAAO;QACxCC,GAAG;KACJ,CAAC;AACJ,CAAC"}
|
|
@@ -1,10 +1,23 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Copyright © 2024 650 Industries.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/ "use strict";
|
|
2
7
|
Object.defineProperty(exports, "__esModule", {
|
|
3
8
|
value: true
|
|
4
9
|
});
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
10
|
+
function _export(target, all) {
|
|
11
|
+
for(var name in all)Object.defineProperty(target, name, {
|
|
12
|
+
enumerable: true,
|
|
13
|
+
get: all[name]
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
_export(exports, {
|
|
17
|
+
logLikeMetro: ()=>logLikeMetro,
|
|
18
|
+
formatStackLikeMetro: ()=>formatStackLikeMetro,
|
|
19
|
+
augmentLogs: ()=>augmentLogs
|
|
20
|
+
});
|
|
8
21
|
function _metroConfig() {
|
|
9
22
|
const data = require("@expo/metro-config");
|
|
10
23
|
_metroConfig = function() {
|
|
@@ -13,53 +26,71 @@ function _metroConfig() {
|
|
|
13
26
|
return data;
|
|
14
27
|
}
|
|
15
28
|
function _chalk() {
|
|
16
|
-
const data = _interopRequireDefault(require("chalk"));
|
|
29
|
+
const data = /*#__PURE__*/ _interopRequireDefault(require("chalk"));
|
|
17
30
|
_chalk = function() {
|
|
18
31
|
return data;
|
|
19
32
|
};
|
|
20
33
|
return data;
|
|
21
34
|
}
|
|
22
35
|
function _path() {
|
|
23
|
-
const data = _interopRequireDefault(require("path"));
|
|
36
|
+
const data = /*#__PURE__*/ _interopRequireDefault(require("path"));
|
|
24
37
|
_path = function() {
|
|
25
38
|
return data;
|
|
26
39
|
};
|
|
27
40
|
return data;
|
|
28
41
|
}
|
|
29
|
-
function
|
|
30
|
-
const data = _interopRequireWildcard(require("stacktrace-parser"));
|
|
31
|
-
|
|
42
|
+
function _stacktraceParser() {
|
|
43
|
+
const data = /*#__PURE__*/ _interopRequireWildcard(require("stacktrace-parser"));
|
|
44
|
+
_stacktraceParser = function() {
|
|
32
45
|
return data;
|
|
33
46
|
};
|
|
34
47
|
return data;
|
|
35
48
|
}
|
|
36
|
-
|
|
37
|
-
|
|
49
|
+
const _env = require("../../utils/env");
|
|
50
|
+
const _fn = require("../../utils/fn");
|
|
38
51
|
function _interopRequireDefault(obj) {
|
|
39
52
|
return obj && obj.__esModule ? obj : {
|
|
40
53
|
default: obj
|
|
41
54
|
};
|
|
42
55
|
}
|
|
43
|
-
function
|
|
44
|
-
if (
|
|
56
|
+
function _getRequireWildcardCache(nodeInterop) {
|
|
57
|
+
if (typeof WeakMap !== "function") return null;
|
|
58
|
+
var cacheBabelInterop = new WeakMap();
|
|
59
|
+
var cacheNodeInterop = new WeakMap();
|
|
60
|
+
return (_getRequireWildcardCache = function(nodeInterop) {
|
|
61
|
+
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
|
62
|
+
})(nodeInterop);
|
|
63
|
+
}
|
|
64
|
+
function _interopRequireWildcard(obj, nodeInterop) {
|
|
65
|
+
if (!nodeInterop && obj && obj.__esModule) {
|
|
45
66
|
return obj;
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
67
|
+
}
|
|
68
|
+
if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
|
|
69
|
+
return {
|
|
70
|
+
default: obj
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
var cache = _getRequireWildcardCache(nodeInterop);
|
|
74
|
+
if (cache && cache.has(obj)) {
|
|
75
|
+
return cache.get(obj);
|
|
76
|
+
}
|
|
77
|
+
var newObj = {};
|
|
78
|
+
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
79
|
+
for(var key in obj){
|
|
80
|
+
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
81
|
+
var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
|
|
82
|
+
if (desc && (desc.get || desc.set)) {
|
|
83
|
+
Object.defineProperty(newObj, key, desc);
|
|
84
|
+
} else {
|
|
85
|
+
newObj[key] = obj[key];
|
|
58
86
|
}
|
|
59
87
|
}
|
|
60
|
-
newObj.default = obj;
|
|
61
|
-
return newObj;
|
|
62
88
|
}
|
|
89
|
+
newObj.default = obj;
|
|
90
|
+
if (cache) {
|
|
91
|
+
cache.set(obj, newObj);
|
|
92
|
+
}
|
|
93
|
+
return newObj;
|
|
63
94
|
}
|
|
64
95
|
const groupStack = [];
|
|
65
96
|
let collapsedGuardTimer;
|
|
@@ -114,7 +145,7 @@ function augmentLogsInternal(projectRoot) {
|
|
|
114
145
|
if (name === "error" || name === "warn") {
|
|
115
146
|
args.push("\n" + formatStackLikeMetro(projectRoot, stack));
|
|
116
147
|
}
|
|
117
|
-
logLikeMetro(originalFn, name, "
|
|
148
|
+
logLikeMetro(originalFn, name, "λ", ...args);
|
|
118
149
|
} else {
|
|
119
150
|
originalFn(...args);
|
|
120
151
|
}
|
|
@@ -140,10 +171,9 @@ function augmentLogsInternal(projectRoot) {
|
|
|
140
171
|
function formatStackLikeMetro(projectRoot, stack) {
|
|
141
172
|
// Remove `Error: ` from the beginning of the stack trace.
|
|
142
173
|
// Dim traces that match `INTERNAL_CALLSITES_REGEX`
|
|
143
|
-
const stackTrace =
|
|
174
|
+
const stackTrace = _stacktraceParser().parse(stack);
|
|
144
175
|
return stackTrace.filter((line)=>line.file && line.file !== "<anonymous>" && // Ignore unsymbolicated stack frames. It's not clear how this is possible but it sometimes happens when the graph changes.
|
|
145
|
-
!/^https?:\/\//.test(line.file)
|
|
146
|
-
).map((line)=>{
|
|
176
|
+
!/^https?:\/\//.test(line.file)).map((line)=>{
|
|
147
177
|
// Use the same regex we use in Metro config to filter out traces:
|
|
148
178
|
const isCollapsed = _metroConfig().INTERNAL_CALLSITES_REGEX.test(line.file);
|
|
149
179
|
if (isCollapsed && !_env.env.EXPO_DEBUG) {
|
|
@@ -165,7 +195,6 @@ function formatStackLikeMetro(projectRoot, stack) {
|
|
|
165
195
|
return style(` ${line.methodName} (${fileName})`);
|
|
166
196
|
}).filter(Boolean).join("\n");
|
|
167
197
|
}
|
|
168
|
-
const augmentLogs = (0, _fn
|
|
169
|
-
exports.augmentLogs = augmentLogs;
|
|
198
|
+
const augmentLogs = (0, _fn.memoize)(augmentLogsInternal);
|
|
170
199
|
|
|
171
200
|
//# sourceMappingURL=serverLogLikeMetro.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/start/server/serverLogLikeMetro.ts"],"sourcesContent":["/**\n * Copyright © 2024 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 { INTERNAL_CALLSITES_REGEX } from '@expo/metro-config';\nimport chalk from 'chalk';\nimport path from 'path';\nimport * as stackTraceParser from 'stacktrace-parser';\n\nimport { env } from '../../utils/env';\nimport { memoize } from '../../utils/fn';\n\nconst groupStack: any = [];\nlet collapsedGuardTimer: ReturnType<typeof setTimeout> | undefined;\n\nexport function logLikeMetro(\n originalLogFunction: (...args: any[]) => void,\n level: string,\n platform: string,\n ...data: any[]\n) {\n // @ts-expect-error\n const logFunction = console[level] && level !== 'trace' ? level : 'log';\n const color =\n level === 'error'\n ? chalk.inverse.red\n : level === 'warn'\n ? chalk.inverse.yellow\n : chalk.inverse.white;\n\n if (level === 'group') {\n groupStack.push(level);\n } else if (level === 'groupCollapsed') {\n groupStack.push(level);\n clearTimeout(collapsedGuardTimer);\n // Inform users that logs get swallowed if they forget to call `groupEnd`.\n collapsedGuardTimer = setTimeout(() => {\n if (groupStack.includes('groupCollapsed')) {\n originalLogFunction(\n chalk.inverse.yellow.bold(' WARN '),\n 'Expected `console.groupEnd` to be called after `console.groupCollapsed`.'\n );\n groupStack.length = 0;\n }\n }, 3000);\n return;\n } else if (level === 'groupEnd') {\n groupStack.pop();\n if (!groupStack.length) {\n clearTimeout(collapsedGuardTimer);\n }\n return;\n }\n\n if (!groupStack.includes('groupCollapsed')) {\n // Remove excess whitespace at the end of a log message, if possible.\n const lastItem = data[data.length - 1];\n if (typeof lastItem === 'string') {\n data[data.length - 1] = lastItem.trimEnd();\n }\n\n const modePrefix = chalk.bold`${platform}`;\n originalLogFunction(\n modePrefix +\n ' ' +\n color.bold(` ${logFunction.toUpperCase()} `) +\n ''.padEnd(groupStack.length * 2, ' '),\n ...data\n );\n }\n}\n\nconst escapedPathSep = path.sep === '\\\\' ? '\\\\\\\\' : path.sep;\nconst SERVER_STACK_MATCHER = new RegExp(\n `${escapedPathSep}(react-dom|metro-runtime|expo-router)${escapedPathSep}`\n);\n\nfunction augmentLogsInternal(projectRoot: string) {\n const augmentLog = (name: string, fn: typeof console.log) => {\n // @ts-expect-error: TypeScript doesn't know about polyfilled functions.\n if (fn.__polyfilled) {\n return fn;\n }\n const originalFn = fn.bind(console);\n function logWithStack(...args: any[]) {\n const stack = new Error().stack;\n // Check if the log originates from the server.\n const isServerLog = !!stack?.match(SERVER_STACK_MATCHER);\n if (isServerLog) {\n if (name === 'error' || name === 'warn') {\n args.push('\\n' + formatStackLikeMetro(projectRoot, stack!));\n }\n logLikeMetro(originalFn, name, 'λ', ...args);\n } else {\n originalFn(...args);\n }\n }\n logWithStack.__polyfilled = true;\n return logWithStack;\n };\n\n ['trace', 'info', 'error', 'warn', 'log', 'group', 'groupCollapsed', 'groupEnd', 'debug'].forEach(\n (name) => {\n // @ts-expect-error\n console[name] = augmentLog(name, console[name]);\n }\n );\n}\n\nexport function formatStackLikeMetro(projectRoot: string, stack: string) {\n // Remove `Error: ` from the beginning of the stack trace.\n // Dim traces that match `INTERNAL_CALLSITES_REGEX`\n\n const stackTrace = stackTraceParser.parse(stack);\n return stackTrace\n .filter(\n (line) =>\n line.file &&\n line.file !== '<anonymous>' &&\n // Ignore unsymbolicated stack frames. It's not clear how this is possible but it sometimes happens when the graph changes.\n !/^https?:\\/\\//.test(line.file)\n )\n .map((line) => {\n // Use the same regex we use in Metro config to filter out traces:\n const isCollapsed = INTERNAL_CALLSITES_REGEX.test(line.file!);\n if (isCollapsed && !env.EXPO_DEBUG) {\n return null;\n }\n // If a file is collapsed, print it with dim styling.\n const style = isCollapsed ? chalk.dim : chalk.gray;\n // Use the `at` prefix to match Node.js\n let fileName = line.file!;\n if (fileName.startsWith(path.sep)) {\n fileName = path.relative(projectRoot, fileName);\n }\n if (line.lineNumber != null) {\n fileName += `:${line.lineNumber}`;\n if (line.column != null) {\n fileName += `:${line.column}`;\n }\n }\n\n return style(` ${line.methodName} (${fileName})`);\n })\n .filter(Boolean)\n .join('\\n');\n}\n\n/** Augment console logs to check the stack trace and format like Metro logs if we think the log came from the SSR renderer or an API route. */\nexport const augmentLogs = memoize(augmentLogsInternal);\n"],"names":["logLikeMetro","formatStackLikeMetro","stackTraceParser","groupStack","collapsedGuardTimer","originalLogFunction","level","platform","data","logFunction","console","color","chalk","inverse","red","yellow","white","push","clearTimeout","setTimeout","includes","bold","length","pop","lastItem","trimEnd","modePrefix","toUpperCase","padEnd","escapedPathSep","path","sep","SERVER_STACK_MATCHER","RegExp","augmentLogsInternal","projectRoot","augmentLog","name","fn","__polyfilled","originalFn","bind","logWithStack","args","stack","Error","isServerLog","match","forEach","stackTrace","parse","filter","line","file","test","map","isCollapsed","INTERNAL_CALLSITES_REGEX","env","EXPO_DEBUG","style","dim","gray","fileName","startsWith","relative","lineNumber","column","methodName","Boolean","join","augmentLogs","memoize"],"mappings":"AAMA;;;;QAWgBA,YAAY,GAAZA,YAAY;QA8FZC,oBAAoB,GAApBA,oBAAoB;;SAzGK,YAAoB;yBAApB,oBAAoB;IAApB,YAAoB;;;;;SAC3C,MAAO;gDAAP,OAAO;IAAP,MAAO;;;;;SACR,KAAM;gDAAN,MAAM;IAAN,KAAM;;;;;SACXC,gBAAgB;iDAAM,mBAAmB;IAAzCA,gBAAgB;;;;;AAER,IAAA,IAAiB,WAAjB,iBAAiB,CAAA;AACb,IAAA,GAAgB,WAAhB,gBAAgB,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;AAExC,MAAMC,UAAU,GAAQ,EAAE,AAAC;AAC3B,IAAIC,mBAAmB,AAA2C,AAAC;AAE5D,SAASJ,YAAY,CAC1BK,mBAA6C,EAC7CC,KAAa,EACbC,QAAgB,EAChB,GAAGC,IAAI,AAAO,EACd;IACA,mBAAmB;IACnB,MAAMC,WAAW,GAAGC,OAAO,CAACJ,KAAK,CAAC,IAAIA,KAAK,KAAK,OAAO,GAAGA,KAAK,GAAG,KAAK,AAAC;IACxE,MAAMK,KAAK,GACTL,KAAK,KAAK,OAAO,GACbM,MAAK,UAAA,CAACC,OAAO,CAACC,GAAG,GACjBR,KAAK,KAAK,MAAM,GACdM,MAAK,UAAA,CAACC,OAAO,CAACE,MAAM,GACpBH,MAAK,UAAA,CAACC,OAAO,CAACG,KAAK,AAAC;IAE5B,IAAIV,KAAK,KAAK,OAAO,EAAE;QACrBH,UAAU,CAACc,IAAI,CAACX,KAAK,CAAC,CAAC;KACxB,MAAM,IAAIA,KAAK,KAAK,gBAAgB,EAAE;QACrCH,UAAU,CAACc,IAAI,CAACX,KAAK,CAAC,CAAC;QACvBY,YAAY,CAACd,mBAAmB,CAAC,CAAC;QAClC,0EAA0E;QAC1EA,mBAAmB,GAAGe,UAAU,CAAC,IAAM;YACrC,IAAIhB,UAAU,CAACiB,QAAQ,CAAC,gBAAgB,CAAC,EAAE;gBACzCf,mBAAmB,CACjBO,MAAK,UAAA,CAACC,OAAO,CAACE,MAAM,CAACM,IAAI,CAAC,QAAQ,CAAC,EACnC,0EAA0E,CAC3E,CAAC;gBACFlB,UAAU,CAACmB,MAAM,GAAG,CAAC,CAAC;aACvB;SACF,EAAE,IAAI,CAAC,CAAC;QACT,OAAO;KACR,MAAM,IAAIhB,KAAK,KAAK,UAAU,EAAE;QAC/BH,UAAU,CAACoB,GAAG,EAAE,CAAC;QACjB,IAAI,CAACpB,UAAU,CAACmB,MAAM,EAAE;YACtBJ,YAAY,CAACd,mBAAmB,CAAC,CAAC;SACnC;QACD,OAAO;KACR;IAED,IAAI,CAACD,UAAU,CAACiB,QAAQ,CAAC,gBAAgB,CAAC,EAAE;QAC1C,qEAAqE;QACrE,MAAMI,QAAQ,GAAGhB,IAAI,CAACA,IAAI,CAACc,MAAM,GAAG,CAAC,CAAC,AAAC;QACvC,IAAI,OAAOE,QAAQ,KAAK,QAAQ,EAAE;YAChChB,IAAI,CAACA,IAAI,CAACc,MAAM,GAAG,CAAC,CAAC,GAAGE,QAAQ,CAACC,OAAO,EAAE,CAAC;SAC5C;QAED,MAAMC,UAAU,GAAGd,MAAK,UAAA,CAACS,IAAI,CAAC,EAAEd,QAAQ,CAAC,CAAC,AAAC;QAC3CF,mBAAmB,CACjBqB,UAAU,GACR,GAAG,GACHf,KAAK,CAACU,IAAI,CAAC,CAAC,CAAC,EAAEZ,WAAW,CAACkB,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,GAC5C,EAAE,CAACC,MAAM,CAACzB,UAAU,CAACmB,MAAM,GAAG,CAAC,EAAE,GAAG,CAAC,KACpCd,IAAI,CACR,CAAC;KACH;CACF;AAED,MAAMqB,cAAc,GAAGC,KAAI,UAAA,CAACC,GAAG,KAAK,IAAI,GAAG,MAAM,GAAGD,KAAI,UAAA,CAACC,GAAG,AAAC;AAC7D,MAAMC,oBAAoB,GAAG,IAAIC,MAAM,CACrC,CAAC,EAAEJ,cAAc,CAAC,qCAAqC,EAAEA,cAAc,CAAC,CAAC,CAC1E,AAAC;AAEF,SAASK,mBAAmB,CAACC,WAAmB,EAAE;IAChD,MAAMC,UAAU,GAAG,CAACC,IAAY,EAAEC,EAAsB,GAAK;QAC3D,wEAAwE;QACxE,IAAIA,EAAE,CAACC,YAAY,EAAE;YACnB,OAAOD,EAAE,CAAC;SACX;QACD,MAAME,UAAU,GAAGF,EAAE,CAACG,IAAI,CAAC/B,OAAO,CAAC,AAAC;QACpC,SAASgC,YAAY,CAAC,GAAGC,IAAI,AAAO,EAAE;YACpC,MAAMC,KAAK,GAAG,IAAIC,KAAK,EAAE,CAACD,KAAK,AAAC;YAChC,+CAA+C;YAC/C,MAAME,WAAW,GAAG,CAAC,EAACF,KAAK,QAAO,GAAZA,KAAAA,CAAY,GAAZA,KAAK,CAAEG,KAAK,CAACf,oBAAoB,CAAC,CAAA,AAAC;YACzD,IAAIc,WAAW,EAAE;gBACf,IAAIT,IAAI,KAAK,OAAO,IAAIA,IAAI,KAAK,MAAM,EAAE;oBACvCM,IAAI,CAAC1B,IAAI,CAAC,IAAI,GAAGhB,oBAAoB,CAACkC,WAAW,EAAES,KAAK,CAAE,CAAC,CAAC;iBAC7D;gBACD5C,YAAY,CAACwC,UAAU,EAAEH,IAAI,EAAE,QAAG,KAAKM,IAAI,CAAC,CAAC;aAC9C,MAAM;gBACLH,UAAU,IAAIG,IAAI,CAAC,CAAC;aACrB;SACF;QACDD,YAAY,CAACH,YAAY,GAAG,IAAI,CAAC;QACjC,OAAOG,YAAY,CAAC;KACrB,AAAC;IAEF;QAAC,OAAO;QAAE,MAAM;QAAE,OAAO;QAAE,MAAM;QAAE,KAAK;QAAE,OAAO;QAAE,gBAAgB;QAAE,UAAU;QAAE,OAAO;KAAC,CAACM,OAAO,CAC/F,CAACX,IAAI,GAAK;QACR,mBAAmB;QACnB3B,OAAO,CAAC2B,IAAI,CAAC,GAAGD,UAAU,CAACC,IAAI,EAAE3B,OAAO,CAAC2B,IAAI,CAAC,CAAC,CAAC;KACjD,CACF,CAAC;CACH;AAEM,SAASpC,oBAAoB,CAACkC,WAAmB,EAAES,KAAa,EAAE;IACvE,0DAA0D;IAC1D,mDAAmD;IAEnD,MAAMK,UAAU,GAAG/C,gBAAgB,GAACgD,KAAK,CAACN,KAAK,CAAC,AAAC;IACjD,OAAOK,UAAU,CACdE,MAAM,CACL,CAACC,IAAI,GACHA,IAAI,CAACC,IAAI,IACTD,IAAI,CAACC,IAAI,KAAK,aAAa,IAC3B,2HAA2H;QAC3H,CAAC,eAAeC,IAAI,CAACF,IAAI,CAACC,IAAI,CAAC;IAAA,CAClC,CACAE,GAAG,CAAC,CAACH,IAAI,GAAK;QACb,kEAAkE;QAClE,MAAMI,WAAW,GAAGC,YAAwB,2BAAA,CAACH,IAAI,CAACF,IAAI,CAACC,IAAI,CAAE,AAAC;QAC9D,IAAIG,WAAW,IAAI,CAACE,IAAG,IAAA,CAACC,UAAU,EAAE;YAClC,OAAO,IAAI,CAAC;SACb;QACD,qDAAqD;QACrD,MAAMC,KAAK,GAAGJ,WAAW,GAAG5C,MAAK,UAAA,CAACiD,GAAG,GAAGjD,MAAK,UAAA,CAACkD,IAAI,AAAC;QACnD,uCAAuC;QACvC,IAAIC,QAAQ,GAAGX,IAAI,CAACC,IAAI,AAAC,AAAC;QAC1B,IAAIU,QAAQ,CAACC,UAAU,CAAClC,KAAI,UAAA,CAACC,GAAG,CAAC,EAAE;YACjCgC,QAAQ,GAAGjC,KAAI,UAAA,CAACmC,QAAQ,CAAC9B,WAAW,EAAE4B,QAAQ,CAAC,CAAC;SACjD;QACD,IAAIX,IAAI,CAACc,UAAU,IAAI,IAAI,EAAE;YAC3BH,QAAQ,IAAI,CAAC,CAAC,EAAEX,IAAI,CAACc,UAAU,CAAC,CAAC,CAAC;YAClC,IAAId,IAAI,CAACe,MAAM,IAAI,IAAI,EAAE;gBACvBJ,QAAQ,IAAI,CAAC,CAAC,EAAEX,IAAI,CAACe,MAAM,CAAC,CAAC,CAAC;aAC/B;SACF;QAED,OAAOP,KAAK,CAAC,CAAC,EAAE,EAAER,IAAI,CAACgB,UAAU,CAAC,EAAE,EAAEL,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;KACpD,CAAC,CACDZ,MAAM,CAACkB,OAAO,CAAC,CACfC,IAAI,CAAC,IAAI,CAAC,CAAC;CACf;AAGM,MAAMC,WAAW,GAAGC,CAAAA,GAAAA,GAAO,AAAqB,CAAA,QAArB,CAACtC,mBAAmB,CAAC,AAAC;QAA3CqC,WAAW,GAAXA,WAAW"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/start/server/serverLogLikeMetro.ts"],"sourcesContent":["/**\n * Copyright © 2024 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 { INTERNAL_CALLSITES_REGEX } from '@expo/metro-config';\nimport chalk from 'chalk';\nimport path from 'path';\nimport * as stackTraceParser from 'stacktrace-parser';\n\nimport { env } from '../../utils/env';\nimport { memoize } from '../../utils/fn';\n\nconst groupStack: any = [];\nlet collapsedGuardTimer: ReturnType<typeof setTimeout> | undefined;\n\nexport function logLikeMetro(\n originalLogFunction: (...args: any[]) => void,\n level: string,\n platform: string,\n ...data: any[]\n) {\n // @ts-expect-error\n const logFunction = console[level] && level !== 'trace' ? level : 'log';\n const color =\n level === 'error'\n ? chalk.inverse.red\n : level === 'warn'\n ? chalk.inverse.yellow\n : chalk.inverse.white;\n\n if (level === 'group') {\n groupStack.push(level);\n } else if (level === 'groupCollapsed') {\n groupStack.push(level);\n clearTimeout(collapsedGuardTimer);\n // Inform users that logs get swallowed if they forget to call `groupEnd`.\n collapsedGuardTimer = setTimeout(() => {\n if (groupStack.includes('groupCollapsed')) {\n originalLogFunction(\n chalk.inverse.yellow.bold(' WARN '),\n 'Expected `console.groupEnd` to be called after `console.groupCollapsed`.'\n );\n groupStack.length = 0;\n }\n }, 3000);\n return;\n } else if (level === 'groupEnd') {\n groupStack.pop();\n if (!groupStack.length) {\n clearTimeout(collapsedGuardTimer);\n }\n return;\n }\n\n if (!groupStack.includes('groupCollapsed')) {\n // Remove excess whitespace at the end of a log message, if possible.\n const lastItem = data[data.length - 1];\n if (typeof lastItem === 'string') {\n data[data.length - 1] = lastItem.trimEnd();\n }\n\n const modePrefix = chalk.bold`${platform}`;\n originalLogFunction(\n modePrefix +\n ' ' +\n color.bold(` ${logFunction.toUpperCase()} `) +\n ''.padEnd(groupStack.length * 2, ' '),\n ...data\n );\n }\n}\n\nconst escapedPathSep = path.sep === '\\\\' ? '\\\\\\\\' : path.sep;\nconst SERVER_STACK_MATCHER = new RegExp(\n `${escapedPathSep}(react-dom|metro-runtime|expo-router)${escapedPathSep}`\n);\n\nfunction augmentLogsInternal(projectRoot: string) {\n const augmentLog = (name: string, fn: typeof console.log) => {\n // @ts-expect-error: TypeScript doesn't know about polyfilled functions.\n if (fn.__polyfilled) {\n return fn;\n }\n const originalFn = fn.bind(console);\n function logWithStack(...args: any[]) {\n const stack = new Error().stack;\n // Check if the log originates from the server.\n const isServerLog = !!stack?.match(SERVER_STACK_MATCHER);\n if (isServerLog) {\n if (name === 'error' || name === 'warn') {\n args.push('\\n' + formatStackLikeMetro(projectRoot, stack!));\n }\n logLikeMetro(originalFn, name, 'λ', ...args);\n } else {\n originalFn(...args);\n }\n }\n logWithStack.__polyfilled = true;\n return logWithStack;\n };\n\n ['trace', 'info', 'error', 'warn', 'log', 'group', 'groupCollapsed', 'groupEnd', 'debug'].forEach(\n (name) => {\n // @ts-expect-error\n console[name] = augmentLog(name, console[name]);\n }\n );\n}\n\nexport function formatStackLikeMetro(projectRoot: string, stack: string) {\n // Remove `Error: ` from the beginning of the stack trace.\n // Dim traces that match `INTERNAL_CALLSITES_REGEX`\n\n const stackTrace = stackTraceParser.parse(stack);\n return stackTrace\n .filter(\n (line) =>\n line.file &&\n line.file !== '<anonymous>' &&\n // Ignore unsymbolicated stack frames. It's not clear how this is possible but it sometimes happens when the graph changes.\n !/^https?:\\/\\//.test(line.file)\n )\n .map((line) => {\n // Use the same regex we use in Metro config to filter out traces:\n const isCollapsed = INTERNAL_CALLSITES_REGEX.test(line.file!);\n if (isCollapsed && !env.EXPO_DEBUG) {\n return null;\n }\n // If a file is collapsed, print it with dim styling.\n const style = isCollapsed ? chalk.dim : chalk.gray;\n // Use the `at` prefix to match Node.js\n let fileName = line.file!;\n if (fileName.startsWith(path.sep)) {\n fileName = path.relative(projectRoot, fileName);\n }\n if (line.lineNumber != null) {\n fileName += `:${line.lineNumber}`;\n if (line.column != null) {\n fileName += `:${line.column}`;\n }\n }\n\n return style(` ${line.methodName} (${fileName})`);\n })\n .filter(Boolean)\n .join('\\n');\n}\n\n/** Augment console logs to check the stack trace and format like Metro logs if we think the log came from the SSR renderer or an API route. */\nexport const augmentLogs = memoize(augmentLogsInternal);\n"],"names":["logLikeMetro","formatStackLikeMetro","augmentLogs","groupStack","collapsedGuardTimer","originalLogFunction","level","platform","data","logFunction","console","color","chalk","inverse","red","yellow","white","push","clearTimeout","setTimeout","includes","bold","length","pop","lastItem","trimEnd","modePrefix","toUpperCase","padEnd","escapedPathSep","path","sep","SERVER_STACK_MATCHER","RegExp","augmentLogsInternal","projectRoot","augmentLog","name","fn","__polyfilled","originalFn","bind","logWithStack","args","stack","Error","isServerLog","match","forEach","stackTrace","stackTraceParser","parse","filter","line","file","test","map","isCollapsed","INTERNAL_CALLSITES_REGEX","env","EXPO_DEBUG","style","dim","gray","fileName","startsWith","relative","lineNumber","column","methodName","Boolean","join","memoize"],"mappings":"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"}
|