@expo/cli 1.0.0-canary-20250320-7a205d3 → 1.0.0-canary-20250402-161f57b
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/bin/cli +93 -91
- package/build/bin/cli.map +1 -1
- package/build/metro-require/require.js +53 -52
- package/build/src/api/endpoint.js +6 -2
- package/build/src/api/endpoint.js.map +1 -1
- package/build/src/api/getExpoGoIntermediateCertificate.js +5 -3
- package/build/src/api/getExpoGoIntermediateCertificate.js.map +1 -1
- package/build/src/api/getExpoSchema.js +16 -12
- package/build/src/api/getExpoSchema.js.map +1 -1
- package/build/src/api/getNativeModuleVersions.js +6 -4
- package/build/src/api/getNativeModuleVersions.js.map +1 -1
- package/build/src/api/getProjectDevelopmentCertificate.js +5 -3
- package/build/src/api/getProjectDevelopmentCertificate.js.map +1 -1
- package/build/src/api/getVersions.js +7 -5
- package/build/src/api/getVersions.js.map +1 -1
- package/build/src/api/graphql/client.js +32 -26
- package/build/src/api/graphql/client.js.map +1 -1
- package/build/src/api/graphql/queries/AppQuery.js +6 -4
- package/build/src/api/graphql/queries/AppQuery.js.map +1 -1
- package/build/src/api/graphql/queries/UserQuery.js +5 -3
- package/build/src/api/graphql/queries/UserQuery.js.map +1 -1
- package/build/src/api/graphql/types/App.js +3 -1
- package/build/src/api/graphql/types/App.js.map +1 -1
- package/build/src/api/rest/cache/FileSystemResponseCache.js +36 -32
- package/build/src/api/rest/cache/FileSystemResponseCache.js.map +1 -1
- package/build/src/api/rest/cache/ResponseCache.js +20 -12
- package/build/src/api/rest/cache/ResponseCache.js.map +1 -1
- package/build/src/api/rest/cache/wrapFetchWithCache.js +13 -11
- package/build/src/api/rest/cache/wrapFetchWithCache.js.map +1 -1
- package/build/src/api/rest/client.js +55 -37
- package/build/src/api/rest/client.js.map +1 -1
- package/build/src/api/rest/client.types.js.map +1 -1
- package/build/src/api/rest/wrapFetchWithBaseUrl.js +5 -3
- package/build/src/api/rest/wrapFetchWithBaseUrl.js.map +1 -1
- package/build/src/api/rest/wrapFetchWithOffline.js +5 -3
- package/build/src/api/rest/wrapFetchWithOffline.js.map +1 -1
- package/build/src/api/rest/wrapFetchWithProgress.js +11 -7
- package/build/src/api/rest/wrapFetchWithProgress.js.map +1 -1
- package/build/src/api/rest/wrapFetchWithProxy.js +5 -3
- package/build/src/api/rest/wrapFetchWithProxy.js.map +1 -1
- package/build/src/api/rest/wrapFetchWithUserAgent.js +8 -6
- package/build/src/api/rest/wrapFetchWithUserAgent.js.map +1 -1
- package/build/src/api/settings.js +7 -5
- package/build/src/api/settings.js.map +1 -1
- package/build/src/api/updateDevelopmentSession.js +23 -17
- package/build/src/api/updateDevelopmentSession.js.map +1 -1
- package/build/src/api/user/UserSettings.js +53 -31
- package/build/src/api/user/UserSettings.js.map +1 -1
- package/build/src/api/user/actions.js +27 -21
- package/build/src/api/user/actions.js.map +1 -1
- package/build/src/api/user/expoSsoLauncher.js +30 -26
- package/build/src/api/user/expoSsoLauncher.js.map +1 -1
- package/build/src/api/user/otp.js +35 -29
- package/build/src/api/user/otp.js.map +1 -1
- package/build/src/api/user/user.js +44 -30
- package/build/src/api/user/user.js.map +1 -1
- package/build/src/config/configAsync.js +29 -23
- package/build/src/config/configAsync.js.map +1 -1
- package/build/src/config/index.js +25 -21
- package/build/src/config/index.js.map +1 -1
- package/build/src/customize/customizeAsync.js +8 -6
- package/build/src/customize/customizeAsync.js.map +1 -1
- package/build/src/customize/generate.js +20 -16
- package/build/src/customize/generate.js.map +1 -1
- package/build/src/customize/index.js +14 -12
- package/build/src/customize/index.js.map +1 -1
- package/build/src/customize/resolveOptions.js +4 -2
- package/build/src/customize/resolveOptions.js.map +1 -1
- package/build/src/customize/templates.js +58 -54
- package/build/src/customize/templates.js.map +1 -1
- package/build/src/customize/typescript.js +11 -7
- package/build/src/customize/typescript.js.map +1 -1
- package/build/src/export/createMetadataJson.js +11 -9
- package/build/src/export/createMetadataJson.js.map +1 -1
- package/build/src/export/embed/exportEager.js +8 -6
- package/build/src/export/embed/exportEager.js.map +1 -1
- package/build/src/export/embed/exportEmbedAsync.js +72 -62
- package/build/src/export/embed/exportEmbedAsync.js.map +1 -1
- package/build/src/export/embed/exportServer.js +57 -55
- package/build/src/export/embed/exportServer.js.map +1 -1
- package/build/src/export/embed/index.js +44 -40
- package/build/src/export/embed/index.js.map +1 -1
- package/build/src/export/embed/resolveOptions.js +44 -36
- package/build/src/export/embed/resolveOptions.js.map +1 -1
- package/build/src/export/embed/xcodeCompilerLogger.js +39 -27
- package/build/src/export/embed/xcodeCompilerLogger.js.map +1 -1
- package/build/src/export/exportApp.js +68 -64
- package/build/src/export/exportApp.js.map +1 -1
- package/build/src/export/exportAssets.js +34 -26
- package/build/src/export/exportAssets.js.map +1 -1
- package/build/src/export/exportAsync.js +13 -9
- package/build/src/export/exportAsync.js.map +1 -1
- package/build/src/export/exportDomComponents.js +53 -45
- package/build/src/export/exportDomComponents.js.map +1 -1
- package/build/src/export/exportHermes.js +75 -53
- package/build/src/export/exportHermes.js.map +1 -1
- package/build/src/export/exportStaticAsync.js +73 -62
- package/build/src/export/exportStaticAsync.js.map +1 -1
- package/build/src/export/favicon.js +33 -27
- package/build/src/export/favicon.js.map +1 -1
- package/build/src/export/getPublicExpoManifest.js +7 -5
- package/build/src/export/getPublicExpoManifest.js.map +1 -1
- package/build/src/export/getResolvedLocales.js +11 -9
- package/build/src/export/getResolvedLocales.js.map +1 -1
- package/build/src/export/html.js +10 -6
- package/build/src/export/html.js.map +1 -1
- package/build/src/export/index.js +32 -28
- package/build/src/export/index.js.map +1 -1
- package/build/src/export/metroAssetLocalPath.js +36 -30
- package/build/src/export/metroAssetLocalPath.js.map +1 -1
- package/build/src/export/persistMetroAssets.js +64 -34
- package/build/src/export/persistMetroAssets.js.map +1 -1
- package/build/src/export/publicFolder.js +10 -6
- package/build/src/export/publicFolder.js.map +1 -1
- package/build/src/export/resolveOptions.js +28 -24
- package/build/src/export/resolveOptions.js.map +1 -1
- package/build/src/export/saveAssets.js +50 -46
- package/build/src/export/saveAssets.js.map +1 -1
- package/build/src/export/web/exportWebAsync.js +13 -11
- package/build/src/export/web/exportWebAsync.js.map +1 -1
- package/build/src/export/web/index.js +19 -15
- package/build/src/export/web/index.js.map +1 -1
- package/build/src/export/web/resolveOptions.js +5 -3
- package/build/src/export/web/resolveOptions.js.map +1 -1
- package/build/src/export/writeContents.js +4 -2
- package/build/src/export/writeContents.js.map +1 -1
- package/build/src/graphql/generated.js +705 -479
- package/build/src/graphql/generated.js.map +1 -1
- package/build/src/install/applyPlugins.js +11 -7
- package/build/src/install/applyPlugins.js.map +1 -1
- package/build/src/install/checkPackages.js +26 -22
- package/build/src/install/checkPackages.js.map +1 -1
- package/build/src/install/fixPackages.js +16 -12
- package/build/src/install/fixPackages.js.map +1 -1
- package/build/src/install/index.js +18 -16
- package/build/src/install/index.js.map +1 -1
- package/build/src/install/installAsync.js +32 -26
- package/build/src/install/installAsync.js.map +1 -1
- package/build/src/install/installExpoPackage.js +22 -18
- package/build/src/install/installExpoPackage.js.map +1 -1
- package/build/src/install/resolveOptions.js +21 -19
- package/build/src/install/resolveOptions.js.map +1 -1
- package/build/src/install/utils/autoAddConfigPlugins.js +18 -14
- package/build/src/install/utils/autoAddConfigPlugins.js.map +1 -1
- package/build/src/install/utils/checkPackagesCompatibility.js +14 -12
- package/build/src/install/utils/checkPackagesCompatibility.js.map +1 -1
- package/build/src/lint/ESlintPrerequisite.js +50 -44
- package/build/src/lint/ESlintPrerequisite.js.map +1 -1
- package/build/src/lint/index.js +12 -8
- package/build/src/lint/index.js.map +1 -1
- package/build/src/lint/lintAsync.js +10 -8
- package/build/src/lint/lintAsync.js.map +1 -1
- package/build/src/log.js +36 -16
- package/build/src/log.js.map +1 -1
- package/build/src/login/index.js +24 -20
- package/build/src/login/index.js.map +1 -1
- package/build/src/logout/index.js +11 -7
- package/build/src/logout/index.js.map +1 -1
- package/build/src/prebuild/clearNativeFolder.js +38 -26
- package/build/src/prebuild/clearNativeFolder.js.map +1 -1
- package/build/src/prebuild/configureProjectAsync.js +18 -14
- package/build/src/prebuild/configureProjectAsync.js.map +1 -1
- package/build/src/prebuild/copyTemplateFiles.js +17 -13
- package/build/src/prebuild/copyTemplateFiles.js.map +1 -1
- package/build/src/prebuild/ensureConfigAsync.js +6 -4
- package/build/src/prebuild/ensureConfigAsync.js.map +1 -1
- package/build/src/prebuild/index.js +36 -32
- package/build/src/prebuild/index.js.map +1 -1
- package/build/src/prebuild/prebuildAsync.js +29 -25
- package/build/src/prebuild/prebuildAsync.js.map +1 -1
- package/build/src/prebuild/renameTemplateAppName.js +43 -37
- package/build/src/prebuild/renameTemplateAppName.js.map +1 -1
- package/build/src/prebuild/resolveOptions.js +70 -53
- package/build/src/prebuild/resolveOptions.js.map +1 -1
- package/build/src/prebuild/resolveTemplate.js +36 -32
- package/build/src/prebuild/resolveTemplate.js.map +1 -1
- package/build/src/prebuild/updateFromTemplate.js +19 -13
- package/build/src/prebuild/updateFromTemplate.js.map +1 -1
- package/build/src/prebuild/updatePackageJson.js +53 -39
- package/build/src/prebuild/updatePackageJson.js.map +1 -1
- package/build/src/prebuild/validateTemplatePlatforms.js +12 -8
- package/build/src/prebuild/validateTemplatePlatforms.js.map +1 -1
- package/build/src/register/index.js +11 -7
- package/build/src/register/index.js.map +1 -1
- package/build/src/register/registerAsync.js +5 -3
- package/build/src/register/registerAsync.js.map +1 -1
- package/build/src/run/android/index.js +36 -32
- package/build/src/run/android/index.js.map +1 -1
- package/build/src/run/android/resolveDevice.js +10 -8
- package/build/src/run/android/resolveDevice.js.map +1 -1
- package/build/src/run/android/resolveGradlePropsAsync.js +18 -16
- package/build/src/run/android/resolveGradlePropsAsync.js.map +1 -1
- package/build/src/run/android/resolveInstallApkName.js +17 -15
- package/build/src/run/android/resolveInstallApkName.js.map +1 -1
- package/build/src/run/android/resolveLaunchProps.js +12 -10
- package/build/src/run/android/resolveLaunchProps.js.map +1 -1
- package/build/src/run/android/resolveOptions.js +4 -2
- package/build/src/run/android/resolveOptions.js.map +1 -1
- package/build/src/run/android/runAndroidAsync.js +23 -21
- package/build/src/run/android/runAndroidAsync.js.map +1 -1
- package/build/src/run/ensureNativeProject.js +7 -5
- package/build/src/run/ensureNativeProject.js.map +1 -1
- package/build/src/run/hints.js +13 -7
- package/build/src/run/hints.js.map +1 -1
- package/build/src/run/index.js +27 -23
- package/build/src/run/index.js.map +1 -1
- package/build/src/run/ios/XcodeBuild.js +80 -60
- package/build/src/run/ios/XcodeBuild.js.map +1 -1
- package/build/src/run/ios/XcodeBuild.types.js.map +1 -1
- package/build/src/run/ios/appleDevice/AppleDevice.js +69 -63
- package/build/src/run/ios/appleDevice/AppleDevice.js.map +1 -1
- package/build/src/run/ios/appleDevice/ClientManager.js +29 -26
- package/build/src/run/ios/appleDevice/ClientManager.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/AFCClient.js +28 -25
- package/build/src/run/ios/appleDevice/client/AFCClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/DebugserverClient.js +29 -26
- package/build/src/run/ios/appleDevice/client/DebugserverClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/InstallationProxyClient.js +22 -21
- package/build/src/run/ios/appleDevice/client/InstallationProxyClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/LockdowndClient.js +32 -29
- package/build/src/run/ios/appleDevice/client/LockdowndClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/MobileImageMounterClient.js +28 -24
- package/build/src/run/ios/appleDevice/client/MobileImageMounterClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/ServiceClient.js +7 -4
- package/build/src/run/ios/appleDevice/client/ServiceClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/UsbmuxdClient.js +28 -27
- package/build/src/run/ios/appleDevice/client/UsbmuxdClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/installOnDeviceAsync.js +23 -17
- package/build/src/run/ios/appleDevice/installOnDeviceAsync.js.map +1 -1
- package/build/src/run/ios/appleDevice/protocol/AFCProtocol.js +146 -132
- package/build/src/run/ios/appleDevice/protocol/AFCProtocol.js.map +1 -1
- package/build/src/run/ios/appleDevice/protocol/AbstractProtocol.js +29 -21
- package/build/src/run/ios/appleDevice/protocol/AbstractProtocol.js.map +1 -1
- package/build/src/run/ios/appleDevice/protocol/GDBProtocol.js +29 -21
- package/build/src/run/ios/appleDevice/protocol/GDBProtocol.js.map +1 -1
- package/build/src/run/ios/appleDevice/protocol/LockdownProtocol.js +34 -22
- package/build/src/run/ios/appleDevice/protocol/LockdownProtocol.js.map +1 -1
- package/build/src/run/ios/appleDevice/protocol/UsbmuxProtocol.js +27 -17
- package/build/src/run/ios/appleDevice/protocol/UsbmuxProtocol.js.map +1 -1
- package/build/src/run/ios/codeSigning/Security.js +53 -39
- package/build/src/run/ios/codeSigning/Security.js.map +1 -1
- package/build/src/run/ios/codeSigning/configureCodeSigning.js +13 -9
- package/build/src/run/ios/codeSigning/configureCodeSigning.js.map +1 -1
- package/build/src/run/ios/codeSigning/resolveCertificateSigningIdentity.js +27 -19
- package/build/src/run/ios/codeSigning/resolveCertificateSigningIdentity.js.map +1 -1
- package/build/src/run/ios/codeSigning/settings.js +9 -5
- package/build/src/run/ios/codeSigning/settings.js.map +1 -1
- package/build/src/run/ios/codeSigning/simulatorCodeSigning.js +14 -12
- package/build/src/run/ios/codeSigning/simulatorCodeSigning.js.map +1 -1
- package/build/src/run/ios/codeSigning/xcodeCodeSigning.js +27 -21
- package/build/src/run/ios/codeSigning/xcodeCodeSigning.js.map +1 -1
- package/build/src/run/ios/index.js +40 -36
- package/build/src/run/ios/index.js.map +1 -1
- package/build/src/run/ios/launchApp.js +23 -17
- package/build/src/run/ios/launchApp.js.map +1 -1
- package/build/src/run/ios/options/appleDestinations.js +38 -36
- package/build/src/run/ios/options/appleDestinations.js.map +1 -1
- package/build/src/run/ios/options/promptDevice.js +20 -16
- package/build/src/run/ios/options/promptDevice.js.map +1 -1
- package/build/src/run/ios/options/resolveDevice.js +30 -24
- package/build/src/run/ios/options/resolveDevice.js.map +1 -1
- package/build/src/run/ios/options/resolveNativeScheme.js +31 -23
- package/build/src/run/ios/options/resolveNativeScheme.js.map +1 -1
- package/build/src/run/ios/options/resolveOptions.js +7 -5
- package/build/src/run/ios/options/resolveOptions.js.map +1 -1
- package/build/src/run/ios/options/resolveXcodeProject.js +7 -5
- package/build/src/run/ios/options/resolveXcodeProject.js.map +1 -1
- package/build/src/run/ios/runIosAsync.js +48 -44
- package/build/src/run/ios/runIosAsync.js.map +1 -1
- package/build/src/run/ios/validateExternalBinary.js +24 -22
- package/build/src/run/ios/validateExternalBinary.js.map +1 -1
- package/build/src/run/resolveBundlerProps.js +4 -2
- package/build/src/run/resolveBundlerProps.js.map +1 -1
- package/build/src/run/startBundler.js +16 -12
- package/build/src/run/startBundler.js.map +1 -1
- package/build/src/serve/index.js +20 -16
- package/build/src/serve/index.js.map +1 -1
- package/build/src/serve/serveAsync.js +36 -32
- package/build/src/serve/serveAsync.js.map +1 -1
- package/build/src/start/detectDevClient.js +13 -9
- package/build/src/start/detectDevClient.js.map +1 -1
- package/build/src/start/doctor/Prerequisite.js +12 -7
- package/build/src/start/doctor/Prerequisite.js.map +1 -1
- package/build/src/start/doctor/SecurityBinPrerequisite.js +13 -11
- package/build/src/start/doctor/SecurityBinPrerequisite.js.map +1 -1
- package/build/src/start/doctor/apple/SimulatorAppPrerequisite.js +23 -19
- package/build/src/start/doctor/apple/SimulatorAppPrerequisite.js.map +1 -1
- package/build/src/start/doctor/apple/XcodeDeveloperDiskImagePrerequisite.js +23 -19
- package/build/src/start/doctor/apple/XcodeDeveloperDiskImagePrerequisite.js.map +1 -1
- package/build/src/start/doctor/apple/XcodePrerequisite.js +51 -45
- package/build/src/start/doctor/apple/XcodePrerequisite.js.map +1 -1
- package/build/src/start/doctor/apple/XcrunPrerequisite.js +18 -16
- package/build/src/start/doctor/apple/XcrunPrerequisite.js.map +1 -1
- package/build/src/start/doctor/dependencies/bundledNativeModules.js +23 -19
- package/build/src/start/doctor/dependencies/bundledNativeModules.js.map +1 -1
- package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js +31 -25
- package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js.map +1 -1
- package/build/src/start/doctor/dependencies/getMissingPackages.js +25 -17
- package/build/src/start/doctor/dependencies/getMissingPackages.js.map +1 -1
- package/build/src/start/doctor/dependencies/getVersionedPackages.js +40 -32
- package/build/src/start/doctor/dependencies/getVersionedPackages.js.map +1 -1
- package/build/src/start/doctor/dependencies/resolvePackages.js +32 -26
- package/build/src/start/doctor/dependencies/resolvePackages.js.map +1 -1
- package/build/src/start/doctor/dependencies/validateDependenciesVersions.js +41 -31
- package/build/src/start/doctor/dependencies/validateDependenciesVersions.js.map +1 -1
- package/build/src/start/doctor/ngrok/ExternalModule.js +34 -29
- package/build/src/start/doctor/ngrok/ExternalModule.js.map +1 -1
- package/build/src/start/doctor/ngrok/NgrokResolver.js +12 -8
- package/build/src/start/doctor/ngrok/NgrokResolver.js.map +1 -1
- package/build/src/start/doctor/typescript/TypeScriptProjectPrerequisite.js +32 -28
- package/build/src/start/doctor/typescript/TypeScriptProjectPrerequisite.js.map +1 -1
- package/build/src/start/doctor/typescript/updateTSConfig.js +23 -17
- package/build/src/start/doctor/typescript/updateTSConfig.js.map +1 -1
- package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js +33 -27
- package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js.map +1 -1
- package/build/src/start/index.js +46 -42
- package/build/src/start/index.js.map +1 -1
- package/build/src/start/interface/KeyPressHandler.js +18 -14
- package/build/src/start/interface/KeyPressHandler.js.map +1 -1
- package/build/src/start/interface/commandsTable.js +94 -80
- package/build/src/start/interface/commandsTable.js.map +1 -1
- package/build/src/start/interface/interactiveActions.js +44 -40
- package/build/src/start/interface/interactiveActions.js.map +1 -1
- package/build/src/start/interface/startInterface.js +65 -61
- package/build/src/start/interface/startInterface.js.map +1 -1
- package/build/src/start/platforms/AppIdResolver.js +6 -4
- package/build/src/start/platforms/AppIdResolver.js.map +1 -1
- package/build/src/start/platforms/DeviceManager.js +10 -6
- package/build/src/start/platforms/DeviceManager.js.map +1 -1
- package/build/src/start/platforms/ExpoGoInstaller.js +25 -20
- package/build/src/start/platforms/ExpoGoInstaller.js.map +1 -1
- package/build/src/start/platforms/PlatformManager.js +17 -15
- package/build/src/start/platforms/PlatformManager.js.map +1 -1
- package/build/src/start/platforms/android/ADBServer.js +39 -35
- package/build/src/start/platforms/android/ADBServer.js.map +1 -1
- package/build/src/start/platforms/android/AndroidAppIdResolver.js +18 -16
- package/build/src/start/platforms/android/AndroidAppIdResolver.js.map +1 -1
- package/build/src/start/platforms/android/AndroidDeviceManager.js +24 -20
- package/build/src/start/platforms/android/AndroidDeviceManager.js.map +1 -1
- package/build/src/start/platforms/android/AndroidPlatformManager.js +17 -17
- package/build/src/start/platforms/android/AndroidPlatformManager.js.map +1 -1
- package/build/src/start/platforms/android/AndroidSdk.js +11 -9
- package/build/src/start/platforms/android/AndroidSdk.js.map +1 -1
- package/build/src/start/platforms/android/activateWindow.js +26 -22
- package/build/src/start/platforms/android/activateWindow.js.map +1 -1
- package/build/src/start/platforms/android/adb.js +121 -83
- package/build/src/start/platforms/android/adb.js.map +1 -1
- package/build/src/start/platforms/android/adbReverse.js +20 -12
- package/build/src/start/platforms/android/adbReverse.js.map +1 -1
- package/build/src/start/platforms/android/emulator.js +36 -26
- package/build/src/start/platforms/android/emulator.js.map +1 -1
- package/build/src/start/platforms/android/getDevices.js +7 -5
- package/build/src/start/platforms/android/getDevices.js.map +1 -1
- package/build/src/start/platforms/android/gradle.js +36 -28
- package/build/src/start/platforms/android/gradle.js.map +1 -1
- package/build/src/start/platforms/android/promptAndroidDevice.js +19 -15
- package/build/src/start/platforms/android/promptAndroidDevice.js.map +1 -1
- package/build/src/start/platforms/ios/AppleAppIdResolver.js +21 -19
- package/build/src/start/platforms/ios/AppleAppIdResolver.js.map +1 -1
- package/build/src/start/platforms/ios/AppleDeviceManager.js +37 -31
- package/build/src/start/platforms/ios/AppleDeviceManager.js.map +1 -1
- package/build/src/start/platforms/ios/ApplePlatformManager.js +12 -12
- package/build/src/start/platforms/ios/ApplePlatformManager.js.map +1 -1
- package/build/src/start/platforms/ios/assertSystemRequirements.js +9 -7
- package/build/src/start/platforms/ios/assertSystemRequirements.js.map +1 -1
- package/build/src/start/platforms/ios/devicectl.js +88 -74
- package/build/src/start/platforms/ios/devicectl.js.map +1 -1
- package/build/src/start/platforms/ios/ensureSimulatorAppRunning.js +22 -18
- package/build/src/start/platforms/ios/ensureSimulatorAppRunning.js.map +1 -1
- package/build/src/start/platforms/ios/getBestSimulator.js +29 -19
- package/build/src/start/platforms/ios/getBestSimulator.js.map +1 -1
- package/build/src/start/platforms/ios/promptAppleDevice.js +14 -10
- package/build/src/start/platforms/ios/promptAppleDevice.js.map +1 -1
- package/build/src/start/platforms/ios/simctl.js +102 -74
- package/build/src/start/platforms/ios/simctl.js.map +1 -1
- package/build/src/start/platforms/ios/simctlLogging.js +57 -52
- package/build/src/start/platforms/ios/simctlLogging.js.map +1 -1
- package/build/src/start/platforms/ios/xcrun.js +22 -18
- package/build/src/start/platforms/ios/xcrun.js.map +1 -1
- package/build/src/start/project/devices.js +19 -9
- package/build/src/start/project/devices.js.map +1 -1
- package/build/src/start/project/dotExpo.js +15 -11
- package/build/src/start/project/dotExpo.js.map +1 -1
- package/build/src/start/project/settings.js +4 -2
- package/build/src/start/project/settings.js.map +1 -1
- package/build/src/start/resolveOptions.js +48 -40
- package/build/src/start/resolveOptions.js.map +1 -1
- package/build/src/start/server/AsyncNgrok.js +55 -51
- package/build/src/start/server/AsyncNgrok.js.map +1 -1
- package/build/src/start/server/AsyncWsTunnel.js +37 -33
- package/build/src/start/server/AsyncWsTunnel.js.map +1 -1
- package/build/src/start/server/BundlerDevServer.js +81 -79
- package/build/src/start/server/BundlerDevServer.js.map +1 -1
- package/build/src/start/server/DevServerManager.js +42 -38
- package/build/src/start/server/DevServerManager.js.map +1 -1
- package/build/src/start/server/DevToolsPluginManager.js +18 -14
- package/build/src/start/server/DevToolsPluginManager.js.map +1 -1
- package/build/src/start/server/DevelopmentSession.js +18 -14
- package/build/src/start/server/DevelopmentSession.js.map +1 -1
- package/build/src/start/server/ReactDevToolsProxy.js +16 -10
- package/build/src/start/server/ReactDevToolsProxy.js.map +1 -1
- package/build/src/start/server/UrlCreator.js +36 -33
- package/build/src/start/server/UrlCreator.js.map +1 -1
- package/build/src/start/server/getStaticRenderFunctions.js +30 -22
- package/build/src/start/server/getStaticRenderFunctions.js.map +1 -1
- package/build/src/start/server/metro/DevToolsPluginWebsocketEndpoint.js +9 -5
- package/build/src/start/server/metro/DevToolsPluginWebsocketEndpoint.js.map +1 -1
- package/build/src/start/server/metro/MetroBundlerDevServer.js +293 -280
- package/build/src/start/server/metro/MetroBundlerDevServer.js.map +1 -1
- package/build/src/start/server/metro/MetroTerminalReporter.js +63 -56
- package/build/src/start/server/metro/MetroTerminalReporter.js.map +1 -1
- package/build/src/start/server/metro/TerminalReporter.js +39 -33
- package/build/src/start/server/metro/TerminalReporter.js.map +1 -1
- package/build/src/start/server/metro/TerminalReporter.types.js.map +1 -1
- package/build/src/start/server/metro/createExpoFallbackResolver.js +13 -11
- package/build/src/start/server/metro/createExpoFallbackResolver.js.map +1 -1
- package/build/src/start/server/metro/createExpoMetroResolver.js +47 -41
- package/build/src/start/server/metro/createExpoMetroResolver.js.map +1 -1
- package/build/src/start/server/metro/createJResolver.js +31 -27
- package/build/src/start/server/metro/createJResolver.js.map +1 -1
- package/build/src/start/server/metro/createServerComponentsMiddleware.js +110 -98
- package/build/src/start/server/metro/createServerComponentsMiddleware.js.map +1 -1
- package/build/src/start/server/metro/createServerRouteMiddleware.js +34 -30
- package/build/src/start/server/metro/createServerRouteMiddleware.js.map +1 -1
- package/build/src/start/server/metro/debugging/AtlasPrerequisite.js +13 -11
- package/build/src/start/server/metro/debugging/AtlasPrerequisite.js.map +1 -1
- package/build/src/start/server/metro/debugging/MessageHandler.js +3 -1
- package/build/src/start/server/metro/debugging/MessageHandler.js.map +1 -1
- package/build/src/start/server/metro/debugging/attachAtlas.js +26 -22
- package/build/src/start/server/metro/debugging/attachAtlas.js.map +1 -1
- package/build/src/start/server/metro/debugging/createDebugMiddleware.js +19 -17
- package/build/src/start/server/metro/debugging/createDebugMiddleware.js.map +1 -1
- package/build/src/start/server/metro/debugging/createHandlersFactory.js +25 -31
- package/build/src/start/server/metro/debugging/createHandlersFactory.js.map +1 -1
- package/build/src/start/server/metro/debugging/getDebuggerType.js +6 -4
- package/build/src/start/server/metro/debugging/getDebuggerType.js.map +1 -1
- package/build/src/start/server/metro/debugging/messageHandlers/NetworkResponse.js +14 -8
- package/build/src/start/server/metro/debugging/messageHandlers/NetworkResponse.js.map +1 -1
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerGetPossibleBreakpoints.js +7 -5
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerGetPossibleBreakpoints.js.map +1 -1
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerSetBreakpointByUrl.js +8 -6
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerSetBreakpointByUrl.js.map +1 -1
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeCallFunctionOn.js +7 -5
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeCallFunctionOn.js.map +1 -1
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeEvaluate.js +14 -12
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeEvaluate.js.map +1 -1
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeGetProperties.js +14 -10
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeGetProperties.js.map +1 -1
- package/build/src/start/server/metro/debugging/pageIsSupported.js +6 -4
- package/build/src/start/server/metro/debugging/pageIsSupported.js.map +1 -1
- package/build/src/start/server/metro/debugging/types.js.map +1 -1
- package/build/src/start/server/metro/dev-server/createEventSocket.js +18 -16
- package/build/src/start/server/metro/dev-server/createEventSocket.js.map +1 -1
- package/build/src/start/server/metro/dev-server/createMessageSocket.js +23 -21
- package/build/src/start/server/metro/dev-server/createMessageSocket.js.map +1 -1
- package/build/src/start/server/metro/dev-server/createMetroMiddleware.js +23 -21
- package/build/src/start/server/metro/dev-server/createMetroMiddleware.js.map +1 -1
- package/build/src/start/server/metro/dev-server/utils/createSocketBroadcaster.js +4 -2
- package/build/src/start/server/metro/dev-server/utils/createSocketBroadcaster.js.map +1 -1
- package/build/src/start/server/metro/dev-server/utils/createSocketMap.js +4 -2
- package/build/src/start/server/metro/dev-server/utils/createSocketMap.js.map +1 -1
- package/build/src/start/server/metro/dev-server/utils/socketMessages.js +8 -4
- package/build/src/start/server/metro/dev-server/utils/socketMessages.js.map +1 -1
- package/build/src/start/server/metro/externals.js +33 -25
- package/build/src/start/server/metro/externals.js.map +1 -1
- package/build/src/start/server/metro/fetchRouterManifest.js +28 -12
- package/build/src/start/server/metro/fetchRouterManifest.js.map +1 -1
- package/build/src/start/server/metro/formatFileCandidates.js +11 -9
- package/build/src/start/server/metro/formatFileCandidates.js.map +1 -1
- package/build/src/start/server/metro/getCssModulesFromBundler.js +24 -20
- package/build/src/start/server/metro/getCssModulesFromBundler.js.map +1 -1
- package/build/src/start/server/metro/instantiateMetro.js +87 -81
- package/build/src/start/server/metro/instantiateMetro.js.map +1 -1
- package/build/src/start/server/metro/log-box/LogBoxLog.js +40 -36
- package/build/src/start/server/metro/log-box/LogBoxLog.js.map +1 -1
- package/build/src/start/server/metro/log-box/LogBoxSymbolication.js +20 -14
- package/build/src/start/server/metro/log-box/LogBoxSymbolication.js.map +1 -1
- package/build/src/start/server/metro/log-box/formatProjectFilePath.js +10 -6
- package/build/src/start/server/metro/log-box/formatProjectFilePath.js.map +1 -1
- package/build/src/start/server/metro/metroErrorInterface.js +88 -78
- package/build/src/start/server/metro/metroErrorInterface.js.map +1 -1
- package/build/src/start/server/metro/metroErrors.js +8 -4
- package/build/src/start/server/metro/metroErrors.js.map +1 -1
- package/build/src/start/server/metro/metroPrivateServer.js +9 -7
- package/build/src/start/server/metro/metroPrivateServer.js.map +1 -1
- package/build/src/start/server/metro/metroVirtualModules.js +10 -8
- package/build/src/start/server/metro/metroVirtualModules.js.map +1 -1
- package/build/src/start/server/metro/metroWatchTypeScriptFiles.js +24 -22
- package/build/src/start/server/metro/metroWatchTypeScriptFiles.js.map +1 -1
- package/build/src/start/server/metro/router.js +48 -32
- package/build/src/start/server/metro/router.js.map +1 -1
- package/build/src/start/server/metro/runServer-fork.js +24 -22
- package/build/src/start/server/metro/runServer-fork.js.map +1 -1
- package/build/src/start/server/metro/serializeHtml.js +24 -22
- package/build/src/start/server/metro/serializeHtml.js.map +1 -1
- package/build/src/start/server/metro/symbolicate.js.map +1 -1
- package/build/src/start/server/metro/waitForMetroToObserveTypeScriptFile.js +35 -29
- package/build/src/start/server/metro/waitForMetroToObserveTypeScriptFile.js.map +1 -1
- package/build/src/start/server/metro/withMetroMultiPlatform.js +150 -140
- package/build/src/start/server/metro/withMetroMultiPlatform.js.map +1 -1
- package/build/src/start/server/metro/withMetroResolvers.js +49 -39
- package/build/src/start/server/metro/withMetroResolvers.js.map +1 -1
- package/build/src/start/server/middleware/ContextModuleSourceMapsMiddleware.js +8 -6
- package/build/src/start/server/middleware/ContextModuleSourceMapsMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/CorsMiddleware.js +17 -15
- package/build/src/start/server/middleware/CorsMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/CreateFileMiddleware.js +32 -31
- package/build/src/start/server/middleware/CreateFileMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/DevToolsPluginMiddleware.js +22 -19
- package/build/src/start/server/middleware/DevToolsPluginMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/DomComponentsMiddleware.js +33 -27
- package/build/src/start/server/middleware/DomComponentsMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js +61 -57
- package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/ExpoMiddleware.js +15 -9
- package/build/src/start/server/middleware/ExpoMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/FaviconMiddleware.js +16 -15
- package/build/src/start/server/middleware/FaviconMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/HistoryFallbackMiddleware.js +4 -2
- package/build/src/start/server/middleware/HistoryFallbackMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/InterstitialPageMiddleware.js +34 -31
- package/build/src/start/server/middleware/InterstitialPageMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/ManifestMiddleware.js +64 -56
- package/build/src/start/server/middleware/ManifestMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/ReactDevToolsPageMiddleware.js +23 -19
- package/build/src/start/server/middleware/ReactDevToolsPageMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js +20 -19
- package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/ServeStaticMiddleware.js +11 -9
- package/build/src/start/server/middleware/ServeStaticMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/createBuiltinAPIRequestHandler.js +17 -11
- package/build/src/start/server/middleware/createBuiltinAPIRequestHandler.js.map +1 -1
- package/build/src/start/server/middleware/inspector/CdpClient.js +12 -10
- package/build/src/start/server/middleware/inspector/CdpClient.js.map +1 -1
- package/build/src/start/server/middleware/inspector/JsInspector.js +35 -27
- package/build/src/start/server/middleware/inspector/JsInspector.js.map +1 -1
- package/build/src/start/server/middleware/inspector/createJsInspectorMiddleware.js +21 -19
- package/build/src/start/server/middleware/inspector/createJsInspectorMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/inspector/middlwareMutations.js +6 -2
- package/build/src/start/server/middleware/inspector/middlwareMutations.js.map +1 -1
- package/build/src/start/server/middleware/metroOptions.js +120 -96
- package/build/src/start/server/middleware/metroOptions.js.map +1 -1
- package/build/src/start/server/middleware/mutations.js +7 -3
- package/build/src/start/server/middleware/mutations.js.map +1 -1
- package/build/src/start/server/middleware/resolveAssets.js +26 -18
- package/build/src/start/server/middleware/resolveAssets.js.map +1 -1
- package/build/src/start/server/middleware/resolvePlatform.js +23 -15
- package/build/src/start/server/middleware/resolvePlatform.js.map +1 -1
- package/build/src/start/server/middleware/resolveRuntimeVersionWithExpoUpdatesAsync.js +11 -9
- package/build/src/start/server/middleware/resolveRuntimeVersionWithExpoUpdatesAsync.js.map +1 -1
- package/build/src/start/server/middleware/server.types.js.map +1 -1
- package/build/src/start/server/openPlatforms.js +10 -8
- package/build/src/start/server/openPlatforms.js.map +1 -1
- package/build/src/start/server/platformBundlers.js +13 -11
- package/build/src/start/server/platformBundlers.js.map +1 -1
- package/build/src/start/server/serverLogLikeMetro.js +58 -50
- package/build/src/start/server/serverLogLikeMetro.js.map +1 -1
- package/build/src/start/server/type-generation/expo-env.js +11 -7
- package/build/src/start/server/type-generation/expo-env.js.map +1 -1
- package/build/src/start/server/type-generation/routes.js +72 -50
- package/build/src/start/server/type-generation/routes.js.map +1 -1
- package/build/src/start/server/type-generation/startTypescriptTypeGeneration.js +21 -19
- package/build/src/start/server/type-generation/startTypescriptTypeGeneration.js.map +1 -1
- package/build/src/start/server/type-generation/tsconfig.js +36 -28
- package/build/src/start/server/type-generation/tsconfig.js.map +1 -1
- package/build/src/start/server/webTemplate.js +28 -24
- package/build/src/start/server/webTemplate.js.map +1 -1
- package/build/src/start/server/webpack/WebpackBundlerDevServer.js +52 -46
- package/build/src/start/server/webpack/WebpackBundlerDevServer.js.map +1 -1
- package/build/src/start/server/webpack/compile.js +15 -11
- package/build/src/start/server/webpack/compile.js.map +1 -1
- package/build/src/start/server/webpack/formatWebpackMessages.js +28 -26
- package/build/src/start/server/webpack/formatWebpackMessages.js.map +1 -1
- package/build/src/start/server/webpack/resolveFromProject.js +18 -12
- package/build/src/start/server/webpack/resolveFromProject.js.map +1 -1
- package/build/src/start/server/webpack/tls.js +18 -12
- package/build/src/start/server/webpack/tls.js.map +1 -1
- package/build/src/start/startAsync.js +31 -27
- package/build/src/start/startAsync.js.map +1 -1
- package/build/src/utils/FileNotifier.js +20 -17
- package/build/src/utils/FileNotifier.js.map +1 -1
- package/build/src/utils/ansi.js +7 -5
- package/build/src/utils/ansi.js.map +1 -1
- package/build/src/utils/args.js +24 -14
- package/build/src/utils/args.js.map +1 -1
- package/build/src/utils/array.js +18 -6
- package/build/src/utils/array.js.map +1 -1
- package/build/src/utils/cocoapods.js +54 -46
- package/build/src/utils/cocoapods.js.map +1 -1
- package/build/src/utils/codesigning.js +79 -69
- package/build/src/utils/codesigning.js.map +1 -1
- package/build/src/utils/createFileTransform.js +16 -12
- package/build/src/utils/createFileTransform.js.map +1 -1
- package/build/src/utils/createTempPath.js +12 -8
- package/build/src/utils/createTempPath.js.map +1 -1
- package/build/src/utils/delay.js +12 -6
- package/build/src/utils/delay.js.map +1 -1
- package/build/src/utils/dir.js +40 -22
- package/build/src/utils/dir.js.map +1 -1
- package/build/src/utils/downloadAppAsync.js +10 -8
- package/build/src/utils/downloadAppAsync.js.map +1 -1
- package/build/src/utils/downloadExpoGoAsync.js +27 -23
- package/build/src/utils/downloadExpoGoAsync.js.map +1 -1
- package/build/src/utils/editor.js +41 -35
- package/build/src/utils/editor.js.map +1 -1
- package/build/src/utils/env.js +63 -59
- package/build/src/utils/env.js.map +1 -1
- package/build/src/utils/errors.js +37 -30
- package/build/src/utils/errors.js.map +1 -1
- package/build/src/utils/exit.js +35 -31
- package/build/src/utils/exit.js.map +1 -1
- package/build/src/utils/expoUpdatesCli.js +32 -22
- package/build/src/utils/expoUpdatesCli.js.map +1 -1
- package/build/src/utils/fetch.js +8 -4
- package/build/src/utils/fetch.js.map +1 -1
- package/build/src/utils/filePath.js +10 -6
- package/build/src/utils/filePath.js.map +1 -1
- package/build/src/utils/findUp.js +13 -9
- package/build/src/utils/findUp.js.map +1 -1
- package/build/src/utils/fn.js +6 -2
- package/build/src/utils/fn.js.map +1 -1
- package/build/src/utils/getOrPromptApplicationId.js +41 -35
- package/build/src/utils/getOrPromptApplicationId.js.map +1 -1
- package/build/src/utils/getRunningProcess.js +29 -21
- package/build/src/utils/getRunningProcess.js.map +1 -1
- package/build/src/utils/git.js +26 -20
- package/build/src/utils/git.js.map +1 -1
- package/build/src/utils/glob.js +8 -4
- package/build/src/utils/glob.js.map +1 -1
- package/build/src/utils/interactive.js +3 -1
- package/build/src/utils/interactive.js.map +1 -1
- package/build/src/utils/ip.js +21 -19
- package/build/src/utils/ip.js.map +1 -1
- package/build/src/utils/isModuleSymlinked.js +11 -9
- package/build/src/utils/isModuleSymlinked.js.map +1 -1
- package/build/src/utils/jsonSchemaDeref.js +20 -18
- package/build/src/utils/jsonSchemaDeref.js.map +1 -1
- package/build/src/utils/link.js +17 -13
- package/build/src/utils/link.js.map +1 -1
- package/build/src/utils/mergeGitIgnorePaths.js +46 -28
- package/build/src/utils/mergeGitIgnorePaths.js.map +1 -1
- package/build/src/utils/modifyConfigAsync.js +16 -10
- package/build/src/utils/modifyConfigAsync.js.map +1 -1
- package/build/src/utils/modifyConfigPlugins.js +10 -6
- package/build/src/utils/modifyConfigPlugins.js.map +1 -1
- package/build/src/utils/multipartMixed.js +13 -11
- package/build/src/utils/multipartMixed.js.map +1 -1
- package/build/src/utils/nodeEnv.js +12 -6
- package/build/src/utils/nodeEnv.js.map +1 -1
- package/build/src/utils/nodeModules.js +10 -8
- package/build/src/utils/nodeModules.js.map +1 -1
- package/build/src/utils/npm.js +49 -35
- package/build/src/utils/npm.js.map +1 -1
- package/build/src/utils/obj.js +11 -5
- package/build/src/utils/obj.js.map +1 -1
- package/build/src/utils/open.js +10 -8
- package/build/src/utils/open.js.map +1 -1
- package/build/src/utils/ora.js +13 -7
- package/build/src/utils/ora.js.map +1 -1
- package/build/src/utils/plist.js +21 -15
- package/build/src/utils/plist.js.map +1 -1
- package/build/src/utils/port.js +43 -33
- package/build/src/utils/port.js.map +1 -1
- package/build/src/utils/profile.js +11 -7
- package/build/src/utils/profile.js.map +1 -1
- package/build/src/utils/progress.js +11 -5
- package/build/src/utils/progress.js.map +1 -1
- package/build/src/utils/prompts.js +47 -29
- package/build/src/utils/prompts.js.map +1 -1
- package/build/src/utils/resolveArgs.js +36 -24
- package/build/src/utils/resolveArgs.js.map +1 -1
- package/build/src/utils/scheme.js +40 -32
- package/build/src/utils/scheme.js.map +1 -1
- package/build/src/utils/stream.js +5 -3
- package/build/src/utils/stream.js.map +1 -1
- package/build/src/utils/strings.js +6 -4
- package/build/src/utils/strings.js.map +1 -1
- package/build/src/utils/tar.js +18 -14
- package/build/src/utils/tar.js.map +1 -1
- package/build/src/utils/telemetry/Telemetry.js +29 -27
- package/build/src/utils/telemetry/Telemetry.js.map +1 -1
- package/build/src/utils/telemetry/clients/FetchClient.js +15 -13
- package/build/src/utils/telemetry/clients/FetchClient.js.map +1 -1
- package/build/src/utils/telemetry/clients/FetchDetachedClient.js +26 -22
- package/build/src/utils/telemetry/clients/FetchDetachedClient.js.map +1 -1
- package/build/src/utils/telemetry/clients/flushFetchDetached.js +10 -10
- package/build/src/utils/telemetry/clients/flushFetchDetached.js.map +1 -1
- package/build/src/utils/telemetry/events.js +4 -2
- package/build/src/utils/telemetry/events.js.map +1 -1
- package/build/src/utils/telemetry/index.js +25 -29
- package/build/src/utils/telemetry/index.js.map +1 -1
- package/build/src/utils/telemetry/types.js.map +1 -1
- package/build/src/utils/telemetry/utils/constants.js +8 -4
- package/build/src/utils/telemetry/utils/constants.js.map +1 -1
- package/build/src/utils/telemetry/utils/context.js +18 -14
- package/build/src/utils/telemetry/utils/context.js.map +1 -1
- package/build/src/utils/template.js +6 -4
- package/build/src/utils/template.js.map +1 -1
- package/build/src/utils/terminal.js +4 -2
- package/build/src/utils/terminal.js.map +1 -1
- package/build/src/utils/tsconfig/evaluateTsConfig.js +21 -17
- package/build/src/utils/tsconfig/evaluateTsConfig.js.map +1 -1
- package/build/src/utils/tsconfig/loadTsConfigPaths.js +18 -14
- package/build/src/utils/tsconfig/loadTsConfigPaths.js.map +1 -1
- package/build/src/utils/tsconfig/matchTsConfigPathAlias.js +7 -5
- package/build/src/utils/tsconfig/matchTsConfigPathAlias.js.map +1 -1
- package/build/src/utils/tsconfig/resolveWithTsConfigPaths.js +14 -12
- package/build/src/utils/tsconfig/resolveWithTsConfigPaths.js.map +1 -1
- package/build/src/utils/url.js +23 -13
- package/build/src/utils/url.js.map +1 -1
- package/build/src/utils/validateApplicationId.js +108 -86
- package/build/src/utils/validateApplicationId.js.map +1 -1
- package/build/src/utils/variadic.js +22 -16
- package/build/src/utils/variadic.js.map +1 -1
- package/build/src/whoami/index.js +11 -7
- package/build/src/whoami/index.js.map +1 -1
- package/build/src/whoami/whoamiAsync.js +11 -7
- package/build/src/whoami/whoamiAsync.js.map +1 -1
- package/package.json +17 -16
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/prebuild/updateFromTemplate.ts"],"sourcesContent":["import { ExpoConfig, PackageJSONConfig } from '@expo/config';\nimport { ModPlatform } from '@expo/config-plugins';\nimport chalk from 'chalk';\n\nimport { copyTemplateFiles, createCopyFilesSuccessMessage } from './copyTemplateFiles';\nimport { getTemplateFilesToRenameAsync, renameTemplateAppNameAsync } from './renameTemplateAppName';\nimport { type ResolvedTemplateOption } from './resolveOptions';\nimport { cloneTemplateAsync } from './resolveTemplate';\nimport { DependenciesModificationResults, updatePackageJSONAsync } from './updatePackageJson';\nimport { validateTemplatePlatforms } from './validateTemplatePlatforms';\nimport * as Log from '../log';\nimport { createTempDirectoryPath } from '../utils/createTempPath';\nimport { AbortCommandError, SilentError } from '../utils/errors';\nimport { logNewSection } from '../utils/ora';\nimport { profile } from '../utils/profile';\n\n/**\n * Creates local native files from an input template file path.\n *\n * @return `true` if the project is prebuilding, and `false` if it's syncing.\n */\nexport async function updateFromTemplateAsync(\n projectRoot: string,\n {\n exp,\n pkg,\n template,\n templateDirectory,\n platforms,\n skipDependencyUpdate,\n }: {\n /** Expo Config */\n exp: ExpoConfig;\n /** package.json as JSON */\n pkg: PackageJSONConfig;\n /** Template to clone from. */\n template?: ResolvedTemplateOption;\n /** Directory to write the template to before copying into the project. */\n templateDirectory?: string;\n /** List of platforms to clone. */\n platforms: ModPlatform[];\n /** List of dependencies to skip updating. */\n skipDependencyUpdate?: string[];\n }\n): Promise<\n {\n /** Indicates if new files were created in the project. */\n hasNewProjectFiles: boolean;\n /** Indicates that the project needs to run `pod install` */\n needsPodInstall: boolean;\n /** The template checksum used to create the native project. */\n templateChecksum: string;\n } & DependenciesModificationResults\n> {\n if (!templateDirectory) {\n templateDirectory = createTempDirectoryPath();\n }\n\n const { copiedPaths, templateChecksum } = await profile(cloneTemplateAndCopyToProjectAsync)({\n projectRoot,\n template,\n templateDirectory,\n exp,\n platforms,\n });\n\n const depsResults = await profile(updatePackageJSONAsync)(projectRoot, {\n templateDirectory,\n pkg,\n skipDependencyUpdate,\n });\n\n return {\n hasNewProjectFiles: !!copiedPaths.length,\n // If the iOS folder changes or new packages are added, we should rerun pod install.\n needsPodInstall: copiedPaths.includes('ios') || !!depsResults.changedDependencies.length,\n templateChecksum,\n ...depsResults,\n };\n}\n\n/**\n * Extract the template and copy the ios and android directories over to the project directory.\n *\n * @return `true` if any project files were created.\n */\nexport async function cloneTemplateAndCopyToProjectAsync({\n projectRoot,\n templateDirectory,\n template,\n exp,\n platforms: unknownPlatforms,\n}: {\n projectRoot: string;\n templateDirectory: string;\n template?: ResolvedTemplateOption;\n exp: Pick<ExpoConfig, 'name' | 'sdkVersion'>;\n platforms: ModPlatform[];\n}): Promise<{ copiedPaths: string[]; templateChecksum: string }> {\n const platformDirectories = unknownPlatforms\n .map((platform) => `./${platform}`)\n .reverse()\n .join(' and ');\n\n const pluralized = unknownPlatforms.length > 1 ? 'directories' : 'directory';\n const ora = logNewSection(`Creating native ${pluralized} (${platformDirectories})`);\n\n try {\n const templateChecksum = await cloneTemplateAsync({ templateDirectory, template, exp, ora });\n\n const platforms = validateTemplatePlatforms({\n templateDirectory,\n platforms: unknownPlatforms,\n });\n\n const results = copyTemplateFiles(projectRoot, {\n templateDirectory,\n platforms,\n });\n\n const files = await getTemplateFilesToRenameAsync({ cwd: projectRoot });\n await renameTemplateAppNameAsync({\n cwd: projectRoot,\n files,\n name: exp.name,\n });\n\n // Says: \"Created native directories\"\n ora.succeed(createCopyFilesSuccessMessage(platforms, results));\n\n return {\n copiedPaths: results.copiedPaths,\n templateChecksum,\n };\n } catch (e: any) {\n if (!(e instanceof AbortCommandError)) {\n Log.error(e.message);\n }\n ora.fail(`Failed to create the native ${pluralized}`);\n Log.log(\n chalk.yellow(\n chalk`You may want to delete the {bold ./ios} and/or {bold ./android} directories before trying again.`\n )\n );\n throw new SilentError(e);\n }\n}\n"],"names":["
|
|
1
|
+
{"version":3,"sources":["../../../src/prebuild/updateFromTemplate.ts"],"sourcesContent":["import { ExpoConfig, PackageJSONConfig } from '@expo/config';\nimport { ModPlatform } from '@expo/config-plugins';\nimport chalk from 'chalk';\n\nimport { copyTemplateFiles, createCopyFilesSuccessMessage } from './copyTemplateFiles';\nimport { getTemplateFilesToRenameAsync, renameTemplateAppNameAsync } from './renameTemplateAppName';\nimport { type ResolvedTemplateOption } from './resolveOptions';\nimport { cloneTemplateAsync } from './resolveTemplate';\nimport { DependenciesModificationResults, updatePackageJSONAsync } from './updatePackageJson';\nimport { validateTemplatePlatforms } from './validateTemplatePlatforms';\nimport * as Log from '../log';\nimport { createTempDirectoryPath } from '../utils/createTempPath';\nimport { AbortCommandError, SilentError } from '../utils/errors';\nimport { logNewSection } from '../utils/ora';\nimport { profile } from '../utils/profile';\n\n/**\n * Creates local native files from an input template file path.\n *\n * @return `true` if the project is prebuilding, and `false` if it's syncing.\n */\nexport async function updateFromTemplateAsync(\n projectRoot: string,\n {\n exp,\n pkg,\n template,\n templateDirectory,\n platforms,\n skipDependencyUpdate,\n }: {\n /** Expo Config */\n exp: ExpoConfig;\n /** package.json as JSON */\n pkg: PackageJSONConfig;\n /** Template to clone from. */\n template?: ResolvedTemplateOption;\n /** Directory to write the template to before copying into the project. */\n templateDirectory?: string;\n /** List of platforms to clone. */\n platforms: ModPlatform[];\n /** List of dependencies to skip updating. */\n skipDependencyUpdate?: string[];\n }\n): Promise<\n {\n /** Indicates if new files were created in the project. */\n hasNewProjectFiles: boolean;\n /** Indicates that the project needs to run `pod install` */\n needsPodInstall: boolean;\n /** The template checksum used to create the native project. */\n templateChecksum: string;\n } & DependenciesModificationResults\n> {\n if (!templateDirectory) {\n templateDirectory = createTempDirectoryPath();\n }\n\n const { copiedPaths, templateChecksum } = await profile(cloneTemplateAndCopyToProjectAsync)({\n projectRoot,\n template,\n templateDirectory,\n exp,\n platforms,\n });\n\n const depsResults = await profile(updatePackageJSONAsync)(projectRoot, {\n templateDirectory,\n pkg,\n skipDependencyUpdate,\n });\n\n return {\n hasNewProjectFiles: !!copiedPaths.length,\n // If the iOS folder changes or new packages are added, we should rerun pod install.\n needsPodInstall: copiedPaths.includes('ios') || !!depsResults.changedDependencies.length,\n templateChecksum,\n ...depsResults,\n };\n}\n\n/**\n * Extract the template and copy the ios and android directories over to the project directory.\n *\n * @return `true` if any project files were created.\n */\nexport async function cloneTemplateAndCopyToProjectAsync({\n projectRoot,\n templateDirectory,\n template,\n exp,\n platforms: unknownPlatforms,\n}: {\n projectRoot: string;\n templateDirectory: string;\n template?: ResolvedTemplateOption;\n exp: Pick<ExpoConfig, 'name' | 'sdkVersion'>;\n platforms: ModPlatform[];\n}): Promise<{ copiedPaths: string[]; templateChecksum: string }> {\n const platformDirectories = unknownPlatforms\n .map((platform) => `./${platform}`)\n .reverse()\n .join(' and ');\n\n const pluralized = unknownPlatforms.length > 1 ? 'directories' : 'directory';\n const ora = logNewSection(`Creating native ${pluralized} (${platformDirectories})`);\n\n try {\n const templateChecksum = await cloneTemplateAsync({ templateDirectory, template, exp, ora });\n\n const platforms = validateTemplatePlatforms({\n templateDirectory,\n platforms: unknownPlatforms,\n });\n\n const results = copyTemplateFiles(projectRoot, {\n templateDirectory,\n platforms,\n });\n\n const files = await getTemplateFilesToRenameAsync({ cwd: projectRoot });\n await renameTemplateAppNameAsync({\n cwd: projectRoot,\n files,\n name: exp.name,\n });\n\n // Says: \"Created native directories\"\n ora.succeed(createCopyFilesSuccessMessage(platforms, results));\n\n return {\n copiedPaths: results.copiedPaths,\n templateChecksum,\n };\n } catch (e: any) {\n if (!(e instanceof AbortCommandError)) {\n Log.error(e.message);\n }\n ora.fail(`Failed to create the native ${pluralized}`);\n Log.log(\n chalk.yellow(\n chalk`You may want to delete the {bold ./ios} and/or {bold ./android} directories before trying again.`\n )\n );\n throw new SilentError(e);\n }\n}\n"],"names":["cloneTemplateAndCopyToProjectAsync","updateFromTemplateAsync","projectRoot","exp","pkg","template","templateDirectory","platforms","skipDependencyUpdate","createTempDirectoryPath","copiedPaths","templateChecksum","profile","depsResults","updatePackageJSONAsync","hasNewProjectFiles","length","needsPodInstall","includes","changedDependencies","unknownPlatforms","platformDirectories","map","platform","reverse","join","pluralized","ora","logNewSection","cloneTemplateAsync","validateTemplatePlatforms","results","copyTemplateFiles","files","getTemplateFilesToRenameAsync","cwd","renameTemplateAppNameAsync","name","succeed","createCopyFilesSuccessMessage","e","AbortCommandError","Log","error","message","fail","log","chalk","yellow","SilentError"],"mappings":";;;;;;;;;;;IAsFsBA,kCAAkC;eAAlCA;;IAjEAC,uBAAuB;eAAvBA;;;;gEAnBJ;;;;;;mCAE+C;uCACS;iCAEvC;mCACqC;2CAC9B;6DACrB;gCACmB;wBACO;qBACjB;yBACN;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOjB,eAAeA,wBACpBC,WAAmB,EACnB,EACEC,GAAG,EACHC,GAAG,EACHC,QAAQ,EACRC,iBAAiB,EACjBC,SAAS,EACTC,oBAAoB,EAcrB;IAWD,IAAI,CAACF,mBAAmB;QACtBA,oBAAoBG,IAAAA,uCAAuB;IAC7C;IAEA,MAAM,EAAEC,WAAW,EAAEC,gBAAgB,EAAE,GAAG,MAAMC,IAAAA,gBAAO,EAACZ,oCAAoC;QAC1FE;QACAG;QACAC;QACAH;QACAI;IACF;IAEA,MAAMM,cAAc,MAAMD,IAAAA,gBAAO,EAACE,yCAAsB,EAAEZ,aAAa;QACrEI;QACAF;QACAI;IACF;IAEA,OAAO;QACLO,oBAAoB,CAAC,CAACL,YAAYM,MAAM;QACxC,oFAAoF;QACpFC,iBAAiBP,YAAYQ,QAAQ,CAAC,UAAU,CAAC,CAACL,YAAYM,mBAAmB,CAACH,MAAM;QACxFL;QACA,GAAGE,WAAW;IAChB;AACF;AAOO,eAAeb,mCAAmC,EACvDE,WAAW,EACXI,iBAAiB,EACjBD,QAAQ,EACRF,GAAG,EACHI,WAAWa,gBAAgB,EAO5B;IACC,MAAMC,sBAAsBD,iBACzBE,GAAG,CAAC,CAACC,WAAa,CAAC,EAAE,EAAEA,UAAU,EACjCC,OAAO,GACPC,IAAI,CAAC;IAER,MAAMC,aAAaN,iBAAiBJ,MAAM,GAAG,IAAI,gBAAgB;IACjE,MAAMW,MAAMC,IAAAA,kBAAa,EAAC,CAAC,gBAAgB,EAAEF,WAAW,EAAE,EAAEL,oBAAoB,CAAC,CAAC;IAElF,IAAI;QACF,MAAMV,mBAAmB,MAAMkB,IAAAA,mCAAkB,EAAC;YAAEvB;YAAmBD;YAAUF;YAAKwB;QAAI;QAE1F,MAAMpB,YAAYuB,IAAAA,oDAAyB,EAAC;YAC1CxB;YACAC,WAAWa;QACb;QAEA,MAAMW,UAAUC,IAAAA,oCAAiB,EAAC9B,aAAa;YAC7CI;YACAC;QACF;QAEA,MAAM0B,QAAQ,MAAMC,IAAAA,oDAA6B,EAAC;YAAEC,KAAKjC;QAAY;QACrE,MAAMkC,IAAAA,iDAA0B,EAAC;YAC/BD,KAAKjC;YACL+B;YACAI,MAAMlC,IAAIkC,IAAI;QAChB;QAEA,qCAAqC;QACrCV,IAAIW,OAAO,CAACC,IAAAA,gDAA6B,EAAChC,WAAWwB;QAErD,OAAO;YACLrB,aAAaqB,QAAQrB,WAAW;YAChCC;QACF;IACF,EAAE,OAAO6B,GAAQ;QACf,IAAI,CAAEA,CAAAA,aAAaC,yBAAiB,AAAD,GAAI;YACrCC,KAAIC,KAAK,CAACH,EAAEI,OAAO;QACrB;QACAjB,IAAIkB,IAAI,CAAC,CAAC,4BAA4B,EAAEnB,YAAY;QACpDgB,KAAII,GAAG,CACLC,gBAAK,CAACC,MAAM,CACVD,IAAAA,gBAAK,CAAA,CAAC,gGAAgG,CAAC;QAG3G,MAAM,IAAIE,mBAAW,CAACT;IACxB;AACF"}
|
|
@@ -9,12 +9,24 @@ function _export(target, all) {
|
|
|
9
9
|
});
|
|
10
10
|
}
|
|
11
11
|
_export(exports, {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
12
|
+
createDependenciesMap: function() {
|
|
13
|
+
return createDependenciesMap;
|
|
14
|
+
},
|
|
15
|
+
createFileHash: function() {
|
|
16
|
+
return createFileHash;
|
|
17
|
+
},
|
|
18
|
+
hashForDependencyMap: function() {
|
|
19
|
+
return hashForDependencyMap;
|
|
20
|
+
},
|
|
21
|
+
updatePackageJSONAsync: function() {
|
|
22
|
+
return updatePackageJSONAsync;
|
|
23
|
+
},
|
|
24
|
+
updatePkgDependencies: function() {
|
|
25
|
+
return updatePkgDependencies;
|
|
26
|
+
},
|
|
27
|
+
updatePkgScripts: function() {
|
|
28
|
+
return updatePkgScripts;
|
|
29
|
+
}
|
|
18
30
|
});
|
|
19
31
|
function _config() {
|
|
20
32
|
const data = require("@expo/config");
|
|
@@ -24,28 +36,28 @@ function _config() {
|
|
|
24
36
|
return data;
|
|
25
37
|
}
|
|
26
38
|
function _chalk() {
|
|
27
|
-
const data = /*#__PURE__*/
|
|
39
|
+
const data = /*#__PURE__*/ _interop_require_default(require("chalk"));
|
|
28
40
|
_chalk = function() {
|
|
29
41
|
return data;
|
|
30
42
|
};
|
|
31
43
|
return data;
|
|
32
44
|
}
|
|
33
45
|
function _crypto() {
|
|
34
|
-
const data = /*#__PURE__*/
|
|
46
|
+
const data = /*#__PURE__*/ _interop_require_default(require("crypto"));
|
|
35
47
|
_crypto = function() {
|
|
36
48
|
return data;
|
|
37
49
|
};
|
|
38
50
|
return data;
|
|
39
51
|
}
|
|
40
52
|
function _fs() {
|
|
41
|
-
const data = /*#__PURE__*/
|
|
53
|
+
const data = /*#__PURE__*/ _interop_require_default(require("fs"));
|
|
42
54
|
_fs = function() {
|
|
43
55
|
return data;
|
|
44
56
|
};
|
|
45
57
|
return data;
|
|
46
58
|
}
|
|
47
59
|
function _path() {
|
|
48
|
-
const data = /*#__PURE__*/
|
|
60
|
+
const data = /*#__PURE__*/ _interop_require_default(require("path"));
|
|
49
61
|
_path = function() {
|
|
50
62
|
return data;
|
|
51
63
|
};
|
|
@@ -58,10 +70,10 @@ function _semver() {
|
|
|
58
70
|
};
|
|
59
71
|
return data;
|
|
60
72
|
}
|
|
61
|
-
const _log = /*#__PURE__*/
|
|
73
|
+
const _log = /*#__PURE__*/ _interop_require_wildcard(require("../log"));
|
|
62
74
|
const _isModuleSymlinked = require("../utils/isModuleSymlinked");
|
|
63
75
|
const _ora = require("../utils/ora");
|
|
64
|
-
function
|
|
76
|
+
function _interop_require_default(obj) {
|
|
65
77
|
return obj && obj.__esModule ? obj : {
|
|
66
78
|
default: obj
|
|
67
79
|
};
|
|
@@ -74,7 +86,7 @@ function _getRequireWildcardCache(nodeInterop) {
|
|
|
74
86
|
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
|
75
87
|
})(nodeInterop);
|
|
76
88
|
}
|
|
77
|
-
function
|
|
89
|
+
function _interop_require_wildcard(obj, nodeInterop) {
|
|
78
90
|
if (!nodeInterop && obj && obj.__esModule) {
|
|
79
91
|
return obj;
|
|
80
92
|
}
|
|
@@ -87,7 +99,9 @@ function _interopRequireWildcard(obj, nodeInterop) {
|
|
|
87
99
|
if (cache && cache.has(obj)) {
|
|
88
100
|
return cache.get(obj);
|
|
89
101
|
}
|
|
90
|
-
var newObj = {
|
|
102
|
+
var newObj = {
|
|
103
|
+
__proto__: null
|
|
104
|
+
};
|
|
91
105
|
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
92
106
|
for(var key in obj){
|
|
93
107
|
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
@@ -105,8 +119,8 @@ function _interopRequireWildcard(obj, nodeInterop) {
|
|
|
105
119
|
}
|
|
106
120
|
return newObj;
|
|
107
121
|
}
|
|
108
|
-
async function updatePackageJSONAsync(projectRoot, { templateDirectory
|
|
109
|
-
const updatingPackageJsonStep = (0, _ora.logNewSection)(
|
|
122
|
+
async function updatePackageJSONAsync(projectRoot, { templateDirectory, templatePkg = (0, _config().getPackageJson)(templateDirectory), pkg, skipDependencyUpdate }) {
|
|
123
|
+
const updatingPackageJsonStep = (0, _ora.logNewSection)('Updating package.json');
|
|
110
124
|
const results = modifyPackageJson(projectRoot, {
|
|
111
125
|
templatePkg,
|
|
112
126
|
pkg,
|
|
@@ -115,11 +129,11 @@ async function updatePackageJSONAsync(projectRoot, { templateDirectory , templat
|
|
|
115
129
|
const hasChanges = results.changedDependencies.length || results.scriptsChanged;
|
|
116
130
|
// NOTE: This is effectively bundler caching and subject to breakage if the inputs don't match the mutations.
|
|
117
131
|
if (hasChanges) {
|
|
118
|
-
await _fs().default.promises.writeFile(_path().default.resolve(projectRoot,
|
|
132
|
+
await _fs().default.promises.writeFile(_path().default.resolve(projectRoot, 'package.json'), // Add new line to match the format of running yarn.
|
|
119
133
|
// This prevents the `package.json` from changing when running `prebuild --no-install` multiple times.
|
|
120
|
-
JSON.stringify(pkg, null, 2) +
|
|
134
|
+
JSON.stringify(pkg, null, 2) + '\n');
|
|
121
135
|
}
|
|
122
|
-
updatingPackageJsonStep.succeed(
|
|
136
|
+
updatingPackageJsonStep.succeed('Updated package.json' + (hasChanges ? '' : _chalk().default.dim(` | no changes`)));
|
|
123
137
|
return results;
|
|
124
138
|
}
|
|
125
139
|
/**
|
|
@@ -134,7 +148,7 @@ async function updatePackageJSONAsync(projectRoot, { templateDirectory , templat
|
|
|
134
148
|
* @param pkg Current package.json as JSON.
|
|
135
149
|
* @param skipDependencyUpdate Array of dependencies to skip updating.
|
|
136
150
|
* @returns
|
|
137
|
-
*/ function modifyPackageJson(projectRoot, { templatePkg
|
|
151
|
+
*/ function modifyPackageJson(projectRoot, { templatePkg, pkg, skipDependencyUpdate }) {
|
|
138
152
|
const scriptsChanged = updatePkgScripts({
|
|
139
153
|
pkg
|
|
140
154
|
});
|
|
@@ -148,8 +162,8 @@ async function updatePackageJSONAsync(projectRoot, { templateDirectory , templat
|
|
|
148
162
|
})
|
|
149
163
|
};
|
|
150
164
|
}
|
|
151
|
-
function updatePkgDependencies(projectRoot, { pkg
|
|
152
|
-
const { dependencies
|
|
165
|
+
function updatePkgDependencies(projectRoot, { pkg, templatePkg, skipDependencyUpdate = [] }) {
|
|
166
|
+
const { dependencies } = templatePkg;
|
|
153
167
|
// The default values come from the bare-minimum template's package.json.
|
|
154
168
|
// Users can change this by using different templates with the `--template` flag.
|
|
155
169
|
// The main reason for allowing the changing of dependencies would be to include
|
|
@@ -158,10 +172,10 @@ function updatePkgDependencies(projectRoot, { pkg , templatePkg , skipDependency
|
|
|
158
172
|
const defaultDependencies = createDependenciesMap(dependencies);
|
|
159
173
|
// NOTE: This is a hack to ensure this doesn't trigger an extraneous change in the `package.json`
|
|
160
174
|
// it isn't required for anything in the `ios` and `android` folders.
|
|
161
|
-
delete defaultDependencies[
|
|
175
|
+
delete defaultDependencies['expo-status-bar'];
|
|
162
176
|
// NOTE: Expo splash screen is installed by default in the template but the config plugin also lives in prebuild-config
|
|
163
177
|
// so we can delete it to prevent an extraneous change in the `package.json`.
|
|
164
|
-
delete defaultDependencies[
|
|
178
|
+
delete defaultDependencies['expo-splash-screen'];
|
|
165
179
|
const combinedDependencies = createDependenciesMap({
|
|
166
180
|
...defaultDependencies,
|
|
167
181
|
...pkg.dependencies
|
|
@@ -169,16 +183,16 @@ function updatePkgDependencies(projectRoot, { pkg , templatePkg , skipDependency
|
|
|
169
183
|
// These dependencies are only added, not overwritten from the project
|
|
170
184
|
const requiredDependencies = [
|
|
171
185
|
// TODO: This is no longer required because it's this same package.
|
|
172
|
-
|
|
186
|
+
'expo',
|
|
173
187
|
// TODO: Drop this somehow.
|
|
174
|
-
|
|
188
|
+
'react-native'
|
|
175
189
|
].filter((depKey)=>!!defaultDependencies[depKey]);
|
|
176
190
|
const symlinkedPackages = [];
|
|
177
191
|
const nonRecommendedPackages = [];
|
|
178
192
|
for (const dependenciesKey of requiredDependencies){
|
|
179
|
-
var
|
|
193
|
+
var _pkg_dependencies;
|
|
180
194
|
// If the local package.json defined the dependency that we want to overwrite...
|
|
181
|
-
if ((
|
|
195
|
+
if ((_pkg_dependencies = pkg.dependencies) == null ? void 0 : _pkg_dependencies[dependenciesKey]) {
|
|
182
196
|
// Then ensure it isn't symlinked (i.e. the user has a custom version in their yarn workspace).
|
|
183
197
|
if ((0, _isModuleSymlinked.isModuleSymlinked)(projectRoot, {
|
|
184
198
|
moduleId: dependenciesKey,
|
|
@@ -200,10 +214,10 @@ function updatePkgDependencies(projectRoot, { pkg , templatePkg , skipDependency
|
|
|
200
214
|
}
|
|
201
215
|
}
|
|
202
216
|
if (symlinkedPackages.length) {
|
|
203
|
-
_log.log(`\u203A Using symlinked ${symlinkedPackages.map((pkg)=>_chalk().default.bold(pkg)).join(
|
|
217
|
+
_log.log(`\u203A Using symlinked ${symlinkedPackages.map((pkg)=>_chalk().default.bold(pkg)).join(', ')} instead of recommended version(s).`);
|
|
204
218
|
}
|
|
205
219
|
if (nonRecommendedPackages.length) {
|
|
206
|
-
_log.warn(`\u203A Using current versions instead of recommended ${nonRecommendedPackages.map((pkg)=>_chalk().default.bold(pkg)).join(
|
|
220
|
+
_log.warn(`\u203A Using current versions instead of recommended ${nonRecommendedPackages.map((pkg)=>_chalk().default.bold(pkg)).join(', ')}.`);
|
|
207
221
|
}
|
|
208
222
|
// Only change the dependencies if the normalized hash changes, this helps to reduce meaningless changes.
|
|
209
223
|
const hasNewDependencies = hashForDependencyMap(pkg.dependencies) !== hashForDependencyMap(combinedDependencies);
|
|
@@ -222,7 +236,7 @@ function diffKeys(a, b) {
|
|
|
222
236
|
return Object.keys(a).filter((key)=>a[key] !== b[key]);
|
|
223
237
|
}
|
|
224
238
|
function createDependenciesMap(dependencies) {
|
|
225
|
-
if (typeof dependencies !==
|
|
239
|
+
if (typeof dependencies !== 'object') {
|
|
226
240
|
throw new Error(`Dependency map is invalid, expected object but got ${typeof dependencies}`);
|
|
227
241
|
} else if (!dependencies) {
|
|
228
242
|
return {};
|
|
@@ -230,7 +244,7 @@ function createDependenciesMap(dependencies) {
|
|
|
230
244
|
const outputMap = {};
|
|
231
245
|
for (const key of Object.keys(dependencies)){
|
|
232
246
|
const value = dependencies[key];
|
|
233
|
-
if (typeof value ===
|
|
247
|
+
if (typeof value === 'string') {
|
|
234
248
|
outputMap[key] = value;
|
|
235
249
|
} else {
|
|
236
250
|
throw new Error(`Dependency for key \`${key}\` should be a \`string\`, instead got: \`{ ${key}: ${JSON.stringify(value)} }\``);
|
|
@@ -238,17 +252,17 @@ function createDependenciesMap(dependencies) {
|
|
|
238
252
|
}
|
|
239
253
|
return outputMap;
|
|
240
254
|
}
|
|
241
|
-
function updatePkgScripts({ pkg
|
|
255
|
+
function updatePkgScripts({ pkg }) {
|
|
242
256
|
let hasChanged = false;
|
|
243
257
|
if (!pkg.scripts) {
|
|
244
258
|
pkg.scripts = {};
|
|
245
259
|
}
|
|
246
|
-
if (!pkg.scripts.android || pkg.scripts.android ===
|
|
247
|
-
pkg.scripts.android =
|
|
260
|
+
if (!pkg.scripts.android || pkg.scripts.android === 'expo start --android' || pkg.scripts.android === 'react-native run-android') {
|
|
261
|
+
pkg.scripts.android = 'expo run:android';
|
|
248
262
|
hasChanged = true;
|
|
249
263
|
}
|
|
250
|
-
if (!pkg.scripts.ios || pkg.scripts.ios ===
|
|
251
|
-
pkg.scripts.ios =
|
|
264
|
+
if (!pkg.scripts.ios || pkg.scripts.ios === 'expo start --ios' || pkg.scripts.ios === 'react-native run-ios') {
|
|
265
|
+
pkg.scripts.ios = 'expo run:ios';
|
|
252
266
|
hasChanged = true;
|
|
253
267
|
}
|
|
254
268
|
return hasChanged;
|
|
@@ -258,12 +272,12 @@ function normalizeDependencyMap(deps) {
|
|
|
258
272
|
}
|
|
259
273
|
function hashForDependencyMap(deps = {}) {
|
|
260
274
|
const depsList = normalizeDependencyMap(deps);
|
|
261
|
-
const depsString = depsList.join(
|
|
275
|
+
const depsString = depsList.join('\n');
|
|
262
276
|
return createFileHash(depsString);
|
|
263
277
|
}
|
|
264
278
|
function createFileHash(contents) {
|
|
265
279
|
// this doesn't need to be secure, the shorter the better.
|
|
266
|
-
return _crypto().default.createHash(
|
|
280
|
+
return _crypto().default.createHash('sha1').update(contents).digest('hex');
|
|
267
281
|
}
|
|
268
282
|
/**
|
|
269
283
|
* Determine if two semver ranges are overlapping or intersecting.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/prebuild/updatePackageJson.ts"],"sourcesContent":["import { getPackageJson, PackageJSONConfig } from '@expo/config';\nimport chalk from 'chalk';\nimport crypto from 'crypto';\nimport fs from 'fs';\nimport path from 'path';\nimport { intersects as semverIntersects, Range as SemverRange } from 'semver';\n\nimport * as Log from '../log';\nimport { isModuleSymlinked } from '../utils/isModuleSymlinked';\nimport { logNewSection } from '../utils/ora';\n\nexport type DependenciesMap = { [key: string]: string | number };\n\nexport type DependenciesModificationResults = {\n /** A list of new values were added to the `dependencies` object in the `package.json`. */\n changedDependencies: string[];\n};\n\n/** Modifies the `package.json` with `modifyPackageJson` and format/displays the results. */\nexport async function updatePackageJSONAsync(\n projectRoot: string,\n {\n templateDirectory,\n templatePkg = getPackageJson(templateDirectory),\n pkg,\n skipDependencyUpdate,\n }: {\n templateDirectory: string;\n templatePkg?: PackageJSONConfig;\n pkg: PackageJSONConfig;\n skipDependencyUpdate?: string[];\n }\n): Promise<DependenciesModificationResults> {\n const updatingPackageJsonStep = logNewSection('Updating package.json');\n\n const results = modifyPackageJson(projectRoot, {\n templatePkg,\n pkg,\n skipDependencyUpdate,\n });\n\n const hasChanges = results.changedDependencies.length || results.scriptsChanged;\n\n // NOTE: This is effectively bundler caching and subject to breakage if the inputs don't match the mutations.\n if (hasChanges) {\n await fs.promises.writeFile(\n path.resolve(projectRoot, 'package.json'),\n // Add new line to match the format of running yarn.\n // This prevents the `package.json` from changing when running `prebuild --no-install` multiple times.\n JSON.stringify(pkg, null, 2) + '\\n'\n );\n }\n\n updatingPackageJsonStep.succeed(\n 'Updated package.json' + (hasChanges ? '' : chalk.dim(` | no changes`))\n );\n\n return results;\n}\n\n/**\n * Make required modifications to the `package.json` file as a JSON object.\n *\n * 1. Update `package.json` `scripts`.\n * 2. Update `package.json` `dependencies` (not `devDependencies`).\n * 3. Update `package.json` `main`.\n *\n * @param projectRoot The root directory of the project.\n * @param templatePkg Template project package.json as JSON.\n * @param pkg Current package.json as JSON.\n * @param skipDependencyUpdate Array of dependencies to skip updating.\n * @returns\n */\nfunction modifyPackageJson(\n projectRoot: string,\n {\n templatePkg,\n pkg,\n skipDependencyUpdate,\n }: {\n templatePkg: PackageJSONConfig;\n pkg: PackageJSONConfig;\n /** @deprecated Required packages are not overwritten, only added when missing */\n skipDependencyUpdate?: string[];\n }\n) {\n const scriptsChanged = updatePkgScripts({ pkg });\n\n // TODO: Move to `npx expo-doctor`\n return {\n scriptsChanged,\n ...updatePkgDependencies(projectRoot, {\n pkg,\n templatePkg,\n skipDependencyUpdate,\n }),\n };\n}\n\n/**\n * Update `package.json` dependencies by combining the `dependencies` in the\n * project we are creating with the dependencies in the template project.\n *\n * > Exposed for testing.\n */\nexport function updatePkgDependencies(\n projectRoot: string,\n {\n pkg,\n templatePkg,\n skipDependencyUpdate = [],\n }: {\n pkg: PackageJSONConfig;\n templatePkg: PackageJSONConfig;\n /** @deprecated Required packages are not overwritten, only added when missing */\n skipDependencyUpdate?: string[];\n }\n): DependenciesModificationResults {\n const { dependencies } = templatePkg;\n // The default values come from the bare-minimum template's package.json.\n // Users can change this by using different templates with the `--template` flag.\n // The main reason for allowing the changing of dependencies would be to include\n // dependencies that are required for the native project to build. For example,\n // it does not need to include dependencies that are used in the JS-code only.\n const defaultDependencies = createDependenciesMap(dependencies);\n\n // NOTE: This is a hack to ensure this doesn't trigger an extraneous change in the `package.json`\n // it isn't required for anything in the `ios` and `android` folders.\n delete defaultDependencies['expo-status-bar'];\n // NOTE: Expo splash screen is installed by default in the template but the config plugin also lives in prebuild-config\n // so we can delete it to prevent an extraneous change in the `package.json`.\n delete defaultDependencies['expo-splash-screen'];\n\n const combinedDependencies: DependenciesMap = createDependenciesMap({\n ...defaultDependencies,\n ...pkg.dependencies,\n });\n\n // These dependencies are only added, not overwritten from the project\n const requiredDependencies = [\n // TODO: This is no longer required because it's this same package.\n 'expo',\n // TODO: Drop this somehow.\n 'react-native',\n ].filter((depKey) => !!defaultDependencies[depKey]);\n\n const symlinkedPackages: string[] = [];\n const nonRecommendedPackages: string[] = [];\n\n for (const dependenciesKey of requiredDependencies) {\n // If the local package.json defined the dependency that we want to overwrite...\n if (pkg.dependencies?.[dependenciesKey]) {\n // Then ensure it isn't symlinked (i.e. the user has a custom version in their yarn workspace).\n if (isModuleSymlinked(projectRoot, { moduleId: dependenciesKey, isSilent: true })) {\n // If the package is in the project's package.json and it's symlinked, then skip overwriting it.\n symlinkedPackages.push(dependenciesKey);\n continue;\n }\n\n // Do not modify manually skipped dependencies\n if (skipDependencyUpdate.includes(dependenciesKey)) {\n continue;\n }\n\n // Warn users for outdated dependencies when prebuilding\n const hasRecommendedVersion = versionRangesIntersect(\n pkg.dependencies[dependenciesKey],\n String(defaultDependencies[dependenciesKey])\n );\n if (!hasRecommendedVersion) {\n nonRecommendedPackages.push(`${dependenciesKey}@${defaultDependencies[dependenciesKey]}`);\n }\n }\n }\n\n if (symlinkedPackages.length) {\n Log.log(\n `\\u203A Using symlinked ${symlinkedPackages\n .map((pkg) => chalk.bold(pkg))\n .join(', ')} instead of recommended version(s).`\n );\n }\n\n if (nonRecommendedPackages.length) {\n Log.warn(\n `\\u203A Using current versions instead of recommended ${nonRecommendedPackages\n .map((pkg) => chalk.bold(pkg))\n .join(', ')}.`\n );\n }\n\n // Only change the dependencies if the normalized hash changes, this helps to reduce meaningless changes.\n const hasNewDependencies =\n hashForDependencyMap(pkg.dependencies) !== hashForDependencyMap(combinedDependencies);\n // Save the dependencies\n let changedDependencies: string[] = [];\n if (hasNewDependencies) {\n changedDependencies = diffKeys(combinedDependencies, pkg.dependencies ?? {}).sort();\n // Use Object.assign to preserve the original order of dependencies, this makes it easier to see what changed in the git diff.\n pkg.dependencies = Object.assign(pkg.dependencies ?? {}, combinedDependencies);\n }\n\n return {\n changedDependencies,\n };\n}\n\nfunction diffKeys(a: Record<string, any>, b: Record<string, any>): string[] {\n return Object.keys(a).filter((key) => a[key] !== b[key]);\n}\n\n/**\n * Create an object of type DependenciesMap a dependencies object or throw if not valid.\n *\n * @param dependencies - ideally an object of type {[key]: string} - if not then this will error.\n */\nexport function createDependenciesMap(dependencies: any): DependenciesMap {\n if (typeof dependencies !== 'object') {\n throw new Error(`Dependency map is invalid, expected object but got ${typeof dependencies}`);\n } else if (!dependencies) {\n return {};\n }\n\n const outputMap: DependenciesMap = {};\n\n for (const key of Object.keys(dependencies)) {\n const value = dependencies[key];\n if (typeof value === 'string') {\n outputMap[key] = value;\n } else {\n throw new Error(\n `Dependency for key \\`${key}\\` should be a \\`string\\`, instead got: \\`{ ${key}: ${JSON.stringify(\n value\n )} }\\``\n );\n }\n }\n return outputMap;\n}\n\n/**\n * Updates the package.json scripts for prebuild if the scripts match\n * the default values used in project templates.\n */\nexport function updatePkgScripts({ pkg }: { pkg: PackageJSONConfig }) {\n let hasChanged = false;\n if (!pkg.scripts) {\n pkg.scripts = {};\n }\n if (\n !pkg.scripts.android ||\n pkg.scripts.android === 'expo start --android' ||\n pkg.scripts.android === 'react-native run-android'\n ) {\n pkg.scripts.android = 'expo run:android';\n hasChanged = true;\n }\n if (\n !pkg.scripts.ios ||\n pkg.scripts.ios === 'expo start --ios' ||\n pkg.scripts.ios === 'react-native run-ios'\n ) {\n pkg.scripts.ios = 'expo run:ios';\n hasChanged = true;\n }\n return hasChanged;\n}\n\nfunction normalizeDependencyMap(deps: DependenciesMap): string[] {\n return Object.keys(deps)\n .map((dependency) => `${dependency}@${deps[dependency]}`)\n .sort();\n}\n\nexport function hashForDependencyMap(deps: DependenciesMap = {}): string {\n const depsList = normalizeDependencyMap(deps);\n const depsString = depsList.join('\\n');\n return createFileHash(depsString);\n}\n\nexport function createFileHash(contents: string): string {\n // this doesn't need to be secure, the shorter the better.\n return crypto.createHash('sha1').update(contents).digest('hex');\n}\n\n/**\n * Determine if two semver ranges are overlapping or intersecting.\n * This is a safe version of `semver.intersects` that does not throw.\n */\nfunction versionRangesIntersect(rangeA: string | SemverRange, rangeB: string | SemverRange) {\n try {\n return semverIntersects(rangeA, rangeB);\n } catch {\n return false;\n }\n}\n"],"names":["updatePackageJSONAsync","updatePkgDependencies","createDependenciesMap","updatePkgScripts","hashForDependencyMap","createFileHash","projectRoot","templateDirectory","templatePkg","getPackageJson","pkg","skipDependencyUpdate","updatingPackageJsonStep","logNewSection","results","modifyPackageJson","hasChanges","changedDependencies","length","scriptsChanged","fs","promises","writeFile","path","resolve","JSON","stringify","succeed","chalk","dim","dependencies","defaultDependencies","combinedDependencies","requiredDependencies","filter","depKey","symlinkedPackages","nonRecommendedPackages","dependenciesKey","isModuleSymlinked","moduleId","isSilent","push","includes","hasRecommendedVersion","versionRangesIntersect","String","Log","log","map","bold","join","warn","hasNewDependencies","diffKeys","sort","Object","assign","a","b","keys","key","Error","outputMap","value","hasChanged","scripts","android","ios","normalizeDependencyMap","deps","dependency","depsList","depsString","contents","crypto","createHash","update","digest","rangeA","rangeB","semverIntersects"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../src/prebuild/updatePackageJson.ts"],"sourcesContent":["import { getPackageJson, PackageJSONConfig } from '@expo/config';\nimport chalk from 'chalk';\nimport crypto from 'crypto';\nimport fs from 'fs';\nimport path from 'path';\nimport { intersects as semverIntersects, Range as SemverRange } from 'semver';\n\nimport * as Log from '../log';\nimport { isModuleSymlinked } from '../utils/isModuleSymlinked';\nimport { logNewSection } from '../utils/ora';\n\nexport type DependenciesMap = { [key: string]: string | number };\n\nexport type DependenciesModificationResults = {\n /** A list of new values were added to the `dependencies` object in the `package.json`. */\n changedDependencies: string[];\n};\n\n/** Modifies the `package.json` with `modifyPackageJson` and format/displays the results. */\nexport async function updatePackageJSONAsync(\n projectRoot: string,\n {\n templateDirectory,\n templatePkg = getPackageJson(templateDirectory),\n pkg,\n skipDependencyUpdate,\n }: {\n templateDirectory: string;\n templatePkg?: PackageJSONConfig;\n pkg: PackageJSONConfig;\n skipDependencyUpdate?: string[];\n }\n): Promise<DependenciesModificationResults> {\n const updatingPackageJsonStep = logNewSection('Updating package.json');\n\n const results = modifyPackageJson(projectRoot, {\n templatePkg,\n pkg,\n skipDependencyUpdate,\n });\n\n const hasChanges = results.changedDependencies.length || results.scriptsChanged;\n\n // NOTE: This is effectively bundler caching and subject to breakage if the inputs don't match the mutations.\n if (hasChanges) {\n await fs.promises.writeFile(\n path.resolve(projectRoot, 'package.json'),\n // Add new line to match the format of running yarn.\n // This prevents the `package.json` from changing when running `prebuild --no-install` multiple times.\n JSON.stringify(pkg, null, 2) + '\\n'\n );\n }\n\n updatingPackageJsonStep.succeed(\n 'Updated package.json' + (hasChanges ? '' : chalk.dim(` | no changes`))\n );\n\n return results;\n}\n\n/**\n * Make required modifications to the `package.json` file as a JSON object.\n *\n * 1. Update `package.json` `scripts`.\n * 2. Update `package.json` `dependencies` (not `devDependencies`).\n * 3. Update `package.json` `main`.\n *\n * @param projectRoot The root directory of the project.\n * @param templatePkg Template project package.json as JSON.\n * @param pkg Current package.json as JSON.\n * @param skipDependencyUpdate Array of dependencies to skip updating.\n * @returns\n */\nfunction modifyPackageJson(\n projectRoot: string,\n {\n templatePkg,\n pkg,\n skipDependencyUpdate,\n }: {\n templatePkg: PackageJSONConfig;\n pkg: PackageJSONConfig;\n /** @deprecated Required packages are not overwritten, only added when missing */\n skipDependencyUpdate?: string[];\n }\n) {\n const scriptsChanged = updatePkgScripts({ pkg });\n\n // TODO: Move to `npx expo-doctor`\n return {\n scriptsChanged,\n ...updatePkgDependencies(projectRoot, {\n pkg,\n templatePkg,\n skipDependencyUpdate,\n }),\n };\n}\n\n/**\n * Update `package.json` dependencies by combining the `dependencies` in the\n * project we are creating with the dependencies in the template project.\n *\n * > Exposed for testing.\n */\nexport function updatePkgDependencies(\n projectRoot: string,\n {\n pkg,\n templatePkg,\n skipDependencyUpdate = [],\n }: {\n pkg: PackageJSONConfig;\n templatePkg: PackageJSONConfig;\n /** @deprecated Required packages are not overwritten, only added when missing */\n skipDependencyUpdate?: string[];\n }\n): DependenciesModificationResults {\n const { dependencies } = templatePkg;\n // The default values come from the bare-minimum template's package.json.\n // Users can change this by using different templates with the `--template` flag.\n // The main reason for allowing the changing of dependencies would be to include\n // dependencies that are required for the native project to build. For example,\n // it does not need to include dependencies that are used in the JS-code only.\n const defaultDependencies = createDependenciesMap(dependencies);\n\n // NOTE: This is a hack to ensure this doesn't trigger an extraneous change in the `package.json`\n // it isn't required for anything in the `ios` and `android` folders.\n delete defaultDependencies['expo-status-bar'];\n // NOTE: Expo splash screen is installed by default in the template but the config plugin also lives in prebuild-config\n // so we can delete it to prevent an extraneous change in the `package.json`.\n delete defaultDependencies['expo-splash-screen'];\n\n const combinedDependencies: DependenciesMap = createDependenciesMap({\n ...defaultDependencies,\n ...pkg.dependencies,\n });\n\n // These dependencies are only added, not overwritten from the project\n const requiredDependencies = [\n // TODO: This is no longer required because it's this same package.\n 'expo',\n // TODO: Drop this somehow.\n 'react-native',\n ].filter((depKey) => !!defaultDependencies[depKey]);\n\n const symlinkedPackages: string[] = [];\n const nonRecommendedPackages: string[] = [];\n\n for (const dependenciesKey of requiredDependencies) {\n // If the local package.json defined the dependency that we want to overwrite...\n if (pkg.dependencies?.[dependenciesKey]) {\n // Then ensure it isn't symlinked (i.e. the user has a custom version in their yarn workspace).\n if (isModuleSymlinked(projectRoot, { moduleId: dependenciesKey, isSilent: true })) {\n // If the package is in the project's package.json and it's symlinked, then skip overwriting it.\n symlinkedPackages.push(dependenciesKey);\n continue;\n }\n\n // Do not modify manually skipped dependencies\n if (skipDependencyUpdate.includes(dependenciesKey)) {\n continue;\n }\n\n // Warn users for outdated dependencies when prebuilding\n const hasRecommendedVersion = versionRangesIntersect(\n pkg.dependencies[dependenciesKey],\n String(defaultDependencies[dependenciesKey])\n );\n if (!hasRecommendedVersion) {\n nonRecommendedPackages.push(`${dependenciesKey}@${defaultDependencies[dependenciesKey]}`);\n }\n }\n }\n\n if (symlinkedPackages.length) {\n Log.log(\n `\\u203A Using symlinked ${symlinkedPackages\n .map((pkg) => chalk.bold(pkg))\n .join(', ')} instead of recommended version(s).`\n );\n }\n\n if (nonRecommendedPackages.length) {\n Log.warn(\n `\\u203A Using current versions instead of recommended ${nonRecommendedPackages\n .map((pkg) => chalk.bold(pkg))\n .join(', ')}.`\n );\n }\n\n // Only change the dependencies if the normalized hash changes, this helps to reduce meaningless changes.\n const hasNewDependencies =\n hashForDependencyMap(pkg.dependencies) !== hashForDependencyMap(combinedDependencies);\n // Save the dependencies\n let changedDependencies: string[] = [];\n if (hasNewDependencies) {\n changedDependencies = diffKeys(combinedDependencies, pkg.dependencies ?? {}).sort();\n // Use Object.assign to preserve the original order of dependencies, this makes it easier to see what changed in the git diff.\n pkg.dependencies = Object.assign(pkg.dependencies ?? {}, combinedDependencies);\n }\n\n return {\n changedDependencies,\n };\n}\n\nfunction diffKeys(a: Record<string, any>, b: Record<string, any>): string[] {\n return Object.keys(a).filter((key) => a[key] !== b[key]);\n}\n\n/**\n * Create an object of type DependenciesMap a dependencies object or throw if not valid.\n *\n * @param dependencies - ideally an object of type {[key]: string} - if not then this will error.\n */\nexport function createDependenciesMap(dependencies: any): DependenciesMap {\n if (typeof dependencies !== 'object') {\n throw new Error(`Dependency map is invalid, expected object but got ${typeof dependencies}`);\n } else if (!dependencies) {\n return {};\n }\n\n const outputMap: DependenciesMap = {};\n\n for (const key of Object.keys(dependencies)) {\n const value = dependencies[key];\n if (typeof value === 'string') {\n outputMap[key] = value;\n } else {\n throw new Error(\n `Dependency for key \\`${key}\\` should be a \\`string\\`, instead got: \\`{ ${key}: ${JSON.stringify(\n value\n )} }\\``\n );\n }\n }\n return outputMap;\n}\n\n/**\n * Updates the package.json scripts for prebuild if the scripts match\n * the default values used in project templates.\n */\nexport function updatePkgScripts({ pkg }: { pkg: PackageJSONConfig }) {\n let hasChanged = false;\n if (!pkg.scripts) {\n pkg.scripts = {};\n }\n if (\n !pkg.scripts.android ||\n pkg.scripts.android === 'expo start --android' ||\n pkg.scripts.android === 'react-native run-android'\n ) {\n pkg.scripts.android = 'expo run:android';\n hasChanged = true;\n }\n if (\n !pkg.scripts.ios ||\n pkg.scripts.ios === 'expo start --ios' ||\n pkg.scripts.ios === 'react-native run-ios'\n ) {\n pkg.scripts.ios = 'expo run:ios';\n hasChanged = true;\n }\n return hasChanged;\n}\n\nfunction normalizeDependencyMap(deps: DependenciesMap): string[] {\n return Object.keys(deps)\n .map((dependency) => `${dependency}@${deps[dependency]}`)\n .sort();\n}\n\nexport function hashForDependencyMap(deps: DependenciesMap = {}): string {\n const depsList = normalizeDependencyMap(deps);\n const depsString = depsList.join('\\n');\n return createFileHash(depsString);\n}\n\nexport function createFileHash(contents: string): string {\n // this doesn't need to be secure, the shorter the better.\n return crypto.createHash('sha1').update(contents).digest('hex');\n}\n\n/**\n * Determine if two semver ranges are overlapping or intersecting.\n * This is a safe version of `semver.intersects` that does not throw.\n */\nfunction versionRangesIntersect(rangeA: string | SemverRange, rangeB: string | SemverRange) {\n try {\n return semverIntersects(rangeA, rangeB);\n } catch {\n return false;\n }\n}\n"],"names":["createDependenciesMap","createFileHash","hashForDependencyMap","updatePackageJSONAsync","updatePkgDependencies","updatePkgScripts","projectRoot","templateDirectory","templatePkg","getPackageJson","pkg","skipDependencyUpdate","updatingPackageJsonStep","logNewSection","results","modifyPackageJson","hasChanges","changedDependencies","length","scriptsChanged","fs","promises","writeFile","path","resolve","JSON","stringify","succeed","chalk","dim","dependencies","defaultDependencies","combinedDependencies","requiredDependencies","filter","depKey","symlinkedPackages","nonRecommendedPackages","dependenciesKey","isModuleSymlinked","moduleId","isSilent","push","includes","hasRecommendedVersion","versionRangesIntersect","String","Log","log","map","bold","join","warn","hasNewDependencies","diffKeys","sort","Object","assign","a","b","keys","key","Error","outputMap","value","hasChanged","scripts","android","ios","normalizeDependencyMap","deps","dependency","depsList","depsString","contents","crypto","createHash","update","digest","rangeA","rangeB","semverIntersects"],"mappings":"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"}
|
|
@@ -4,25 +4,27 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
});
|
|
5
5
|
Object.defineProperty(exports, "validateTemplatePlatforms", {
|
|
6
6
|
enumerable: true,
|
|
7
|
-
get: ()
|
|
7
|
+
get: function() {
|
|
8
|
+
return validateTemplatePlatforms;
|
|
9
|
+
}
|
|
8
10
|
});
|
|
9
11
|
function _chalk() {
|
|
10
|
-
const data = /*#__PURE__*/
|
|
12
|
+
const data = /*#__PURE__*/ _interop_require_default(require("chalk"));
|
|
11
13
|
_chalk = function() {
|
|
12
14
|
return data;
|
|
13
15
|
};
|
|
14
16
|
return data;
|
|
15
17
|
}
|
|
16
18
|
function _path() {
|
|
17
|
-
const data = /*#__PURE__*/
|
|
19
|
+
const data = /*#__PURE__*/ _interop_require_default(require("path"));
|
|
18
20
|
_path = function() {
|
|
19
21
|
return data;
|
|
20
22
|
};
|
|
21
23
|
return data;
|
|
22
24
|
}
|
|
23
|
-
const _log = /*#__PURE__*/
|
|
25
|
+
const _log = /*#__PURE__*/ _interop_require_wildcard(require("../log"));
|
|
24
26
|
const _dir = require("../utils/dir");
|
|
25
|
-
function
|
|
27
|
+
function _interop_require_default(obj) {
|
|
26
28
|
return obj && obj.__esModule ? obj : {
|
|
27
29
|
default: obj
|
|
28
30
|
};
|
|
@@ -35,7 +37,7 @@ function _getRequireWildcardCache(nodeInterop) {
|
|
|
35
37
|
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
|
36
38
|
})(nodeInterop);
|
|
37
39
|
}
|
|
38
|
-
function
|
|
40
|
+
function _interop_require_wildcard(obj, nodeInterop) {
|
|
39
41
|
if (!nodeInterop && obj && obj.__esModule) {
|
|
40
42
|
return obj;
|
|
41
43
|
}
|
|
@@ -48,7 +50,9 @@ function _interopRequireWildcard(obj, nodeInterop) {
|
|
|
48
50
|
if (cache && cache.has(obj)) {
|
|
49
51
|
return cache.get(obj);
|
|
50
52
|
}
|
|
51
|
-
var newObj = {
|
|
53
|
+
var newObj = {
|
|
54
|
+
__proto__: null
|
|
55
|
+
};
|
|
52
56
|
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
53
57
|
for(var key in obj){
|
|
54
58
|
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
@@ -66,7 +70,7 @@ function _interopRequireWildcard(obj, nodeInterop) {
|
|
|
66
70
|
}
|
|
67
71
|
return newObj;
|
|
68
72
|
}
|
|
69
|
-
function validateTemplatePlatforms({ templateDirectory
|
|
73
|
+
function validateTemplatePlatforms({ templateDirectory, platforms }) {
|
|
70
74
|
const existingPlatforms = [];
|
|
71
75
|
for (const platform of platforms){
|
|
72
76
|
if ((0, _dir.directoryExistsSync)(_path().default.join(templateDirectory, platform))) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/prebuild/validateTemplatePlatforms.ts"],"sourcesContent":["import { ModPlatform } from '@expo/config-plugins';\nimport chalk from 'chalk';\nimport path from 'path';\n\nimport * as Log from '../log';\nimport { directoryExistsSync } from '../utils/dir';\n\nexport function validateTemplatePlatforms({\n templateDirectory,\n platforms,\n}: {\n templateDirectory: string;\n platforms: ModPlatform[];\n}) {\n const existingPlatforms: ModPlatform[] = [];\n\n for (const platform of platforms) {\n if (directoryExistsSync(path.join(templateDirectory, platform))) {\n existingPlatforms.push(platform);\n } else {\n Log.warn(\n chalk`⚠️ Skipping platform ${platform}. Use a template that contains native files for ${platform} (./${platform}).`\n );\n }\n }\n\n return existingPlatforms;\n}\n"],"names":["validateTemplatePlatforms","templateDirectory","platforms","existingPlatforms","platform","directoryExistsSync","path","join","push","Log","warn","chalk"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/prebuild/validateTemplatePlatforms.ts"],"sourcesContent":["import { ModPlatform } from '@expo/config-plugins';\nimport chalk from 'chalk';\nimport path from 'path';\n\nimport * as Log from '../log';\nimport { directoryExistsSync } from '../utils/dir';\n\nexport function validateTemplatePlatforms({\n templateDirectory,\n platforms,\n}: {\n templateDirectory: string;\n platforms: ModPlatform[];\n}) {\n const existingPlatforms: ModPlatform[] = [];\n\n for (const platform of platforms) {\n if (directoryExistsSync(path.join(templateDirectory, platform))) {\n existingPlatforms.push(platform);\n } else {\n Log.warn(\n chalk`⚠️ Skipping platform ${platform}. Use a template that contains native files for ${platform} (./${platform}).`\n );\n }\n }\n\n return existingPlatforms;\n}\n"],"names":["validateTemplatePlatforms","templateDirectory","platforms","existingPlatforms","platform","directoryExistsSync","path","join","push","Log","warn","chalk"],"mappings":";;;;+BAOgBA;;;eAAAA;;;;gEANE;;;;;;;gEACD;;;;;;6DAEI;qBACe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAE7B,SAASA,0BAA0B,EACxCC,iBAAiB,EACjBC,SAAS,EAIV;IACC,MAAMC,oBAAmC,EAAE;IAE3C,KAAK,MAAMC,YAAYF,UAAW;QAChC,IAAIG,IAAAA,wBAAmB,EAACC,eAAI,CAACC,IAAI,CAACN,mBAAmBG,YAAY;YAC/DD,kBAAkBK,IAAI,CAACJ;QACzB,OAAO;YACLK,KAAIC,IAAI,CACNC,IAAAA,gBAAK,CAAA,CAAC,sBAAsB,EAAEP,SAAS,gDAAgD,EAAEA,SAAS,IAAI,EAAEA,SAAS,EAAE,CAAC;QAExH;IACF;IAEA,OAAOD;AACT"}
|
|
@@ -5,7 +5,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
Object.defineProperty(exports, "expoRegister", {
|
|
7
7
|
enumerable: true,
|
|
8
|
-
get: ()
|
|
8
|
+
get: function() {
|
|
9
|
+
return expoRegister;
|
|
10
|
+
}
|
|
9
11
|
});
|
|
10
12
|
const _args = require("../utils/args");
|
|
11
13
|
const _errors = require("../utils/errors");
|
|
@@ -17,7 +19,7 @@ function _getRequireWildcardCache(nodeInterop) {
|
|
|
17
19
|
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
|
18
20
|
})(nodeInterop);
|
|
19
21
|
}
|
|
20
|
-
function
|
|
22
|
+
function _interop_require_wildcard(obj, nodeInterop) {
|
|
21
23
|
if (!nodeInterop && obj && obj.__esModule) {
|
|
22
24
|
return obj;
|
|
23
25
|
}
|
|
@@ -30,7 +32,9 @@ function _interopRequireWildcard(obj, nodeInterop) {
|
|
|
30
32
|
if (cache && cache.has(obj)) {
|
|
31
33
|
return cache.get(obj);
|
|
32
34
|
}
|
|
33
|
-
var newObj = {
|
|
35
|
+
var newObj = {
|
|
36
|
+
__proto__: null
|
|
37
|
+
};
|
|
34
38
|
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
35
39
|
for(var key in obj){
|
|
36
40
|
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
@@ -51,15 +55,15 @@ function _interopRequireWildcard(obj, nodeInterop) {
|
|
|
51
55
|
const expoRegister = async (argv)=>{
|
|
52
56
|
const args = (0, _args.assertArgs)({
|
|
53
57
|
// Types
|
|
54
|
-
|
|
58
|
+
'--help': Boolean,
|
|
55
59
|
// Aliases
|
|
56
|
-
|
|
60
|
+
'-h': '--help'
|
|
57
61
|
}, argv);
|
|
58
|
-
if (args[
|
|
62
|
+
if (args['--help']) {
|
|
59
63
|
(0, _args.printHelp)(`Sign up for a new Expo account`, `npx expo register`, // Options
|
|
60
64
|
`-h, --help Usage info`);
|
|
61
65
|
}
|
|
62
|
-
const { registerAsync
|
|
66
|
+
const { registerAsync } = await Promise.resolve().then(()=>/*#__PURE__*/ _interop_require_wildcard(require("./registerAsync.js")));
|
|
63
67
|
return registerAsync().catch(_errors.logCmdError);
|
|
64
68
|
};
|
|
65
69
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/register/index.ts"],"sourcesContent":["#!/usr/bin/env node\nimport { Command } from '../../bin/cli';\nimport { assertArgs, printHelp } from '../utils/args';\nimport { logCmdError } from '../utils/errors';\n\nexport const expoRegister: Command = async (argv) => {\n const args = assertArgs(\n {\n // Types\n '--help': Boolean,\n // Aliases\n '-h': '--help',\n },\n argv\n );\n\n if (args['--help']) {\n printHelp(\n `Sign up for a new Expo account`,\n `npx expo register`,\n // Options\n `-h, --help Usage info`\n );\n }\n\n const { registerAsync } = await import('./registerAsync.js');\n return registerAsync().catch(logCmdError);\n};\n"],"names":["expoRegister","argv","args","assertArgs","Boolean","printHelp","registerAsync","catch","logCmdError"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/register/index.ts"],"sourcesContent":["#!/usr/bin/env node\nimport { Command } from '../../bin/cli';\nimport { assertArgs, printHelp } from '../utils/args';\nimport { logCmdError } from '../utils/errors';\n\nexport const expoRegister: Command = async (argv) => {\n const args = assertArgs(\n {\n // Types\n '--help': Boolean,\n // Aliases\n '-h': '--help',\n },\n argv\n );\n\n if (args['--help']) {\n printHelp(\n `Sign up for a new Expo account`,\n `npx expo register`,\n // Options\n `-h, --help Usage info`\n );\n }\n\n const { registerAsync } = await import('./registerAsync.js');\n return registerAsync().catch(logCmdError);\n};\n"],"names":["expoRegister","argv","args","assertArgs","Boolean","printHelp","registerAsync","catch","logCmdError"],"mappings":";;;;;+BAKaA;;;eAAAA;;;sBAHyB;wBACV;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAErB,MAAMA,eAAwB,OAAOC;IAC1C,MAAMC,OAAOC,IAAAA,gBAAU,EACrB;QACE,QAAQ;QACR,UAAUC;QACV,UAAU;QACV,MAAM;IACR,GACAH;IAGF,IAAIC,IAAI,CAAC,SAAS,EAAE;QAClBG,IAAAA,eAAS,EACP,CAAC,8BAA8B,CAAC,EAChC,CAAC,iBAAiB,CAAC,EACnB,UAAU;QACV,CAAC,wBAAwB,CAAC;IAE9B;IAEA,MAAM,EAAEC,aAAa,EAAE,GAAG,MAAM,mEAAA,QAAO;IACvC,OAAOA,gBAAgBC,KAAK,CAACC,mBAAW;AAC1C"}
|
|
@@ -4,7 +4,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
});
|
|
5
5
|
Object.defineProperty(exports, "registerAsync", {
|
|
6
6
|
enumerable: true,
|
|
7
|
-
get: ()
|
|
7
|
+
get: function() {
|
|
8
|
+
return registerAsync;
|
|
9
|
+
}
|
|
8
10
|
});
|
|
9
11
|
const _env = require("../utils/env");
|
|
10
12
|
const _errors = require("../utils/errors");
|
|
@@ -14,9 +16,9 @@ const _open = require("../utils/open");
|
|
|
14
16
|
const _ora = require("../utils/ora");
|
|
15
17
|
async function registerAsync() {
|
|
16
18
|
if (!(0, _interactive.isInteractive)()) {
|
|
17
|
-
throw new _errors.CommandError(
|
|
19
|
+
throw new _errors.CommandError('NON_INTERACTIVE', `Cannot register an account in CI. Use the EXPO_TOKEN environment variable to authenticate in CI (${(0, _link.learnMore)('https://docs.expo.dev/accounts/programmatic-access/')})`);
|
|
18
20
|
} else if (_env.env.EXPO_OFFLINE) {
|
|
19
|
-
throw new _errors.CommandError(
|
|
21
|
+
throw new _errors.CommandError('OFFLINE', `Cannot register an account in offline-mode`);
|
|
20
22
|
}
|
|
21
23
|
const registrationUrl = `https://expo.dev/signup`;
|
|
22
24
|
const failedMessage = `Unable to open a web browser. Register an account at: ${registrationUrl}`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/register/registerAsync.ts"],"sourcesContent":["import { env } from '../utils/env';\nimport { CommandError } from '../utils/errors';\nimport { isInteractive } from '../utils/interactive';\nimport { learnMore } from '../utils/link';\nimport { openBrowserAsync } from '../utils/open';\nimport { ora } from '../utils/ora';\n\nexport async function registerAsync() {\n if (!isInteractive()) {\n throw new CommandError(\n 'NON_INTERACTIVE',\n `Cannot register an account in CI. Use the EXPO_TOKEN environment variable to authenticate in CI (${learnMore(\n 'https://docs.expo.dev/accounts/programmatic-access/'\n )})`\n );\n } else if (env.EXPO_OFFLINE) {\n throw new CommandError('OFFLINE', `Cannot register an account in offline-mode`);\n }\n\n const registrationUrl = `https://expo.dev/signup`;\n const failedMessage = `Unable to open a web browser. Register an account at: ${registrationUrl}`;\n const spinner = ora(`Opening ${registrationUrl}`).start();\n try {\n const opened = await openBrowserAsync(registrationUrl);\n\n if (opened) {\n spinner.succeed(`Opened ${registrationUrl}`);\n } else {\n spinner.fail(failedMessage);\n }\n } catch (error) {\n spinner.fail(failedMessage);\n throw error;\n }\n}\n"],"names":["registerAsync","isInteractive","CommandError","learnMore","env","EXPO_OFFLINE","registrationUrl","failedMessage","spinner","ora","start","opened","openBrowserAsync","succeed","fail","error"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/register/registerAsync.ts"],"sourcesContent":["import { env } from '../utils/env';\nimport { CommandError } from '../utils/errors';\nimport { isInteractive } from '../utils/interactive';\nimport { learnMore } from '../utils/link';\nimport { openBrowserAsync } from '../utils/open';\nimport { ora } from '../utils/ora';\n\nexport async function registerAsync() {\n if (!isInteractive()) {\n throw new CommandError(\n 'NON_INTERACTIVE',\n `Cannot register an account in CI. Use the EXPO_TOKEN environment variable to authenticate in CI (${learnMore(\n 'https://docs.expo.dev/accounts/programmatic-access/'\n )})`\n );\n } else if (env.EXPO_OFFLINE) {\n throw new CommandError('OFFLINE', `Cannot register an account in offline-mode`);\n }\n\n const registrationUrl = `https://expo.dev/signup`;\n const failedMessage = `Unable to open a web browser. Register an account at: ${registrationUrl}`;\n const spinner = ora(`Opening ${registrationUrl}`).start();\n try {\n const opened = await openBrowserAsync(registrationUrl);\n\n if (opened) {\n spinner.succeed(`Opened ${registrationUrl}`);\n } else {\n spinner.fail(failedMessage);\n }\n } catch (error) {\n spinner.fail(failedMessage);\n throw error;\n }\n}\n"],"names":["registerAsync","isInteractive","CommandError","learnMore","env","EXPO_OFFLINE","registrationUrl","failedMessage","spinner","ora","start","opened","openBrowserAsync","succeed","fail","error"],"mappings":";;;;+BAOsBA;;;eAAAA;;;qBAPF;wBACS;6BACC;sBACJ;sBACO;qBACb;AAEb,eAAeA;IACpB,IAAI,CAACC,IAAAA,0BAAa,KAAI;QACpB,MAAM,IAAIC,oBAAY,CACpB,mBACA,CAAC,iGAAiG,EAAEC,IAAAA,eAAS,EAC3G,uDACA,CAAC,CAAC;IAER,OAAO,IAAIC,QAAG,CAACC,YAAY,EAAE;QAC3B,MAAM,IAAIH,oBAAY,CAAC,WAAW,CAAC,0CAA0C,CAAC;IAChF;IAEA,MAAMI,kBAAkB,CAAC,uBAAuB,CAAC;IACjD,MAAMC,gBAAgB,CAAC,sDAAsD,EAAED,iBAAiB;IAChG,MAAME,UAAUC,IAAAA,QAAG,EAAC,CAAC,QAAQ,EAAEH,iBAAiB,EAAEI,KAAK;IACvD,IAAI;QACF,MAAMC,SAAS,MAAMC,IAAAA,sBAAgB,EAACN;QAEtC,IAAIK,QAAQ;YACVH,QAAQK,OAAO,CAAC,CAAC,OAAO,EAAEP,iBAAiB;QAC7C,OAAO;YACLE,QAAQM,IAAI,CAACP;QACf;IACF,EAAE,OAAOQ,OAAO;QACdP,QAAQM,IAAI,CAACP;QACb,MAAMQ;IACR;AACF"}
|