@expo/cli 0.22.25 → 0.22.27
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 +91 -93
- package/build/bin/cli.map +1 -1
- package/build/metro-require/require.js +52 -53
- package/build/src/api/endpoint.js +2 -6
- package/build/src/api/endpoint.js.map +1 -1
- package/build/src/api/getExpoGoIntermediateCertificate.js +3 -5
- package/build/src/api/getExpoGoIntermediateCertificate.js.map +1 -1
- package/build/src/api/getExpoSchema.js +12 -16
- package/build/src/api/getExpoSchema.js.map +1 -1
- package/build/src/api/getNativeModuleVersions.js +4 -6
- package/build/src/api/getNativeModuleVersions.js.map +1 -1
- package/build/src/api/getProjectDevelopmentCertificate.js +3 -5
- package/build/src/api/getProjectDevelopmentCertificate.js.map +1 -1
- package/build/src/api/getVersions.js +5 -7
- package/build/src/api/getVersions.js.map +1 -1
- package/build/src/api/graphql/client.js +26 -32
- package/build/src/api/graphql/client.js.map +1 -1
- package/build/src/api/graphql/queries/AppQuery.js +4 -6
- package/build/src/api/graphql/queries/AppQuery.js.map +1 -1
- package/build/src/api/graphql/queries/UserQuery.js +3 -5
- package/build/src/api/graphql/queries/UserQuery.js.map +1 -1
- package/build/src/api/graphql/types/App.js +1 -3
- package/build/src/api/graphql/types/App.js.map +1 -1
- package/build/src/api/rest/cache/FileSystemResponseCache.js +8 -10
- package/build/src/api/rest/cache/FileSystemResponseCache.js.map +1 -1
- package/build/src/api/rest/cache/ResponseCache.js +12 -20
- package/build/src/api/rest/cache/ResponseCache.js.map +1 -1
- package/build/src/api/rest/cache/wrapFetchWithCache.js +11 -13
- package/build/src/api/rest/cache/wrapFetchWithCache.js.map +1 -1
- package/build/src/api/rest/client.js +35 -53
- package/build/src/api/rest/client.js.map +1 -1
- package/build/src/api/rest/client.types.js.map +1 -1
- package/build/src/api/rest/wrapFetchWithBaseUrl.js +3 -5
- package/build/src/api/rest/wrapFetchWithBaseUrl.js.map +1 -1
- package/build/src/api/rest/wrapFetchWithOffline.js +3 -5
- package/build/src/api/rest/wrapFetchWithOffline.js.map +1 -1
- package/build/src/api/rest/wrapFetchWithProgress.js +7 -11
- package/build/src/api/rest/wrapFetchWithProgress.js.map +1 -1
- package/build/src/api/rest/wrapFetchWithProxy.js +3 -5
- package/build/src/api/rest/wrapFetchWithProxy.js.map +1 -1
- package/build/src/api/rest/wrapFetchWithUserAgent.js +6 -8
- package/build/src/api/rest/wrapFetchWithUserAgent.js.map +1 -1
- package/build/src/api/settings.js +5 -7
- package/build/src/api/settings.js.map +1 -1
- package/build/src/api/updateDevelopmentSession.js +17 -23
- package/build/src/api/updateDevelopmentSession.js.map +1 -1
- package/build/src/api/user/UserSettings.js +21 -39
- package/build/src/api/user/UserSettings.js.map +1 -1
- package/build/src/api/user/actions.js +21 -27
- package/build/src/api/user/actions.js.map +1 -1
- package/build/src/api/user/expoSsoLauncher.js +26 -30
- package/build/src/api/user/expoSsoLauncher.js.map +1 -1
- package/build/src/api/user/otp.js +29 -35
- package/build/src/api/user/otp.js.map +1 -1
- package/build/src/api/user/user.js +30 -44
- package/build/src/api/user/user.js.map +1 -1
- package/build/src/config/configAsync.js +23 -29
- package/build/src/config/configAsync.js.map +1 -1
- package/build/src/config/index.js +21 -25
- package/build/src/config/index.js.map +1 -1
- package/build/src/customize/customizeAsync.js +6 -8
- package/build/src/customize/customizeAsync.js.map +1 -1
- package/build/src/customize/generate.js +16 -20
- package/build/src/customize/generate.js.map +1 -1
- package/build/src/customize/index.js +12 -14
- package/build/src/customize/index.js.map +1 -1
- package/build/src/customize/resolveOptions.js +2 -4
- package/build/src/customize/resolveOptions.js.map +1 -1
- package/build/src/customize/templates.js +54 -58
- package/build/src/customize/templates.js.map +1 -1
- package/build/src/customize/typescript.js +7 -11
- package/build/src/customize/typescript.js.map +1 -1
- package/build/src/export/createMetadataJson.js +9 -11
- package/build/src/export/createMetadataJson.js.map +1 -1
- package/build/src/export/embed/exportEager.js +6 -8
- package/build/src/export/embed/exportEager.js.map +1 -1
- package/build/src/export/embed/exportEmbedAsync.js +61 -71
- package/build/src/export/embed/exportEmbedAsync.js.map +1 -1
- package/build/src/export/embed/exportServer.js +55 -57
- package/build/src/export/embed/exportServer.js.map +1 -1
- package/build/src/export/embed/index.js +40 -44
- package/build/src/export/embed/index.js.map +1 -1
- package/build/src/export/embed/resolveOptions.js +36 -44
- package/build/src/export/embed/resolveOptions.js.map +1 -1
- package/build/src/export/embed/xcodeCompilerLogger.js +27 -39
- package/build/src/export/embed/xcodeCompilerLogger.js.map +1 -1
- package/build/src/export/exportApp.js +63 -67
- package/build/src/export/exportApp.js.map +1 -1
- package/build/src/export/exportAssets.js +27 -35
- package/build/src/export/exportAssets.js.map +1 -1
- package/build/src/export/exportAsync.js +9 -13
- package/build/src/export/exportAsync.js.map +1 -1
- package/build/src/export/exportDomComponents.js +45 -53
- package/build/src/export/exportDomComponents.js.map +1 -1
- package/build/src/export/exportHermes.js +63 -85
- package/build/src/export/exportHermes.js.map +1 -1
- package/build/src/export/exportStaticAsync.js +62 -72
- package/build/src/export/exportStaticAsync.js.map +1 -1
- package/build/src/export/favicon.js +27 -33
- package/build/src/export/favicon.js.map +1 -1
- package/build/src/export/getPublicExpoManifest.js +5 -7
- package/build/src/export/getPublicExpoManifest.js.map +1 -1
- package/build/src/export/getResolvedLocales.js +9 -11
- package/build/src/export/getResolvedLocales.js.map +1 -1
- package/build/src/export/html.js +6 -10
- package/build/src/export/html.js.map +1 -1
- package/build/src/export/index.js +28 -32
- package/build/src/export/index.js.map +1 -1
- package/build/src/export/metroAssetLocalPath.js +30 -36
- package/build/src/export/metroAssetLocalPath.js.map +1 -1
- package/build/src/export/persistMetroAssets.js +34 -42
- package/build/src/export/persistMetroAssets.js.map +1 -1
- package/build/src/export/publicFolder.js +6 -10
- package/build/src/export/publicFolder.js.map +1 -1
- package/build/src/export/resolveOptions.js +24 -28
- package/build/src/export/resolveOptions.js.map +1 -1
- package/build/src/export/saveAssets.js +46 -50
- package/build/src/export/saveAssets.js.map +1 -1
- package/build/src/export/web/exportWebAsync.js +11 -13
- package/build/src/export/web/exportWebAsync.js.map +1 -1
- package/build/src/export/web/index.js +15 -19
- package/build/src/export/web/index.js.map +1 -1
- package/build/src/export/web/resolveOptions.js +3 -5
- package/build/src/export/web/resolveOptions.js.map +1 -1
- package/build/src/export/writeContents.js +2 -4
- package/build/src/export/writeContents.js.map +1 -1
- package/build/src/graphql/generated.js +274 -400
- package/build/src/graphql/generated.js.map +1 -1
- package/build/src/install/applyPlugins.js +8 -11
- package/build/src/install/applyPlugins.js.map +1 -1
- package/build/src/install/checkPackages.js +22 -26
- package/build/src/install/checkPackages.js.map +1 -1
- package/build/src/install/fixPackages.js +13 -17
- package/build/src/install/fixPackages.js.map +1 -1
- package/build/src/install/index.js +16 -18
- package/build/src/install/index.js.map +1 -1
- package/build/src/install/installAsync.js +26 -32
- package/build/src/install/installAsync.js.map +1 -1
- package/build/src/install/installExpoPackage.js +18 -22
- package/build/src/install/installExpoPackage.js.map +1 -1
- package/build/src/install/resolveOptions.js +19 -21
- package/build/src/install/resolveOptions.js.map +1 -1
- package/build/src/install/utils/autoAddConfigPlugins.js +14 -18
- package/build/src/install/utils/autoAddConfigPlugins.js.map +1 -1
- package/build/src/install/utils/checkPackagesCompatibility.js +11 -13
- package/build/src/install/utils/checkPackagesCompatibility.js.map +1 -1
- package/build/src/install/utils/parsePackageSpecifier.js +22 -0
- package/build/src/install/utils/parsePackageSpecifier.js.map +1 -0
- package/build/src/lint/ESlintPrerequisite.js +44 -50
- package/build/src/lint/ESlintPrerequisite.js.map +1 -1
- package/build/src/lint/index.js +8 -12
- package/build/src/lint/index.js.map +1 -1
- package/build/src/lint/lintAsync.js +8 -10
- package/build/src/lint/lintAsync.js.map +1 -1
- package/build/src/log.js +16 -36
- package/build/src/log.js.map +1 -1
- package/build/src/login/index.js +20 -24
- package/build/src/login/index.js.map +1 -1
- package/build/src/logout/index.js +7 -11
- package/build/src/logout/index.js.map +1 -1
- package/build/src/prebuild/clearNativeFolder.js +26 -38
- package/build/src/prebuild/clearNativeFolder.js.map +1 -1
- package/build/src/prebuild/configureProjectAsync.js +14 -18
- package/build/src/prebuild/configureProjectAsync.js.map +1 -1
- package/build/src/prebuild/copyTemplateFiles.js +13 -17
- package/build/src/prebuild/copyTemplateFiles.js.map +1 -1
- package/build/src/prebuild/ensureConfigAsync.js +4 -6
- package/build/src/prebuild/ensureConfigAsync.js.map +1 -1
- package/build/src/prebuild/index.js +32 -36
- package/build/src/prebuild/index.js.map +1 -1
- package/build/src/prebuild/prebuildAsync.js +25 -29
- package/build/src/prebuild/prebuildAsync.js.map +1 -1
- package/build/src/prebuild/renameTemplateAppName.js +40 -46
- package/build/src/prebuild/renameTemplateAppName.js.map +1 -1
- package/build/src/prebuild/resolveOptions.js +52 -66
- package/build/src/prebuild/resolveOptions.js.map +1 -1
- package/build/src/prebuild/resolveTemplate.js +32 -36
- package/build/src/prebuild/resolveTemplate.js.map +1 -1
- package/build/src/prebuild/updateFromTemplate.js +13 -19
- package/build/src/prebuild/updateFromTemplate.js.map +1 -1
- package/build/src/prebuild/updatePackageJson.js +39 -53
- package/build/src/prebuild/updatePackageJson.js.map +1 -1
- package/build/src/prebuild/validateTemplatePlatforms.js +8 -12
- package/build/src/prebuild/validateTemplatePlatforms.js.map +1 -1
- package/build/src/register/index.js +7 -11
- package/build/src/register/index.js.map +1 -1
- package/build/src/register/registerAsync.js +3 -5
- package/build/src/register/registerAsync.js.map +1 -1
- package/build/src/run/android/index.js +32 -36
- package/build/src/run/android/index.js.map +1 -1
- package/build/src/run/android/resolveDevice.js +8 -10
- package/build/src/run/android/resolveDevice.js.map +1 -1
- package/build/src/run/android/resolveGradlePropsAsync.js +16 -18
- package/build/src/run/android/resolveGradlePropsAsync.js.map +1 -1
- package/build/src/run/android/resolveInstallApkName.js +15 -17
- package/build/src/run/android/resolveInstallApkName.js.map +1 -1
- package/build/src/run/android/resolveLaunchProps.js +10 -12
- package/build/src/run/android/resolveLaunchProps.js.map +1 -1
- package/build/src/run/android/resolveOptions.js +2 -4
- package/build/src/run/android/resolveOptions.js.map +1 -1
- package/build/src/run/android/runAndroidAsync.js +21 -23
- package/build/src/run/android/runAndroidAsync.js.map +1 -1
- package/build/src/run/ensureNativeProject.js +5 -7
- package/build/src/run/ensureNativeProject.js.map +1 -1
- package/build/src/run/hints.js +7 -13
- package/build/src/run/hints.js.map +1 -1
- package/build/src/run/index.js +23 -27
- package/build/src/run/index.js.map +1 -1
- package/build/src/run/ios/XcodeBuild.js +56 -74
- package/build/src/run/ios/XcodeBuild.js.map +1 -1
- package/build/src/run/ios/XcodeBuild.types.js.map +1 -1
- package/build/src/run/ios/appleDevice/AppleDevice.js +63 -69
- package/build/src/run/ios/appleDevice/AppleDevice.js.map +1 -1
- package/build/src/run/ios/appleDevice/ClientManager.js +26 -29
- package/build/src/run/ios/appleDevice/ClientManager.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/AFCClient.js +25 -28
- package/build/src/run/ios/appleDevice/client/AFCClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/DebugserverClient.js +26 -29
- package/build/src/run/ios/appleDevice/client/DebugserverClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/InstallationProxyClient.js +21 -22
- package/build/src/run/ios/appleDevice/client/InstallationProxyClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/LockdowndClient.js +29 -32
- package/build/src/run/ios/appleDevice/client/LockdowndClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/MobileImageMounterClient.js +24 -28
- package/build/src/run/ios/appleDevice/client/MobileImageMounterClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/ServiceClient.js +4 -7
- package/build/src/run/ios/appleDevice/client/ServiceClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/UsbmuxdClient.js +27 -28
- package/build/src/run/ios/appleDevice/client/UsbmuxdClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/installOnDeviceAsync.js +17 -23
- package/build/src/run/ios/appleDevice/installOnDeviceAsync.js.map +1 -1
- package/build/src/run/ios/appleDevice/protocol/AFCProtocol.js +132 -146
- package/build/src/run/ios/appleDevice/protocol/AFCProtocol.js.map +1 -1
- package/build/src/run/ios/appleDevice/protocol/AbstractProtocol.js +21 -29
- package/build/src/run/ios/appleDevice/protocol/AbstractProtocol.js.map +1 -1
- package/build/src/run/ios/appleDevice/protocol/GDBProtocol.js +21 -29
- package/build/src/run/ios/appleDevice/protocol/GDBProtocol.js.map +1 -1
- package/build/src/run/ios/appleDevice/protocol/LockdownProtocol.js +22 -34
- package/build/src/run/ios/appleDevice/protocol/LockdownProtocol.js.map +1 -1
- package/build/src/run/ios/appleDevice/protocol/UsbmuxProtocol.js +17 -27
- package/build/src/run/ios/appleDevice/protocol/UsbmuxProtocol.js.map +1 -1
- package/build/src/run/ios/codeSigning/Security.js +39 -53
- package/build/src/run/ios/codeSigning/Security.js.map +1 -1
- package/build/src/run/ios/codeSigning/configureCodeSigning.js +9 -13
- package/build/src/run/ios/codeSigning/configureCodeSigning.js.map +1 -1
- package/build/src/run/ios/codeSigning/resolveCertificateSigningIdentity.js +19 -27
- package/build/src/run/ios/codeSigning/resolveCertificateSigningIdentity.js.map +1 -1
- package/build/src/run/ios/codeSigning/settings.js +5 -9
- package/build/src/run/ios/codeSigning/settings.js.map +1 -1
- package/build/src/run/ios/codeSigning/simulatorCodeSigning.js +12 -14
- package/build/src/run/ios/codeSigning/simulatorCodeSigning.js.map +1 -1
- package/build/src/run/ios/codeSigning/xcodeCodeSigning.js +21 -27
- package/build/src/run/ios/codeSigning/xcodeCodeSigning.js.map +1 -1
- package/build/src/run/ios/index.js +36 -40
- package/build/src/run/ios/index.js.map +1 -1
- package/build/src/run/ios/launchApp.js +17 -23
- package/build/src/run/ios/launchApp.js.map +1 -1
- package/build/src/run/ios/options/appleDestinations.js +36 -38
- package/build/src/run/ios/options/appleDestinations.js.map +1 -1
- package/build/src/run/ios/options/promptDevice.js +16 -20
- package/build/src/run/ios/options/promptDevice.js.map +1 -1
- package/build/src/run/ios/options/resolveDevice.js +24 -30
- package/build/src/run/ios/options/resolveDevice.js.map +1 -1
- package/build/src/run/ios/options/resolveNativeScheme.js +23 -31
- package/build/src/run/ios/options/resolveNativeScheme.js.map +1 -1
- package/build/src/run/ios/options/resolveOptions.js +5 -7
- package/build/src/run/ios/options/resolveOptions.js.map +1 -1
- package/build/src/run/ios/options/resolveXcodeProject.js +5 -7
- package/build/src/run/ios/options/resolveXcodeProject.js.map +1 -1
- package/build/src/run/ios/runIosAsync.js +44 -48
- package/build/src/run/ios/runIosAsync.js.map +1 -1
- package/build/src/run/ios/validateExternalBinary.js +22 -24
- package/build/src/run/ios/validateExternalBinary.js.map +1 -1
- package/build/src/run/resolveBundlerProps.js +2 -4
- package/build/src/run/resolveBundlerProps.js.map +1 -1
- package/build/src/run/startBundler.js +12 -16
- package/build/src/run/startBundler.js.map +1 -1
- package/build/src/serve/index.js +16 -20
- package/build/src/serve/index.js.map +1 -1
- package/build/src/serve/serveAsync.js +32 -36
- package/build/src/serve/serveAsync.js.map +1 -1
- package/build/src/start/detectDevClient.js +9 -13
- package/build/src/start/detectDevClient.js.map +1 -1
- package/build/src/start/doctor/Prerequisite.js +7 -12
- package/build/src/start/doctor/Prerequisite.js.map +1 -1
- package/build/src/start/doctor/SecurityBinPrerequisite.js +11 -13
- package/build/src/start/doctor/SecurityBinPrerequisite.js.map +1 -1
- package/build/src/start/doctor/apple/SimulatorAppPrerequisite.js +19 -23
- package/build/src/start/doctor/apple/SimulatorAppPrerequisite.js.map +1 -1
- package/build/src/start/doctor/apple/XcodeDeveloperDiskImagePrerequisite.js +19 -23
- package/build/src/start/doctor/apple/XcodeDeveloperDiskImagePrerequisite.js.map +1 -1
- package/build/src/start/doctor/apple/XcodePrerequisite.js +45 -51
- package/build/src/start/doctor/apple/XcodePrerequisite.js.map +1 -1
- package/build/src/start/doctor/apple/XcrunPrerequisite.js +16 -18
- package/build/src/start/doctor/apple/XcrunPrerequisite.js.map +1 -1
- package/build/src/start/doctor/dependencies/bundledNativeModules.js +19 -23
- package/build/src/start/doctor/dependencies/bundledNativeModules.js.map +1 -1
- package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js +25 -31
- package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js.map +1 -1
- package/build/src/start/doctor/dependencies/getMissingPackages.js +17 -25
- package/build/src/start/doctor/dependencies/getMissingPackages.js.map +1 -1
- package/build/src/start/doctor/dependencies/getVersionedPackages.js +32 -40
- package/build/src/start/doctor/dependencies/getVersionedPackages.js.map +1 -1
- package/build/src/start/doctor/dependencies/resolvePackages.js +26 -32
- package/build/src/start/doctor/dependencies/resolvePackages.js.map +1 -1
- package/build/src/start/doctor/dependencies/validateDependenciesVersions.js +31 -41
- package/build/src/start/doctor/dependencies/validateDependenciesVersions.js.map +1 -1
- package/build/src/start/doctor/ngrok/ExternalModule.js +29 -34
- package/build/src/start/doctor/ngrok/ExternalModule.js.map +1 -1
- package/build/src/start/doctor/ngrok/NgrokResolver.js +8 -12
- package/build/src/start/doctor/ngrok/NgrokResolver.js.map +1 -1
- package/build/src/start/doctor/typescript/TypeScriptProjectPrerequisite.js +28 -32
- package/build/src/start/doctor/typescript/TypeScriptProjectPrerequisite.js.map +1 -1
- package/build/src/start/doctor/typescript/updateTSConfig.js +17 -23
- package/build/src/start/doctor/typescript/updateTSConfig.js.map +1 -1
- package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js +27 -33
- package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js.map +1 -1
- package/build/src/start/index.js +42 -46
- package/build/src/start/index.js.map +1 -1
- package/build/src/start/interface/KeyPressHandler.js +14 -18
- package/build/src/start/interface/KeyPressHandler.js.map +1 -1
- package/build/src/start/interface/commandsTable.js +80 -94
- package/build/src/start/interface/commandsTable.js.map +1 -1
- package/build/src/start/interface/interactiveActions.js +40 -44
- package/build/src/start/interface/interactiveActions.js.map +1 -1
- package/build/src/start/interface/startInterface.js +61 -65
- package/build/src/start/interface/startInterface.js.map +1 -1
- package/build/src/start/platforms/AppIdResolver.js +4 -6
- package/build/src/start/platforms/AppIdResolver.js.map +1 -1
- package/build/src/start/platforms/DeviceManager.js +6 -10
- package/build/src/start/platforms/DeviceManager.js.map +1 -1
- package/build/src/start/platforms/ExpoGoInstaller.js +20 -25
- package/build/src/start/platforms/ExpoGoInstaller.js.map +1 -1
- package/build/src/start/platforms/PlatformManager.js +15 -17
- package/build/src/start/platforms/PlatformManager.js.map +1 -1
- package/build/src/start/platforms/android/ADBServer.js +35 -39
- package/build/src/start/platforms/android/ADBServer.js.map +1 -1
- package/build/src/start/platforms/android/AndroidAppIdResolver.js +16 -18
- package/build/src/start/platforms/android/AndroidAppIdResolver.js.map +1 -1
- package/build/src/start/platforms/android/AndroidDeviceManager.js +20 -24
- package/build/src/start/platforms/android/AndroidDeviceManager.js.map +1 -1
- package/build/src/start/platforms/android/AndroidPlatformManager.js +17 -17
- package/build/src/start/platforms/android/AndroidPlatformManager.js.map +1 -1
- package/build/src/start/platforms/android/AndroidSdk.js +9 -11
- package/build/src/start/platforms/android/AndroidSdk.js.map +1 -1
- package/build/src/start/platforms/android/activateWindow.js +22 -26
- package/build/src/start/platforms/android/activateWindow.js.map +1 -1
- package/build/src/start/platforms/android/adb.js +83 -121
- package/build/src/start/platforms/android/adb.js.map +1 -1
- package/build/src/start/platforms/android/adbReverse.js +12 -20
- package/build/src/start/platforms/android/adbReverse.js.map +1 -1
- package/build/src/start/platforms/android/emulator.js +26 -36
- package/build/src/start/platforms/android/emulator.js.map +1 -1
- package/build/src/start/platforms/android/getDevices.js +5 -7
- package/build/src/start/platforms/android/getDevices.js.map +1 -1
- package/build/src/start/platforms/android/gradle.js +28 -36
- package/build/src/start/platforms/android/gradle.js.map +1 -1
- package/build/src/start/platforms/android/promptAndroidDevice.js +15 -19
- package/build/src/start/platforms/android/promptAndroidDevice.js.map +1 -1
- package/build/src/start/platforms/ios/AppleAppIdResolver.js +19 -21
- package/build/src/start/platforms/ios/AppleAppIdResolver.js.map +1 -1
- package/build/src/start/platforms/ios/AppleDeviceManager.js +31 -37
- package/build/src/start/platforms/ios/AppleDeviceManager.js.map +1 -1
- package/build/src/start/platforms/ios/ApplePlatformManager.js +12 -12
- package/build/src/start/platforms/ios/ApplePlatformManager.js.map +1 -1
- package/build/src/start/platforms/ios/assertSystemRequirements.js +7 -9
- package/build/src/start/platforms/ios/assertSystemRequirements.js.map +1 -1
- package/build/src/start/platforms/ios/devicectl.js +73 -87
- package/build/src/start/platforms/ios/devicectl.js.map +1 -1
- package/build/src/start/platforms/ios/ensureSimulatorAppRunning.js +18 -22
- package/build/src/start/platforms/ios/ensureSimulatorAppRunning.js.map +1 -1
- package/build/src/start/platforms/ios/getBestSimulator.js +19 -29
- package/build/src/start/platforms/ios/getBestSimulator.js.map +1 -1
- package/build/src/start/platforms/ios/promptAppleDevice.js +10 -14
- package/build/src/start/platforms/ios/promptAppleDevice.js.map +1 -1
- package/build/src/start/platforms/ios/simctl.js +74 -102
- package/build/src/start/platforms/ios/simctl.js.map +1 -1
- package/build/src/start/platforms/ios/simctlLogging.js +52 -57
- package/build/src/start/platforms/ios/simctlLogging.js.map +1 -1
- package/build/src/start/platforms/ios/xcrun.js +18 -22
- package/build/src/start/platforms/ios/xcrun.js.map +1 -1
- package/build/src/start/project/devices.js +9 -19
- package/build/src/start/project/devices.js.map +1 -1
- package/build/src/start/project/dotExpo.js +11 -15
- package/build/src/start/project/dotExpo.js.map +1 -1
- package/build/src/start/project/settings.js +2 -4
- package/build/src/start/project/settings.js.map +1 -1
- package/build/src/start/resolveOptions.js +40 -48
- package/build/src/start/resolveOptions.js.map +1 -1
- package/build/src/start/server/AsyncNgrok.js +51 -55
- package/build/src/start/server/AsyncNgrok.js.map +1 -1
- package/build/src/start/server/AsyncWsTunnel.js +36 -40
- package/build/src/start/server/AsyncWsTunnel.js.map +1 -1
- package/build/src/start/server/BundlerDevServer.js +79 -81
- package/build/src/start/server/BundlerDevServer.js.map +1 -1
- package/build/src/start/server/DevServerManager.js +38 -42
- package/build/src/start/server/DevServerManager.js.map +1 -1
- package/build/src/start/server/DevToolsPluginManager.js +14 -18
- package/build/src/start/server/DevToolsPluginManager.js.map +1 -1
- package/build/src/start/server/DevelopmentSession.js +14 -18
- package/build/src/start/server/DevelopmentSession.js.map +1 -1
- package/build/src/start/server/ReactDevToolsProxy.js +10 -16
- package/build/src/start/server/ReactDevToolsProxy.js.map +1 -1
- package/build/src/start/server/UrlCreator.js +33 -36
- package/build/src/start/server/UrlCreator.js.map +1 -1
- package/build/src/start/server/getStaticRenderFunctions.js +21 -29
- package/build/src/start/server/getStaticRenderFunctions.js.map +1 -1
- package/build/src/start/server/metro/DevToolsPluginWebsocketEndpoint.js +4 -6
- package/build/src/start/server/metro/DevToolsPluginWebsocketEndpoint.js.map +1 -1
- package/build/src/start/server/metro/MetroBundlerDevServer.js +275 -269
- package/build/src/start/server/metro/MetroBundlerDevServer.js.map +1 -1
- package/build/src/start/server/metro/MetroTerminalReporter.js +56 -63
- package/build/src/start/server/metro/MetroTerminalReporter.js.map +1 -1
- package/build/src/start/server/metro/TerminalReporter.js +33 -39
- package/build/src/start/server/metro/TerminalReporter.js.map +1 -1
- package/build/src/start/server/metro/TerminalReporter.types.js.map +1 -1
- package/build/src/start/server/metro/createExpoMetroResolver.js +40 -46
- package/build/src/start/server/metro/createExpoMetroResolver.js.map +1 -1
- package/build/src/start/server/metro/createJResolver.js +28 -32
- package/build/src/start/server/metro/createJResolver.js.map +1 -1
- package/build/src/start/server/metro/createServerComponentsMiddleware.js +92 -96
- package/build/src/start/server/metro/createServerComponentsMiddleware.js.map +1 -1
- package/build/src/start/server/metro/createServerRouteMiddleware.js +30 -32
- package/build/src/start/server/metro/createServerRouteMiddleware.js.map +1 -1
- package/build/src/start/server/metro/debugging/AtlasPrerequisite.js +11 -13
- package/build/src/start/server/metro/debugging/AtlasPrerequisite.js.map +1 -1
- package/build/src/start/server/metro/debugging/MessageHandler.js +1 -3
- package/build/src/start/server/metro/debugging/MessageHandler.js.map +1 -1
- package/build/src/start/server/metro/debugging/attachAtlas.js +22 -26
- package/build/src/start/server/metro/debugging/attachAtlas.js.map +1 -1
- package/build/src/start/server/metro/debugging/createDebugMiddleware.js +17 -19
- package/build/src/start/server/metro/debugging/createDebugMiddleware.js.map +1 -1
- package/build/src/start/server/metro/debugging/createHandlersFactory.js +31 -25
- package/build/src/start/server/metro/debugging/createHandlersFactory.js.map +1 -1
- package/build/src/start/server/metro/debugging/getDebuggerType.js +4 -6
- package/build/src/start/server/metro/debugging/getDebuggerType.js.map +1 -1
- package/build/src/start/server/metro/debugging/messageHandlers/NetworkResponse.js +8 -14
- package/build/src/start/server/metro/debugging/messageHandlers/NetworkResponse.js.map +1 -1
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerGetPossibleBreakpoints.js +5 -7
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerGetPossibleBreakpoints.js.map +1 -1
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerSetBreakpointByUrl.js +6 -8
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerSetBreakpointByUrl.js.map +1 -1
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeCallFunctionOn.js +5 -7
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeCallFunctionOn.js.map +1 -1
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeEvaluate.js +12 -14
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeEvaluate.js.map +1 -1
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeGetProperties.js +10 -14
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeGetProperties.js.map +1 -1
- package/build/src/start/server/metro/debugging/pageIsSupported.js +4 -6
- package/build/src/start/server/metro/debugging/pageIsSupported.js.map +1 -1
- package/build/src/start/server/metro/debugging/types.js.map +1 -1
- package/build/src/start/server/metro/dev-server/createEventSocket.js +16 -18
- package/build/src/start/server/metro/dev-server/createEventSocket.js.map +1 -1
- package/build/src/start/server/metro/dev-server/createMessageSocket.js +21 -23
- package/build/src/start/server/metro/dev-server/createMessageSocket.js.map +1 -1
- package/build/src/start/server/metro/dev-server/createMetroMiddleware.js +21 -23
- package/build/src/start/server/metro/dev-server/createMetroMiddleware.js.map +1 -1
- package/build/src/start/server/metro/dev-server/utils/createSocketBroadcaster.js +2 -4
- package/build/src/start/server/metro/dev-server/utils/createSocketBroadcaster.js.map +1 -1
- package/build/src/start/server/metro/dev-server/utils/createSocketMap.js +2 -4
- package/build/src/start/server/metro/dev-server/utils/createSocketMap.js.map +1 -1
- package/build/src/start/server/metro/dev-server/utils/socketMessages.js +4 -8
- package/build/src/start/server/metro/dev-server/utils/socketMessages.js.map +1 -1
- package/build/src/start/server/metro/externals.js +25 -33
- package/build/src/start/server/metro/externals.js.map +1 -1
- package/build/src/start/server/metro/fetchRouterManifest.js +12 -16
- package/build/src/start/server/metro/fetchRouterManifest.js.map +1 -1
- package/build/src/start/server/metro/formatFileCandidates.js +9 -11
- package/build/src/start/server/metro/formatFileCandidates.js.map +1 -1
- package/build/src/start/server/metro/getCssModulesFromBundler.js +18 -22
- package/build/src/start/server/metro/getCssModulesFromBundler.js.map +1 -1
- package/build/src/start/server/metro/instantiateMetro.js +79 -85
- package/build/src/start/server/metro/instantiateMetro.js.map +1 -1
- package/build/src/start/server/metro/log-box/LogBoxLog.js +36 -40
- package/build/src/start/server/metro/log-box/LogBoxLog.js.map +1 -1
- package/build/src/start/server/metro/log-box/LogBoxSymbolication.js +14 -20
- package/build/src/start/server/metro/log-box/LogBoxSymbolication.js.map +1 -1
- package/build/src/start/server/metro/log-box/formatProjectFilePath.js +6 -10
- package/build/src/start/server/metro/log-box/formatProjectFilePath.js.map +1 -1
- package/build/src/start/server/metro/metroErrorInterface.js +78 -88
- package/build/src/start/server/metro/metroErrorInterface.js.map +1 -1
- package/build/src/start/server/metro/metroErrors.js +4 -8
- package/build/src/start/server/metro/metroErrors.js.map +1 -1
- package/build/src/start/server/metro/metroPrivateServer.js +7 -9
- package/build/src/start/server/metro/metroPrivateServer.js.map +1 -1
- package/build/src/start/server/metro/metroVirtualModules.js +8 -10
- package/build/src/start/server/metro/metroVirtualModules.js.map +1 -1
- package/build/src/start/server/metro/metroWatchTypeScriptFiles.js +22 -24
- package/build/src/start/server/metro/metroWatchTypeScriptFiles.js.map +1 -1
- package/build/src/start/server/metro/router.js +32 -48
- package/build/src/start/server/metro/router.js.map +1 -1
- package/build/src/start/server/metro/runServer-fork.js +22 -24
- package/build/src/start/server/metro/runServer-fork.js.map +1 -1
- package/build/src/start/server/metro/serializeHtml.js +22 -24
- package/build/src/start/server/metro/serializeHtml.js.map +1 -1
- package/build/src/start/server/metro/symbolicate.js.map +1 -1
- package/build/src/start/server/metro/waitForMetroToObserveTypeScriptFile.js +29 -35
- package/build/src/start/server/metro/waitForMetroToObserveTypeScriptFile.js.map +1 -1
- package/build/src/start/server/metro/withMetroMultiPlatform.js +139 -149
- package/build/src/start/server/metro/withMetroMultiPlatform.js.map +1 -1
- package/build/src/start/server/metro/withMetroResolvers.js +39 -49
- package/build/src/start/server/metro/withMetroResolvers.js.map +1 -1
- package/build/src/start/server/middleware/ContextModuleSourceMapsMiddleware.js +6 -8
- package/build/src/start/server/middleware/ContextModuleSourceMapsMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/CorsMiddleware.js +15 -17
- package/build/src/start/server/middleware/CorsMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/CreateFileMiddleware.js +90 -52
- package/build/src/start/server/middleware/CreateFileMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/DevToolsPluginMiddleware.js +19 -22
- package/build/src/start/server/middleware/DevToolsPluginMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/DomComponentsMiddleware.js +27 -33
- package/build/src/start/server/middleware/DomComponentsMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js +60 -64
- package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/ExpoMiddleware.js +9 -15
- package/build/src/start/server/middleware/ExpoMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/FaviconMiddleware.js +14 -15
- package/build/src/start/server/middleware/FaviconMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/HistoryFallbackMiddleware.js +2 -4
- package/build/src/start/server/middleware/HistoryFallbackMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/InterstitialPageMiddleware.js +31 -34
- package/build/src/start/server/middleware/InterstitialPageMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/ManifestMiddleware.js +56 -64
- package/build/src/start/server/middleware/ManifestMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/ReactDevToolsPageMiddleware.js +19 -23
- package/build/src/start/server/middleware/ReactDevToolsPageMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js +19 -20
- package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/ServeStaticMiddleware.js +9 -11
- package/build/src/start/server/middleware/ServeStaticMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/createBuiltinAPIRequestHandler.js +11 -17
- package/build/src/start/server/middleware/createBuiltinAPIRequestHandler.js.map +1 -1
- package/build/src/start/server/middleware/inspector/CdpClient.js +10 -12
- package/build/src/start/server/middleware/inspector/CdpClient.js.map +1 -1
- package/build/src/start/server/middleware/inspector/JsInspector.js +27 -35
- package/build/src/start/server/middleware/inspector/JsInspector.js.map +1 -1
- package/build/src/start/server/middleware/inspector/createJsInspectorMiddleware.js +19 -21
- package/build/src/start/server/middleware/inspector/createJsInspectorMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/inspector/middlwareMutations.js +2 -6
- package/build/src/start/server/middleware/inspector/middlwareMutations.js.map +1 -1
- package/build/src/start/server/middleware/metroOptions.js +96 -120
- package/build/src/start/server/middleware/metroOptions.js.map +1 -1
- package/build/src/start/server/middleware/mutations.js +3 -7
- package/build/src/start/server/middleware/mutations.js.map +1 -1
- package/build/src/start/server/middleware/resolveAssets.js +18 -26
- package/build/src/start/server/middleware/resolveAssets.js.map +1 -1
- package/build/src/start/server/middleware/resolvePlatform.js +15 -23
- package/build/src/start/server/middleware/resolvePlatform.js.map +1 -1
- package/build/src/start/server/middleware/resolveRuntimeVersionWithExpoUpdatesAsync.js +9 -11
- package/build/src/start/server/middleware/resolveRuntimeVersionWithExpoUpdatesAsync.js.map +1 -1
- package/build/src/start/server/middleware/server.types.js.map +1 -1
- package/build/src/start/server/openPlatforms.js +8 -10
- package/build/src/start/server/openPlatforms.js.map +1 -1
- package/build/src/start/server/platformBundlers.js +11 -13
- package/build/src/start/server/platformBundlers.js.map +1 -1
- package/build/src/start/server/serverLogLikeMetro.js +50 -58
- package/build/src/start/server/serverLogLikeMetro.js.map +1 -1
- package/build/src/start/server/type-generation/expo-env.js +7 -11
- package/build/src/start/server/type-generation/expo-env.js.map +1 -1
- package/build/src/start/server/type-generation/routes.js +54 -76
- package/build/src/start/server/type-generation/routes.js.map +1 -1
- package/build/src/start/server/type-generation/startTypescriptTypeGeneration.js +19 -21
- package/build/src/start/server/type-generation/startTypescriptTypeGeneration.js.map +1 -1
- package/build/src/start/server/type-generation/tsconfig.js +28 -36
- package/build/src/start/server/type-generation/tsconfig.js.map +1 -1
- package/build/src/start/server/webTemplate.js +24 -28
- package/build/src/start/server/webTemplate.js.map +1 -1
- package/build/src/start/server/webpack/WebpackBundlerDevServer.js +46 -52
- package/build/src/start/server/webpack/WebpackBundlerDevServer.js.map +1 -1
- package/build/src/start/server/webpack/compile.js +11 -15
- package/build/src/start/server/webpack/compile.js.map +1 -1
- package/build/src/start/server/webpack/formatWebpackMessages.js +26 -28
- package/build/src/start/server/webpack/formatWebpackMessages.js.map +1 -1
- package/build/src/start/server/webpack/resolveFromProject.js +12 -18
- package/build/src/start/server/webpack/resolveFromProject.js.map +1 -1
- package/build/src/start/server/webpack/tls.js +12 -18
- package/build/src/start/server/webpack/tls.js.map +1 -1
- package/build/src/start/startAsync.js +27 -31
- package/build/src/start/startAsync.js.map +1 -1
- package/build/src/utils/FileNotifier.js +17 -20
- package/build/src/utils/FileNotifier.js.map +1 -1
- package/build/src/utils/ansi.js +5 -7
- package/build/src/utils/ansi.js.map +1 -1
- package/build/src/utils/args.js +14 -24
- package/build/src/utils/args.js.map +1 -1
- package/build/src/utils/array.js +6 -18
- package/build/src/utils/array.js.map +1 -1
- package/build/src/utils/cocoapods.js +46 -54
- package/build/src/utils/cocoapods.js.map +1 -1
- package/build/src/utils/codesigning.js +68 -78
- package/build/src/utils/codesigning.js.map +1 -1
- package/build/src/utils/createFileTransform.js +12 -16
- package/build/src/utils/createFileTransform.js.map +1 -1
- package/build/src/utils/createTempPath.js +13 -17
- package/build/src/utils/createTempPath.js.map +1 -1
- package/build/src/utils/delay.js +6 -12
- package/build/src/utils/delay.js.map +1 -1
- package/build/src/utils/dir.js +28 -46
- package/build/src/utils/dir.js.map +1 -1
- package/build/src/utils/downloadAppAsync.js +8 -10
- package/build/src/utils/downloadAppAsync.js.map +1 -1
- package/build/src/utils/downloadExpoGoAsync.js +21 -25
- package/build/src/utils/downloadExpoGoAsync.js.map +1 -1
- package/build/src/utils/editor.js +35 -41
- package/build/src/utils/editor.js.map +1 -1
- package/build/src/utils/env.js +59 -63
- package/build/src/utils/env.js.map +1 -1
- package/build/src/utils/errors.js +30 -37
- package/build/src/utils/errors.js.map +1 -1
- package/build/src/utils/exit.js +31 -35
- package/build/src/utils/exit.js.map +1 -1
- package/build/src/utils/expoUpdatesCli.js +22 -32
- package/build/src/utils/expoUpdatesCli.js.map +1 -1
- package/build/src/utils/fetch.js +4 -8
- package/build/src/utils/fetch.js.map +1 -1
- package/build/src/utils/filePath.js +6 -10
- package/build/src/utils/filePath.js.map +1 -1
- package/build/src/utils/findUp.js +9 -13
- package/build/src/utils/findUp.js.map +1 -1
- package/build/src/utils/fn.js +2 -6
- package/build/src/utils/fn.js.map +1 -1
- package/build/src/utils/getOrPromptApplicationId.js +26 -32
- package/build/src/utils/getOrPromptApplicationId.js.map +1 -1
- package/build/src/utils/getRunningProcess.js +21 -29
- package/build/src/utils/getRunningProcess.js.map +1 -1
- package/build/src/utils/git.js +20 -26
- package/build/src/utils/git.js.map +1 -1
- package/build/src/utils/glob.js +4 -8
- package/build/src/utils/glob.js.map +1 -1
- package/build/src/utils/interactive.js +1 -3
- package/build/src/utils/interactive.js.map +1 -1
- package/build/src/utils/ip.js +19 -21
- package/build/src/utils/ip.js.map +1 -1
- package/build/src/utils/isModuleSymlinked.js +9 -11
- package/build/src/utils/isModuleSymlinked.js.map +1 -1
- package/build/src/utils/jsonSchemaDeref.js +18 -20
- package/build/src/utils/jsonSchemaDeref.js.map +1 -1
- package/build/src/utils/link.js +13 -17
- package/build/src/utils/link.js.map +1 -1
- package/build/src/utils/mergeGitIgnorePaths.js +28 -46
- package/build/src/utils/mergeGitIgnorePaths.js.map +1 -1
- package/build/src/utils/modifyConfigAsync.js +10 -16
- package/build/src/utils/modifyConfigAsync.js.map +1 -1
- package/build/src/utils/modifyConfigPlugins.js +6 -10
- package/build/src/utils/modifyConfigPlugins.js.map +1 -1
- package/build/src/utils/nodeEnv.js +6 -12
- package/build/src/utils/nodeEnv.js.map +1 -1
- package/build/src/utils/nodeModules.js +8 -10
- package/build/src/utils/nodeModules.js.map +1 -1
- package/build/src/utils/npm.js +36 -50
- package/build/src/utils/npm.js.map +1 -1
- package/build/src/utils/obj.js +5 -11
- package/build/src/utils/obj.js.map +1 -1
- package/build/src/utils/open.js +8 -10
- package/build/src/utils/open.js.map +1 -1
- package/build/src/utils/ora.js +7 -13
- package/build/src/utils/ora.js.map +1 -1
- package/build/src/utils/plist.js +15 -21
- package/build/src/utils/plist.js.map +1 -1
- package/build/src/utils/port.js +33 -43
- package/build/src/utils/port.js.map +1 -1
- package/build/src/utils/profile.js +7 -11
- package/build/src/utils/profile.js.map +1 -1
- package/build/src/utils/progress.js +5 -11
- package/build/src/utils/progress.js.map +1 -1
- package/build/src/utils/prompts.js +29 -47
- package/build/src/utils/prompts.js.map +1 -1
- package/build/src/utils/resolveArgs.js +24 -36
- package/build/src/utils/resolveArgs.js.map +1 -1
- package/build/src/utils/scheme.js +32 -40
- package/build/src/utils/scheme.js.map +1 -1
- package/build/src/utils/stream.js +3 -5
- package/build/src/utils/stream.js.map +1 -1
- package/build/src/utils/strings.js +4 -6
- package/build/src/utils/strings.js.map +1 -1
- package/build/src/utils/tar.js +15 -19
- package/build/src/utils/tar.js.map +1 -1
- package/build/src/utils/telemetry/Telemetry.js +27 -29
- package/build/src/utils/telemetry/Telemetry.js.map +1 -1
- package/build/src/utils/telemetry/clients/FetchClient.js +13 -15
- package/build/src/utils/telemetry/clients/FetchClient.js.map +1 -1
- package/build/src/utils/telemetry/clients/FetchDetachedClient.js +22 -26
- package/build/src/utils/telemetry/clients/FetchDetachedClient.js.map +1 -1
- package/build/src/utils/telemetry/clients/RudderClient.js +8 -10
- package/build/src/utils/telemetry/clients/RudderClient.js.map +1 -1
- package/build/src/utils/telemetry/clients/RudderDetachedClient.js +22 -26
- package/build/src/utils/telemetry/clients/RudderDetachedClient.js.map +1 -1
- package/build/src/utils/telemetry/clients/flushFetchDetached.js +10 -10
- package/build/src/utils/telemetry/clients/flushFetchDetached.js.map +1 -1
- package/build/src/utils/telemetry/clients/flushRudderDetached.js +10 -10
- package/build/src/utils/telemetry/clients/flushRudderDetached.js.map +1 -1
- package/build/src/utils/telemetry/events.js +2 -4
- package/build/src/utils/telemetry/events.js.map +1 -1
- package/build/src/utils/telemetry/flushDetached.js.map +1 -1
- package/build/src/utils/telemetry/index.js +29 -25
- package/build/src/utils/telemetry/index.js.map +1 -1
- package/build/src/utils/telemetry/types.js.map +1 -1
- package/build/src/utils/telemetry/utils/constants.js +4 -8
- package/build/src/utils/telemetry/utils/constants.js.map +1 -1
- package/build/src/utils/telemetry/utils/context.js +14 -18
- package/build/src/utils/telemetry/utils/context.js.map +1 -1
- package/build/src/utils/template.js +4 -6
- package/build/src/utils/template.js.map +1 -1
- package/build/src/utils/terminal.js +2 -4
- package/build/src/utils/terminal.js.map +1 -1
- package/build/src/utils/tsconfig/evaluateTsConfig.js +17 -21
- package/build/src/utils/tsconfig/evaluateTsConfig.js.map +1 -1
- package/build/src/utils/tsconfig/loadTsConfigPaths.js +14 -18
- package/build/src/utils/tsconfig/loadTsConfigPaths.js.map +1 -1
- package/build/src/utils/tsconfig/matchTsConfigPathAlias.js +5 -7
- package/build/src/utils/tsconfig/matchTsConfigPathAlias.js.map +1 -1
- package/build/src/utils/tsconfig/resolveWithTsConfigPaths.js +12 -14
- package/build/src/utils/tsconfig/resolveWithTsConfigPaths.js.map +1 -1
- package/build/src/utils/url.js +13 -23
- package/build/src/utils/url.js.map +1 -1
- package/build/src/utils/validateApplicationId.js +86 -108
- package/build/src/utils/validateApplicationId.js.map +1 -1
- package/build/src/utils/variadic.js +16 -22
- package/build/src/utils/variadic.js.map +1 -1
- package/build/src/whoami/index.js +7 -11
- package/build/src/whoami/index.js.map +1 -1
- package/build/src/whoami/whoamiAsync.js +7 -11
- package/build/src/whoami/whoamiAsync.js.map +1 -1
- package/package.json +3 -3
|
@@ -14,64 +14,58 @@ function _export(target, all) {
|
|
|
14
14
|
});
|
|
15
15
|
}
|
|
16
16
|
_export(exports, {
|
|
17
|
-
FailedToResolvePathError:
|
|
18
|
-
|
|
19
|
-
},
|
|
20
|
-
createFastResolver: function() {
|
|
21
|
-
return createFastResolver;
|
|
22
|
-
}
|
|
17
|
+
FailedToResolvePathError: ()=>FailedToResolvePathError,
|
|
18
|
+
createFastResolver: ()=>createFastResolver
|
|
23
19
|
});
|
|
24
20
|
function _fs() {
|
|
25
|
-
const data = /*#__PURE__*/
|
|
21
|
+
const data = /*#__PURE__*/ _interopRequireDefault(require("fs"));
|
|
26
22
|
_fs = function() {
|
|
27
23
|
return data;
|
|
28
24
|
};
|
|
29
25
|
return data;
|
|
30
26
|
}
|
|
31
27
|
function _path() {
|
|
32
|
-
const data = /*#__PURE__*/
|
|
28
|
+
const data = /*#__PURE__*/ _interopRequireDefault(require("path"));
|
|
33
29
|
_path = function() {
|
|
34
30
|
return data;
|
|
35
31
|
};
|
|
36
32
|
return data;
|
|
37
33
|
}
|
|
38
|
-
const _createJResolver = /*#__PURE__*/
|
|
34
|
+
const _createJResolver = /*#__PURE__*/ _interopRequireDefault(require("./createJResolver"));
|
|
39
35
|
const _externals = require("./externals");
|
|
40
36
|
const _formatFileCandidates = require("./formatFileCandidates");
|
|
41
37
|
const _metroOptions = require("../middleware/metroOptions");
|
|
42
|
-
function
|
|
38
|
+
function _interopRequireDefault(obj) {
|
|
43
39
|
return obj && obj.__esModule ? obj : {
|
|
44
40
|
default: obj
|
|
45
41
|
};
|
|
46
42
|
}
|
|
47
43
|
class FailedToResolvePathError extends Error {
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
this.candidates = {};
|
|
52
|
-
}
|
|
44
|
+
// Added to ensure the error is matched by our tooling.
|
|
45
|
+
// TODO: Test that this matches `isFailedToResolvePathError`
|
|
46
|
+
candidates = {};
|
|
53
47
|
}
|
|
54
48
|
class ShimModuleError extends Error {
|
|
55
49
|
}
|
|
56
|
-
const debug = require(
|
|
57
|
-
const realpathFS = process.platform !==
|
|
50
|
+
const debug = require("debug")("expo:metro:resolve");
|
|
51
|
+
const realpathFS = process.platform !== "win32" && _fs().default.realpathSync && typeof _fs().default.realpathSync.native === "function" ? _fs().default.realpathSync.native : _fs().default.realpathSync;
|
|
58
52
|
function realpathSync(x) {
|
|
59
53
|
try {
|
|
60
54
|
return realpathFS(x);
|
|
61
55
|
} catch (realpathErr) {
|
|
62
|
-
if (realpathErr.code !==
|
|
56
|
+
if (realpathErr.code !== "ENOENT") {
|
|
63
57
|
throw realpathErr;
|
|
64
58
|
}
|
|
65
59
|
}
|
|
66
60
|
return x;
|
|
67
61
|
}
|
|
68
|
-
function createFastResolver({ preserveSymlinks, blockList
|
|
69
|
-
debug(
|
|
62
|
+
function createFastResolver({ preserveSymlinks , blockList }) {
|
|
63
|
+
debug("Creating with settings:", {
|
|
70
64
|
preserveSymlinks,
|
|
71
65
|
blockList
|
|
72
66
|
});
|
|
73
67
|
const cachedExtensions = new Map();
|
|
74
|
-
function getAdjustedExtensions({ metroSourceExtensions, platform, isNative
|
|
68
|
+
function getAdjustedExtensions({ metroSourceExtensions , platform , isNative }) {
|
|
75
69
|
const key = JSON.stringify({
|
|
76
70
|
metroSourceExtensions,
|
|
77
71
|
platform,
|
|
@@ -99,8 +93,8 @@ function createFastResolver({ preserveSymlinks, blockList }) {
|
|
|
99
93
|
return output;
|
|
100
94
|
}
|
|
101
95
|
function fastResolve(context, moduleName, platform) {
|
|
102
|
-
var
|
|
103
|
-
const environment = (
|
|
96
|
+
var ref;
|
|
97
|
+
const environment = (ref = context.customResolverOptions) == null ? void 0 : ref.environment;
|
|
104
98
|
const isServer = (0, _metroOptions.isServerEnvironment)(environment);
|
|
105
99
|
const extensions = getAdjustedExtensions({
|
|
106
100
|
metroSourceExtensions: context.sourceExts,
|
|
@@ -110,15 +104,15 @@ function createFastResolver({ preserveSymlinks, blockList }) {
|
|
|
110
104
|
let fp;
|
|
111
105
|
const conditions = context.unstable_enablePackageExports ? [
|
|
112
106
|
...new Set([
|
|
113
|
-
|
|
107
|
+
"default",
|
|
114
108
|
...context.unstable_conditionNames,
|
|
115
|
-
...platform != null ? context.unstable_conditionsByPlatform[platform] ?? [] : []
|
|
116
|
-
])
|
|
109
|
+
...platform != null ? context.unstable_conditionsByPlatform[platform] ?? [] : [],
|
|
110
|
+
]),
|
|
117
111
|
] : [];
|
|
118
112
|
// NOTE(cedric): metro@0.81.0 ships with `fileSystemLookup`, while `metro@0.80.12` ships as unstable
|
|
119
|
-
const fileSystemLookup =
|
|
113
|
+
const fileSystemLookup = "unstable_fileSystemLookup" in context ? context.unstable_fileSystemLookup : context.fileSystemLookup;
|
|
120
114
|
if (!fileSystemLookup) {
|
|
121
|
-
throw new Error(
|
|
115
|
+
throw new Error("Metro API fileSystemLookup is required for fast resolver");
|
|
122
116
|
}
|
|
123
117
|
try {
|
|
124
118
|
fp = (0, _createJResolver.default)(moduleName, {
|
|
@@ -141,11 +135,11 @@ function createFastResolver({ preserveSymlinks, blockList }) {
|
|
|
141
135
|
},
|
|
142
136
|
isDirectory (file) {
|
|
143
137
|
const res = fileSystemLookup(file);
|
|
144
|
-
return res.exists && res.type ===
|
|
138
|
+
return res.exists && res.type === "d";
|
|
145
139
|
},
|
|
146
140
|
isFile (file) {
|
|
147
141
|
const res = fileSystemLookup(file);
|
|
148
|
-
return res.exists && res.type ===
|
|
142
|
+
return res.exists && res.type === "f";
|
|
149
143
|
},
|
|
150
144
|
pathExists (file) {
|
|
151
145
|
return fileSystemLookup(file).exists;
|
|
@@ -154,7 +148,7 @@ function createFastResolver({ preserveSymlinks, blockList }) {
|
|
|
154
148
|
// set the pkg.main to the first available field in context.mainFields
|
|
155
149
|
for (const field of context.mainFields){
|
|
156
150
|
if (pkg[field] && // object-inspect uses browser: {} in package.json
|
|
157
|
-
typeof pkg[field] ===
|
|
151
|
+
typeof pkg[field] === "string") {
|
|
158
152
|
return {
|
|
159
153
|
...pkg,
|
|
160
154
|
main: pkg[field]
|
|
@@ -167,22 +161,22 @@ function createFastResolver({ preserveSymlinks, blockList }) {
|
|
|
167
161
|
// the app doesn't finish without it.
|
|
168
162
|
preserveSymlinks,
|
|
169
163
|
readPackageSync (readFileSync, pkgFile) {
|
|
170
|
-
return context.getPackage(pkgFile) ?? JSON.parse(_fs().default.readFileSync(pkgFile,
|
|
164
|
+
return context.getPackage(pkgFile) ?? JSON.parse(_fs().default.readFileSync(pkgFile, "utf8"));
|
|
171
165
|
},
|
|
172
166
|
includeCoreModules: isServer,
|
|
173
167
|
pathFilter: // Disable `browser` field for server environments.
|
|
174
168
|
isServer ? undefined : (pkg, _resolvedPath, relativePathIn)=>{
|
|
175
169
|
let relativePath = relativePathIn;
|
|
176
|
-
if (relativePath[0] !==
|
|
170
|
+
if (relativePath[0] !== ".") {
|
|
177
171
|
relativePath = `./${relativePath}`;
|
|
178
172
|
}
|
|
179
173
|
const replacements = pkg.browser;
|
|
180
174
|
if (replacements === undefined) {
|
|
181
|
-
return
|
|
175
|
+
return "";
|
|
182
176
|
}
|
|
183
177
|
// TODO: Probably use a better extension matching system here.
|
|
184
178
|
// This was added for `uuid/v4` -> `./lib/rng` -> `./lib/rng-browser.js`
|
|
185
|
-
const mappedPath = replacements[relativePath] ?? replacements[relativePath +
|
|
179
|
+
const mappedPath = replacements[relativePath] ?? replacements[relativePath + ".js"];
|
|
186
180
|
if (mappedPath === false) {
|
|
187
181
|
throw new ShimModuleError();
|
|
188
182
|
}
|
|
@@ -192,14 +186,14 @@ function createFastResolver({ preserveSymlinks, blockList }) {
|
|
|
192
186
|
} catch (error) {
|
|
193
187
|
if (error instanceof ShimModuleError) {
|
|
194
188
|
return {
|
|
195
|
-
type:
|
|
189
|
+
type: "empty"
|
|
196
190
|
};
|
|
197
191
|
}
|
|
198
|
-
if (
|
|
192
|
+
if ("code" in error && error.code === "MODULE_NOT_FOUND") {
|
|
199
193
|
if ((0, _externals.isNodeExternal)(moduleName)) {
|
|
200
194
|
// In this case, mock the file to use an empty module.
|
|
201
195
|
return {
|
|
202
|
-
type:
|
|
196
|
+
type: "empty"
|
|
203
197
|
};
|
|
204
198
|
}
|
|
205
199
|
debug({
|
|
@@ -209,8 +203,8 @@ function createFastResolver({ preserveSymlinks, blockList }) {
|
|
|
209
203
|
isServer,
|
|
210
204
|
preserveSymlinks
|
|
211
205
|
}, context);
|
|
212
|
-
throw new FailedToResolvePathError(
|
|
213
|
-
type:
|
|
206
|
+
throw new FailedToResolvePathError("The module could not be resolved because no file or module matched the pattern:\n" + ` ${(0, _formatFileCandidates.formatFileCandidates)({
|
|
207
|
+
type: "sourceFile",
|
|
214
208
|
filePathPrefix: moduleName,
|
|
215
209
|
candidateExts: extensions
|
|
216
210
|
}, true)}\n\nFrom:\n ${context.originModulePath}\n`);
|
|
@@ -219,29 +213,29 @@ function createFastResolver({ preserveSymlinks, blockList }) {
|
|
|
219
213
|
}
|
|
220
214
|
if (context.sourceExts.some((ext)=>fp.endsWith(ext))) {
|
|
221
215
|
return {
|
|
222
|
-
type:
|
|
216
|
+
type: "sourceFile",
|
|
223
217
|
filePath: fp
|
|
224
218
|
};
|
|
225
219
|
}
|
|
226
220
|
if ((0, _externals.isNodeExternal)(fp)) {
|
|
227
221
|
if (isServer) {
|
|
228
222
|
return {
|
|
229
|
-
type:
|
|
223
|
+
type: "sourceFile",
|
|
230
224
|
filePath: fp
|
|
231
225
|
};
|
|
232
226
|
}
|
|
233
227
|
// NOTE: This shouldn't happen, the module should throw.
|
|
234
228
|
// Mock non-server built-in modules to empty.
|
|
235
229
|
return {
|
|
236
|
-
type:
|
|
230
|
+
type: "empty"
|
|
237
231
|
};
|
|
238
232
|
}
|
|
239
233
|
// NOTE: platform extensions may not be supported on assets.
|
|
240
|
-
if (platform ===
|
|
234
|
+
if (platform === "web") {
|
|
241
235
|
// Skip multi-resolution on web/server bundles. Only consideration here is that
|
|
242
236
|
// we may still need it in case the only image is a multi-resolution image.
|
|
243
237
|
return {
|
|
244
|
-
type:
|
|
238
|
+
type: "assetFiles",
|
|
245
239
|
filePaths: [
|
|
246
240
|
fp
|
|
247
241
|
]
|
|
@@ -251,7 +245,7 @@ function createFastResolver({ preserveSymlinks, blockList }) {
|
|
|
251
245
|
const extension = _path().default.extname(fp);
|
|
252
246
|
const basename = _path().default.basename(fp, extension);
|
|
253
247
|
return {
|
|
254
|
-
type:
|
|
248
|
+
type: "assetFiles",
|
|
255
249
|
// Support multi-resolution asset extensions...
|
|
256
250
|
filePaths: context.resolveAsset(dirPath, basename, extension) ?? [
|
|
257
251
|
fp
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/start/server/metro/createExpoMetroResolver.ts"],"sourcesContent":["/**\n * Copyright © 2023 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 fs from 'fs';\nimport { Resolution, ResolutionContext } from 'metro-resolver';\nimport path from 'path';\n\nimport jestResolver from './createJResolver';\nimport { isNodeExternal } from './externals';\nimport { formatFileCandidates } from './formatFileCandidates';\nimport { isServerEnvironment } from '../middleware/metroOptions';\n\nexport class FailedToResolvePathError extends Error {\n // Added to ensure the error is matched by our tooling.\n // TODO: Test that this matches `isFailedToResolvePathError`\n candidates = {};\n}\n\nclass ShimModuleError extends Error {}\n\nconst debug = require('debug')('expo:metro:resolve') as typeof console.log;\n\nconst realpathFS =\n process.platform !== 'win32' && fs.realpathSync && typeof fs.realpathSync.native === 'function'\n ? fs.realpathSync.native\n : fs.realpathSync;\n\nfunction realpathSync(x: string) {\n try {\n return realpathFS(x);\n } catch (realpathErr: any) {\n if (realpathErr.code !== 'ENOENT') {\n throw realpathErr;\n }\n }\n return x;\n}\n\nexport function createFastResolver({\n preserveSymlinks,\n blockList,\n}: {\n preserveSymlinks: boolean;\n blockList: RegExp[];\n}) {\n debug('Creating with settings:', { preserveSymlinks, blockList });\n const cachedExtensions: Map<string, readonly string[]> = new Map();\n\n function getAdjustedExtensions({\n metroSourceExtensions,\n platform,\n isNative,\n }: {\n metroSourceExtensions: readonly string[];\n platform: string | null;\n isNative: boolean;\n }): readonly string[] {\n const key = JSON.stringify({ metroSourceExtensions, platform, isNative });\n if (cachedExtensions.has(key)) {\n return cachedExtensions.get(key)!;\n }\n\n let output = metroSourceExtensions;\n if (platform) {\n const nextOutput: string[] = [];\n\n output.forEach((ext) => {\n nextOutput.push(`${platform}.${ext}`);\n if (isNative) {\n nextOutput.push(`native.${ext}`);\n }\n nextOutput.push(ext);\n });\n\n output = nextOutput;\n }\n\n output = Array.from(new Set<string>(output));\n\n // resolve expects these to start with a dot.\n output = output.map((ext) => `.${ext}`);\n\n cachedExtensions.set(key, output);\n\n return output;\n }\n\n function fastResolve(\n context: Pick<\n ResolutionContext,\n | 'unstable_enablePackageExports'\n | 'customResolverOptions'\n | 'sourceExts'\n | 'preferNativePlatform'\n | 'originModulePath'\n | 'getPackage'\n | 'nodeModulesPaths'\n | 'mainFields'\n | 'resolveAsset'\n | 'unstable_conditionNames'\n | 'unstable_conditionsByPlatform'\n | 'fileSystemLookup'\n >,\n moduleName: string,\n platform: string | null\n ): Resolution {\n const environment = context.customResolverOptions?.environment;\n const isServer = isServerEnvironment(environment);\n\n const extensions = getAdjustedExtensions({\n metroSourceExtensions: context.sourceExts,\n platform,\n isNative: context.preferNativePlatform,\n }) as string[];\n\n let fp: string;\n\n const conditions = context.unstable_enablePackageExports\n ? [\n ...new Set([\n 'default',\n ...context.unstable_conditionNames,\n ...(platform != null ? (context.unstable_conditionsByPlatform[platform] ?? []) : []),\n ]),\n ]\n : [];\n\n // NOTE(cedric): metro@0.81.0 ships with `fileSystemLookup`, while `metro@0.80.12` ships as unstable\n const fileSystemLookup = (\n 'unstable_fileSystemLookup' in context\n ? context.unstable_fileSystemLookup\n : context.fileSystemLookup\n ) as ResolutionContext['fileSystemLookup'] | undefined;\n\n if (!fileSystemLookup) {\n throw new Error('Metro API fileSystemLookup is required for fast resolver');\n }\n\n try {\n fp = jestResolver(moduleName, {\n blockList,\n enablePackageExports: context.unstable_enablePackageExports,\n basedir: path.dirname(context.originModulePath),\n moduleDirectory: context.nodeModulesPaths.length\n ? (context.nodeModulesPaths as string[])\n : undefined,\n extensions,\n conditions,\n realpathSync(file: string): string {\n let metroRealPath: string | null = null;\n\n const res = fileSystemLookup(file);\n if (res?.exists) {\n metroRealPath = res.realPath;\n }\n\n if (metroRealPath == null && preserveSymlinks) {\n return realpathSync(file);\n }\n return metroRealPath ?? file;\n },\n isDirectory(file: string): boolean {\n const res = fileSystemLookup(file);\n return res.exists && res.type === 'd';\n },\n isFile(file: string): boolean {\n const res = fileSystemLookup(file);\n return res.exists && res.type === 'f';\n },\n pathExists(file: string): boolean {\n return fileSystemLookup(file).exists;\n },\n packageFilter(pkg) {\n // set the pkg.main to the first available field in context.mainFields\n for (const field of context.mainFields) {\n if (\n pkg[field] &&\n // object-inspect uses browser: {} in package.json\n typeof pkg[field] === 'string'\n ) {\n return {\n ...pkg,\n main: pkg[field],\n };\n }\n }\n return pkg;\n },\n // Used to ensure files trace to packages instead of node_modules in expo/expo. This is how Metro works and\n // the app doesn't finish without it.\n preserveSymlinks,\n readPackageSync(readFileSync, pkgFile) {\n return context.getPackage(pkgFile) ?? JSON.parse(fs.readFileSync(pkgFile, 'utf8'));\n },\n includeCoreModules: isServer,\n\n pathFilter:\n // Disable `browser` field for server environments.\n isServer\n ? undefined\n : // Enable `browser` field support\n (pkg: any, _resolvedPath: string, relativePathIn: string): string => {\n let relativePath = relativePathIn;\n if (relativePath[0] !== '.') {\n relativePath = `./${relativePath}`;\n }\n\n const replacements = pkg.browser;\n if (replacements === undefined) {\n return '';\n }\n\n // TODO: Probably use a better extension matching system here.\n // This was added for `uuid/v4` -> `./lib/rng` -> `./lib/rng-browser.js`\n const mappedPath = replacements[relativePath] ?? replacements[relativePath + '.js'];\n if (mappedPath === false) {\n throw new ShimModuleError();\n }\n return mappedPath;\n },\n });\n } catch (error: any) {\n if (error instanceof ShimModuleError) {\n return {\n type: 'empty',\n };\n }\n\n if ('code' in error && error.code === 'MODULE_NOT_FOUND') {\n if (isNodeExternal(moduleName)) {\n // In this case, mock the file to use an empty module.\n return {\n type: 'empty',\n };\n }\n\n debug({ moduleName, platform, conditions, isServer, preserveSymlinks }, context);\n\n throw new FailedToResolvePathError(\n 'The module could not be resolved because no file or module matched the pattern:\\n' +\n ` ${formatFileCandidates(\n {\n type: 'sourceFile',\n filePathPrefix: moduleName,\n candidateExts: extensions,\n },\n true\n )}\\n\\nFrom:\\n ${context.originModulePath}\\n`\n );\n }\n throw error;\n }\n\n if (context.sourceExts.some((ext) => fp.endsWith(ext))) {\n return {\n type: 'sourceFile',\n filePath: fp,\n };\n }\n\n if (isNodeExternal(fp)) {\n if (isServer) {\n return {\n type: 'sourceFile',\n filePath: fp,\n };\n }\n // NOTE: This shouldn't happen, the module should throw.\n // Mock non-server built-in modules to empty.\n return {\n type: 'empty',\n };\n }\n\n // NOTE: platform extensions may not be supported on assets.\n\n if (platform === 'web') {\n // Skip multi-resolution on web/server bundles. Only consideration here is that\n // we may still need it in case the only image is a multi-resolution image.\n return {\n type: 'assetFiles',\n filePaths: [fp],\n };\n }\n\n const dirPath = path.dirname(fp);\n const extension = path.extname(fp);\n const basename = path.basename(fp, extension);\n return {\n type: 'assetFiles',\n // Support multi-resolution asset extensions...\n filePaths: context.resolveAsset(dirPath, basename, extension) ?? [fp],\n };\n }\n\n return fastResolve;\n}\n"],"names":["FailedToResolvePathError","createFastResolver","Error","candidates","ShimModuleError","debug","require","realpathFS","process","platform","fs","realpathSync","native","x","realpathErr","code","preserveSymlinks","blockList","cachedExtensions","Map","getAdjustedExtensions","metroSourceExtensions","isNative","key","JSON","stringify","has","get","output","nextOutput","forEach","ext","push","Array","from","Set","map","set","fastResolve","context","moduleName","environment","customResolverOptions","isServer","isServerEnvironment","extensions","sourceExts","preferNativePlatform","fp","conditions","unstable_enablePackageExports","unstable_conditionNames","unstable_conditionsByPlatform","fileSystemLookup","unstable_fileSystemLookup","jestResolver","enablePackageExports","basedir","path","dirname","originModulePath","moduleDirectory","nodeModulesPaths","length","undefined","file","metroRealPath","res","exists","realPath","isDirectory","type","isFile","pathExists","packageFilter","pkg","field","mainFields","main","readPackageSync","readFileSync","pkgFile","getPackage","parse","includeCoreModules","pathFilter","_resolvedPath","relativePathIn","relativePath","replacements","browser","mappedPath","error","isNodeExternal","formatFileCandidates","filePathPrefix","candidateExts","some","endsWith","filePath","filePaths","dirPath","extension","extname","basename","resolveAsset"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../../../src/start/server/metro/createExpoMetroResolver.ts"],"sourcesContent":["/**\n * Copyright © 2023 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 fs from 'fs';\nimport { Resolution, ResolutionContext } from 'metro-resolver';\nimport path from 'path';\n\nimport jestResolver from './createJResolver';\nimport { isNodeExternal } from './externals';\nimport { formatFileCandidates } from './formatFileCandidates';\nimport { isServerEnvironment } from '../middleware/metroOptions';\n\nexport class FailedToResolvePathError extends Error {\n // Added to ensure the error is matched by our tooling.\n // TODO: Test that this matches `isFailedToResolvePathError`\n candidates = {};\n}\n\nclass ShimModuleError extends Error {}\n\nconst debug = require('debug')('expo:metro:resolve') as typeof console.log;\n\nconst realpathFS =\n process.platform !== 'win32' && fs.realpathSync && typeof fs.realpathSync.native === 'function'\n ? fs.realpathSync.native\n : fs.realpathSync;\n\nfunction realpathSync(x: string) {\n try {\n return realpathFS(x);\n } catch (realpathErr: any) {\n if (realpathErr.code !== 'ENOENT') {\n throw realpathErr;\n }\n }\n return x;\n}\n\nexport function createFastResolver({\n preserveSymlinks,\n blockList,\n}: {\n preserveSymlinks: boolean;\n blockList: RegExp[];\n}) {\n debug('Creating with settings:', { preserveSymlinks, blockList });\n const cachedExtensions: Map<string, readonly string[]> = new Map();\n\n function getAdjustedExtensions({\n metroSourceExtensions,\n platform,\n isNative,\n }: {\n metroSourceExtensions: readonly string[];\n platform: string | null;\n isNative: boolean;\n }): readonly string[] {\n const key = JSON.stringify({ metroSourceExtensions, platform, isNative });\n if (cachedExtensions.has(key)) {\n return cachedExtensions.get(key)!;\n }\n\n let output = metroSourceExtensions;\n if (platform) {\n const nextOutput: string[] = [];\n\n output.forEach((ext) => {\n nextOutput.push(`${platform}.${ext}`);\n if (isNative) {\n nextOutput.push(`native.${ext}`);\n }\n nextOutput.push(ext);\n });\n\n output = nextOutput;\n }\n\n output = Array.from(new Set<string>(output));\n\n // resolve expects these to start with a dot.\n output = output.map((ext) => `.${ext}`);\n\n cachedExtensions.set(key, output);\n\n return output;\n }\n\n function fastResolve(\n context: Pick<\n ResolutionContext,\n | 'unstable_enablePackageExports'\n | 'customResolverOptions'\n | 'sourceExts'\n | 'preferNativePlatform'\n | 'originModulePath'\n | 'getPackage'\n | 'nodeModulesPaths'\n | 'mainFields'\n | 'resolveAsset'\n | 'unstable_conditionNames'\n | 'unstable_conditionsByPlatform'\n | 'fileSystemLookup'\n >,\n moduleName: string,\n platform: string | null\n ): Resolution {\n const environment = context.customResolverOptions?.environment;\n const isServer = isServerEnvironment(environment);\n\n const extensions = getAdjustedExtensions({\n metroSourceExtensions: context.sourceExts,\n platform,\n isNative: context.preferNativePlatform,\n }) as string[];\n\n let fp: string;\n\n const conditions = context.unstable_enablePackageExports\n ? [\n ...new Set([\n 'default',\n ...context.unstable_conditionNames,\n ...(platform != null ? (context.unstable_conditionsByPlatform[platform] ?? []) : []),\n ]),\n ]\n : [];\n\n // NOTE(cedric): metro@0.81.0 ships with `fileSystemLookup`, while `metro@0.80.12` ships as unstable\n const fileSystemLookup = (\n 'unstable_fileSystemLookup' in context\n ? context.unstable_fileSystemLookup\n : context.fileSystemLookup\n ) as ResolutionContext['fileSystemLookup'] | undefined;\n\n if (!fileSystemLookup) {\n throw new Error('Metro API fileSystemLookup is required for fast resolver');\n }\n\n try {\n fp = jestResolver(moduleName, {\n blockList,\n enablePackageExports: context.unstable_enablePackageExports,\n basedir: path.dirname(context.originModulePath),\n moduleDirectory: context.nodeModulesPaths.length\n ? (context.nodeModulesPaths as string[])\n : undefined,\n extensions,\n conditions,\n realpathSync(file: string): string {\n let metroRealPath: string | null = null;\n\n const res = fileSystemLookup(file);\n if (res?.exists) {\n metroRealPath = res.realPath;\n }\n\n if (metroRealPath == null && preserveSymlinks) {\n return realpathSync(file);\n }\n return metroRealPath ?? file;\n },\n isDirectory(file: string): boolean {\n const res = fileSystemLookup(file);\n return res.exists && res.type === 'd';\n },\n isFile(file: string): boolean {\n const res = fileSystemLookup(file);\n return res.exists && res.type === 'f';\n },\n pathExists(file: string): boolean {\n return fileSystemLookup(file).exists;\n },\n packageFilter(pkg) {\n // set the pkg.main to the first available field in context.mainFields\n for (const field of context.mainFields) {\n if (\n pkg[field] &&\n // object-inspect uses browser: {} in package.json\n typeof pkg[field] === 'string'\n ) {\n return {\n ...pkg,\n main: pkg[field],\n };\n }\n }\n return pkg;\n },\n // Used to ensure files trace to packages instead of node_modules in expo/expo. This is how Metro works and\n // the app doesn't finish without it.\n preserveSymlinks,\n readPackageSync(readFileSync, pkgFile) {\n return context.getPackage(pkgFile) ?? JSON.parse(fs.readFileSync(pkgFile, 'utf8'));\n },\n includeCoreModules: isServer,\n\n pathFilter:\n // Disable `browser` field for server environments.\n isServer\n ? undefined\n : // Enable `browser` field support\n (pkg: any, _resolvedPath: string, relativePathIn: string): string => {\n let relativePath = relativePathIn;\n if (relativePath[0] !== '.') {\n relativePath = `./${relativePath}`;\n }\n\n const replacements = pkg.browser;\n if (replacements === undefined) {\n return '';\n }\n\n // TODO: Probably use a better extension matching system here.\n // This was added for `uuid/v4` -> `./lib/rng` -> `./lib/rng-browser.js`\n const mappedPath = replacements[relativePath] ?? replacements[relativePath + '.js'];\n if (mappedPath === false) {\n throw new ShimModuleError();\n }\n return mappedPath;\n },\n });\n } catch (error: any) {\n if (error instanceof ShimModuleError) {\n return {\n type: 'empty',\n };\n }\n\n if ('code' in error && error.code === 'MODULE_NOT_FOUND') {\n if (isNodeExternal(moduleName)) {\n // In this case, mock the file to use an empty module.\n return {\n type: 'empty',\n };\n }\n\n debug({ moduleName, platform, conditions, isServer, preserveSymlinks }, context);\n\n throw new FailedToResolvePathError(\n 'The module could not be resolved because no file or module matched the pattern:\\n' +\n ` ${formatFileCandidates(\n {\n type: 'sourceFile',\n filePathPrefix: moduleName,\n candidateExts: extensions,\n },\n true\n )}\\n\\nFrom:\\n ${context.originModulePath}\\n`\n );\n }\n throw error;\n }\n\n if (context.sourceExts.some((ext) => fp.endsWith(ext))) {\n return {\n type: 'sourceFile',\n filePath: fp,\n };\n }\n\n if (isNodeExternal(fp)) {\n if (isServer) {\n return {\n type: 'sourceFile',\n filePath: fp,\n };\n }\n // NOTE: This shouldn't happen, the module should throw.\n // Mock non-server built-in modules to empty.\n return {\n type: 'empty',\n };\n }\n\n // NOTE: platform extensions may not be supported on assets.\n\n if (platform === 'web') {\n // Skip multi-resolution on web/server bundles. Only consideration here is that\n // we may still need it in case the only image is a multi-resolution image.\n return {\n type: 'assetFiles',\n filePaths: [fp],\n };\n }\n\n const dirPath = path.dirname(fp);\n const extension = path.extname(fp);\n const basename = path.basename(fp, extension);\n return {\n type: 'assetFiles',\n // Support multi-resolution asset extensions...\n filePaths: context.resolveAsset(dirPath, basename, extension) ?? [fp],\n };\n }\n\n return fastResolve;\n}\n"],"names":["FailedToResolvePathError","createFastResolver","Error","candidates","ShimModuleError","debug","require","realpathFS","process","platform","fs","realpathSync","native","x","realpathErr","code","preserveSymlinks","blockList","cachedExtensions","Map","getAdjustedExtensions","metroSourceExtensions","isNative","key","JSON","stringify","has","get","output","nextOutput","forEach","ext","push","Array","from","Set","map","set","fastResolve","context","moduleName","environment","customResolverOptions","isServer","isServerEnvironment","extensions","sourceExts","preferNativePlatform","fp","conditions","unstable_enablePackageExports","unstable_conditionNames","unstable_conditionsByPlatform","fileSystemLookup","unstable_fileSystemLookup","jestResolver","enablePackageExports","basedir","path","dirname","originModulePath","moduleDirectory","nodeModulesPaths","length","undefined","file","metroRealPath","res","exists","realPath","isDirectory","type","isFile","pathExists","packageFilter","pkg","field","mainFields","main","readPackageSync","readFileSync","pkgFile","getPackage","parse","includeCoreModules","pathFilter","_resolvedPath","relativePathIn","relativePath","replacements","browser","mappedPath","error","isNodeExternal","formatFileCandidates","filePathPrefix","candidateExts","some","endsWith","filePath","filePaths","dirPath","extension","extname","basename","resolveAsset"],"mappings":"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"}
|
|
@@ -13,12 +13,10 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
13
13
|
});
|
|
14
14
|
Object.defineProperty(exports, "default", {
|
|
15
15
|
enumerable: true,
|
|
16
|
-
get:
|
|
17
|
-
return _default;
|
|
18
|
-
}
|
|
16
|
+
get: ()=>_default
|
|
19
17
|
});
|
|
20
18
|
function _assert() {
|
|
21
|
-
const data = /*#__PURE__*/
|
|
19
|
+
const data = /*#__PURE__*/ _interopRequireDefault(require("assert"));
|
|
22
20
|
_assert = function() {
|
|
23
21
|
return data;
|
|
24
22
|
};
|
|
@@ -38,14 +36,14 @@ function _resolve() {
|
|
|
38
36
|
};
|
|
39
37
|
return data;
|
|
40
38
|
}
|
|
41
|
-
function
|
|
42
|
-
const data = /*#__PURE__*/
|
|
43
|
-
|
|
39
|
+
function _resolveExports() {
|
|
40
|
+
const data = /*#__PURE__*/ _interopRequireWildcard(require("resolve.exports"));
|
|
41
|
+
_resolveExports = function() {
|
|
44
42
|
return data;
|
|
45
43
|
};
|
|
46
44
|
return data;
|
|
47
45
|
}
|
|
48
|
-
function
|
|
46
|
+
function _interopRequireDefault(obj) {
|
|
49
47
|
return obj && obj.__esModule ? obj : {
|
|
50
48
|
default: obj
|
|
51
49
|
};
|
|
@@ -58,7 +56,7 @@ function _getRequireWildcardCache(nodeInterop) {
|
|
|
58
56
|
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
|
59
57
|
})(nodeInterop);
|
|
60
58
|
}
|
|
61
|
-
function
|
|
59
|
+
function _interopRequireWildcard(obj, nodeInterop) {
|
|
62
60
|
if (!nodeInterop && obj && obj.__esModule) {
|
|
63
61
|
return obj;
|
|
64
62
|
}
|
|
@@ -71,9 +69,7 @@ function _interop_require_wildcard(obj, nodeInterop) {
|
|
|
71
69
|
if (cache && cache.has(obj)) {
|
|
72
70
|
return cache.get(obj);
|
|
73
71
|
}
|
|
74
|
-
var newObj = {
|
|
75
|
-
__proto__: null
|
|
76
|
-
};
|
|
72
|
+
var newObj = {};
|
|
77
73
|
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
78
74
|
for(var key in obj){
|
|
79
75
|
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
@@ -91,7 +87,7 @@ function _interop_require_wildcard(obj, nodeInterop) {
|
|
|
91
87
|
}
|
|
92
88
|
return newObj;
|
|
93
89
|
}
|
|
94
|
-
const defaultResolver = (path, { enablePackageExports, blockList =
|
|
90
|
+
const defaultResolver = (path, { enablePackageExports , blockList =[] , ...options })=>{
|
|
95
91
|
// @ts-expect-error
|
|
96
92
|
const resolveOptions = {
|
|
97
93
|
...options,
|
|
@@ -113,26 +109,26 @@ const _default = defaultResolver;
|
|
|
113
109
|
if (shouldIgnoreRequestForExports(path)) {
|
|
114
110
|
return path;
|
|
115
111
|
}
|
|
116
|
-
const segments = path.split(
|
|
112
|
+
const segments = path.split("/");
|
|
117
113
|
let moduleName = segments.shift();
|
|
118
114
|
if (!moduleName) {
|
|
119
115
|
return path;
|
|
120
116
|
}
|
|
121
|
-
if (moduleName.startsWith(
|
|
117
|
+
if (moduleName.startsWith("@")) {
|
|
122
118
|
moduleName = `${moduleName}/${segments.shift()}`;
|
|
123
119
|
}
|
|
124
120
|
// Disable package exports for babel/runtime for https://github.com/facebook/metro/issues/984/
|
|
125
|
-
if (moduleName ===
|
|
121
|
+
if (moduleName === "@babel/runtime") {
|
|
126
122
|
return path;
|
|
127
123
|
}
|
|
128
124
|
// self-reference
|
|
129
125
|
const closestPackageJson = findClosestPackageJson(options.basedir, options);
|
|
130
126
|
if (closestPackageJson) {
|
|
131
127
|
const pkg = options.readPackageSync(options.readFileSync, closestPackageJson);
|
|
132
|
-
(0, _assert().default)(pkg,
|
|
128
|
+
(0, _assert().default)(pkg, "package.json should be read by `readPackageSync`");
|
|
133
129
|
// Added support for the package.json "imports" field (#-prefixed paths)
|
|
134
|
-
if (path.startsWith(
|
|
135
|
-
const resolved =
|
|
130
|
+
if (path.startsWith("#")) {
|
|
131
|
+
const resolved = _resolveExports().imports(pkg, path, createResolveOptions(options.conditions));
|
|
136
132
|
if (resolved) {
|
|
137
133
|
// TODO: Should we attempt to resolve every path in the array?
|
|
138
134
|
return (0, _path().resolve)((0, _path().dirname)(closestPackageJson), resolved[0]);
|
|
@@ -141,16 +137,16 @@ const _default = defaultResolver;
|
|
|
141
137
|
return path;
|
|
142
138
|
}
|
|
143
139
|
if (pkg.name === moduleName) {
|
|
144
|
-
const
|
|
145
|
-
if (
|
|
146
|
-
return (0, _path().resolve)((0, _path().dirname)(closestPackageJson),
|
|
140
|
+
const resolved1 = _resolveExports().exports(pkg, segments.join("/") || ".", createResolveOptions(options.conditions));
|
|
141
|
+
if (resolved1) {
|
|
142
|
+
return (0, _path().resolve)((0, _path().dirname)(closestPackageJson), resolved1[0]);
|
|
147
143
|
}
|
|
148
144
|
if (pkg.exports) {
|
|
149
145
|
throw new Error("`exports` exists, but no results - this is a bug in Expo CLI's Metro resolver. Please report an issue");
|
|
150
146
|
}
|
|
151
147
|
}
|
|
152
148
|
}
|
|
153
|
-
let packageJsonPath =
|
|
149
|
+
let packageJsonPath = "";
|
|
154
150
|
try {
|
|
155
151
|
packageJsonPath = (0, _resolve().sync)(`${moduleName}/package.json`, options);
|
|
156
152
|
} catch {
|
|
@@ -159,13 +155,13 @@ const _default = defaultResolver;
|
|
|
159
155
|
if (!packageJsonPath) {
|
|
160
156
|
return path;
|
|
161
157
|
}
|
|
162
|
-
const
|
|
163
|
-
(0, _assert().default)(
|
|
164
|
-
const
|
|
165
|
-
if (
|
|
166
|
-
return (0, _path().resolve)((0, _path().dirname)(packageJsonPath),
|
|
158
|
+
const pkg1 = options.readPackageSync(options.readFileSync, packageJsonPath);
|
|
159
|
+
(0, _assert().default)(pkg1, "package.json should be read by `readPackageSync`");
|
|
160
|
+
const resolved2 = _resolveExports().exports(pkg1, segments.join("/") || ".", createResolveOptions(options.conditions));
|
|
161
|
+
if (resolved2) {
|
|
162
|
+
return (0, _path().resolve)((0, _path().dirname)(packageJsonPath), resolved2[0]);
|
|
167
163
|
}
|
|
168
|
-
if (
|
|
164
|
+
if (pkg1.exports) {
|
|
169
165
|
throw new Error("`exports` exists, but no results - this is a bug in Expo CLI's Metro resolver. Please report an issue");
|
|
170
166
|
}
|
|
171
167
|
return path;
|
|
@@ -180,16 +176,16 @@ function createResolveOptions(conditions) {
|
|
|
180
176
|
};
|
|
181
177
|
}
|
|
182
178
|
// if it's a relative import or an absolute path, imports/exports are ignored
|
|
183
|
-
const shouldIgnoreRequestForExports = (path)=>path.startsWith(
|
|
179
|
+
const shouldIgnoreRequestForExports = (path)=>path.startsWith(".") || (0, _path().isAbsolute)(path);
|
|
184
180
|
// adapted from
|
|
185
181
|
// https://github.com/lukeed/escalade/blob/2477005062cdbd8407afc90d3f48f4930354252b/src/sync.js
|
|
186
182
|
function findClosestPackageJson(start, options) {
|
|
187
|
-
let dir = (0, _path().resolve)(
|
|
183
|
+
let dir = (0, _path().resolve)(".", start);
|
|
188
184
|
if (!options.isDirectory(dir)) {
|
|
189
185
|
dir = (0, _path().dirname)(dir);
|
|
190
186
|
}
|
|
191
187
|
while(true){
|
|
192
|
-
const pkgJsonFile = (0, _path().resolve)(dir,
|
|
188
|
+
const pkgJsonFile = (0, _path().resolve)(dir, "./package.json");
|
|
193
189
|
const hasPackageJson = options.pathExists(pkgJsonFile);
|
|
194
190
|
if (hasPackageJson) {
|
|
195
191
|
return pkgJsonFile;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/start/server/metro/createJResolver.ts"],"sourcesContent":["/**\n * Copyright © 2023 650 Industries.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\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 *\n * Fork of the jest resolver but with additional settings for Metro and pnp removed.\n * https://github.com/jestjs/jest/blob/d1a2ed7fea4bdc19836274cd810c8360e3ab62f3/packages/jest-resolve/src/defaultResolver.ts#L1\n */\nimport type { JSONObject as PackageJSON } from '@expo/json-file';\nimport assert from 'assert';\nimport { dirname, isAbsolute, resolve as pathResolve } from 'path';\nimport { sync as resolveSync, SyncOpts as UpstreamResolveOptions } from 'resolve';\nimport * as resolve from 'resolve.exports';\n\n/**\n * Allows transforming parsed `package.json` contents.\n *\n * @param pkg - Parsed `package.json` contents.\n * @param file - Path to `package.json` file.\n * @param dir - Directory that contains the `package.json`.\n *\n * @returns Transformed `package.json` contents.\n */\ntype PackageFilter = (pkg: PackageJSON, file: string, dir: string) => PackageJSON;\n\n/**\n * Allows transforming a path within a package.\n *\n * @param pkg - Parsed `package.json` contents.\n * @param path - Path being resolved.\n * @param relativePath - Path relative from the `package.json` location.\n *\n * @returns Relative path that will be joined from the `package.json` location.\n */\ntype PathFilter = (pkg: PackageJSON, path: string, relativePath: string) => string;\n\ntype ResolverOptions = {\n /** Directory to begin resolving from. */\n basedir: string;\n /** List of export conditions. */\n conditions?: string[];\n /** Instance of default resolver. */\n defaultResolver: typeof defaultResolver;\n /** List of file extensions to search in order. */\n extensions?: string[];\n /**\n * List of directory names to be looked up for modules recursively.\n *\n * @defaultValue\n * The default is `['node_modules']`.\n */\n moduleDirectory?: string[];\n /**\n * List of `require.paths` to use if nothing is found in `node_modules`.\n *\n * @defaultValue\n * The default is `undefined`.\n */\n paths?: string[];\n /** Allows transforming parsed `package.json` contents. */\n packageFilter?: PackageFilter;\n /** Allows transforms a path within a package. */\n pathFilter?: PathFilter;\n /** Current root directory. */\n rootDir?: string;\n\n enablePackageExports?: boolean;\n\n blockList: RegExp[];\n\n getPackageForModule: import('metro-resolver').CustomResolutionContext['getPackageForModule'];\n} & Pick<\n UpstreamResolveOptions,\n | 'readPackageSync'\n | 'realpathSync'\n | 'moduleDirectory'\n | 'extensions'\n | 'preserveSymlinks'\n | 'includeCoreModules'\n>;\n\ntype UpstreamResolveOptionsWithConditions = UpstreamResolveOptions &\n ResolverOptions & {\n pathExists: (file: string) => boolean;\n };\n\nconst defaultResolver = (\n path: string,\n {\n enablePackageExports,\n blockList = [],\n ...options\n }: Omit<ResolverOptions, 'defaultResolver' | 'getPackageForModule'> & {\n isDirectory: (file: string) => boolean;\n isFile: (file: string) => boolean;\n pathExists: (file: string) => boolean;\n }\n): string => {\n // @ts-expect-error\n const resolveOptions: UpstreamResolveOptionsWithConditions = {\n ...options,\n preserveSymlinks: options.preserveSymlinks,\n defaultResolver,\n };\n\n // resolveSync dereferences symlinks to ensure we don't create a separate\n // module instance depending on how it was referenced.\n const result = resolveSync(enablePackageExports ? getPathInModule(path, resolveOptions) : path, {\n ...resolveOptions,\n preserveSymlinks: !options.preserveSymlinks,\n });\n\n return result;\n};\n\nexport default defaultResolver;\n\n/*\n * helper functions\n */\n\nfunction getPathInModule(path: string, options: UpstreamResolveOptionsWithConditions): string {\n if (shouldIgnoreRequestForExports(path)) {\n return path;\n }\n\n const segments = path.split('/');\n\n let moduleName = segments.shift();\n\n if (!moduleName) {\n return path;\n }\n\n if (moduleName.startsWith('@')) {\n moduleName = `${moduleName}/${segments.shift()}`;\n }\n\n // Disable package exports for babel/runtime for https://github.com/facebook/metro/issues/984/\n if (moduleName === '@babel/runtime') {\n return path;\n }\n\n // self-reference\n const closestPackageJson = findClosestPackageJson(options.basedir, options);\n if (closestPackageJson) {\n const pkg = options.readPackageSync!(options.readFileSync!, closestPackageJson);\n assert(pkg, 'package.json should be read by `readPackageSync`');\n\n // Added support for the package.json \"imports\" field (#-prefixed paths)\n if (path.startsWith('#')) {\n const resolved = resolve.imports(pkg, path, createResolveOptions(options.conditions));\n if (resolved) {\n // TODO: Should we attempt to resolve every path in the array?\n return pathResolve(dirname(closestPackageJson), resolved[0]);\n }\n // NOTE: resolve.imports would have thrown by this point.\n return path;\n }\n\n if (pkg.name === moduleName) {\n const resolved = resolve.exports(\n pkg,\n (segments.join('/') || '.') as resolve.Exports.Entry,\n createResolveOptions(options.conditions)\n );\n\n if (resolved) {\n return pathResolve(dirname(closestPackageJson), resolved[0]);\n }\n\n if (pkg.exports) {\n throw new Error(\n \"`exports` exists, but no results - this is a bug in Expo CLI's Metro resolver. Please report an issue\"\n );\n }\n }\n }\n\n let packageJsonPath = '';\n\n try {\n packageJsonPath = resolveSync(`${moduleName}/package.json`, options);\n } catch {\n // ignore if package.json cannot be found\n }\n\n if (!packageJsonPath) {\n return path;\n }\n\n const pkg = options.readPackageSync!(options.readFileSync!, packageJsonPath);\n assert(pkg, 'package.json should be read by `readPackageSync`');\n\n const resolved = resolve.exports(\n pkg,\n (segments.join('/') || '.') as resolve.Exports.Entry,\n createResolveOptions(options.conditions)\n );\n\n if (resolved) {\n return pathResolve(dirname(packageJsonPath), resolved[0]);\n }\n\n if (pkg.exports) {\n throw new Error(\n \"`exports` exists, but no results - this is a bug in Expo CLI's Metro resolver. Please report an issue\"\n );\n }\n\n return path;\n}\n\nfunction createResolveOptions(conditions: string[] | undefined): resolve.Options {\n return conditions\n ? { conditions, unsafe: true }\n : // no conditions were passed - let's assume this is Jest internal and it should be `require`\n { browser: false, require: true };\n}\n\n// if it's a relative import or an absolute path, imports/exports are ignored\nconst shouldIgnoreRequestForExports = (path: string) => path.startsWith('.') || isAbsolute(path);\n\n// adapted from\n// https://github.com/lukeed/escalade/blob/2477005062cdbd8407afc90d3f48f4930354252b/src/sync.js\nfunction findClosestPackageJson(\n start: string,\n options: UpstreamResolveOptionsWithConditions\n): string | undefined {\n let dir = pathResolve('.', start);\n if (!options.isDirectory!(dir)) {\n dir = dirname(dir);\n }\n\n while (true) {\n const pkgJsonFile = pathResolve(dir, './package.json');\n const hasPackageJson = options.pathExists!(pkgJsonFile);\n\n if (hasPackageJson) {\n return pkgJsonFile;\n }\n\n const prevDir = dir;\n dir = dirname(dir);\n\n if (prevDir === dir) {\n return undefined;\n }\n }\n}\n"],"names":["defaultResolver","path","enablePackageExports","blockList","options","resolveOptions","preserveSymlinks","result","resolveSync","getPathInModule","shouldIgnoreRequestForExports","segments","split","moduleName","shift","startsWith","closestPackageJson","findClosestPackageJson","basedir","pkg","readPackageSync","readFileSync","assert","resolved","resolve","imports","createResolveOptions","conditions","pathResolve","dirname","name","exports","join","Error","packageJsonPath","unsafe","browser","require","isAbsolute","start","dir","isDirectory","pkgJsonFile","hasPackageJson","pathExists","prevDir","undefined"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../../../src/start/server/metro/createJResolver.ts"],"sourcesContent":["/**\n * Copyright © 2023 650 Industries.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\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 *\n * Fork of the jest resolver but with additional settings for Metro and pnp removed.\n * https://github.com/jestjs/jest/blob/d1a2ed7fea4bdc19836274cd810c8360e3ab62f3/packages/jest-resolve/src/defaultResolver.ts#L1\n */\nimport type { JSONObject as PackageJSON } from '@expo/json-file';\nimport assert from 'assert';\nimport { dirname, isAbsolute, resolve as pathResolve } from 'path';\nimport { sync as resolveSync, SyncOpts as UpstreamResolveOptions } from 'resolve';\nimport * as resolve from 'resolve.exports';\n\n/**\n * Allows transforming parsed `package.json` contents.\n *\n * @param pkg - Parsed `package.json` contents.\n * @param file - Path to `package.json` file.\n * @param dir - Directory that contains the `package.json`.\n *\n * @returns Transformed `package.json` contents.\n */\ntype PackageFilter = (pkg: PackageJSON, file: string, dir: string) => PackageJSON;\n\n/**\n * Allows transforming a path within a package.\n *\n * @param pkg - Parsed `package.json` contents.\n * @param path - Path being resolved.\n * @param relativePath - Path relative from the `package.json` location.\n *\n * @returns Relative path that will be joined from the `package.json` location.\n */\ntype PathFilter = (pkg: PackageJSON, path: string, relativePath: string) => string;\n\ntype ResolverOptions = {\n /** Directory to begin resolving from. */\n basedir: string;\n /** List of export conditions. */\n conditions?: string[];\n /** Instance of default resolver. */\n defaultResolver: typeof defaultResolver;\n /** List of file extensions to search in order. */\n extensions?: string[];\n /**\n * List of directory names to be looked up for modules recursively.\n *\n * @defaultValue\n * The default is `['node_modules']`.\n */\n moduleDirectory?: string[];\n /**\n * List of `require.paths` to use if nothing is found in `node_modules`.\n *\n * @defaultValue\n * The default is `undefined`.\n */\n paths?: string[];\n /** Allows transforming parsed `package.json` contents. */\n packageFilter?: PackageFilter;\n /** Allows transforms a path within a package. */\n pathFilter?: PathFilter;\n /** Current root directory. */\n rootDir?: string;\n\n enablePackageExports?: boolean;\n\n blockList: RegExp[];\n\n getPackageForModule: import('metro-resolver').CustomResolutionContext['getPackageForModule'];\n} & Pick<\n UpstreamResolveOptions,\n | 'readPackageSync'\n | 'realpathSync'\n | 'moduleDirectory'\n | 'extensions'\n | 'preserveSymlinks'\n | 'includeCoreModules'\n>;\n\ntype UpstreamResolveOptionsWithConditions = UpstreamResolveOptions &\n ResolverOptions & {\n pathExists: (file: string) => boolean;\n };\n\nconst defaultResolver = (\n path: string,\n {\n enablePackageExports,\n blockList = [],\n ...options\n }: Omit<ResolverOptions, 'defaultResolver' | 'getPackageForModule'> & {\n isDirectory: (file: string) => boolean;\n isFile: (file: string) => boolean;\n pathExists: (file: string) => boolean;\n }\n): string => {\n // @ts-expect-error\n const resolveOptions: UpstreamResolveOptionsWithConditions = {\n ...options,\n preserveSymlinks: options.preserveSymlinks,\n defaultResolver,\n };\n\n // resolveSync dereferences symlinks to ensure we don't create a separate\n // module instance depending on how it was referenced.\n const result = resolveSync(enablePackageExports ? getPathInModule(path, resolveOptions) : path, {\n ...resolveOptions,\n preserveSymlinks: !options.preserveSymlinks,\n });\n\n return result;\n};\n\nexport default defaultResolver;\n\n/*\n * helper functions\n */\n\nfunction getPathInModule(path: string, options: UpstreamResolveOptionsWithConditions): string {\n if (shouldIgnoreRequestForExports(path)) {\n return path;\n }\n\n const segments = path.split('/');\n\n let moduleName = segments.shift();\n\n if (!moduleName) {\n return path;\n }\n\n if (moduleName.startsWith('@')) {\n moduleName = `${moduleName}/${segments.shift()}`;\n }\n\n // Disable package exports for babel/runtime for https://github.com/facebook/metro/issues/984/\n if (moduleName === '@babel/runtime') {\n return path;\n }\n\n // self-reference\n const closestPackageJson = findClosestPackageJson(options.basedir, options);\n if (closestPackageJson) {\n const pkg = options.readPackageSync!(options.readFileSync!, closestPackageJson);\n assert(pkg, 'package.json should be read by `readPackageSync`');\n\n // Added support for the package.json \"imports\" field (#-prefixed paths)\n if (path.startsWith('#')) {\n const resolved = resolve.imports(pkg, path, createResolveOptions(options.conditions));\n if (resolved) {\n // TODO: Should we attempt to resolve every path in the array?\n return pathResolve(dirname(closestPackageJson), resolved[0]);\n }\n // NOTE: resolve.imports would have thrown by this point.\n return path;\n }\n\n if (pkg.name === moduleName) {\n const resolved = resolve.exports(\n pkg,\n (segments.join('/') || '.') as resolve.Exports.Entry,\n createResolveOptions(options.conditions)\n );\n\n if (resolved) {\n return pathResolve(dirname(closestPackageJson), resolved[0]);\n }\n\n if (pkg.exports) {\n throw new Error(\n \"`exports` exists, but no results - this is a bug in Expo CLI's Metro resolver. Please report an issue\"\n );\n }\n }\n }\n\n let packageJsonPath = '';\n\n try {\n packageJsonPath = resolveSync(`${moduleName}/package.json`, options);\n } catch {\n // ignore if package.json cannot be found\n }\n\n if (!packageJsonPath) {\n return path;\n }\n\n const pkg = options.readPackageSync!(options.readFileSync!, packageJsonPath);\n assert(pkg, 'package.json should be read by `readPackageSync`');\n\n const resolved = resolve.exports(\n pkg,\n (segments.join('/') || '.') as resolve.Exports.Entry,\n createResolveOptions(options.conditions)\n );\n\n if (resolved) {\n return pathResolve(dirname(packageJsonPath), resolved[0]);\n }\n\n if (pkg.exports) {\n throw new Error(\n \"`exports` exists, but no results - this is a bug in Expo CLI's Metro resolver. Please report an issue\"\n );\n }\n\n return path;\n}\n\nfunction createResolveOptions(conditions: string[] | undefined): resolve.Options {\n return conditions\n ? { conditions, unsafe: true }\n : // no conditions were passed - let's assume this is Jest internal and it should be `require`\n { browser: false, require: true };\n}\n\n// if it's a relative import or an absolute path, imports/exports are ignored\nconst shouldIgnoreRequestForExports = (path: string) => path.startsWith('.') || isAbsolute(path);\n\n// adapted from\n// https://github.com/lukeed/escalade/blob/2477005062cdbd8407afc90d3f48f4930354252b/src/sync.js\nfunction findClosestPackageJson(\n start: string,\n options: UpstreamResolveOptionsWithConditions\n): string | undefined {\n let dir = pathResolve('.', start);\n if (!options.isDirectory!(dir)) {\n dir = dirname(dir);\n }\n\n while (true) {\n const pkgJsonFile = pathResolve(dir, './package.json');\n const hasPackageJson = options.pathExists!(pkgJsonFile);\n\n if (hasPackageJson) {\n return pkgJsonFile;\n }\n\n const prevDir = dir;\n dir = dirname(dir);\n\n if (prevDir === dir) {\n return undefined;\n }\n }\n}\n"],"names":["defaultResolver","path","enablePackageExports","blockList","options","resolveOptions","preserveSymlinks","result","resolveSync","getPathInModule","shouldIgnoreRequestForExports","segments","split","moduleName","shift","startsWith","closestPackageJson","findClosestPackageJson","basedir","pkg","readPackageSync","readFileSync","assert","resolved","resolve","imports","createResolveOptions","conditions","pathResolve","dirname","name","exports","join","Error","packageJsonPath","unsafe","browser","require","isAbsolute","start","dir","isDirectory","pkgJsonFile","hasPackageJson","pathExists","prevDir","undefined"],"mappings":"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"}
|