@expo/cli 0.22.25 → 0.22.26
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 +91 -93
- package/build/bin/cli.map +1 -1
- package/build/metro-require/require.js +52 -53
- package/build/src/api/endpoint.js +2 -6
- package/build/src/api/endpoint.js.map +1 -1
- package/build/src/api/getExpoGoIntermediateCertificate.js +3 -5
- package/build/src/api/getExpoGoIntermediateCertificate.js.map +1 -1
- package/build/src/api/getExpoSchema.js +12 -16
- package/build/src/api/getExpoSchema.js.map +1 -1
- package/build/src/api/getNativeModuleVersions.js +4 -6
- package/build/src/api/getNativeModuleVersions.js.map +1 -1
- package/build/src/api/getProjectDevelopmentCertificate.js +3 -5
- package/build/src/api/getProjectDevelopmentCertificate.js.map +1 -1
- package/build/src/api/getVersions.js +5 -7
- package/build/src/api/getVersions.js.map +1 -1
- package/build/src/api/graphql/client.js +26 -32
- package/build/src/api/graphql/client.js.map +1 -1
- package/build/src/api/graphql/queries/AppQuery.js +4 -6
- package/build/src/api/graphql/queries/AppQuery.js.map +1 -1
- package/build/src/api/graphql/queries/UserQuery.js +3 -5
- package/build/src/api/graphql/queries/UserQuery.js.map +1 -1
- package/build/src/api/graphql/types/App.js +1 -3
- package/build/src/api/graphql/types/App.js.map +1 -1
- package/build/src/api/rest/cache/FileSystemResponseCache.js +8 -10
- package/build/src/api/rest/cache/FileSystemResponseCache.js.map +1 -1
- package/build/src/api/rest/cache/ResponseCache.js +12 -20
- package/build/src/api/rest/cache/ResponseCache.js.map +1 -1
- package/build/src/api/rest/cache/wrapFetchWithCache.js +11 -13
- package/build/src/api/rest/cache/wrapFetchWithCache.js.map +1 -1
- package/build/src/api/rest/client.js +35 -53
- 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 +3 -5
- package/build/src/api/rest/wrapFetchWithBaseUrl.js.map +1 -1
- package/build/src/api/rest/wrapFetchWithOffline.js +3 -5
- package/build/src/api/rest/wrapFetchWithOffline.js.map +1 -1
- package/build/src/api/rest/wrapFetchWithProgress.js +7 -11
- package/build/src/api/rest/wrapFetchWithProgress.js.map +1 -1
- package/build/src/api/rest/wrapFetchWithProxy.js +3 -5
- package/build/src/api/rest/wrapFetchWithProxy.js.map +1 -1
- package/build/src/api/rest/wrapFetchWithUserAgent.js +6 -8
- package/build/src/api/rest/wrapFetchWithUserAgent.js.map +1 -1
- package/build/src/api/settings.js +5 -7
- package/build/src/api/settings.js.map +1 -1
- package/build/src/api/updateDevelopmentSession.js +17 -23
- package/build/src/api/updateDevelopmentSession.js.map +1 -1
- package/build/src/api/user/UserSettings.js +21 -39
- package/build/src/api/user/UserSettings.js.map +1 -1
- package/build/src/api/user/actions.js +21 -27
- package/build/src/api/user/actions.js.map +1 -1
- package/build/src/api/user/expoSsoLauncher.js +26 -30
- package/build/src/api/user/expoSsoLauncher.js.map +1 -1
- package/build/src/api/user/otp.js +29 -35
- package/build/src/api/user/otp.js.map +1 -1
- package/build/src/api/user/user.js +30 -44
- package/build/src/api/user/user.js.map +1 -1
- package/build/src/config/configAsync.js +23 -29
- package/build/src/config/configAsync.js.map +1 -1
- package/build/src/config/index.js +21 -25
- package/build/src/config/index.js.map +1 -1
- package/build/src/customize/customizeAsync.js +6 -8
- package/build/src/customize/customizeAsync.js.map +1 -1
- package/build/src/customize/generate.js +16 -20
- package/build/src/customize/generate.js.map +1 -1
- package/build/src/customize/index.js +12 -14
- package/build/src/customize/index.js.map +1 -1
- package/build/src/customize/resolveOptions.js +2 -4
- package/build/src/customize/resolveOptions.js.map +1 -1
- package/build/src/customize/templates.js +54 -58
- package/build/src/customize/templates.js.map +1 -1
- package/build/src/customize/typescript.js +7 -11
- package/build/src/customize/typescript.js.map +1 -1
- package/build/src/export/createMetadataJson.js +9 -11
- package/build/src/export/createMetadataJson.js.map +1 -1
- package/build/src/export/embed/exportEager.js +6 -8
- package/build/src/export/embed/exportEager.js.map +1 -1
- package/build/src/export/embed/exportEmbedAsync.js +61 -71
- package/build/src/export/embed/exportEmbedAsync.js.map +1 -1
- package/build/src/export/embed/exportServer.js +55 -57
- package/build/src/export/embed/exportServer.js.map +1 -1
- package/build/src/export/embed/index.js +40 -44
- package/build/src/export/embed/index.js.map +1 -1
- package/build/src/export/embed/resolveOptions.js +36 -44
- package/build/src/export/embed/resolveOptions.js.map +1 -1
- package/build/src/export/embed/xcodeCompilerLogger.js +27 -39
- package/build/src/export/embed/xcodeCompilerLogger.js.map +1 -1
- package/build/src/export/exportApp.js +63 -67
- package/build/src/export/exportApp.js.map +1 -1
- package/build/src/export/exportAssets.js +27 -35
- package/build/src/export/exportAssets.js.map +1 -1
- package/build/src/export/exportAsync.js +9 -13
- package/build/src/export/exportAsync.js.map +1 -1
- package/build/src/export/exportDomComponents.js +45 -53
- package/build/src/export/exportDomComponents.js.map +1 -1
- package/build/src/export/exportHermes.js +63 -85
- package/build/src/export/exportHermes.js.map +1 -1
- package/build/src/export/exportStaticAsync.js +62 -72
- package/build/src/export/exportStaticAsync.js.map +1 -1
- package/build/src/export/favicon.js +27 -33
- package/build/src/export/favicon.js.map +1 -1
- package/build/src/export/getPublicExpoManifest.js +5 -7
- package/build/src/export/getPublicExpoManifest.js.map +1 -1
- package/build/src/export/getResolvedLocales.js +9 -11
- package/build/src/export/getResolvedLocales.js.map +1 -1
- package/build/src/export/html.js +6 -10
- package/build/src/export/html.js.map +1 -1
- package/build/src/export/index.js +28 -32
- package/build/src/export/index.js.map +1 -1
- package/build/src/export/metroAssetLocalPath.js +30 -36
- package/build/src/export/metroAssetLocalPath.js.map +1 -1
- package/build/src/export/persistMetroAssets.js +34 -42
- package/build/src/export/persistMetroAssets.js.map +1 -1
- package/build/src/export/publicFolder.js +6 -10
- package/build/src/export/publicFolder.js.map +1 -1
- package/build/src/export/resolveOptions.js +24 -28
- package/build/src/export/resolveOptions.js.map +1 -1
- package/build/src/export/saveAssets.js +46 -50
- package/build/src/export/saveAssets.js.map +1 -1
- package/build/src/export/web/exportWebAsync.js +11 -13
- package/build/src/export/web/exportWebAsync.js.map +1 -1
- package/build/src/export/web/index.js +15 -19
- package/build/src/export/web/index.js.map +1 -1
- package/build/src/export/web/resolveOptions.js +3 -5
- package/build/src/export/web/resolveOptions.js.map +1 -1
- package/build/src/export/writeContents.js +2 -4
- package/build/src/export/writeContents.js.map +1 -1
- package/build/src/graphql/generated.js +274 -400
- package/build/src/graphql/generated.js.map +1 -1
- package/build/src/install/applyPlugins.js +7 -11
- package/build/src/install/applyPlugins.js.map +1 -1
- package/build/src/install/checkPackages.js +22 -26
- package/build/src/install/checkPackages.js.map +1 -1
- package/build/src/install/fixPackages.js +12 -16
- package/build/src/install/fixPackages.js.map +1 -1
- package/build/src/install/index.js +16 -18
- package/build/src/install/index.js.map +1 -1
- package/build/src/install/installAsync.js +26 -32
- package/build/src/install/installAsync.js.map +1 -1
- package/build/src/install/installExpoPackage.js +18 -22
- package/build/src/install/installExpoPackage.js.map +1 -1
- package/build/src/install/resolveOptions.js +19 -21
- package/build/src/install/resolveOptions.js.map +1 -1
- package/build/src/install/utils/autoAddConfigPlugins.js +14 -18
- package/build/src/install/utils/autoAddConfigPlugins.js.map +1 -1
- package/build/src/install/utils/checkPackagesCompatibility.js +11 -13
- package/build/src/install/utils/checkPackagesCompatibility.js.map +1 -1
- package/build/src/lint/ESlintPrerequisite.js +44 -50
- package/build/src/lint/ESlintPrerequisite.js.map +1 -1
- package/build/src/lint/index.js +8 -12
- package/build/src/lint/index.js.map +1 -1
- package/build/src/lint/lintAsync.js +8 -10
- package/build/src/lint/lintAsync.js.map +1 -1
- package/build/src/log.js +16 -36
- package/build/src/log.js.map +1 -1
- package/build/src/login/index.js +20 -24
- package/build/src/login/index.js.map +1 -1
- package/build/src/logout/index.js +7 -11
- package/build/src/logout/index.js.map +1 -1
- package/build/src/prebuild/clearNativeFolder.js +26 -38
- package/build/src/prebuild/clearNativeFolder.js.map +1 -1
- package/build/src/prebuild/configureProjectAsync.js +14 -18
- package/build/src/prebuild/configureProjectAsync.js.map +1 -1
- package/build/src/prebuild/copyTemplateFiles.js +13 -17
- package/build/src/prebuild/copyTemplateFiles.js.map +1 -1
- package/build/src/prebuild/ensureConfigAsync.js +4 -6
- package/build/src/prebuild/ensureConfigAsync.js.map +1 -1
- package/build/src/prebuild/index.js +32 -36
- package/build/src/prebuild/index.js.map +1 -1
- package/build/src/prebuild/prebuildAsync.js +25 -29
- package/build/src/prebuild/prebuildAsync.js.map +1 -1
- package/build/src/prebuild/renameTemplateAppName.js +40 -46
- package/build/src/prebuild/renameTemplateAppName.js.map +1 -1
- package/build/src/prebuild/resolveOptions.js +52 -66
- package/build/src/prebuild/resolveOptions.js.map +1 -1
- package/build/src/prebuild/resolveTemplate.js +32 -36
- package/build/src/prebuild/resolveTemplate.js.map +1 -1
- package/build/src/prebuild/updateFromTemplate.js +13 -19
- package/build/src/prebuild/updateFromTemplate.js.map +1 -1
- package/build/src/prebuild/updatePackageJson.js +39 -53
- package/build/src/prebuild/updatePackageJson.js.map +1 -1
- package/build/src/prebuild/validateTemplatePlatforms.js +8 -12
- package/build/src/prebuild/validateTemplatePlatforms.js.map +1 -1
- package/build/src/register/index.js +7 -11
- package/build/src/register/index.js.map +1 -1
- package/build/src/register/registerAsync.js +3 -5
- package/build/src/register/registerAsync.js.map +1 -1
- package/build/src/run/android/index.js +32 -36
- package/build/src/run/android/index.js.map +1 -1
- package/build/src/run/android/resolveDevice.js +8 -10
- package/build/src/run/android/resolveDevice.js.map +1 -1
- package/build/src/run/android/resolveGradlePropsAsync.js +16 -18
- package/build/src/run/android/resolveGradlePropsAsync.js.map +1 -1
- package/build/src/run/android/resolveInstallApkName.js +15 -17
- package/build/src/run/android/resolveInstallApkName.js.map +1 -1
- package/build/src/run/android/resolveLaunchProps.js +10 -12
- package/build/src/run/android/resolveLaunchProps.js.map +1 -1
- package/build/src/run/android/resolveOptions.js +2 -4
- package/build/src/run/android/resolveOptions.js.map +1 -1
- package/build/src/run/android/runAndroidAsync.js +21 -23
- package/build/src/run/android/runAndroidAsync.js.map +1 -1
- package/build/src/run/ensureNativeProject.js +5 -7
- package/build/src/run/ensureNativeProject.js.map +1 -1
- package/build/src/run/hints.js +7 -13
- package/build/src/run/hints.js.map +1 -1
- package/build/src/run/index.js +23 -27
- package/build/src/run/index.js.map +1 -1
- package/build/src/run/ios/XcodeBuild.js +56 -74
- 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 +63 -69
- package/build/src/run/ios/appleDevice/AppleDevice.js.map +1 -1
- package/build/src/run/ios/appleDevice/ClientManager.js +26 -29
- package/build/src/run/ios/appleDevice/ClientManager.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/AFCClient.js +25 -28
- package/build/src/run/ios/appleDevice/client/AFCClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/DebugserverClient.js +26 -29
- package/build/src/run/ios/appleDevice/client/DebugserverClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/InstallationProxyClient.js +21 -22
- package/build/src/run/ios/appleDevice/client/InstallationProxyClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/LockdowndClient.js +29 -32
- package/build/src/run/ios/appleDevice/client/LockdowndClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/MobileImageMounterClient.js +24 -28
- package/build/src/run/ios/appleDevice/client/MobileImageMounterClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/ServiceClient.js +4 -7
- package/build/src/run/ios/appleDevice/client/ServiceClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/UsbmuxdClient.js +27 -28
- package/build/src/run/ios/appleDevice/client/UsbmuxdClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/installOnDeviceAsync.js +17 -23
- package/build/src/run/ios/appleDevice/installOnDeviceAsync.js.map +1 -1
- package/build/src/run/ios/appleDevice/protocol/AFCProtocol.js +132 -146
- package/build/src/run/ios/appleDevice/protocol/AFCProtocol.js.map +1 -1
- package/build/src/run/ios/appleDevice/protocol/AbstractProtocol.js +21 -29
- package/build/src/run/ios/appleDevice/protocol/AbstractProtocol.js.map +1 -1
- package/build/src/run/ios/appleDevice/protocol/GDBProtocol.js +21 -29
- package/build/src/run/ios/appleDevice/protocol/GDBProtocol.js.map +1 -1
- package/build/src/run/ios/appleDevice/protocol/LockdownProtocol.js +22 -34
- package/build/src/run/ios/appleDevice/protocol/LockdownProtocol.js.map +1 -1
- package/build/src/run/ios/appleDevice/protocol/UsbmuxProtocol.js +17 -27
- package/build/src/run/ios/appleDevice/protocol/UsbmuxProtocol.js.map +1 -1
- package/build/src/run/ios/codeSigning/Security.js +39 -53
- package/build/src/run/ios/codeSigning/Security.js.map +1 -1
- package/build/src/run/ios/codeSigning/configureCodeSigning.js +9 -13
- package/build/src/run/ios/codeSigning/configureCodeSigning.js.map +1 -1
- package/build/src/run/ios/codeSigning/resolveCertificateSigningIdentity.js +19 -27
- package/build/src/run/ios/codeSigning/resolveCertificateSigningIdentity.js.map +1 -1
- package/build/src/run/ios/codeSigning/settings.js +5 -9
- package/build/src/run/ios/codeSigning/settings.js.map +1 -1
- package/build/src/run/ios/codeSigning/simulatorCodeSigning.js +12 -14
- package/build/src/run/ios/codeSigning/simulatorCodeSigning.js.map +1 -1
- package/build/src/run/ios/codeSigning/xcodeCodeSigning.js +21 -27
- package/build/src/run/ios/codeSigning/xcodeCodeSigning.js.map +1 -1
- package/build/src/run/ios/index.js +36 -40
- package/build/src/run/ios/index.js.map +1 -1
- package/build/src/run/ios/launchApp.js +17 -23
- package/build/src/run/ios/launchApp.js.map +1 -1
- package/build/src/run/ios/options/appleDestinations.js +36 -38
- package/build/src/run/ios/options/appleDestinations.js.map +1 -1
- package/build/src/run/ios/options/promptDevice.js +16 -20
- package/build/src/run/ios/options/promptDevice.js.map +1 -1
- package/build/src/run/ios/options/resolveDevice.js +24 -30
- package/build/src/run/ios/options/resolveDevice.js.map +1 -1
- package/build/src/run/ios/options/resolveNativeScheme.js +23 -31
- package/build/src/run/ios/options/resolveNativeScheme.js.map +1 -1
- package/build/src/run/ios/options/resolveOptions.js +5 -7
- package/build/src/run/ios/options/resolveOptions.js.map +1 -1
- package/build/src/run/ios/options/resolveXcodeProject.js +5 -7
- package/build/src/run/ios/options/resolveXcodeProject.js.map +1 -1
- package/build/src/run/ios/runIosAsync.js +44 -48
- package/build/src/run/ios/runIosAsync.js.map +1 -1
- package/build/src/run/ios/validateExternalBinary.js +22 -24
- package/build/src/run/ios/validateExternalBinary.js.map +1 -1
- package/build/src/run/resolveBundlerProps.js +2 -4
- package/build/src/run/resolveBundlerProps.js.map +1 -1
- package/build/src/run/startBundler.js +12 -16
- package/build/src/run/startBundler.js.map +1 -1
- package/build/src/serve/index.js +16 -20
- package/build/src/serve/index.js.map +1 -1
- package/build/src/serve/serveAsync.js +32 -36
- package/build/src/serve/serveAsync.js.map +1 -1
- package/build/src/start/detectDevClient.js +9 -13
- package/build/src/start/detectDevClient.js.map +1 -1
- package/build/src/start/doctor/Prerequisite.js +7 -12
- package/build/src/start/doctor/Prerequisite.js.map +1 -1
- package/build/src/start/doctor/SecurityBinPrerequisite.js +11 -13
- package/build/src/start/doctor/SecurityBinPrerequisite.js.map +1 -1
- package/build/src/start/doctor/apple/SimulatorAppPrerequisite.js +19 -23
- package/build/src/start/doctor/apple/SimulatorAppPrerequisite.js.map +1 -1
- package/build/src/start/doctor/apple/XcodeDeveloperDiskImagePrerequisite.js +19 -23
- package/build/src/start/doctor/apple/XcodeDeveloperDiskImagePrerequisite.js.map +1 -1
- package/build/src/start/doctor/apple/XcodePrerequisite.js +45 -51
- package/build/src/start/doctor/apple/XcodePrerequisite.js.map +1 -1
- package/build/src/start/doctor/apple/XcrunPrerequisite.js +16 -18
- package/build/src/start/doctor/apple/XcrunPrerequisite.js.map +1 -1
- package/build/src/start/doctor/dependencies/bundledNativeModules.js +19 -23
- package/build/src/start/doctor/dependencies/bundledNativeModules.js.map +1 -1
- package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js +25 -31
- package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js.map +1 -1
- package/build/src/start/doctor/dependencies/getMissingPackages.js +17 -25
- package/build/src/start/doctor/dependencies/getMissingPackages.js.map +1 -1
- package/build/src/start/doctor/dependencies/getVersionedPackages.js +32 -40
- package/build/src/start/doctor/dependencies/getVersionedPackages.js.map +1 -1
- package/build/src/start/doctor/dependencies/resolvePackages.js +26 -32
- package/build/src/start/doctor/dependencies/resolvePackages.js.map +1 -1
- package/build/src/start/doctor/dependencies/validateDependenciesVersions.js +31 -41
- package/build/src/start/doctor/dependencies/validateDependenciesVersions.js.map +1 -1
- package/build/src/start/doctor/ngrok/ExternalModule.js +29 -34
- package/build/src/start/doctor/ngrok/ExternalModule.js.map +1 -1
- package/build/src/start/doctor/ngrok/NgrokResolver.js +8 -12
- package/build/src/start/doctor/ngrok/NgrokResolver.js.map +1 -1
- package/build/src/start/doctor/typescript/TypeScriptProjectPrerequisite.js +28 -32
- package/build/src/start/doctor/typescript/TypeScriptProjectPrerequisite.js.map +1 -1
- package/build/src/start/doctor/typescript/updateTSConfig.js +17 -23
- package/build/src/start/doctor/typescript/updateTSConfig.js.map +1 -1
- package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js +27 -33
- package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js.map +1 -1
- package/build/src/start/index.js +42 -46
- package/build/src/start/index.js.map +1 -1
- package/build/src/start/interface/KeyPressHandler.js +14 -18
- package/build/src/start/interface/KeyPressHandler.js.map +1 -1
- package/build/src/start/interface/commandsTable.js +80 -94
- package/build/src/start/interface/commandsTable.js.map +1 -1
- package/build/src/start/interface/interactiveActions.js +40 -44
- package/build/src/start/interface/interactiveActions.js.map +1 -1
- package/build/src/start/interface/startInterface.js +61 -65
- package/build/src/start/interface/startInterface.js.map +1 -1
- package/build/src/start/platforms/AppIdResolver.js +4 -6
- package/build/src/start/platforms/AppIdResolver.js.map +1 -1
- package/build/src/start/platforms/DeviceManager.js +6 -10
- package/build/src/start/platforms/DeviceManager.js.map +1 -1
- package/build/src/start/platforms/ExpoGoInstaller.js +20 -25
- package/build/src/start/platforms/ExpoGoInstaller.js.map +1 -1
- package/build/src/start/platforms/PlatformManager.js +15 -17
- package/build/src/start/platforms/PlatformManager.js.map +1 -1
- package/build/src/start/platforms/android/ADBServer.js +35 -39
- package/build/src/start/platforms/android/ADBServer.js.map +1 -1
- package/build/src/start/platforms/android/AndroidAppIdResolver.js +16 -18
- package/build/src/start/platforms/android/AndroidAppIdResolver.js.map +1 -1
- package/build/src/start/platforms/android/AndroidDeviceManager.js +20 -24
- 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 +9 -11
- package/build/src/start/platforms/android/AndroidSdk.js.map +1 -1
- package/build/src/start/platforms/android/activateWindow.js +22 -26
- package/build/src/start/platforms/android/activateWindow.js.map +1 -1
- package/build/src/start/platforms/android/adb.js +83 -121
- package/build/src/start/platforms/android/adb.js.map +1 -1
- package/build/src/start/platforms/android/adbReverse.js +12 -20
- package/build/src/start/platforms/android/adbReverse.js.map +1 -1
- package/build/src/start/platforms/android/emulator.js +26 -36
- package/build/src/start/platforms/android/emulator.js.map +1 -1
- package/build/src/start/platforms/android/getDevices.js +5 -7
- package/build/src/start/platforms/android/getDevices.js.map +1 -1
- package/build/src/start/platforms/android/gradle.js +28 -36
- package/build/src/start/platforms/android/gradle.js.map +1 -1
- package/build/src/start/platforms/android/promptAndroidDevice.js +15 -19
- package/build/src/start/platforms/android/promptAndroidDevice.js.map +1 -1
- package/build/src/start/platforms/ios/AppleAppIdResolver.js +19 -21
- package/build/src/start/platforms/ios/AppleAppIdResolver.js.map +1 -1
- package/build/src/start/platforms/ios/AppleDeviceManager.js +31 -37
- 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 +7 -9
- package/build/src/start/platforms/ios/assertSystemRequirements.js.map +1 -1
- package/build/src/start/platforms/ios/devicectl.js +73 -87
- package/build/src/start/platforms/ios/devicectl.js.map +1 -1
- package/build/src/start/platforms/ios/ensureSimulatorAppRunning.js +18 -22
- package/build/src/start/platforms/ios/ensureSimulatorAppRunning.js.map +1 -1
- package/build/src/start/platforms/ios/getBestSimulator.js +19 -29
- package/build/src/start/platforms/ios/getBestSimulator.js.map +1 -1
- package/build/src/start/platforms/ios/promptAppleDevice.js +10 -14
- package/build/src/start/platforms/ios/promptAppleDevice.js.map +1 -1
- package/build/src/start/platforms/ios/simctl.js +74 -102
- package/build/src/start/platforms/ios/simctl.js.map +1 -1
- package/build/src/start/platforms/ios/simctlLogging.js +52 -57
- package/build/src/start/platforms/ios/simctlLogging.js.map +1 -1
- package/build/src/start/platforms/ios/xcrun.js +18 -22
- package/build/src/start/platforms/ios/xcrun.js.map +1 -1
- package/build/src/start/project/devices.js +9 -19
- package/build/src/start/project/devices.js.map +1 -1
- package/build/src/start/project/dotExpo.js +11 -15
- package/build/src/start/project/dotExpo.js.map +1 -1
- package/build/src/start/project/settings.js +2 -4
- package/build/src/start/project/settings.js.map +1 -1
- package/build/src/start/resolveOptions.js +40 -48
- package/build/src/start/resolveOptions.js.map +1 -1
- package/build/src/start/server/AsyncNgrok.js +51 -55
- package/build/src/start/server/AsyncNgrok.js.map +1 -1
- package/build/src/start/server/AsyncWsTunnel.js +36 -40
- package/build/src/start/server/AsyncWsTunnel.js.map +1 -1
- package/build/src/start/server/BundlerDevServer.js +79 -81
- package/build/src/start/server/BundlerDevServer.js.map +1 -1
- package/build/src/start/server/DevServerManager.js +38 -42
- package/build/src/start/server/DevServerManager.js.map +1 -1
- package/build/src/start/server/DevToolsPluginManager.js +14 -18
- package/build/src/start/server/DevToolsPluginManager.js.map +1 -1
- package/build/src/start/server/DevelopmentSession.js +14 -18
- package/build/src/start/server/DevelopmentSession.js.map +1 -1
- package/build/src/start/server/ReactDevToolsProxy.js +10 -16
- package/build/src/start/server/ReactDevToolsProxy.js.map +1 -1
- package/build/src/start/server/UrlCreator.js +33 -36
- package/build/src/start/server/UrlCreator.js.map +1 -1
- package/build/src/start/server/getStaticRenderFunctions.js +21 -29
- package/build/src/start/server/getStaticRenderFunctions.js.map +1 -1
- package/build/src/start/server/metro/DevToolsPluginWebsocketEndpoint.js +4 -6
- package/build/src/start/server/metro/DevToolsPluginWebsocketEndpoint.js.map +1 -1
- package/build/src/start/server/metro/MetroBundlerDevServer.js +271 -269
- package/build/src/start/server/metro/MetroBundlerDevServer.js.map +1 -1
- package/build/src/start/server/metro/MetroTerminalReporter.js +56 -63
- package/build/src/start/server/metro/MetroTerminalReporter.js.map +1 -1
- package/build/src/start/server/metro/TerminalReporter.js +33 -39
- 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 +40 -46
- package/build/src/start/server/metro/createExpoMetroResolver.js.map +1 -1
- package/build/src/start/server/metro/createJResolver.js +28 -32
- package/build/src/start/server/metro/createJResolver.js.map +1 -1
- package/build/src/start/server/metro/createServerComponentsMiddleware.js +92 -96
- package/build/src/start/server/metro/createServerComponentsMiddleware.js.map +1 -1
- package/build/src/start/server/metro/createServerRouteMiddleware.js +30 -32
- package/build/src/start/server/metro/createServerRouteMiddleware.js.map +1 -1
- package/build/src/start/server/metro/debugging/AtlasPrerequisite.js +11 -13
- package/build/src/start/server/metro/debugging/AtlasPrerequisite.js.map +1 -1
- package/build/src/start/server/metro/debugging/MessageHandler.js +1 -3
- package/build/src/start/server/metro/debugging/MessageHandler.js.map +1 -1
- package/build/src/start/server/metro/debugging/attachAtlas.js +22 -26
- package/build/src/start/server/metro/debugging/attachAtlas.js.map +1 -1
- package/build/src/start/server/metro/debugging/createDebugMiddleware.js +17 -19
- package/build/src/start/server/metro/debugging/createDebugMiddleware.js.map +1 -1
- package/build/src/start/server/metro/debugging/createHandlersFactory.js +31 -25
- package/build/src/start/server/metro/debugging/createHandlersFactory.js.map +1 -1
- package/build/src/start/server/metro/debugging/getDebuggerType.js +4 -6
- package/build/src/start/server/metro/debugging/getDebuggerType.js.map +1 -1
- package/build/src/start/server/metro/debugging/messageHandlers/NetworkResponse.js +8 -14
- package/build/src/start/server/metro/debugging/messageHandlers/NetworkResponse.js.map +1 -1
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerGetPossibleBreakpoints.js +5 -7
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerGetPossibleBreakpoints.js.map +1 -1
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerSetBreakpointByUrl.js +6 -8
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerSetBreakpointByUrl.js.map +1 -1
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeCallFunctionOn.js +5 -7
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeCallFunctionOn.js.map +1 -1
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeEvaluate.js +12 -14
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeEvaluate.js.map +1 -1
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeGetProperties.js +10 -14
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeGetProperties.js.map +1 -1
- package/build/src/start/server/metro/debugging/pageIsSupported.js +4 -6
- 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 +16 -18
- package/build/src/start/server/metro/dev-server/createEventSocket.js.map +1 -1
- package/build/src/start/server/metro/dev-server/createMessageSocket.js +21 -23
- package/build/src/start/server/metro/dev-server/createMessageSocket.js.map +1 -1
- package/build/src/start/server/metro/dev-server/createMetroMiddleware.js +21 -23
- package/build/src/start/server/metro/dev-server/createMetroMiddleware.js.map +1 -1
- package/build/src/start/server/metro/dev-server/utils/createSocketBroadcaster.js +2 -4
- 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 +2 -4
- 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 +4 -8
- package/build/src/start/server/metro/dev-server/utils/socketMessages.js.map +1 -1
- package/build/src/start/server/metro/externals.js +25 -33
- package/build/src/start/server/metro/externals.js.map +1 -1
- package/build/src/start/server/metro/fetchRouterManifest.js +12 -16
- package/build/src/start/server/metro/fetchRouterManifest.js.map +1 -1
- package/build/src/start/server/metro/formatFileCandidates.js +9 -11
- package/build/src/start/server/metro/formatFileCandidates.js.map +1 -1
- package/build/src/start/server/metro/getCssModulesFromBundler.js +18 -22
- package/build/src/start/server/metro/getCssModulesFromBundler.js.map +1 -1
- package/build/src/start/server/metro/instantiateMetro.js +79 -85
- package/build/src/start/server/metro/instantiateMetro.js.map +1 -1
- package/build/src/start/server/metro/log-box/LogBoxLog.js +36 -40
- package/build/src/start/server/metro/log-box/LogBoxLog.js.map +1 -1
- package/build/src/start/server/metro/log-box/LogBoxSymbolication.js +14 -20
- package/build/src/start/server/metro/log-box/LogBoxSymbolication.js.map +1 -1
- package/build/src/start/server/metro/log-box/formatProjectFilePath.js +6 -10
- package/build/src/start/server/metro/log-box/formatProjectFilePath.js.map +1 -1
- package/build/src/start/server/metro/metroErrorInterface.js +78 -88
- package/build/src/start/server/metro/metroErrorInterface.js.map +1 -1
- package/build/src/start/server/metro/metroErrors.js +4 -8
- package/build/src/start/server/metro/metroErrors.js.map +1 -1
- package/build/src/start/server/metro/metroPrivateServer.js +7 -9
- package/build/src/start/server/metro/metroPrivateServer.js.map +1 -1
- package/build/src/start/server/metro/metroVirtualModules.js +8 -10
- package/build/src/start/server/metro/metroVirtualModules.js.map +1 -1
- package/build/src/start/server/metro/metroWatchTypeScriptFiles.js +22 -24
- package/build/src/start/server/metro/metroWatchTypeScriptFiles.js.map +1 -1
- package/build/src/start/server/metro/router.js +32 -48
- package/build/src/start/server/metro/router.js.map +1 -1
- package/build/src/start/server/metro/runServer-fork.js +22 -24
- package/build/src/start/server/metro/runServer-fork.js.map +1 -1
- package/build/src/start/server/metro/serializeHtml.js +22 -24
- 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 +29 -35
- package/build/src/start/server/metro/waitForMetroToObserveTypeScriptFile.js.map +1 -1
- package/build/src/start/server/metro/withMetroMultiPlatform.js +139 -149
- package/build/src/start/server/metro/withMetroMultiPlatform.js.map +1 -1
- package/build/src/start/server/metro/withMetroResolvers.js +39 -49
- package/build/src/start/server/metro/withMetroResolvers.js.map +1 -1
- package/build/src/start/server/middleware/ContextModuleSourceMapsMiddleware.js +6 -8
- package/build/src/start/server/middleware/ContextModuleSourceMapsMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/CorsMiddleware.js +15 -17
- package/build/src/start/server/middleware/CorsMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/CreateFileMiddleware.js +31 -32
- package/build/src/start/server/middleware/CreateFileMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/DevToolsPluginMiddleware.js +19 -22
- package/build/src/start/server/middleware/DevToolsPluginMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/DomComponentsMiddleware.js +27 -33
- package/build/src/start/server/middleware/DomComponentsMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js +60 -64
- package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/ExpoMiddleware.js +9 -15
- package/build/src/start/server/middleware/ExpoMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/FaviconMiddleware.js +14 -15
- package/build/src/start/server/middleware/FaviconMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/HistoryFallbackMiddleware.js +2 -4
- package/build/src/start/server/middleware/HistoryFallbackMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/InterstitialPageMiddleware.js +31 -34
- package/build/src/start/server/middleware/InterstitialPageMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/ManifestMiddleware.js +56 -64
- package/build/src/start/server/middleware/ManifestMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/ReactDevToolsPageMiddleware.js +19 -23
- package/build/src/start/server/middleware/ReactDevToolsPageMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js +19 -20
- package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/ServeStaticMiddleware.js +9 -11
- package/build/src/start/server/middleware/ServeStaticMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/createBuiltinAPIRequestHandler.js +11 -17
- package/build/src/start/server/middleware/createBuiltinAPIRequestHandler.js.map +1 -1
- package/build/src/start/server/middleware/inspector/CdpClient.js +10 -12
- package/build/src/start/server/middleware/inspector/CdpClient.js.map +1 -1
- package/build/src/start/server/middleware/inspector/JsInspector.js +27 -35
- package/build/src/start/server/middleware/inspector/JsInspector.js.map +1 -1
- package/build/src/start/server/middleware/inspector/createJsInspectorMiddleware.js +19 -21
- package/build/src/start/server/middleware/inspector/createJsInspectorMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/inspector/middlwareMutations.js +2 -6
- package/build/src/start/server/middleware/inspector/middlwareMutations.js.map +1 -1
- package/build/src/start/server/middleware/metroOptions.js +96 -120
- package/build/src/start/server/middleware/metroOptions.js.map +1 -1
- package/build/src/start/server/middleware/mutations.js +3 -7
- package/build/src/start/server/middleware/mutations.js.map +1 -1
- package/build/src/start/server/middleware/resolveAssets.js +18 -26
- package/build/src/start/server/middleware/resolveAssets.js.map +1 -1
- package/build/src/start/server/middleware/resolvePlatform.js +15 -23
- package/build/src/start/server/middleware/resolvePlatform.js.map +1 -1
- package/build/src/start/server/middleware/resolveRuntimeVersionWithExpoUpdatesAsync.js +9 -11
- 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 +8 -10
- package/build/src/start/server/openPlatforms.js.map +1 -1
- package/build/src/start/server/platformBundlers.js +11 -13
- package/build/src/start/server/platformBundlers.js.map +1 -1
- package/build/src/start/server/serverLogLikeMetro.js +50 -58
- package/build/src/start/server/serverLogLikeMetro.js.map +1 -1
- package/build/src/start/server/type-generation/expo-env.js +7 -11
- package/build/src/start/server/type-generation/expo-env.js.map +1 -1
- package/build/src/start/server/type-generation/routes.js +54 -76
- package/build/src/start/server/type-generation/routes.js.map +1 -1
- package/build/src/start/server/type-generation/startTypescriptTypeGeneration.js +19 -21
- package/build/src/start/server/type-generation/startTypescriptTypeGeneration.js.map +1 -1
- package/build/src/start/server/type-generation/tsconfig.js +28 -36
- package/build/src/start/server/type-generation/tsconfig.js.map +1 -1
- package/build/src/start/server/webTemplate.js +24 -28
- package/build/src/start/server/webTemplate.js.map +1 -1
- package/build/src/start/server/webpack/WebpackBundlerDevServer.js +46 -52
- package/build/src/start/server/webpack/WebpackBundlerDevServer.js.map +1 -1
- package/build/src/start/server/webpack/compile.js +11 -15
- package/build/src/start/server/webpack/compile.js.map +1 -1
- package/build/src/start/server/webpack/formatWebpackMessages.js +26 -28
- package/build/src/start/server/webpack/formatWebpackMessages.js.map +1 -1
- package/build/src/start/server/webpack/resolveFromProject.js +12 -18
- package/build/src/start/server/webpack/resolveFromProject.js.map +1 -1
- package/build/src/start/server/webpack/tls.js +12 -18
- package/build/src/start/server/webpack/tls.js.map +1 -1
- package/build/src/start/startAsync.js +27 -31
- package/build/src/start/startAsync.js.map +1 -1
- package/build/src/utils/FileNotifier.js +17 -20
- package/build/src/utils/FileNotifier.js.map +1 -1
- package/build/src/utils/ansi.js +5 -7
- package/build/src/utils/ansi.js.map +1 -1
- package/build/src/utils/args.js +14 -24
- package/build/src/utils/args.js.map +1 -1
- package/build/src/utils/array.js +6 -18
- package/build/src/utils/array.js.map +1 -1
- package/build/src/utils/cocoapods.js +46 -54
- package/build/src/utils/cocoapods.js.map +1 -1
- package/build/src/utils/codesigning.js +68 -78
- package/build/src/utils/codesigning.js.map +1 -1
- package/build/src/utils/createFileTransform.js +12 -16
- package/build/src/utils/createFileTransform.js.map +1 -1
- package/build/src/utils/createTempPath.js +13 -17
- package/build/src/utils/createTempPath.js.map +1 -1
- package/build/src/utils/delay.js +6 -12
- package/build/src/utils/delay.js.map +1 -1
- package/build/src/utils/dir.js +28 -46
- package/build/src/utils/dir.js.map +1 -1
- package/build/src/utils/downloadAppAsync.js +8 -10
- package/build/src/utils/downloadAppAsync.js.map +1 -1
- package/build/src/utils/downloadExpoGoAsync.js +21 -25
- package/build/src/utils/downloadExpoGoAsync.js.map +1 -1
- package/build/src/utils/editor.js +35 -41
- package/build/src/utils/editor.js.map +1 -1
- package/build/src/utils/env.js +59 -63
- package/build/src/utils/env.js.map +1 -1
- package/build/src/utils/errors.js +30 -37
- package/build/src/utils/errors.js.map +1 -1
- package/build/src/utils/exit.js +31 -35
- package/build/src/utils/exit.js.map +1 -1
- package/build/src/utils/expoUpdatesCli.js +22 -32
- package/build/src/utils/expoUpdatesCli.js.map +1 -1
- package/build/src/utils/fetch.js +4 -8
- package/build/src/utils/fetch.js.map +1 -1
- package/build/src/utils/filePath.js +6 -10
- package/build/src/utils/filePath.js.map +1 -1
- package/build/src/utils/findUp.js +9 -13
- package/build/src/utils/findUp.js.map +1 -1
- package/build/src/utils/fn.js +2 -6
- package/build/src/utils/fn.js.map +1 -1
- package/build/src/utils/getOrPromptApplicationId.js +26 -32
- package/build/src/utils/getOrPromptApplicationId.js.map +1 -1
- package/build/src/utils/getRunningProcess.js +21 -29
- package/build/src/utils/getRunningProcess.js.map +1 -1
- package/build/src/utils/git.js +20 -26
- package/build/src/utils/git.js.map +1 -1
- package/build/src/utils/glob.js +4 -8
- package/build/src/utils/glob.js.map +1 -1
- package/build/src/utils/interactive.js +1 -3
- package/build/src/utils/interactive.js.map +1 -1
- package/build/src/utils/ip.js +19 -21
- package/build/src/utils/ip.js.map +1 -1
- package/build/src/utils/isModuleSymlinked.js +9 -11
- package/build/src/utils/isModuleSymlinked.js.map +1 -1
- package/build/src/utils/jsonSchemaDeref.js +18 -20
- package/build/src/utils/jsonSchemaDeref.js.map +1 -1
- package/build/src/utils/link.js +13 -17
- package/build/src/utils/link.js.map +1 -1
- package/build/src/utils/mergeGitIgnorePaths.js +28 -46
- package/build/src/utils/mergeGitIgnorePaths.js.map +1 -1
- package/build/src/utils/modifyConfigAsync.js +10 -16
- package/build/src/utils/modifyConfigAsync.js.map +1 -1
- package/build/src/utils/modifyConfigPlugins.js +6 -10
- package/build/src/utils/modifyConfigPlugins.js.map +1 -1
- package/build/src/utils/nodeEnv.js +6 -12
- package/build/src/utils/nodeEnv.js.map +1 -1
- package/build/src/utils/nodeModules.js +8 -10
- package/build/src/utils/nodeModules.js.map +1 -1
- package/build/src/utils/npm.js +36 -50
- package/build/src/utils/npm.js.map +1 -1
- package/build/src/utils/obj.js +5 -11
- package/build/src/utils/obj.js.map +1 -1
- package/build/src/utils/open.js +8 -10
- package/build/src/utils/open.js.map +1 -1
- package/build/src/utils/ora.js +7 -13
- package/build/src/utils/ora.js.map +1 -1
- package/build/src/utils/plist.js +15 -21
- package/build/src/utils/plist.js.map +1 -1
- package/build/src/utils/port.js +33 -43
- package/build/src/utils/port.js.map +1 -1
- package/build/src/utils/profile.js +7 -11
- package/build/src/utils/profile.js.map +1 -1
- package/build/src/utils/progress.js +5 -11
- package/build/src/utils/progress.js.map +1 -1
- package/build/src/utils/prompts.js +29 -47
- package/build/src/utils/prompts.js.map +1 -1
- package/build/src/utils/resolveArgs.js +24 -36
- package/build/src/utils/resolveArgs.js.map +1 -1
- package/build/src/utils/scheme.js +32 -40
- package/build/src/utils/scheme.js.map +1 -1
- package/build/src/utils/stream.js +3 -5
- package/build/src/utils/stream.js.map +1 -1
- package/build/src/utils/strings.js +4 -6
- package/build/src/utils/strings.js.map +1 -1
- package/build/src/utils/tar.js +15 -19
- package/build/src/utils/tar.js.map +1 -1
- package/build/src/utils/telemetry/Telemetry.js +27 -29
- package/build/src/utils/telemetry/Telemetry.js.map +1 -1
- package/build/src/utils/telemetry/clients/FetchClient.js +13 -15
- package/build/src/utils/telemetry/clients/FetchClient.js.map +1 -1
- package/build/src/utils/telemetry/clients/FetchDetachedClient.js +22 -26
- package/build/src/utils/telemetry/clients/FetchDetachedClient.js.map +1 -1
- package/build/src/utils/telemetry/clients/RudderClient.js +8 -10
- package/build/src/utils/telemetry/clients/RudderClient.js.map +1 -1
- package/build/src/utils/telemetry/clients/RudderDetachedClient.js +22 -26
- 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 +2 -4
- 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 +29 -25
- 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 +4 -8
- package/build/src/utils/telemetry/utils/constants.js.map +1 -1
- package/build/src/utils/telemetry/utils/context.js +14 -18
- package/build/src/utils/telemetry/utils/context.js.map +1 -1
- package/build/src/utils/template.js +4 -6
- package/build/src/utils/template.js.map +1 -1
- package/build/src/utils/terminal.js +2 -4
- package/build/src/utils/terminal.js.map +1 -1
- package/build/src/utils/tsconfig/evaluateTsConfig.js +17 -21
- package/build/src/utils/tsconfig/evaluateTsConfig.js.map +1 -1
- package/build/src/utils/tsconfig/loadTsConfigPaths.js +14 -18
- package/build/src/utils/tsconfig/loadTsConfigPaths.js.map +1 -1
- package/build/src/utils/tsconfig/matchTsConfigPathAlias.js +5 -7
- package/build/src/utils/tsconfig/matchTsConfigPathAlias.js.map +1 -1
- package/build/src/utils/tsconfig/resolveWithTsConfigPaths.js +12 -14
- package/build/src/utils/tsconfig/resolveWithTsConfigPaths.js.map +1 -1
- package/build/src/utils/url.js +13 -23
- package/build/src/utils/url.js.map +1 -1
- package/build/src/utils/validateApplicationId.js +86 -108
- package/build/src/utils/validateApplicationId.js.map +1 -1
- package/build/src/utils/variadic.js +16 -22
- package/build/src/utils/variadic.js.map +1 -1
- package/build/src/whoami/index.js +7 -11
- package/build/src/whoami/index.js.map +1 -1
- package/build/src/whoami/whoamiAsync.js +7 -11
- package/build/src/whoami/whoamiAsync.js.map +1 -1
- package/package.json +3 -3
|
@@ -4,31 +4,29 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
});
|
|
5
5
|
Object.defineProperty(exports, "cloneTemplateAsync", {
|
|
6
6
|
enumerable: true,
|
|
7
|
-
get:
|
|
8
|
-
return cloneTemplateAsync;
|
|
9
|
-
}
|
|
7
|
+
get: ()=>cloneTemplateAsync
|
|
10
8
|
});
|
|
11
9
|
function _chalk() {
|
|
12
|
-
const data = /*#__PURE__*/
|
|
10
|
+
const data = /*#__PURE__*/ _interopRequireDefault(require("chalk"));
|
|
13
11
|
_chalk = function() {
|
|
14
12
|
return data;
|
|
15
13
|
};
|
|
16
14
|
return data;
|
|
17
15
|
}
|
|
18
16
|
function _semver() {
|
|
19
|
-
const data = /*#__PURE__*/
|
|
17
|
+
const data = /*#__PURE__*/ _interopRequireDefault(require("semver"));
|
|
20
18
|
_semver = function() {
|
|
21
19
|
return data;
|
|
22
20
|
};
|
|
23
21
|
return data;
|
|
24
22
|
}
|
|
25
23
|
const _client = require("../api/rest/client");
|
|
26
|
-
const _log = /*#__PURE__*/
|
|
24
|
+
const _log = /*#__PURE__*/ _interopRequireWildcard(require("../log"));
|
|
27
25
|
const _createFileTransform = require("../utils/createFileTransform");
|
|
28
26
|
const _errors = require("../utils/errors");
|
|
29
27
|
const _npm = require("../utils/npm");
|
|
30
28
|
const _url = require("../utils/url");
|
|
31
|
-
function
|
|
29
|
+
function _interopRequireDefault(obj) {
|
|
32
30
|
return obj && obj.__esModule ? obj : {
|
|
33
31
|
default: obj
|
|
34
32
|
};
|
|
@@ -41,7 +39,7 @@ function _getRequireWildcardCache(nodeInterop) {
|
|
|
41
39
|
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
|
42
40
|
})(nodeInterop);
|
|
43
41
|
}
|
|
44
|
-
function
|
|
42
|
+
function _interopRequireWildcard(obj, nodeInterop) {
|
|
45
43
|
if (!nodeInterop && obj && obj.__esModule) {
|
|
46
44
|
return obj;
|
|
47
45
|
}
|
|
@@ -54,9 +52,7 @@ function _interop_require_wildcard(obj, nodeInterop) {
|
|
|
54
52
|
if (cache && cache.has(obj)) {
|
|
55
53
|
return cache.get(obj);
|
|
56
54
|
}
|
|
57
|
-
var newObj = {
|
|
58
|
-
__proto__: null
|
|
59
|
-
};
|
|
55
|
+
var newObj = {};
|
|
60
56
|
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
61
57
|
for(var key in obj){
|
|
62
58
|
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
@@ -74,22 +70,22 @@ function _interop_require_wildcard(obj, nodeInterop) {
|
|
|
74
70
|
}
|
|
75
71
|
return newObj;
|
|
76
72
|
}
|
|
77
|
-
const debug = require(
|
|
78
|
-
async function cloneTemplateAsync({ templateDirectory, template, exp, ora
|
|
73
|
+
const debug = require("debug")("expo:prebuild:resolveTemplate");
|
|
74
|
+
async function cloneTemplateAsync({ templateDirectory , template , exp , ora }) {
|
|
79
75
|
if (template) {
|
|
80
76
|
const appName = exp.name;
|
|
81
|
-
const { type, uri
|
|
82
|
-
if (type ===
|
|
77
|
+
const { type , uri } = template;
|
|
78
|
+
if (type === "file") {
|
|
83
79
|
return await (0, _npm.extractLocalNpmTarballAsync)(uri, {
|
|
84
80
|
cwd: templateDirectory,
|
|
85
81
|
name: appName
|
|
86
82
|
});
|
|
87
|
-
} else if (type ===
|
|
83
|
+
} else if (type === "npm") {
|
|
88
84
|
return await (0, _npm.downloadAndExtractNpmModuleAsync)(uri, {
|
|
89
85
|
cwd: templateDirectory,
|
|
90
86
|
name: appName
|
|
91
87
|
});
|
|
92
|
-
} else if (type ===
|
|
88
|
+
} else if (type === "repository") {
|
|
93
89
|
return await resolveAndDownloadRepoTemplateAsync(templateDirectory, ora, appName, uri);
|
|
94
90
|
} else {
|
|
95
91
|
throw new Error(`Unknown template type: ${type}`);
|
|
@@ -104,15 +100,15 @@ async function cloneTemplateAsync({ templateDirectory, template, exp, ora }) {
|
|
|
104
100
|
}
|
|
105
101
|
/** Given an `sdkVersion` like `44.0.0` return a fully qualified NPM package name like: `expo-template-bare-minimum@sdk-44` */ function getTemplateNpmPackageName(sdkVersion) {
|
|
106
102
|
// When undefined or UNVERSIONED, we use the latest version.
|
|
107
|
-
if (!sdkVersion || sdkVersion ===
|
|
108
|
-
_log.log(
|
|
103
|
+
if (!sdkVersion || sdkVersion === "UNVERSIONED") {
|
|
104
|
+
_log.log("Using an unspecified Expo SDK version. The latest template will be used.");
|
|
109
105
|
return `expo-template-bare-minimum@latest`;
|
|
110
106
|
}
|
|
111
107
|
return `expo-template-bare-minimum@sdk-${_semver().default.major(sdkVersion)}`;
|
|
112
108
|
}
|
|
113
109
|
async function getRepoInfo(url, examplePath) {
|
|
114
|
-
const [, username, name, t, _branch, ...file] = url.pathname.split(
|
|
115
|
-
const filePath = examplePath ? examplePath.replace(/^\//,
|
|
110
|
+
const [, username, name, t, _branch, ...file] = url.pathname.split("/");
|
|
111
|
+
const filePath = examplePath ? examplePath.replace(/^\//, "") : file.join("/");
|
|
116
112
|
// Support repos whose entire purpose is to be an example, e.g.
|
|
117
113
|
// https://github.com/:username/:my-cool-example-repo-name.
|
|
118
114
|
if (t === undefined) {
|
|
@@ -124,13 +120,13 @@ async function getRepoInfo(url, examplePath) {
|
|
|
124
120
|
return {
|
|
125
121
|
username,
|
|
126
122
|
name,
|
|
127
|
-
branch: info[
|
|
123
|
+
branch: info["default_branch"],
|
|
128
124
|
filePath
|
|
129
125
|
};
|
|
130
126
|
}
|
|
131
127
|
// If examplePath is available, the branch name takes the entire path
|
|
132
|
-
const branch = examplePath ? `${_branch}/${file.join(
|
|
133
|
-
if (username && name && branch && t ===
|
|
128
|
+
const branch = examplePath ? `${_branch}/${file.join("/")}`.replace(new RegExp(`/${filePath}|/$`), "") : _branch;
|
|
129
|
+
if (username && name && branch && t === "tree") {
|
|
134
130
|
return {
|
|
135
131
|
username,
|
|
136
132
|
name,
|
|
@@ -140,30 +136,30 @@ async function getRepoInfo(url, examplePath) {
|
|
|
140
136
|
}
|
|
141
137
|
return undefined;
|
|
142
138
|
}
|
|
143
|
-
function hasRepo({ username, name, branch, filePath
|
|
139
|
+
function hasRepo({ username , name , branch , filePath }) {
|
|
144
140
|
const contentsUrl = `https://api.github.com/repos/${username}/${name}/contents`;
|
|
145
|
-
const packagePath = `${filePath ? `/${filePath}` :
|
|
141
|
+
const packagePath = `${filePath ? `/${filePath}` : ""}/package.json`;
|
|
146
142
|
return (0, _url.isUrlOk)(contentsUrl + packagePath + `?ref=${branch}`);
|
|
147
143
|
}
|
|
148
|
-
async function downloadAndExtractRepoAsync({ username, name, branch, filePath
|
|
144
|
+
async function downloadAndExtractRepoAsync({ username , name , branch , filePath }, props) {
|
|
149
145
|
const url = `https://codeload.github.com/${username}/${name}/tar.gz/${branch}`;
|
|
150
|
-
debug(
|
|
146
|
+
debug("Downloading tarball from:", url);
|
|
151
147
|
// Extract the (sub)directory into non-empty path segments
|
|
152
|
-
const directory = filePath.replace(/^\//,
|
|
148
|
+
const directory = filePath.replace(/^\//, "").split("/").filter(Boolean);
|
|
153
149
|
// Remove the (sub)directory paths, and the root folder added by GitHub
|
|
154
150
|
const strip = directory.length + 1;
|
|
155
151
|
// Only extract the relevant (sub)directories, ignoring irrelevant files
|
|
156
152
|
// The filder auto-ignores dotfiles, unless explicitly included
|
|
157
153
|
const filter = (0, _createFileTransform.createGlobFilter)(!directory.length ? [
|
|
158
|
-
|
|
159
|
-
|
|
154
|
+
"*/**",
|
|
155
|
+
"*/ios/.xcode.env"
|
|
160
156
|
] : [
|
|
161
|
-
`*/${directory.join(
|
|
162
|
-
`*/${directory.join(
|
|
157
|
+
`*/${directory.join("/")}/**`,
|
|
158
|
+
`*/${directory.join("/")}/ios/.xcode.env`
|
|
163
159
|
], {
|
|
164
160
|
// Always ignore the `.xcworkspace` folder
|
|
165
161
|
ignore: [
|
|
166
|
-
|
|
162
|
+
"**/ios/*.xcworkspace/**"
|
|
167
163
|
]
|
|
168
164
|
});
|
|
169
165
|
return await (0, _npm.extractNpmTarballFromUrlAsync)(url, {
|
|
@@ -177,7 +173,7 @@ async function resolveAndDownloadRepoTemplateAsync(templateDirectory, oraInstanc
|
|
|
177
173
|
try {
|
|
178
174
|
repoUrl = new URL(template);
|
|
179
175
|
} catch (error) {
|
|
180
|
-
if (error.code !==
|
|
176
|
+
if (error.code !== "ERR_INVALID_URL") {
|
|
181
177
|
oraInstance.fail(error);
|
|
182
178
|
throw error;
|
|
183
179
|
}
|
|
@@ -186,7 +182,7 @@ async function resolveAndDownloadRepoTemplateAsync(templateDirectory, oraInstanc
|
|
|
186
182
|
oraInstance.fail(`Invalid URL: ${_chalk().default.red(`"${template}"`)}. Please use a valid URL and try again.`);
|
|
187
183
|
throw new _errors.AbortCommandError();
|
|
188
184
|
}
|
|
189
|
-
if (repoUrl.origin !==
|
|
185
|
+
if (repoUrl.origin !== "https://github.com") {
|
|
190
186
|
oraInstance.fail(`Invalid URL: ${_chalk().default.red(`"${template}"`)}. Only GitHub repositories are supported. Please use a GitHub URL and try again.`);
|
|
191
187
|
throw new _errors.AbortCommandError();
|
|
192
188
|
}
|
|
@@ -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,15 +9,11 @@ function _export(target, all) {
|
|
|
9
9
|
});
|
|
10
10
|
}
|
|
11
11
|
_export(exports, {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
},
|
|
15
|
-
updateFromTemplateAsync: function() {
|
|
16
|
-
return updateFromTemplateAsync;
|
|
17
|
-
}
|
|
12
|
+
updateFromTemplateAsync: ()=>updateFromTemplateAsync,
|
|
13
|
+
cloneTemplateAndCopyToProjectAsync: ()=>cloneTemplateAndCopyToProjectAsync
|
|
18
14
|
});
|
|
19
15
|
function _chalk() {
|
|
20
|
-
const data = /*#__PURE__*/
|
|
16
|
+
const data = /*#__PURE__*/ _interopRequireDefault(require("chalk"));
|
|
21
17
|
_chalk = function() {
|
|
22
18
|
return data;
|
|
23
19
|
};
|
|
@@ -28,12 +24,12 @@ const _renameTemplateAppName = require("./renameTemplateAppName");
|
|
|
28
24
|
const _resolveTemplate = require("./resolveTemplate");
|
|
29
25
|
const _updatePackageJson = require("./updatePackageJson");
|
|
30
26
|
const _validateTemplatePlatforms = require("./validateTemplatePlatforms");
|
|
31
|
-
const _log = /*#__PURE__*/
|
|
27
|
+
const _log = /*#__PURE__*/ _interopRequireWildcard(require("../log"));
|
|
32
28
|
const _createTempPath = require("../utils/createTempPath");
|
|
33
29
|
const _errors = require("../utils/errors");
|
|
34
30
|
const _ora = require("../utils/ora");
|
|
35
31
|
const _profile = require("../utils/profile");
|
|
36
|
-
function
|
|
32
|
+
function _interopRequireDefault(obj) {
|
|
37
33
|
return obj && obj.__esModule ? obj : {
|
|
38
34
|
default: obj
|
|
39
35
|
};
|
|
@@ -46,7 +42,7 @@ function _getRequireWildcardCache(nodeInterop) {
|
|
|
46
42
|
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
|
47
43
|
})(nodeInterop);
|
|
48
44
|
}
|
|
49
|
-
function
|
|
45
|
+
function _interopRequireWildcard(obj, nodeInterop) {
|
|
50
46
|
if (!nodeInterop && obj && obj.__esModule) {
|
|
51
47
|
return obj;
|
|
52
48
|
}
|
|
@@ -59,9 +55,7 @@ function _interop_require_wildcard(obj, nodeInterop) {
|
|
|
59
55
|
if (cache && cache.has(obj)) {
|
|
60
56
|
return cache.get(obj);
|
|
61
57
|
}
|
|
62
|
-
var newObj = {
|
|
63
|
-
__proto__: null
|
|
64
|
-
};
|
|
58
|
+
var newObj = {};
|
|
65
59
|
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
66
60
|
for(var key in obj){
|
|
67
61
|
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
@@ -79,11 +73,11 @@ function _interop_require_wildcard(obj, nodeInterop) {
|
|
|
79
73
|
}
|
|
80
74
|
return newObj;
|
|
81
75
|
}
|
|
82
|
-
async function updateFromTemplateAsync(projectRoot, { exp, pkg, template, templateDirectory, platforms, skipDependencyUpdate
|
|
76
|
+
async function updateFromTemplateAsync(projectRoot, { exp , pkg , template , templateDirectory , platforms , skipDependencyUpdate }) {
|
|
83
77
|
if (!templateDirectory) {
|
|
84
78
|
templateDirectory = (0, _createTempPath.createTempDirectoryPath)();
|
|
85
79
|
}
|
|
86
|
-
const { copiedPaths, templateChecksum
|
|
80
|
+
const { copiedPaths , templateChecksum } = await (0, _profile.profile)(cloneTemplateAndCopyToProjectAsync)({
|
|
87
81
|
projectRoot,
|
|
88
82
|
template,
|
|
89
83
|
templateDirectory,
|
|
@@ -98,14 +92,14 @@ async function updateFromTemplateAsync(projectRoot, { exp, pkg, template, templa
|
|
|
98
92
|
return {
|
|
99
93
|
hasNewProjectFiles: !!copiedPaths.length,
|
|
100
94
|
// If the iOS folder changes or new packages are added, we should rerun pod install.
|
|
101
|
-
needsPodInstall: copiedPaths.includes(
|
|
95
|
+
needsPodInstall: copiedPaths.includes("ios") || !!depsResults.changedDependencies.length,
|
|
102
96
|
templateChecksum,
|
|
103
97
|
...depsResults
|
|
104
98
|
};
|
|
105
99
|
}
|
|
106
|
-
async function cloneTemplateAndCopyToProjectAsync({ projectRoot, templateDirectory, template, exp, platforms: unknownPlatforms
|
|
107
|
-
const platformDirectories = unknownPlatforms.map((platform)=>`./${platform}`).reverse().join(
|
|
108
|
-
const pluralized = unknownPlatforms.length > 1 ?
|
|
100
|
+
async function cloneTemplateAndCopyToProjectAsync({ projectRoot , templateDirectory , template , exp , platforms: unknownPlatforms }) {
|
|
101
|
+
const platformDirectories = unknownPlatforms.map((platform)=>`./${platform}`).reverse().join(" and ");
|
|
102
|
+
const pluralized = unknownPlatforms.length > 1 ? "directories" : "directory";
|
|
109
103
|
const ora = (0, _ora.logNewSection)(`Creating native ${pluralized} (${platformDirectories})`);
|
|
110
104
|
try {
|
|
111
105
|
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":["updateFromTemplateAsync","cloneTemplateAndCopyToProjectAsync","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":"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"}
|
|
@@ -9,24 +9,12 @@ function _export(target, all) {
|
|
|
9
9
|
});
|
|
10
10
|
}
|
|
11
11
|
_export(exports, {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
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
|
-
}
|
|
12
|
+
updatePackageJSONAsync: ()=>updatePackageJSONAsync,
|
|
13
|
+
updatePkgDependencies: ()=>updatePkgDependencies,
|
|
14
|
+
createDependenciesMap: ()=>createDependenciesMap,
|
|
15
|
+
updatePkgScripts: ()=>updatePkgScripts,
|
|
16
|
+
hashForDependencyMap: ()=>hashForDependencyMap,
|
|
17
|
+
createFileHash: ()=>createFileHash
|
|
30
18
|
});
|
|
31
19
|
function _config() {
|
|
32
20
|
const data = require("@expo/config");
|
|
@@ -36,28 +24,28 @@ function _config() {
|
|
|
36
24
|
return data;
|
|
37
25
|
}
|
|
38
26
|
function _chalk() {
|
|
39
|
-
const data = /*#__PURE__*/
|
|
27
|
+
const data = /*#__PURE__*/ _interopRequireDefault(require("chalk"));
|
|
40
28
|
_chalk = function() {
|
|
41
29
|
return data;
|
|
42
30
|
};
|
|
43
31
|
return data;
|
|
44
32
|
}
|
|
45
33
|
function _crypto() {
|
|
46
|
-
const data = /*#__PURE__*/
|
|
34
|
+
const data = /*#__PURE__*/ _interopRequireDefault(require("crypto"));
|
|
47
35
|
_crypto = function() {
|
|
48
36
|
return data;
|
|
49
37
|
};
|
|
50
38
|
return data;
|
|
51
39
|
}
|
|
52
40
|
function _fs() {
|
|
53
|
-
const data = /*#__PURE__*/
|
|
41
|
+
const data = /*#__PURE__*/ _interopRequireDefault(require("fs"));
|
|
54
42
|
_fs = function() {
|
|
55
43
|
return data;
|
|
56
44
|
};
|
|
57
45
|
return data;
|
|
58
46
|
}
|
|
59
47
|
function _path() {
|
|
60
|
-
const data = /*#__PURE__*/
|
|
48
|
+
const data = /*#__PURE__*/ _interopRequireDefault(require("path"));
|
|
61
49
|
_path = function() {
|
|
62
50
|
return data;
|
|
63
51
|
};
|
|
@@ -70,10 +58,10 @@ function _semver() {
|
|
|
70
58
|
};
|
|
71
59
|
return data;
|
|
72
60
|
}
|
|
73
|
-
const _log = /*#__PURE__*/
|
|
61
|
+
const _log = /*#__PURE__*/ _interopRequireWildcard(require("../log"));
|
|
74
62
|
const _isModuleSymlinked = require("../utils/isModuleSymlinked");
|
|
75
63
|
const _ora = require("../utils/ora");
|
|
76
|
-
function
|
|
64
|
+
function _interopRequireDefault(obj) {
|
|
77
65
|
return obj && obj.__esModule ? obj : {
|
|
78
66
|
default: obj
|
|
79
67
|
};
|
|
@@ -86,7 +74,7 @@ function _getRequireWildcardCache(nodeInterop) {
|
|
|
86
74
|
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
|
87
75
|
})(nodeInterop);
|
|
88
76
|
}
|
|
89
|
-
function
|
|
77
|
+
function _interopRequireWildcard(obj, nodeInterop) {
|
|
90
78
|
if (!nodeInterop && obj && obj.__esModule) {
|
|
91
79
|
return obj;
|
|
92
80
|
}
|
|
@@ -99,9 +87,7 @@ function _interop_require_wildcard(obj, nodeInterop) {
|
|
|
99
87
|
if (cache && cache.has(obj)) {
|
|
100
88
|
return cache.get(obj);
|
|
101
89
|
}
|
|
102
|
-
var newObj = {
|
|
103
|
-
__proto__: null
|
|
104
|
-
};
|
|
90
|
+
var newObj = {};
|
|
105
91
|
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
106
92
|
for(var key in obj){
|
|
107
93
|
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
@@ -119,8 +105,8 @@ function _interop_require_wildcard(obj, nodeInterop) {
|
|
|
119
105
|
}
|
|
120
106
|
return newObj;
|
|
121
107
|
}
|
|
122
|
-
async function updatePackageJSONAsync(projectRoot, { templateDirectory, templatePkg =
|
|
123
|
-
const updatingPackageJsonStep = (0, _ora.logNewSection)(
|
|
108
|
+
async function updatePackageJSONAsync(projectRoot, { templateDirectory , templatePkg =(0, _config().getPackageJson)(templateDirectory) , pkg , skipDependencyUpdate }) {
|
|
109
|
+
const updatingPackageJsonStep = (0, _ora.logNewSection)("Updating package.json");
|
|
124
110
|
const results = modifyPackageJson(projectRoot, {
|
|
125
111
|
templatePkg,
|
|
126
112
|
pkg,
|
|
@@ -129,11 +115,11 @@ async function updatePackageJSONAsync(projectRoot, { templateDirectory, template
|
|
|
129
115
|
const hasChanges = results.changedDependencies.length || results.scriptsChanged;
|
|
130
116
|
// NOTE: This is effectively bundler caching and subject to breakage if the inputs don't match the mutations.
|
|
131
117
|
if (hasChanges) {
|
|
132
|
-
await _fs().default.promises.writeFile(_path().default.resolve(projectRoot,
|
|
118
|
+
await _fs().default.promises.writeFile(_path().default.resolve(projectRoot, "package.json"), // Add new line to match the format of running yarn.
|
|
133
119
|
// This prevents the `package.json` from changing when running `prebuild --no-install` multiple times.
|
|
134
|
-
JSON.stringify(pkg, null, 2) +
|
|
120
|
+
JSON.stringify(pkg, null, 2) + "\n");
|
|
135
121
|
}
|
|
136
|
-
updatingPackageJsonStep.succeed(
|
|
122
|
+
updatingPackageJsonStep.succeed("Updated package.json" + (hasChanges ? "" : _chalk().default.dim(` | no changes`)));
|
|
137
123
|
return results;
|
|
138
124
|
}
|
|
139
125
|
/**
|
|
@@ -148,7 +134,7 @@ async function updatePackageJSONAsync(projectRoot, { templateDirectory, template
|
|
|
148
134
|
* @param pkg Current package.json as JSON.
|
|
149
135
|
* @param skipDependencyUpdate Array of dependencies to skip updating.
|
|
150
136
|
* @returns
|
|
151
|
-
*/ function modifyPackageJson(projectRoot, { templatePkg, pkg, skipDependencyUpdate
|
|
137
|
+
*/ function modifyPackageJson(projectRoot, { templatePkg , pkg , skipDependencyUpdate }) {
|
|
152
138
|
const scriptsChanged = updatePkgScripts({
|
|
153
139
|
pkg
|
|
154
140
|
});
|
|
@@ -162,8 +148,8 @@ async function updatePackageJSONAsync(projectRoot, { templateDirectory, template
|
|
|
162
148
|
})
|
|
163
149
|
};
|
|
164
150
|
}
|
|
165
|
-
function updatePkgDependencies(projectRoot, { pkg, templatePkg, skipDependencyUpdate =
|
|
166
|
-
const { dependencies
|
|
151
|
+
function updatePkgDependencies(projectRoot, { pkg , templatePkg , skipDependencyUpdate =[] }) {
|
|
152
|
+
const { dependencies } = templatePkg;
|
|
167
153
|
// The default values come from the bare-minimum template's package.json.
|
|
168
154
|
// Users can change this by using different templates with the `--template` flag.
|
|
169
155
|
// The main reason for allowing the changing of dependencies would be to include
|
|
@@ -172,10 +158,10 @@ function updatePkgDependencies(projectRoot, { pkg, templatePkg, skipDependencyUp
|
|
|
172
158
|
const defaultDependencies = createDependenciesMap(dependencies);
|
|
173
159
|
// NOTE: This is a hack to ensure this doesn't trigger an extraneous change in the `package.json`
|
|
174
160
|
// it isn't required for anything in the `ios` and `android` folders.
|
|
175
|
-
delete defaultDependencies[
|
|
161
|
+
delete defaultDependencies["expo-status-bar"];
|
|
176
162
|
// NOTE: Expo splash screen is installed by default in the template but the config plugin also lives in prebuild-config
|
|
177
163
|
// so we can delete it to prevent an extraneous change in the `package.json`.
|
|
178
|
-
delete defaultDependencies[
|
|
164
|
+
delete defaultDependencies["expo-splash-screen"];
|
|
179
165
|
const combinedDependencies = createDependenciesMap({
|
|
180
166
|
...defaultDependencies,
|
|
181
167
|
...pkg.dependencies
|
|
@@ -183,16 +169,16 @@ function updatePkgDependencies(projectRoot, { pkg, templatePkg, skipDependencyUp
|
|
|
183
169
|
// These dependencies are only added, not overwritten from the project
|
|
184
170
|
const requiredDependencies = [
|
|
185
171
|
// TODO: This is no longer required because it's this same package.
|
|
186
|
-
|
|
172
|
+
"expo",
|
|
187
173
|
// TODO: Drop this somehow.
|
|
188
|
-
|
|
174
|
+
"react-native",
|
|
189
175
|
].filter((depKey)=>!!defaultDependencies[depKey]);
|
|
190
176
|
const symlinkedPackages = [];
|
|
191
177
|
const nonRecommendedPackages = [];
|
|
192
178
|
for (const dependenciesKey of requiredDependencies){
|
|
193
|
-
var
|
|
179
|
+
var ref;
|
|
194
180
|
// If the local package.json defined the dependency that we want to overwrite...
|
|
195
|
-
if ((
|
|
181
|
+
if ((ref = pkg.dependencies) == null ? void 0 : ref[dependenciesKey]) {
|
|
196
182
|
// Then ensure it isn't symlinked (i.e. the user has a custom version in their yarn workspace).
|
|
197
183
|
if ((0, _isModuleSymlinked.isModuleSymlinked)(projectRoot, {
|
|
198
184
|
moduleId: dependenciesKey,
|
|
@@ -214,10 +200,10 @@ function updatePkgDependencies(projectRoot, { pkg, templatePkg, skipDependencyUp
|
|
|
214
200
|
}
|
|
215
201
|
}
|
|
216
202
|
if (symlinkedPackages.length) {
|
|
217
|
-
_log.log(`\u203A Using symlinked ${symlinkedPackages.map((pkg)=>_chalk().default.bold(pkg)).join(
|
|
203
|
+
_log.log(`\u203A Using symlinked ${symlinkedPackages.map((pkg)=>_chalk().default.bold(pkg)).join(", ")} instead of recommended version(s).`);
|
|
218
204
|
}
|
|
219
205
|
if (nonRecommendedPackages.length) {
|
|
220
|
-
_log.warn(`\u203A Using current versions instead of recommended ${nonRecommendedPackages.map((pkg)=>_chalk().default.bold(pkg)).join(
|
|
206
|
+
_log.warn(`\u203A Using current versions instead of recommended ${nonRecommendedPackages.map((pkg)=>_chalk().default.bold(pkg)).join(", ")}.`);
|
|
221
207
|
}
|
|
222
208
|
// Only change the dependencies if the normalized hash changes, this helps to reduce meaningless changes.
|
|
223
209
|
const hasNewDependencies = hashForDependencyMap(pkg.dependencies) !== hashForDependencyMap(combinedDependencies);
|
|
@@ -236,7 +222,7 @@ function diffKeys(a, b) {
|
|
|
236
222
|
return Object.keys(a).filter((key)=>a[key] !== b[key]);
|
|
237
223
|
}
|
|
238
224
|
function createDependenciesMap(dependencies) {
|
|
239
|
-
if (typeof dependencies !==
|
|
225
|
+
if (typeof dependencies !== "object") {
|
|
240
226
|
throw new Error(`Dependency map is invalid, expected object but got ${typeof dependencies}`);
|
|
241
227
|
} else if (!dependencies) {
|
|
242
228
|
return {};
|
|
@@ -244,7 +230,7 @@ function createDependenciesMap(dependencies) {
|
|
|
244
230
|
const outputMap = {};
|
|
245
231
|
for (const key of Object.keys(dependencies)){
|
|
246
232
|
const value = dependencies[key];
|
|
247
|
-
if (typeof value ===
|
|
233
|
+
if (typeof value === "string") {
|
|
248
234
|
outputMap[key] = value;
|
|
249
235
|
} else {
|
|
250
236
|
throw new Error(`Dependency for key \`${key}\` should be a \`string\`, instead got: \`{ ${key}: ${JSON.stringify(value)} }\``);
|
|
@@ -252,17 +238,17 @@ function createDependenciesMap(dependencies) {
|
|
|
252
238
|
}
|
|
253
239
|
return outputMap;
|
|
254
240
|
}
|
|
255
|
-
function updatePkgScripts({ pkg
|
|
241
|
+
function updatePkgScripts({ pkg }) {
|
|
256
242
|
let hasChanged = false;
|
|
257
243
|
if (!pkg.scripts) {
|
|
258
244
|
pkg.scripts = {};
|
|
259
245
|
}
|
|
260
|
-
if (!pkg.scripts.android || pkg.scripts.android ===
|
|
261
|
-
pkg.scripts.android =
|
|
246
|
+
if (!pkg.scripts.android || pkg.scripts.android === "expo start --android" || pkg.scripts.android === "react-native run-android") {
|
|
247
|
+
pkg.scripts.android = "expo run:android";
|
|
262
248
|
hasChanged = true;
|
|
263
249
|
}
|
|
264
|
-
if (!pkg.scripts.ios || pkg.scripts.ios ===
|
|
265
|
-
pkg.scripts.ios =
|
|
250
|
+
if (!pkg.scripts.ios || pkg.scripts.ios === "expo start --ios" || pkg.scripts.ios === "react-native run-ios") {
|
|
251
|
+
pkg.scripts.ios = "expo run:ios";
|
|
266
252
|
hasChanged = true;
|
|
267
253
|
}
|
|
268
254
|
return hasChanged;
|
|
@@ -272,12 +258,12 @@ function normalizeDependencyMap(deps) {
|
|
|
272
258
|
}
|
|
273
259
|
function hashForDependencyMap(deps = {}) {
|
|
274
260
|
const depsList = normalizeDependencyMap(deps);
|
|
275
|
-
const depsString = depsList.join(
|
|
261
|
+
const depsString = depsList.join("\n");
|
|
276
262
|
return createFileHash(depsString);
|
|
277
263
|
}
|
|
278
264
|
function createFileHash(contents) {
|
|
279
265
|
// this doesn't need to be secure, the shorter the better.
|
|
280
|
-
return _crypto().default.createHash(
|
|
266
|
+
return _crypto().default.createHash("sha1").update(contents).digest("hex");
|
|
281
267
|
}
|
|
282
268
|
/**
|
|
283
269
|
* Determine if two semver ranges are overlapping or intersecting.
|