@expo/cli 0.22.24 → 0.22.25
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 +10 -8
- 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 +53 -35
- 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 +39 -21
- 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 +71 -61
- 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 +67 -63
- package/build/src/export/exportApp.js.map +1 -1
- package/build/src/export/exportAssets.js +35 -27
- 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 +85 -63
- package/build/src/export/exportHermes.js.map +1 -1
- package/build/src/export/exportStaticAsync.js +72 -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 +42 -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 +400 -274
- 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 +13 -11
- 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 +46 -40
- package/build/src/prebuild/renameTemplateAppName.js.map +1 -1
- package/build/src/prebuild/resolveOptions.js +66 -52
- 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 +74 -56
- 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 +87 -73
- 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 +40 -36
- 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 +29 -21
- package/build/src/start/server/getStaticRenderFunctions.js.map +1 -1
- package/build/src/start/server/metro/DevToolsPluginWebsocketEndpoint.js +6 -4
- package/build/src/start/server/metro/DevToolsPluginWebsocketEndpoint.js.map +1 -1
- package/build/src/start/server/metro/MetroBundlerDevServer.js +269 -271
- 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/createExpoMetroResolver.js +46 -40
- package/build/src/start/server/metro/createExpoMetroResolver.js.map +1 -1
- package/build/src/start/server/metro/createJResolver.js +32 -28
- package/build/src/start/server/metro/createJResolver.js.map +1 -1
- package/build/src/start/server/metro/createServerComponentsMiddleware.js +96 -92
- package/build/src/start/server/metro/createServerComponentsMiddleware.js.map +1 -1
- package/build/src/start/server/metro/createServerRouteMiddleware.js +32 -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 +16 -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 +22 -18
- package/build/src/start/server/metro/getCssModulesFromBundler.js.map +1 -1
- package/build/src/start/server/metro/instantiateMetro.js +85 -79
- 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 +149 -139
- 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 +64 -60
- 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 +15 -14
- 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 +76 -54
- 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 +78 -68
- 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 +17 -13
- 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 +46 -28
- 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 +25 -21
- 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 +32 -26
- 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/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 +50 -36
- 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 +19 -15
- 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/RudderClient.js +10 -8
- package/build/src/utils/telemetry/clients/RudderClient.js.map +1 -1
- package/build/src/utils/telemetry/clients/RudderDetachedClient.js +26 -22
- package/build/src/utils/telemetry/clients/RudderDetachedClient.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/clients/flushRudderDetached.js +10 -10
- package/build/src/utils/telemetry/clients/flushRudderDetached.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/flushDetached.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 +3 -3
|
@@ -4,29 +4,31 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
});
|
|
5
5
|
Object.defineProperty(exports, "cloneTemplateAsync", {
|
|
6
6
|
enumerable: true,
|
|
7
|
-
get: ()
|
|
7
|
+
get: function() {
|
|
8
|
+
return cloneTemplateAsync;
|
|
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 _semver() {
|
|
17
|
-
const data = /*#__PURE__*/
|
|
19
|
+
const data = /*#__PURE__*/ _interop_require_default(require("semver"));
|
|
18
20
|
_semver = function() {
|
|
19
21
|
return data;
|
|
20
22
|
};
|
|
21
23
|
return data;
|
|
22
24
|
}
|
|
23
25
|
const _client = require("../api/rest/client");
|
|
24
|
-
const _log = /*#__PURE__*/
|
|
26
|
+
const _log = /*#__PURE__*/ _interop_require_wildcard(require("../log"));
|
|
25
27
|
const _createFileTransform = require("../utils/createFileTransform");
|
|
26
28
|
const _errors = require("../utils/errors");
|
|
27
29
|
const _npm = require("../utils/npm");
|
|
28
30
|
const _url = require("../utils/url");
|
|
29
|
-
function
|
|
31
|
+
function _interop_require_default(obj) {
|
|
30
32
|
return obj && obj.__esModule ? obj : {
|
|
31
33
|
default: obj
|
|
32
34
|
};
|
|
@@ -39,7 +41,7 @@ function _getRequireWildcardCache(nodeInterop) {
|
|
|
39
41
|
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
|
40
42
|
})(nodeInterop);
|
|
41
43
|
}
|
|
42
|
-
function
|
|
44
|
+
function _interop_require_wildcard(obj, nodeInterop) {
|
|
43
45
|
if (!nodeInterop && obj && obj.__esModule) {
|
|
44
46
|
return obj;
|
|
45
47
|
}
|
|
@@ -52,7 +54,9 @@ function _interopRequireWildcard(obj, nodeInterop) {
|
|
|
52
54
|
if (cache && cache.has(obj)) {
|
|
53
55
|
return cache.get(obj);
|
|
54
56
|
}
|
|
55
|
-
var newObj = {
|
|
57
|
+
var newObj = {
|
|
58
|
+
__proto__: null
|
|
59
|
+
};
|
|
56
60
|
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
57
61
|
for(var key in obj){
|
|
58
62
|
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
@@ -70,22 +74,22 @@ function _interopRequireWildcard(obj, nodeInterop) {
|
|
|
70
74
|
}
|
|
71
75
|
return newObj;
|
|
72
76
|
}
|
|
73
|
-
const debug = require(
|
|
74
|
-
async function cloneTemplateAsync({ templateDirectory
|
|
77
|
+
const debug = require('debug')('expo:prebuild:resolveTemplate');
|
|
78
|
+
async function cloneTemplateAsync({ templateDirectory, template, exp, ora }) {
|
|
75
79
|
if (template) {
|
|
76
80
|
const appName = exp.name;
|
|
77
|
-
const { type
|
|
78
|
-
if (type ===
|
|
81
|
+
const { type, uri } = template;
|
|
82
|
+
if (type === 'file') {
|
|
79
83
|
return await (0, _npm.extractLocalNpmTarballAsync)(uri, {
|
|
80
84
|
cwd: templateDirectory,
|
|
81
85
|
name: appName
|
|
82
86
|
});
|
|
83
|
-
} else if (type ===
|
|
87
|
+
} else if (type === 'npm') {
|
|
84
88
|
return await (0, _npm.downloadAndExtractNpmModuleAsync)(uri, {
|
|
85
89
|
cwd: templateDirectory,
|
|
86
90
|
name: appName
|
|
87
91
|
});
|
|
88
|
-
} else if (type ===
|
|
92
|
+
} else if (type === 'repository') {
|
|
89
93
|
return await resolveAndDownloadRepoTemplateAsync(templateDirectory, ora, appName, uri);
|
|
90
94
|
} else {
|
|
91
95
|
throw new Error(`Unknown template type: ${type}`);
|
|
@@ -100,15 +104,15 @@ async function cloneTemplateAsync({ templateDirectory , template , exp , ora })
|
|
|
100
104
|
}
|
|
101
105
|
/** Given an `sdkVersion` like `44.0.0` return a fully qualified NPM package name like: `expo-template-bare-minimum@sdk-44` */ function getTemplateNpmPackageName(sdkVersion) {
|
|
102
106
|
// When undefined or UNVERSIONED, we use the latest version.
|
|
103
|
-
if (!sdkVersion || sdkVersion ===
|
|
104
|
-
_log.log(
|
|
107
|
+
if (!sdkVersion || sdkVersion === 'UNVERSIONED') {
|
|
108
|
+
_log.log('Using an unspecified Expo SDK version. The latest template will be used.');
|
|
105
109
|
return `expo-template-bare-minimum@latest`;
|
|
106
110
|
}
|
|
107
111
|
return `expo-template-bare-minimum@sdk-${_semver().default.major(sdkVersion)}`;
|
|
108
112
|
}
|
|
109
113
|
async function getRepoInfo(url, examplePath) {
|
|
110
|
-
const [, username, name, t, _branch, ...file] = url.pathname.split(
|
|
111
|
-
const filePath = examplePath ? examplePath.replace(/^\//,
|
|
114
|
+
const [, username, name, t, _branch, ...file] = url.pathname.split('/');
|
|
115
|
+
const filePath = examplePath ? examplePath.replace(/^\//, '') : file.join('/');
|
|
112
116
|
// Support repos whose entire purpose is to be an example, e.g.
|
|
113
117
|
// https://github.com/:username/:my-cool-example-repo-name.
|
|
114
118
|
if (t === undefined) {
|
|
@@ -120,13 +124,13 @@ async function getRepoInfo(url, examplePath) {
|
|
|
120
124
|
return {
|
|
121
125
|
username,
|
|
122
126
|
name,
|
|
123
|
-
branch: info[
|
|
127
|
+
branch: info['default_branch'],
|
|
124
128
|
filePath
|
|
125
129
|
};
|
|
126
130
|
}
|
|
127
131
|
// If examplePath is available, the branch name takes the entire path
|
|
128
|
-
const branch = examplePath ? `${_branch}/${file.join(
|
|
129
|
-
if (username && name && branch && t ===
|
|
132
|
+
const branch = examplePath ? `${_branch}/${file.join('/')}`.replace(new RegExp(`/${filePath}|/$`), '') : _branch;
|
|
133
|
+
if (username && name && branch && t === 'tree') {
|
|
130
134
|
return {
|
|
131
135
|
username,
|
|
132
136
|
name,
|
|
@@ -136,30 +140,30 @@ async function getRepoInfo(url, examplePath) {
|
|
|
136
140
|
}
|
|
137
141
|
return undefined;
|
|
138
142
|
}
|
|
139
|
-
function hasRepo({ username
|
|
143
|
+
function hasRepo({ username, name, branch, filePath }) {
|
|
140
144
|
const contentsUrl = `https://api.github.com/repos/${username}/${name}/contents`;
|
|
141
|
-
const packagePath = `${filePath ? `/${filePath}` :
|
|
145
|
+
const packagePath = `${filePath ? `/${filePath}` : ''}/package.json`;
|
|
142
146
|
return (0, _url.isUrlOk)(contentsUrl + packagePath + `?ref=${branch}`);
|
|
143
147
|
}
|
|
144
|
-
async function downloadAndExtractRepoAsync({ username
|
|
148
|
+
async function downloadAndExtractRepoAsync({ username, name, branch, filePath }, props) {
|
|
145
149
|
const url = `https://codeload.github.com/${username}/${name}/tar.gz/${branch}`;
|
|
146
|
-
debug(
|
|
150
|
+
debug('Downloading tarball from:', url);
|
|
147
151
|
// Extract the (sub)directory into non-empty path segments
|
|
148
|
-
const directory = filePath.replace(/^\//,
|
|
152
|
+
const directory = filePath.replace(/^\//, '').split('/').filter(Boolean);
|
|
149
153
|
// Remove the (sub)directory paths, and the root folder added by GitHub
|
|
150
154
|
const strip = directory.length + 1;
|
|
151
155
|
// Only extract the relevant (sub)directories, ignoring irrelevant files
|
|
152
156
|
// The filder auto-ignores dotfiles, unless explicitly included
|
|
153
157
|
const filter = (0, _createFileTransform.createGlobFilter)(!directory.length ? [
|
|
154
|
-
|
|
155
|
-
|
|
158
|
+
'*/**',
|
|
159
|
+
'*/ios/.xcode.env'
|
|
156
160
|
] : [
|
|
157
|
-
`*/${directory.join(
|
|
158
|
-
`*/${directory.join(
|
|
161
|
+
`*/${directory.join('/')}/**`,
|
|
162
|
+
`*/${directory.join('/')}/ios/.xcode.env`
|
|
159
163
|
], {
|
|
160
164
|
// Always ignore the `.xcworkspace` folder
|
|
161
165
|
ignore: [
|
|
162
|
-
|
|
166
|
+
'**/ios/*.xcworkspace/**'
|
|
163
167
|
]
|
|
164
168
|
});
|
|
165
169
|
return await (0, _npm.extractNpmTarballFromUrlAsync)(url, {
|
|
@@ -173,7 +177,7 @@ async function resolveAndDownloadRepoTemplateAsync(templateDirectory, oraInstanc
|
|
|
173
177
|
try {
|
|
174
178
|
repoUrl = new URL(template);
|
|
175
179
|
} catch (error) {
|
|
176
|
-
if (error.code !==
|
|
180
|
+
if (error.code !== 'ERR_INVALID_URL') {
|
|
177
181
|
oraInstance.fail(error);
|
|
178
182
|
throw error;
|
|
179
183
|
}
|
|
@@ -182,7 +186,7 @@ async function resolveAndDownloadRepoTemplateAsync(templateDirectory, oraInstanc
|
|
|
182
186
|
oraInstance.fail(`Invalid URL: ${_chalk().default.red(`"${template}"`)}. Please use a valid URL and try again.`);
|
|
183
187
|
throw new _errors.AbortCommandError();
|
|
184
188
|
}
|
|
185
|
-
if (repoUrl.origin !==
|
|
189
|
+
if (repoUrl.origin !== 'https://github.com') {
|
|
186
190
|
oraInstance.fail(`Invalid URL: ${_chalk().default.red(`"${template}"`)}. Only GitHub repositories are supported. Please use a GitHub URL and try again.`);
|
|
187
191
|
throw new _errors.AbortCommandError();
|
|
188
192
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/prebuild/resolveTemplate.ts"],"sourcesContent":["import { ExpoConfig } from '@expo/config';\nimport chalk from 'chalk';\nimport { Ora } from 'ora';\nimport semver from 'semver';\n\nimport { type ResolvedTemplateOption } from './resolveOptions';\nimport { fetchAsync } from '../api/rest/client';\nimport * as Log from '../log';\nimport { createGlobFilter } from '../utils/createFileTransform';\nimport { AbortCommandError } from '../utils/errors';\nimport {\n ExtractProps,\n downloadAndExtractNpmModuleAsync,\n extractLocalNpmTarballAsync,\n extractNpmTarballFromUrlAsync,\n} from '../utils/npm';\nimport { isUrlOk } from '../utils/url';\n\nconst debug = require('debug')('expo:prebuild:resolveTemplate') as typeof console.log;\n\ntype RepoInfo = {\n username: string;\n name: string;\n branch: string;\n filePath: string;\n};\n\nexport async function cloneTemplateAsync({\n templateDirectory,\n template,\n exp,\n ora,\n}: {\n templateDirectory: string;\n template?: ResolvedTemplateOption;\n exp: Pick<ExpoConfig, 'name' | 'sdkVersion'>;\n ora: Ora;\n}): Promise<string> {\n if (template) {\n const appName = exp.name;\n const { type, uri } = template;\n if (type === 'file') {\n return await extractLocalNpmTarballAsync(uri, {\n cwd: templateDirectory,\n name: appName,\n });\n } else if (type === 'npm') {\n return await downloadAndExtractNpmModuleAsync(uri, {\n cwd: templateDirectory,\n name: appName,\n });\n } else if (type === 'repository') {\n return await resolveAndDownloadRepoTemplateAsync(templateDirectory, ora, appName, uri);\n } else {\n throw new Error(`Unknown template type: ${type}`);\n }\n } else {\n const templatePackageName = await getTemplateNpmPackageName(exp.sdkVersion);\n return await downloadAndExtractNpmModuleAsync(templatePackageName, {\n cwd: templateDirectory,\n name: exp.name,\n });\n }\n}\n\n/** Given an `sdkVersion` like `44.0.0` return a fully qualified NPM package name like: `expo-template-bare-minimum@sdk-44` */\nfunction getTemplateNpmPackageName(sdkVersion?: string): string {\n // When undefined or UNVERSIONED, we use the latest version.\n if (!sdkVersion || sdkVersion === 'UNVERSIONED') {\n Log.log('Using an unspecified Expo SDK version. The latest template will be used.');\n return `expo-template-bare-minimum@latest`;\n }\n return `expo-template-bare-minimum@sdk-${semver.major(sdkVersion)}`;\n}\n\nasync function getRepoInfo(url: any, examplePath?: string): Promise<RepoInfo | undefined> {\n const [, username, name, t, _branch, ...file] = url.pathname.split('/');\n const filePath = examplePath ? examplePath.replace(/^\\//, '') : file.join('/');\n\n // Support repos whose entire purpose is to be an example, e.g.\n // https://github.com/:username/:my-cool-example-repo-name.\n if (t === undefined) {\n const infoResponse = await fetchAsync(`https://api.github.com/repos/${username}/${name}`);\n if (infoResponse.status !== 200) {\n return;\n }\n const info: any = await infoResponse.json();\n return { username, name, branch: info['default_branch'], filePath };\n }\n\n // If examplePath is available, the branch name takes the entire path\n const branch = examplePath\n ? `${_branch}/${file.join('/')}`.replace(new RegExp(`/${filePath}|/$`), '')\n : _branch;\n\n if (username && name && branch && t === 'tree') {\n return { username, name, branch, filePath };\n }\n return undefined;\n}\n\nfunction hasRepo({ username, name, branch, filePath }: RepoInfo) {\n const contentsUrl = `https://api.github.com/repos/${username}/${name}/contents`;\n const packagePath = `${filePath ? `/${filePath}` : ''}/package.json`;\n\n return isUrlOk(contentsUrl + packagePath + `?ref=${branch}`);\n}\n\nasync function downloadAndExtractRepoAsync(\n { username, name, branch, filePath }: RepoInfo,\n props: ExtractProps\n): Promise<string> {\n const url = `https://codeload.github.com/${username}/${name}/tar.gz/${branch}`;\n\n debug('Downloading tarball from:', url);\n\n // Extract the (sub)directory into non-empty path segments\n const directory = filePath.replace(/^\\//, '').split('/').filter(Boolean);\n // Remove the (sub)directory paths, and the root folder added by GitHub\n const strip = directory.length + 1;\n // Only extract the relevant (sub)directories, ignoring irrelevant files\n // The filder auto-ignores dotfiles, unless explicitly included\n const filter = createGlobFilter(\n !directory.length\n ? ['*/**', '*/ios/.xcode.env']\n : [`*/${directory.join('/')}/**`, `*/${directory.join('/')}/ios/.xcode.env`],\n {\n // Always ignore the `.xcworkspace` folder\n ignore: ['**/ios/*.xcworkspace/**'],\n }\n );\n\n return await extractNpmTarballFromUrlAsync(url, { ...props, strip, filter });\n}\n\nasync function resolveAndDownloadRepoTemplateAsync(\n templateDirectory: string,\n oraInstance: Ora,\n appName: string,\n template: string,\n templatePath?: string\n) {\n let repoUrl: URL | undefined;\n\n try {\n repoUrl = new URL(template);\n } catch (error: any) {\n if (error.code !== 'ERR_INVALID_URL') {\n oraInstance.fail(error);\n throw error;\n }\n }\n if (!repoUrl) {\n oraInstance.fail(\n `Invalid URL: ${chalk.red(`\"${template}\"`)}. Please use a valid URL and try again.`\n );\n throw new AbortCommandError();\n }\n\n if (repoUrl.origin !== 'https://github.com') {\n oraInstance.fail(\n `Invalid URL: ${chalk.red(\n `\"${template}\"`\n )}. Only GitHub repositories are supported. Please use a GitHub URL and try again.`\n );\n throw new AbortCommandError();\n }\n\n const repoInfo = await getRepoInfo(repoUrl, templatePath);\n\n if (!repoInfo) {\n oraInstance.fail(\n `Found invalid GitHub URL: ${chalk.red(`\"${template}\"`)}. Please fix the URL and try again.`\n );\n throw new AbortCommandError();\n }\n\n const found = await hasRepo(repoInfo);\n\n if (!found) {\n oraInstance.fail(\n `Could not locate the repository for ${chalk.red(\n `\"${template}\"`\n )}. Please check that the repository exists and try again.`\n );\n throw new AbortCommandError();\n }\n\n oraInstance.text = chalk.bold(\n `Downloading files from repo ${chalk.cyan(template)}. This might take a moment.`\n );\n\n return await downloadAndExtractRepoAsync(repoInfo, {\n cwd: templateDirectory,\n name: appName,\n });\n}\n"],"names":["cloneTemplateAsync","debug","require","templateDirectory","template","exp","ora","appName","name","type","uri","extractLocalNpmTarballAsync","cwd","downloadAndExtractNpmModuleAsync","resolveAndDownloadRepoTemplateAsync","Error","templatePackageName","getTemplateNpmPackageName","sdkVersion","Log","log","semver","major","getRepoInfo","url","examplePath","username","t","_branch","file","pathname","split","filePath","replace","join","undefined","infoResponse","fetchAsync","status","info","json","branch","RegExp","hasRepo","contentsUrl","packagePath","isUrlOk","downloadAndExtractRepoAsync","props","directory","filter","Boolean","strip","length","createGlobFilter","ignore","extractNpmTarballFromUrlAsync","oraInstance","templatePath","repoUrl","URL","error","code","fail","chalk","red","AbortCommandError","origin","repoInfo","found","text","bold","cyan"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../src/prebuild/resolveTemplate.ts"],"sourcesContent":["import { ExpoConfig } from '@expo/config';\nimport chalk from 'chalk';\nimport { Ora } from 'ora';\nimport semver from 'semver';\n\nimport { type ResolvedTemplateOption } from './resolveOptions';\nimport { fetchAsync } from '../api/rest/client';\nimport * as Log from '../log';\nimport { createGlobFilter } from '../utils/createFileTransform';\nimport { AbortCommandError } from '../utils/errors';\nimport {\n ExtractProps,\n downloadAndExtractNpmModuleAsync,\n extractLocalNpmTarballAsync,\n extractNpmTarballFromUrlAsync,\n} from '../utils/npm';\nimport { isUrlOk } from '../utils/url';\n\nconst debug = require('debug')('expo:prebuild:resolveTemplate') as typeof console.log;\n\ntype RepoInfo = {\n username: string;\n name: string;\n branch: string;\n filePath: string;\n};\n\nexport async function cloneTemplateAsync({\n templateDirectory,\n template,\n exp,\n ora,\n}: {\n templateDirectory: string;\n template?: ResolvedTemplateOption;\n exp: Pick<ExpoConfig, 'name' | 'sdkVersion'>;\n ora: Ora;\n}): Promise<string> {\n if (template) {\n const appName = exp.name;\n const { type, uri } = template;\n if (type === 'file') {\n return await extractLocalNpmTarballAsync(uri, {\n cwd: templateDirectory,\n name: appName,\n });\n } else if (type === 'npm') {\n return await downloadAndExtractNpmModuleAsync(uri, {\n cwd: templateDirectory,\n name: appName,\n });\n } else if (type === 'repository') {\n return await resolveAndDownloadRepoTemplateAsync(templateDirectory, ora, appName, uri);\n } else {\n throw new Error(`Unknown template type: ${type}`);\n }\n } else {\n const templatePackageName = await getTemplateNpmPackageName(exp.sdkVersion);\n return await downloadAndExtractNpmModuleAsync(templatePackageName, {\n cwd: templateDirectory,\n name: exp.name,\n });\n }\n}\n\n/** Given an `sdkVersion` like `44.0.0` return a fully qualified NPM package name like: `expo-template-bare-minimum@sdk-44` */\nfunction getTemplateNpmPackageName(sdkVersion?: string): string {\n // When undefined or UNVERSIONED, we use the latest version.\n if (!sdkVersion || sdkVersion === 'UNVERSIONED') {\n Log.log('Using an unspecified Expo SDK version. The latest template will be used.');\n return `expo-template-bare-minimum@latest`;\n }\n return `expo-template-bare-minimum@sdk-${semver.major(sdkVersion)}`;\n}\n\nasync function getRepoInfo(url: any, examplePath?: string): Promise<RepoInfo | undefined> {\n const [, username, name, t, _branch, ...file] = url.pathname.split('/');\n const filePath = examplePath ? examplePath.replace(/^\\//, '') : file.join('/');\n\n // Support repos whose entire purpose is to be an example, e.g.\n // https://github.com/:username/:my-cool-example-repo-name.\n if (t === undefined) {\n const infoResponse = await fetchAsync(`https://api.github.com/repos/${username}/${name}`);\n if (infoResponse.status !== 200) {\n return;\n }\n const info: any = await infoResponse.json();\n return { username, name, branch: info['default_branch'], filePath };\n }\n\n // If examplePath is available, the branch name takes the entire path\n const branch = examplePath\n ? `${_branch}/${file.join('/')}`.replace(new RegExp(`/${filePath}|/$`), '')\n : _branch;\n\n if (username && name && branch && t === 'tree') {\n return { username, name, branch, filePath };\n }\n return undefined;\n}\n\nfunction hasRepo({ username, name, branch, filePath }: RepoInfo) {\n const contentsUrl = `https://api.github.com/repos/${username}/${name}/contents`;\n const packagePath = `${filePath ? `/${filePath}` : ''}/package.json`;\n\n return isUrlOk(contentsUrl + packagePath + `?ref=${branch}`);\n}\n\nasync function downloadAndExtractRepoAsync(\n { username, name, branch, filePath }: RepoInfo,\n props: ExtractProps\n): Promise<string> {\n const url = `https://codeload.github.com/${username}/${name}/tar.gz/${branch}`;\n\n debug('Downloading tarball from:', url);\n\n // Extract the (sub)directory into non-empty path segments\n const directory = filePath.replace(/^\\//, '').split('/').filter(Boolean);\n // Remove the (sub)directory paths, and the root folder added by GitHub\n const strip = directory.length + 1;\n // Only extract the relevant (sub)directories, ignoring irrelevant files\n // The filder auto-ignores dotfiles, unless explicitly included\n const filter = createGlobFilter(\n !directory.length\n ? ['*/**', '*/ios/.xcode.env']\n : [`*/${directory.join('/')}/**`, `*/${directory.join('/')}/ios/.xcode.env`],\n {\n // Always ignore the `.xcworkspace` folder\n ignore: ['**/ios/*.xcworkspace/**'],\n }\n );\n\n return await extractNpmTarballFromUrlAsync(url, { ...props, strip, filter });\n}\n\nasync function resolveAndDownloadRepoTemplateAsync(\n templateDirectory: string,\n oraInstance: Ora,\n appName: string,\n template: string,\n templatePath?: string\n) {\n let repoUrl: URL | undefined;\n\n try {\n repoUrl = new URL(template);\n } catch (error: any) {\n if (error.code !== 'ERR_INVALID_URL') {\n oraInstance.fail(error);\n throw error;\n }\n }\n if (!repoUrl) {\n oraInstance.fail(\n `Invalid URL: ${chalk.red(`\"${template}\"`)}. Please use a valid URL and try again.`\n );\n throw new AbortCommandError();\n }\n\n if (repoUrl.origin !== 'https://github.com') {\n oraInstance.fail(\n `Invalid URL: ${chalk.red(\n `\"${template}\"`\n )}. Only GitHub repositories are supported. Please use a GitHub URL and try again.`\n );\n throw new AbortCommandError();\n }\n\n const repoInfo = await getRepoInfo(repoUrl, templatePath);\n\n if (!repoInfo) {\n oraInstance.fail(\n `Found invalid GitHub URL: ${chalk.red(`\"${template}\"`)}. Please fix the URL and try again.`\n );\n throw new AbortCommandError();\n }\n\n const found = await hasRepo(repoInfo);\n\n if (!found) {\n oraInstance.fail(\n `Could not locate the repository for ${chalk.red(\n `\"${template}\"`\n )}. Please check that the repository exists and try again.`\n );\n throw new AbortCommandError();\n }\n\n oraInstance.text = chalk.bold(\n `Downloading files from repo ${chalk.cyan(template)}. This might take a moment.`\n );\n\n return await downloadAndExtractRepoAsync(repoInfo, {\n cwd: templateDirectory,\n name: appName,\n });\n}\n"],"names":["cloneTemplateAsync","debug","require","templateDirectory","template","exp","ora","appName","name","type","uri","extractLocalNpmTarballAsync","cwd","downloadAndExtractNpmModuleAsync","resolveAndDownloadRepoTemplateAsync","Error","templatePackageName","getTemplateNpmPackageName","sdkVersion","Log","log","semver","major","getRepoInfo","url","examplePath","username","t","_branch","file","pathname","split","filePath","replace","join","undefined","infoResponse","fetchAsync","status","info","json","branch","RegExp","hasRepo","contentsUrl","packagePath","isUrlOk","downloadAndExtractRepoAsync","props","directory","filter","Boolean","strip","length","createGlobFilter","ignore","extractNpmTarballFromUrlAsync","oraInstance","templatePath","repoUrl","URL","error","code","fail","chalk","red","AbortCommandError","origin","repoInfo","found","text","bold","cyan"],"mappings":"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"}
|
|
@@ -9,11 +9,15 @@ function _export(target, all) {
|
|
|
9
9
|
});
|
|
10
10
|
}
|
|
11
11
|
_export(exports, {
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
cloneTemplateAndCopyToProjectAsync: function() {
|
|
13
|
+
return cloneTemplateAndCopyToProjectAsync;
|
|
14
|
+
},
|
|
15
|
+
updateFromTemplateAsync: function() {
|
|
16
|
+
return updateFromTemplateAsync;
|
|
17
|
+
}
|
|
14
18
|
});
|
|
15
19
|
function _chalk() {
|
|
16
|
-
const data = /*#__PURE__*/
|
|
20
|
+
const data = /*#__PURE__*/ _interop_require_default(require("chalk"));
|
|
17
21
|
_chalk = function() {
|
|
18
22
|
return data;
|
|
19
23
|
};
|
|
@@ -24,12 +28,12 @@ const _renameTemplateAppName = require("./renameTemplateAppName");
|
|
|
24
28
|
const _resolveTemplate = require("./resolveTemplate");
|
|
25
29
|
const _updatePackageJson = require("./updatePackageJson");
|
|
26
30
|
const _validateTemplatePlatforms = require("./validateTemplatePlatforms");
|
|
27
|
-
const _log = /*#__PURE__*/
|
|
31
|
+
const _log = /*#__PURE__*/ _interop_require_wildcard(require("../log"));
|
|
28
32
|
const _createTempPath = require("../utils/createTempPath");
|
|
29
33
|
const _errors = require("../utils/errors");
|
|
30
34
|
const _ora = require("../utils/ora");
|
|
31
35
|
const _profile = require("../utils/profile");
|
|
32
|
-
function
|
|
36
|
+
function _interop_require_default(obj) {
|
|
33
37
|
return obj && obj.__esModule ? obj : {
|
|
34
38
|
default: obj
|
|
35
39
|
};
|
|
@@ -42,7 +46,7 @@ function _getRequireWildcardCache(nodeInterop) {
|
|
|
42
46
|
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
|
43
47
|
})(nodeInterop);
|
|
44
48
|
}
|
|
45
|
-
function
|
|
49
|
+
function _interop_require_wildcard(obj, nodeInterop) {
|
|
46
50
|
if (!nodeInterop && obj && obj.__esModule) {
|
|
47
51
|
return obj;
|
|
48
52
|
}
|
|
@@ -55,7 +59,9 @@ function _interopRequireWildcard(obj, nodeInterop) {
|
|
|
55
59
|
if (cache && cache.has(obj)) {
|
|
56
60
|
return cache.get(obj);
|
|
57
61
|
}
|
|
58
|
-
var newObj = {
|
|
62
|
+
var newObj = {
|
|
63
|
+
__proto__: null
|
|
64
|
+
};
|
|
59
65
|
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
60
66
|
for(var key in obj){
|
|
61
67
|
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
@@ -73,11 +79,11 @@ function _interopRequireWildcard(obj, nodeInterop) {
|
|
|
73
79
|
}
|
|
74
80
|
return newObj;
|
|
75
81
|
}
|
|
76
|
-
async function updateFromTemplateAsync(projectRoot, { exp
|
|
82
|
+
async function updateFromTemplateAsync(projectRoot, { exp, pkg, template, templateDirectory, platforms, skipDependencyUpdate }) {
|
|
77
83
|
if (!templateDirectory) {
|
|
78
84
|
templateDirectory = (0, _createTempPath.createTempDirectoryPath)();
|
|
79
85
|
}
|
|
80
|
-
const { copiedPaths
|
|
86
|
+
const { copiedPaths, templateChecksum } = await (0, _profile.profile)(cloneTemplateAndCopyToProjectAsync)({
|
|
81
87
|
projectRoot,
|
|
82
88
|
template,
|
|
83
89
|
templateDirectory,
|
|
@@ -92,14 +98,14 @@ async function updateFromTemplateAsync(projectRoot, { exp , pkg , template , tem
|
|
|
92
98
|
return {
|
|
93
99
|
hasNewProjectFiles: !!copiedPaths.length,
|
|
94
100
|
// If the iOS folder changes or new packages are added, we should rerun pod install.
|
|
95
|
-
needsPodInstall: copiedPaths.includes(
|
|
101
|
+
needsPodInstall: copiedPaths.includes('ios') || !!depsResults.changedDependencies.length,
|
|
96
102
|
templateChecksum,
|
|
97
103
|
...depsResults
|
|
98
104
|
};
|
|
99
105
|
}
|
|
100
|
-
async function cloneTemplateAndCopyToProjectAsync({ projectRoot
|
|
101
|
-
const platformDirectories = unknownPlatforms.map((platform)=>`./${platform}`).reverse().join(
|
|
102
|
-
const pluralized = unknownPlatforms.length > 1 ?
|
|
106
|
+
async function cloneTemplateAndCopyToProjectAsync({ projectRoot, templateDirectory, template, exp, platforms: unknownPlatforms }) {
|
|
107
|
+
const platformDirectories = unknownPlatforms.map((platform)=>`./${platform}`).reverse().join(' and ');
|
|
108
|
+
const pluralized = unknownPlatforms.length > 1 ? 'directories' : 'directory';
|
|
103
109
|
const ora = (0, _ora.logNewSection)(`Creating native ${pluralized} (${platformDirectories})`);
|
|
104
110
|
try {
|
|
105
111
|
const templateChecksum = await (0, _resolveTemplate.cloneTemplateAsync)({
|
|
@@ -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.
|