@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/git.js
CHANGED
|
@@ -9,18 +9,22 @@ function _export(target, all) {
|
|
|
9
9
|
});
|
|
10
10
|
}
|
|
11
11
|
_export(exports, {
|
|
12
|
-
maybeBailOnGitStatusAsync: ()
|
|
13
|
-
|
|
12
|
+
maybeBailOnGitStatusAsync: function() {
|
|
13
|
+
return maybeBailOnGitStatusAsync;
|
|
14
|
+
},
|
|
15
|
+
validateGitStatusAsync: function() {
|
|
16
|
+
return validateGitStatusAsync;
|
|
17
|
+
}
|
|
14
18
|
});
|
|
15
|
-
function
|
|
16
|
-
const data = /*#__PURE__*/
|
|
17
|
-
|
|
19
|
+
function _spawnasync() {
|
|
20
|
+
const data = /*#__PURE__*/ _interop_require_default(require("@expo/spawn-async"));
|
|
21
|
+
_spawnasync = function() {
|
|
18
22
|
return data;
|
|
19
23
|
};
|
|
20
24
|
return data;
|
|
21
25
|
}
|
|
22
26
|
function _chalk() {
|
|
23
|
-
const data = /*#__PURE__*/
|
|
27
|
+
const data = /*#__PURE__*/ _interop_require_default(require("chalk"));
|
|
24
28
|
_chalk = function() {
|
|
25
29
|
return data;
|
|
26
30
|
};
|
|
@@ -29,8 +33,8 @@ function _chalk() {
|
|
|
29
33
|
const _env = require("./env");
|
|
30
34
|
const _interactive = require("./interactive");
|
|
31
35
|
const _prompts = require("./prompts");
|
|
32
|
-
const _log = /*#__PURE__*/
|
|
33
|
-
function
|
|
36
|
+
const _log = /*#__PURE__*/ _interop_require_wildcard(require("../log"));
|
|
37
|
+
function _interop_require_default(obj) {
|
|
34
38
|
return obj && obj.__esModule ? obj : {
|
|
35
39
|
default: obj
|
|
36
40
|
};
|
|
@@ -43,7 +47,7 @@ function _getRequireWildcardCache(nodeInterop) {
|
|
|
43
47
|
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
|
44
48
|
})(nodeInterop);
|
|
45
49
|
}
|
|
46
|
-
function
|
|
50
|
+
function _interop_require_wildcard(obj, nodeInterop) {
|
|
47
51
|
if (!nodeInterop && obj && obj.__esModule) {
|
|
48
52
|
return obj;
|
|
49
53
|
}
|
|
@@ -56,7 +60,9 @@ function _interopRequireWildcard(obj, nodeInterop) {
|
|
|
56
60
|
if (cache && cache.has(obj)) {
|
|
57
61
|
return cache.get(obj);
|
|
58
62
|
}
|
|
59
|
-
var newObj = {
|
|
63
|
+
var newObj = {
|
|
64
|
+
__proto__: null
|
|
65
|
+
};
|
|
60
66
|
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
61
67
|
for(var key in obj){
|
|
62
68
|
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
@@ -76,7 +82,7 @@ function _interopRequireWildcard(obj, nodeInterop) {
|
|
|
76
82
|
}
|
|
77
83
|
async function maybeBailOnGitStatusAsync() {
|
|
78
84
|
if (_env.env.EXPO_NO_GIT_STATUS) {
|
|
79
|
-
_log.warn(
|
|
85
|
+
_log.warn('Git status is dirty but the command will continue because EXPO_NO_GIT_STATUS is enabled...');
|
|
80
86
|
return false;
|
|
81
87
|
}
|
|
82
88
|
const isGitStatusClean = await validateGitStatusAsync();
|
|
@@ -98,23 +104,23 @@ async function maybeBailOnGitStatusAsync() {
|
|
|
98
104
|
return false;
|
|
99
105
|
}
|
|
100
106
|
async function validateGitStatusAsync() {
|
|
101
|
-
let workingTreeStatus =
|
|
107
|
+
let workingTreeStatus = 'unknown';
|
|
102
108
|
try {
|
|
103
|
-
const result = await (0,
|
|
104
|
-
|
|
105
|
-
|
|
109
|
+
const result = await (0, _spawnasync().default)('git', [
|
|
110
|
+
'status',
|
|
111
|
+
'--porcelain'
|
|
106
112
|
]);
|
|
107
|
-
workingTreeStatus = result.stdout ===
|
|
113
|
+
workingTreeStatus = result.stdout === '' ? 'clean' : 'dirty';
|
|
108
114
|
} catch {
|
|
109
115
|
// Maybe git is not installed?
|
|
110
116
|
// Maybe this project is not using git?
|
|
111
117
|
}
|
|
112
|
-
if (workingTreeStatus ===
|
|
118
|
+
if (workingTreeStatus === 'clean') {
|
|
113
119
|
return true;
|
|
114
|
-
} else if (workingTreeStatus ===
|
|
115
|
-
logWarning(
|
|
120
|
+
} else if (workingTreeStatus === 'dirty') {
|
|
121
|
+
logWarning('Git branch has uncommited file changes', `It's recommended to commit all changes before proceeding in case you want to revert generated changes.`);
|
|
116
122
|
} else {
|
|
117
|
-
logWarning(
|
|
123
|
+
logWarning('No git repo found in current directory', `Use git to track file changes before running commands that modify project files.`);
|
|
118
124
|
}
|
|
119
125
|
return false;
|
|
120
126
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/utils/git.ts"],"sourcesContent":["import spawnAsync from '@expo/spawn-async';\nimport chalk from 'chalk';\n\nimport { env } from './env';\nimport { isInteractive } from './interactive';\nimport { confirmAsync } from './prompts';\nimport * as Log from '../log';\n\nexport async function maybeBailOnGitStatusAsync(): Promise<boolean> {\n if (env.EXPO_NO_GIT_STATUS) {\n Log.warn(\n 'Git status is dirty but the command will continue because EXPO_NO_GIT_STATUS is enabled...'\n );\n return false;\n }\n const isGitStatusClean = await validateGitStatusAsync();\n\n // Give people a chance to bail out if git working tree is dirty\n if (!isGitStatusClean) {\n if (!isInteractive()) {\n Log.warn(\n `Git status is dirty but the command will continue because the terminal is not interactive.`\n );\n return false;\n }\n\n Log.log();\n const answer = await confirmAsync({\n message: `Continue with uncommited changes?`,\n });\n\n if (!answer) {\n return true;\n }\n\n Log.log();\n }\n return false;\n}\n\nexport async function validateGitStatusAsync(): Promise<boolean> {\n let workingTreeStatus = 'unknown';\n try {\n const result = await spawnAsync('git', ['status', '--porcelain']);\n workingTreeStatus = result.stdout === '' ? 'clean' : 'dirty';\n } catch {\n // Maybe git is not installed?\n // Maybe this project is not using git?\n }\n\n if (workingTreeStatus === 'clean') {\n return true;\n } else if (workingTreeStatus === 'dirty') {\n logWarning(\n 'Git branch has uncommited file changes',\n `It's recommended to commit all changes before proceeding in case you want to revert generated changes.`\n );\n } else {\n logWarning(\n 'No git repo found in current directory',\n `Use git to track file changes before running commands that modify project files.`\n );\n }\n\n return false;\n}\n\nfunction logWarning(warning: string, hint: string) {\n Log.warn(chalk.bold`! ` + warning);\n Log.log(chalk.gray`\\u203A ` + chalk.gray(hint));\n}\n"],"names":["maybeBailOnGitStatusAsync","validateGitStatusAsync","env","EXPO_NO_GIT_STATUS","Log","warn","isGitStatusClean","isInteractive","log","answer","confirmAsync","message","workingTreeStatus","result","spawnAsync","stdout","logWarning","warning","hint","chalk","bold","gray"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/utils/git.ts"],"sourcesContent":["import spawnAsync from '@expo/spawn-async';\nimport chalk from 'chalk';\n\nimport { env } from './env';\nimport { isInteractive } from './interactive';\nimport { confirmAsync } from './prompts';\nimport * as Log from '../log';\n\nexport async function maybeBailOnGitStatusAsync(): Promise<boolean> {\n if (env.EXPO_NO_GIT_STATUS) {\n Log.warn(\n 'Git status is dirty but the command will continue because EXPO_NO_GIT_STATUS is enabled...'\n );\n return false;\n }\n const isGitStatusClean = await validateGitStatusAsync();\n\n // Give people a chance to bail out if git working tree is dirty\n if (!isGitStatusClean) {\n if (!isInteractive()) {\n Log.warn(\n `Git status is dirty but the command will continue because the terminal is not interactive.`\n );\n return false;\n }\n\n Log.log();\n const answer = await confirmAsync({\n message: `Continue with uncommited changes?`,\n });\n\n if (!answer) {\n return true;\n }\n\n Log.log();\n }\n return false;\n}\n\nexport async function validateGitStatusAsync(): Promise<boolean> {\n let workingTreeStatus = 'unknown';\n try {\n const result = await spawnAsync('git', ['status', '--porcelain']);\n workingTreeStatus = result.stdout === '' ? 'clean' : 'dirty';\n } catch {\n // Maybe git is not installed?\n // Maybe this project is not using git?\n }\n\n if (workingTreeStatus === 'clean') {\n return true;\n } else if (workingTreeStatus === 'dirty') {\n logWarning(\n 'Git branch has uncommited file changes',\n `It's recommended to commit all changes before proceeding in case you want to revert generated changes.`\n );\n } else {\n logWarning(\n 'No git repo found in current directory',\n `Use git to track file changes before running commands that modify project files.`\n );\n }\n\n return false;\n}\n\nfunction logWarning(warning: string, hint: string) {\n Log.warn(chalk.bold`! ` + warning);\n Log.log(chalk.gray`\\u203A ` + chalk.gray(hint));\n}\n"],"names":["maybeBailOnGitStatusAsync","validateGitStatusAsync","env","EXPO_NO_GIT_STATUS","Log","warn","isGitStatusClean","isInteractive","log","answer","confirmAsync","message","workingTreeStatus","result","spawnAsync","stdout","logWarning","warning","hint","chalk","bold","gray"],"mappings":";;;;;;;;;;;IAQsBA,yBAAyB;eAAzBA;;IAgCAC,sBAAsB;eAAtBA;;;;gEAxCC;;;;;;;gEACL;;;;;;qBAEE;6BACU;yBACD;6DACR;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEd,eAAeD;IACpB,IAAIE,QAAG,CAACC,kBAAkB,EAAE;QAC1BC,KAAIC,IAAI,CACN;QAEF,OAAO;IACT;IACA,MAAMC,mBAAmB,MAAML;IAE/B,gEAAgE;IAChE,IAAI,CAACK,kBAAkB;QACrB,IAAI,CAACC,IAAAA,0BAAa,KAAI;YACpBH,KAAIC,IAAI,CACN,CAAC,0FAA0F,CAAC;YAE9F,OAAO;QACT;QAEAD,KAAII,GAAG;QACP,MAAMC,SAAS,MAAMC,IAAAA,qBAAY,EAAC;YAChCC,SAAS,CAAC,iCAAiC,CAAC;QAC9C;QAEA,IAAI,CAACF,QAAQ;YACX,OAAO;QACT;QAEAL,KAAII,GAAG;IACT;IACA,OAAO;AACT;AAEO,eAAeP;IACpB,IAAIW,oBAAoB;IACxB,IAAI;QACF,MAAMC,SAAS,MAAMC,IAAAA,qBAAU,EAAC,OAAO;YAAC;YAAU;SAAc;QAChEF,oBAAoBC,OAAOE,MAAM,KAAK,KAAK,UAAU;IACvD,EAAE,OAAM;IACN,8BAA8B;IAC9B,uCAAuC;IACzC;IAEA,IAAIH,sBAAsB,SAAS;QACjC,OAAO;IACT,OAAO,IAAIA,sBAAsB,SAAS;QACxCI,WACE,0CACA,CAAC,sGAAsG,CAAC;IAE5G,OAAO;QACLA,WACE,0CACA,CAAC,gFAAgF,CAAC;IAEtF;IAEA,OAAO;AACT;AAEA,SAASA,WAAWC,OAAe,EAAEC,IAAY;IAC/Cd,KAAIC,IAAI,CAACc,gBAAK,CAACC,IAAI,CAAC,EAAE,CAAC,GAAGH;IAC1Bb,KAAII,GAAG,CAACW,gBAAK,CAACE,IAAI,CAAC,OAAO,CAAC,GAAGF,gBAAK,CAACE,IAAI,CAACH;AAC3C"}
|
package/build/src/utils/glob.js
CHANGED
|
@@ -9,8 +9,12 @@ function _export(target, all) {
|
|
|
9
9
|
});
|
|
10
10
|
}
|
|
11
11
|
_export(exports, {
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
anyMatchAsync: function() {
|
|
13
|
+
return anyMatchAsync;
|
|
14
|
+
},
|
|
15
|
+
everyMatchAsync: function() {
|
|
16
|
+
return everyMatchAsync;
|
|
17
|
+
}
|
|
14
18
|
});
|
|
15
19
|
function _glob() {
|
|
16
20
|
const data = require("glob");
|
|
@@ -26,11 +30,11 @@ function anyMatchAsync(pattern, options) {
|
|
|
26
30
|
(0, _glob().globStream)(pattern, {
|
|
27
31
|
...options,
|
|
28
32
|
signal: controller.signal
|
|
29
|
-
}).on(
|
|
33
|
+
}).on('error', (error)=>{
|
|
30
34
|
if (!controller.signal.aborted) {
|
|
31
35
|
reject(error);
|
|
32
36
|
}
|
|
33
|
-
}).once(
|
|
37
|
+
}).once('end', ()=>resolve([])).once('data', (file)=>{
|
|
34
38
|
controller.abort();
|
|
35
39
|
resolve([
|
|
36
40
|
file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/utils/glob.ts"],"sourcesContent":["import { glob, globStream, type GlobOptions } from 'glob';\n\n/**\n * Finds all matching files.\n * @deprecated Use `glob` directly instead.\n */\nexport const everyMatchAsync: typeof glob = glob;\n\n/** Bails out early after finding the first matching file. */\nexport function anyMatchAsync(\n pattern: string,\n options: Omit<GlobOptions, 'withFileTypes' | 'signal'>\n) {\n return new Promise<string[]>((resolve, reject) => {\n const controller = new AbortController();\n\n globStream(pattern, { ...options, signal: controller.signal })\n .on('error', (error) => {\n if (!controller.signal.aborted) {\n reject(error);\n }\n })\n .once('end', () => resolve([]))\n .once('data', (file) => {\n controller.abort();\n resolve([file]);\n });\n });\n}\n"],"names":["
|
|
1
|
+
{"version":3,"sources":["../../../src/utils/glob.ts"],"sourcesContent":["import { glob, globStream, type GlobOptions } from 'glob';\n\n/**\n * Finds all matching files.\n * @deprecated Use `glob` directly instead.\n */\nexport const everyMatchAsync: typeof glob = glob;\n\n/** Bails out early after finding the first matching file. */\nexport function anyMatchAsync(\n pattern: string,\n options: Omit<GlobOptions, 'withFileTypes' | 'signal'>\n) {\n return new Promise<string[]>((resolve, reject) => {\n const controller = new AbortController();\n\n globStream(pattern, { ...options, signal: controller.signal })\n .on('error', (error) => {\n if (!controller.signal.aborted) {\n reject(error);\n }\n })\n .once('end', () => resolve([]))\n .once('data', (file) => {\n controller.abort();\n resolve([file]);\n });\n });\n}\n"],"names":["anyMatchAsync","everyMatchAsync","glob","pattern","options","Promise","resolve","reject","controller","AbortController","globStream","signal","on","error","aborted","once","file","abort"],"mappings":";;;;;;;;;;;IASgBA,aAAa;eAAbA;;IAHHC,eAAe;eAAfA;;;;yBANsC;;;;;;AAM5C,MAAMA,kBAA+BC,YAAI;AAGzC,SAASF,cACdG,OAAe,EACfC,OAAsD;IAEtD,OAAO,IAAIC,QAAkB,CAACC,SAASC;QACrC,MAAMC,aAAa,IAAIC;QAEvBC,IAAAA,kBAAU,EAACP,SAAS;YAAE,GAAGC,OAAO;YAAEO,QAAQH,WAAWG,MAAM;QAAC,GACzDC,EAAE,CAAC,SAAS,CAACC;YACZ,IAAI,CAACL,WAAWG,MAAM,CAACG,OAAO,EAAE;gBAC9BP,OAAOM;YACT;QACF,GACCE,IAAI,CAAC,OAAO,IAAMT,QAAQ,EAAE,GAC5BS,IAAI,CAAC,QAAQ,CAACC;YACbR,WAAWS,KAAK;YAChBX,QAAQ;gBAACU;aAAK;QAChB;IACJ;AACF"}
|
|
@@ -4,7 +4,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
});
|
|
5
5
|
Object.defineProperty(exports, "isInteractive", {
|
|
6
6
|
enumerable: true,
|
|
7
|
-
get: ()
|
|
7
|
+
get: function() {
|
|
8
|
+
return isInteractive;
|
|
9
|
+
}
|
|
8
10
|
});
|
|
9
11
|
const _env = require("./env");
|
|
10
12
|
function isInteractive() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/utils/interactive.ts"],"sourcesContent":["import { env } from './env';\n\n/** @returns `true` if the process is interactive. */\nexport function isInteractive(): boolean {\n return !env.CI && process.stdout.isTTY;\n}\n"],"names":["isInteractive","env","CI","process","stdout","isTTY"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/utils/interactive.ts"],"sourcesContent":["import { env } from './env';\n\n/** @returns `true` if the process is interactive. */\nexport function isInteractive(): boolean {\n return !env.CI && process.stdout.isTTY;\n}\n"],"names":["isInteractive","env","CI","process","stdout","isTTY"],"mappings":";;;;+BAGgBA;;;eAAAA;;;qBAHI;AAGb,SAASA;IACd,OAAO,CAACC,QAAG,CAACC,EAAE,IAAIC,QAAQC,MAAM,CAACC,KAAK;AACxC"}
|
package/build/src/utils/ip.js
CHANGED
|
@@ -4,37 +4,39 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
});
|
|
5
5
|
Object.defineProperty(exports, "getIpAddress", {
|
|
6
6
|
enumerable: true,
|
|
7
|
-
get: ()
|
|
7
|
+
get: function() {
|
|
8
|
+
return getIpAddress;
|
|
9
|
+
}
|
|
8
10
|
});
|
|
9
|
-
function
|
|
10
|
-
const data = /*#__PURE__*/
|
|
11
|
-
|
|
11
|
+
function _internalip() {
|
|
12
|
+
const data = /*#__PURE__*/ _interop_require_default(require("internal-ip"));
|
|
13
|
+
_internalip = function() {
|
|
12
14
|
return data;
|
|
13
15
|
};
|
|
14
16
|
return data;
|
|
15
17
|
}
|
|
16
|
-
function
|
|
18
|
+
function _nodechild_process() {
|
|
17
19
|
const data = require("node:child_process");
|
|
18
|
-
|
|
20
|
+
_nodechild_process = function() {
|
|
19
21
|
return data;
|
|
20
22
|
};
|
|
21
23
|
return data;
|
|
22
24
|
}
|
|
23
|
-
function
|
|
25
|
+
function _nodenet() {
|
|
24
26
|
const data = require("node:net");
|
|
25
|
-
|
|
27
|
+
_nodenet = function() {
|
|
26
28
|
return data;
|
|
27
29
|
};
|
|
28
30
|
return data;
|
|
29
31
|
}
|
|
30
|
-
function
|
|
32
|
+
function _nodeos() {
|
|
31
33
|
const data = require("node:os");
|
|
32
|
-
|
|
34
|
+
_nodeos = function() {
|
|
33
35
|
return data;
|
|
34
36
|
};
|
|
35
37
|
return data;
|
|
36
38
|
}
|
|
37
|
-
function
|
|
39
|
+
function _interop_require_default(obj) {
|
|
38
40
|
return obj && obj.__esModule ? obj : {
|
|
39
41
|
default: obj
|
|
40
42
|
};
|
|
@@ -46,8 +48,8 @@ function _interopRequireDefault(obj) {
|
|
|
46
48
|
* ports don't send a message when opened.
|
|
47
49
|
* @throws if `spawnSync` fails
|
|
48
50
|
*/ function getRouteAddress() {
|
|
49
|
-
const { error
|
|
50
|
-
|
|
51
|
+
const { error, status, stdout } = (0, _nodechild_process().spawnSync)(process.execPath, [
|
|
52
|
+
'-'
|
|
51
53
|
], {
|
|
52
54
|
// This should be the cheapest method to determine the default route
|
|
53
55
|
// By opening a socket to a publicly routed IP address, we let the default
|
|
@@ -70,20 +72,20 @@ function _interopRequireDefault(obj) {
|
|
|
70
72
|
`,
|
|
71
73
|
shell: false,
|
|
72
74
|
timeout: 500,
|
|
73
|
-
encoding:
|
|
75
|
+
encoding: 'utf8',
|
|
74
76
|
windowsVerbatimArguments: false,
|
|
75
77
|
windowsHide: true
|
|
76
78
|
});
|
|
77
79
|
// We only use the stdout as an IP, if it validates as an IP and we got a zero exit code
|
|
78
80
|
if (status || error) {
|
|
79
81
|
return null;
|
|
80
|
-
} else if (!status && typeof stdout ===
|
|
82
|
+
} else if (!status && typeof stdout === 'string' && (0, _nodenet().isIPv4)(stdout.trim())) {
|
|
81
83
|
return stdout.trim();
|
|
82
84
|
} else {
|
|
83
85
|
return null;
|
|
84
86
|
}
|
|
85
87
|
}
|
|
86
|
-
/** By convention, a zero mac address means we have a virtual device, which we'd like to exclude */ const VIRTUAL_MAC_ADDRESS =
|
|
88
|
+
/** By convention, a zero mac address means we have a virtual device, which we'd like to exclude */ const VIRTUAL_MAC_ADDRESS = '00:00:00:00:00:00';
|
|
87
89
|
/** Determines the internal IP address by opening a socket, then checking the socket address against non-internal network interface assignments
|
|
88
90
|
* @throws If no address can be determined.
|
|
89
91
|
*/ function getRouteIPAddress() {
|
|
@@ -98,7 +100,7 @@ function _interopRequireDefault(obj) {
|
|
|
98
100
|
}
|
|
99
101
|
let ifaces;
|
|
100
102
|
try {
|
|
101
|
-
ifaces = (0,
|
|
103
|
+
ifaces = (0, _nodeos().networkInterfaces)();
|
|
102
104
|
} catch {
|
|
103
105
|
// NOTE: This usually doesn't throw, but invalid builds or unknown targets in Node.js
|
|
104
106
|
// can cause this call to unexpectedly raise a system error
|
|
@@ -110,13 +112,13 @@ function _interopRequireDefault(obj) {
|
|
|
110
112
|
const assignment = assignments[i];
|
|
111
113
|
// Only use IPv4 assigments that aren't internal
|
|
112
114
|
// Only use IPv4 assignment if it's not a virtual device (e.g. a VPN network interface)
|
|
113
|
-
if (assignment.family ===
|
|
115
|
+
if (assignment.family === 'IPv4' && !assignment.internal && assignment.address === routeAddress && assignment.mac !== VIRTUAL_MAC_ADDRESS) return routeAddress;
|
|
114
116
|
}
|
|
115
117
|
}
|
|
116
118
|
return null;
|
|
117
119
|
}
|
|
118
120
|
function getIpAddress() {
|
|
119
|
-
return
|
|
121
|
+
return _internalip().default.v4.sync() || getRouteIPAddress() || '127.0.0.1';
|
|
120
122
|
}
|
|
121
123
|
|
|
122
124
|
//# sourceMappingURL=ip.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/utils/ip.ts"],"sourcesContent":["import internalIp from 'internal-ip';\nimport { spawnSync } from 'node:child_process';\nimport { isIPv4 } from 'node:net';\nimport { networkInterfaces } from 'node:os';\n\n/** Gets a route address by opening a UDP socket to a publicly routed address.\n * @privateRemarks\n * This is wrapped in `spawnSync` since the original `getIpAddress` utility exported\n * in this module is used synchronosly. An appropriate timeout has been set and UDP\n * ports don't send a message when opened.\n * @throws if `spawnSync` fails\n */\nfunction getRouteAddress(): string | null {\n const { error, status, stdout } = spawnSync(process.execPath, ['-'], {\n // This should be the cheapest method to determine the default route\n // By opening a socket to a publicly routed IP address, we let the default\n // gateway handle this socket, which means the socket's address will be\n // the prioritised route for public IP addresses.\n // It might fall back to `\"0.0.0.0\"` when no network connection is established\n input: `\n var socket = require('dgram').createSocket({ type: 'udp4', reuseAddr: true });\n socket.unref();\n socket.connect(53, '1.1.1.1', function() {\n var address = socket.address();\n socket.close();\n if (address && 'address' in address) {\n process.stdout.write(address.address);\n process.exit(0);\n } else {\n process.exit(1);\n }\n });\n `,\n shell: false,\n timeout: 500,\n encoding: 'utf8',\n windowsVerbatimArguments: false,\n windowsHide: true,\n });\n // We only use the stdout as an IP, if it validates as an IP and we got a zero exit code\n if (status || error) {\n return null;\n } else if (!status && typeof stdout === 'string' && isIPv4(stdout.trim())) {\n return stdout.trim();\n } else {\n return null;\n }\n}\n\n/** By convention, a zero mac address means we have a virtual device, which we'd like to exclude */\nconst VIRTUAL_MAC_ADDRESS = '00:00:00:00:00:00';\n\n/** Determines the internal IP address by opening a socket, then checking the socket address against non-internal network interface assignments\n * @throws If no address can be determined.\n */\nfunction getRouteIPAddress(): string | null {\n // We check the IP address we get against the available network interfaces\n // It's only an internal IP address if we have a matching address on an interface's IP assignment\n let routeAddress: string | null = null;\n try {\n routeAddress = getRouteAddress();\n } catch {}\n if (!routeAddress) {\n return null;\n }\n let ifaces: ReturnType<typeof networkInterfaces>;\n try {\n ifaces = networkInterfaces();\n } catch {\n // NOTE: This usually doesn't throw, but invalid builds or unknown targets in Node.js\n // can cause this call to unexpectedly raise a system error\n return null;\n }\n for (const iface in ifaces) {\n const assignments = ifaces[iface];\n for (let i = 0; assignments && i < assignments.length; i++) {\n const assignment = assignments[i];\n // Only use IPv4 assigments that aren't internal\n // Only use IPv4 assignment if it's not a virtual device (e.g. a VPN network interface)\n if (\n assignment.family === 'IPv4' &&\n !assignment.internal &&\n assignment.address === routeAddress &&\n assignment.mac !== VIRTUAL_MAC_ADDRESS\n )\n return routeAddress;\n }\n }\n return null;\n}\n\nexport function getIpAddress(): string {\n return internalIp.v4.sync() || getRouteIPAddress() || '127.0.0.1';\n}\n"],"names":["getIpAddress","getRouteAddress","error","status","stdout","spawnSync","process","execPath","input","shell","timeout","encoding","windowsVerbatimArguments","windowsHide","isIPv4","trim","VIRTUAL_MAC_ADDRESS","getRouteIPAddress","routeAddress","ifaces","networkInterfaces","iface","assignments","i","length","assignment","family","internal","address","mac","internalIp","v4","sync"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/utils/ip.ts"],"sourcesContent":["import internalIp from 'internal-ip';\nimport { spawnSync } from 'node:child_process';\nimport { isIPv4 } from 'node:net';\nimport { networkInterfaces } from 'node:os';\n\n/** Gets a route address by opening a UDP socket to a publicly routed address.\n * @privateRemarks\n * This is wrapped in `spawnSync` since the original `getIpAddress` utility exported\n * in this module is used synchronosly. An appropriate timeout has been set and UDP\n * ports don't send a message when opened.\n * @throws if `spawnSync` fails\n */\nfunction getRouteAddress(): string | null {\n const { error, status, stdout } = spawnSync(process.execPath, ['-'], {\n // This should be the cheapest method to determine the default route\n // By opening a socket to a publicly routed IP address, we let the default\n // gateway handle this socket, which means the socket's address will be\n // the prioritised route for public IP addresses.\n // It might fall back to `\"0.0.0.0\"` when no network connection is established\n input: `\n var socket = require('dgram').createSocket({ type: 'udp4', reuseAddr: true });\n socket.unref();\n socket.connect(53, '1.1.1.1', function() {\n var address = socket.address();\n socket.close();\n if (address && 'address' in address) {\n process.stdout.write(address.address);\n process.exit(0);\n } else {\n process.exit(1);\n }\n });\n `,\n shell: false,\n timeout: 500,\n encoding: 'utf8',\n windowsVerbatimArguments: false,\n windowsHide: true,\n });\n // We only use the stdout as an IP, if it validates as an IP and we got a zero exit code\n if (status || error) {\n return null;\n } else if (!status && typeof stdout === 'string' && isIPv4(stdout.trim())) {\n return stdout.trim();\n } else {\n return null;\n }\n}\n\n/** By convention, a zero mac address means we have a virtual device, which we'd like to exclude */\nconst VIRTUAL_MAC_ADDRESS = '00:00:00:00:00:00';\n\n/** Determines the internal IP address by opening a socket, then checking the socket address against non-internal network interface assignments\n * @throws If no address can be determined.\n */\nfunction getRouteIPAddress(): string | null {\n // We check the IP address we get against the available network interfaces\n // It's only an internal IP address if we have a matching address on an interface's IP assignment\n let routeAddress: string | null = null;\n try {\n routeAddress = getRouteAddress();\n } catch {}\n if (!routeAddress) {\n return null;\n }\n let ifaces: ReturnType<typeof networkInterfaces>;\n try {\n ifaces = networkInterfaces();\n } catch {\n // NOTE: This usually doesn't throw, but invalid builds or unknown targets in Node.js\n // can cause this call to unexpectedly raise a system error\n return null;\n }\n for (const iface in ifaces) {\n const assignments = ifaces[iface];\n for (let i = 0; assignments && i < assignments.length; i++) {\n const assignment = assignments[i];\n // Only use IPv4 assigments that aren't internal\n // Only use IPv4 assignment if it's not a virtual device (e.g. a VPN network interface)\n if (\n assignment.family === 'IPv4' &&\n !assignment.internal &&\n assignment.address === routeAddress &&\n assignment.mac !== VIRTUAL_MAC_ADDRESS\n )\n return routeAddress;\n }\n }\n return null;\n}\n\nexport function getIpAddress(): string {\n return internalIp.v4.sync() || getRouteIPAddress() || '127.0.0.1';\n}\n"],"names":["getIpAddress","getRouteAddress","error","status","stdout","spawnSync","process","execPath","input","shell","timeout","encoding","windowsVerbatimArguments","windowsHide","isIPv4","trim","VIRTUAL_MAC_ADDRESS","getRouteIPAddress","routeAddress","ifaces","networkInterfaces","iface","assignments","i","length","assignment","family","internal","address","mac","internalIp","v4","sync"],"mappings":";;;;+BA2FgBA;;;eAAAA;;;;gEA3FO;;;;;;;yBACG;;;;;;;yBACH;;;;;;;yBACW;;;;;;;;;;;AAElC;;;;;;CAMC,GACD,SAASC;IACP,MAAM,EAAEC,KAAK,EAAEC,MAAM,EAAEC,MAAM,EAAE,GAAGC,IAAAA,8BAAS,EAACC,QAAQC,QAAQ,EAAE;QAAC;KAAI,EAAE;QACnE,oEAAoE;QACpE,0EAA0E;QAC1E,uEAAuE;QACvE,iDAAiD;QACjD,8EAA8E;QAC9EC,OAAO,CAAC;;;;;;;;;;;;;IAaR,CAAC;QACDC,OAAO;QACPC,SAAS;QACTC,UAAU;QACVC,0BAA0B;QAC1BC,aAAa;IACf;IACA,wFAAwF;IACxF,IAAIV,UAAUD,OAAO;QACnB,OAAO;IACT,OAAO,IAAI,CAACC,UAAU,OAAOC,WAAW,YAAYU,IAAAA,iBAAM,EAACV,OAAOW,IAAI,KAAK;QACzE,OAAOX,OAAOW,IAAI;IACpB,OAAO;QACL,OAAO;IACT;AACF;AAEA,iGAAiG,GACjG,MAAMC,sBAAsB;AAE5B;;CAEC,GACD,SAASC;IACP,0EAA0E;IAC1E,iGAAiG;IACjG,IAAIC,eAA8B;IAClC,IAAI;QACFA,eAAejB;IACjB,EAAE,OAAM,CAAC;IACT,IAAI,CAACiB,cAAc;QACjB,OAAO;IACT;IACA,IAAIC;IACJ,IAAI;QACFA,SAASC,IAAAA,2BAAiB;IAC5B,EAAE,OAAM;QACN,qFAAqF;QACrF,2DAA2D;QAC3D,OAAO;IACT;IACA,IAAK,MAAMC,SAASF,OAAQ;QAC1B,MAAMG,cAAcH,MAAM,CAACE,MAAM;QACjC,IAAK,IAAIE,IAAI,GAAGD,eAAeC,IAAID,YAAYE,MAAM,EAAED,IAAK;YAC1D,MAAME,aAAaH,WAAW,CAACC,EAAE;YACjC,gDAAgD;YAChD,uFAAuF;YACvF,IACEE,WAAWC,MAAM,KAAK,UACtB,CAACD,WAAWE,QAAQ,IACpBF,WAAWG,OAAO,KAAKV,gBACvBO,WAAWI,GAAG,KAAKb,qBAEnB,OAAOE;QACX;IACF;IACA,OAAO;AACT;AAEO,SAASlB;IACd,OAAO8B,qBAAU,CAACC,EAAE,CAACC,IAAI,MAAMf,uBAAuB;AACxD"}
|
|
@@ -4,23 +4,25 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
});
|
|
5
5
|
Object.defineProperty(exports, "isModuleSymlinked", {
|
|
6
6
|
enumerable: true,
|
|
7
|
-
get: ()
|
|
7
|
+
get: function() {
|
|
8
|
+
return isModuleSymlinked;
|
|
9
|
+
}
|
|
8
10
|
});
|
|
9
11
|
function _path() {
|
|
10
|
-
const data = /*#__PURE__*/
|
|
12
|
+
const data = /*#__PURE__*/ _interop_require_default(require("path"));
|
|
11
13
|
_path = function() {
|
|
12
14
|
return data;
|
|
13
15
|
};
|
|
14
16
|
return data;
|
|
15
17
|
}
|
|
16
|
-
function
|
|
17
|
-
const data = /*#__PURE__*/
|
|
18
|
-
|
|
18
|
+
function _resolvefrom() {
|
|
19
|
+
const data = /*#__PURE__*/ _interop_require_default(require("resolve-from"));
|
|
20
|
+
_resolvefrom = function() {
|
|
19
21
|
return data;
|
|
20
22
|
};
|
|
21
23
|
return data;
|
|
22
24
|
}
|
|
23
|
-
function
|
|
25
|
+
function _interop_require_default(obj) {
|
|
24
26
|
return obj && obj.__esModule ? obj : {
|
|
25
27
|
default: obj
|
|
26
28
|
};
|
|
@@ -33,11 +35,11 @@ function _interopRequireDefault(obj) {
|
|
|
33
35
|
* isModuleRootPathInNodeModulesFolder('./node_modules/expo') -> true
|
|
34
36
|
*/ function isModuleRootPathInNodeModulesFolder(moduleRootPath) {
|
|
35
37
|
const parentFolderName = _path().default.basename(_path().default.dirname(moduleRootPath));
|
|
36
|
-
return parentFolderName ===
|
|
38
|
+
return parentFolderName === 'node_modules';
|
|
37
39
|
}
|
|
38
|
-
function isModuleSymlinked(projectRoot, { moduleId
|
|
40
|
+
function isModuleSymlinked(projectRoot, { moduleId, isSilent }) {
|
|
39
41
|
try {
|
|
40
|
-
const moduleRootPath = _path().default.dirname((0,
|
|
42
|
+
const moduleRootPath = _path().default.dirname((0, _resolvefrom().default)(projectRoot, `${moduleId}/package.json`));
|
|
41
43
|
return !isModuleRootPathInNodeModulesFolder(moduleRootPath);
|
|
42
44
|
} catch (error) {
|
|
43
45
|
if (!isSilent) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/utils/isModuleSymlinked.ts"],"sourcesContent":["import path from 'path';\nimport resolveFrom from 'resolve-from';\n\n/**\n * Return true if the parent folder for a given file path is named \"node_modules\".\n *\n * @example\n * isModuleRootPathInNodeModulesFolder('./foo/expo') -> false\n * isModuleRootPathInNodeModulesFolder('./node_modules/expo') -> true\n */\nfunction isModuleRootPathInNodeModulesFolder(moduleRootPath: string): boolean {\n const parentFolderName = path.basename(path.dirname(moduleRootPath));\n return parentFolderName === 'node_modules';\n}\n\n/**\n * Given a node module name, and a project path, this method will:\n *\n * 1. Resolve the module path.\n * 2. Find the module root folder.\n * 3. Return true if the module root folder is in a folder named `node_modules`\n *\n * @param projectRoot\n * @param moduleId\n *\n * @example\n * isModuleSymlinked('./expo/apps/native-component-list', {\n * moduleId: 'react-native'\n * })\n */\nexport function isModuleSymlinked(\n projectRoot: string,\n {\n moduleId,\n isSilent,\n }: {\n moduleId: string;\n isSilent?: boolean;\n }\n): boolean {\n try {\n const moduleRootPath = path.dirname(resolveFrom(projectRoot, `${moduleId}/package.json`));\n return !isModuleRootPathInNodeModulesFolder(moduleRootPath);\n } catch (error) {\n if (!isSilent) {\n throw error;\n }\n // Failed to resolve the package.json relative to the project, not sure what to do here.\n // This is probably not possible due to node module resolution.\n return false;\n }\n}\n"],"names":["isModuleSymlinked","isModuleRootPathInNodeModulesFolder","moduleRootPath","parentFolderName","path","basename","dirname","projectRoot","moduleId","isSilent","resolveFrom","error"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/utils/isModuleSymlinked.ts"],"sourcesContent":["import path from 'path';\nimport resolveFrom from 'resolve-from';\n\n/**\n * Return true if the parent folder for a given file path is named \"node_modules\".\n *\n * @example\n * isModuleRootPathInNodeModulesFolder('./foo/expo') -> false\n * isModuleRootPathInNodeModulesFolder('./node_modules/expo') -> true\n */\nfunction isModuleRootPathInNodeModulesFolder(moduleRootPath: string): boolean {\n const parentFolderName = path.basename(path.dirname(moduleRootPath));\n return parentFolderName === 'node_modules';\n}\n\n/**\n * Given a node module name, and a project path, this method will:\n *\n * 1. Resolve the module path.\n * 2. Find the module root folder.\n * 3. Return true if the module root folder is in a folder named `node_modules`\n *\n * @param projectRoot\n * @param moduleId\n *\n * @example\n * isModuleSymlinked('./expo/apps/native-component-list', {\n * moduleId: 'react-native'\n * })\n */\nexport function isModuleSymlinked(\n projectRoot: string,\n {\n moduleId,\n isSilent,\n }: {\n moduleId: string;\n isSilent?: boolean;\n }\n): boolean {\n try {\n const moduleRootPath = path.dirname(resolveFrom(projectRoot, `${moduleId}/package.json`));\n return !isModuleRootPathInNodeModulesFolder(moduleRootPath);\n } catch (error) {\n if (!isSilent) {\n throw error;\n }\n // Failed to resolve the package.json relative to the project, not sure what to do here.\n // This is probably not possible due to node module resolution.\n return false;\n }\n}\n"],"names":["isModuleSymlinked","isModuleRootPathInNodeModulesFolder","moduleRootPath","parentFolderName","path","basename","dirname","projectRoot","moduleId","isSilent","resolveFrom","error"],"mappings":";;;;+BA8BgBA;;;eAAAA;;;;gEA9BC;;;;;;;gEACO;;;;;;;;;;;AAExB;;;;;;CAMC,GACD,SAASC,oCAAoCC,cAAsB;IACjE,MAAMC,mBAAmBC,eAAI,CAACC,QAAQ,CAACD,eAAI,CAACE,OAAO,CAACJ;IACpD,OAAOC,qBAAqB;AAC9B;AAiBO,SAASH,kBACdO,WAAmB,EACnB,EACEC,QAAQ,EACRC,QAAQ,EAIT;IAED,IAAI;QACF,MAAMP,iBAAiBE,eAAI,CAACE,OAAO,CAACI,IAAAA,sBAAW,EAACH,aAAa,GAAGC,SAAS,aAAa,CAAC;QACvF,OAAO,CAACP,oCAAoCC;IAC9C,EAAE,OAAOS,OAAO;QACd,IAAI,CAACF,UAAU;YACb,MAAME;QACR;QACA,wFAAwF;QACxF,+DAA+D;QAC/D,OAAO;IACT;AACF"}
|
|
@@ -4,11 +4,13 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
});
|
|
5
5
|
Object.defineProperty(exports, "jsonSchemaDeref", {
|
|
6
6
|
enumerable: true,
|
|
7
|
-
get: ()
|
|
7
|
+
get: function() {
|
|
8
|
+
return jsonSchemaDeref;
|
|
9
|
+
}
|
|
8
10
|
});
|
|
9
|
-
/** Return JSON schema ref if input is of `NodeRef` type */ const getRef = (node)=>node != null && typeof node ===
|
|
11
|
+
/** Return JSON schema ref if input is of `NodeRef` type */ const getRef = (node)=>node != null && typeof node === 'object' && '$ref' in node && typeof node.$ref === 'string' ? node.$ref : undefined;
|
|
10
12
|
/** Parse a JSON schema ref into a path array, or return undefined */ const parseRefMaybe = (ref)=>{
|
|
11
|
-
if (ref[0] !==
|
|
13
|
+
if (ref[0] !== '#') {
|
|
12
14
|
return undefined;
|
|
13
15
|
}
|
|
14
16
|
const props = [];
|
|
@@ -28,7 +30,7 @@ const NOT_FOUND_SYMBOL = Symbol();
|
|
|
28
30
|
let node = input;
|
|
29
31
|
for(let index = 0; index < ref.length; index++){
|
|
30
32
|
const part = ref[index];
|
|
31
|
-
if (node != null && typeof node ===
|
|
33
|
+
if (node != null && typeof node === 'object' && part in node) {
|
|
32
34
|
node = node[part];
|
|
33
35
|
} else {
|
|
34
36
|
node = NOT_FOUND_SYMBOL;
|
|
@@ -38,7 +40,7 @@ const NOT_FOUND_SYMBOL = Symbol();
|
|
|
38
40
|
return node;
|
|
39
41
|
};
|
|
40
42
|
/** Find all JSON schema refs recursively and add them to `refs` Map */ const findRefsRec = (node, refs, path)=>{
|
|
41
|
-
if (node == null || typeof node !==
|
|
43
|
+
if (node == null || typeof node !== 'object') {} else if (Array.isArray(node)) {
|
|
42
44
|
for(let index = 0, l = node.length; index < l; index++){
|
|
43
45
|
const value = node[index];
|
|
44
46
|
const ref = getRef(value);
|
|
@@ -48,7 +50,7 @@ const NOT_FOUND_SYMBOL = Symbol();
|
|
|
48
50
|
...path,
|
|
49
51
|
index
|
|
50
52
|
], targetRef);
|
|
51
|
-
} else if (value != null && typeof value ===
|
|
53
|
+
} else if (value != null && typeof value === 'object') {
|
|
52
54
|
path.push(index);
|
|
53
55
|
findRefsRec(value, refs, path);
|
|
54
56
|
path.pop();
|
|
@@ -57,17 +59,17 @@ const NOT_FOUND_SYMBOL = Symbol();
|
|
|
57
59
|
} else {
|
|
58
60
|
const record = node;
|
|
59
61
|
for(const key in record){
|
|
60
|
-
const
|
|
61
|
-
const
|
|
62
|
-
if (
|
|
63
|
-
const
|
|
64
|
-
if (
|
|
62
|
+
const value = record[key];
|
|
63
|
+
const ref = getRef(value);
|
|
64
|
+
if (ref) {
|
|
65
|
+
const targetRef = parseRefMaybe(ref);
|
|
66
|
+
if (targetRef) refs.set([
|
|
65
67
|
...path,
|
|
66
68
|
key
|
|
67
|
-
],
|
|
68
|
-
} else if (
|
|
69
|
+
], targetRef);
|
|
70
|
+
} else if (value != null && typeof value === 'object') {
|
|
69
71
|
path.push(key);
|
|
70
|
-
findRefsRec(
|
|
72
|
+
findRefsRec(value, refs, path);
|
|
71
73
|
path.pop();
|
|
72
74
|
}
|
|
73
75
|
}
|
|
@@ -104,7 +106,7 @@ function jsonSchemaDeref(input) {
|
|
|
104
106
|
// to not pollute it
|
|
105
107
|
for(; targetIndex < target.length - 1; targetIndex++){
|
|
106
108
|
const part = target[targetIndex];
|
|
107
|
-
if (inputNode == null || typeof inputNode !==
|
|
109
|
+
if (inputNode == null || typeof inputNode !== 'object' || !(part in inputNode)) {
|
|
108
110
|
break;
|
|
109
111
|
} else if (outputNode[part] === inputNode[part]) {
|
|
110
112
|
// Copy the input on the output if references are equal
|
|
@@ -121,11 +123,11 @@ function jsonSchemaDeref(input) {
|
|
|
121
123
|
}
|
|
122
124
|
// For each remaining part on the target, continue traversing the output
|
|
123
125
|
for(; targetIndex < target.length - 1; targetIndex++){
|
|
124
|
-
const
|
|
125
|
-
if (outputNode == null || typeof outputNode !==
|
|
126
|
+
const part = target[targetIndex];
|
|
127
|
+
if (outputNode == null || typeof outputNode !== 'object' || !(part in outputNode)) {
|
|
126
128
|
continue nextRef;
|
|
127
129
|
} else {
|
|
128
|
-
outputNode = outputNode[
|
|
130
|
+
outputNode = outputNode[part];
|
|
129
131
|
}
|
|
130
132
|
}
|
|
131
133
|
// Get value from output
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/utils/jsonSchemaDeref.ts"],"sourcesContent":["type RefPath = readonly (string | number)[];\n\ninterface NodeRef {\n $ref: string;\n}\n\n/** Return JSON schema ref if input is of `NodeRef` type */\nconst getRef = (node: NodeRef | unknown): string | undefined =>\n node != null && typeof node === 'object' && '$ref' in node && typeof node.$ref === 'string'\n ? node.$ref\n : undefined;\n\n/** Parse a JSON schema ref into a path array, or return undefined */\nconst parseRefMaybe = (ref: string): RefPath | undefined => {\n if (ref[0] !== '#') {\n return undefined;\n }\n const props = [];\n let startIndex = 1;\n let index = 1;\n let char: number;\n while (index < ref.length) {\n while ((char = ref.charCodeAt(index++)) && char !== 47 /*'/'*/);\n const prop = ref.slice(startIndex, index - 1);\n startIndex = index;\n if (prop) props.push(prop);\n }\n return props.length ? props : undefined;\n};\n\nconst NOT_FOUND_SYMBOL = Symbol();\n\n/** Get value at given JSON schema path or return `NOT_FOUND_SYMBOL` */\nconst getValueAtPath = (input: unknown, ref: RefPath): unknown | typeof NOT_FOUND_SYMBOL => {\n let node = input;\n for (let index = 0; index < ref.length; index++) {\n const part = ref[index];\n if (node != null && typeof node === 'object' && part in node) {\n node = (node as Record<string, unknown>)[part];\n } else {\n node = NOT_FOUND_SYMBOL;\n break;\n }\n }\n return node;\n};\n\n/** Find all JSON schema refs recursively and add them to `refs` Map */\nconst findRefsRec = (\n node: unknown,\n refs: Map<RefPath, RefPath>,\n path: (string | number)[]\n): void => {\n if (node == null || typeof node !== 'object') {\n } else if (Array.isArray(node)) {\n for (let index = 0, l = node.length; index < l; index++) {\n const value = node[index];\n const ref = getRef(value);\n if (ref) {\n const targetRef = parseRefMaybe(ref);\n if (targetRef) refs.set([...path, index], targetRef);\n } else if (value != null && typeof value === 'object') {\n path.push(index);\n findRefsRec(value, refs, path);\n path.pop();\n }\n }\n } else {\n const record = node as Record<string, unknown>;\n for (const key in record) {\n const value = record[key];\n const ref = getRef(value);\n if (ref) {\n const targetRef = parseRefMaybe(ref);\n if (targetRef) refs.set([...path, key], targetRef);\n } else if (value != null && typeof value === 'object') {\n path.push(key);\n findRefsRec(value, refs, path);\n path.pop();\n }\n }\n }\n};\n\n/** Detect whether target (where we set the source value) is a nested path inside the source path */\nconst isSelfReferencingRefEntry = (target: RefPath, source: RefPath) => {\n for (let index = 0; index < source.length; index++) {\n if (source[index] !== target[index]) return false;\n }\n return true;\n};\n\n/** Return sorted refs entries. Longest target paths will be returned first */\nconst getSortedRefEntries = (refs: Map<RefPath, RefPath>): readonly [RefPath, RefPath][] => {\n const entries = [...refs.entries()].sort((a, b) => b[1].length - a[1].length);\n // Filter out self-referenceing paths. If we set nested targets to source values, we'd\n // create unserializable circular references\n return entries.filter((entry) => !isSelfReferencingRefEntry(entry[0], entry[1]));\n};\n\n/** Dereference JSON schema pointers.\n *\n * @remarks\n * This is a minimal reimplementation of `json-schema-deref-sync` without\n * file reference, URL/web reference, and loader support.\n *\n * @see https://github.com/cvent/json-schema-deref-sync\n */\nexport function jsonSchemaDeref(input: any): any {\n // Find all JSON schema refs paths\n const refs = new Map<RefPath, RefPath>();\n findRefsRec(input, refs, []);\n // Shallow copy output\n const output = { ...input };\n // Process all ref entries with deepest targets first\n nextRef: for (const [target, source] of getSortedRefEntries(refs)) {\n let inputNode = input;\n let outputNode = output;\n let targetIndex = 0;\n // For each path part on the target, traverse the output and clone the input\n // to not pollute it\n for (; targetIndex < target.length - 1; targetIndex++) {\n const part = target[targetIndex];\n if (inputNode == null || typeof inputNode !== 'object' || !(part in inputNode)) {\n // If the part doesn't exist, we abort\n break;\n } else if (outputNode[part] === inputNode[part]) {\n // Copy the input on the output if references are equal\n outputNode[part] = Array.isArray(inputNode[part])\n ? [...inputNode[part]]\n : { ...inputNode[part] };\n inputNode = inputNode[part];\n outputNode = outputNode[part];\n } else {\n // If this part has already been copied, abort\n break;\n }\n }\n // For each remaining part on the target, continue traversing the output\n for (; targetIndex < target.length - 1; targetIndex++) {\n const part = target[targetIndex];\n if (outputNode == null || typeof outputNode !== 'object' || !(part in outputNode)) {\n // If the part doesn't exist, skip the entire ref\n continue nextRef;\n } else {\n outputNode = outputNode[part];\n }\n }\n // Get value from output\n let sourceValue = getValueAtPath(output, source);\n if (sourceValue === NOT_FOUND_SYMBOL) {\n // If no value was found, try to get a value from the input instead\n sourceValue = getValueAtPath(input, source);\n // Otherwise, skip this ref\n if (sourceValue === NOT_FOUND_SYMBOL) continue;\n }\n // Set the source value on the target path\n // The for-loops prior have made sure that the output has already been deeply\n // cloned and traversed for the entire path\n outputNode[target[target.length - 1]] = sourceValue;\n }\n // Return the output with resolved refs\n return output;\n}\n"],"names":["jsonSchemaDeref","getRef","node","$ref","undefined","parseRefMaybe","ref","props","startIndex","index","char","length","charCodeAt","prop","slice","push","NOT_FOUND_SYMBOL","Symbol","getValueAtPath","input","part","findRefsRec","refs","path","Array","isArray","l","value","targetRef","set","pop","record","key","isSelfReferencingRefEntry","target","source","getSortedRefEntries","entries","sort","a","b","filter","entry","Map","output","nextRef","inputNode","outputNode","targetIndex","sourceValue"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../src/utils/jsonSchemaDeref.ts"],"sourcesContent":["type RefPath = readonly (string | number)[];\n\ninterface NodeRef {\n $ref: string;\n}\n\n/** Return JSON schema ref if input is of `NodeRef` type */\nconst getRef = (node: NodeRef | unknown): string | undefined =>\n node != null && typeof node === 'object' && '$ref' in node && typeof node.$ref === 'string'\n ? node.$ref\n : undefined;\n\n/** Parse a JSON schema ref into a path array, or return undefined */\nconst parseRefMaybe = (ref: string): RefPath | undefined => {\n if (ref[0] !== '#') {\n return undefined;\n }\n const props = [];\n let startIndex = 1;\n let index = 1;\n let char: number;\n while (index < ref.length) {\n while ((char = ref.charCodeAt(index++)) && char !== 47 /*'/'*/);\n const prop = ref.slice(startIndex, index - 1);\n startIndex = index;\n if (prop) props.push(prop);\n }\n return props.length ? props : undefined;\n};\n\nconst NOT_FOUND_SYMBOL = Symbol();\n\n/** Get value at given JSON schema path or return `NOT_FOUND_SYMBOL` */\nconst getValueAtPath = (input: unknown, ref: RefPath): unknown | typeof NOT_FOUND_SYMBOL => {\n let node = input;\n for (let index = 0; index < ref.length; index++) {\n const part = ref[index];\n if (node != null && typeof node === 'object' && part in node) {\n node = (node as Record<string, unknown>)[part];\n } else {\n node = NOT_FOUND_SYMBOL;\n break;\n }\n }\n return node;\n};\n\n/** Find all JSON schema refs recursively and add them to `refs` Map */\nconst findRefsRec = (\n node: unknown,\n refs: Map<RefPath, RefPath>,\n path: (string | number)[]\n): void => {\n if (node == null || typeof node !== 'object') {\n } else if (Array.isArray(node)) {\n for (let index = 0, l = node.length; index < l; index++) {\n const value = node[index];\n const ref = getRef(value);\n if (ref) {\n const targetRef = parseRefMaybe(ref);\n if (targetRef) refs.set([...path, index], targetRef);\n } else if (value != null && typeof value === 'object') {\n path.push(index);\n findRefsRec(value, refs, path);\n path.pop();\n }\n }\n } else {\n const record = node as Record<string, unknown>;\n for (const key in record) {\n const value = record[key];\n const ref = getRef(value);\n if (ref) {\n const targetRef = parseRefMaybe(ref);\n if (targetRef) refs.set([...path, key], targetRef);\n } else if (value != null && typeof value === 'object') {\n path.push(key);\n findRefsRec(value, refs, path);\n path.pop();\n }\n }\n }\n};\n\n/** Detect whether target (where we set the source value) is a nested path inside the source path */\nconst isSelfReferencingRefEntry = (target: RefPath, source: RefPath) => {\n for (let index = 0; index < source.length; index++) {\n if (source[index] !== target[index]) return false;\n }\n return true;\n};\n\n/** Return sorted refs entries. Longest target paths will be returned first */\nconst getSortedRefEntries = (refs: Map<RefPath, RefPath>): readonly [RefPath, RefPath][] => {\n const entries = [...refs.entries()].sort((a, b) => b[1].length - a[1].length);\n // Filter out self-referenceing paths. If we set nested targets to source values, we'd\n // create unserializable circular references\n return entries.filter((entry) => !isSelfReferencingRefEntry(entry[0], entry[1]));\n};\n\n/** Dereference JSON schema pointers.\n *\n * @remarks\n * This is a minimal reimplementation of `json-schema-deref-sync` without\n * file reference, URL/web reference, and loader support.\n *\n * @see https://github.com/cvent/json-schema-deref-sync\n */\nexport function jsonSchemaDeref(input: any): any {\n // Find all JSON schema refs paths\n const refs = new Map<RefPath, RefPath>();\n findRefsRec(input, refs, []);\n // Shallow copy output\n const output = { ...input };\n // Process all ref entries with deepest targets first\n nextRef: for (const [target, source] of getSortedRefEntries(refs)) {\n let inputNode = input;\n let outputNode = output;\n let targetIndex = 0;\n // For each path part on the target, traverse the output and clone the input\n // to not pollute it\n for (; targetIndex < target.length - 1; targetIndex++) {\n const part = target[targetIndex];\n if (inputNode == null || typeof inputNode !== 'object' || !(part in inputNode)) {\n // If the part doesn't exist, we abort\n break;\n } else if (outputNode[part] === inputNode[part]) {\n // Copy the input on the output if references are equal\n outputNode[part] = Array.isArray(inputNode[part])\n ? [...inputNode[part]]\n : { ...inputNode[part] };\n inputNode = inputNode[part];\n outputNode = outputNode[part];\n } else {\n // If this part has already been copied, abort\n break;\n }\n }\n // For each remaining part on the target, continue traversing the output\n for (; targetIndex < target.length - 1; targetIndex++) {\n const part = target[targetIndex];\n if (outputNode == null || typeof outputNode !== 'object' || !(part in outputNode)) {\n // If the part doesn't exist, skip the entire ref\n continue nextRef;\n } else {\n outputNode = outputNode[part];\n }\n }\n // Get value from output\n let sourceValue = getValueAtPath(output, source);\n if (sourceValue === NOT_FOUND_SYMBOL) {\n // If no value was found, try to get a value from the input instead\n sourceValue = getValueAtPath(input, source);\n // Otherwise, skip this ref\n if (sourceValue === NOT_FOUND_SYMBOL) continue;\n }\n // Set the source value on the target path\n // The for-loops prior have made sure that the output has already been deeply\n // cloned and traversed for the entire path\n outputNode[target[target.length - 1]] = sourceValue;\n }\n // Return the output with resolved refs\n return output;\n}\n"],"names":["jsonSchemaDeref","getRef","node","$ref","undefined","parseRefMaybe","ref","props","startIndex","index","char","length","charCodeAt","prop","slice","push","NOT_FOUND_SYMBOL","Symbol","getValueAtPath","input","part","findRefsRec","refs","path","Array","isArray","l","value","targetRef","set","pop","record","key","isSelfReferencingRefEntry","target","source","getSortedRefEntries","entries","sort","a","b","filter","entry","Map","output","nextRef","inputNode","outputNode","targetIndex","sourceValue"],"mappings":"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"}
|
package/build/src/utils/link.js
CHANGED
|
@@ -9,41 +9,45 @@ function _export(target, all) {
|
|
|
9
9
|
});
|
|
10
10
|
}
|
|
11
11
|
_export(exports, {
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
learnMore: function() {
|
|
13
|
+
return learnMore;
|
|
14
|
+
},
|
|
15
|
+
link: function() {
|
|
16
|
+
return link;
|
|
17
|
+
}
|
|
14
18
|
});
|
|
15
19
|
function _chalk() {
|
|
16
|
-
const data = /*#__PURE__*/
|
|
20
|
+
const data = /*#__PURE__*/ _interop_require_default(require("chalk"));
|
|
17
21
|
_chalk = function() {
|
|
18
22
|
return data;
|
|
19
23
|
};
|
|
20
24
|
return data;
|
|
21
25
|
}
|
|
22
|
-
function
|
|
23
|
-
const data = /*#__PURE__*/
|
|
24
|
-
|
|
26
|
+
function _terminallink() {
|
|
27
|
+
const data = /*#__PURE__*/ _interop_require_default(require("terminal-link"));
|
|
28
|
+
_terminallink = function() {
|
|
25
29
|
return data;
|
|
26
30
|
};
|
|
27
31
|
return data;
|
|
28
32
|
}
|
|
29
|
-
function
|
|
33
|
+
function _interop_require_default(obj) {
|
|
30
34
|
return obj && obj.__esModule ? obj : {
|
|
31
35
|
default: obj
|
|
32
36
|
};
|
|
33
37
|
}
|
|
34
|
-
function link(url, { text =url
|
|
38
|
+
function link(url, { text = url, dim = true } = {}) {
|
|
35
39
|
let output;
|
|
36
40
|
// Links can be disabled via env variables https://github.com/jamestalmage/supports-hyperlinks/blob/master/index.js
|
|
37
|
-
if (
|
|
38
|
-
output = (0,
|
|
41
|
+
if (_terminallink().default.isSupported) {
|
|
42
|
+
output = (0, _terminallink().default)(text, url);
|
|
39
43
|
} else {
|
|
40
|
-
output = `${text === url ?
|
|
44
|
+
output = `${text === url ? '' : text + ': '}${_chalk().default.underline(url)}`;
|
|
41
45
|
}
|
|
42
46
|
return dim ? _chalk().default.dim(output) : output;
|
|
43
47
|
}
|
|
44
|
-
function learnMore(url, { learnMoreMessage: maybeLearnMoreMessage
|
|
48
|
+
function learnMore(url, { learnMoreMessage: maybeLearnMoreMessage, dim = true } = {}) {
|
|
45
49
|
return link(url, {
|
|
46
|
-
text: maybeLearnMoreMessage ??
|
|
50
|
+
text: maybeLearnMoreMessage ?? 'Learn more',
|
|
47
51
|
dim
|
|
48
52
|
});
|
|
49
53
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/utils/link.ts"],"sourcesContent":["import chalk from 'chalk';\nimport terminalLink from 'terminal-link';\n\n/**\n * Prints a link for given URL, using text if provided, otherwise text is just the URL.\n * Format links as dim (unless disabled) and with an underline.\n *\n * @example https://expo.dev\n */\nexport function link(\n url: string,\n { text = url, dim = true }: { text?: string; dim?: boolean } = {}\n): string {\n let output: string;\n // Links can be disabled via env variables https://github.com/jamestalmage/supports-hyperlinks/blob/master/index.js\n if (terminalLink.isSupported) {\n output = terminalLink(text, url);\n } else {\n output = `${text === url ? '' : text + ': '}${chalk.underline(url)}`;\n }\n return dim ? chalk.dim(output) : output;\n}\n\n/**\n * Provide a consistent \"Learn more\" link experience.\n * Format links as dim (unless disabled) with an underline.\n *\n * @example [Learn more](https://expo.dev)\n * @example Learn more: https://expo.dev\n */\nexport function learnMore(\n url: string,\n {\n learnMoreMessage: maybeLearnMoreMessage,\n dim = true,\n }: { learnMoreMessage?: string; dim?: boolean } = {}\n): string {\n return link(url, { text: maybeLearnMoreMessage ?? 'Learn more', dim });\n}\n"],"names":["
|
|
1
|
+
{"version":3,"sources":["../../../src/utils/link.ts"],"sourcesContent":["import chalk from 'chalk';\nimport terminalLink from 'terminal-link';\n\n/**\n * Prints a link for given URL, using text if provided, otherwise text is just the URL.\n * Format links as dim (unless disabled) and with an underline.\n *\n * @example https://expo.dev\n */\nexport function link(\n url: string,\n { text = url, dim = true }: { text?: string; dim?: boolean } = {}\n): string {\n let output: string;\n // Links can be disabled via env variables https://github.com/jamestalmage/supports-hyperlinks/blob/master/index.js\n if (terminalLink.isSupported) {\n output = terminalLink(text, url);\n } else {\n output = `${text === url ? '' : text + ': '}${chalk.underline(url)}`;\n }\n return dim ? chalk.dim(output) : output;\n}\n\n/**\n * Provide a consistent \"Learn more\" link experience.\n * Format links as dim (unless disabled) with an underline.\n *\n * @example [Learn more](https://expo.dev)\n * @example Learn more: https://expo.dev\n */\nexport function learnMore(\n url: string,\n {\n learnMoreMessage: maybeLearnMoreMessage,\n dim = true,\n }: { learnMoreMessage?: string; dim?: boolean } = {}\n): string {\n return link(url, { text: maybeLearnMoreMessage ?? 'Learn more', dim });\n}\n"],"names":["learnMore","link","url","text","dim","output","terminalLink","isSupported","chalk","underline","learnMoreMessage","maybeLearnMoreMessage"],"mappings":";;;;;;;;;;;IA8BgBA,SAAS;eAATA;;IArBAC,IAAI;eAAJA;;;;gEATE;;;;;;;gEACO;;;;;;;;;;;AAQlB,SAASA,KACdC,GAAW,EACX,EAAEC,OAAOD,GAAG,EAAEE,MAAM,IAAI,EAAoC,GAAG,CAAC,CAAC;IAEjE,IAAIC;IACJ,mHAAmH;IACnH,IAAIC,uBAAY,CAACC,WAAW,EAAE;QAC5BF,SAASC,IAAAA,uBAAY,EAACH,MAAMD;IAC9B,OAAO;QACLG,SAAS,GAAGF,SAASD,MAAM,KAAKC,OAAO,OAAOK,gBAAK,CAACC,SAAS,CAACP,MAAM;IACtE;IACA,OAAOE,MAAMI,gBAAK,CAACJ,GAAG,CAACC,UAAUA;AACnC;AASO,SAASL,UACdE,GAAW,EACX,EACEQ,kBAAkBC,qBAAqB,EACvCP,MAAM,IAAI,EACmC,GAAG,CAAC,CAAC;IAEpD,OAAOH,KAAKC,KAAK;QAAEC,MAAMQ,yBAAyB;QAAcP;IAAI;AACtE"}
|