@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
package/build/src/utils/port.js
CHANGED
|
@@ -9,29 +9,37 @@ function _export(target, all) {
|
|
|
9
9
|
});
|
|
10
10
|
}
|
|
11
11
|
_export(exports, {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
12
|
+
choosePortAsync: function() {
|
|
13
|
+
return choosePortAsync;
|
|
14
|
+
},
|
|
15
|
+
ensurePortAvailabilityAsync: function() {
|
|
16
|
+
return ensurePortAvailabilityAsync;
|
|
17
|
+
},
|
|
18
|
+
getFreePortAsync: function() {
|
|
19
|
+
return getFreePortAsync;
|
|
20
|
+
},
|
|
21
|
+
resolvePortAsync: function() {
|
|
22
|
+
return resolvePortAsync;
|
|
23
|
+
}
|
|
16
24
|
});
|
|
17
25
|
function _chalk() {
|
|
18
|
-
const data = /*#__PURE__*/
|
|
26
|
+
const data = /*#__PURE__*/ _interop_require_default(require("chalk"));
|
|
19
27
|
_chalk = function() {
|
|
20
28
|
return data;
|
|
21
29
|
};
|
|
22
30
|
return data;
|
|
23
31
|
}
|
|
24
|
-
function
|
|
25
|
-
const data = /*#__PURE__*/
|
|
26
|
-
|
|
32
|
+
function _freeportasync() {
|
|
33
|
+
const data = /*#__PURE__*/ _interop_require_default(require("freeport-async"));
|
|
34
|
+
_freeportasync = function() {
|
|
27
35
|
return data;
|
|
28
36
|
};
|
|
29
37
|
return data;
|
|
30
38
|
}
|
|
31
39
|
const _env = require("./env");
|
|
32
40
|
const _errors = require("./errors");
|
|
33
|
-
const _log = /*#__PURE__*/
|
|
34
|
-
function
|
|
41
|
+
const _log = /*#__PURE__*/ _interop_require_wildcard(require("../log"));
|
|
42
|
+
function _interop_require_default(obj) {
|
|
35
43
|
return obj && obj.__esModule ? obj : {
|
|
36
44
|
default: obj
|
|
37
45
|
};
|
|
@@ -44,7 +52,7 @@ function _getRequireWildcardCache(nodeInterop) {
|
|
|
44
52
|
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
|
45
53
|
})(nodeInterop);
|
|
46
54
|
}
|
|
47
|
-
function
|
|
55
|
+
function _interop_require_wildcard(obj, nodeInterop) {
|
|
48
56
|
if (!nodeInterop && obj && obj.__esModule) {
|
|
49
57
|
return obj;
|
|
50
58
|
}
|
|
@@ -57,7 +65,9 @@ function _interopRequireWildcard(obj, nodeInterop) {
|
|
|
57
65
|
if (cache && cache.has(obj)) {
|
|
58
66
|
return cache.get(obj);
|
|
59
67
|
}
|
|
60
|
-
var newObj = {
|
|
68
|
+
var newObj = {
|
|
69
|
+
__proto__: null
|
|
70
|
+
};
|
|
61
71
|
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
62
72
|
for(var key in obj){
|
|
63
73
|
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
@@ -76,19 +86,19 @@ function _interopRequireWildcard(obj, nodeInterop) {
|
|
|
76
86
|
return newObj;
|
|
77
87
|
}
|
|
78
88
|
async function getFreePortAsync(rangeStart) {
|
|
79
|
-
const port = await (0,
|
|
89
|
+
const port = await (0, _freeportasync().default)(rangeStart, {
|
|
80
90
|
hostnames: [
|
|
81
91
|
null,
|
|
82
|
-
|
|
92
|
+
'localhost'
|
|
83
93
|
]
|
|
84
94
|
});
|
|
85
95
|
if (!port) {
|
|
86
|
-
throw new _errors.CommandError(
|
|
96
|
+
throw new _errors.CommandError('NO_PORT_FOUND', 'No available port found');
|
|
87
97
|
}
|
|
88
98
|
return port;
|
|
89
99
|
}
|
|
90
|
-
async function ensurePortAvailabilityAsync(projectRoot, { port
|
|
91
|
-
const freePort = await (0,
|
|
100
|
+
async function ensurePortAvailabilityAsync(projectRoot, { port }) {
|
|
101
|
+
const freePort = await (0, _freeportasync().default)(port, {
|
|
92
102
|
hostnames: [
|
|
93
103
|
null
|
|
94
104
|
]
|
|
@@ -104,18 +114,18 @@ async function ensurePortAvailabilityAsync(projectRoot, { port }) {
|
|
|
104
114
|
throw new _errors.CommandError(`Port "${port}" became busy running another process while the app was compiling. Re-run command to use a new port.`);
|
|
105
115
|
}
|
|
106
116
|
// Log that the dev server will not be started and that the logs will appear in another window.
|
|
107
|
-
_log.log(
|
|
117
|
+
_log.log('› The dev server for this app is already running in another window. Logs will appear there.');
|
|
108
118
|
return false;
|
|
109
119
|
}
|
|
110
120
|
function isRestrictedPort(port) {
|
|
111
|
-
if (process.platform !==
|
|
121
|
+
if (process.platform !== 'win32' && port < 1024) {
|
|
112
122
|
const isRoot = process.getuid && process.getuid() === 0;
|
|
113
123
|
return !isRoot;
|
|
114
124
|
}
|
|
115
125
|
return false;
|
|
116
126
|
}
|
|
117
|
-
async function isBusyPortRunningSameProcessAsync(projectRoot, { port
|
|
118
|
-
const { getRunningProcess
|
|
127
|
+
async function isBusyPortRunningSameProcessAsync(projectRoot, { port }) {
|
|
128
|
+
const { getRunningProcess } = require('./getRunningProcess');
|
|
119
129
|
const runningProcess = isRestrictedPort(port) ? null : getRunningProcess(port);
|
|
120
130
|
if (runningProcess) {
|
|
121
131
|
if (runningProcess.directory === projectRoot) {
|
|
@@ -126,9 +136,9 @@ async function isBusyPortRunningSameProcessAsync(projectRoot, { port }) {
|
|
|
126
136
|
}
|
|
127
137
|
return null;
|
|
128
138
|
}
|
|
129
|
-
async function choosePortAsync(projectRoot, { defaultPort
|
|
139
|
+
async function choosePortAsync(projectRoot, { defaultPort, host, reuseExistingPort }) {
|
|
130
140
|
try {
|
|
131
|
-
const port = await (0,
|
|
141
|
+
const port = await (0, _freeportasync().default)(defaultPort, {
|
|
132
142
|
hostnames: [
|
|
133
143
|
host ?? null
|
|
134
144
|
]
|
|
@@ -138,7 +148,7 @@ async function choosePortAsync(projectRoot, { defaultPort , host , reuseExisting
|
|
|
138
148
|
}
|
|
139
149
|
const isRestricted = isRestrictedPort(port);
|
|
140
150
|
let message = isRestricted ? `Admin permissions are required to run a server on a port below 1024` : `Port ${_chalk().default.bold(defaultPort)} is`;
|
|
141
|
-
const { getRunningProcess
|
|
151
|
+
const { getRunningProcess } = require('./getRunningProcess');
|
|
142
152
|
const runningProcess = isRestricted ? null : getRunningProcess(defaultPort);
|
|
143
153
|
if (runningProcess) {
|
|
144
154
|
const pidTag = _chalk().default.gray(`(pid ${runningProcess.pid})`);
|
|
@@ -150,32 +160,32 @@ async function choosePortAsync(projectRoot, { defaultPort , host , reuseExisting
|
|
|
150
160
|
} else {
|
|
151
161
|
message += ` running ${_chalk().default.cyan(runningProcess.command)} in another window`;
|
|
152
162
|
}
|
|
153
|
-
message +=
|
|
163
|
+
message += '\n' + _chalk().default.gray(` ${runningProcess.directory} ${pidTag}`);
|
|
154
164
|
} else {
|
|
155
|
-
message +=
|
|
165
|
+
message += ' being used by another process';
|
|
156
166
|
}
|
|
157
167
|
_log.log(`\u203A ${message}`);
|
|
158
|
-
const { confirmAsync
|
|
168
|
+
const { confirmAsync } = require('./prompts');
|
|
159
169
|
const change = await confirmAsync({
|
|
160
170
|
message: `Use port ${port} instead?`,
|
|
161
171
|
initial: true
|
|
162
172
|
});
|
|
163
173
|
return change ? port : null;
|
|
164
174
|
} catch (error) {
|
|
165
|
-
if (error.code ===
|
|
175
|
+
if (error.code === 'ABORTED') {
|
|
166
176
|
throw error;
|
|
167
|
-
} else if (error.code ===
|
|
177
|
+
} else if (error.code === 'NON_INTERACTIVE') {
|
|
168
178
|
_log.warn(_chalk().default.yellow(error.message));
|
|
169
179
|
return null;
|
|
170
180
|
}
|
|
171
181
|
throw error;
|
|
172
182
|
}
|
|
173
183
|
}
|
|
174
|
-
async function resolvePortAsync(projectRoot, { /** Should opt to reuse a port that is running the same project in another window. */ reuseExistingPort
|
|
184
|
+
async function resolvePortAsync(projectRoot, { /** Should opt to reuse a port that is running the same project in another window. */ reuseExistingPort, /** Preferred port. */ defaultPort, /** Backup port for when the default isn't available. */ fallbackPort } = {}) {
|
|
175
185
|
let port;
|
|
176
|
-
if (typeof defaultPort ===
|
|
186
|
+
if (typeof defaultPort === 'string') {
|
|
177
187
|
port = parseInt(defaultPort, 10);
|
|
178
|
-
} else if (typeof defaultPort ===
|
|
188
|
+
} else if (typeof defaultPort === 'number') {
|
|
179
189
|
port = defaultPort;
|
|
180
190
|
} else {
|
|
181
191
|
port = _env.env.RCT_METRO_PORT || fallbackPort || 8081;
|
|
@@ -186,7 +196,7 @@ async function resolvePortAsync(projectRoot, { /** Should opt to reuse a port th
|
|
|
186
196
|
reuseExistingPort
|
|
187
197
|
});
|
|
188
198
|
if (resolvedPort == null) {
|
|
189
|
-
_log.log(
|
|
199
|
+
_log.log('\u203A Skipping dev server');
|
|
190
200
|
// Skip bundling if the port is null
|
|
191
201
|
} else {
|
|
192
202
|
// Use the new or resolved port
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/utils/port.ts"],"sourcesContent":["import chalk from 'chalk';\nimport freeportAsync from 'freeport-async';\n\nimport { env } from './env';\nimport { CommandError } from './errors';\nimport * as Log from '../log';\n\n/** Get a free port or assert a CLI command error. */\nexport async function getFreePortAsync(rangeStart: number): Promise<number> {\n const port = await freeportAsync(rangeStart, { hostnames: [null, 'localhost'] });\n if (!port) {\n throw new CommandError('NO_PORT_FOUND', 'No available port found');\n }\n\n return port;\n}\n\n/** @return `true` if the port can still be used to start the dev server, `false` if the dev server should be skipped, and asserts if the port is now taken. */\nexport async function ensurePortAvailabilityAsync(\n projectRoot: string,\n { port }: { port: number }\n): Promise<boolean> {\n const freePort = await freeportAsync(port, { hostnames: [null] });\n // Check if port has become busy during the build.\n if (freePort === port) {\n return true;\n }\n\n const isBusy = await isBusyPortRunningSameProcessAsync(projectRoot, { port });\n if (!isBusy) {\n throw new CommandError(\n `Port \"${port}\" became busy running another process while the app was compiling. Re-run command to use a new port.`\n );\n }\n\n // Log that the dev server will not be started and that the logs will appear in another window.\n Log.log(\n '› The dev server for this app is already running in another window. Logs will appear there.'\n );\n return false;\n}\n\nfunction isRestrictedPort(port: number) {\n if (process.platform !== 'win32' && port < 1024) {\n const isRoot = process.getuid && process.getuid() === 0;\n return !isRoot;\n }\n return false;\n}\n\nasync function isBusyPortRunningSameProcessAsync(projectRoot: string, { port }: { port: number }) {\n const { getRunningProcess } =\n require('./getRunningProcess') as typeof import('./getRunningProcess');\n\n const runningProcess = isRestrictedPort(port) ? null : getRunningProcess(port);\n if (runningProcess) {\n if (runningProcess.directory === projectRoot) {\n return true;\n } else {\n return false;\n }\n }\n\n return null;\n}\n\n// TODO(Bacon): Revisit after all start and run code is merged.\nexport async function choosePortAsync(\n projectRoot: string,\n {\n defaultPort,\n host,\n reuseExistingPort,\n }: {\n defaultPort: number;\n host?: string;\n reuseExistingPort?: boolean;\n }\n): Promise<number | null> {\n try {\n const port = await freeportAsync(defaultPort, { hostnames: [host ?? null] });\n if (port === defaultPort || defaultPort === 0) {\n return port;\n }\n\n const isRestricted = isRestrictedPort(port);\n\n let message = isRestricted\n ? `Admin permissions are required to run a server on a port below 1024`\n : `Port ${chalk.bold(defaultPort)} is`;\n\n const { getRunningProcess } =\n require('./getRunningProcess') as typeof import('./getRunningProcess');\n const runningProcess = isRestricted ? null : getRunningProcess(defaultPort);\n\n if (runningProcess) {\n const pidTag = chalk.gray(`(pid ${runningProcess.pid})`);\n if (runningProcess.directory === projectRoot) {\n message += ` running this app in another window`;\n if (reuseExistingPort) {\n return null;\n }\n } else {\n message += ` running ${chalk.cyan(runningProcess.command)} in another window`;\n }\n message += '\\n' + chalk.gray(` ${runningProcess.directory} ${pidTag}`);\n } else {\n message += ' being used by another process';\n }\n\n Log.log(`\\u203A ${message}`);\n const { confirmAsync } = require('./prompts') as typeof import('./prompts');\n const change = await confirmAsync({\n message: `Use port ${port} instead?`,\n initial: true,\n });\n return change ? port : null;\n } catch (error: any) {\n if (error.code === 'ABORTED') {\n throw error;\n } else if (error.code === 'NON_INTERACTIVE') {\n Log.warn(chalk.yellow(error.message));\n return null;\n }\n throw error;\n }\n}\n\n// TODO(Bacon): Revisit after all start and run code is merged.\nexport async function resolvePortAsync(\n projectRoot: string,\n {\n /** Should opt to reuse a port that is running the same project in another window. */\n reuseExistingPort,\n /** Preferred port. */\n defaultPort,\n /** Backup port for when the default isn't available. */\n fallbackPort,\n }: {\n reuseExistingPort?: boolean;\n defaultPort?: string | number;\n fallbackPort?: number;\n } = {}\n): Promise<number | null> {\n let port: number;\n if (typeof defaultPort === 'string') {\n port = parseInt(defaultPort, 10);\n } else if (typeof defaultPort === 'number') {\n port = defaultPort;\n } else {\n port = env.RCT_METRO_PORT || fallbackPort || 8081;\n }\n\n // Only check the port when the bundler is running.\n const resolvedPort = await choosePortAsync(projectRoot, {\n defaultPort: port,\n reuseExistingPort,\n });\n if (resolvedPort == null) {\n Log.log('\\u203A Skipping dev server');\n // Skip bundling if the port is null\n } else {\n // Use the new or resolved port\n process.env.RCT_METRO_PORT = String(resolvedPort);\n }\n\n return resolvedPort;\n}\n"],"names":["getFreePortAsync","ensurePortAvailabilityAsync","choosePortAsync","resolvePortAsync","rangeStart","port","freeportAsync","hostnames","CommandError","projectRoot","freePort","isBusy","isBusyPortRunningSameProcessAsync","Log","log","isRestrictedPort","process","platform","isRoot","getuid","getRunningProcess","require","runningProcess","directory","defaultPort","host","reuseExistingPort","isRestricted","message","chalk","bold","pidTag","gray","pid","cyan","command","confirmAsync","change","initial","error","code","warn","yellow","fallbackPort","parseInt","env","RCT_METRO_PORT","resolvedPort","String"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../src/utils/port.ts"],"sourcesContent":["import chalk from 'chalk';\nimport freeportAsync from 'freeport-async';\n\nimport { env } from './env';\nimport { CommandError } from './errors';\nimport * as Log from '../log';\n\n/** Get a free port or assert a CLI command error. */\nexport async function getFreePortAsync(rangeStart: number): Promise<number> {\n const port = await freeportAsync(rangeStart, { hostnames: [null, 'localhost'] });\n if (!port) {\n throw new CommandError('NO_PORT_FOUND', 'No available port found');\n }\n\n return port;\n}\n\n/** @return `true` if the port can still be used to start the dev server, `false` if the dev server should be skipped, and asserts if the port is now taken. */\nexport async function ensurePortAvailabilityAsync(\n projectRoot: string,\n { port }: { port: number }\n): Promise<boolean> {\n const freePort = await freeportAsync(port, { hostnames: [null] });\n // Check if port has become busy during the build.\n if (freePort === port) {\n return true;\n }\n\n const isBusy = await isBusyPortRunningSameProcessAsync(projectRoot, { port });\n if (!isBusy) {\n throw new CommandError(\n `Port \"${port}\" became busy running another process while the app was compiling. Re-run command to use a new port.`\n );\n }\n\n // Log that the dev server will not be started and that the logs will appear in another window.\n Log.log(\n '› The dev server for this app is already running in another window. Logs will appear there.'\n );\n return false;\n}\n\nfunction isRestrictedPort(port: number) {\n if (process.platform !== 'win32' && port < 1024) {\n const isRoot = process.getuid && process.getuid() === 0;\n return !isRoot;\n }\n return false;\n}\n\nasync function isBusyPortRunningSameProcessAsync(projectRoot: string, { port }: { port: number }) {\n const { getRunningProcess } =\n require('./getRunningProcess') as typeof import('./getRunningProcess');\n\n const runningProcess = isRestrictedPort(port) ? null : getRunningProcess(port);\n if (runningProcess) {\n if (runningProcess.directory === projectRoot) {\n return true;\n } else {\n return false;\n }\n }\n\n return null;\n}\n\n// TODO(Bacon): Revisit after all start and run code is merged.\nexport async function choosePortAsync(\n projectRoot: string,\n {\n defaultPort,\n host,\n reuseExistingPort,\n }: {\n defaultPort: number;\n host?: string;\n reuseExistingPort?: boolean;\n }\n): Promise<number | null> {\n try {\n const port = await freeportAsync(defaultPort, { hostnames: [host ?? null] });\n if (port === defaultPort || defaultPort === 0) {\n return port;\n }\n\n const isRestricted = isRestrictedPort(port);\n\n let message = isRestricted\n ? `Admin permissions are required to run a server on a port below 1024`\n : `Port ${chalk.bold(defaultPort)} is`;\n\n const { getRunningProcess } =\n require('./getRunningProcess') as typeof import('./getRunningProcess');\n const runningProcess = isRestricted ? null : getRunningProcess(defaultPort);\n\n if (runningProcess) {\n const pidTag = chalk.gray(`(pid ${runningProcess.pid})`);\n if (runningProcess.directory === projectRoot) {\n message += ` running this app in another window`;\n if (reuseExistingPort) {\n return null;\n }\n } else {\n message += ` running ${chalk.cyan(runningProcess.command)} in another window`;\n }\n message += '\\n' + chalk.gray(` ${runningProcess.directory} ${pidTag}`);\n } else {\n message += ' being used by another process';\n }\n\n Log.log(`\\u203A ${message}`);\n const { confirmAsync } = require('./prompts') as typeof import('./prompts');\n const change = await confirmAsync({\n message: `Use port ${port} instead?`,\n initial: true,\n });\n return change ? port : null;\n } catch (error: any) {\n if (error.code === 'ABORTED') {\n throw error;\n } else if (error.code === 'NON_INTERACTIVE') {\n Log.warn(chalk.yellow(error.message));\n return null;\n }\n throw error;\n }\n}\n\n// TODO(Bacon): Revisit after all start and run code is merged.\nexport async function resolvePortAsync(\n projectRoot: string,\n {\n /** Should opt to reuse a port that is running the same project in another window. */\n reuseExistingPort,\n /** Preferred port. */\n defaultPort,\n /** Backup port for when the default isn't available. */\n fallbackPort,\n }: {\n reuseExistingPort?: boolean;\n defaultPort?: string | number;\n fallbackPort?: number;\n } = {}\n): Promise<number | null> {\n let port: number;\n if (typeof defaultPort === 'string') {\n port = parseInt(defaultPort, 10);\n } else if (typeof defaultPort === 'number') {\n port = defaultPort;\n } else {\n port = env.RCT_METRO_PORT || fallbackPort || 8081;\n }\n\n // Only check the port when the bundler is running.\n const resolvedPort = await choosePortAsync(projectRoot, {\n defaultPort: port,\n reuseExistingPort,\n });\n if (resolvedPort == null) {\n Log.log('\\u203A Skipping dev server');\n // Skip bundling if the port is null\n } else {\n // Use the new or resolved port\n process.env.RCT_METRO_PORT = String(resolvedPort);\n }\n\n return resolvedPort;\n}\n"],"names":["choosePortAsync","ensurePortAvailabilityAsync","getFreePortAsync","resolvePortAsync","rangeStart","port","freeportAsync","hostnames","CommandError","projectRoot","freePort","isBusy","isBusyPortRunningSameProcessAsync","Log","log","isRestrictedPort","process","platform","isRoot","getuid","getRunningProcess","require","runningProcess","directory","defaultPort","host","reuseExistingPort","isRestricted","message","chalk","bold","pidTag","gray","pid","cyan","command","confirmAsync","change","initial","error","code","warn","yellow","fallbackPort","parseInt","env","RCT_METRO_PORT","resolvedPort","String"],"mappings":"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"}
|
|
@@ -4,18 +4,20 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
});
|
|
5
5
|
Object.defineProperty(exports, "profile", {
|
|
6
6
|
enumerable: true,
|
|
7
|
-
get: ()
|
|
7
|
+
get: function() {
|
|
8
|
+
return profile;
|
|
9
|
+
}
|
|
8
10
|
});
|
|
9
11
|
function _chalk() {
|
|
10
|
-
const data = /*#__PURE__*/
|
|
12
|
+
const data = /*#__PURE__*/ _interop_require_default(require("chalk"));
|
|
11
13
|
_chalk = function() {
|
|
12
14
|
return data;
|
|
13
15
|
};
|
|
14
16
|
return data;
|
|
15
17
|
}
|
|
16
18
|
const _env = require("./env");
|
|
17
|
-
const _log = /*#__PURE__*/
|
|
18
|
-
function
|
|
19
|
+
const _log = /*#__PURE__*/ _interop_require_wildcard(require("../log"));
|
|
20
|
+
function _interop_require_default(obj) {
|
|
19
21
|
return obj && obj.__esModule ? obj : {
|
|
20
22
|
default: obj
|
|
21
23
|
};
|
|
@@ -28,7 +30,7 @@ function _getRequireWildcardCache(nodeInterop) {
|
|
|
28
30
|
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
|
29
31
|
})(nodeInterop);
|
|
30
32
|
}
|
|
31
|
-
function
|
|
33
|
+
function _interop_require_wildcard(obj, nodeInterop) {
|
|
32
34
|
if (!nodeInterop && obj && obj.__esModule) {
|
|
33
35
|
return obj;
|
|
34
36
|
}
|
|
@@ -41,7 +43,9 @@ function _interopRequireWildcard(obj, nodeInterop) {
|
|
|
41
43
|
if (cache && cache.has(obj)) {
|
|
42
44
|
return cache.get(obj);
|
|
43
45
|
}
|
|
44
|
-
var newObj = {
|
|
46
|
+
var newObj = {
|
|
47
|
+
__proto__: null
|
|
48
|
+
};
|
|
45
49
|
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
46
50
|
for(var key in obj){
|
|
47
51
|
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
@@ -63,7 +67,7 @@ function profile(fn, functionName = fn.name) {
|
|
|
63
67
|
if (!_env.env.EXPO_PROFILE) {
|
|
64
68
|
return fn;
|
|
65
69
|
}
|
|
66
|
-
const name = _chalk().default.dim(`⏱ [profile] ${functionName ??
|
|
70
|
+
const name = _chalk().default.dim(`⏱ [profile] ${functionName ?? 'unknown'}`);
|
|
67
71
|
return (...args)=>{
|
|
68
72
|
// Start the timer.
|
|
69
73
|
_log.time(name);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/utils/profile.ts"],"sourcesContent":["import chalk from 'chalk';\n\nimport { env } from './env';\nimport * as Log from '../log';\n\n/**\n * Wrap a method and profile the time it takes to execute the method using `EXPO_PROFILE`.\n * Works best with named functions (i.e. not arrow functions).\n *\n * @param fn function to profile.\n * @param functionName optional name of the function to display in the profile output.\n */\nexport function profile<IArgs extends any[], T extends (...args: IArgs) => any>(\n fn: T,\n functionName: string = fn.name\n): T {\n if (!env.EXPO_PROFILE) {\n return fn;\n }\n\n const name = chalk.dim(`⏱ [profile] ${functionName ?? 'unknown'}`);\n\n return ((...args: IArgs) => {\n // Start the timer.\n Log.time(name);\n\n // Invoke the method.\n const results = fn(...args);\n\n // If non-promise then return as-is.\n if (!(results instanceof Promise)) {\n Log.timeEnd(name);\n return results;\n }\n\n // Otherwise await to profile after the promise resolves.\n return new Promise<Awaited<ReturnType<T>>>((resolve, reject) => {\n results.then(\n (results) => {\n resolve(results);\n Log.timeEnd(name);\n },\n (reason) => {\n reject(reason);\n Log.timeEnd(name);\n }\n );\n });\n }) as T;\n}\n"],"names":["profile","fn","functionName","name","env","EXPO_PROFILE","chalk","dim","args","Log","time","results","Promise","timeEnd","resolve","reject","then","reason"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/utils/profile.ts"],"sourcesContent":["import chalk from 'chalk';\n\nimport { env } from './env';\nimport * as Log from '../log';\n\n/**\n * Wrap a method and profile the time it takes to execute the method using `EXPO_PROFILE`.\n * Works best with named functions (i.e. not arrow functions).\n *\n * @param fn function to profile.\n * @param functionName optional name of the function to display in the profile output.\n */\nexport function profile<IArgs extends any[], T extends (...args: IArgs) => any>(\n fn: T,\n functionName: string = fn.name\n): T {\n if (!env.EXPO_PROFILE) {\n return fn;\n }\n\n const name = chalk.dim(`⏱ [profile] ${functionName ?? 'unknown'}`);\n\n return ((...args: IArgs) => {\n // Start the timer.\n Log.time(name);\n\n // Invoke the method.\n const results = fn(...args);\n\n // If non-promise then return as-is.\n if (!(results instanceof Promise)) {\n Log.timeEnd(name);\n return results;\n }\n\n // Otherwise await to profile after the promise resolves.\n return new Promise<Awaited<ReturnType<T>>>((resolve, reject) => {\n results.then(\n (results) => {\n resolve(results);\n Log.timeEnd(name);\n },\n (reason) => {\n reject(reason);\n Log.timeEnd(name);\n }\n );\n });\n }) as T;\n}\n"],"names":["profile","fn","functionName","name","env","EXPO_PROFILE","chalk","dim","args","Log","time","results","Promise","timeEnd","resolve","reject","then","reason"],"mappings":";;;;+BAYgBA;;;eAAAA;;;;gEAZE;;;;;;qBAEE;6DACC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASd,SAASA,QACdC,EAAK,EACLC,eAAuBD,GAAGE,IAAI;IAE9B,IAAI,CAACC,QAAG,CAACC,YAAY,EAAE;QACrB,OAAOJ;IACT;IAEA,MAAME,OAAOG,gBAAK,CAACC,GAAG,CAAC,CAAC,aAAa,EAAEL,gBAAgB,WAAW;IAElE,OAAQ,CAAC,GAAGM;QACV,mBAAmB;QACnBC,KAAIC,IAAI,CAACP;QAET,qBAAqB;QACrB,MAAMQ,UAAUV,MAAMO;QAEtB,oCAAoC;QACpC,IAAI,CAAEG,CAAAA,mBAAmBC,OAAM,GAAI;YACjCH,KAAII,OAAO,CAACV;YACZ,OAAOQ;QACT;QAEA,yDAAyD;QACzD,OAAO,IAAIC,QAAgC,CAACE,SAASC;YACnDJ,QAAQK,IAAI,CACV,CAACL;gBACCG,QAAQH;gBACRF,KAAII,OAAO,CAACV;YACd,GACA,CAACc;gBACCF,OAAOE;gBACPR,KAAII,OAAO,CAACV;YACd;QAEJ;IACF;AACF"}
|
|
@@ -9,18 +9,24 @@ function _export(target, all) {
|
|
|
9
9
|
});
|
|
10
10
|
}
|
|
11
11
|
_export(exports, {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
12
|
+
createProgressBar: function() {
|
|
13
|
+
return createProgressBar;
|
|
14
|
+
},
|
|
15
|
+
getProgressBar: function() {
|
|
16
|
+
return getProgressBar;
|
|
17
|
+
},
|
|
18
|
+
setProgressBar: function() {
|
|
19
|
+
return setProgressBar;
|
|
20
|
+
}
|
|
15
21
|
});
|
|
16
22
|
function _progress() {
|
|
17
|
-
const data = /*#__PURE__*/
|
|
23
|
+
const data = /*#__PURE__*/ _interop_require_default(require("progress"));
|
|
18
24
|
_progress = function() {
|
|
19
25
|
return data;
|
|
20
26
|
};
|
|
21
27
|
return data;
|
|
22
28
|
}
|
|
23
|
-
function
|
|
29
|
+
function _interop_require_default(obj) {
|
|
24
30
|
return obj && obj.__esModule ? obj : {
|
|
25
31
|
default: obj
|
|
26
32
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/utils/progress.ts"],"sourcesContent":["import ProgressBar from 'progress';\n\nlet currentProgress: ProgressBar | null = null;\n\nexport function setProgressBar(bar: ProgressBar | null): void {\n currentProgress = bar;\n}\n\nexport function getProgressBar(): ProgressBar | null {\n return currentProgress;\n}\n\nexport function createProgressBar(barFormat: string, options: ProgressBar.ProgressBarOptions) {\n if (process.stderr.clearLine == null) {\n return null;\n }\n\n const bar = new ProgressBar(barFormat, options);\n\n const logReal = console.log;\n const infoReal = console.info;\n const warnReal = console.warn;\n const errorReal = console.error;\n\n const wrapNativeLogs = (): void => {\n // @ts-expect-error\n console.log = (...args: any) => bar.interrupt(...args);\n // @ts-expect-error\n console.info = (...args: any) => bar.interrupt(...args);\n // @ts-expect-error\n console.warn = (...args: any) => bar.interrupt(...args);\n // @ts-expect-error\n console.error = (...args: any) => bar.interrupt(...args);\n };\n\n const resetNativeLogs = (): void => {\n console.log = logReal;\n console.info = infoReal;\n console.warn = warnReal;\n console.error = errorReal;\n };\n\n const originalTerminate = bar.terminate.bind(bar);\n bar.terminate = () => {\n resetNativeLogs();\n setProgressBar(null);\n originalTerminate();\n };\n\n wrapNativeLogs();\n setProgressBar(bar);\n return bar;\n}\n"],"names":["
|
|
1
|
+
{"version":3,"sources":["../../../src/utils/progress.ts"],"sourcesContent":["import ProgressBar from 'progress';\n\nlet currentProgress: ProgressBar | null = null;\n\nexport function setProgressBar(bar: ProgressBar | null): void {\n currentProgress = bar;\n}\n\nexport function getProgressBar(): ProgressBar | null {\n return currentProgress;\n}\n\nexport function createProgressBar(barFormat: string, options: ProgressBar.ProgressBarOptions) {\n if (process.stderr.clearLine == null) {\n return null;\n }\n\n const bar = new ProgressBar(barFormat, options);\n\n const logReal = console.log;\n const infoReal = console.info;\n const warnReal = console.warn;\n const errorReal = console.error;\n\n const wrapNativeLogs = (): void => {\n // @ts-expect-error\n console.log = (...args: any) => bar.interrupt(...args);\n // @ts-expect-error\n console.info = (...args: any) => bar.interrupt(...args);\n // @ts-expect-error\n console.warn = (...args: any) => bar.interrupt(...args);\n // @ts-expect-error\n console.error = (...args: any) => bar.interrupt(...args);\n };\n\n const resetNativeLogs = (): void => {\n console.log = logReal;\n console.info = infoReal;\n console.warn = warnReal;\n console.error = errorReal;\n };\n\n const originalTerminate = bar.terminate.bind(bar);\n bar.terminate = () => {\n resetNativeLogs();\n setProgressBar(null);\n originalTerminate();\n };\n\n wrapNativeLogs();\n setProgressBar(bar);\n return bar;\n}\n"],"names":["createProgressBar","getProgressBar","setProgressBar","currentProgress","bar","barFormat","options","process","stderr","clearLine","ProgressBar","logReal","console","log","infoReal","info","warnReal","warn","errorReal","error","wrapNativeLogs","args","interrupt","resetNativeLogs","originalTerminate","terminate","bind"],"mappings":";;;;;;;;;;;IAYgBA,iBAAiB;eAAjBA;;IAJAC,cAAc;eAAdA;;IAJAC,cAAc;eAAdA;;;;gEAJQ;;;;;;;;;;;AAExB,IAAIC,kBAAsC;AAEnC,SAASD,eAAeE,GAAuB;IACpDD,kBAAkBC;AACpB;AAEO,SAASH;IACd,OAAOE;AACT;AAEO,SAASH,kBAAkBK,SAAiB,EAAEC,OAAuC;IAC1F,IAAIC,QAAQC,MAAM,CAACC,SAAS,IAAI,MAAM;QACpC,OAAO;IACT;IAEA,MAAML,MAAM,IAAIM,CAAAA,WAAU,SAAC,CAACL,WAAWC;IAEvC,MAAMK,UAAUC,QAAQC,GAAG;IAC3B,MAAMC,WAAWF,QAAQG,IAAI;IAC7B,MAAMC,WAAWJ,QAAQK,IAAI;IAC7B,MAAMC,YAAYN,QAAQO,KAAK;IAE/B,MAAMC,iBAAiB;QACrB,mBAAmB;QACnBR,QAAQC,GAAG,GAAG,CAAC,GAAGQ,OAAcjB,IAAIkB,SAAS,IAAID;QACjD,mBAAmB;QACnBT,QAAQG,IAAI,GAAG,CAAC,GAAGM,OAAcjB,IAAIkB,SAAS,IAAID;QAClD,mBAAmB;QACnBT,QAAQK,IAAI,GAAG,CAAC,GAAGI,OAAcjB,IAAIkB,SAAS,IAAID;QAClD,mBAAmB;QACnBT,QAAQO,KAAK,GAAG,CAAC,GAAGE,OAAcjB,IAAIkB,SAAS,IAAID;IACrD;IAEA,MAAME,kBAAkB;QACtBX,QAAQC,GAAG,GAAGF;QACdC,QAAQG,IAAI,GAAGD;QACfF,QAAQK,IAAI,GAAGD;QACfJ,QAAQO,KAAK,GAAGD;IAClB;IAEA,MAAMM,oBAAoBpB,IAAIqB,SAAS,CAACC,IAAI,CAACtB;IAC7CA,IAAIqB,SAAS,GAAG;QACdF;QACArB,eAAe;QACfsB;IACF;IAEAJ;IACAlB,eAAeE;IACf,OAAOA;AACT"}
|
|
@@ -9,25 +9,43 @@ function _export(target, all) {
|
|
|
9
9
|
});
|
|
10
10
|
}
|
|
11
11
|
_export(exports, {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
12
|
+
addInteractionListener: function() {
|
|
13
|
+
return addInteractionListener;
|
|
14
|
+
},
|
|
15
|
+
confirmAsync: function() {
|
|
16
|
+
return confirmAsync;
|
|
17
|
+
},
|
|
18
|
+
createSelectionFilter: function() {
|
|
19
|
+
return createSelectionFilter;
|
|
20
|
+
},
|
|
21
|
+
default: function() {
|
|
22
|
+
return prompt;
|
|
23
|
+
},
|
|
24
|
+
pauseInteractions: function() {
|
|
25
|
+
return pauseInteractions;
|
|
26
|
+
},
|
|
27
|
+
promptAsync: function() {
|
|
28
|
+
return promptAsync;
|
|
29
|
+
},
|
|
30
|
+
removeInteractionListener: function() {
|
|
31
|
+
return removeInteractionListener;
|
|
32
|
+
},
|
|
33
|
+
resumeInteractions: function() {
|
|
34
|
+
return resumeInteractions;
|
|
35
|
+
},
|
|
36
|
+
selectAsync: function() {
|
|
37
|
+
return selectAsync;
|
|
38
|
+
}
|
|
21
39
|
});
|
|
22
40
|
function _assert() {
|
|
23
|
-
const data = /*#__PURE__*/
|
|
41
|
+
const data = /*#__PURE__*/ _interop_require_default(require("assert"));
|
|
24
42
|
_assert = function() {
|
|
25
43
|
return data;
|
|
26
44
|
};
|
|
27
45
|
return data;
|
|
28
46
|
}
|
|
29
47
|
function _prompts() {
|
|
30
|
-
const data = /*#__PURE__*/
|
|
48
|
+
const data = /*#__PURE__*/ _interop_require_default(require("prompts"));
|
|
31
49
|
_prompts = function() {
|
|
32
50
|
return data;
|
|
33
51
|
};
|
|
@@ -35,14 +53,14 @@ function _prompts() {
|
|
|
35
53
|
}
|
|
36
54
|
const _errors = require("./errors");
|
|
37
55
|
const _interactive = require("./interactive");
|
|
38
|
-
function
|
|
56
|
+
function _interop_require_default(obj) {
|
|
39
57
|
return obj && obj.__esModule ? obj : {
|
|
40
58
|
default: obj
|
|
41
59
|
};
|
|
42
60
|
}
|
|
43
|
-
const debug = require(
|
|
61
|
+
const debug = require('debug')('expo:utils:prompts');
|
|
44
62
|
/** Interaction observers for detecting when keystroke tracking should pause/resume. */ const listeners = [];
|
|
45
|
-
async function prompt(questions, { nonInteractiveHelp
|
|
63
|
+
async function prompt(questions, { nonInteractiveHelp, ...options } = {}) {
|
|
46
64
|
questions = Array.isArray(questions) ? questions : [
|
|
47
65
|
questions
|
|
48
66
|
];
|
|
@@ -52,10 +70,10 @@ async function prompt(questions, { nonInteractiveHelp , ...options } = {}) {
|
|
|
52
70
|
message += nonInteractiveHelp;
|
|
53
71
|
} else {
|
|
54
72
|
const question = questions[0];
|
|
55
|
-
const questionMessage = typeof question.message ===
|
|
56
|
-
message += `Required input:\n${(questionMessage ||
|
|
73
|
+
const questionMessage = typeof question.message === 'function' ? question.message(undefined, {}, question) : question.message;
|
|
74
|
+
message += `Required input:\n${(questionMessage || '').trim().replace(/^/gm, '> ')}`;
|
|
57
75
|
}
|
|
58
|
-
throw new _errors.CommandError(
|
|
76
|
+
throw new _errors.CommandError('NON_INTERACTIVE', message);
|
|
59
77
|
}
|
|
60
78
|
pauseInteractions();
|
|
61
79
|
try {
|
|
@@ -71,20 +89,20 @@ async function prompt(questions, { nonInteractiveHelp , ...options } = {}) {
|
|
|
71
89
|
}
|
|
72
90
|
}
|
|
73
91
|
async function confirmAsync(questions, options) {
|
|
74
|
-
const { value
|
|
92
|
+
const { value } = await prompt({
|
|
75
93
|
initial: true,
|
|
76
94
|
...questions,
|
|
77
|
-
name:
|
|
78
|
-
type:
|
|
95
|
+
name: 'value',
|
|
96
|
+
type: 'confirm'
|
|
79
97
|
}, options);
|
|
80
98
|
return value ?? null;
|
|
81
99
|
}
|
|
82
100
|
async function selectAsync(message, choices, options) {
|
|
83
|
-
const { value
|
|
101
|
+
const { value } = await prompt({
|
|
84
102
|
message,
|
|
85
103
|
choices,
|
|
86
|
-
name:
|
|
87
|
-
type:
|
|
104
|
+
name: 'value',
|
|
105
|
+
type: 'select'
|
|
88
106
|
}, options);
|
|
89
107
|
return value ?? null;
|
|
90
108
|
}
|
|
@@ -94,11 +112,11 @@ function addInteractionListener(callback) {
|
|
|
94
112
|
}
|
|
95
113
|
function removeInteractionListener(callback) {
|
|
96
114
|
const listenerIndex = listeners.findIndex((_callback)=>_callback === callback);
|
|
97
|
-
(0, _assert().default)(listenerIndex >= 0,
|
|
115
|
+
(0, _assert().default)(listenerIndex >= 0, 'removeInteractionListener(): cannot remove an unregistered event listener.');
|
|
98
116
|
listeners.splice(listenerIndex, 1);
|
|
99
117
|
}
|
|
100
118
|
function pauseInteractions(options = {}) {
|
|
101
|
-
debug(
|
|
119
|
+
debug('Interaction observers paused');
|
|
102
120
|
for (const listener of listeners){
|
|
103
121
|
listener({
|
|
104
122
|
pause: true,
|
|
@@ -107,7 +125,7 @@ function pauseInteractions(options = {}) {
|
|
|
107
125
|
}
|
|
108
126
|
}
|
|
109
127
|
function resumeInteractions(options = {}) {
|
|
110
|
-
debug(
|
|
128
|
+
debug('Interaction observers resumed');
|
|
111
129
|
for (const listener of listeners){
|
|
112
130
|
listener({
|
|
113
131
|
pause: false,
|
|
@@ -117,14 +135,14 @@ function resumeInteractions(options = {}) {
|
|
|
117
135
|
}
|
|
118
136
|
function createSelectionFilter() {
|
|
119
137
|
function escapeRegex(string) {
|
|
120
|
-
return string.replace(/[-/\\^$*+?.()|[\]{}]/g,
|
|
138
|
+
return string.replace(/[-/\\^$*+?.()|[\]{}]/g, '\\$&');
|
|
121
139
|
}
|
|
122
140
|
return async (input, choices)=>{
|
|
123
141
|
try {
|
|
124
|
-
const regex = new RegExp(escapeRegex(input),
|
|
142
|
+
const regex = new RegExp(escapeRegex(input), 'i');
|
|
125
143
|
return choices.filter((choice)=>regex.test(choice.title));
|
|
126
144
|
} catch (error) {
|
|
127
|
-
debug(
|
|
145
|
+
debug('Error filtering choices', error);
|
|
128
146
|
return [];
|
|
129
147
|
}
|
|
130
148
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/utils/prompts.ts"],"sourcesContent":["import assert from 'assert';\nimport prompts, { Choice, Options, PromptObject } from 'prompts';\n\nimport { AbortCommandError, CommandError } from './errors';\nimport { isInteractive } from './interactive';\n\nconst debug = require('debug')('expo:utils:prompts') as typeof console.log;\n\nexport type Question<V extends string = string> = PromptObject<V> & {\n optionsPerPage?: number;\n};\n\nexport interface ExpoChoice<T> extends Choice {\n value: T;\n}\n\ntype PromptOptions = { nonInteractiveHelp?: string } & Options;\n\nexport type NamelessQuestion = Omit<Question<'value'>, 'name' | 'type'>;\n\ntype InteractionOptions = { pause: boolean; canEscape?: boolean };\n\ntype InteractionCallback = (options: InteractionOptions) => void;\n\n/** Interaction observers for detecting when keystroke tracking should pause/resume. */\nconst listeners: InteractionCallback[] = [];\n\nexport default async function prompt(\n questions: Question | Question[],\n { nonInteractiveHelp, ...options }: PromptOptions = {}\n) {\n questions = Array.isArray(questions) ? questions : [questions];\n if (!isInteractive() && questions.length !== 0) {\n let message = `Input is required, but 'npx expo' is in non-interactive mode.\\n`;\n if (nonInteractiveHelp) {\n message += nonInteractiveHelp;\n } else {\n const question = questions[0];\n const questionMessage =\n typeof question.message === 'function'\n ? question.message(undefined, {}, question)\n : question.message;\n\n message += `Required input:\\n${(questionMessage || '').trim().replace(/^/gm, '> ')}`;\n }\n throw new CommandError('NON_INTERACTIVE', message);\n }\n\n pauseInteractions();\n try {\n const results = await prompts(questions, {\n onCancel() {\n throw new AbortCommandError();\n },\n ...options,\n });\n\n return results;\n } finally {\n resumeInteractions();\n }\n}\n\n/**\n * Create a standard yes/no confirmation that can be cancelled.\n *\n * @param questions\n * @param options\n */\nexport async function confirmAsync(\n questions: NamelessQuestion,\n options?: PromptOptions\n): Promise<boolean> {\n const { value } = await prompt(\n {\n initial: true,\n ...questions,\n name: 'value',\n type: 'confirm',\n },\n options\n );\n return value ?? null;\n}\n\n/** Select an option from a list of options. */\nexport async function selectAsync<T>(\n message: string,\n choices: ExpoChoice<T>[],\n options?: PromptOptions\n): Promise<T> {\n const { value } = await prompt(\n {\n message,\n choices,\n name: 'value',\n type: 'select',\n },\n options\n );\n return value ?? null;\n}\n\nexport const promptAsync = prompt;\n\n/** Used to pause/resume interaction observers while prompting (made for TerminalUI). */\nexport function addInteractionListener(callback: InteractionCallback) {\n listeners.push(callback);\n}\n\nexport function removeInteractionListener(callback: InteractionCallback) {\n const listenerIndex = listeners.findIndex((_callback) => _callback === callback);\n assert(\n listenerIndex >= 0,\n 'removeInteractionListener(): cannot remove an unregistered event listener.'\n );\n listeners.splice(listenerIndex, 1);\n}\n\n/** Notify all listeners that keypress observations must pause. */\nexport function pauseInteractions(options: Omit<InteractionOptions, 'pause'> = {}) {\n debug('Interaction observers paused');\n for (const listener of listeners) {\n listener({ pause: true, ...options });\n }\n}\n\n/** Notify all listeners that keypress observations can start.. */\nexport function resumeInteractions(options: Omit<InteractionOptions, 'pause'> = {}) {\n debug('Interaction observers resumed');\n for (const listener of listeners) {\n listener({ pause: false, ...options });\n }\n}\n\nexport function createSelectionFilter(): (input: any, choices: Choice[]) => Promise<any> {\n function escapeRegex(string: string) {\n return string.replace(/[-/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n }\n\n return async (input: any, choices: Choice[]) => {\n try {\n const regex = new RegExp(escapeRegex(input), 'i');\n return choices.filter((choice: any) => regex.test(choice.title));\n } catch (error: any) {\n debug('Error filtering choices', error);\n return [];\n }\n };\n}\n"],"names":["
|
|
1
|
+
{"version":3,"sources":["../../../src/utils/prompts.ts"],"sourcesContent":["import assert from 'assert';\nimport prompts, { Choice, Options, PromptObject } from 'prompts';\n\nimport { AbortCommandError, CommandError } from './errors';\nimport { isInteractive } from './interactive';\n\nconst debug = require('debug')('expo:utils:prompts') as typeof console.log;\n\nexport type Question<V extends string = string> = PromptObject<V> & {\n optionsPerPage?: number;\n};\n\nexport interface ExpoChoice<T> extends Choice {\n value: T;\n}\n\ntype PromptOptions = { nonInteractiveHelp?: string } & Options;\n\nexport type NamelessQuestion = Omit<Question<'value'>, 'name' | 'type'>;\n\ntype InteractionOptions = { pause: boolean; canEscape?: boolean };\n\ntype InteractionCallback = (options: InteractionOptions) => void;\n\n/** Interaction observers for detecting when keystroke tracking should pause/resume. */\nconst listeners: InteractionCallback[] = [];\n\nexport default async function prompt(\n questions: Question | Question[],\n { nonInteractiveHelp, ...options }: PromptOptions = {}\n) {\n questions = Array.isArray(questions) ? questions : [questions];\n if (!isInteractive() && questions.length !== 0) {\n let message = `Input is required, but 'npx expo' is in non-interactive mode.\\n`;\n if (nonInteractiveHelp) {\n message += nonInteractiveHelp;\n } else {\n const question = questions[0];\n const questionMessage =\n typeof question.message === 'function'\n ? question.message(undefined, {}, question)\n : question.message;\n\n message += `Required input:\\n${(questionMessage || '').trim().replace(/^/gm, '> ')}`;\n }\n throw new CommandError('NON_INTERACTIVE', message);\n }\n\n pauseInteractions();\n try {\n const results = await prompts(questions, {\n onCancel() {\n throw new AbortCommandError();\n },\n ...options,\n });\n\n return results;\n } finally {\n resumeInteractions();\n }\n}\n\n/**\n * Create a standard yes/no confirmation that can be cancelled.\n *\n * @param questions\n * @param options\n */\nexport async function confirmAsync(\n questions: NamelessQuestion,\n options?: PromptOptions\n): Promise<boolean> {\n const { value } = await prompt(\n {\n initial: true,\n ...questions,\n name: 'value',\n type: 'confirm',\n },\n options\n );\n return value ?? null;\n}\n\n/** Select an option from a list of options. */\nexport async function selectAsync<T>(\n message: string,\n choices: ExpoChoice<T>[],\n options?: PromptOptions\n): Promise<T> {\n const { value } = await prompt(\n {\n message,\n choices,\n name: 'value',\n type: 'select',\n },\n options\n );\n return value ?? null;\n}\n\nexport const promptAsync = prompt;\n\n/** Used to pause/resume interaction observers while prompting (made for TerminalUI). */\nexport function addInteractionListener(callback: InteractionCallback) {\n listeners.push(callback);\n}\n\nexport function removeInteractionListener(callback: InteractionCallback) {\n const listenerIndex = listeners.findIndex((_callback) => _callback === callback);\n assert(\n listenerIndex >= 0,\n 'removeInteractionListener(): cannot remove an unregistered event listener.'\n );\n listeners.splice(listenerIndex, 1);\n}\n\n/** Notify all listeners that keypress observations must pause. */\nexport function pauseInteractions(options: Omit<InteractionOptions, 'pause'> = {}) {\n debug('Interaction observers paused');\n for (const listener of listeners) {\n listener({ pause: true, ...options });\n }\n}\n\n/** Notify all listeners that keypress observations can start.. */\nexport function resumeInteractions(options: Omit<InteractionOptions, 'pause'> = {}) {\n debug('Interaction observers resumed');\n for (const listener of listeners) {\n listener({ pause: false, ...options });\n }\n}\n\nexport function createSelectionFilter(): (input: any, choices: Choice[]) => Promise<any> {\n function escapeRegex(string: string) {\n return string.replace(/[-/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n }\n\n return async (input: any, choices: Choice[]) => {\n try {\n const regex = new RegExp(escapeRegex(input), 'i');\n return choices.filter((choice: any) => regex.test(choice.title));\n } catch (error: any) {\n debug('Error filtering choices', error);\n return [];\n }\n };\n}\n"],"names":["addInteractionListener","confirmAsync","createSelectionFilter","prompt","pauseInteractions","promptAsync","removeInteractionListener","resumeInteractions","selectAsync","debug","require","listeners","questions","nonInteractiveHelp","options","Array","isArray","isInteractive","length","message","question","questionMessage","undefined","trim","replace","CommandError","results","prompts","onCancel","AbortCommandError","value","initial","name","type","choices","callback","push","listenerIndex","findIndex","_callback","assert","splice","listener","pause","escapeRegex","string","input","regex","RegExp","filter","choice","test","title","error"],"mappings":"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"}
|