@expo/cli 0.18.0 → 0.18.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/bin/cli +90 -114
- package/build/bin/cli.map +1 -1
- package/build/src/api/endpoint.js +11 -3
- package/build/src/api/endpoint.js.map +1 -1
- package/build/src/api/getExpoGoIntermediateCertificate.js +7 -4
- package/build/src/api/getExpoGoIntermediateCertificate.js.map +1 -1
- package/build/src/api/getExpoSchema.js +13 -11
- package/build/src/api/getExpoSchema.js.map +1 -1
- package/build/src/api/getNativeModuleVersions.js +7 -4
- package/build/src/api/getNativeModuleVersions.js.map +1 -1
- package/build/src/api/getProjectDevelopmentCertificate.js +7 -4
- package/build/src/api/getProjectDevelopmentCertificate.js.map +1 -1
- package/build/src/api/getVersions.js +7 -4
- package/build/src/api/getVersions.js.map +1 -1
- package/build/src/api/graphql/client.js +55 -35
- package/build/src/api/graphql/client.js.map +1 -1
- package/build/src/api/graphql/queries/AppQuery.js +9 -7
- package/build/src/api/graphql/queries/AppQuery.js.map +1 -1
- package/build/src/api/graphql/queries/UserQuery.js +7 -5
- package/build/src/api/graphql/queries/UserQuery.js.map +1 -1
- package/build/src/api/graphql/types/App.js +6 -4
- package/build/src/api/graphql/types/App.js.map +1 -1
- package/build/src/api/rest/cache/FileSystemCache.js +6 -4
- package/build/src/api/rest/cache/FileSystemCache.js.map +1 -1
- package/build/src/api/rest/cache/response.js +4 -1
- package/build/src/api/rest/cache/response.js.map +1 -1
- package/build/src/api/rest/cache/wrapFetchWithCache.js +21 -12
- package/build/src/api/rest/cache/wrapFetchWithCache.js.map +1 -1
- package/build/src/api/rest/client.js +36 -29
- package/build/src/api/rest/client.js.map +1 -1
- package/build/src/api/rest/wrapFetchWithBaseUrl.js +4 -1
- package/build/src/api/rest/wrapFetchWithBaseUrl.js.map +1 -1
- package/build/src/api/rest/wrapFetchWithOffline.js +5 -2
- package/build/src/api/rest/wrapFetchWithOffline.js.map +1 -1
- package/build/src/api/rest/wrapFetchWithProgress.js +40 -19
- package/build/src/api/rest/wrapFetchWithProgress.js.map +1 -1
- package/build/src/api/rest/wrapFetchWithProxy.js +7 -4
- package/build/src/api/rest/wrapFetchWithProxy.js.map +1 -1
- package/build/src/api/settings.js +9 -4
- package/build/src/api/settings.js.map +1 -1
- package/build/src/api/updateDevelopmentSession.js +16 -8
- package/build/src/api/updateDevelopmentSession.js.map +1 -1
- package/build/src/api/user/UserSettings.js +10 -8
- package/build/src/api/user/UserSettings.js.map +1 -1
- package/build/src/api/user/actions.js +66 -41
- package/build/src/api/user/actions.js.map +1 -1
- package/build/src/api/user/expoSsoLauncher.js +46 -25
- package/build/src/api/user/expoSsoLauncher.js.map +1 -1
- package/build/src/api/user/otp.js +70 -50
- package/build/src/api/user/otp.js.map +1 -1
- package/build/src/api/user/user.js +66 -41
- package/build/src/api/user/user.js.map +1 -1
- package/build/src/config/configAsync.js +62 -43
- package/build/src/config/configAsync.js.map +1 -1
- package/build/src/config/index.js +46 -30
- package/build/src/config/index.js.map +1 -1
- package/build/src/customize/customizeAsync.js +14 -11
- package/build/src/customize/customizeAsync.js.map +1 -1
- package/build/src/customize/generate.js +61 -46
- package/build/src/customize/generate.js.map +1 -1
- package/build/src/customize/index.js +10 -8
- package/build/src/customize/index.js.map +1 -1
- package/build/src/customize/resolveOptions.js +7 -4
- package/build/src/customize/resolveOptions.js.map +1 -1
- package/build/src/customize/templates.js +31 -34
- package/build/src/customize/templates.js.map +1 -1
- package/build/src/customize/typescript.js +43 -28
- package/build/src/customize/typescript.js.map +1 -1
- package/build/src/export/createMetadataJson.js +7 -6
- package/build/src/export/createMetadataJson.js.map +1 -1
- package/build/src/export/embed/exportEmbedAsync.js +51 -38
- package/build/src/export/embed/exportEmbedAsync.js.map +1 -1
- package/build/src/export/embed/index.js +48 -36
- package/build/src/export/embed/index.js.map +1 -1
- package/build/src/export/embed/resolveOptions.js +7 -4
- package/build/src/export/embed/resolveOptions.js.map +1 -1
- package/build/src/export/embed/xcodeCompilerLogger.js +20 -8
- package/build/src/export/embed/xcodeCompilerLogger.js.map +1 -1
- package/build/src/export/exportApp.js +84 -67
- package/build/src/export/exportApp.js.map +1 -1
- package/build/src/export/exportAssets.js +62 -43
- package/build/src/export/exportAssets.js.map +1 -1
- package/build/src/export/exportAsync.js +47 -26
- package/build/src/export/exportAsync.js.map +1 -1
- package/build/src/export/exportHermes.js +19 -11
- package/build/src/export/exportHermes.js.map +1 -1
- package/build/src/export/exportStaticAsync.js +49 -38
- package/build/src/export/exportStaticAsync.js.map +1 -1
- package/build/src/export/favicon.js +19 -11
- package/build/src/export/favicon.js.map +1 -1
- package/build/src/export/fork-bundleAsync.js +42 -39
- package/build/src/export/fork-bundleAsync.js.map +1 -1
- package/build/src/export/getPublicExpoManifest.js +9 -6
- package/build/src/export/getPublicExpoManifest.js.map +1 -1
- package/build/src/export/getResolvedLocales.js +7 -4
- package/build/src/export/getResolvedLocales.js.map +1 -1
- package/build/src/export/html.js +12 -4
- package/build/src/export/html.js.map +1 -1
- package/build/src/export/index.js +49 -33
- package/build/src/export/index.js.map +1 -1
- package/build/src/export/metroAssetLocalPath.js +22 -6
- package/build/src/export/metroAssetLocalPath.js.map +1 -1
- package/build/src/export/persistMetroAssets.js +38 -24
- package/build/src/export/persistMetroAssets.js.map +1 -1
- package/build/src/export/publicFolder.js +15 -7
- package/build/src/export/publicFolder.js.map +1 -1
- package/build/src/export/resolveOptions.js +19 -15
- package/build/src/export/resolveOptions.js.map +1 -1
- package/build/src/export/saveAssets.js +42 -38
- package/build/src/export/saveAssets.js.map +1 -1
- package/build/src/export/web/exportWebAsync.js +15 -12
- package/build/src/export/web/exportWebAsync.js.map +1 -1
- package/build/src/export/web/index.js +47 -31
- package/build/src/export/web/index.js.map +1 -1
- package/build/src/export/web/resolveOptions.js +4 -1
- package/build/src/export/web/resolveOptions.js.map +1 -1
- package/build/src/export/writeContents.js +12 -7
- package/build/src/export/writeContents.js.map +1 -1
- package/build/src/graphql/generated.js +141 -128
- package/build/src/graphql/generated.js.map +1 -1
- package/build/src/install/applyPlugins.js +43 -25
- package/build/src/install/applyPlugins.js.map +1 -1
- package/build/src/install/checkPackages.js +55 -35
- package/build/src/install/checkPackages.js.map +1 -1
- package/build/src/install/fixPackages.js +52 -35
- package/build/src/install/fixPackages.js.map +1 -1
- package/build/src/install/index.js +15 -13
- package/build/src/install/index.js.map +1 -1
- package/build/src/install/installAsync.js +90 -65
- package/build/src/install/installAsync.js.map +1 -1
- package/build/src/install/installExpoPackage.js +48 -27
- package/build/src/install/installExpoPackage.js.map +1 -1
- package/build/src/install/resolveOptions.js +8 -5
- package/build/src/install/resolveOptions.js.map +1 -1
- package/build/src/install/utils/autoAddConfigPlugins.js +15 -7
- package/build/src/install/utils/autoAddConfigPlugins.js.map +1 -1
- package/build/src/lint/ESlintPrerequisite.js +174 -0
- package/build/src/lint/ESlintPrerequisite.js.map +1 -0
- package/build/src/lint/index.js +66 -0
- package/build/src/lint/index.js.map +1 -0
- package/build/src/lint/lintAsync.js +33 -0
- package/build/src/lint/lintAsync.js.map +1 -0
- package/build/src/log.js +20 -14
- package/build/src/log.js.map +1 -1
- package/build/src/login/index.js +43 -25
- package/build/src/login/index.js.map +1 -1
- package/build/src/logout/index.js +43 -25
- package/build/src/logout/index.js.map +1 -1
- package/build/src/prebuild/clearNativeFolder.js +65 -42
- package/build/src/prebuild/clearNativeFolder.js.map +1 -1
- package/build/src/prebuild/configureProjectAsync.js +50 -29
- package/build/src/prebuild/configureProjectAsync.js.map +1 -1
- package/build/src/prebuild/copyTemplateFiles.js +19 -13
- package/build/src/prebuild/copyTemplateFiles.js.map +1 -1
- package/build/src/prebuild/ensureConfigAsync.js +54 -28
- package/build/src/prebuild/ensureConfigAsync.js.map +1 -1
- package/build/src/prebuild/index.js +52 -38
- package/build/src/prebuild/index.js.map +1 -1
- package/build/src/prebuild/prebuildAsync.js +68 -51
- package/build/src/prebuild/prebuildAsync.js.map +1 -1
- package/build/src/prebuild/renameTemplateAppName.js +15 -10
- package/build/src/prebuild/renameTemplateAppName.js.map +1 -1
- package/build/src/prebuild/resolveOptions.js +60 -35
- package/build/src/prebuild/resolveOptions.js.map +1 -1
- package/build/src/prebuild/resolveTemplate.js +66 -40
- package/build/src/prebuild/resolveTemplate.js.map +1 -1
- package/build/src/prebuild/updateFromTemplate.js +67 -44
- package/build/src/prebuild/updateFromTemplate.js.map +1 -1
- package/build/src/prebuild/updatePackageJson.js +70 -49
- package/build/src/prebuild/updatePackageJson.js.map +1 -1
- package/build/src/prebuild/validateTemplatePlatforms.js +44 -23
- package/build/src/prebuild/validateTemplatePlatforms.js.map +1 -1
- package/build/src/register/index.js +43 -25
- package/build/src/register/index.js.map +1 -1
- package/build/src/register/registerAsync.js +14 -11
- package/build/src/register/registerAsync.js.map +1 -1
- package/build/src/run/android/index.js +47 -31
- package/build/src/run/android/index.js.map +1 -1
- package/build/src/run/android/resolveDevice.js +9 -6
- package/build/src/run/android/resolveDevice.js.map +1 -1
- package/build/src/run/android/resolveGradlePropsAsync.js +10 -9
- package/build/src/run/android/resolveGradlePropsAsync.js.map +1 -1
- package/build/src/run/android/resolveInstallApkName.js +14 -12
- package/build/src/run/android/resolveInstallApkName.js.map +1 -1
- package/build/src/run/android/resolveLaunchProps.js +6 -3
- package/build/src/run/android/resolveLaunchProps.js.map +1 -1
- package/build/src/run/android/resolveOptions.js +12 -9
- package/build/src/run/android/resolveOptions.js.map +1 -1
- package/build/src/run/android/runAndroidAsync.js +27 -24
- package/build/src/run/android/runAndroidAsync.js.map +1 -1
- package/build/src/run/ensureNativeProject.js +11 -8
- package/build/src/run/ensureNativeProject.js.map +1 -1
- package/build/src/run/hints.js +15 -7
- package/build/src/run/hints.js.map +1 -1
- package/build/src/run/index.js +49 -35
- package/build/src/run/index.js.map +1 -1
- package/build/src/run/ios/XcodeBuild.js +75 -51
- package/build/src/run/ios/XcodeBuild.js.map +1 -1
- package/build/src/run/ios/appleDevice/AppleDevice.js +31 -24
- package/build/src/run/ios/appleDevice/AppleDevice.js.map +1 -1
- package/build/src/run/ios/appleDevice/ClientManager.js +66 -33
- package/build/src/run/ios/appleDevice/ClientManager.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/AFCClient.js +73 -47
- package/build/src/run/ios/appleDevice/client/AFCClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/DebugserverClient.js +53 -26
- package/build/src/run/ios/appleDevice/client/DebugserverClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/InstallationProxyClient.js +15 -6
- package/build/src/run/ios/appleDevice/client/InstallationProxyClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/LockdowndClient.js +54 -27
- package/build/src/run/ios/appleDevice/client/LockdowndClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/MobileImageMounterClient.js +56 -30
- package/build/src/run/ios/appleDevice/client/MobileImageMounterClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/ServiceClient.js +18 -4
- package/build/src/run/ios/appleDevice/client/ServiceClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/UsbmuxdClient.js +22 -13
- package/build/src/run/ios/appleDevice/client/UsbmuxdClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/installOnDeviceAsync.js +57 -31
- package/build/src/run/ios/appleDevice/installOnDeviceAsync.js.map +1 -1
- package/build/src/run/ios/appleDevice/protocol/AFCProtocol.js +79 -66
- package/build/src/run/ios/appleDevice/protocol/AFCProtocol.js.map +1 -1
- package/build/src/run/ios/appleDevice/protocol/AbstractProtocol.js +28 -14
- package/build/src/run/ios/appleDevice/protocol/AbstractProtocol.js.map +1 -1
- package/build/src/run/ios/appleDevice/protocol/GDBProtocol.js +24 -11
- package/build/src/run/ios/appleDevice/protocol/GDBProtocol.js.map +1 -1
- package/build/src/run/ios/appleDevice/protocol/LockdownProtocol.js +26 -13
- package/build/src/run/ios/appleDevice/protocol/LockdownProtocol.js.map +1 -1
- package/build/src/run/ios/appleDevice/protocol/UsbmuxProtocol.js +23 -10
- package/build/src/run/ios/appleDevice/protocol/UsbmuxProtocol.js.map +1 -1
- package/build/src/run/ios/codeSigning/Security.js +27 -20
- package/build/src/run/ios/codeSigning/Security.js.map +1 -1
- package/build/src/run/ios/codeSigning/configureCodeSigning.js +49 -28
- package/build/src/run/ios/codeSigning/configureCodeSigning.js.map +1 -1
- package/build/src/run/ios/codeSigning/resolveCertificateSigningIdentity.js +61 -36
- package/build/src/run/ios/codeSigning/resolveCertificateSigningIdentity.js.map +1 -1
- package/build/src/run/ios/codeSigning/settings.js +11 -3
- package/build/src/run/ios/codeSigning/settings.js.map +1 -1
- package/build/src/run/ios/codeSigning/simulatorCodeSigning.js +7 -5
- package/build/src/run/ios/codeSigning/simulatorCodeSigning.js.map +1 -1
- package/build/src/run/ios/codeSigning/xcodeCodeSigning.js +14 -8
- package/build/src/run/ios/codeSigning/xcodeCodeSigning.js.map +1 -1
- package/build/src/run/ios/index.js +50 -34
- package/build/src/run/ios/index.js.map +1 -1
- package/build/src/run/ios/launchApp.js +52 -31
- package/build/src/run/ios/launchApp.js.map +1 -1
- package/build/src/run/ios/options/promptDevice.js +17 -13
- package/build/src/run/ios/options/promptDevice.js.map +1 -1
- package/build/src/run/ios/options/resolveDevice.js +63 -39
- package/build/src/run/ios/options/resolveDevice.js.map +1 -1
- package/build/src/run/ios/options/resolveNativeScheme.js +57 -34
- package/build/src/run/ios/options/resolveNativeScheme.js.map +1 -1
- package/build/src/run/ios/options/resolveOptions.js +15 -12
- package/build/src/run/ios/options/resolveOptions.js.map +1 -1
- package/build/src/run/ios/options/resolveXcodeProject.js +6 -3
- package/build/src/run/ios/options/resolveXcodeProject.js.map +1 -1
- package/build/src/run/ios/runIosAsync.js +63 -42
- package/build/src/run/ios/runIosAsync.js.map +1 -1
- package/build/src/run/resolveBundlerProps.js +8 -5
- package/build/src/run/resolveBundlerProps.js.map +1 -1
- package/build/src/run/startBundler.js +47 -26
- package/build/src/run/startBundler.js.map +1 -1
- package/build/src/start/detectDevClient.js +6 -3
- package/build/src/start/detectDevClient.js.map +1 -1
- package/build/src/start/doctor/Prerequisite.js +15 -7
- package/build/src/start/doctor/Prerequisite.js.map +1 -1
- package/build/src/start/doctor/SecurityBinPrerequisite.js +7 -4
- package/build/src/start/doctor/SecurityBinPrerequisite.js.map +1 -1
- package/build/src/start/doctor/apple/SimulatorAppPrerequisite.js +44 -23
- package/build/src/start/doctor/apple/SimulatorAppPrerequisite.js.map +1 -1
- package/build/src/start/doctor/apple/XcodeDeveloperDiskImagePrerequisite.js +44 -23
- package/build/src/start/doctor/apple/XcodeDeveloperDiskImagePrerequisite.js.map +1 -1
- package/build/src/start/doctor/apple/XcodePrerequisite.js +61 -36
- package/build/src/start/doctor/apple/XcodePrerequisite.js.map +1 -1
- package/build/src/start/doctor/apple/XcrunPrerequisite.js +15 -12
- package/build/src/start/doctor/apple/XcrunPrerequisite.js.map +1 -1
- package/build/src/start/doctor/dependencies/bundledNativeModules.js +49 -28
- package/build/src/start/doctor/dependencies/bundledNativeModules.js.map +1 -1
- package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js +98 -53
- package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js.map +1 -1
- package/build/src/start/doctor/dependencies/getMissingPackages.js +17 -9
- package/build/src/start/doctor/dependencies/getMissingPackages.js.map +1 -1
- package/build/src/start/doctor/dependencies/getVersionedPackages.js +23 -15
- package/build/src/start/doctor/dependencies/getVersionedPackages.js.map +1 -1
- package/build/src/start/doctor/dependencies/resolvePackages.js +19 -13
- package/build/src/start/doctor/dependencies/resolvePackages.js.map +1 -1
- package/build/src/start/doctor/dependencies/validateDependenciesVersions.js +63 -41
- package/build/src/start/doctor/dependencies/validateDependenciesVersions.js.map +1 -1
- package/build/src/start/doctor/ngrok/ExternalModule.js +64 -39
- package/build/src/start/doctor/ngrok/ExternalModule.js.map +1 -1
- package/build/src/start/doctor/ngrok/NgrokResolver.js +12 -5
- package/build/src/start/doctor/ngrok/NgrokResolver.js.map +1 -1
- package/build/src/start/doctor/typescript/TypeScriptProjectPrerequisite.js +59 -41
- package/build/src/start/doctor/typescript/TypeScriptProjectPrerequisite.js.map +1 -1
- package/build/src/start/doctor/typescript/updateTSConfig.js +59 -36
- package/build/src/start/doctor/typescript/updateTSConfig.js.map +1 -1
- package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js +57 -31
- package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js.map +1 -1
- package/build/src/start/index.js +56 -42
- package/build/src/start/index.js.map +1 -1
- package/build/src/start/interface/KeyPressHandler.js +43 -22
- package/build/src/start/interface/KeyPressHandler.js.map +1 -1
- package/build/src/start/interface/commandsTable.js +60 -38
- package/build/src/start/interface/commandsTable.js.map +1 -1
- package/build/src/start/interface/interactiveActions.js +85 -68
- package/build/src/start/interface/interactiveActions.js.map +1 -1
- package/build/src/start/interface/startInterface.js +78 -57
- package/build/src/start/interface/startInterface.js.map +1 -1
- package/build/src/start/platforms/AppIdResolver.js +9 -6
- package/build/src/start/platforms/AppIdResolver.js.map +1 -1
- package/build/src/start/platforms/DeviceManager.js +41 -20
- package/build/src/start/platforms/DeviceManager.js.map +1 -1
- package/build/src/start/platforms/ExpoGoInstaller.js +55 -35
- package/build/src/start/platforms/ExpoGoInstaller.js.map +1 -1
- package/build/src/start/platforms/PlatformManager.js +19 -17
- package/build/src/start/platforms/PlatformManager.js.map +1 -1
- package/build/src/start/platforms/android/ADBServer.js +15 -12
- package/build/src/start/platforms/android/ADBServer.js.map +1 -1
- package/build/src/start/platforms/android/AndroidAppIdResolver.js +6 -4
- package/build/src/start/platforms/android/AndroidAppIdResolver.js.map +1 -1
- package/build/src/start/platforms/android/AndroidDeviceManager.js +70 -50
- package/build/src/start/platforms/android/AndroidDeviceManager.js.map +1 -1
- package/build/src/start/platforms/android/AndroidPlatformManager.js +9 -6
- package/build/src/start/platforms/android/AndroidPlatformManager.js.map +1 -1
- package/build/src/start/platforms/android/AndroidSdk.js +11 -8
- package/build/src/start/platforms/android/AndroidSdk.js.map +1 -1
- package/build/src/start/platforms/android/activateWindow.js +43 -22
- package/build/src/start/platforms/android/activateWindow.js.map +1 -1
- package/build/src/start/platforms/android/adb.js +73 -52
- package/build/src/start/platforms/android/adb.js.map +1 -1
- package/build/src/start/platforms/android/adbReverse.js +57 -31
- package/build/src/start/platforms/android/adbReverse.js.map +1 -1
- package/build/src/start/platforms/android/emulator.js +63 -42
- package/build/src/start/platforms/android/emulator.js.map +1 -1
- package/build/src/start/platforms/android/getDevices.js +11 -10
- package/build/src/start/platforms/android/getDevices.js.map +1 -1
- package/build/src/start/platforms/android/gradle.js +18 -11
- package/build/src/start/platforms/android/gradle.js.map +1 -1
- package/build/src/start/platforms/android/promptAndroidDevice.js +14 -14
- package/build/src/start/platforms/android/promptAndroidDevice.js.map +1 -1
- package/build/src/start/platforms/ios/AppleAppIdResolver.js +7 -4
- package/build/src/start/platforms/ios/AppleAppIdResolver.js.map +1 -1
- package/build/src/start/platforms/ios/AppleDeviceManager.js +80 -54
- package/build/src/start/platforms/ios/AppleDeviceManager.js.map +1 -1
- package/build/src/start/platforms/ios/ApplePlatformManager.js +7 -4
- package/build/src/start/platforms/ios/ApplePlatformManager.js.map +1 -1
- package/build/src/start/platforms/ios/assertSystemRequirements.js +11 -8
- package/build/src/start/platforms/ios/assertSystemRequirements.js.map +1 -1
- package/build/src/start/platforms/ios/ensureSimulatorAppRunning.js +50 -29
- package/build/src/start/platforms/ios/ensureSimulatorAppRunning.js.map +1 -1
- package/build/src/start/platforms/ios/getBestSimulator.js +53 -29
- package/build/src/start/platforms/ios/getBestSimulator.js.map +1 -1
- package/build/src/start/platforms/ios/promptAppleDevice.js +18 -12
- package/build/src/start/platforms/ios/promptAppleDevice.js.map +1 -1
- package/build/src/start/platforms/ios/simctl.js +65 -42
- package/build/src/start/platforms/ios/simctl.js.map +1 -1
- package/build/src/start/platforms/ios/simctlLogging.js +67 -44
- package/build/src/start/platforms/ios/simctlLogging.js.map +1 -1
- package/build/src/start/platforms/ios/xcrun.js +8 -5
- package/build/src/start/platforms/ios/xcrun.js.map +1 -1
- package/build/src/start/project/devices.js +19 -16
- package/build/src/start/project/devices.js.map +1 -1
- package/build/src/start/project/dotExpo.js +13 -5
- package/build/src/start/project/dotExpo.js.map +1 -1
- package/build/src/start/project/settings.js +6 -4
- package/build/src/start/project/settings.js.map +1 -1
- package/build/src/start/resolveOptions.js +26 -19
- package/build/src/start/resolveOptions.js.map +1 -1
- package/build/src/start/server/AsyncNgrok.js +66 -46
- package/build/src/start/server/AsyncNgrok.js.map +1 -1
- package/build/src/start/server/BundlerDevServer.js +64 -44
- package/build/src/start/server/BundlerDevServer.js.map +1 -1
- package/build/src/start/server/DevServerManager.js +81 -69
- package/build/src/start/server/DevServerManager.js.map +1 -1
- package/build/src/start/server/DevToolsPluginManager.js +21 -16
- package/build/src/start/server/DevToolsPluginManager.js.map +1 -1
- package/build/src/start/server/DevelopmentSession.js +49 -31
- package/build/src/start/server/DevelopmentSession.js.map +1 -1
- package/build/src/start/server/ReactDevToolsProxy.js +14 -6
- package/build/src/start/server/ReactDevToolsProxy.js.map +1 -1
- package/build/src/start/server/UrlCreator.js +44 -23
- package/build/src/start/server/UrlCreator.js.map +1 -1
- package/build/src/start/server/getStaticRenderFunctions.js +46 -34
- package/build/src/start/server/getStaticRenderFunctions.js.map +1 -1
- package/build/src/start/server/metro/MetroBundlerDevServer.js +135 -108
- package/build/src/start/server/metro/MetroBundlerDevServer.js.map +1 -1
- package/build/src/start/server/metro/MetroTerminalReporter.js +24 -17
- package/build/src/start/server/metro/MetroTerminalReporter.js.map +1 -1
- package/build/src/start/server/metro/TerminalReporter.js +18 -8
- package/build/src/start/server/metro/TerminalReporter.js.map +1 -1
- package/build/src/start/server/metro/createExpoMetroResolver.js +31 -20
- package/build/src/start/server/metro/createExpoMetroResolver.js.map +1 -1
- package/build/src/start/server/metro/createJResolver.js +76 -51
- package/build/src/start/server/metro/createJResolver.js.map +1 -1
- package/build/src/start/server/metro/createServerRouteMiddleware.js +22 -14
- package/build/src/start/server/metro/createServerRouteMiddleware.js.map +1 -1
- package/build/src/start/server/metro/debugging/MessageHandler.js +4 -1
- package/build/src/start/server/metro/debugging/MessageHandler.js.map +1 -1
- package/build/src/start/server/metro/debugging/createDebugMiddleware.js +10 -9
- package/build/src/start/server/metro/debugging/createDebugMiddleware.js.map +1 -1
- package/build/src/start/server/metro/debugging/createHandlersFactory.js +14 -13
- package/build/src/start/server/metro/debugging/createHandlersFactory.js.map +1 -1
- package/build/src/start/server/metro/debugging/getDebuggerType.js +5 -2
- package/build/src/start/server/metro/debugging/getDebuggerType.js.map +1 -1
- package/build/src/start/server/metro/debugging/messageHandlers/NetworkResponse.js +5 -2
- package/build/src/start/server/metro/debugging/messageHandlers/NetworkResponse.js.map +1 -1
- package/build/src/start/server/metro/debugging/messageHandlers/PageReload.js +5 -2
- package/build/src/start/server/metro/debugging/messageHandlers/PageReload.js.map +1 -1
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerGetPossibleBreakpoints.js +7 -4
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerGetPossibleBreakpoints.js.map +1 -1
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerSetBreakpointByUrl.js +7 -4
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerSetBreakpointByUrl.js.map +1 -1
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeCallFunctionOn.js +7 -4
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeCallFunctionOn.js.map +1 -1
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeGetProperties.js +7 -4
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeGetProperties.js.map +1 -1
- package/build/src/start/server/metro/debugging/pageIsSupported.js +4 -1
- package/build/src/start/server/metro/debugging/pageIsSupported.js.map +1 -1
- package/build/src/start/server/metro/externals.js +21 -10
- package/build/src/start/server/metro/externals.js.map +1 -1
- package/build/src/start/server/metro/fetchRouterManifest.js +20 -7
- package/build/src/start/server/metro/fetchRouterManifest.js.map +1 -1
- package/build/src/start/server/metro/formatFileCandidates.js +21 -17
- package/build/src/start/server/metro/formatFileCandidates.js.map +1 -1
- package/build/src/start/server/metro/getCssModulesFromBundler.js +15 -7
- package/build/src/start/server/metro/getCssModulesFromBundler.js.map +1 -1
- package/build/src/start/server/metro/instantiateMetro.js +57 -44
- package/build/src/start/server/metro/instantiateMetro.js.map +1 -1
- package/build/src/start/server/metro/metroErrorInterface.js +43 -34
- package/build/src/start/server/metro/metroErrorInterface.js.map +1 -1
- package/build/src/start/server/metro/metroErrors.js +11 -2
- package/build/src/start/server/metro/metroErrors.js.map +1 -1
- package/build/src/start/server/metro/metroVirtualModules.js +10 -2
- package/build/src/start/server/metro/metroVirtualModules.js.map +1 -1
- package/build/src/start/server/metro/metroWatchTypeScriptFiles.js +5 -2
- package/build/src/start/server/metro/metroWatchTypeScriptFiles.js.map +1 -1
- package/build/src/start/server/metro/router.js +27 -20
- package/build/src/start/server/metro/router.js.map +1 -1
- package/build/src/start/server/metro/runServer-fork.js +21 -14
- package/build/src/start/server/metro/runServer-fork.js.map +1 -1
- package/build/src/start/server/metro/serializeHtml.js +7 -7
- package/build/src/start/server/metro/serializeHtml.js.map +1 -1
- package/build/src/start/server/metro/waitForMetroToObserveTypeScriptFile.js +12 -4
- package/build/src/start/server/metro/waitForMetroToObserveTypeScriptFile.js.map +1 -1
- package/build/src/start/server/metro/withMetroMultiPlatform.js +107 -81
- package/build/src/start/server/metro/withMetroMultiPlatform.js.map +1 -1
- package/build/src/start/server/metro/withMetroResolvers.js +72 -42
- package/build/src/start/server/metro/withMetroResolvers.js.map +1 -1
- package/build/src/start/server/middleware/ContextModuleSourceMapsMiddleware.js +4 -1
- package/build/src/start/server/middleware/ContextModuleSourceMapsMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/CorsMiddleware.js +4 -1
- package/build/src/start/server/middleware/CorsMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/CreateFileMiddleware.js +13 -5
- package/build/src/start/server/middleware/CreateFileMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/DevToolsPluginMiddleware.js +15 -12
- package/build/src/start/server/middleware/DevToolsPluginMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js +30 -23
- package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/ExpoMiddleware.js +47 -21
- package/build/src/start/server/middleware/ExpoMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/FaviconMiddleware.js +8 -5
- package/build/src/start/server/middleware/FaviconMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/HistoryFallbackMiddleware.js +6 -3
- package/build/src/start/server/middleware/HistoryFallbackMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/InterstitialPageMiddleware.js +23 -16
- package/build/src/start/server/middleware/InterstitialPageMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/ManifestMiddleware.js +84 -60
- package/build/src/start/server/middleware/ManifestMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/ReactDevToolsPageMiddleware.js +14 -7
- package/build/src/start/server/middleware/ReactDevToolsPageMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js +47 -26
- package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/ServeStaticMiddleware.js +11 -8
- package/build/src/start/server/middleware/ServeStaticMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/inspector/JsInspector.js +30 -24
- package/build/src/start/server/middleware/inspector/JsInspector.js.map +1 -1
- package/build/src/start/server/middleware/inspector/LaunchBrowser.js +16 -8
- package/build/src/start/server/middleware/inspector/LaunchBrowser.js.map +1 -1
- package/build/src/start/server/middleware/inspector/LaunchBrowser.types.js +4 -2
- package/build/src/start/server/middleware/inspector/LaunchBrowser.types.js.map +1 -1
- package/build/src/start/server/middleware/inspector/LaunchBrowserImplLinux.js +16 -12
- package/build/src/start/server/middleware/inspector/LaunchBrowserImplLinux.js.map +1 -1
- package/build/src/start/server/middleware/inspector/LaunchBrowserImplMacOS.js +59 -37
- package/build/src/start/server/middleware/inspector/LaunchBrowserImplMacOS.js.map +1 -1
- package/build/src/start/server/middleware/inspector/LaunchBrowserImplWindows.js +22 -16
- package/build/src/start/server/middleware/inspector/LaunchBrowserImplWindows.js.map +1 -1
- package/build/src/start/server/middleware/inspector/createJsInspectorMiddleware.js +9 -6
- package/build/src/start/server/middleware/inspector/createJsInspectorMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/inspector/middlwareMutations.js +11 -4
- package/build/src/start/server/middleware/inspector/middlwareMutations.js.map +1 -1
- package/build/src/start/server/middleware/metroOptions.js +26 -18
- package/build/src/start/server/middleware/metroOptions.js.map +1 -1
- package/build/src/start/server/middleware/mutations.js +11 -4
- package/build/src/start/server/middleware/mutations.js.map +1 -1
- package/build/src/start/server/middleware/resolveAssets.js +65 -41
- package/build/src/start/server/middleware/resolveAssets.js.map +1 -1
- package/build/src/start/server/middleware/resolvePlatform.js +14 -6
- package/build/src/start/server/middleware/resolvePlatform.js.map +1 -1
- package/build/src/start/server/middleware/suppressErrorMiddleware.js +4 -1
- package/build/src/start/server/middleware/suppressErrorMiddleware.js.map +1 -1
- package/build/src/start/server/openPlatforms.js +7 -6
- package/build/src/start/server/openPlatforms.js.map +1 -1
- package/build/src/start/server/platformBundlers.js +5 -2
- package/build/src/start/server/platformBundlers.js.map +1 -1
- package/build/src/start/server/serverLogLikeMetro.js +62 -33
- package/build/src/start/server/serverLogLikeMetro.js.map +1 -1
- package/build/src/start/server/type-generation/expo-env.js +12 -4
- package/build/src/start/server/type-generation/expo-env.js.map +1 -1
- package/build/src/start/server/type-generation/routes.js +52 -51
- package/build/src/start/server/type-generation/routes.js.map +1 -1
- package/build/src/start/server/type-generation/startTypescriptTypeGeneration.js +22 -19
- package/build/src/start/server/type-generation/startTypescriptTypeGeneration.js.map +1 -1
- package/build/src/start/server/type-generation/tsconfig.js +18 -11
- package/build/src/start/server/type-generation/tsconfig.js.map +1 -1
- package/build/src/start/server/webTemplate.js +21 -15
- package/build/src/start/server/webTemplate.js.map +1 -1
- package/build/src/start/server/webpack/WebpackBundlerDevServer.js +81 -56
- package/build/src/start/server/webpack/WebpackBundlerDevServer.js.map +1 -1
- package/build/src/start/server/webpack/compile.js +47 -26
- package/build/src/start/server/webpack/compile.js.map +1 -1
- package/build/src/start/server/webpack/formatWebpackMessages.js +35 -25
- package/build/src/start/server/webpack/formatWebpackMessages.js.map +1 -1
- package/build/src/start/server/webpack/resolveFromProject.js +13 -5
- package/build/src/start/server/webpack/resolveFromProject.js.map +1 -1
- package/build/src/start/server/webpack/tls.js +54 -28
- package/build/src/start/server/webpack/tls.js.map +1 -1
- package/build/src/start/startAsync.js +73 -52
- package/build/src/start/startAsync.js.map +1 -1
- package/build/src/utils/FileNotifier.js +46 -25
- package/build/src/utils/FileNotifier.js.map +1 -1
- package/build/src/utils/analytics/getDevClientProperties.js +29 -21
- package/build/src/utils/analytics/getDevClientProperties.js.map +1 -1
- package/build/src/utils/analytics/getMetroDebugProperties.js +4 -1
- package/build/src/utils/analytics/getMetroDebugProperties.js.map +1 -1
- package/build/src/utils/analytics/getMetroProperties.js +4 -1
- package/build/src/utils/analytics/getMetroProperties.js.map +1 -1
- package/build/src/utils/analytics/metroDebuggerMiddleware.js +14 -6
- package/build/src/utils/analytics/metroDebuggerMiddleware.js.map +1 -1
- package/build/src/utils/ansi.js +5 -2
- package/build/src/utils/ansi.js.map +1 -1
- package/build/src/utils/args.js +57 -29
- package/build/src/utils/args.js.map +1 -1
- package/build/src/utils/array.js +16 -9
- package/build/src/utils/array.js.map +1 -1
- package/build/src/utils/cocoapods.js +77 -53
- package/build/src/utils/cocoapods.js.map +1 -1
- package/build/src/utils/codesigning.js +80 -58
- package/build/src/utils/codesigning.js.map +1 -1
- package/build/src/utils/createFileTransform.js +13 -5
- package/build/src/utils/createFileTransform.js.map +1 -1
- package/build/src/utils/delay.js +13 -6
- package/build/src/utils/delay.js.map +1 -1
- package/build/src/utils/dir.js +24 -21
- package/build/src/utils/dir.js.map +1 -1
- package/build/src/utils/downloadAppAsync.js +16 -13
- package/build/src/utils/downloadAppAsync.js.map +1 -1
- package/build/src/utils/downloadExpoGoAsync.js +26 -20
- package/build/src/utils/downloadExpoGoAsync.js.map +1 -1
- package/build/src/utils/editor.js +50 -24
- package/build/src/utils/editor.js.map +1 -1
- package/build/src/utils/env.js +35 -33
- package/build/src/utils/env.js.map +1 -1
- package/build/src/utils/errors.js +17 -9
- package/build/src/utils/errors.js.map +1 -1
- package/build/src/utils/exit.js +10 -7
- package/build/src/utils/exit.js.map +1 -1
- package/build/src/utils/findUp.js +22 -4
- package/build/src/utils/findUp.js.map +1 -1
- package/build/src/utils/fn.js +11 -3
- package/build/src/utils/fn.js.map +1 -1
- package/build/src/utils/getOrPromptApplicationId.js +71 -45
- package/build/src/utils/getOrPromptApplicationId.js.map +1 -1
- package/build/src/utils/getRunningProcess.js +52 -26
- package/build/src/utils/getRunningProcess.js.map +1 -1
- package/build/src/utils/git.js +64 -38
- package/build/src/utils/git.js.map +1 -1
- package/build/src/utils/glob.js +14 -9
- package/build/src/utils/glob.js.map +1 -1
- package/build/src/utils/interactive.js +5 -2
- package/build/src/utils/interactive.js.map +1 -1
- package/build/src/utils/ip.js +5 -2
- package/build/src/utils/ip.js.map +1 -1
- package/build/src/utils/isModuleSymlinked.js +7 -4
- package/build/src/utils/isModuleSymlinked.js.map +1 -1
- package/build/src/utils/link.js +13 -5
- package/build/src/utils/link.js.map +1 -1
- package/build/src/utils/mergeGitIgnorePaths.js +22 -17
- package/build/src/utils/mergeGitIgnorePaths.js.map +1 -1
- package/build/src/utils/modifyConfigAsync.js +56 -30
- package/build/src/utils/modifyConfigAsync.js.map +1 -1
- package/build/src/utils/modifyConfigPlugins.js +43 -22
- package/build/src/utils/modifyConfigPlugins.js.map +1 -1
- package/build/src/utils/nodeEnv.js +6 -1
- package/build/src/utils/nodeEnv.js.map +1 -1
- package/build/src/utils/nodeModules.js +9 -6
- package/build/src/utils/nodeModules.js.map +1 -1
- package/build/src/utils/npm.js +32 -24
- package/build/src/utils/npm.js.map +1 -1
- package/build/src/utils/obj.js +12 -4
- package/build/src/utils/obj.js.map +1 -1
- package/build/src/utils/open.js +7 -4
- package/build/src/utils/open.js.map +1 -1
- package/build/src/utils/ora.js +25 -21
- package/build/src/utils/ora.js.map +1 -1
- package/build/src/utils/plist.js +53 -27
- package/build/src/utils/plist.js.map +1 -1
- package/build/src/utils/port.js +58 -32
- package/build/src/utils/port.js.map +1 -1
- package/build/src/utils/profile.js +49 -28
- package/build/src/utils/profile.js.map +1 -1
- package/build/src/utils/progress.js +16 -12
- package/build/src/utils/progress.js.map +1 -1
- package/build/src/utils/prompts.js +33 -28
- package/build/src/utils/prompts.js.map +1 -1
- package/build/src/utils/resolveArgs.js +23 -20
- package/build/src/utils/resolveArgs.js.map +1 -1
- package/build/src/utils/scheme.js +61 -37
- package/build/src/utils/scheme.js.map +1 -1
- package/build/src/utils/strings.js +11 -4
- package/build/src/utils/strings.js.map +1 -1
- package/build/src/utils/tar.js +43 -22
- package/build/src/utils/tar.js.map +1 -1
- package/build/src/utils/telemetry/DetachedClient.js +8 -5
- package/build/src/utils/telemetry/DetachedClient.js.map +1 -1
- package/build/src/utils/telemetry/RudderClient.js +12 -9
- package/build/src/utils/telemetry/RudderClient.js.map +1 -1
- package/build/src/utils/telemetry/flushDetached.js +8 -7
- package/build/src/utils/telemetry/flushDetached.js.map +1 -1
- package/build/src/utils/telemetry/getContext.js +48 -28
- package/build/src/utils/telemetry/getContext.js.map +1 -1
- package/build/src/utils/telemetry/index.js +16 -11
- package/build/src/utils/telemetry/index.js.map +1 -1
- package/build/src/utils/template.js +27 -2
- package/build/src/utils/template.js.map +1 -1
- package/build/src/utils/terminal.js +5 -2
- package/build/src/utils/terminal.js.map +1 -1
- package/build/src/utils/tsconfig/evaluateTsConfig.js +18 -12
- package/build/src/utils/tsconfig/evaluateTsConfig.js.map +1 -1
- package/build/src/utils/tsconfig/loadTsConfigPaths.js +18 -10
- package/build/src/utils/tsconfig/loadTsConfigPaths.js.map +1 -1
- package/build/src/utils/tsconfig/matchTsConfigPathAlias.js +8 -4
- package/build/src/utils/tsconfig/matchTsConfigPathAlias.js.map +1 -1
- package/build/src/utils/tsconfig/resolveWithTsConfigPaths.js +12 -9
- package/build/src/utils/tsconfig/resolveWithTsConfigPaths.js.map +1 -1
- package/build/src/utils/url.js +17 -10
- package/build/src/utils/url.js.map +1 -1
- package/build/src/utils/validateApplicationId.js +32 -25
- package/build/src/utils/validateApplicationId.js.map +1 -1
- package/build/src/utils/variadic.js +15 -11
- package/build/src/utils/variadic.js.map +1 -1
- package/build/src/whoami/index.js +43 -25
- package/build/src/whoami/index.js.map +1 -1
- package/build/src/whoami/whoamiAsync.js +44 -23
- package/build/src/whoami/whoamiAsync.js.map +1 -1
- package/package.json +4 -4
|
@@ -2,11 +2,19 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", {
|
|
3
3
|
value: true
|
|
4
4
|
});
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
5
|
+
function _export(target, all) {
|
|
6
|
+
for(var name in all)Object.defineProperty(target, name, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: all[name]
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
_export(exports, {
|
|
12
|
+
createDebuggerTelemetryMiddleware: ()=>createDebuggerTelemetryMiddleware,
|
|
13
|
+
findDebugTool: ()=>findDebugTool
|
|
14
|
+
});
|
|
15
|
+
const _getMetroDebugProperties = require("./getMetroDebugProperties");
|
|
16
|
+
const _env = require("../env");
|
|
17
|
+
const _telemetry = require("../telemetry");
|
|
10
18
|
function createDebuggerTelemetryMiddleware(projectRoot, exp) {
|
|
11
19
|
let hasReported = false;
|
|
12
20
|
// This only works for Hermes apps, disable when telemetry is turned off
|
|
@@ -25,7 +33,7 @@ function createDebuggerTelemetryMiddleware(projectRoot, exp) {
|
|
|
25
33
|
const debugTool = findDebugTool(req);
|
|
26
34
|
if (debugTool) {
|
|
27
35
|
hasReported = true;
|
|
28
|
-
(0, _telemetry
|
|
36
|
+
(0, _telemetry.logEventAsync)("metro debug", (0, _getMetroDebugProperties.getMetroDebugProperties)(projectRoot, exp, debugTool));
|
|
29
37
|
}
|
|
30
38
|
if (typeof next === "function") {
|
|
31
39
|
return next(undefined);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/utils/analytics/metroDebuggerMiddleware.ts"],"sourcesContent":["import { ExpoConfig } from '@expo/config';\nimport { Middleware } from 'metro-config';\n\nimport { DebugTool, getMetroDebugProperties } from './getMetroDebugProperties';\nimport { env } from '../env';\nimport { logEventAsync } from '../telemetry';\n\ntype Request = Parameters<Middleware>[0];\ntype Response = Parameters<Middleware>[1];\ntype Next = Parameters<Middleware>[2];\n\n/**\n * Create a Metro middleware that reports when a debugger request was found.\n * This will only be reported once, if the app uses Hermes and telemetry is not enabled.\n */\nexport function createDebuggerTelemetryMiddleware(\n projectRoot: string,\n exp: ExpoConfig\n): Middleware {\n let hasReported = false;\n\n // This only works for Hermes apps, disable when telemetry is turned off\n if (env.EXPO_NO_TELEMETRY || exp.jsEngine !== 'hermes') {\n return (req: Request, res: Response, next: Next) => {\n if (typeof next === 'function') {\n next(undefined);\n }\n };\n }\n\n return (req: Request, res: Response, next: Next) => {\n // Only report once\n if (hasReported && typeof next === 'function') {\n return next(undefined);\n }\n\n const debugTool = findDebugTool(req);\n if (debugTool) {\n hasReported = true;\n logEventAsync('metro debug', getMetroDebugProperties(projectRoot, exp, debugTool));\n }\n\n if (typeof next === 'function') {\n return next(undefined);\n }\n };\n}\n\n/** Exposed for testing */\nexport function findDebugTool(\n req: Pick<Parameters<Middleware>[0], 'headers' | 'url'>\n): DebugTool | null {\n if (req.headers['origin']?.includes('chrome-devtools')) {\n return { name: 'chrome' };\n }\n\n if (req.url?.startsWith('/json')) {\n const flipperUserAgent = req.headers['user-agent']?.match(/(Flipper)\\/([^\\s]+)/);\n if (flipperUserAgent) {\n return {\n name: flipperUserAgent[1].toLowerCase(),\n version: flipperUserAgent[2],\n };\n }\n }\n\n return null;\n}\n"],"names":["createDebuggerTelemetryMiddleware","findDebugTool","projectRoot","exp","hasReported","env","EXPO_NO_TELEMETRY","jsEngine","req","res","next","undefined","debugTool","logEventAsync","getMetroDebugProperties","headers","includes","name","url","startsWith","flipperUserAgent","match","toLowerCase","version"],"mappings":"AAAA
|
|
1
|
+
{"version":3,"sources":["../../../../src/utils/analytics/metroDebuggerMiddleware.ts"],"sourcesContent":["import { ExpoConfig } from '@expo/config';\nimport { Middleware } from 'metro-config';\n\nimport { DebugTool, getMetroDebugProperties } from './getMetroDebugProperties';\nimport { env } from '../env';\nimport { logEventAsync } from '../telemetry';\n\ntype Request = Parameters<Middleware>[0];\ntype Response = Parameters<Middleware>[1];\ntype Next = Parameters<Middleware>[2];\n\n/**\n * Create a Metro middleware that reports when a debugger request was found.\n * This will only be reported once, if the app uses Hermes and telemetry is not enabled.\n */\nexport function createDebuggerTelemetryMiddleware(\n projectRoot: string,\n exp: ExpoConfig\n): Middleware {\n let hasReported = false;\n\n // This only works for Hermes apps, disable when telemetry is turned off\n if (env.EXPO_NO_TELEMETRY || exp.jsEngine !== 'hermes') {\n return (req: Request, res: Response, next: Next) => {\n if (typeof next === 'function') {\n next(undefined);\n }\n };\n }\n\n return (req: Request, res: Response, next: Next) => {\n // Only report once\n if (hasReported && typeof next === 'function') {\n return next(undefined);\n }\n\n const debugTool = findDebugTool(req);\n if (debugTool) {\n hasReported = true;\n logEventAsync('metro debug', getMetroDebugProperties(projectRoot, exp, debugTool));\n }\n\n if (typeof next === 'function') {\n return next(undefined);\n }\n };\n}\n\n/** Exposed for testing */\nexport function findDebugTool(\n req: Pick<Parameters<Middleware>[0], 'headers' | 'url'>\n): DebugTool | null {\n if (req.headers['origin']?.includes('chrome-devtools')) {\n return { name: 'chrome' };\n }\n\n if (req.url?.startsWith('/json')) {\n const flipperUserAgent = req.headers['user-agent']?.match(/(Flipper)\\/([^\\s]+)/);\n if (flipperUserAgent) {\n return {\n name: flipperUserAgent[1].toLowerCase(),\n version: flipperUserAgent[2],\n };\n }\n }\n\n return null;\n}\n"],"names":["createDebuggerTelemetryMiddleware","findDebugTool","projectRoot","exp","hasReported","env","EXPO_NO_TELEMETRY","jsEngine","req","res","next","undefined","debugTool","logEventAsync","getMetroDebugProperties","headers","includes","name","url","startsWith","flipperUserAgent","match","toLowerCase","version"],"mappings":"AAAA;;;;;;;;;;;IAegBA,iCAAiC,MAAjCA,iCAAiC;IAkCjCC,aAAa,MAAbA,aAAa;;yCA9CsB,2BAA2B;qBAC1D,QAAQ;2BACE,cAAc;AAUrC,SAASD,iCAAiC,CAC/CE,WAAmB,EACnBC,GAAe,EACH;IACZ,IAAIC,WAAW,GAAG,KAAK,AAAC;IAExB,wEAAwE;IACxE,IAAIC,IAAG,IAAA,CAACC,iBAAiB,IAAIH,GAAG,CAACI,QAAQ,KAAK,QAAQ,EAAE;QACtD,OAAO,CAACC,GAAY,EAAEC,GAAa,EAAEC,IAAU,GAAK;YAClD,IAAI,OAAOA,IAAI,KAAK,UAAU,EAAE;gBAC9BA,IAAI,CAACC,SAAS,CAAC,CAAC;YAClB,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;IAED,OAAO,CAACH,GAAY,EAAEC,GAAa,EAAEC,IAAU,GAAK;QAClD,mBAAmB;QACnB,IAAIN,WAAW,IAAI,OAAOM,IAAI,KAAK,UAAU,EAAE;YAC7C,OAAOA,IAAI,CAACC,SAAS,CAAC,CAAC;QACzB,CAAC;QAED,MAAMC,SAAS,GAAGX,aAAa,CAACO,GAAG,CAAC,AAAC;QACrC,IAAII,SAAS,EAAE;YACbR,WAAW,GAAG,IAAI,CAAC;YACnBS,IAAAA,UAAa,cAAA,EAAC,aAAa,EAAEC,IAAAA,wBAAuB,wBAAA,EAACZ,WAAW,EAAEC,GAAG,EAAES,SAAS,CAAC,CAAC,CAAC;QACrF,CAAC;QAED,IAAI,OAAOF,IAAI,KAAK,UAAU,EAAE;YAC9B,OAAOA,IAAI,CAACC,SAAS,CAAC,CAAC;QACzB,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAGM,SAASV,aAAa,CAC3BO,GAAuD,EACrC;QACdA,GAAqB,EAIrBA,IAAO;IAJX,IAAIA,CAAAA,GAAqB,GAArBA,GAAG,CAACO,OAAO,CAAC,QAAQ,CAAC,SAAU,GAA/BP,KAAAA,CAA+B,GAA/BA,GAAqB,CAAEQ,QAAQ,CAAC,iBAAiB,CAAC,EAAE;QACtD,OAAO;YAAEC,IAAI,EAAE,QAAQ;SAAE,CAAC;IAC5B,CAAC;IAED,IAAIT,CAAAA,IAAO,GAAPA,GAAG,CAACU,GAAG,SAAY,GAAnBV,KAAAA,CAAmB,GAAnBA,IAAO,CAAEW,UAAU,CAAC,OAAO,CAAC,EAAE;YACPX,IAAyB;QAAlD,MAAMY,gBAAgB,GAAGZ,CAAAA,IAAyB,GAAzBA,GAAG,CAACO,OAAO,CAAC,YAAY,CAAC,SAAO,GAAhCP,KAAAA,CAAgC,GAAhCA,IAAyB,CAAEa,KAAK,uBAAuB,AAAC;QACjF,IAAID,gBAAgB,EAAE;YACpB,OAAO;gBACLH,IAAI,EAAEG,gBAAgB,CAAC,CAAC,CAAC,CAACE,WAAW,EAAE;gBACvCC,OAAO,EAAEH,gBAAgB,CAAC,CAAC,CAAC;aAC7B,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
|
package/build/src/utils/ansi.js
CHANGED
|
@@ -1,8 +1,11 @@
|
|
|
1
|
-
"use strict";
|
|
1
|
+
/** Remove ansi characters from a string and return the sanitized results. */ "use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", {
|
|
3
3
|
value: true
|
|
4
4
|
});
|
|
5
|
-
exports
|
|
5
|
+
Object.defineProperty(exports, "stripAnsi", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: ()=>stripAnsi
|
|
8
|
+
});
|
|
6
9
|
function stripAnsi(str) {
|
|
7
10
|
if (!str) {
|
|
8
11
|
return str;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/utils/ansi.ts"],"sourcesContent":["/** Remove ansi characters from a string and return the sanitized results. */\nexport function stripAnsi(str?: string | null) {\n if (!str) {\n return str;\n }\n const pattern = [\n '[\\\\u001B\\\\u009B][[\\\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]+)*|[a-zA-Z\\\\d]+(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]*)*)?\\\\u0007)',\n '(?:(?:\\\\d{1,4}(?:;\\\\d{0,4})*)?[\\\\dA-PR-TZcf-ntqry=><~]))',\n ].join('|');\n\n return str.replace(new RegExp(pattern, 'g'), '');\n}\n"],"names":["stripAnsi","str","pattern","join","replace","RegExp"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/utils/ansi.ts"],"sourcesContent":["/** Remove ansi characters from a string and return the sanitized results. */\nexport function stripAnsi(str?: string | null) {\n if (!str) {\n return str;\n }\n const pattern = [\n '[\\\\u001B\\\\u009B][[\\\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]+)*|[a-zA-Z\\\\d]+(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]*)*)?\\\\u0007)',\n '(?:(?:\\\\d{1,4}(?:;\\\\d{0,4})*)?[\\\\dA-PR-TZcf-ntqry=><~]))',\n ].join('|');\n\n return str.replace(new RegExp(pattern, 'g'), '');\n}\n"],"names":["stripAnsi","str","pattern","join","replace","RegExp"],"mappings":"AAAA,2EAA2E,GAC3E;;;;+BAAgBA,WAAS;;aAATA,SAAS;;AAAlB,SAASA,SAAS,CAACC,GAAmB,EAAE;IAC7C,IAAI,CAACA,GAAG,EAAE;QACR,OAAOA,GAAG,CAAC;IACb,CAAC;IACD,MAAMC,OAAO,GAAG;QACd,8HAA8H;QAC9H,0DAA0D;KAC3D,CAACC,IAAI,CAAC,GAAG,CAAC,AAAC;IAEZ,OAAOF,GAAG,CAACG,OAAO,CAAC,IAAIC,MAAM,CAACH,OAAO,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;AACnD,CAAC"}
|
package/build/src/utils/args.js
CHANGED
|
@@ -1,20 +1,30 @@
|
|
|
1
|
+
// Common utilities for interacting with `args` library.
|
|
2
|
+
// These functions should be used by every command.
|
|
1
3
|
"use strict";
|
|
2
4
|
Object.defineProperty(exports, "__esModule", {
|
|
3
5
|
value: true
|
|
4
6
|
});
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
function _export(target, all) {
|
|
8
|
+
for(var name in all)Object.defineProperty(target, name, {
|
|
9
|
+
enumerable: true,
|
|
10
|
+
get: all[name]
|
|
11
|
+
});
|
|
12
|
+
}
|
|
13
|
+
_export(exports, {
|
|
14
|
+
getProjectRoot: ()=>getProjectRoot,
|
|
15
|
+
assertArgs: ()=>assertArgs,
|
|
16
|
+
assertWithOptionsArgs: ()=>assertWithOptionsArgs,
|
|
17
|
+
printHelp: ()=>printHelp
|
|
18
|
+
});
|
|
9
19
|
function _arg() {
|
|
10
|
-
const data = _interopRequireDefault(require("arg"));
|
|
20
|
+
const data = /*#__PURE__*/ _interopRequireDefault(require("arg"));
|
|
11
21
|
_arg = function() {
|
|
12
22
|
return data;
|
|
13
23
|
};
|
|
14
24
|
return data;
|
|
15
25
|
}
|
|
16
26
|
function _chalk() {
|
|
17
|
-
const data = _interopRequireDefault(require("chalk"));
|
|
27
|
+
const data = /*#__PURE__*/ _interopRequireDefault(require("chalk"));
|
|
18
28
|
_chalk = function() {
|
|
19
29
|
return data;
|
|
20
30
|
};
|
|
@@ -34,37 +44,55 @@ function _path() {
|
|
|
34
44
|
};
|
|
35
45
|
return data;
|
|
36
46
|
}
|
|
37
|
-
|
|
47
|
+
const _log = /*#__PURE__*/ _interopRequireWildcard(require("../log"));
|
|
38
48
|
function _interopRequireDefault(obj) {
|
|
39
49
|
return obj && obj.__esModule ? obj : {
|
|
40
50
|
default: obj
|
|
41
51
|
};
|
|
42
52
|
}
|
|
43
|
-
function
|
|
44
|
-
if (
|
|
53
|
+
function _getRequireWildcardCache(nodeInterop) {
|
|
54
|
+
if (typeof WeakMap !== "function") return null;
|
|
55
|
+
var cacheBabelInterop = new WeakMap();
|
|
56
|
+
var cacheNodeInterop = new WeakMap();
|
|
57
|
+
return (_getRequireWildcardCache = function(nodeInterop) {
|
|
58
|
+
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
|
59
|
+
})(nodeInterop);
|
|
60
|
+
}
|
|
61
|
+
function _interopRequireWildcard(obj, nodeInterop) {
|
|
62
|
+
if (!nodeInterop && obj && obj.__esModule) {
|
|
45
63
|
return obj;
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
64
|
+
}
|
|
65
|
+
if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
|
|
66
|
+
return {
|
|
67
|
+
default: obj
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
var cache = _getRequireWildcardCache(nodeInterop);
|
|
71
|
+
if (cache && cache.has(obj)) {
|
|
72
|
+
return cache.get(obj);
|
|
73
|
+
}
|
|
74
|
+
var newObj = {};
|
|
75
|
+
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
76
|
+
for(var key in obj){
|
|
77
|
+
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
78
|
+
var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
|
|
79
|
+
if (desc && (desc.get || desc.set)) {
|
|
80
|
+
Object.defineProperty(newObj, key, desc);
|
|
81
|
+
} else {
|
|
82
|
+
newObj[key] = obj[key];
|
|
58
83
|
}
|
|
59
84
|
}
|
|
60
|
-
newObj.default = obj;
|
|
61
|
-
return newObj;
|
|
62
85
|
}
|
|
86
|
+
newObj.default = obj;
|
|
87
|
+
if (cache) {
|
|
88
|
+
cache.set(obj, newObj);
|
|
89
|
+
}
|
|
90
|
+
return newObj;
|
|
63
91
|
}
|
|
64
92
|
function getProjectRoot(args) {
|
|
65
|
-
const projectRoot = _path().resolve(args._[0] || ".");
|
|
66
|
-
if (!_fs().existsSync(projectRoot)) {
|
|
67
|
-
|
|
93
|
+
const projectRoot = (0, _path().resolve)(args._[0] || ".");
|
|
94
|
+
if (!(0, _fs().existsSync)(projectRoot)) {
|
|
95
|
+
_log.exit(`Invalid project root: ${projectRoot}`);
|
|
68
96
|
}
|
|
69
97
|
return projectRoot;
|
|
70
98
|
}
|
|
@@ -75,20 +103,20 @@ function assertArgs(schema, argv) {
|
|
|
75
103
|
}
|
|
76
104
|
function assertWithOptionsArgs(schema, options) {
|
|
77
105
|
try {
|
|
78
|
-
return _arg().default(schema, options);
|
|
106
|
+
return (0, _arg().default)(schema, options);
|
|
79
107
|
} catch (error) {
|
|
80
108
|
// Handle errors caused by user input.
|
|
81
109
|
// Only errors from `arg`, which does not start with `ARG_CONFIG_` are user input errors.
|
|
82
110
|
// See: https://github.com/vercel/arg/releases/tag/5.0.0
|
|
83
111
|
if ("code" in error && error.code.startsWith("ARG_") && !error.code.startsWith("ARG_CONFIG_")) {
|
|
84
|
-
|
|
112
|
+
_log.exit(error.message, 1);
|
|
85
113
|
}
|
|
86
114
|
// Otherwise rethrow the error.
|
|
87
115
|
throw error;
|
|
88
116
|
}
|
|
89
117
|
}
|
|
90
118
|
function printHelp(info, usage, options, extra = "") {
|
|
91
|
-
|
|
119
|
+
_log.exit((0, _chalk().default)`
|
|
92
120
|
{bold Info}
|
|
93
121
|
${info}
|
|
94
122
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/utils/args.ts"],"sourcesContent":["// Common utilities for interacting with `args` library.\n// These functions should be used by every command.\nimport arg from 'arg';\nimport chalk from 'chalk';\nimport { existsSync } from 'fs';\nimport { resolve } from 'path';\n\nimport * as Log from '../log';\n\n/**\n * Parse the first argument as a project directory.\n *\n * @returns valid project directory.\n */\nexport function getProjectRoot(args: arg.Result<arg.Spec>) {\n const projectRoot = resolve(args._[0] || '.');\n\n if (!existsSync(projectRoot)) {\n Log.exit(`Invalid project root: ${projectRoot}`);\n }\n\n return projectRoot;\n}\n\n/**\n * Parse args and assert unknown options.\n *\n * @param schema the `args` schema for parsing the command line arguments.\n * @param argv extra strings\n * @returns processed args object.\n */\nexport function assertArgs(schema: arg.Spec, argv?: string[]): arg.Result<arg.Spec> {\n return assertWithOptionsArgs(schema, { argv });\n}\n\nexport function assertWithOptionsArgs(\n schema: arg.Spec,\n options: arg.Options\n): arg.Result<arg.Spec> {\n try {\n return arg(schema, options);\n } catch (error: any) {\n // Handle errors caused by user input.\n // Only errors from `arg`, which does not start with `ARG_CONFIG_` are user input errors.\n // See: https://github.com/vercel/arg/releases/tag/5.0.0\n if ('code' in error && error.code.startsWith('ARG_') && !error.code.startsWith('ARG_CONFIG_')) {\n Log.exit(error.message, 1);\n }\n // Otherwise rethrow the error.\n throw error;\n }\n}\n\nexport function printHelp(info: string, usage: string, options: string, extra: string = ''): never {\n Log.exit(\n chalk`\n {bold Info}\n ${info}\n\n {bold Usage}\n {dim $} ${usage}\n\n {bold Options}\n ${options.split('\\n').join('\\n ')}\n` + extra,\n 0\n );\n}\n"],"names":["getProjectRoot","assertArgs","assertWithOptionsArgs","printHelp","
|
|
1
|
+
{"version":3,"sources":["../../../src/utils/args.ts"],"sourcesContent":["// Common utilities for interacting with `args` library.\n// These functions should be used by every command.\nimport arg from 'arg';\nimport chalk from 'chalk';\nimport { existsSync } from 'fs';\nimport { resolve } from 'path';\n\nimport * as Log from '../log';\n\n/**\n * Parse the first argument as a project directory.\n *\n * @returns valid project directory.\n */\nexport function getProjectRoot(args: arg.Result<arg.Spec>) {\n const projectRoot = resolve(args._[0] || '.');\n\n if (!existsSync(projectRoot)) {\n Log.exit(`Invalid project root: ${projectRoot}`);\n }\n\n return projectRoot;\n}\n\n/**\n * Parse args and assert unknown options.\n *\n * @param schema the `args` schema for parsing the command line arguments.\n * @param argv extra strings\n * @returns processed args object.\n */\nexport function assertArgs(schema: arg.Spec, argv?: string[]): arg.Result<arg.Spec> {\n return assertWithOptionsArgs(schema, { argv });\n}\n\nexport function assertWithOptionsArgs(\n schema: arg.Spec,\n options: arg.Options\n): arg.Result<arg.Spec> {\n try {\n return arg(schema, options);\n } catch (error: any) {\n // Handle errors caused by user input.\n // Only errors from `arg`, which does not start with `ARG_CONFIG_` are user input errors.\n // See: https://github.com/vercel/arg/releases/tag/5.0.0\n if ('code' in error && error.code.startsWith('ARG_') && !error.code.startsWith('ARG_CONFIG_')) {\n Log.exit(error.message, 1);\n }\n // Otherwise rethrow the error.\n throw error;\n }\n}\n\nexport function printHelp(info: string, usage: string, options: string, extra: string = ''): never {\n Log.exit(\n chalk`\n {bold Info}\n ${info}\n\n {bold Usage}\n {dim $} ${usage}\n\n {bold Options}\n ${options.split('\\n').join('\\n ')}\n` + extra,\n 0\n );\n}\n"],"names":["getProjectRoot","assertArgs","assertWithOptionsArgs","printHelp","args","projectRoot","resolve","_","existsSync","Log","exit","schema","argv","options","arg","error","code","startsWith","message","info","usage","extra","chalk","split","join"],"mappings":"AAAA,wDAAwD;AACxD,mDAAmD;AACnD;;;;;;;;;;;IAYgBA,cAAc,MAAdA,cAAc;IAiBdC,UAAU,MAAVA,UAAU;IAIVC,qBAAqB,MAArBA,qBAAqB;IAkBrBC,SAAS,MAATA,SAAS;;;8DAnDT,KAAK;;;;;;;8DACH,OAAO;;;;;;;yBACE,IAAI;;;;;;;yBACP,MAAM;;;;;;2DAET,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOtB,SAASH,cAAc,CAACI,IAA0B,EAAE;IACzD,MAAMC,WAAW,GAAGC,IAAAA,KAAO,EAAA,QAAA,EAACF,IAAI,CAACG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,AAAC;IAE9C,IAAI,CAACC,IAAAA,GAAU,EAAA,WAAA,EAACH,WAAW,CAAC,EAAE;QAC5BI,IAAG,CAACC,IAAI,CAAC,CAAC,sBAAsB,EAAEL,WAAW,CAAC,CAAC,CAAC,CAAC;IACnD,CAAC;IAED,OAAOA,WAAW,CAAC;AACrB,CAAC;AASM,SAASJ,UAAU,CAACU,MAAgB,EAAEC,IAAe,EAAwB;IAClF,OAAOV,qBAAqB,CAACS,MAAM,EAAE;QAAEC,IAAI;KAAE,CAAC,CAAC;AACjD,CAAC;AAEM,SAASV,qBAAqB,CACnCS,MAAgB,EAChBE,OAAoB,EACE;IACtB,IAAI;QACF,OAAOC,IAAAA,IAAG,EAAA,QAAA,EAACH,MAAM,EAAEE,OAAO,CAAC,CAAC;IAC9B,EAAE,OAAOE,KAAK,EAAO;QACnB,sCAAsC;QACtC,yFAAyF;QACzF,wDAAwD;QACxD,IAAI,MAAM,IAAIA,KAAK,IAAIA,KAAK,CAACC,IAAI,CAACC,UAAU,CAAC,MAAM,CAAC,IAAI,CAACF,KAAK,CAACC,IAAI,CAACC,UAAU,CAAC,aAAa,CAAC,EAAE;YAC7FR,IAAG,CAACC,IAAI,CAACK,KAAK,CAACG,OAAO,EAAE,CAAC,CAAC,CAAC;QAC7B,CAAC;QACD,+BAA+B;QAC/B,MAAMH,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAEM,SAASZ,SAAS,CAACgB,IAAY,EAAEC,KAAa,EAAEP,OAAe,EAAEQ,KAAa,GAAG,EAAE,EAAS;IACjGZ,IAAG,CAACC,IAAI,CACNY,IAAAA,MAAK,EAAA,QAAA,CAAA,CAAC;;IAEN,EAAEH,IAAI,CAAC;;;YAGC,EAAEC,KAAK,CAAC;;;IAGhB,EAAEP,OAAO,CAACU,KAAK,CAAC,IAAI,CAAC,CAACC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACzC,CAAC,GAAGH,KAAK,EACL,CAAC,CACF,CAAC;AACJ,CAAC"}
|
package/build/src/utils/array.js
CHANGED
|
@@ -1,13 +1,21 @@
|
|
|
1
|
-
"use strict";
|
|
1
|
+
/** Returns the last index of an item based on a given criteria. */ "use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", {
|
|
3
3
|
value: true
|
|
4
4
|
});
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
5
|
+
function _export(target, all) {
|
|
6
|
+
for(var name in all)Object.defineProperty(target, name, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: all[name]
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
_export(exports, {
|
|
12
|
+
findLastIndex: ()=>findLastIndex,
|
|
13
|
+
intersecting: ()=>intersecting,
|
|
14
|
+
replaceValue: ()=>replaceValue,
|
|
15
|
+
uniqBy: ()=>uniqBy,
|
|
16
|
+
chunk: ()=>chunk,
|
|
17
|
+
groupBy: ()=>groupBy
|
|
18
|
+
});
|
|
11
19
|
function findLastIndex(array, predicate) {
|
|
12
20
|
for(let i = array.length - 1; i >= 0; i--){
|
|
13
21
|
if (predicate(array[i])) {
|
|
@@ -24,8 +32,7 @@ function intersecting(a, b) {
|
|
|
24
32
|
b,
|
|
25
33
|
a
|
|
26
34
|
];
|
|
27
|
-
return c.filter((value)=>d.includes(value)
|
|
28
|
-
);
|
|
35
|
+
return c.filter((value)=>d.includes(value));
|
|
29
36
|
}
|
|
30
37
|
function replaceValue(values, original, replacement) {
|
|
31
38
|
const index = values.indexOf(original);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/utils/array.ts"],"sourcesContent":["/** Returns the last index of an item based on a given criteria. */\nexport function findLastIndex<T>(array: T[], predicate: (item: T) => boolean) {\n for (let i = array.length - 1; i >= 0; i--) {\n if (predicate(array[i])) {\n return i;\n }\n }\n return -1;\n}\n\n/** Returns a list of items that intersect between two given arrays. */\nexport function intersecting<T>(a: T[], b: T[]): T[] {\n const [c, d] = a.length > b.length ? [a, b] : [b, a];\n return c.filter((value) => d.includes(value));\n}\n\nexport function replaceValue<T>(values: T[], original: T, replacement: T): T[] {\n const index = values.indexOf(original);\n if (index > -1) {\n values[index] = replacement;\n }\n return values;\n}\n\n/** lodash.uniqBy */\nexport function uniqBy<T>(array: T[], key: (item: T) => string): T[] {\n const seen: { [key: string]: boolean } = {};\n return array.filter((item) => {\n const k = key(item);\n if (seen[k]) {\n return false;\n }\n seen[k] = true;\n return true;\n });\n}\n\n/** `lodash.chunk` */\nexport function chunk<T>(array: T[], size: number): T[][] {\n const chunked = [];\n let index = 0;\n while (index < array.length) {\n chunked.push(array.slice(index, (index += size)));\n }\n return chunked;\n}\n\n/** `lodash.groupBy` */\nexport function groupBy<T, K extends keyof any>(list: T[], getKey: (item: T) => K): Record<K, T[]> {\n return list.reduce(\n (previous, currentItem) => {\n const group = getKey(currentItem);\n if (!previous[group]) {\n previous[group] = [];\n }\n previous[group].push(currentItem);\n return previous;\n },\n {} as Record<K, T[]>\n );\n}\n"],"names":["findLastIndex","intersecting","replaceValue","uniqBy","chunk","groupBy","array","predicate","i","length","a","b","c","d","filter","value","includes","values","original","replacement","index","indexOf","key","seen","item","k","size","chunked","push","slice","list","getKey","reduce","previous","currentItem","group"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/utils/array.ts"],"sourcesContent":["/** Returns the last index of an item based on a given criteria. */\nexport function findLastIndex<T>(array: T[], predicate: (item: T) => boolean) {\n for (let i = array.length - 1; i >= 0; i--) {\n if (predicate(array[i])) {\n return i;\n }\n }\n return -1;\n}\n\n/** Returns a list of items that intersect between two given arrays. */\nexport function intersecting<T>(a: T[], b: T[]): T[] {\n const [c, d] = a.length > b.length ? [a, b] : [b, a];\n return c.filter((value) => d.includes(value));\n}\n\nexport function replaceValue<T>(values: T[], original: T, replacement: T): T[] {\n const index = values.indexOf(original);\n if (index > -1) {\n values[index] = replacement;\n }\n return values;\n}\n\n/** lodash.uniqBy */\nexport function uniqBy<T>(array: T[], key: (item: T) => string): T[] {\n const seen: { [key: string]: boolean } = {};\n return array.filter((item) => {\n const k = key(item);\n if (seen[k]) {\n return false;\n }\n seen[k] = true;\n return true;\n });\n}\n\n/** `lodash.chunk` */\nexport function chunk<T>(array: T[], size: number): T[][] {\n const chunked = [];\n let index = 0;\n while (index < array.length) {\n chunked.push(array.slice(index, (index += size)));\n }\n return chunked;\n}\n\n/** `lodash.groupBy` */\nexport function groupBy<T, K extends keyof any>(list: T[], getKey: (item: T) => K): Record<K, T[]> {\n return list.reduce(\n (previous, currentItem) => {\n const group = getKey(currentItem);\n if (!previous[group]) {\n previous[group] = [];\n }\n previous[group].push(currentItem);\n return previous;\n },\n {} as Record<K, T[]>\n );\n}\n"],"names":["findLastIndex","intersecting","replaceValue","uniqBy","chunk","groupBy","array","predicate","i","length","a","b","c","d","filter","value","includes","values","original","replacement","index","indexOf","key","seen","item","k","size","chunked","push","slice","list","getKey","reduce","previous","currentItem","group"],"mappings":"AAAA,iEAAiE,GACjE;;;;;;;;;;;IAAgBA,aAAa,MAAbA,aAAa;IAUbC,YAAY,MAAZA,YAAY;IAKZC,YAAY,MAAZA,YAAY;IASZC,MAAM,MAANA,MAAM;IAaNC,KAAK,MAALA,KAAK;IAULC,OAAO,MAAPA,OAAO;;AA/ChB,SAASL,aAAa,CAAIM,KAAU,EAAEC,SAA+B,EAAE;IAC5E,IAAK,IAAIC,CAAC,GAAGF,KAAK,CAACG,MAAM,GAAG,CAAC,EAAED,CAAC,IAAI,CAAC,EAAEA,CAAC,EAAE,CAAE;QAC1C,IAAID,SAAS,CAACD,KAAK,CAACE,CAAC,CAAC,CAAC,EAAE;YACvB,OAAOA,CAAC,CAAC;QACX,CAAC;IACH,CAAC;IACD,OAAO,CAAC,CAAC,CAAC;AACZ,CAAC;AAGM,SAASP,YAAY,CAAIS,CAAM,EAAEC,CAAM,EAAO;IACnD,MAAM,CAACC,CAAC,EAAEC,CAAC,CAAC,GAAGH,CAAC,CAACD,MAAM,GAAGE,CAAC,CAACF,MAAM,GAAG;QAACC,CAAC;QAAEC,CAAC;KAAC,GAAG;QAACA,CAAC;QAAED,CAAC;KAAC,AAAC;IACrD,OAAOE,CAAC,CAACE,MAAM,CAAC,CAACC,KAAK,GAAKF,CAAC,CAACG,QAAQ,CAACD,KAAK,CAAC,CAAC,CAAC;AAChD,CAAC;AAEM,SAASb,YAAY,CAAIe,MAAW,EAAEC,QAAW,EAAEC,WAAc,EAAO;IAC7E,MAAMC,KAAK,GAAGH,MAAM,CAACI,OAAO,CAACH,QAAQ,CAAC,AAAC;IACvC,IAAIE,KAAK,GAAG,CAAC,CAAC,EAAE;QACdH,MAAM,CAACG,KAAK,CAAC,GAAGD,WAAW,CAAC;IAC9B,CAAC;IACD,OAAOF,MAAM,CAAC;AAChB,CAAC;AAGM,SAASd,MAAM,CAAIG,KAAU,EAAEgB,GAAwB,EAAO;IACnE,MAAMC,IAAI,GAA+B,EAAE,AAAC;IAC5C,OAAOjB,KAAK,CAACQ,MAAM,CAAC,CAACU,IAAI,GAAK;QAC5B,MAAMC,CAAC,GAAGH,GAAG,CAACE,IAAI,CAAC,AAAC;QACpB,IAAID,IAAI,CAACE,CAAC,CAAC,EAAE;YACX,OAAO,KAAK,CAAC;QACf,CAAC;QACDF,IAAI,CAACE,CAAC,CAAC,GAAG,IAAI,CAAC;QACf,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;AACL,CAAC;AAGM,SAASrB,KAAK,CAAIE,KAAU,EAAEoB,IAAY,EAAS;IACxD,MAAMC,OAAO,GAAG,EAAE,AAAC;IACnB,IAAIP,KAAK,GAAG,CAAC,AAAC;IACd,MAAOA,KAAK,GAAGd,KAAK,CAACG,MAAM,CAAE;QAC3BkB,OAAO,CAACC,IAAI,CAACtB,KAAK,CAACuB,KAAK,CAACT,KAAK,EAAGA,KAAK,IAAIM,IAAI,CAAE,CAAC,CAAC;IACpD,CAAC;IACD,OAAOC,OAAO,CAAC;AACjB,CAAC;AAGM,SAAStB,OAAO,CAAyByB,IAAS,EAAEC,MAAsB,EAAkB;IACjG,OAAOD,IAAI,CAACE,MAAM,CAChB,CAACC,QAAQ,EAAEC,WAAW,GAAK;QACzB,MAAMC,KAAK,GAAGJ,MAAM,CAACG,WAAW,CAAC,AAAC;QAClC,IAAI,CAACD,QAAQ,CAACE,KAAK,CAAC,EAAE;YACpBF,QAAQ,CAACE,KAAK,CAAC,GAAG,EAAE,CAAC;QACvB,CAAC;QACDF,QAAQ,CAACE,KAAK,CAAC,CAACP,IAAI,CAACM,WAAW,CAAC,CAAC;QAClC,OAAOD,QAAQ,CAAC;IAClB,CAAC,EACD,EAAE,CACH,CAAC;AACJ,CAAC"}
|
|
@@ -2,9 +2,17 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", {
|
|
3
3
|
value: true
|
|
4
4
|
});
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
function _export(target, all) {
|
|
6
|
+
for(var name in all)Object.defineProperty(target, name, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: all[name]
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
_export(exports, {
|
|
12
|
+
hasPackageJsonDependencyListChangedAsync: ()=>hasPackageJsonDependencyListChangedAsync,
|
|
13
|
+
installCocoaPodsAsync: ()=>installCocoaPodsAsync,
|
|
14
|
+
maybePromptToSyncPodsAsync: ()=>maybePromptToSyncPodsAsync
|
|
15
|
+
});
|
|
8
16
|
function _config() {
|
|
9
17
|
const data = require("@expo/config");
|
|
10
18
|
_config = function() {
|
|
@@ -13,71 +21,89 @@ function _config() {
|
|
|
13
21
|
return data;
|
|
14
22
|
}
|
|
15
23
|
function _jsonFile() {
|
|
16
|
-
const data = _interopRequireDefault(require("@expo/json-file"));
|
|
24
|
+
const data = /*#__PURE__*/ _interopRequireDefault(require("@expo/json-file"));
|
|
17
25
|
_jsonFile = function() {
|
|
18
26
|
return data;
|
|
19
27
|
};
|
|
20
28
|
return data;
|
|
21
29
|
}
|
|
22
|
-
function
|
|
23
|
-
const data = _interopRequireWildcard(require("@expo/package-manager"));
|
|
24
|
-
|
|
30
|
+
function _packageManager() {
|
|
31
|
+
const data = /*#__PURE__*/ _interopRequireWildcard(require("@expo/package-manager"));
|
|
32
|
+
_packageManager = function() {
|
|
25
33
|
return data;
|
|
26
34
|
};
|
|
27
35
|
return data;
|
|
28
36
|
}
|
|
29
37
|
function _chalk() {
|
|
30
|
-
const data = _interopRequireDefault(require("chalk"));
|
|
38
|
+
const data = /*#__PURE__*/ _interopRequireDefault(require("chalk"));
|
|
31
39
|
_chalk = function() {
|
|
32
40
|
return data;
|
|
33
41
|
};
|
|
34
42
|
return data;
|
|
35
43
|
}
|
|
36
44
|
function _fs() {
|
|
37
|
-
const data = _interopRequireDefault(require("fs"));
|
|
45
|
+
const data = /*#__PURE__*/ _interopRequireDefault(require("fs"));
|
|
38
46
|
_fs = function() {
|
|
39
47
|
return data;
|
|
40
48
|
};
|
|
41
49
|
return data;
|
|
42
50
|
}
|
|
43
51
|
function _path() {
|
|
44
|
-
const data = _interopRequireDefault(require("path"));
|
|
52
|
+
const data = /*#__PURE__*/ _interopRequireDefault(require("path"));
|
|
45
53
|
_path = function() {
|
|
46
54
|
return data;
|
|
47
55
|
};
|
|
48
56
|
return data;
|
|
49
57
|
}
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
58
|
+
const _dir = require("./dir");
|
|
59
|
+
const _env = require("./env");
|
|
60
|
+
const _errors = require("./errors");
|
|
61
|
+
const _ora = require("./ora");
|
|
62
|
+
const _log = /*#__PURE__*/ _interopRequireWildcard(require("../log"));
|
|
63
|
+
const _updatePackageJson = require("../prebuild/updatePackageJson");
|
|
56
64
|
function _interopRequireDefault(obj) {
|
|
57
65
|
return obj && obj.__esModule ? obj : {
|
|
58
66
|
default: obj
|
|
59
67
|
};
|
|
60
68
|
}
|
|
61
|
-
function
|
|
62
|
-
if (
|
|
69
|
+
function _getRequireWildcardCache(nodeInterop) {
|
|
70
|
+
if (typeof WeakMap !== "function") return null;
|
|
71
|
+
var cacheBabelInterop = new WeakMap();
|
|
72
|
+
var cacheNodeInterop = new WeakMap();
|
|
73
|
+
return (_getRequireWildcardCache = function(nodeInterop) {
|
|
74
|
+
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
|
75
|
+
})(nodeInterop);
|
|
76
|
+
}
|
|
77
|
+
function _interopRequireWildcard(obj, nodeInterop) {
|
|
78
|
+
if (!nodeInterop && obj && obj.__esModule) {
|
|
63
79
|
return obj;
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
80
|
+
}
|
|
81
|
+
if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
|
|
82
|
+
return {
|
|
83
|
+
default: obj
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
var cache = _getRequireWildcardCache(nodeInterop);
|
|
87
|
+
if (cache && cache.has(obj)) {
|
|
88
|
+
return cache.get(obj);
|
|
89
|
+
}
|
|
90
|
+
var newObj = {};
|
|
91
|
+
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
92
|
+
for(var key in obj){
|
|
93
|
+
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
94
|
+
var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
|
|
95
|
+
if (desc && (desc.get || desc.set)) {
|
|
96
|
+
Object.defineProperty(newObj, key, desc);
|
|
97
|
+
} else {
|
|
98
|
+
newObj[key] = obj[key];
|
|
76
99
|
}
|
|
77
100
|
}
|
|
78
|
-
newObj.default = obj;
|
|
79
|
-
return newObj;
|
|
80
101
|
}
|
|
102
|
+
newObj.default = obj;
|
|
103
|
+
if (cache) {
|
|
104
|
+
cache.set(obj, newObj);
|
|
105
|
+
}
|
|
106
|
+
return newObj;
|
|
81
107
|
}
|
|
82
108
|
const PROJECT_PREBUILD_SETTINGS = ".expo/prebuild";
|
|
83
109
|
const CACHED_PACKAGE_JSON = "cached-packages.json";
|
|
@@ -99,27 +125,27 @@ function hasNewDependenciesSinceLastBuild(projectRoot, packageChecksums) {
|
|
|
99
125
|
}
|
|
100
126
|
function createPackageChecksums(pkg) {
|
|
101
127
|
return {
|
|
102
|
-
dependencies: (0, _updatePackageJson
|
|
103
|
-
devDependencies: (0, _updatePackageJson
|
|
128
|
+
dependencies: (0, _updatePackageJson.hashForDependencyMap)(pkg.dependencies || {}),
|
|
129
|
+
devDependencies: (0, _updatePackageJson.hashForDependencyMap)(pkg.devDependencies || {})
|
|
104
130
|
};
|
|
105
131
|
}
|
|
106
132
|
async function hasPackageJsonDependencyListChangedAsync(projectRoot) {
|
|
107
|
-
const pkg = _config().getPackageJson(projectRoot);
|
|
133
|
+
const pkg = (0, _config().getPackageJson)(projectRoot);
|
|
108
134
|
const packages = createPackageChecksums(pkg);
|
|
109
135
|
const hasNewDependencies = hasNewDependenciesSinceLastBuild(projectRoot, packages);
|
|
110
136
|
// Cache package.json
|
|
111
|
-
await (0, _dir
|
|
137
|
+
await (0, _dir.ensureDirectoryAsync)(getTempPrebuildFolder(projectRoot));
|
|
112
138
|
const templateDirectory = _path().default.join(getTempPrebuildFolder(projectRoot), CACHED_PACKAGE_JSON);
|
|
113
139
|
await _jsonFile().default.writeAsync(templateDirectory, packages);
|
|
114
140
|
return hasNewDependencies;
|
|
115
141
|
}
|
|
116
142
|
async function installCocoaPodsAsync(projectRoot) {
|
|
117
|
-
let step = (0, _ora
|
|
143
|
+
let step = (0, _ora.logNewSection)("Installing CocoaPods...");
|
|
118
144
|
if (process.platform !== "darwin") {
|
|
119
145
|
step.succeed("Skipped installing CocoaPods because operating system is not on macOS.");
|
|
120
146
|
return false;
|
|
121
147
|
}
|
|
122
|
-
const packageManager = new (
|
|
148
|
+
const packageManager = new (_packageManager()).CocoaPodsPackageManager({
|
|
123
149
|
cwd: _path().default.join(projectRoot, "ios"),
|
|
124
150
|
silent: !(_env.env.EXPO_DEBUG || _env.env.CI)
|
|
125
151
|
});
|
|
@@ -128,7 +154,7 @@ async function installCocoaPodsAsync(projectRoot) {
|
|
|
128
154
|
// prompt user -- do you want to install cocoapods right now?
|
|
129
155
|
step.text = "CocoaPods CLI not found in your PATH, installing it now.";
|
|
130
156
|
step.stopAndPersist();
|
|
131
|
-
await
|
|
157
|
+
await _packageManager().CocoaPodsPackageManager.installCLIAsync({
|
|
132
158
|
nonInteractive: true,
|
|
133
159
|
spawnOptions: {
|
|
134
160
|
...packageManager.options,
|
|
@@ -141,16 +167,16 @@ async function installCocoaPodsAsync(projectRoot) {
|
|
|
141
167
|
}
|
|
142
168
|
});
|
|
143
169
|
step.succeed("Installed CocoaPods CLI.");
|
|
144
|
-
step = (0, _ora
|
|
170
|
+
step = (0, _ora.logNewSection)("Running `pod install` in the `ios` directory.");
|
|
145
171
|
} catch (error) {
|
|
146
172
|
step.stopAndPersist({
|
|
147
|
-
symbol: "
|
|
173
|
+
symbol: "⚠️ ",
|
|
148
174
|
text: _chalk().default.red("Unable to install the CocoaPods CLI.")
|
|
149
175
|
});
|
|
150
|
-
if (error instanceof
|
|
151
|
-
|
|
176
|
+
if (error instanceof _packageManager().CocoaPodsError) {
|
|
177
|
+
_log.log(error.message);
|
|
152
178
|
} else {
|
|
153
|
-
|
|
179
|
+
_log.log(`Unknown error: ${error.message}`);
|
|
154
180
|
}
|
|
155
181
|
return false;
|
|
156
182
|
}
|
|
@@ -160,19 +186,18 @@ async function installCocoaPodsAsync(projectRoot) {
|
|
|
160
186
|
spinner: step
|
|
161
187
|
});
|
|
162
188
|
// Create cached list for later
|
|
163
|
-
await hasPackageJsonDependencyListChangedAsync(projectRoot).catch(()=>null
|
|
164
|
-
);
|
|
189
|
+
await hasPackageJsonDependencyListChangedAsync(projectRoot).catch(()=>null);
|
|
165
190
|
step.succeed("Installed CocoaPods");
|
|
166
191
|
return true;
|
|
167
|
-
} catch (
|
|
192
|
+
} catch (error1) {
|
|
168
193
|
step.stopAndPersist({
|
|
169
|
-
symbol: "
|
|
194
|
+
symbol: "⚠️ ",
|
|
170
195
|
text: _chalk().default.red("Something went wrong running `pod install` in the `ios` directory.")
|
|
171
196
|
});
|
|
172
|
-
if (
|
|
173
|
-
|
|
197
|
+
if (error1 instanceof _packageManager().CocoaPodsError) {
|
|
198
|
+
_log.log(error1.message);
|
|
174
199
|
} else {
|
|
175
|
-
|
|
200
|
+
_log.log(`Unknown error: ${error1.message}`);
|
|
176
201
|
}
|
|
177
202
|
return false;
|
|
178
203
|
}
|
|
@@ -207,8 +232,7 @@ async function maybePromptToSyncPodsAsync(projectRoot) {
|
|
|
207
232
|
}
|
|
208
233
|
async function promptToInstallPodsAsync(projectRoot, missingPods) {
|
|
209
234
|
if (missingPods == null ? void 0 : missingPods.length) {
|
|
210
|
-
|
|
211
|
-
).join(", ")}. Did you forget to run "${_chalk().default.bold("pod install")}" ?`);
|
|
235
|
+
_log.log(`Could not find the following native modules: ${missingPods.map((pod)=>_chalk().default.bold(pod)).join(", ")}. Did you forget to run "${_chalk().default.bold("pod install")}" ?`);
|
|
212
236
|
}
|
|
213
237
|
try {
|
|
214
238
|
if (!await installCocoaPodsAsync(projectRoot)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/utils/cocoapods.ts"],"sourcesContent":["import { getPackageJson, PackageJSONConfig } from '@expo/config';\nimport JsonFile from '@expo/json-file';\nimport * as PackageManager from '@expo/package-manager';\nimport chalk from 'chalk';\nimport fs from 'fs';\nimport path from 'path';\n\nimport { ensureDirectoryAsync } from './dir';\nimport { env } from './env';\nimport { AbortCommandError } from './errors';\nimport { logNewSection } from './ora';\nimport * as Log from '../log';\nimport { hashForDependencyMap } from '../prebuild/updatePackageJson';\n\ntype PackageChecksums = {\n /** checksum for the `package.json` dependency object. */\n dependencies: string;\n /** checksum for the `package.json` devDependency object. */\n devDependencies: string;\n};\n\nconst PROJECT_PREBUILD_SETTINGS = '.expo/prebuild';\nconst CACHED_PACKAGE_JSON = 'cached-packages.json';\n\nfunction getTempPrebuildFolder(projectRoot: string): string {\n return path.join(projectRoot, PROJECT_PREBUILD_SETTINGS);\n}\n\nfunction hasNewDependenciesSinceLastBuild(\n projectRoot: string,\n packageChecksums: PackageChecksums\n): boolean {\n // TODO: Maybe comparing lock files would be better...\n const templateDirectory = getTempPrebuildFolder(projectRoot);\n const tempPkgJsonPath = path.join(templateDirectory, CACHED_PACKAGE_JSON);\n if (!fs.existsSync(tempPkgJsonPath)) {\n return true;\n }\n const { dependencies, devDependencies } = JsonFile.read(tempPkgJsonPath);\n // Only change the dependencies if the normalized hash changes, this helps to reduce meaningless changes.\n const hasNewDependencies = packageChecksums.dependencies !== dependencies;\n const hasNewDevDependencies = packageChecksums.devDependencies !== devDependencies;\n\n return hasNewDependencies || hasNewDevDependencies;\n}\n\nfunction createPackageChecksums(pkg: PackageJSONConfig): PackageChecksums {\n return {\n dependencies: hashForDependencyMap(pkg.dependencies || {}),\n devDependencies: hashForDependencyMap(pkg.devDependencies || {}),\n };\n}\n\n/** @returns `true` if the package.json dependency hash does not match the cached hash from the last run. */\nexport async function hasPackageJsonDependencyListChangedAsync(\n projectRoot: string\n): Promise<boolean> {\n const pkg = getPackageJson(projectRoot);\n\n const packages = createPackageChecksums(pkg);\n const hasNewDependencies = hasNewDependenciesSinceLastBuild(projectRoot, packages);\n\n // Cache package.json\n await ensureDirectoryAsync(getTempPrebuildFolder(projectRoot));\n const templateDirectory = path.join(getTempPrebuildFolder(projectRoot), CACHED_PACKAGE_JSON);\n await JsonFile.writeAsync(templateDirectory, packages);\n\n return hasNewDependencies;\n}\n\nexport async function installCocoaPodsAsync(projectRoot: string): Promise<boolean> {\n let step = logNewSection('Installing CocoaPods...');\n if (process.platform !== 'darwin') {\n step.succeed('Skipped installing CocoaPods because operating system is not on macOS.');\n return false;\n }\n\n const packageManager = new PackageManager.CocoaPodsPackageManager({\n cwd: path.join(projectRoot, 'ios'),\n silent: !(env.EXPO_DEBUG || env.CI),\n });\n\n if (!(await packageManager.isCLIInstalledAsync())) {\n try {\n // prompt user -- do you want to install cocoapods right now?\n step.text = 'CocoaPods CLI not found in your PATH, installing it now.';\n step.stopAndPersist();\n await PackageManager.CocoaPodsPackageManager.installCLIAsync({\n nonInteractive: true,\n spawnOptions: {\n ...packageManager.options,\n // Don't silence this part\n stdio: ['inherit', 'inherit', 'pipe'],\n },\n });\n step.succeed('Installed CocoaPods CLI.');\n step = logNewSection('Running `pod install` in the `ios` directory.');\n } catch (error: any) {\n step.stopAndPersist({\n symbol: '⚠️ ',\n text: chalk.red('Unable to install the CocoaPods CLI.'),\n });\n if (error instanceof PackageManager.CocoaPodsError) {\n Log.log(error.message);\n } else {\n Log.log(`Unknown error: ${error.message}`);\n }\n return false;\n }\n }\n\n try {\n await packageManager.installAsync({ spinner: step });\n // Create cached list for later\n await hasPackageJsonDependencyListChangedAsync(projectRoot).catch(() => null);\n step.succeed('Installed CocoaPods');\n return true;\n } catch (error: any) {\n step.stopAndPersist({\n symbol: '⚠️ ',\n text: chalk.red('Something went wrong running `pod install` in the `ios` directory.'),\n });\n if (error instanceof PackageManager.CocoaPodsError) {\n Log.log(error.message);\n } else {\n Log.log(`Unknown error: ${error.message}`);\n }\n return false;\n }\n}\n\nfunction doesProjectUseCocoaPods(projectRoot: string): boolean {\n return fs.existsSync(path.join(projectRoot, 'ios', 'Podfile'));\n}\n\nfunction isLockfileCreated(projectRoot: string): boolean {\n const podfileLockPath = path.join(projectRoot, 'ios', 'Podfile.lock');\n return fs.existsSync(podfileLockPath);\n}\n\nfunction isPodFolderCreated(projectRoot: string): boolean {\n const podFolderPath = path.join(projectRoot, 'ios', 'Pods');\n return fs.existsSync(podFolderPath);\n}\n\n// TODO: Same process but with app.config changes + default plugins.\n// This will ensure the user is prompted for extra setup.\nexport async function maybePromptToSyncPodsAsync(projectRoot: string) {\n if (!doesProjectUseCocoaPods(projectRoot)) {\n // Project does not use CocoaPods\n return;\n }\n if (!isLockfileCreated(projectRoot) || !isPodFolderCreated(projectRoot)) {\n if (!(await installCocoaPodsAsync(projectRoot))) {\n throw new AbortCommandError();\n }\n return;\n }\n\n // Getting autolinked packages can be heavy, optimize around checking every time.\n if (!(await hasPackageJsonDependencyListChangedAsync(projectRoot))) {\n return;\n }\n\n await promptToInstallPodsAsync(projectRoot, []);\n}\n\nasync function promptToInstallPodsAsync(projectRoot: string, missingPods?: string[]) {\n if (missingPods?.length) {\n Log.log(\n `Could not find the following native modules: ${missingPods\n .map((pod) => chalk.bold(pod))\n .join(', ')}. Did you forget to run \"${chalk.bold('pod install')}\" ?`\n );\n }\n\n try {\n if (!(await installCocoaPodsAsync(projectRoot))) {\n throw new AbortCommandError();\n }\n } catch (error) {\n await fs.promises.rm(path.join(getTempPrebuildFolder(projectRoot), CACHED_PACKAGE_JSON), {\n recursive: true,\n force: true,\n });\n throw error;\n }\n}\n"],"names":["hasPackageJsonDependencyListChangedAsync","installCocoaPodsAsync","maybePromptToSyncPodsAsync","PackageManager","Log","PROJECT_PREBUILD_SETTINGS","CACHED_PACKAGE_JSON","getTempPrebuildFolder","projectRoot","path","join","hasNewDependenciesSinceLastBuild","packageChecksums","templateDirectory","tempPkgJsonPath","fs","existsSync","dependencies","devDependencies","JsonFile","read","hasNewDependencies","hasNewDevDependencies","createPackageChecksums","pkg","hashForDependencyMap","getPackageJson","packages","ensureDirectoryAsync","writeAsync","step","logNewSection","process","platform","succeed","packageManager","CocoaPodsPackageManager","cwd","silent","env","EXPO_DEBUG","CI","isCLIInstalledAsync","text","stopAndPersist","installCLIAsync","nonInteractive","spawnOptions","options","stdio","error","symbol","chalk","red","CocoaPodsError","log","message","installAsync","spinner","catch","doesProjectUseCocoaPods","isLockfileCreated","podfileLockPath","isPodFolderCreated","podFolderPath","AbortCommandError","promptToInstallPodsAsync","missingPods","length","map","pod","bold","promises","rm","recursive","force"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../src/utils/cocoapods.ts"],"sourcesContent":["import { getPackageJson, PackageJSONConfig } from '@expo/config';\nimport JsonFile from '@expo/json-file';\nimport * as PackageManager from '@expo/package-manager';\nimport chalk from 'chalk';\nimport fs from 'fs';\nimport path from 'path';\n\nimport { ensureDirectoryAsync } from './dir';\nimport { env } from './env';\nimport { AbortCommandError } from './errors';\nimport { logNewSection } from './ora';\nimport * as Log from '../log';\nimport { hashForDependencyMap } from '../prebuild/updatePackageJson';\n\ntype PackageChecksums = {\n /** checksum for the `package.json` dependency object. */\n dependencies: string;\n /** checksum for the `package.json` devDependency object. */\n devDependencies: string;\n};\n\nconst PROJECT_PREBUILD_SETTINGS = '.expo/prebuild';\nconst CACHED_PACKAGE_JSON = 'cached-packages.json';\n\nfunction getTempPrebuildFolder(projectRoot: string): string {\n return path.join(projectRoot, PROJECT_PREBUILD_SETTINGS);\n}\n\nfunction hasNewDependenciesSinceLastBuild(\n projectRoot: string,\n packageChecksums: PackageChecksums\n): boolean {\n // TODO: Maybe comparing lock files would be better...\n const templateDirectory = getTempPrebuildFolder(projectRoot);\n const tempPkgJsonPath = path.join(templateDirectory, CACHED_PACKAGE_JSON);\n if (!fs.existsSync(tempPkgJsonPath)) {\n return true;\n }\n const { dependencies, devDependencies } = JsonFile.read(tempPkgJsonPath);\n // Only change the dependencies if the normalized hash changes, this helps to reduce meaningless changes.\n const hasNewDependencies = packageChecksums.dependencies !== dependencies;\n const hasNewDevDependencies = packageChecksums.devDependencies !== devDependencies;\n\n return hasNewDependencies || hasNewDevDependencies;\n}\n\nfunction createPackageChecksums(pkg: PackageJSONConfig): PackageChecksums {\n return {\n dependencies: hashForDependencyMap(pkg.dependencies || {}),\n devDependencies: hashForDependencyMap(pkg.devDependencies || {}),\n };\n}\n\n/** @returns `true` if the package.json dependency hash does not match the cached hash from the last run. */\nexport async function hasPackageJsonDependencyListChangedAsync(\n projectRoot: string\n): Promise<boolean> {\n const pkg = getPackageJson(projectRoot);\n\n const packages = createPackageChecksums(pkg);\n const hasNewDependencies = hasNewDependenciesSinceLastBuild(projectRoot, packages);\n\n // Cache package.json\n await ensureDirectoryAsync(getTempPrebuildFolder(projectRoot));\n const templateDirectory = path.join(getTempPrebuildFolder(projectRoot), CACHED_PACKAGE_JSON);\n await JsonFile.writeAsync(templateDirectory, packages);\n\n return hasNewDependencies;\n}\n\nexport async function installCocoaPodsAsync(projectRoot: string): Promise<boolean> {\n let step = logNewSection('Installing CocoaPods...');\n if (process.platform !== 'darwin') {\n step.succeed('Skipped installing CocoaPods because operating system is not on macOS.');\n return false;\n }\n\n const packageManager = new PackageManager.CocoaPodsPackageManager({\n cwd: path.join(projectRoot, 'ios'),\n silent: !(env.EXPO_DEBUG || env.CI),\n });\n\n if (!(await packageManager.isCLIInstalledAsync())) {\n try {\n // prompt user -- do you want to install cocoapods right now?\n step.text = 'CocoaPods CLI not found in your PATH, installing it now.';\n step.stopAndPersist();\n await PackageManager.CocoaPodsPackageManager.installCLIAsync({\n nonInteractive: true,\n spawnOptions: {\n ...packageManager.options,\n // Don't silence this part\n stdio: ['inherit', 'inherit', 'pipe'],\n },\n });\n step.succeed('Installed CocoaPods CLI.');\n step = logNewSection('Running `pod install` in the `ios` directory.');\n } catch (error: any) {\n step.stopAndPersist({\n symbol: '⚠️ ',\n text: chalk.red('Unable to install the CocoaPods CLI.'),\n });\n if (error instanceof PackageManager.CocoaPodsError) {\n Log.log(error.message);\n } else {\n Log.log(`Unknown error: ${error.message}`);\n }\n return false;\n }\n }\n\n try {\n await packageManager.installAsync({ spinner: step });\n // Create cached list for later\n await hasPackageJsonDependencyListChangedAsync(projectRoot).catch(() => null);\n step.succeed('Installed CocoaPods');\n return true;\n } catch (error: any) {\n step.stopAndPersist({\n symbol: '⚠️ ',\n text: chalk.red('Something went wrong running `pod install` in the `ios` directory.'),\n });\n if (error instanceof PackageManager.CocoaPodsError) {\n Log.log(error.message);\n } else {\n Log.log(`Unknown error: ${error.message}`);\n }\n return false;\n }\n}\n\nfunction doesProjectUseCocoaPods(projectRoot: string): boolean {\n return fs.existsSync(path.join(projectRoot, 'ios', 'Podfile'));\n}\n\nfunction isLockfileCreated(projectRoot: string): boolean {\n const podfileLockPath = path.join(projectRoot, 'ios', 'Podfile.lock');\n return fs.existsSync(podfileLockPath);\n}\n\nfunction isPodFolderCreated(projectRoot: string): boolean {\n const podFolderPath = path.join(projectRoot, 'ios', 'Pods');\n return fs.existsSync(podFolderPath);\n}\n\n// TODO: Same process but with app.config changes + default plugins.\n// This will ensure the user is prompted for extra setup.\nexport async function maybePromptToSyncPodsAsync(projectRoot: string) {\n if (!doesProjectUseCocoaPods(projectRoot)) {\n // Project does not use CocoaPods\n return;\n }\n if (!isLockfileCreated(projectRoot) || !isPodFolderCreated(projectRoot)) {\n if (!(await installCocoaPodsAsync(projectRoot))) {\n throw new AbortCommandError();\n }\n return;\n }\n\n // Getting autolinked packages can be heavy, optimize around checking every time.\n if (!(await hasPackageJsonDependencyListChangedAsync(projectRoot))) {\n return;\n }\n\n await promptToInstallPodsAsync(projectRoot, []);\n}\n\nasync function promptToInstallPodsAsync(projectRoot: string, missingPods?: string[]) {\n if (missingPods?.length) {\n Log.log(\n `Could not find the following native modules: ${missingPods\n .map((pod) => chalk.bold(pod))\n .join(', ')}. Did you forget to run \"${chalk.bold('pod install')}\" ?`\n );\n }\n\n try {\n if (!(await installCocoaPodsAsync(projectRoot))) {\n throw new AbortCommandError();\n }\n } catch (error) {\n await fs.promises.rm(path.join(getTempPrebuildFolder(projectRoot), CACHED_PACKAGE_JSON), {\n recursive: true,\n force: true,\n });\n throw error;\n }\n}\n"],"names":["hasPackageJsonDependencyListChangedAsync","installCocoaPodsAsync","maybePromptToSyncPodsAsync","PROJECT_PREBUILD_SETTINGS","CACHED_PACKAGE_JSON","getTempPrebuildFolder","projectRoot","path","join","hasNewDependenciesSinceLastBuild","packageChecksums","templateDirectory","tempPkgJsonPath","fs","existsSync","dependencies","devDependencies","JsonFile","read","hasNewDependencies","hasNewDevDependencies","createPackageChecksums","pkg","hashForDependencyMap","getPackageJson","packages","ensureDirectoryAsync","writeAsync","step","logNewSection","process","platform","succeed","packageManager","PackageManager","CocoaPodsPackageManager","cwd","silent","env","EXPO_DEBUG","CI","isCLIInstalledAsync","text","stopAndPersist","installCLIAsync","nonInteractive","spawnOptions","options","stdio","error","symbol","chalk","red","CocoaPodsError","Log","log","message","installAsync","spinner","catch","doesProjectUseCocoaPods","isLockfileCreated","podfileLockPath","isPodFolderCreated","podFolderPath","AbortCommandError","promptToInstallPodsAsync","missingPods","length","map","pod","bold","promises","rm","recursive","force"],"mappings":"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"}
|