@expo/cli 1.0.0-canary-20250320-7a205d3 → 1.0.0-canary-20250402-161f57b
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/bin/cli +93 -91
- package/build/bin/cli.map +1 -1
- package/build/metro-require/require.js +53 -52
- package/build/src/api/endpoint.js +6 -2
- package/build/src/api/endpoint.js.map +1 -1
- package/build/src/api/getExpoGoIntermediateCertificate.js +5 -3
- package/build/src/api/getExpoGoIntermediateCertificate.js.map +1 -1
- package/build/src/api/getExpoSchema.js +16 -12
- package/build/src/api/getExpoSchema.js.map +1 -1
- package/build/src/api/getNativeModuleVersions.js +6 -4
- package/build/src/api/getNativeModuleVersions.js.map +1 -1
- package/build/src/api/getProjectDevelopmentCertificate.js +5 -3
- package/build/src/api/getProjectDevelopmentCertificate.js.map +1 -1
- package/build/src/api/getVersions.js +7 -5
- package/build/src/api/getVersions.js.map +1 -1
- package/build/src/api/graphql/client.js +32 -26
- package/build/src/api/graphql/client.js.map +1 -1
- package/build/src/api/graphql/queries/AppQuery.js +6 -4
- package/build/src/api/graphql/queries/AppQuery.js.map +1 -1
- package/build/src/api/graphql/queries/UserQuery.js +5 -3
- package/build/src/api/graphql/queries/UserQuery.js.map +1 -1
- package/build/src/api/graphql/types/App.js +3 -1
- package/build/src/api/graphql/types/App.js.map +1 -1
- package/build/src/api/rest/cache/FileSystemResponseCache.js +36 -32
- package/build/src/api/rest/cache/FileSystemResponseCache.js.map +1 -1
- package/build/src/api/rest/cache/ResponseCache.js +20 -12
- package/build/src/api/rest/cache/ResponseCache.js.map +1 -1
- package/build/src/api/rest/cache/wrapFetchWithCache.js +13 -11
- package/build/src/api/rest/cache/wrapFetchWithCache.js.map +1 -1
- package/build/src/api/rest/client.js +55 -37
- package/build/src/api/rest/client.js.map +1 -1
- package/build/src/api/rest/client.types.js.map +1 -1
- package/build/src/api/rest/wrapFetchWithBaseUrl.js +5 -3
- package/build/src/api/rest/wrapFetchWithBaseUrl.js.map +1 -1
- package/build/src/api/rest/wrapFetchWithOffline.js +5 -3
- package/build/src/api/rest/wrapFetchWithOffline.js.map +1 -1
- package/build/src/api/rest/wrapFetchWithProgress.js +11 -7
- package/build/src/api/rest/wrapFetchWithProgress.js.map +1 -1
- package/build/src/api/rest/wrapFetchWithProxy.js +5 -3
- package/build/src/api/rest/wrapFetchWithProxy.js.map +1 -1
- package/build/src/api/rest/wrapFetchWithUserAgent.js +8 -6
- package/build/src/api/rest/wrapFetchWithUserAgent.js.map +1 -1
- package/build/src/api/settings.js +7 -5
- package/build/src/api/settings.js.map +1 -1
- package/build/src/api/updateDevelopmentSession.js +23 -17
- package/build/src/api/updateDevelopmentSession.js.map +1 -1
- package/build/src/api/user/UserSettings.js +53 -31
- package/build/src/api/user/UserSettings.js.map +1 -1
- package/build/src/api/user/actions.js +27 -21
- package/build/src/api/user/actions.js.map +1 -1
- package/build/src/api/user/expoSsoLauncher.js +30 -26
- package/build/src/api/user/expoSsoLauncher.js.map +1 -1
- package/build/src/api/user/otp.js +35 -29
- package/build/src/api/user/otp.js.map +1 -1
- package/build/src/api/user/user.js +44 -30
- package/build/src/api/user/user.js.map +1 -1
- package/build/src/config/configAsync.js +29 -23
- package/build/src/config/configAsync.js.map +1 -1
- package/build/src/config/index.js +25 -21
- package/build/src/config/index.js.map +1 -1
- package/build/src/customize/customizeAsync.js +8 -6
- package/build/src/customize/customizeAsync.js.map +1 -1
- package/build/src/customize/generate.js +20 -16
- package/build/src/customize/generate.js.map +1 -1
- package/build/src/customize/index.js +14 -12
- package/build/src/customize/index.js.map +1 -1
- package/build/src/customize/resolveOptions.js +4 -2
- package/build/src/customize/resolveOptions.js.map +1 -1
- package/build/src/customize/templates.js +58 -54
- package/build/src/customize/templates.js.map +1 -1
- package/build/src/customize/typescript.js +11 -7
- package/build/src/customize/typescript.js.map +1 -1
- package/build/src/export/createMetadataJson.js +11 -9
- package/build/src/export/createMetadataJson.js.map +1 -1
- package/build/src/export/embed/exportEager.js +8 -6
- package/build/src/export/embed/exportEager.js.map +1 -1
- package/build/src/export/embed/exportEmbedAsync.js +72 -62
- package/build/src/export/embed/exportEmbedAsync.js.map +1 -1
- package/build/src/export/embed/exportServer.js +57 -55
- package/build/src/export/embed/exportServer.js.map +1 -1
- package/build/src/export/embed/index.js +44 -40
- package/build/src/export/embed/index.js.map +1 -1
- package/build/src/export/embed/resolveOptions.js +44 -36
- package/build/src/export/embed/resolveOptions.js.map +1 -1
- package/build/src/export/embed/xcodeCompilerLogger.js +39 -27
- package/build/src/export/embed/xcodeCompilerLogger.js.map +1 -1
- package/build/src/export/exportApp.js +68 -64
- package/build/src/export/exportApp.js.map +1 -1
- package/build/src/export/exportAssets.js +34 -26
- package/build/src/export/exportAssets.js.map +1 -1
- package/build/src/export/exportAsync.js +13 -9
- package/build/src/export/exportAsync.js.map +1 -1
- package/build/src/export/exportDomComponents.js +53 -45
- package/build/src/export/exportDomComponents.js.map +1 -1
- package/build/src/export/exportHermes.js +75 -53
- package/build/src/export/exportHermes.js.map +1 -1
- package/build/src/export/exportStaticAsync.js +73 -62
- package/build/src/export/exportStaticAsync.js.map +1 -1
- package/build/src/export/favicon.js +33 -27
- package/build/src/export/favicon.js.map +1 -1
- package/build/src/export/getPublicExpoManifest.js +7 -5
- package/build/src/export/getPublicExpoManifest.js.map +1 -1
- package/build/src/export/getResolvedLocales.js +11 -9
- package/build/src/export/getResolvedLocales.js.map +1 -1
- package/build/src/export/html.js +10 -6
- package/build/src/export/html.js.map +1 -1
- package/build/src/export/index.js +32 -28
- package/build/src/export/index.js.map +1 -1
- package/build/src/export/metroAssetLocalPath.js +36 -30
- package/build/src/export/metroAssetLocalPath.js.map +1 -1
- package/build/src/export/persistMetroAssets.js +64 -34
- package/build/src/export/persistMetroAssets.js.map +1 -1
- package/build/src/export/publicFolder.js +10 -6
- package/build/src/export/publicFolder.js.map +1 -1
- package/build/src/export/resolveOptions.js +28 -24
- package/build/src/export/resolveOptions.js.map +1 -1
- package/build/src/export/saveAssets.js +50 -46
- package/build/src/export/saveAssets.js.map +1 -1
- package/build/src/export/web/exportWebAsync.js +13 -11
- package/build/src/export/web/exportWebAsync.js.map +1 -1
- package/build/src/export/web/index.js +19 -15
- package/build/src/export/web/index.js.map +1 -1
- package/build/src/export/web/resolveOptions.js +5 -3
- package/build/src/export/web/resolveOptions.js.map +1 -1
- package/build/src/export/writeContents.js +4 -2
- package/build/src/export/writeContents.js.map +1 -1
- package/build/src/graphql/generated.js +705 -479
- package/build/src/graphql/generated.js.map +1 -1
- package/build/src/install/applyPlugins.js +11 -7
- package/build/src/install/applyPlugins.js.map +1 -1
- package/build/src/install/checkPackages.js +26 -22
- package/build/src/install/checkPackages.js.map +1 -1
- package/build/src/install/fixPackages.js +16 -12
- package/build/src/install/fixPackages.js.map +1 -1
- package/build/src/install/index.js +18 -16
- package/build/src/install/index.js.map +1 -1
- package/build/src/install/installAsync.js +32 -26
- package/build/src/install/installAsync.js.map +1 -1
- package/build/src/install/installExpoPackage.js +22 -18
- package/build/src/install/installExpoPackage.js.map +1 -1
- package/build/src/install/resolveOptions.js +21 -19
- package/build/src/install/resolveOptions.js.map +1 -1
- package/build/src/install/utils/autoAddConfigPlugins.js +18 -14
- package/build/src/install/utils/autoAddConfigPlugins.js.map +1 -1
- package/build/src/install/utils/checkPackagesCompatibility.js +14 -12
- package/build/src/install/utils/checkPackagesCompatibility.js.map +1 -1
- package/build/src/lint/ESlintPrerequisite.js +50 -44
- package/build/src/lint/ESlintPrerequisite.js.map +1 -1
- package/build/src/lint/index.js +12 -8
- package/build/src/lint/index.js.map +1 -1
- package/build/src/lint/lintAsync.js +10 -8
- package/build/src/lint/lintAsync.js.map +1 -1
- package/build/src/log.js +36 -16
- package/build/src/log.js.map +1 -1
- package/build/src/login/index.js +24 -20
- package/build/src/login/index.js.map +1 -1
- package/build/src/logout/index.js +11 -7
- package/build/src/logout/index.js.map +1 -1
- package/build/src/prebuild/clearNativeFolder.js +38 -26
- package/build/src/prebuild/clearNativeFolder.js.map +1 -1
- package/build/src/prebuild/configureProjectAsync.js +18 -14
- package/build/src/prebuild/configureProjectAsync.js.map +1 -1
- package/build/src/prebuild/copyTemplateFiles.js +17 -13
- package/build/src/prebuild/copyTemplateFiles.js.map +1 -1
- package/build/src/prebuild/ensureConfigAsync.js +6 -4
- package/build/src/prebuild/ensureConfigAsync.js.map +1 -1
- package/build/src/prebuild/index.js +36 -32
- package/build/src/prebuild/index.js.map +1 -1
- package/build/src/prebuild/prebuildAsync.js +29 -25
- package/build/src/prebuild/prebuildAsync.js.map +1 -1
- package/build/src/prebuild/renameTemplateAppName.js +43 -37
- package/build/src/prebuild/renameTemplateAppName.js.map +1 -1
- package/build/src/prebuild/resolveOptions.js +70 -53
- package/build/src/prebuild/resolveOptions.js.map +1 -1
- package/build/src/prebuild/resolveTemplate.js +36 -32
- package/build/src/prebuild/resolveTemplate.js.map +1 -1
- package/build/src/prebuild/updateFromTemplate.js +19 -13
- package/build/src/prebuild/updateFromTemplate.js.map +1 -1
- package/build/src/prebuild/updatePackageJson.js +53 -39
- package/build/src/prebuild/updatePackageJson.js.map +1 -1
- package/build/src/prebuild/validateTemplatePlatforms.js +12 -8
- package/build/src/prebuild/validateTemplatePlatforms.js.map +1 -1
- package/build/src/register/index.js +11 -7
- package/build/src/register/index.js.map +1 -1
- package/build/src/register/registerAsync.js +5 -3
- package/build/src/register/registerAsync.js.map +1 -1
- package/build/src/run/android/index.js +36 -32
- package/build/src/run/android/index.js.map +1 -1
- package/build/src/run/android/resolveDevice.js +10 -8
- package/build/src/run/android/resolveDevice.js.map +1 -1
- package/build/src/run/android/resolveGradlePropsAsync.js +18 -16
- package/build/src/run/android/resolveGradlePropsAsync.js.map +1 -1
- package/build/src/run/android/resolveInstallApkName.js +17 -15
- package/build/src/run/android/resolveInstallApkName.js.map +1 -1
- package/build/src/run/android/resolveLaunchProps.js +12 -10
- package/build/src/run/android/resolveLaunchProps.js.map +1 -1
- package/build/src/run/android/resolveOptions.js +4 -2
- package/build/src/run/android/resolveOptions.js.map +1 -1
- package/build/src/run/android/runAndroidAsync.js +23 -21
- package/build/src/run/android/runAndroidAsync.js.map +1 -1
- package/build/src/run/ensureNativeProject.js +7 -5
- package/build/src/run/ensureNativeProject.js.map +1 -1
- package/build/src/run/hints.js +13 -7
- package/build/src/run/hints.js.map +1 -1
- package/build/src/run/index.js +27 -23
- package/build/src/run/index.js.map +1 -1
- package/build/src/run/ios/XcodeBuild.js +80 -60
- package/build/src/run/ios/XcodeBuild.js.map +1 -1
- package/build/src/run/ios/XcodeBuild.types.js.map +1 -1
- package/build/src/run/ios/appleDevice/AppleDevice.js +69 -63
- package/build/src/run/ios/appleDevice/AppleDevice.js.map +1 -1
- package/build/src/run/ios/appleDevice/ClientManager.js +29 -26
- package/build/src/run/ios/appleDevice/ClientManager.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/AFCClient.js +28 -25
- package/build/src/run/ios/appleDevice/client/AFCClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/DebugserverClient.js +29 -26
- package/build/src/run/ios/appleDevice/client/DebugserverClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/InstallationProxyClient.js +22 -21
- package/build/src/run/ios/appleDevice/client/InstallationProxyClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/LockdowndClient.js +32 -29
- package/build/src/run/ios/appleDevice/client/LockdowndClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/MobileImageMounterClient.js +28 -24
- package/build/src/run/ios/appleDevice/client/MobileImageMounterClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/ServiceClient.js +7 -4
- package/build/src/run/ios/appleDevice/client/ServiceClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/UsbmuxdClient.js +28 -27
- package/build/src/run/ios/appleDevice/client/UsbmuxdClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/installOnDeviceAsync.js +23 -17
- package/build/src/run/ios/appleDevice/installOnDeviceAsync.js.map +1 -1
- package/build/src/run/ios/appleDevice/protocol/AFCProtocol.js +146 -132
- package/build/src/run/ios/appleDevice/protocol/AFCProtocol.js.map +1 -1
- package/build/src/run/ios/appleDevice/protocol/AbstractProtocol.js +29 -21
- package/build/src/run/ios/appleDevice/protocol/AbstractProtocol.js.map +1 -1
- package/build/src/run/ios/appleDevice/protocol/GDBProtocol.js +29 -21
- package/build/src/run/ios/appleDevice/protocol/GDBProtocol.js.map +1 -1
- package/build/src/run/ios/appleDevice/protocol/LockdownProtocol.js +34 -22
- package/build/src/run/ios/appleDevice/protocol/LockdownProtocol.js.map +1 -1
- package/build/src/run/ios/appleDevice/protocol/UsbmuxProtocol.js +27 -17
- package/build/src/run/ios/appleDevice/protocol/UsbmuxProtocol.js.map +1 -1
- package/build/src/run/ios/codeSigning/Security.js +53 -39
- package/build/src/run/ios/codeSigning/Security.js.map +1 -1
- package/build/src/run/ios/codeSigning/configureCodeSigning.js +13 -9
- package/build/src/run/ios/codeSigning/configureCodeSigning.js.map +1 -1
- package/build/src/run/ios/codeSigning/resolveCertificateSigningIdentity.js +27 -19
- package/build/src/run/ios/codeSigning/resolveCertificateSigningIdentity.js.map +1 -1
- package/build/src/run/ios/codeSigning/settings.js +9 -5
- package/build/src/run/ios/codeSigning/settings.js.map +1 -1
- package/build/src/run/ios/codeSigning/simulatorCodeSigning.js +14 -12
- package/build/src/run/ios/codeSigning/simulatorCodeSigning.js.map +1 -1
- package/build/src/run/ios/codeSigning/xcodeCodeSigning.js +27 -21
- package/build/src/run/ios/codeSigning/xcodeCodeSigning.js.map +1 -1
- package/build/src/run/ios/index.js +40 -36
- package/build/src/run/ios/index.js.map +1 -1
- package/build/src/run/ios/launchApp.js +23 -17
- package/build/src/run/ios/launchApp.js.map +1 -1
- package/build/src/run/ios/options/appleDestinations.js +38 -36
- package/build/src/run/ios/options/appleDestinations.js.map +1 -1
- package/build/src/run/ios/options/promptDevice.js +20 -16
- package/build/src/run/ios/options/promptDevice.js.map +1 -1
- package/build/src/run/ios/options/resolveDevice.js +30 -24
- package/build/src/run/ios/options/resolveDevice.js.map +1 -1
- package/build/src/run/ios/options/resolveNativeScheme.js +31 -23
- package/build/src/run/ios/options/resolveNativeScheme.js.map +1 -1
- package/build/src/run/ios/options/resolveOptions.js +7 -5
- package/build/src/run/ios/options/resolveOptions.js.map +1 -1
- package/build/src/run/ios/options/resolveXcodeProject.js +7 -5
- package/build/src/run/ios/options/resolveXcodeProject.js.map +1 -1
- package/build/src/run/ios/runIosAsync.js +48 -44
- package/build/src/run/ios/runIosAsync.js.map +1 -1
- package/build/src/run/ios/validateExternalBinary.js +24 -22
- package/build/src/run/ios/validateExternalBinary.js.map +1 -1
- package/build/src/run/resolveBundlerProps.js +4 -2
- package/build/src/run/resolveBundlerProps.js.map +1 -1
- package/build/src/run/startBundler.js +16 -12
- package/build/src/run/startBundler.js.map +1 -1
- package/build/src/serve/index.js +20 -16
- package/build/src/serve/index.js.map +1 -1
- package/build/src/serve/serveAsync.js +36 -32
- package/build/src/serve/serveAsync.js.map +1 -1
- package/build/src/start/detectDevClient.js +13 -9
- package/build/src/start/detectDevClient.js.map +1 -1
- package/build/src/start/doctor/Prerequisite.js +12 -7
- package/build/src/start/doctor/Prerequisite.js.map +1 -1
- package/build/src/start/doctor/SecurityBinPrerequisite.js +13 -11
- package/build/src/start/doctor/SecurityBinPrerequisite.js.map +1 -1
- package/build/src/start/doctor/apple/SimulatorAppPrerequisite.js +23 -19
- package/build/src/start/doctor/apple/SimulatorAppPrerequisite.js.map +1 -1
- package/build/src/start/doctor/apple/XcodeDeveloperDiskImagePrerequisite.js +23 -19
- package/build/src/start/doctor/apple/XcodeDeveloperDiskImagePrerequisite.js.map +1 -1
- package/build/src/start/doctor/apple/XcodePrerequisite.js +51 -45
- package/build/src/start/doctor/apple/XcodePrerequisite.js.map +1 -1
- package/build/src/start/doctor/apple/XcrunPrerequisite.js +18 -16
- package/build/src/start/doctor/apple/XcrunPrerequisite.js.map +1 -1
- package/build/src/start/doctor/dependencies/bundledNativeModules.js +23 -19
- package/build/src/start/doctor/dependencies/bundledNativeModules.js.map +1 -1
- package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js +31 -25
- package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js.map +1 -1
- package/build/src/start/doctor/dependencies/getMissingPackages.js +25 -17
- package/build/src/start/doctor/dependencies/getMissingPackages.js.map +1 -1
- package/build/src/start/doctor/dependencies/getVersionedPackages.js +40 -32
- package/build/src/start/doctor/dependencies/getVersionedPackages.js.map +1 -1
- package/build/src/start/doctor/dependencies/resolvePackages.js +32 -26
- package/build/src/start/doctor/dependencies/resolvePackages.js.map +1 -1
- package/build/src/start/doctor/dependencies/validateDependenciesVersions.js +41 -31
- package/build/src/start/doctor/dependencies/validateDependenciesVersions.js.map +1 -1
- package/build/src/start/doctor/ngrok/ExternalModule.js +34 -29
- package/build/src/start/doctor/ngrok/ExternalModule.js.map +1 -1
- package/build/src/start/doctor/ngrok/NgrokResolver.js +12 -8
- package/build/src/start/doctor/ngrok/NgrokResolver.js.map +1 -1
- package/build/src/start/doctor/typescript/TypeScriptProjectPrerequisite.js +32 -28
- package/build/src/start/doctor/typescript/TypeScriptProjectPrerequisite.js.map +1 -1
- package/build/src/start/doctor/typescript/updateTSConfig.js +23 -17
- package/build/src/start/doctor/typescript/updateTSConfig.js.map +1 -1
- package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js +33 -27
- package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js.map +1 -1
- package/build/src/start/index.js +46 -42
- package/build/src/start/index.js.map +1 -1
- package/build/src/start/interface/KeyPressHandler.js +18 -14
- package/build/src/start/interface/KeyPressHandler.js.map +1 -1
- package/build/src/start/interface/commandsTable.js +94 -80
- package/build/src/start/interface/commandsTable.js.map +1 -1
- package/build/src/start/interface/interactiveActions.js +44 -40
- package/build/src/start/interface/interactiveActions.js.map +1 -1
- package/build/src/start/interface/startInterface.js +65 -61
- package/build/src/start/interface/startInterface.js.map +1 -1
- package/build/src/start/platforms/AppIdResolver.js +6 -4
- package/build/src/start/platforms/AppIdResolver.js.map +1 -1
- package/build/src/start/platforms/DeviceManager.js +10 -6
- package/build/src/start/platforms/DeviceManager.js.map +1 -1
- package/build/src/start/platforms/ExpoGoInstaller.js +25 -20
- package/build/src/start/platforms/ExpoGoInstaller.js.map +1 -1
- package/build/src/start/platforms/PlatformManager.js +17 -15
- package/build/src/start/platforms/PlatformManager.js.map +1 -1
- package/build/src/start/platforms/android/ADBServer.js +39 -35
- package/build/src/start/platforms/android/ADBServer.js.map +1 -1
- package/build/src/start/platforms/android/AndroidAppIdResolver.js +18 -16
- package/build/src/start/platforms/android/AndroidAppIdResolver.js.map +1 -1
- package/build/src/start/platforms/android/AndroidDeviceManager.js +24 -20
- package/build/src/start/platforms/android/AndroidDeviceManager.js.map +1 -1
- package/build/src/start/platforms/android/AndroidPlatformManager.js +17 -17
- package/build/src/start/platforms/android/AndroidPlatformManager.js.map +1 -1
- package/build/src/start/platforms/android/AndroidSdk.js +11 -9
- package/build/src/start/platforms/android/AndroidSdk.js.map +1 -1
- package/build/src/start/platforms/android/activateWindow.js +26 -22
- package/build/src/start/platforms/android/activateWindow.js.map +1 -1
- package/build/src/start/platforms/android/adb.js +121 -83
- package/build/src/start/platforms/android/adb.js.map +1 -1
- package/build/src/start/platforms/android/adbReverse.js +20 -12
- package/build/src/start/platforms/android/adbReverse.js.map +1 -1
- package/build/src/start/platforms/android/emulator.js +36 -26
- package/build/src/start/platforms/android/emulator.js.map +1 -1
- package/build/src/start/platforms/android/getDevices.js +7 -5
- package/build/src/start/platforms/android/getDevices.js.map +1 -1
- package/build/src/start/platforms/android/gradle.js +36 -28
- package/build/src/start/platforms/android/gradle.js.map +1 -1
- package/build/src/start/platforms/android/promptAndroidDevice.js +19 -15
- package/build/src/start/platforms/android/promptAndroidDevice.js.map +1 -1
- package/build/src/start/platforms/ios/AppleAppIdResolver.js +21 -19
- package/build/src/start/platforms/ios/AppleAppIdResolver.js.map +1 -1
- package/build/src/start/platforms/ios/AppleDeviceManager.js +37 -31
- package/build/src/start/platforms/ios/AppleDeviceManager.js.map +1 -1
- package/build/src/start/platforms/ios/ApplePlatformManager.js +12 -12
- package/build/src/start/platforms/ios/ApplePlatformManager.js.map +1 -1
- package/build/src/start/platforms/ios/assertSystemRequirements.js +9 -7
- package/build/src/start/platforms/ios/assertSystemRequirements.js.map +1 -1
- package/build/src/start/platforms/ios/devicectl.js +88 -74
- package/build/src/start/platforms/ios/devicectl.js.map +1 -1
- package/build/src/start/platforms/ios/ensureSimulatorAppRunning.js +22 -18
- package/build/src/start/platforms/ios/ensureSimulatorAppRunning.js.map +1 -1
- package/build/src/start/platforms/ios/getBestSimulator.js +29 -19
- package/build/src/start/platforms/ios/getBestSimulator.js.map +1 -1
- package/build/src/start/platforms/ios/promptAppleDevice.js +14 -10
- package/build/src/start/platforms/ios/promptAppleDevice.js.map +1 -1
- package/build/src/start/platforms/ios/simctl.js +102 -74
- package/build/src/start/platforms/ios/simctl.js.map +1 -1
- package/build/src/start/platforms/ios/simctlLogging.js +57 -52
- package/build/src/start/platforms/ios/simctlLogging.js.map +1 -1
- package/build/src/start/platforms/ios/xcrun.js +22 -18
- package/build/src/start/platforms/ios/xcrun.js.map +1 -1
- package/build/src/start/project/devices.js +19 -9
- package/build/src/start/project/devices.js.map +1 -1
- package/build/src/start/project/dotExpo.js +15 -11
- package/build/src/start/project/dotExpo.js.map +1 -1
- package/build/src/start/project/settings.js +4 -2
- package/build/src/start/project/settings.js.map +1 -1
- package/build/src/start/resolveOptions.js +48 -40
- package/build/src/start/resolveOptions.js.map +1 -1
- package/build/src/start/server/AsyncNgrok.js +55 -51
- package/build/src/start/server/AsyncNgrok.js.map +1 -1
- package/build/src/start/server/AsyncWsTunnel.js +37 -33
- package/build/src/start/server/AsyncWsTunnel.js.map +1 -1
- package/build/src/start/server/BundlerDevServer.js +81 -79
- package/build/src/start/server/BundlerDevServer.js.map +1 -1
- package/build/src/start/server/DevServerManager.js +42 -38
- package/build/src/start/server/DevServerManager.js.map +1 -1
- package/build/src/start/server/DevToolsPluginManager.js +18 -14
- package/build/src/start/server/DevToolsPluginManager.js.map +1 -1
- package/build/src/start/server/DevelopmentSession.js +18 -14
- package/build/src/start/server/DevelopmentSession.js.map +1 -1
- package/build/src/start/server/ReactDevToolsProxy.js +16 -10
- package/build/src/start/server/ReactDevToolsProxy.js.map +1 -1
- package/build/src/start/server/UrlCreator.js +36 -33
- package/build/src/start/server/UrlCreator.js.map +1 -1
- package/build/src/start/server/getStaticRenderFunctions.js +30 -22
- package/build/src/start/server/getStaticRenderFunctions.js.map +1 -1
- package/build/src/start/server/metro/DevToolsPluginWebsocketEndpoint.js +9 -5
- package/build/src/start/server/metro/DevToolsPluginWebsocketEndpoint.js.map +1 -1
- package/build/src/start/server/metro/MetroBundlerDevServer.js +293 -280
- package/build/src/start/server/metro/MetroBundlerDevServer.js.map +1 -1
- package/build/src/start/server/metro/MetroTerminalReporter.js +63 -56
- package/build/src/start/server/metro/MetroTerminalReporter.js.map +1 -1
- package/build/src/start/server/metro/TerminalReporter.js +39 -33
- package/build/src/start/server/metro/TerminalReporter.js.map +1 -1
- package/build/src/start/server/metro/TerminalReporter.types.js.map +1 -1
- package/build/src/start/server/metro/createExpoFallbackResolver.js +13 -11
- package/build/src/start/server/metro/createExpoFallbackResolver.js.map +1 -1
- package/build/src/start/server/metro/createExpoMetroResolver.js +47 -41
- package/build/src/start/server/metro/createExpoMetroResolver.js.map +1 -1
- package/build/src/start/server/metro/createJResolver.js +31 -27
- package/build/src/start/server/metro/createJResolver.js.map +1 -1
- package/build/src/start/server/metro/createServerComponentsMiddleware.js +110 -98
- package/build/src/start/server/metro/createServerComponentsMiddleware.js.map +1 -1
- package/build/src/start/server/metro/createServerRouteMiddleware.js +34 -30
- package/build/src/start/server/metro/createServerRouteMiddleware.js.map +1 -1
- package/build/src/start/server/metro/debugging/AtlasPrerequisite.js +13 -11
- package/build/src/start/server/metro/debugging/AtlasPrerequisite.js.map +1 -1
- package/build/src/start/server/metro/debugging/MessageHandler.js +3 -1
- package/build/src/start/server/metro/debugging/MessageHandler.js.map +1 -1
- package/build/src/start/server/metro/debugging/attachAtlas.js +26 -22
- package/build/src/start/server/metro/debugging/attachAtlas.js.map +1 -1
- package/build/src/start/server/metro/debugging/createDebugMiddleware.js +19 -17
- package/build/src/start/server/metro/debugging/createDebugMiddleware.js.map +1 -1
- package/build/src/start/server/metro/debugging/createHandlersFactory.js +25 -31
- package/build/src/start/server/metro/debugging/createHandlersFactory.js.map +1 -1
- package/build/src/start/server/metro/debugging/getDebuggerType.js +6 -4
- package/build/src/start/server/metro/debugging/getDebuggerType.js.map +1 -1
- package/build/src/start/server/metro/debugging/messageHandlers/NetworkResponse.js +14 -8
- package/build/src/start/server/metro/debugging/messageHandlers/NetworkResponse.js.map +1 -1
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerGetPossibleBreakpoints.js +7 -5
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerGetPossibleBreakpoints.js.map +1 -1
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerSetBreakpointByUrl.js +8 -6
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerSetBreakpointByUrl.js.map +1 -1
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeCallFunctionOn.js +7 -5
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeCallFunctionOn.js.map +1 -1
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeEvaluate.js +14 -12
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeEvaluate.js.map +1 -1
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeGetProperties.js +14 -10
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeGetProperties.js.map +1 -1
- package/build/src/start/server/metro/debugging/pageIsSupported.js +6 -4
- package/build/src/start/server/metro/debugging/pageIsSupported.js.map +1 -1
- package/build/src/start/server/metro/debugging/types.js.map +1 -1
- package/build/src/start/server/metro/dev-server/createEventSocket.js +18 -16
- package/build/src/start/server/metro/dev-server/createEventSocket.js.map +1 -1
- package/build/src/start/server/metro/dev-server/createMessageSocket.js +23 -21
- package/build/src/start/server/metro/dev-server/createMessageSocket.js.map +1 -1
- package/build/src/start/server/metro/dev-server/createMetroMiddleware.js +23 -21
- package/build/src/start/server/metro/dev-server/createMetroMiddleware.js.map +1 -1
- package/build/src/start/server/metro/dev-server/utils/createSocketBroadcaster.js +4 -2
- package/build/src/start/server/metro/dev-server/utils/createSocketBroadcaster.js.map +1 -1
- package/build/src/start/server/metro/dev-server/utils/createSocketMap.js +4 -2
- package/build/src/start/server/metro/dev-server/utils/createSocketMap.js.map +1 -1
- package/build/src/start/server/metro/dev-server/utils/socketMessages.js +8 -4
- package/build/src/start/server/metro/dev-server/utils/socketMessages.js.map +1 -1
- package/build/src/start/server/metro/externals.js +33 -25
- package/build/src/start/server/metro/externals.js.map +1 -1
- package/build/src/start/server/metro/fetchRouterManifest.js +28 -12
- package/build/src/start/server/metro/fetchRouterManifest.js.map +1 -1
- package/build/src/start/server/metro/formatFileCandidates.js +11 -9
- package/build/src/start/server/metro/formatFileCandidates.js.map +1 -1
- package/build/src/start/server/metro/getCssModulesFromBundler.js +24 -20
- package/build/src/start/server/metro/getCssModulesFromBundler.js.map +1 -1
- package/build/src/start/server/metro/instantiateMetro.js +87 -81
- package/build/src/start/server/metro/instantiateMetro.js.map +1 -1
- package/build/src/start/server/metro/log-box/LogBoxLog.js +40 -36
- package/build/src/start/server/metro/log-box/LogBoxLog.js.map +1 -1
- package/build/src/start/server/metro/log-box/LogBoxSymbolication.js +20 -14
- package/build/src/start/server/metro/log-box/LogBoxSymbolication.js.map +1 -1
- package/build/src/start/server/metro/log-box/formatProjectFilePath.js +10 -6
- package/build/src/start/server/metro/log-box/formatProjectFilePath.js.map +1 -1
- package/build/src/start/server/metro/metroErrorInterface.js +88 -78
- package/build/src/start/server/metro/metroErrorInterface.js.map +1 -1
- package/build/src/start/server/metro/metroErrors.js +8 -4
- package/build/src/start/server/metro/metroErrors.js.map +1 -1
- package/build/src/start/server/metro/metroPrivateServer.js +9 -7
- package/build/src/start/server/metro/metroPrivateServer.js.map +1 -1
- package/build/src/start/server/metro/metroVirtualModules.js +10 -8
- package/build/src/start/server/metro/metroVirtualModules.js.map +1 -1
- package/build/src/start/server/metro/metroWatchTypeScriptFiles.js +24 -22
- package/build/src/start/server/metro/metroWatchTypeScriptFiles.js.map +1 -1
- package/build/src/start/server/metro/router.js +48 -32
- package/build/src/start/server/metro/router.js.map +1 -1
- package/build/src/start/server/metro/runServer-fork.js +24 -22
- package/build/src/start/server/metro/runServer-fork.js.map +1 -1
- package/build/src/start/server/metro/serializeHtml.js +24 -22
- package/build/src/start/server/metro/serializeHtml.js.map +1 -1
- package/build/src/start/server/metro/symbolicate.js.map +1 -1
- package/build/src/start/server/metro/waitForMetroToObserveTypeScriptFile.js +35 -29
- package/build/src/start/server/metro/waitForMetroToObserveTypeScriptFile.js.map +1 -1
- package/build/src/start/server/metro/withMetroMultiPlatform.js +150 -140
- package/build/src/start/server/metro/withMetroMultiPlatform.js.map +1 -1
- package/build/src/start/server/metro/withMetroResolvers.js +49 -39
- package/build/src/start/server/metro/withMetroResolvers.js.map +1 -1
- package/build/src/start/server/middleware/ContextModuleSourceMapsMiddleware.js +8 -6
- package/build/src/start/server/middleware/ContextModuleSourceMapsMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/CorsMiddleware.js +17 -15
- package/build/src/start/server/middleware/CorsMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/CreateFileMiddleware.js +32 -31
- package/build/src/start/server/middleware/CreateFileMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/DevToolsPluginMiddleware.js +22 -19
- package/build/src/start/server/middleware/DevToolsPluginMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/DomComponentsMiddleware.js +33 -27
- package/build/src/start/server/middleware/DomComponentsMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js +61 -57
- package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/ExpoMiddleware.js +15 -9
- package/build/src/start/server/middleware/ExpoMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/FaviconMiddleware.js +16 -15
- package/build/src/start/server/middleware/FaviconMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/HistoryFallbackMiddleware.js +4 -2
- package/build/src/start/server/middleware/HistoryFallbackMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/InterstitialPageMiddleware.js +34 -31
- package/build/src/start/server/middleware/InterstitialPageMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/ManifestMiddleware.js +64 -56
- package/build/src/start/server/middleware/ManifestMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/ReactDevToolsPageMiddleware.js +23 -19
- package/build/src/start/server/middleware/ReactDevToolsPageMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js +20 -19
- package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/ServeStaticMiddleware.js +11 -9
- package/build/src/start/server/middleware/ServeStaticMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/createBuiltinAPIRequestHandler.js +17 -11
- package/build/src/start/server/middleware/createBuiltinAPIRequestHandler.js.map +1 -1
- package/build/src/start/server/middleware/inspector/CdpClient.js +12 -10
- package/build/src/start/server/middleware/inspector/CdpClient.js.map +1 -1
- package/build/src/start/server/middleware/inspector/JsInspector.js +35 -27
- package/build/src/start/server/middleware/inspector/JsInspector.js.map +1 -1
- package/build/src/start/server/middleware/inspector/createJsInspectorMiddleware.js +21 -19
- package/build/src/start/server/middleware/inspector/createJsInspectorMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/inspector/middlwareMutations.js +6 -2
- package/build/src/start/server/middleware/inspector/middlwareMutations.js.map +1 -1
- package/build/src/start/server/middleware/metroOptions.js +120 -96
- package/build/src/start/server/middleware/metroOptions.js.map +1 -1
- package/build/src/start/server/middleware/mutations.js +7 -3
- package/build/src/start/server/middleware/mutations.js.map +1 -1
- package/build/src/start/server/middleware/resolveAssets.js +26 -18
- package/build/src/start/server/middleware/resolveAssets.js.map +1 -1
- package/build/src/start/server/middleware/resolvePlatform.js +23 -15
- package/build/src/start/server/middleware/resolvePlatform.js.map +1 -1
- package/build/src/start/server/middleware/resolveRuntimeVersionWithExpoUpdatesAsync.js +11 -9
- package/build/src/start/server/middleware/resolveRuntimeVersionWithExpoUpdatesAsync.js.map +1 -1
- package/build/src/start/server/middleware/server.types.js.map +1 -1
- package/build/src/start/server/openPlatforms.js +10 -8
- package/build/src/start/server/openPlatforms.js.map +1 -1
- package/build/src/start/server/platformBundlers.js +13 -11
- package/build/src/start/server/platformBundlers.js.map +1 -1
- package/build/src/start/server/serverLogLikeMetro.js +58 -50
- package/build/src/start/server/serverLogLikeMetro.js.map +1 -1
- package/build/src/start/server/type-generation/expo-env.js +11 -7
- package/build/src/start/server/type-generation/expo-env.js.map +1 -1
- package/build/src/start/server/type-generation/routes.js +72 -50
- package/build/src/start/server/type-generation/routes.js.map +1 -1
- package/build/src/start/server/type-generation/startTypescriptTypeGeneration.js +21 -19
- package/build/src/start/server/type-generation/startTypescriptTypeGeneration.js.map +1 -1
- package/build/src/start/server/type-generation/tsconfig.js +36 -28
- package/build/src/start/server/type-generation/tsconfig.js.map +1 -1
- package/build/src/start/server/webTemplate.js +28 -24
- package/build/src/start/server/webTemplate.js.map +1 -1
- package/build/src/start/server/webpack/WebpackBundlerDevServer.js +52 -46
- package/build/src/start/server/webpack/WebpackBundlerDevServer.js.map +1 -1
- package/build/src/start/server/webpack/compile.js +15 -11
- package/build/src/start/server/webpack/compile.js.map +1 -1
- package/build/src/start/server/webpack/formatWebpackMessages.js +28 -26
- package/build/src/start/server/webpack/formatWebpackMessages.js.map +1 -1
- package/build/src/start/server/webpack/resolveFromProject.js +18 -12
- package/build/src/start/server/webpack/resolveFromProject.js.map +1 -1
- package/build/src/start/server/webpack/tls.js +18 -12
- package/build/src/start/server/webpack/tls.js.map +1 -1
- package/build/src/start/startAsync.js +31 -27
- package/build/src/start/startAsync.js.map +1 -1
- package/build/src/utils/FileNotifier.js +20 -17
- package/build/src/utils/FileNotifier.js.map +1 -1
- package/build/src/utils/ansi.js +7 -5
- package/build/src/utils/ansi.js.map +1 -1
- package/build/src/utils/args.js +24 -14
- package/build/src/utils/args.js.map +1 -1
- package/build/src/utils/array.js +18 -6
- package/build/src/utils/array.js.map +1 -1
- package/build/src/utils/cocoapods.js +54 -46
- package/build/src/utils/cocoapods.js.map +1 -1
- package/build/src/utils/codesigning.js +79 -69
- package/build/src/utils/codesigning.js.map +1 -1
- package/build/src/utils/createFileTransform.js +16 -12
- package/build/src/utils/createFileTransform.js.map +1 -1
- package/build/src/utils/createTempPath.js +12 -8
- package/build/src/utils/createTempPath.js.map +1 -1
- package/build/src/utils/delay.js +12 -6
- package/build/src/utils/delay.js.map +1 -1
- package/build/src/utils/dir.js +40 -22
- package/build/src/utils/dir.js.map +1 -1
- package/build/src/utils/downloadAppAsync.js +10 -8
- package/build/src/utils/downloadAppAsync.js.map +1 -1
- package/build/src/utils/downloadExpoGoAsync.js +27 -23
- package/build/src/utils/downloadExpoGoAsync.js.map +1 -1
- package/build/src/utils/editor.js +41 -35
- package/build/src/utils/editor.js.map +1 -1
- package/build/src/utils/env.js +63 -59
- package/build/src/utils/env.js.map +1 -1
- package/build/src/utils/errors.js +37 -30
- package/build/src/utils/errors.js.map +1 -1
- package/build/src/utils/exit.js +35 -31
- package/build/src/utils/exit.js.map +1 -1
- package/build/src/utils/expoUpdatesCli.js +32 -22
- package/build/src/utils/expoUpdatesCli.js.map +1 -1
- package/build/src/utils/fetch.js +8 -4
- package/build/src/utils/fetch.js.map +1 -1
- package/build/src/utils/filePath.js +10 -6
- package/build/src/utils/filePath.js.map +1 -1
- package/build/src/utils/findUp.js +13 -9
- package/build/src/utils/findUp.js.map +1 -1
- package/build/src/utils/fn.js +6 -2
- package/build/src/utils/fn.js.map +1 -1
- package/build/src/utils/getOrPromptApplicationId.js +41 -35
- package/build/src/utils/getOrPromptApplicationId.js.map +1 -1
- package/build/src/utils/getRunningProcess.js +29 -21
- package/build/src/utils/getRunningProcess.js.map +1 -1
- package/build/src/utils/git.js +26 -20
- package/build/src/utils/git.js.map +1 -1
- package/build/src/utils/glob.js +8 -4
- package/build/src/utils/glob.js.map +1 -1
- package/build/src/utils/interactive.js +3 -1
- package/build/src/utils/interactive.js.map +1 -1
- package/build/src/utils/ip.js +21 -19
- package/build/src/utils/ip.js.map +1 -1
- package/build/src/utils/isModuleSymlinked.js +11 -9
- package/build/src/utils/isModuleSymlinked.js.map +1 -1
- package/build/src/utils/jsonSchemaDeref.js +20 -18
- package/build/src/utils/jsonSchemaDeref.js.map +1 -1
- package/build/src/utils/link.js +17 -13
- package/build/src/utils/link.js.map +1 -1
- package/build/src/utils/mergeGitIgnorePaths.js +46 -28
- package/build/src/utils/mergeGitIgnorePaths.js.map +1 -1
- package/build/src/utils/modifyConfigAsync.js +16 -10
- package/build/src/utils/modifyConfigAsync.js.map +1 -1
- package/build/src/utils/modifyConfigPlugins.js +10 -6
- package/build/src/utils/modifyConfigPlugins.js.map +1 -1
- package/build/src/utils/multipartMixed.js +13 -11
- package/build/src/utils/multipartMixed.js.map +1 -1
- package/build/src/utils/nodeEnv.js +12 -6
- package/build/src/utils/nodeEnv.js.map +1 -1
- package/build/src/utils/nodeModules.js +10 -8
- package/build/src/utils/nodeModules.js.map +1 -1
- package/build/src/utils/npm.js +49 -35
- package/build/src/utils/npm.js.map +1 -1
- package/build/src/utils/obj.js +11 -5
- package/build/src/utils/obj.js.map +1 -1
- package/build/src/utils/open.js +10 -8
- package/build/src/utils/open.js.map +1 -1
- package/build/src/utils/ora.js +13 -7
- package/build/src/utils/ora.js.map +1 -1
- package/build/src/utils/plist.js +21 -15
- package/build/src/utils/plist.js.map +1 -1
- package/build/src/utils/port.js +43 -33
- package/build/src/utils/port.js.map +1 -1
- package/build/src/utils/profile.js +11 -7
- package/build/src/utils/profile.js.map +1 -1
- package/build/src/utils/progress.js +11 -5
- package/build/src/utils/progress.js.map +1 -1
- package/build/src/utils/prompts.js +47 -29
- package/build/src/utils/prompts.js.map +1 -1
- package/build/src/utils/resolveArgs.js +36 -24
- package/build/src/utils/resolveArgs.js.map +1 -1
- package/build/src/utils/scheme.js +40 -32
- package/build/src/utils/scheme.js.map +1 -1
- package/build/src/utils/stream.js +5 -3
- package/build/src/utils/stream.js.map +1 -1
- package/build/src/utils/strings.js +6 -4
- package/build/src/utils/strings.js.map +1 -1
- package/build/src/utils/tar.js +18 -14
- package/build/src/utils/tar.js.map +1 -1
- package/build/src/utils/telemetry/Telemetry.js +29 -27
- package/build/src/utils/telemetry/Telemetry.js.map +1 -1
- package/build/src/utils/telemetry/clients/FetchClient.js +15 -13
- package/build/src/utils/telemetry/clients/FetchClient.js.map +1 -1
- package/build/src/utils/telemetry/clients/FetchDetachedClient.js +26 -22
- package/build/src/utils/telemetry/clients/FetchDetachedClient.js.map +1 -1
- package/build/src/utils/telemetry/clients/flushFetchDetached.js +10 -10
- package/build/src/utils/telemetry/clients/flushFetchDetached.js.map +1 -1
- package/build/src/utils/telemetry/events.js +4 -2
- package/build/src/utils/telemetry/events.js.map +1 -1
- package/build/src/utils/telemetry/index.js +25 -29
- package/build/src/utils/telemetry/index.js.map +1 -1
- package/build/src/utils/telemetry/types.js.map +1 -1
- package/build/src/utils/telemetry/utils/constants.js +8 -4
- package/build/src/utils/telemetry/utils/constants.js.map +1 -1
- package/build/src/utils/telemetry/utils/context.js +18 -14
- package/build/src/utils/telemetry/utils/context.js.map +1 -1
- package/build/src/utils/template.js +6 -4
- package/build/src/utils/template.js.map +1 -1
- package/build/src/utils/terminal.js +4 -2
- package/build/src/utils/terminal.js.map +1 -1
- package/build/src/utils/tsconfig/evaluateTsConfig.js +21 -17
- package/build/src/utils/tsconfig/evaluateTsConfig.js.map +1 -1
- package/build/src/utils/tsconfig/loadTsConfigPaths.js +18 -14
- package/build/src/utils/tsconfig/loadTsConfigPaths.js.map +1 -1
- package/build/src/utils/tsconfig/matchTsConfigPathAlias.js +7 -5
- package/build/src/utils/tsconfig/matchTsConfigPathAlias.js.map +1 -1
- package/build/src/utils/tsconfig/resolveWithTsConfigPaths.js +14 -12
- package/build/src/utils/tsconfig/resolveWithTsConfigPaths.js.map +1 -1
- package/build/src/utils/url.js +23 -13
- package/build/src/utils/url.js.map +1 -1
- package/build/src/utils/validateApplicationId.js +108 -86
- package/build/src/utils/validateApplicationId.js.map +1 -1
- package/build/src/utils/variadic.js +22 -16
- package/build/src/utils/variadic.js.map +1 -1
- package/build/src/whoami/index.js +11 -7
- package/build/src/whoami/index.js.map +1 -1
- package/build/src/whoami/whoamiAsync.js +11 -7
- package/build/src/whoami/whoamiAsync.js.map +1 -1
- package/package.json +17 -16
|
@@ -9,23 +9,35 @@ function _export(target, all) {
|
|
|
9
9
|
});
|
|
10
10
|
}
|
|
11
11
|
_export(exports, {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
12
|
+
_resolveStringOrBooleanArgs: function() {
|
|
13
|
+
return _resolveStringOrBooleanArgs;
|
|
14
|
+
},
|
|
15
|
+
assertDuplicateArgs: function() {
|
|
16
|
+
return assertDuplicateArgs;
|
|
17
|
+
},
|
|
18
|
+
assertUnknownArgs: function() {
|
|
19
|
+
return assertUnknownArgs;
|
|
20
|
+
},
|
|
21
|
+
collapseAliases: function() {
|
|
22
|
+
return collapseAliases;
|
|
23
|
+
},
|
|
24
|
+
resolveCustomBooleanArgsAsync: function() {
|
|
25
|
+
return resolveCustomBooleanArgsAsync;
|
|
26
|
+
},
|
|
27
|
+
resolveStringOrBooleanArgsAsync: function() {
|
|
28
|
+
return resolveStringOrBooleanArgsAsync;
|
|
29
|
+
}
|
|
18
30
|
});
|
|
19
31
|
const _array = require("./array");
|
|
20
32
|
const _errors = require("./errors");
|
|
21
33
|
/** Split up arguments that are formatted like `--foo=bar` or `-f="bar"` to `['--foo', 'bar']` */ function splitArgs(args) {
|
|
22
34
|
const result = [];
|
|
23
35
|
for (const arg of args){
|
|
24
|
-
if (arg.startsWith(
|
|
25
|
-
const [key, ...props] = arg.split(
|
|
36
|
+
if (arg.startsWith('-')) {
|
|
37
|
+
const [key, ...props] = arg.split('=');
|
|
26
38
|
result.push(key);
|
|
27
39
|
if (props.length) {
|
|
28
|
-
result.push(props.join(
|
|
40
|
+
result.push(props.join('='));
|
|
29
41
|
}
|
|
30
42
|
} else {
|
|
31
43
|
result.push(arg);
|
|
@@ -54,16 +66,16 @@ async function resolveCustomBooleanArgsAsync(args, rawMap, extraArgs) {
|
|
|
54
66
|
...results,
|
|
55
67
|
args: Object.fromEntries(Object.entries(results.args).map(([key, value])=>{
|
|
56
68
|
if (extraArgs[key]) {
|
|
57
|
-
if (typeof value ===
|
|
69
|
+
if (typeof value === 'string') {
|
|
58
70
|
if (![
|
|
59
|
-
|
|
60
|
-
|
|
71
|
+
'true',
|
|
72
|
+
'false'
|
|
61
73
|
].includes(value)) {
|
|
62
|
-
throw new _errors.CommandError(
|
|
74
|
+
throw new _errors.CommandError('BAD_ARGS', `Invalid boolean argument: ${key}=${value}. Expected one of: true, false`);
|
|
63
75
|
}
|
|
64
76
|
return [
|
|
65
77
|
key,
|
|
66
|
-
value ===
|
|
78
|
+
value === 'true'
|
|
67
79
|
];
|
|
68
80
|
}
|
|
69
81
|
}
|
|
@@ -76,16 +88,16 @@ async function resolveCustomBooleanArgsAsync(args, rawMap, extraArgs) {
|
|
|
76
88
|
}
|
|
77
89
|
function _resolveStringOrBooleanArgs(arg, args) {
|
|
78
90
|
// Default project root, if a custom one is defined then it will overwrite this.
|
|
79
|
-
let projectRoot =
|
|
91
|
+
let projectRoot = '.';
|
|
80
92
|
// The resolved arguments.
|
|
81
93
|
const settings = {};
|
|
82
94
|
// Create a list of possible arguments, this will filter out aliases.
|
|
83
|
-
const possibleArgs = Object.entries(arg).filter(([, value])=>typeof value !==
|
|
95
|
+
const possibleArgs = Object.entries(arg).filter(([, value])=>typeof value !== 'string').map(([key])=>key);
|
|
84
96
|
// Loop over arguments in reverse order so we can resolve if a value belongs to a flag.
|
|
85
97
|
for(let i = args.length - 1; i > -1; i--){
|
|
86
98
|
const value = args[i];
|
|
87
99
|
// At this point we should have converted all aliases to fully qualified arguments.
|
|
88
|
-
if (value.startsWith(
|
|
100
|
+
if (value.startsWith('--')) {
|
|
89
101
|
// If we ever find an argument then it must be a boolean because we are checking in reverse
|
|
90
102
|
// and removing arguments from the array if we find a string.
|
|
91
103
|
// We don't override arguments that are already set
|
|
@@ -107,7 +119,7 @@ function _resolveStringOrBooleanArgs(arg, args) {
|
|
|
107
119
|
projectRoot = value;
|
|
108
120
|
} else {
|
|
109
121
|
// This will asserts if two strings are passed in a row and not at the end of the line.
|
|
110
|
-
throw new _errors.CommandError(
|
|
122
|
+
throw new _errors.CommandError('BAD_ARGS', `Unknown argument: ${value}`);
|
|
111
123
|
}
|
|
112
124
|
}
|
|
113
125
|
}
|
|
@@ -118,8 +130,8 @@ function _resolveStringOrBooleanArgs(arg, args) {
|
|
|
118
130
|
}
|
|
119
131
|
function collapseAliases(arg, args) {
|
|
120
132
|
const aliasMap = getAliasTuples(arg);
|
|
121
|
-
for (const [
|
|
122
|
-
args = (0, _array.replaceValue)(args,
|
|
133
|
+
for (const [arg, alias] of aliasMap){
|
|
134
|
+
args = (0, _array.replaceValue)(args, arg, alias);
|
|
123
135
|
}
|
|
124
136
|
// Assert if there are duplicate flags after we collapse the aliases.
|
|
125
137
|
assertDuplicateArgs(args, aliasMap);
|
|
@@ -127,13 +139,13 @@ function collapseAliases(arg, args) {
|
|
|
127
139
|
}
|
|
128
140
|
function assertUnknownArgs(arg, args) {
|
|
129
141
|
const allowedArgs = Object.keys(arg);
|
|
130
|
-
const unknownArgs = args.filter((arg)=>!allowedArgs.includes(arg) && arg.startsWith(
|
|
142
|
+
const unknownArgs = args.filter((arg)=>!allowedArgs.includes(arg) && arg.startsWith('-'));
|
|
131
143
|
if (unknownArgs.length > 0) {
|
|
132
|
-
throw new _errors.CommandError(`Unknown arguments: ${unknownArgs.join(
|
|
144
|
+
throw new _errors.CommandError(`Unknown arguments: ${unknownArgs.join(', ')}`);
|
|
133
145
|
}
|
|
134
146
|
}
|
|
135
147
|
function getAliasTuples(arg) {
|
|
136
|
-
return Object.entries(arg).filter(([, value])=>typeof value ===
|
|
148
|
+
return Object.entries(arg).filter(([, value])=>typeof value === 'string');
|
|
137
149
|
}
|
|
138
150
|
function assertDuplicateArgs(args, argNameAliasTuple) {
|
|
139
151
|
for (const [argName, argNameAlias] of argNameAliasTuple){
|
|
@@ -141,7 +153,7 @@ function assertDuplicateArgs(args, argNameAliasTuple) {
|
|
|
141
153
|
argName,
|
|
142
154
|
argNameAlias
|
|
143
155
|
].includes(a)).length > 1) {
|
|
144
|
-
throw new _errors.CommandError(
|
|
156
|
+
throw new _errors.CommandError('BAD_ARGS', `Can only provide one instance of ${argName} or ${argNameAlias}`);
|
|
145
157
|
}
|
|
146
158
|
}
|
|
147
159
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/utils/resolveArgs.ts"],"sourcesContent":["import arg, { Spec } from 'arg';\n\nimport { replaceValue } from './array';\nimport { CommandError } from './errors';\n\n/** Split up arguments that are formatted like `--foo=bar` or `-f=\"bar\"` to `['--foo', 'bar']` */\nfunction splitArgs(args: string[]): string[] {\n const result: string[] = [];\n\n for (const arg of args) {\n if (arg.startsWith('-')) {\n const [key, ...props] = arg.split('=');\n result.push(key);\n if (props.length) {\n result.push(props.join('='));\n }\n } else {\n result.push(arg);\n }\n }\n\n return result;\n}\n\n/**\n * Enables the resolution of arguments that can either be a string or a boolean.\n *\n * @param args arguments that were passed to the command.\n * @param rawMap raw map of arguments that are passed to the command.\n * @param extraArgs extra arguments and aliases that should be resolved as string or boolean.\n * @returns parsed arguments and project root.\n */\nexport async function resolveStringOrBooleanArgsAsync(\n args: string[],\n rawMap: arg.Spec,\n extraArgs: arg.Spec\n) {\n args = splitArgs(args);\n\n // Assert any missing arguments\n assertUnknownArgs(\n {\n ...rawMap,\n ...extraArgs,\n },\n args\n );\n\n // Collapse aliases into fully qualified arguments.\n args = collapseAliases(extraArgs, args);\n\n // Resolve all of the string or boolean arguments and the project root.\n return _resolveStringOrBooleanArgs({ ...rawMap, ...extraArgs }, args);\n}\n\n/**\n * Enables the resolution of boolean arguments that can be formatted like `--foo=true` or `--foo false`\n *\n * @param args arguments that were passed to the command.\n * @param rawMap raw map of arguments that are passed to the command.\n * @param extraArgs extra arguments and aliases that should be resolved as string or boolean.\n * @returns parsed arguments and project root.\n */\nexport async function resolveCustomBooleanArgsAsync(\n args: string[],\n rawMap: arg.Spec,\n extraArgs: arg.Spec\n) {\n const results = await resolveStringOrBooleanArgsAsync(args, rawMap, extraArgs);\n\n return {\n ...results,\n args: Object.fromEntries(\n Object.entries(results.args).map(([key, value]) => {\n if (extraArgs[key]) {\n if (typeof value === 'string') {\n if (!['true', 'false'].includes(value)) {\n throw new CommandError(\n 'BAD_ARGS',\n `Invalid boolean argument: ${key}=${value}. Expected one of: true, false`\n );\n }\n return [key, value === 'true'];\n }\n }\n return [key, value];\n })\n ),\n };\n}\n\nexport function _resolveStringOrBooleanArgs(arg: Spec, args: string[]) {\n // Default project root, if a custom one is defined then it will overwrite this.\n let projectRoot: string = '.';\n // The resolved arguments.\n const settings: Record<string, string | boolean | undefined> = {};\n\n // Create a list of possible arguments, this will filter out aliases.\n const possibleArgs = Object.entries(arg)\n .filter(([, value]) => typeof value !== 'string')\n .map(([key]) => key);\n\n // Loop over arguments in reverse order so we can resolve if a value belongs to a flag.\n for (let i = args.length - 1; i > -1; i--) {\n const value = args[i];\n // At this point we should have converted all aliases to fully qualified arguments.\n if (value.startsWith('--')) {\n // If we ever find an argument then it must be a boolean because we are checking in reverse\n // and removing arguments from the array if we find a string.\n // We don't override arguments that are already set\n if (!(value in settings)) {\n settings[value] = true;\n }\n } else {\n // Get the previous argument in the array.\n const nextValue = i > 0 ? args[i - 1] : null;\n if (nextValue && possibleArgs.includes(nextValue)) {\n // We don't override arguments that are already set\n if (!(nextValue in settings)) {\n settings[nextValue] = value;\n }\n i--;\n } else if (\n // If the last value is not a flag and it doesn't have a recognized flag before it (instead having a string value or nothing)\n // then it must be the project root.\n i ===\n args.length - 1\n ) {\n projectRoot = value;\n } else {\n // This will asserts if two strings are passed in a row and not at the end of the line.\n throw new CommandError('BAD_ARGS', `Unknown argument: ${value}`);\n }\n }\n }\n\n return {\n args: settings,\n projectRoot,\n };\n}\n\n/** Convert all aliases to fully qualified flag names. */\nexport function collapseAliases(arg: Spec, args: string[]): string[] {\n const aliasMap = getAliasTuples(arg);\n\n for (const [arg, alias] of aliasMap) {\n args = replaceValue(args, arg, alias);\n }\n\n // Assert if there are duplicate flags after we collapse the aliases.\n assertDuplicateArgs(args, aliasMap);\n return args;\n}\n\n/** Assert that the spec has unknown arguments. */\nexport function assertUnknownArgs(arg: Spec, args: string[]) {\n const allowedArgs = Object.keys(arg);\n const unknownArgs = args.filter((arg) => !allowedArgs.includes(arg) && arg.startsWith('-'));\n if (unknownArgs.length > 0) {\n throw new CommandError(`Unknown arguments: ${unknownArgs.join(', ')}`);\n }\n}\n\nfunction getAliasTuples(arg: Spec): [string, string][] {\n return Object.entries(arg).filter(([, value]) => typeof value === 'string') as [string, string][];\n}\n\n/** Asserts that a duplicate flag has been used, this naively throws without knowing if an alias or flag were used as the duplicate. */\nexport function assertDuplicateArgs(args: string[], argNameAliasTuple: [string, string][]) {\n for (const [argName, argNameAlias] of argNameAliasTuple) {\n if (args.filter((a) => [argName, argNameAlias].includes(a)).length > 1) {\n throw new CommandError(\n 'BAD_ARGS',\n `Can only provide one instance of ${argName} or ${argNameAlias}`\n );\n }\n }\n}\n"],"names":["resolveStringOrBooleanArgsAsync","resolveCustomBooleanArgsAsync","_resolveStringOrBooleanArgs","collapseAliases","assertUnknownArgs","assertDuplicateArgs","splitArgs","args","result","arg","startsWith","key","props","split","push","length","join","rawMap","extraArgs","results","Object","fromEntries","entries","map","value","includes","CommandError","projectRoot","settings","possibleArgs","filter","i","nextValue","aliasMap","getAliasTuples","alias","replaceValue","allowedArgs","keys","unknownArgs","argNameAliasTuple","argName","argNameAlias","a"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../src/utils/resolveArgs.ts"],"sourcesContent":["import arg, { Spec } from 'arg';\n\nimport { replaceValue } from './array';\nimport { CommandError } from './errors';\n\n/** Split up arguments that are formatted like `--foo=bar` or `-f=\"bar\"` to `['--foo', 'bar']` */\nfunction splitArgs(args: string[]): string[] {\n const result: string[] = [];\n\n for (const arg of args) {\n if (arg.startsWith('-')) {\n const [key, ...props] = arg.split('=');\n result.push(key);\n if (props.length) {\n result.push(props.join('='));\n }\n } else {\n result.push(arg);\n }\n }\n\n return result;\n}\n\n/**\n * Enables the resolution of arguments that can either be a string or a boolean.\n *\n * @param args arguments that were passed to the command.\n * @param rawMap raw map of arguments that are passed to the command.\n * @param extraArgs extra arguments and aliases that should be resolved as string or boolean.\n * @returns parsed arguments and project root.\n */\nexport async function resolveStringOrBooleanArgsAsync(\n args: string[],\n rawMap: arg.Spec,\n extraArgs: arg.Spec\n) {\n args = splitArgs(args);\n\n // Assert any missing arguments\n assertUnknownArgs(\n {\n ...rawMap,\n ...extraArgs,\n },\n args\n );\n\n // Collapse aliases into fully qualified arguments.\n args = collapseAliases(extraArgs, args);\n\n // Resolve all of the string or boolean arguments and the project root.\n return _resolveStringOrBooleanArgs({ ...rawMap, ...extraArgs }, args);\n}\n\n/**\n * Enables the resolution of boolean arguments that can be formatted like `--foo=true` or `--foo false`\n *\n * @param args arguments that were passed to the command.\n * @param rawMap raw map of arguments that are passed to the command.\n * @param extraArgs extra arguments and aliases that should be resolved as string or boolean.\n * @returns parsed arguments and project root.\n */\nexport async function resolveCustomBooleanArgsAsync(\n args: string[],\n rawMap: arg.Spec,\n extraArgs: arg.Spec\n) {\n const results = await resolveStringOrBooleanArgsAsync(args, rawMap, extraArgs);\n\n return {\n ...results,\n args: Object.fromEntries(\n Object.entries(results.args).map(([key, value]) => {\n if (extraArgs[key]) {\n if (typeof value === 'string') {\n if (!['true', 'false'].includes(value)) {\n throw new CommandError(\n 'BAD_ARGS',\n `Invalid boolean argument: ${key}=${value}. Expected one of: true, false`\n );\n }\n return [key, value === 'true'];\n }\n }\n return [key, value];\n })\n ),\n };\n}\n\nexport function _resolveStringOrBooleanArgs(arg: Spec, args: string[]) {\n // Default project root, if a custom one is defined then it will overwrite this.\n let projectRoot: string = '.';\n // The resolved arguments.\n const settings: Record<string, string | boolean | undefined> = {};\n\n // Create a list of possible arguments, this will filter out aliases.\n const possibleArgs = Object.entries(arg)\n .filter(([, value]) => typeof value !== 'string')\n .map(([key]) => key);\n\n // Loop over arguments in reverse order so we can resolve if a value belongs to a flag.\n for (let i = args.length - 1; i > -1; i--) {\n const value = args[i];\n // At this point we should have converted all aliases to fully qualified arguments.\n if (value.startsWith('--')) {\n // If we ever find an argument then it must be a boolean because we are checking in reverse\n // and removing arguments from the array if we find a string.\n // We don't override arguments that are already set\n if (!(value in settings)) {\n settings[value] = true;\n }\n } else {\n // Get the previous argument in the array.\n const nextValue = i > 0 ? args[i - 1] : null;\n if (nextValue && possibleArgs.includes(nextValue)) {\n // We don't override arguments that are already set\n if (!(nextValue in settings)) {\n settings[nextValue] = value;\n }\n i--;\n } else if (\n // If the last value is not a flag and it doesn't have a recognized flag before it (instead having a string value or nothing)\n // then it must be the project root.\n i ===\n args.length - 1\n ) {\n projectRoot = value;\n } else {\n // This will asserts if two strings are passed in a row and not at the end of the line.\n throw new CommandError('BAD_ARGS', `Unknown argument: ${value}`);\n }\n }\n }\n\n return {\n args: settings,\n projectRoot,\n };\n}\n\n/** Convert all aliases to fully qualified flag names. */\nexport function collapseAliases(arg: Spec, args: string[]): string[] {\n const aliasMap = getAliasTuples(arg);\n\n for (const [arg, alias] of aliasMap) {\n args = replaceValue(args, arg, alias);\n }\n\n // Assert if there are duplicate flags after we collapse the aliases.\n assertDuplicateArgs(args, aliasMap);\n return args;\n}\n\n/** Assert that the spec has unknown arguments. */\nexport function assertUnknownArgs(arg: Spec, args: string[]) {\n const allowedArgs = Object.keys(arg);\n const unknownArgs = args.filter((arg) => !allowedArgs.includes(arg) && arg.startsWith('-'));\n if (unknownArgs.length > 0) {\n throw new CommandError(`Unknown arguments: ${unknownArgs.join(', ')}`);\n }\n}\n\nfunction getAliasTuples(arg: Spec): [string, string][] {\n return Object.entries(arg).filter(([, value]) => typeof value === 'string') as [string, string][];\n}\n\n/** Asserts that a duplicate flag has been used, this naively throws without knowing if an alias or flag were used as the duplicate. */\nexport function assertDuplicateArgs(args: string[], argNameAliasTuple: [string, string][]) {\n for (const [argName, argNameAlias] of argNameAliasTuple) {\n if (args.filter((a) => [argName, argNameAlias].includes(a)).length > 1) {\n throw new CommandError(\n 'BAD_ARGS',\n `Can only provide one instance of ${argName} or ${argNameAlias}`\n );\n }\n }\n}\n"],"names":["_resolveStringOrBooleanArgs","assertDuplicateArgs","assertUnknownArgs","collapseAliases","resolveCustomBooleanArgsAsync","resolveStringOrBooleanArgsAsync","splitArgs","args","result","arg","startsWith","key","props","split","push","length","join","rawMap","extraArgs","results","Object","fromEntries","entries","map","value","includes","CommandError","projectRoot","settings","possibleArgs","filter","i","nextValue","aliasMap","getAliasTuples","alias","replaceValue","allowedArgs","keys","unknownArgs","argNameAliasTuple","argName","argNameAlias","a"],"mappings":"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"}
|
|
@@ -9,9 +9,15 @@ function _export(target, all) {
|
|
|
9
9
|
});
|
|
10
10
|
}
|
|
11
11
|
_export(exports, {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
12
|
+
getOptionalDevClientSchemeAsync: function() {
|
|
13
|
+
return getOptionalDevClientSchemeAsync;
|
|
14
|
+
},
|
|
15
|
+
getSchemesForAndroidAsync: function() {
|
|
16
|
+
return getSchemesForAndroidAsync;
|
|
17
|
+
},
|
|
18
|
+
getSchemesForIosAsync: function() {
|
|
19
|
+
return getSchemesForIosAsync;
|
|
20
|
+
}
|
|
15
21
|
});
|
|
16
22
|
function _config() {
|
|
17
23
|
const data = require("@expo/config");
|
|
@@ -20,9 +26,9 @@ function _config() {
|
|
|
20
26
|
};
|
|
21
27
|
return data;
|
|
22
28
|
}
|
|
23
|
-
function
|
|
29
|
+
function _configplugins() {
|
|
24
30
|
const data = require("@expo/config-plugins");
|
|
25
|
-
|
|
31
|
+
_configplugins = function() {
|
|
26
32
|
return data;
|
|
27
33
|
};
|
|
28
34
|
return data;
|
|
@@ -35,37 +41,37 @@ function _getInfoPlistPath() {
|
|
|
35
41
|
return data;
|
|
36
42
|
}
|
|
37
43
|
function _plist() {
|
|
38
|
-
const data = /*#__PURE__*/
|
|
44
|
+
const data = /*#__PURE__*/ _interop_require_default(require("@expo/plist"));
|
|
39
45
|
_plist = function() {
|
|
40
46
|
return data;
|
|
41
47
|
};
|
|
42
48
|
return data;
|
|
43
49
|
}
|
|
44
50
|
function _fs() {
|
|
45
|
-
const data = /*#__PURE__*/
|
|
51
|
+
const data = /*#__PURE__*/ _interop_require_default(require("fs"));
|
|
46
52
|
_fs = function() {
|
|
47
53
|
return data;
|
|
48
54
|
};
|
|
49
55
|
return data;
|
|
50
56
|
}
|
|
51
57
|
function _path() {
|
|
52
|
-
const data = /*#__PURE__*/
|
|
58
|
+
const data = /*#__PURE__*/ _interop_require_default(require("path"));
|
|
53
59
|
_path = function() {
|
|
54
60
|
return data;
|
|
55
61
|
};
|
|
56
62
|
return data;
|
|
57
63
|
}
|
|
58
|
-
function
|
|
59
|
-
const data = /*#__PURE__*/
|
|
60
|
-
|
|
64
|
+
function _resolvefrom() {
|
|
65
|
+
const data = /*#__PURE__*/ _interop_require_default(require("resolve-from"));
|
|
66
|
+
_resolvefrom = function() {
|
|
61
67
|
return data;
|
|
62
68
|
};
|
|
63
69
|
return data;
|
|
64
70
|
}
|
|
65
71
|
const _array = require("./array");
|
|
66
|
-
const _log = /*#__PURE__*/
|
|
72
|
+
const _log = /*#__PURE__*/ _interop_require_wildcard(require("../log"));
|
|
67
73
|
const _clearNativeFolder = require("../prebuild/clearNativeFolder");
|
|
68
|
-
function
|
|
74
|
+
function _interop_require_default(obj) {
|
|
69
75
|
return obj && obj.__esModule ? obj : {
|
|
70
76
|
default: obj
|
|
71
77
|
};
|
|
@@ -78,7 +84,7 @@ function _getRequireWildcardCache(nodeInterop) {
|
|
|
78
84
|
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
|
79
85
|
})(nodeInterop);
|
|
80
86
|
}
|
|
81
|
-
function
|
|
87
|
+
function _interop_require_wildcard(obj, nodeInterop) {
|
|
82
88
|
if (!nodeInterop && obj && obj.__esModule) {
|
|
83
89
|
return obj;
|
|
84
90
|
}
|
|
@@ -91,7 +97,9 @@ function _interopRequireWildcard(obj, nodeInterop) {
|
|
|
91
97
|
if (cache && cache.has(obj)) {
|
|
92
98
|
return cache.get(obj);
|
|
93
99
|
}
|
|
94
|
-
var newObj = {
|
|
100
|
+
var newObj = {
|
|
101
|
+
__proto__: null
|
|
102
|
+
};
|
|
95
103
|
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
96
104
|
for(var key in obj){
|
|
97
105
|
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
@@ -109,7 +117,7 @@ function _interopRequireWildcard(obj, nodeInterop) {
|
|
|
109
117
|
}
|
|
110
118
|
return newObj;
|
|
111
119
|
}
|
|
112
|
-
const debug = require(
|
|
120
|
+
const debug = require('debug')('expo:utils:scheme');
|
|
113
121
|
// sort longest to ensure uniqueness.
|
|
114
122
|
// this might be undesirable as it causes the QR code to be longer.
|
|
115
123
|
function sortLongest(obj) {
|
|
@@ -120,7 +128,7 @@ function sortLongest(obj) {
|
|
|
120
128
|
* - filter on known Expo schemes, starting with `exp+`, avoiding 3rd party schemes.
|
|
121
129
|
* - filter on longest to ensure uniqueness.
|
|
122
130
|
*/ function resolveExpoOrLongestScheme(schemes) {
|
|
123
|
-
const expoOnlySchemes = schemes.filter((scheme)=>scheme.startsWith(
|
|
131
|
+
const expoOnlySchemes = schemes.filter((scheme)=>scheme.startsWith('exp+'));
|
|
124
132
|
return expoOnlySchemes.length > 0 ? sortLongest(expoOnlySchemes) : sortLongest(schemes);
|
|
125
133
|
}
|
|
126
134
|
async function getSchemesForIosAsync(projectRoot) {
|
|
@@ -128,10 +136,10 @@ async function getSchemesForIosAsync(projectRoot) {
|
|
|
128
136
|
const infoPlistBuildProperty = (0, _getInfoPlistPath().getInfoPlistPathFromPbxproj)(projectRoot);
|
|
129
137
|
debug(`ios application Info.plist path:`, infoPlistBuildProperty);
|
|
130
138
|
if (infoPlistBuildProperty) {
|
|
131
|
-
const configPath = _path().default.join(projectRoot,
|
|
132
|
-
const rawPlist = _fs().default.readFileSync(configPath,
|
|
139
|
+
const configPath = _path().default.join(projectRoot, 'ios', infoPlistBuildProperty);
|
|
140
|
+
const rawPlist = _fs().default.readFileSync(configPath, 'utf8');
|
|
133
141
|
const plistObject = _plist().default.parse(rawPlist);
|
|
134
|
-
const schemes =
|
|
142
|
+
const schemes = _configplugins().IOSConfig.Scheme.getSchemesFromPlist(plistObject);
|
|
135
143
|
debug(`ios application schemes:`, schemes);
|
|
136
144
|
return resolveExpoOrLongestScheme(schemes);
|
|
137
145
|
}
|
|
@@ -143,9 +151,9 @@ async function getSchemesForIosAsync(projectRoot) {
|
|
|
143
151
|
}
|
|
144
152
|
async function getSchemesForAndroidAsync(projectRoot) {
|
|
145
153
|
try {
|
|
146
|
-
const configPath = await
|
|
147
|
-
const manifest = await
|
|
148
|
-
const schemes = await
|
|
154
|
+
const configPath = await _configplugins().AndroidConfig.Paths.getAndroidManifestAsync(projectRoot);
|
|
155
|
+
const manifest = await _configplugins().AndroidConfig.Manifest.readAndroidManifestAsync(configPath);
|
|
156
|
+
const schemes = await _configplugins().AndroidConfig.Scheme.getSchemesFromManifest(manifest);
|
|
149
157
|
debug(`android application schemes:`, schemes);
|
|
150
158
|
return resolveExpoOrLongestScheme(schemes);
|
|
151
159
|
} catch (error) {
|
|
@@ -156,47 +164,47 @@ async function getSchemesForAndroidAsync(projectRoot) {
|
|
|
156
164
|
}
|
|
157
165
|
// TODO: Revisit and test after run code is merged.
|
|
158
166
|
async function getManagedDevClientSchemeAsync(projectRoot) {
|
|
159
|
-
const { exp
|
|
167
|
+
const { exp } = (0, _config().getConfig)(projectRoot);
|
|
160
168
|
try {
|
|
161
|
-
const getDefaultScheme = require((0,
|
|
169
|
+
const getDefaultScheme = require((0, _resolvefrom().default)(projectRoot, 'expo-dev-client/getDefaultScheme'));
|
|
162
170
|
const scheme = getDefaultScheme(exp);
|
|
163
171
|
return scheme;
|
|
164
172
|
} catch {
|
|
165
|
-
_log.warn(
|
|
173
|
+
_log.warn('\nDevelopment build: Unable to get the default URI scheme for the project. Please make sure the expo-dev-client package is installed.');
|
|
166
174
|
return null;
|
|
167
175
|
}
|
|
168
176
|
}
|
|
169
177
|
async function getOptionalDevClientSchemeAsync(projectRoot) {
|
|
170
178
|
const [hasIos, hasAndroid] = await Promise.all([
|
|
171
179
|
(0, _clearNativeFolder.hasRequiredIOSFilesAsync)(projectRoot),
|
|
172
|
-
(0, _clearNativeFolder.hasRequiredAndroidFilesAsync)(projectRoot)
|
|
180
|
+
(0, _clearNativeFolder.hasRequiredAndroidFilesAsync)(projectRoot)
|
|
173
181
|
]);
|
|
174
182
|
const [ios, android] = await Promise.all([
|
|
175
183
|
getSchemesForIosAsync(projectRoot),
|
|
176
|
-
getSchemesForAndroidAsync(projectRoot)
|
|
184
|
+
getSchemesForAndroidAsync(projectRoot)
|
|
177
185
|
]);
|
|
178
186
|
// Allow managed projects
|
|
179
187
|
if (!hasIos && !hasAndroid) {
|
|
180
188
|
return {
|
|
181
189
|
scheme: await getManagedDevClientSchemeAsync(projectRoot),
|
|
182
|
-
resolution:
|
|
190
|
+
resolution: 'config'
|
|
183
191
|
};
|
|
184
192
|
}
|
|
185
193
|
// Allow for only one native project to exist.
|
|
186
194
|
if (!hasIos) {
|
|
187
195
|
return {
|
|
188
196
|
scheme: android[0],
|
|
189
|
-
resolution:
|
|
197
|
+
resolution: 'android'
|
|
190
198
|
};
|
|
191
199
|
} else if (!hasAndroid) {
|
|
192
200
|
return {
|
|
193
201
|
scheme: ios[0],
|
|
194
|
-
resolution:
|
|
202
|
+
resolution: 'ios'
|
|
195
203
|
};
|
|
196
204
|
} else {
|
|
197
205
|
return {
|
|
198
206
|
scheme: (0, _array.intersecting)(ios, android)[0],
|
|
199
|
-
resolution:
|
|
207
|
+
resolution: 'shared'
|
|
200
208
|
};
|
|
201
209
|
}
|
|
202
210
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/utils/scheme.ts"],"sourcesContent":["import { getConfig } from '@expo/config';\nimport { AndroidConfig, IOSConfig } from '@expo/config-plugins';\nimport { getInfoPlistPathFromPbxproj } from '@expo/config-plugins/build/ios/utils/getInfoPlistPath';\nimport plist from '@expo/plist';\nimport fs from 'fs';\nimport path from 'path';\nimport resolveFrom from 'resolve-from';\n\nimport { intersecting } from './array';\nimport * as Log from '../log';\nimport {\n hasRequiredAndroidFilesAsync,\n hasRequiredIOSFilesAsync,\n} from '../prebuild/clearNativeFolder';\n\nconst debug = require('debug')('expo:utils:scheme') as typeof console.log;\n\n// sort longest to ensure uniqueness.\n// this might be undesirable as it causes the QR code to be longer.\nfunction sortLongest(obj: string[]): string[] {\n return obj.sort((a, b) => b.length - a.length);\n}\n\n/**\n * Resolve the scheme for the dev client using two methods:\n * - filter on known Expo schemes, starting with `exp+`, avoiding 3rd party schemes.\n * - filter on longest to ensure uniqueness.\n */\nfunction resolveExpoOrLongestScheme(schemes: string[]): string[] {\n const expoOnlySchemes = schemes.filter((scheme) => scheme.startsWith('exp+'));\n return expoOnlySchemes.length > 0 ? sortLongest(expoOnlySchemes) : sortLongest(schemes);\n}\n\n// TODO: Revisit and test after run code is merged.\nexport async function getSchemesForIosAsync(projectRoot: string): Promise<string[]> {\n try {\n const infoPlistBuildProperty = getInfoPlistPathFromPbxproj(projectRoot);\n debug(`ios application Info.plist path:`, infoPlistBuildProperty);\n if (infoPlistBuildProperty) {\n const configPath = path.join(projectRoot, 'ios', infoPlistBuildProperty);\n const rawPlist = fs.readFileSync(configPath, 'utf8');\n const plistObject = plist.parse(rawPlist);\n const schemes = IOSConfig.Scheme.getSchemesFromPlist(plistObject);\n debug(`ios application schemes:`, schemes);\n return resolveExpoOrLongestScheme(schemes);\n }\n } catch (error) {\n debug(`expected error collecting ios application schemes for the main target:`, error);\n }\n // No ios folder or some other error\n return [];\n}\n\n// TODO: Revisit and test after run code is merged.\nexport async function getSchemesForAndroidAsync(projectRoot: string): Promise<string[]> {\n try {\n const configPath = await AndroidConfig.Paths.getAndroidManifestAsync(projectRoot);\n const manifest = await AndroidConfig.Manifest.readAndroidManifestAsync(configPath);\n const schemes = await AndroidConfig.Scheme.getSchemesFromManifest(manifest);\n debug(`android application schemes:`, schemes);\n return resolveExpoOrLongestScheme(schemes);\n } catch (error) {\n debug(`expected error collecting android application schemes for the main activity:`, error);\n // No android folder or some other error\n return [];\n }\n}\n\n// TODO: Revisit and test after run code is merged.\nasync function getManagedDevClientSchemeAsync(projectRoot: string): Promise<string | null> {\n const { exp } = getConfig(projectRoot);\n try {\n const getDefaultScheme = require(resolveFrom(projectRoot, 'expo-dev-client/getDefaultScheme'));\n const scheme = getDefaultScheme(exp);\n return scheme;\n } catch {\n Log.warn(\n '\\nDevelopment build: Unable to get the default URI scheme for the project. Please make sure the expo-dev-client package is installed.'\n );\n return null;\n }\n}\n\n// TODO: Revisit and test after run code is merged.\nexport async function getOptionalDevClientSchemeAsync(\n projectRoot: string\n): Promise<{ scheme: string | null; resolution: 'config' | 'shared' | 'android' | 'ios' }> {\n const [hasIos, hasAndroid] = await Promise.all([\n hasRequiredIOSFilesAsync(projectRoot),\n hasRequiredAndroidFilesAsync(projectRoot),\n ]);\n\n const [ios, android] = await Promise.all([\n getSchemesForIosAsync(projectRoot),\n getSchemesForAndroidAsync(projectRoot),\n ]);\n\n // Allow managed projects\n if (!hasIos && !hasAndroid) {\n return { scheme: await getManagedDevClientSchemeAsync(projectRoot), resolution: 'config' };\n }\n\n // Allow for only one native project to exist.\n if (!hasIos) {\n return { scheme: android[0], resolution: 'android' };\n } else if (!hasAndroid) {\n return { scheme: ios[0], resolution: 'ios' };\n } else {\n return { scheme: intersecting(ios, android)[0], resolution: 'shared' };\n }\n}\n"],"names":["
|
|
1
|
+
{"version":3,"sources":["../../../src/utils/scheme.ts"],"sourcesContent":["import { getConfig } from '@expo/config';\nimport { AndroidConfig, IOSConfig } from '@expo/config-plugins';\nimport { getInfoPlistPathFromPbxproj } from '@expo/config-plugins/build/ios/utils/getInfoPlistPath';\nimport plist from '@expo/plist';\nimport fs from 'fs';\nimport path from 'path';\nimport resolveFrom from 'resolve-from';\n\nimport { intersecting } from './array';\nimport * as Log from '../log';\nimport {\n hasRequiredAndroidFilesAsync,\n hasRequiredIOSFilesAsync,\n} from '../prebuild/clearNativeFolder';\n\nconst debug = require('debug')('expo:utils:scheme') as typeof console.log;\n\n// sort longest to ensure uniqueness.\n// this might be undesirable as it causes the QR code to be longer.\nfunction sortLongest(obj: string[]): string[] {\n return obj.sort((a, b) => b.length - a.length);\n}\n\n/**\n * Resolve the scheme for the dev client using two methods:\n * - filter on known Expo schemes, starting with `exp+`, avoiding 3rd party schemes.\n * - filter on longest to ensure uniqueness.\n */\nfunction resolveExpoOrLongestScheme(schemes: string[]): string[] {\n const expoOnlySchemes = schemes.filter((scheme) => scheme.startsWith('exp+'));\n return expoOnlySchemes.length > 0 ? sortLongest(expoOnlySchemes) : sortLongest(schemes);\n}\n\n// TODO: Revisit and test after run code is merged.\nexport async function getSchemesForIosAsync(projectRoot: string): Promise<string[]> {\n try {\n const infoPlistBuildProperty = getInfoPlistPathFromPbxproj(projectRoot);\n debug(`ios application Info.plist path:`, infoPlistBuildProperty);\n if (infoPlistBuildProperty) {\n const configPath = path.join(projectRoot, 'ios', infoPlistBuildProperty);\n const rawPlist = fs.readFileSync(configPath, 'utf8');\n const plistObject = plist.parse(rawPlist);\n const schemes = IOSConfig.Scheme.getSchemesFromPlist(plistObject);\n debug(`ios application schemes:`, schemes);\n return resolveExpoOrLongestScheme(schemes);\n }\n } catch (error) {\n debug(`expected error collecting ios application schemes for the main target:`, error);\n }\n // No ios folder or some other error\n return [];\n}\n\n// TODO: Revisit and test after run code is merged.\nexport async function getSchemesForAndroidAsync(projectRoot: string): Promise<string[]> {\n try {\n const configPath = await AndroidConfig.Paths.getAndroidManifestAsync(projectRoot);\n const manifest = await AndroidConfig.Manifest.readAndroidManifestAsync(configPath);\n const schemes = await AndroidConfig.Scheme.getSchemesFromManifest(manifest);\n debug(`android application schemes:`, schemes);\n return resolveExpoOrLongestScheme(schemes);\n } catch (error) {\n debug(`expected error collecting android application schemes for the main activity:`, error);\n // No android folder or some other error\n return [];\n }\n}\n\n// TODO: Revisit and test after run code is merged.\nasync function getManagedDevClientSchemeAsync(projectRoot: string): Promise<string | null> {\n const { exp } = getConfig(projectRoot);\n try {\n const getDefaultScheme = require(resolveFrom(projectRoot, 'expo-dev-client/getDefaultScheme'));\n const scheme = getDefaultScheme(exp);\n return scheme;\n } catch {\n Log.warn(\n '\\nDevelopment build: Unable to get the default URI scheme for the project. Please make sure the expo-dev-client package is installed.'\n );\n return null;\n }\n}\n\n// TODO: Revisit and test after run code is merged.\nexport async function getOptionalDevClientSchemeAsync(\n projectRoot: string\n): Promise<{ scheme: string | null; resolution: 'config' | 'shared' | 'android' | 'ios' }> {\n const [hasIos, hasAndroid] = await Promise.all([\n hasRequiredIOSFilesAsync(projectRoot),\n hasRequiredAndroidFilesAsync(projectRoot),\n ]);\n\n const [ios, android] = await Promise.all([\n getSchemesForIosAsync(projectRoot),\n getSchemesForAndroidAsync(projectRoot),\n ]);\n\n // Allow managed projects\n if (!hasIos && !hasAndroid) {\n return { scheme: await getManagedDevClientSchemeAsync(projectRoot), resolution: 'config' };\n }\n\n // Allow for only one native project to exist.\n if (!hasIos) {\n return { scheme: android[0], resolution: 'android' };\n } else if (!hasAndroid) {\n return { scheme: ios[0], resolution: 'ios' };\n } else {\n return { scheme: intersecting(ios, android)[0], resolution: 'shared' };\n }\n}\n"],"names":["getOptionalDevClientSchemeAsync","getSchemesForAndroidAsync","getSchemesForIosAsync","debug","require","sortLongest","obj","sort","a","b","length","resolveExpoOrLongestScheme","schemes","expoOnlySchemes","filter","scheme","startsWith","projectRoot","infoPlistBuildProperty","getInfoPlistPathFromPbxproj","configPath","path","join","rawPlist","fs","readFileSync","plistObject","plist","parse","IOSConfig","Scheme","getSchemesFromPlist","error","AndroidConfig","Paths","getAndroidManifestAsync","manifest","Manifest","readAndroidManifestAsync","getSchemesFromManifest","getManagedDevClientSchemeAsync","exp","getConfig","getDefaultScheme","resolveFrom","Log","warn","hasIos","hasAndroid","Promise","all","hasRequiredIOSFilesAsync","hasRequiredAndroidFilesAsync","ios","android","resolution","intersecting"],"mappings":";;;;;;;;;;;IAoFsBA,+BAA+B;eAA/BA;;IA9BAC,yBAAyB;eAAzBA;;IApBAC,qBAAqB;eAArBA;;;;yBAlCI;;;;;;;yBACe;;;;;;;yBACG;;;;;;;gEAC1B;;;;;;;gEACH;;;;;;;gEACE;;;;;;;gEACO;;;;;;uBAEK;6DACR;mCAId;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEP,MAAMC,QAAQC,QAAQ,SAAS;AAE/B,qCAAqC;AACrC,mEAAmE;AACnE,SAASC,YAAYC,GAAa;IAChC,OAAOA,IAAIC,IAAI,CAAC,CAACC,GAAGC,IAAMA,EAAEC,MAAM,GAAGF,EAAEE,MAAM;AAC/C;AAEA;;;;CAIC,GACD,SAASC,2BAA2BC,OAAiB;IACnD,MAAMC,kBAAkBD,QAAQE,MAAM,CAAC,CAACC,SAAWA,OAAOC,UAAU,CAAC;IACrE,OAAOH,gBAAgBH,MAAM,GAAG,IAAIL,YAAYQ,mBAAmBR,YAAYO;AACjF;AAGO,eAAeV,sBAAsBe,WAAmB;IAC7D,IAAI;QACF,MAAMC,yBAAyBC,IAAAA,+CAA2B,EAACF;QAC3Dd,MAAM,CAAC,gCAAgC,CAAC,EAAEe;QAC1C,IAAIA,wBAAwB;YAC1B,MAAME,aAAaC,eAAI,CAACC,IAAI,CAACL,aAAa,OAAOC;YACjD,MAAMK,WAAWC,aAAE,CAACC,YAAY,CAACL,YAAY;YAC7C,MAAMM,cAAcC,gBAAK,CAACC,KAAK,CAACL;YAChC,MAAMX,UAAUiB,0BAAS,CAACC,MAAM,CAACC,mBAAmB,CAACL;YACrDvB,MAAM,CAAC,wBAAwB,CAAC,EAAES;YAClC,OAAOD,2BAA2BC;QACpC;IACF,EAAE,OAAOoB,OAAO;QACd7B,MAAM,CAAC,sEAAsE,CAAC,EAAE6B;IAClF;IACA,oCAAoC;IACpC,OAAO,EAAE;AACX;AAGO,eAAe/B,0BAA0BgB,WAAmB;IACjE,IAAI;QACF,MAAMG,aAAa,MAAMa,8BAAa,CAACC,KAAK,CAACC,uBAAuB,CAAClB;QACrE,MAAMmB,WAAW,MAAMH,8BAAa,CAACI,QAAQ,CAACC,wBAAwB,CAAClB;QACvE,MAAMR,UAAU,MAAMqB,8BAAa,CAACH,MAAM,CAACS,sBAAsB,CAACH;QAClEjC,MAAM,CAAC,4BAA4B,CAAC,EAAES;QACtC,OAAOD,2BAA2BC;IACpC,EAAE,OAAOoB,OAAO;QACd7B,MAAM,CAAC,4EAA4E,CAAC,EAAE6B;QACtF,wCAAwC;QACxC,OAAO,EAAE;IACX;AACF;AAEA,mDAAmD;AACnD,eAAeQ,+BAA+BvB,WAAmB;IAC/D,MAAM,EAAEwB,GAAG,EAAE,GAAGC,IAAAA,mBAAS,EAACzB;IAC1B,IAAI;QACF,MAAM0B,mBAAmBvC,QAAQwC,IAAAA,sBAAW,EAAC3B,aAAa;QAC1D,MAAMF,SAAS4B,iBAAiBF;QAChC,OAAO1B;IACT,EAAE,OAAM;QACN8B,KAAIC,IAAI,CACN;QAEF,OAAO;IACT;AACF;AAGO,eAAe9C,gCACpBiB,WAAmB;IAEnB,MAAM,CAAC8B,QAAQC,WAAW,GAAG,MAAMC,QAAQC,GAAG,CAAC;QAC7CC,IAAAA,2CAAwB,EAAClC;QACzBmC,IAAAA,+CAA4B,EAACnC;KAC9B;IAED,MAAM,CAACoC,KAAKC,QAAQ,GAAG,MAAML,QAAQC,GAAG,CAAC;QACvChD,sBAAsBe;QACtBhB,0BAA0BgB;KAC3B;IAED,yBAAyB;IACzB,IAAI,CAAC8B,UAAU,CAACC,YAAY;QAC1B,OAAO;YAAEjC,QAAQ,MAAMyB,+BAA+BvB;YAAcsC,YAAY;QAAS;IAC3F;IAEA,8CAA8C;IAC9C,IAAI,CAACR,QAAQ;QACX,OAAO;YAAEhC,QAAQuC,OAAO,CAAC,EAAE;YAAEC,YAAY;QAAU;IACrD,OAAO,IAAI,CAACP,YAAY;QACtB,OAAO;YAAEjC,QAAQsC,GAAG,CAAC,EAAE;YAAEE,YAAY;QAAM;IAC7C,OAAO;QACL,OAAO;YAAExC,QAAQyC,IAAAA,mBAAY,EAACH,KAAKC,QAAQ,CAAC,EAAE;YAAEC,YAAY;QAAS;IACvE;AACF"}
|
|
@@ -4,7 +4,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
});
|
|
5
5
|
Object.defineProperty(exports, "streamToStringAsync", {
|
|
6
6
|
enumerable: true,
|
|
7
|
-
get: ()
|
|
7
|
+
get: function() {
|
|
8
|
+
return streamToStringAsync;
|
|
9
|
+
}
|
|
8
10
|
});
|
|
9
11
|
async function streamToStringAsync(stream) {
|
|
10
12
|
const decoder = new TextDecoder();
|
|
@@ -15,7 +17,7 @@ async function streamToStringAsync(stream) {
|
|
|
15
17
|
result = await reader.read();
|
|
16
18
|
if (result.value) {
|
|
17
19
|
if (!(result.value instanceof Uint8Array)) {
|
|
18
|
-
throw new Error(
|
|
20
|
+
throw new Error('Unexepected buffer type');
|
|
19
21
|
}
|
|
20
22
|
outs.push(decoder.decode(result.value, {
|
|
21
23
|
stream: true
|
|
@@ -23,7 +25,7 @@ async function streamToStringAsync(stream) {
|
|
|
23
25
|
}
|
|
24
26
|
}while (!result.done);
|
|
25
27
|
outs.push(decoder.decode());
|
|
26
|
-
return outs.join(
|
|
28
|
+
return outs.join('');
|
|
27
29
|
}
|
|
28
30
|
|
|
29
31
|
//# sourceMappingURL=stream.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/utils/stream.ts"],"sourcesContent":["export async function streamToStringAsync(stream: ReadableStream): Promise<string> {\n const decoder = new TextDecoder();\n const reader = stream.getReader();\n const outs: string[] = [];\n let result: ReadableStreamReadResult<unknown>;\n do {\n result = await reader.read();\n if (result.value) {\n if (!(result.value instanceof Uint8Array)) {\n throw new Error('Unexepected buffer type');\n }\n outs.push(decoder.decode(result.value, { stream: true }));\n }\n } while (!result.done);\n outs.push(decoder.decode());\n return outs.join('');\n}\n"],"names":["streamToStringAsync","stream","decoder","TextDecoder","reader","getReader","outs","result","read","value","Uint8Array","Error","push","decode","done","join"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/utils/stream.ts"],"sourcesContent":["export async function streamToStringAsync(stream: ReadableStream): Promise<string> {\n const decoder = new TextDecoder();\n const reader = stream.getReader();\n const outs: string[] = [];\n let result: ReadableStreamReadResult<unknown>;\n do {\n result = await reader.read();\n if (result.value) {\n if (!(result.value instanceof Uint8Array)) {\n throw new Error('Unexepected buffer type');\n }\n outs.push(decoder.decode(result.value, { stream: true }));\n }\n } while (!result.done);\n outs.push(decoder.decode());\n return outs.join('');\n}\n"],"names":["streamToStringAsync","stream","decoder","TextDecoder","reader","getReader","outs","result","read","value","Uint8Array","Error","push","decode","done","join"],"mappings":";;;;+BAAsBA;;;eAAAA;;;AAAf,eAAeA,oBAAoBC,MAAsB;IAC9D,MAAMC,UAAU,IAAIC;IACpB,MAAMC,SAASH,OAAOI,SAAS;IAC/B,MAAMC,OAAiB,EAAE;IACzB,IAAIC;IACJ,GAAG;QACDA,SAAS,MAAMH,OAAOI,IAAI;QAC1B,IAAID,OAAOE,KAAK,EAAE;YAChB,IAAI,CAAEF,CAAAA,OAAOE,KAAK,YAAYC,UAAS,GAAI;gBACzC,MAAM,IAAIC,MAAM;YAClB;YACAL,KAAKM,IAAI,CAACV,QAAQW,MAAM,CAACN,OAAOE,KAAK,EAAE;gBAAER,QAAQ;YAAK;QACxD;IACF,QAAS,CAACM,OAAOO,IAAI,EAAE;IACvBR,KAAKM,IAAI,CAACV,QAAQW,MAAM;IACxB,OAAOP,KAAKS,IAAI,CAAC;AACnB"}
|
|
@@ -9,11 +9,13 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
9
9
|
});
|
|
10
10
|
Object.defineProperty(exports, "joinWithCommasAnd", {
|
|
11
11
|
enumerable: true,
|
|
12
|
-
get: ()
|
|
12
|
+
get: function() {
|
|
13
|
+
return joinWithCommasAnd;
|
|
14
|
+
}
|
|
13
15
|
});
|
|
14
16
|
function joinWithCommasAnd(items, limit = 10) {
|
|
15
17
|
if (!items.length) {
|
|
16
|
-
return
|
|
18
|
+
return '';
|
|
17
19
|
}
|
|
18
20
|
const uniqueItems = items.filter((value, index, array)=>array.indexOf(value) === index);
|
|
19
21
|
if (uniqueItems.length === 1) {
|
|
@@ -22,10 +24,10 @@ function joinWithCommasAnd(items, limit = 10) {
|
|
|
22
24
|
if (limit && uniqueItems.length > limit) {
|
|
23
25
|
const first = uniqueItems.slice(0, limit);
|
|
24
26
|
const remaining = uniqueItems.length - limit;
|
|
25
|
-
return `${first.join(
|
|
27
|
+
return `${first.join(', ')}, and ${remaining} ${remaining > 1 ? 'others' : 'other'}`;
|
|
26
28
|
}
|
|
27
29
|
const last = uniqueItems.pop();
|
|
28
|
-
return `${uniqueItems.join(
|
|
30
|
+
return `${uniqueItems.join(', ')}${uniqueItems.length >= 2 ? ',' : ''} and ${last}`;
|
|
29
31
|
}
|
|
30
32
|
|
|
31
33
|
//# sourceMappingURL=strings.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/utils/strings.ts"],"sourcesContent":["/**\n * Joins strings with commas and 'and', based on English rules, limiting the number of items enumerated to keep from filling the console.\n * @param items strings to join\n * @param limit max number of strings to enumerate before using 'others'\n * @returns joined string\n */\nexport function joinWithCommasAnd(items: string[], limit: number | undefined = 10): string {\n if (!items.length) {\n return '';\n }\n\n const uniqueItems = items.filter((value, index, array) => array.indexOf(value) === index);\n\n if (uniqueItems.length === 1) {\n return uniqueItems[0];\n }\n\n if (limit && uniqueItems.length > limit) {\n const first = uniqueItems.slice(0, limit);\n const remaining = uniqueItems.length - limit;\n return `${first.join(', ')}, and ${remaining} ${remaining > 1 ? 'others' : 'other'}`;\n }\n\n const last = uniqueItems.pop();\n return `${uniqueItems.join(', ')}${uniqueItems.length >= 2 ? ',' : ''} and ${last}`;\n}\n"],"names":["joinWithCommasAnd","items","limit","length","uniqueItems","filter","value","index","array","indexOf","first","slice","remaining","join","last","pop"],"mappings":"AAAA;;;;;CAKC
|
|
1
|
+
{"version":3,"sources":["../../../src/utils/strings.ts"],"sourcesContent":["/**\n * Joins strings with commas and 'and', based on English rules, limiting the number of items enumerated to keep from filling the console.\n * @param items strings to join\n * @param limit max number of strings to enumerate before using 'others'\n * @returns joined string\n */\nexport function joinWithCommasAnd(items: string[], limit: number | undefined = 10): string {\n if (!items.length) {\n return '';\n }\n\n const uniqueItems = items.filter((value, index, array) => array.indexOf(value) === index);\n\n if (uniqueItems.length === 1) {\n return uniqueItems[0];\n }\n\n if (limit && uniqueItems.length > limit) {\n const first = uniqueItems.slice(0, limit);\n const remaining = uniqueItems.length - limit;\n return `${first.join(', ')}, and ${remaining} ${remaining > 1 ? 'others' : 'other'}`;\n }\n\n const last = uniqueItems.pop();\n return `${uniqueItems.join(', ')}${uniqueItems.length >= 2 ? ',' : ''} and ${last}`;\n}\n"],"names":["joinWithCommasAnd","items","limit","length","uniqueItems","filter","value","index","array","indexOf","first","slice","remaining","join","last","pop"],"mappings":"AAAA;;;;;CAKC;;;;+BACeA;;;eAAAA;;;AAAT,SAASA,kBAAkBC,KAAe,EAAEC,QAA4B,EAAE;IAC/E,IAAI,CAACD,MAAME,MAAM,EAAE;QACjB,OAAO;IACT;IAEA,MAAMC,cAAcH,MAAMI,MAAM,CAAC,CAACC,OAAOC,OAAOC,QAAUA,MAAMC,OAAO,CAACH,WAAWC;IAEnF,IAAIH,YAAYD,MAAM,KAAK,GAAG;QAC5B,OAAOC,WAAW,CAAC,EAAE;IACvB;IAEA,IAAIF,SAASE,YAAYD,MAAM,GAAGD,OAAO;QACvC,MAAMQ,QAAQN,YAAYO,KAAK,CAAC,GAAGT;QACnC,MAAMU,YAAYR,YAAYD,MAAM,GAAGD;QACvC,OAAO,GAAGQ,MAAMG,IAAI,CAAC,MAAM,MAAM,EAAED,UAAU,CAAC,EAAEA,YAAY,IAAI,WAAW,SAAS;IACtF;IAEA,MAAME,OAAOV,YAAYW,GAAG;IAC5B,OAAO,GAAGX,YAAYS,IAAI,CAAC,QAAQT,YAAYD,MAAM,IAAI,IAAI,MAAM,GAAG,KAAK,EAAEW,MAAM;AACrF"}
|
package/build/src/utils/tar.js
CHANGED
|
@@ -4,11 +4,13 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
});
|
|
5
5
|
Object.defineProperty(exports, "extractAsync", {
|
|
6
6
|
enumerable: true,
|
|
7
|
-
get: ()
|
|
7
|
+
get: function() {
|
|
8
|
+
return extractAsync;
|
|
9
|
+
}
|
|
8
10
|
});
|
|
9
|
-
function
|
|
10
|
-
const data = /*#__PURE__*/
|
|
11
|
-
|
|
11
|
+
function _spawnasync() {
|
|
12
|
+
const data = /*#__PURE__*/ _interop_require_default(require("@expo/spawn-async"));
|
|
13
|
+
_spawnasync = function() {
|
|
12
14
|
return data;
|
|
13
15
|
};
|
|
14
16
|
return data;
|
|
@@ -20,8 +22,8 @@ function _tar() {
|
|
|
20
22
|
};
|
|
21
23
|
return data;
|
|
22
24
|
}
|
|
23
|
-
const _log = /*#__PURE__*/
|
|
24
|
-
function
|
|
25
|
+
const _log = /*#__PURE__*/ _interop_require_wildcard(require("../log"));
|
|
26
|
+
function _interop_require_default(obj) {
|
|
25
27
|
return obj && obj.__esModule ? obj : {
|
|
26
28
|
default: obj
|
|
27
29
|
};
|
|
@@ -34,7 +36,7 @@ function _getRequireWildcardCache(nodeInterop) {
|
|
|
34
36
|
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
|
35
37
|
})(nodeInterop);
|
|
36
38
|
}
|
|
37
|
-
function
|
|
39
|
+
function _interop_require_wildcard(obj, nodeInterop) {
|
|
38
40
|
if (!nodeInterop && obj && obj.__esModule) {
|
|
39
41
|
return obj;
|
|
40
42
|
}
|
|
@@ -47,7 +49,9 @@ function _interopRequireWildcard(obj, nodeInterop) {
|
|
|
47
49
|
if (cache && cache.has(obj)) {
|
|
48
50
|
return cache.get(obj);
|
|
49
51
|
}
|
|
50
|
-
var newObj = {
|
|
52
|
+
var newObj = {
|
|
53
|
+
__proto__: null
|
|
54
|
+
};
|
|
51
55
|
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
52
56
|
for(var key in obj){
|
|
53
57
|
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
@@ -65,18 +69,18 @@ function _interopRequireWildcard(obj, nodeInterop) {
|
|
|
65
69
|
}
|
|
66
70
|
return newObj;
|
|
67
71
|
}
|
|
68
|
-
const debug = require(
|
|
72
|
+
const debug = require('debug')('expo:utils:tar');
|
|
69
73
|
async function extractAsync(input, output) {
|
|
70
74
|
try {
|
|
71
|
-
if (process.platform !==
|
|
75
|
+
if (process.platform !== 'win32') {
|
|
72
76
|
debug(`Extracting ${input} to ${output}`);
|
|
73
|
-
await (0,
|
|
74
|
-
|
|
77
|
+
await (0, _spawnasync().default)('tar', [
|
|
78
|
+
'-xf',
|
|
75
79
|
input,
|
|
76
|
-
|
|
80
|
+
'-C',
|
|
77
81
|
output
|
|
78
82
|
], {
|
|
79
|
-
stdio:
|
|
83
|
+
stdio: 'inherit'
|
|
80
84
|
});
|
|
81
85
|
return;
|
|
82
86
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/utils/tar.ts"],"sourcesContent":["import spawnAsync from '@expo/spawn-async';\nimport { extract as tarExtract } from 'tar';\n\nimport * as Log from '../log';\n\nconst debug = require('debug')('expo:utils:tar') as typeof console.log;\n\n/** Extract a tar using built-in tools if available and falling back on Node.js. */\nexport async function extractAsync(input: string, output: string): Promise<void> {\n try {\n if (process.platform !== 'win32') {\n debug(`Extracting ${input} to ${output}`);\n await spawnAsync('tar', ['-xf', input, '-C', output], {\n stdio: 'inherit',\n });\n return;\n }\n } catch (error: any) {\n Log.warn(\n `Failed to extract tar using native tools, falling back on JS tar module. ${error.message}`\n );\n }\n debug(`Extracting ${input} to ${output} using JS tar module`);\n // tar node module has previously had problems with big files, and seems to\n // be slower, so only use it as a backup.\n await tarExtract({ file: input, cwd: output });\n}\n"],"names":["extractAsync","debug","require","input","output","process","platform","spawnAsync","stdio","error","Log","warn","message","tarExtract","file","cwd"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/utils/tar.ts"],"sourcesContent":["import spawnAsync from '@expo/spawn-async';\nimport { extract as tarExtract } from 'tar';\n\nimport * as Log from '../log';\n\nconst debug = require('debug')('expo:utils:tar') as typeof console.log;\n\n/** Extract a tar using built-in tools if available and falling back on Node.js. */\nexport async function extractAsync(input: string, output: string): Promise<void> {\n try {\n if (process.platform !== 'win32') {\n debug(`Extracting ${input} to ${output}`);\n await spawnAsync('tar', ['-xf', input, '-C', output], {\n stdio: 'inherit',\n });\n return;\n }\n } catch (error: any) {\n Log.warn(\n `Failed to extract tar using native tools, falling back on JS tar module. ${error.message}`\n );\n }\n debug(`Extracting ${input} to ${output} using JS tar module`);\n // tar node module has previously had problems with big files, and seems to\n // be slower, so only use it as a backup.\n await tarExtract({ file: input, cwd: output });\n}\n"],"names":["extractAsync","debug","require","input","output","process","platform","spawnAsync","stdio","error","Log","warn","message","tarExtract","file","cwd"],"mappings":";;;;+BAQsBA;;;eAAAA;;;;gEARC;;;;;;;yBACe;;;;;;6DAEjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAErB,MAAMC,QAAQC,QAAQ,SAAS;AAGxB,eAAeF,aAAaG,KAAa,EAAEC,MAAc;IAC9D,IAAI;QACF,IAAIC,QAAQC,QAAQ,KAAK,SAAS;YAChCL,MAAM,CAAC,WAAW,EAAEE,MAAM,IAAI,EAAEC,QAAQ;YACxC,MAAMG,IAAAA,qBAAU,EAAC,OAAO;gBAAC;gBAAOJ;gBAAO;gBAAMC;aAAO,EAAE;gBACpDI,OAAO;YACT;YACA;QACF;IACF,EAAE,OAAOC,OAAY;QACnBC,KAAIC,IAAI,CACN,CAAC,yEAAyE,EAAEF,MAAMG,OAAO,EAAE;IAE/F;IACAX,MAAM,CAAC,WAAW,EAAEE,MAAM,IAAI,EAAEC,OAAO,oBAAoB,CAAC;IAC5D,2EAA2E;IAC3E,yCAAyC;IACzC,MAAMS,IAAAA,cAAU,EAAC;QAAEC,MAAMX;QAAOY,KAAKX;IAAO;AAC9C"}
|