@expo/cli 1.0.0-canary-20250320-7a205d3 → 1.0.0-canary-20250402-161f57b
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/bin/cli +93 -91
- package/build/bin/cli.map +1 -1
- package/build/metro-require/require.js +53 -52
- package/build/src/api/endpoint.js +6 -2
- package/build/src/api/endpoint.js.map +1 -1
- package/build/src/api/getExpoGoIntermediateCertificate.js +5 -3
- package/build/src/api/getExpoGoIntermediateCertificate.js.map +1 -1
- package/build/src/api/getExpoSchema.js +16 -12
- package/build/src/api/getExpoSchema.js.map +1 -1
- package/build/src/api/getNativeModuleVersions.js +6 -4
- package/build/src/api/getNativeModuleVersions.js.map +1 -1
- package/build/src/api/getProjectDevelopmentCertificate.js +5 -3
- package/build/src/api/getProjectDevelopmentCertificate.js.map +1 -1
- package/build/src/api/getVersions.js +7 -5
- package/build/src/api/getVersions.js.map +1 -1
- package/build/src/api/graphql/client.js +32 -26
- package/build/src/api/graphql/client.js.map +1 -1
- package/build/src/api/graphql/queries/AppQuery.js +6 -4
- package/build/src/api/graphql/queries/AppQuery.js.map +1 -1
- package/build/src/api/graphql/queries/UserQuery.js +5 -3
- package/build/src/api/graphql/queries/UserQuery.js.map +1 -1
- package/build/src/api/graphql/types/App.js +3 -1
- package/build/src/api/graphql/types/App.js.map +1 -1
- package/build/src/api/rest/cache/FileSystemResponseCache.js +36 -32
- package/build/src/api/rest/cache/FileSystemResponseCache.js.map +1 -1
- package/build/src/api/rest/cache/ResponseCache.js +20 -12
- package/build/src/api/rest/cache/ResponseCache.js.map +1 -1
- package/build/src/api/rest/cache/wrapFetchWithCache.js +13 -11
- package/build/src/api/rest/cache/wrapFetchWithCache.js.map +1 -1
- package/build/src/api/rest/client.js +55 -37
- package/build/src/api/rest/client.js.map +1 -1
- package/build/src/api/rest/client.types.js.map +1 -1
- package/build/src/api/rest/wrapFetchWithBaseUrl.js +5 -3
- package/build/src/api/rest/wrapFetchWithBaseUrl.js.map +1 -1
- package/build/src/api/rest/wrapFetchWithOffline.js +5 -3
- package/build/src/api/rest/wrapFetchWithOffline.js.map +1 -1
- package/build/src/api/rest/wrapFetchWithProgress.js +11 -7
- package/build/src/api/rest/wrapFetchWithProgress.js.map +1 -1
- package/build/src/api/rest/wrapFetchWithProxy.js +5 -3
- package/build/src/api/rest/wrapFetchWithProxy.js.map +1 -1
- package/build/src/api/rest/wrapFetchWithUserAgent.js +8 -6
- package/build/src/api/rest/wrapFetchWithUserAgent.js.map +1 -1
- package/build/src/api/settings.js +7 -5
- package/build/src/api/settings.js.map +1 -1
- package/build/src/api/updateDevelopmentSession.js +23 -17
- package/build/src/api/updateDevelopmentSession.js.map +1 -1
- package/build/src/api/user/UserSettings.js +53 -31
- package/build/src/api/user/UserSettings.js.map +1 -1
- package/build/src/api/user/actions.js +27 -21
- package/build/src/api/user/actions.js.map +1 -1
- package/build/src/api/user/expoSsoLauncher.js +30 -26
- package/build/src/api/user/expoSsoLauncher.js.map +1 -1
- package/build/src/api/user/otp.js +35 -29
- package/build/src/api/user/otp.js.map +1 -1
- package/build/src/api/user/user.js +44 -30
- package/build/src/api/user/user.js.map +1 -1
- package/build/src/config/configAsync.js +29 -23
- package/build/src/config/configAsync.js.map +1 -1
- package/build/src/config/index.js +25 -21
- package/build/src/config/index.js.map +1 -1
- package/build/src/customize/customizeAsync.js +8 -6
- package/build/src/customize/customizeAsync.js.map +1 -1
- package/build/src/customize/generate.js +20 -16
- package/build/src/customize/generate.js.map +1 -1
- package/build/src/customize/index.js +14 -12
- package/build/src/customize/index.js.map +1 -1
- package/build/src/customize/resolveOptions.js +4 -2
- package/build/src/customize/resolveOptions.js.map +1 -1
- package/build/src/customize/templates.js +58 -54
- package/build/src/customize/templates.js.map +1 -1
- package/build/src/customize/typescript.js +11 -7
- package/build/src/customize/typescript.js.map +1 -1
- package/build/src/export/createMetadataJson.js +11 -9
- package/build/src/export/createMetadataJson.js.map +1 -1
- package/build/src/export/embed/exportEager.js +8 -6
- package/build/src/export/embed/exportEager.js.map +1 -1
- package/build/src/export/embed/exportEmbedAsync.js +72 -62
- package/build/src/export/embed/exportEmbedAsync.js.map +1 -1
- package/build/src/export/embed/exportServer.js +57 -55
- package/build/src/export/embed/exportServer.js.map +1 -1
- package/build/src/export/embed/index.js +44 -40
- package/build/src/export/embed/index.js.map +1 -1
- package/build/src/export/embed/resolveOptions.js +44 -36
- package/build/src/export/embed/resolveOptions.js.map +1 -1
- package/build/src/export/embed/xcodeCompilerLogger.js +39 -27
- package/build/src/export/embed/xcodeCompilerLogger.js.map +1 -1
- package/build/src/export/exportApp.js +68 -64
- package/build/src/export/exportApp.js.map +1 -1
- package/build/src/export/exportAssets.js +34 -26
- package/build/src/export/exportAssets.js.map +1 -1
- package/build/src/export/exportAsync.js +13 -9
- package/build/src/export/exportAsync.js.map +1 -1
- package/build/src/export/exportDomComponents.js +53 -45
- package/build/src/export/exportDomComponents.js.map +1 -1
- package/build/src/export/exportHermes.js +75 -53
- package/build/src/export/exportHermes.js.map +1 -1
- package/build/src/export/exportStaticAsync.js +73 -62
- package/build/src/export/exportStaticAsync.js.map +1 -1
- package/build/src/export/favicon.js +33 -27
- package/build/src/export/favicon.js.map +1 -1
- package/build/src/export/getPublicExpoManifest.js +7 -5
- package/build/src/export/getPublicExpoManifest.js.map +1 -1
- package/build/src/export/getResolvedLocales.js +11 -9
- package/build/src/export/getResolvedLocales.js.map +1 -1
- package/build/src/export/html.js +10 -6
- package/build/src/export/html.js.map +1 -1
- package/build/src/export/index.js +32 -28
- package/build/src/export/index.js.map +1 -1
- package/build/src/export/metroAssetLocalPath.js +36 -30
- package/build/src/export/metroAssetLocalPath.js.map +1 -1
- package/build/src/export/persistMetroAssets.js +64 -34
- package/build/src/export/persistMetroAssets.js.map +1 -1
- package/build/src/export/publicFolder.js +10 -6
- package/build/src/export/publicFolder.js.map +1 -1
- package/build/src/export/resolveOptions.js +28 -24
- package/build/src/export/resolveOptions.js.map +1 -1
- package/build/src/export/saveAssets.js +50 -46
- package/build/src/export/saveAssets.js.map +1 -1
- package/build/src/export/web/exportWebAsync.js +13 -11
- package/build/src/export/web/exportWebAsync.js.map +1 -1
- package/build/src/export/web/index.js +19 -15
- package/build/src/export/web/index.js.map +1 -1
- package/build/src/export/web/resolveOptions.js +5 -3
- package/build/src/export/web/resolveOptions.js.map +1 -1
- package/build/src/export/writeContents.js +4 -2
- package/build/src/export/writeContents.js.map +1 -1
- package/build/src/graphql/generated.js +705 -479
- package/build/src/graphql/generated.js.map +1 -1
- package/build/src/install/applyPlugins.js +11 -7
- package/build/src/install/applyPlugins.js.map +1 -1
- package/build/src/install/checkPackages.js +26 -22
- package/build/src/install/checkPackages.js.map +1 -1
- package/build/src/install/fixPackages.js +16 -12
- package/build/src/install/fixPackages.js.map +1 -1
- package/build/src/install/index.js +18 -16
- package/build/src/install/index.js.map +1 -1
- package/build/src/install/installAsync.js +32 -26
- package/build/src/install/installAsync.js.map +1 -1
- package/build/src/install/installExpoPackage.js +22 -18
- package/build/src/install/installExpoPackage.js.map +1 -1
- package/build/src/install/resolveOptions.js +21 -19
- package/build/src/install/resolveOptions.js.map +1 -1
- package/build/src/install/utils/autoAddConfigPlugins.js +18 -14
- package/build/src/install/utils/autoAddConfigPlugins.js.map +1 -1
- package/build/src/install/utils/checkPackagesCompatibility.js +14 -12
- package/build/src/install/utils/checkPackagesCompatibility.js.map +1 -1
- package/build/src/lint/ESlintPrerequisite.js +50 -44
- package/build/src/lint/ESlintPrerequisite.js.map +1 -1
- package/build/src/lint/index.js +12 -8
- package/build/src/lint/index.js.map +1 -1
- package/build/src/lint/lintAsync.js +10 -8
- package/build/src/lint/lintAsync.js.map +1 -1
- package/build/src/log.js +36 -16
- package/build/src/log.js.map +1 -1
- package/build/src/login/index.js +24 -20
- package/build/src/login/index.js.map +1 -1
- package/build/src/logout/index.js +11 -7
- package/build/src/logout/index.js.map +1 -1
- package/build/src/prebuild/clearNativeFolder.js +38 -26
- package/build/src/prebuild/clearNativeFolder.js.map +1 -1
- package/build/src/prebuild/configureProjectAsync.js +18 -14
- package/build/src/prebuild/configureProjectAsync.js.map +1 -1
- package/build/src/prebuild/copyTemplateFiles.js +17 -13
- package/build/src/prebuild/copyTemplateFiles.js.map +1 -1
- package/build/src/prebuild/ensureConfigAsync.js +6 -4
- package/build/src/prebuild/ensureConfigAsync.js.map +1 -1
- package/build/src/prebuild/index.js +36 -32
- package/build/src/prebuild/index.js.map +1 -1
- package/build/src/prebuild/prebuildAsync.js +29 -25
- package/build/src/prebuild/prebuildAsync.js.map +1 -1
- package/build/src/prebuild/renameTemplateAppName.js +43 -37
- package/build/src/prebuild/renameTemplateAppName.js.map +1 -1
- package/build/src/prebuild/resolveOptions.js +70 -53
- package/build/src/prebuild/resolveOptions.js.map +1 -1
- package/build/src/prebuild/resolveTemplate.js +36 -32
- package/build/src/prebuild/resolveTemplate.js.map +1 -1
- package/build/src/prebuild/updateFromTemplate.js +19 -13
- package/build/src/prebuild/updateFromTemplate.js.map +1 -1
- package/build/src/prebuild/updatePackageJson.js +53 -39
- package/build/src/prebuild/updatePackageJson.js.map +1 -1
- package/build/src/prebuild/validateTemplatePlatforms.js +12 -8
- package/build/src/prebuild/validateTemplatePlatforms.js.map +1 -1
- package/build/src/register/index.js +11 -7
- package/build/src/register/index.js.map +1 -1
- package/build/src/register/registerAsync.js +5 -3
- package/build/src/register/registerAsync.js.map +1 -1
- package/build/src/run/android/index.js +36 -32
- package/build/src/run/android/index.js.map +1 -1
- package/build/src/run/android/resolveDevice.js +10 -8
- package/build/src/run/android/resolveDevice.js.map +1 -1
- package/build/src/run/android/resolveGradlePropsAsync.js +18 -16
- package/build/src/run/android/resolveGradlePropsAsync.js.map +1 -1
- package/build/src/run/android/resolveInstallApkName.js +17 -15
- package/build/src/run/android/resolveInstallApkName.js.map +1 -1
- package/build/src/run/android/resolveLaunchProps.js +12 -10
- package/build/src/run/android/resolveLaunchProps.js.map +1 -1
- package/build/src/run/android/resolveOptions.js +4 -2
- package/build/src/run/android/resolveOptions.js.map +1 -1
- package/build/src/run/android/runAndroidAsync.js +23 -21
- package/build/src/run/android/runAndroidAsync.js.map +1 -1
- package/build/src/run/ensureNativeProject.js +7 -5
- package/build/src/run/ensureNativeProject.js.map +1 -1
- package/build/src/run/hints.js +13 -7
- package/build/src/run/hints.js.map +1 -1
- package/build/src/run/index.js +27 -23
- package/build/src/run/index.js.map +1 -1
- package/build/src/run/ios/XcodeBuild.js +80 -60
- package/build/src/run/ios/XcodeBuild.js.map +1 -1
- package/build/src/run/ios/XcodeBuild.types.js.map +1 -1
- package/build/src/run/ios/appleDevice/AppleDevice.js +69 -63
- package/build/src/run/ios/appleDevice/AppleDevice.js.map +1 -1
- package/build/src/run/ios/appleDevice/ClientManager.js +29 -26
- package/build/src/run/ios/appleDevice/ClientManager.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/AFCClient.js +28 -25
- package/build/src/run/ios/appleDevice/client/AFCClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/DebugserverClient.js +29 -26
- package/build/src/run/ios/appleDevice/client/DebugserverClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/InstallationProxyClient.js +22 -21
- package/build/src/run/ios/appleDevice/client/InstallationProxyClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/LockdowndClient.js +32 -29
- package/build/src/run/ios/appleDevice/client/LockdowndClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/MobileImageMounterClient.js +28 -24
- package/build/src/run/ios/appleDevice/client/MobileImageMounterClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/ServiceClient.js +7 -4
- package/build/src/run/ios/appleDevice/client/ServiceClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/UsbmuxdClient.js +28 -27
- package/build/src/run/ios/appleDevice/client/UsbmuxdClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/installOnDeviceAsync.js +23 -17
- package/build/src/run/ios/appleDevice/installOnDeviceAsync.js.map +1 -1
- package/build/src/run/ios/appleDevice/protocol/AFCProtocol.js +146 -132
- package/build/src/run/ios/appleDevice/protocol/AFCProtocol.js.map +1 -1
- package/build/src/run/ios/appleDevice/protocol/AbstractProtocol.js +29 -21
- package/build/src/run/ios/appleDevice/protocol/AbstractProtocol.js.map +1 -1
- package/build/src/run/ios/appleDevice/protocol/GDBProtocol.js +29 -21
- package/build/src/run/ios/appleDevice/protocol/GDBProtocol.js.map +1 -1
- package/build/src/run/ios/appleDevice/protocol/LockdownProtocol.js +34 -22
- package/build/src/run/ios/appleDevice/protocol/LockdownProtocol.js.map +1 -1
- package/build/src/run/ios/appleDevice/protocol/UsbmuxProtocol.js +27 -17
- package/build/src/run/ios/appleDevice/protocol/UsbmuxProtocol.js.map +1 -1
- package/build/src/run/ios/codeSigning/Security.js +53 -39
- package/build/src/run/ios/codeSigning/Security.js.map +1 -1
- package/build/src/run/ios/codeSigning/configureCodeSigning.js +13 -9
- package/build/src/run/ios/codeSigning/configureCodeSigning.js.map +1 -1
- package/build/src/run/ios/codeSigning/resolveCertificateSigningIdentity.js +27 -19
- package/build/src/run/ios/codeSigning/resolveCertificateSigningIdentity.js.map +1 -1
- package/build/src/run/ios/codeSigning/settings.js +9 -5
- package/build/src/run/ios/codeSigning/settings.js.map +1 -1
- package/build/src/run/ios/codeSigning/simulatorCodeSigning.js +14 -12
- package/build/src/run/ios/codeSigning/simulatorCodeSigning.js.map +1 -1
- package/build/src/run/ios/codeSigning/xcodeCodeSigning.js +27 -21
- package/build/src/run/ios/codeSigning/xcodeCodeSigning.js.map +1 -1
- package/build/src/run/ios/index.js +40 -36
- package/build/src/run/ios/index.js.map +1 -1
- package/build/src/run/ios/launchApp.js +23 -17
- package/build/src/run/ios/launchApp.js.map +1 -1
- package/build/src/run/ios/options/appleDestinations.js +38 -36
- package/build/src/run/ios/options/appleDestinations.js.map +1 -1
- package/build/src/run/ios/options/promptDevice.js +20 -16
- package/build/src/run/ios/options/promptDevice.js.map +1 -1
- package/build/src/run/ios/options/resolveDevice.js +30 -24
- package/build/src/run/ios/options/resolveDevice.js.map +1 -1
- package/build/src/run/ios/options/resolveNativeScheme.js +31 -23
- package/build/src/run/ios/options/resolveNativeScheme.js.map +1 -1
- package/build/src/run/ios/options/resolveOptions.js +7 -5
- package/build/src/run/ios/options/resolveOptions.js.map +1 -1
- package/build/src/run/ios/options/resolveXcodeProject.js +7 -5
- package/build/src/run/ios/options/resolveXcodeProject.js.map +1 -1
- package/build/src/run/ios/runIosAsync.js +48 -44
- package/build/src/run/ios/runIosAsync.js.map +1 -1
- package/build/src/run/ios/validateExternalBinary.js +24 -22
- package/build/src/run/ios/validateExternalBinary.js.map +1 -1
- package/build/src/run/resolveBundlerProps.js +4 -2
- package/build/src/run/resolveBundlerProps.js.map +1 -1
- package/build/src/run/startBundler.js +16 -12
- package/build/src/run/startBundler.js.map +1 -1
- package/build/src/serve/index.js +20 -16
- package/build/src/serve/index.js.map +1 -1
- package/build/src/serve/serveAsync.js +36 -32
- package/build/src/serve/serveAsync.js.map +1 -1
- package/build/src/start/detectDevClient.js +13 -9
- package/build/src/start/detectDevClient.js.map +1 -1
- package/build/src/start/doctor/Prerequisite.js +12 -7
- package/build/src/start/doctor/Prerequisite.js.map +1 -1
- package/build/src/start/doctor/SecurityBinPrerequisite.js +13 -11
- package/build/src/start/doctor/SecurityBinPrerequisite.js.map +1 -1
- package/build/src/start/doctor/apple/SimulatorAppPrerequisite.js +23 -19
- package/build/src/start/doctor/apple/SimulatorAppPrerequisite.js.map +1 -1
- package/build/src/start/doctor/apple/XcodeDeveloperDiskImagePrerequisite.js +23 -19
- package/build/src/start/doctor/apple/XcodeDeveloperDiskImagePrerequisite.js.map +1 -1
- package/build/src/start/doctor/apple/XcodePrerequisite.js +51 -45
- package/build/src/start/doctor/apple/XcodePrerequisite.js.map +1 -1
- package/build/src/start/doctor/apple/XcrunPrerequisite.js +18 -16
- package/build/src/start/doctor/apple/XcrunPrerequisite.js.map +1 -1
- package/build/src/start/doctor/dependencies/bundledNativeModules.js +23 -19
- package/build/src/start/doctor/dependencies/bundledNativeModules.js.map +1 -1
- package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js +31 -25
- package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js.map +1 -1
- package/build/src/start/doctor/dependencies/getMissingPackages.js +25 -17
- package/build/src/start/doctor/dependencies/getMissingPackages.js.map +1 -1
- package/build/src/start/doctor/dependencies/getVersionedPackages.js +40 -32
- package/build/src/start/doctor/dependencies/getVersionedPackages.js.map +1 -1
- package/build/src/start/doctor/dependencies/resolvePackages.js +32 -26
- package/build/src/start/doctor/dependencies/resolvePackages.js.map +1 -1
- package/build/src/start/doctor/dependencies/validateDependenciesVersions.js +41 -31
- package/build/src/start/doctor/dependencies/validateDependenciesVersions.js.map +1 -1
- package/build/src/start/doctor/ngrok/ExternalModule.js +34 -29
- package/build/src/start/doctor/ngrok/ExternalModule.js.map +1 -1
- package/build/src/start/doctor/ngrok/NgrokResolver.js +12 -8
- package/build/src/start/doctor/ngrok/NgrokResolver.js.map +1 -1
- package/build/src/start/doctor/typescript/TypeScriptProjectPrerequisite.js +32 -28
- package/build/src/start/doctor/typescript/TypeScriptProjectPrerequisite.js.map +1 -1
- package/build/src/start/doctor/typescript/updateTSConfig.js +23 -17
- package/build/src/start/doctor/typescript/updateTSConfig.js.map +1 -1
- package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js +33 -27
- package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js.map +1 -1
- package/build/src/start/index.js +46 -42
- package/build/src/start/index.js.map +1 -1
- package/build/src/start/interface/KeyPressHandler.js +18 -14
- package/build/src/start/interface/KeyPressHandler.js.map +1 -1
- package/build/src/start/interface/commandsTable.js +94 -80
- package/build/src/start/interface/commandsTable.js.map +1 -1
- package/build/src/start/interface/interactiveActions.js +44 -40
- package/build/src/start/interface/interactiveActions.js.map +1 -1
- package/build/src/start/interface/startInterface.js +65 -61
- package/build/src/start/interface/startInterface.js.map +1 -1
- package/build/src/start/platforms/AppIdResolver.js +6 -4
- package/build/src/start/platforms/AppIdResolver.js.map +1 -1
- package/build/src/start/platforms/DeviceManager.js +10 -6
- package/build/src/start/platforms/DeviceManager.js.map +1 -1
- package/build/src/start/platforms/ExpoGoInstaller.js +25 -20
- package/build/src/start/platforms/ExpoGoInstaller.js.map +1 -1
- package/build/src/start/platforms/PlatformManager.js +17 -15
- package/build/src/start/platforms/PlatformManager.js.map +1 -1
- package/build/src/start/platforms/android/ADBServer.js +39 -35
- package/build/src/start/platforms/android/ADBServer.js.map +1 -1
- package/build/src/start/platforms/android/AndroidAppIdResolver.js +18 -16
- package/build/src/start/platforms/android/AndroidAppIdResolver.js.map +1 -1
- package/build/src/start/platforms/android/AndroidDeviceManager.js +24 -20
- package/build/src/start/platforms/android/AndroidDeviceManager.js.map +1 -1
- package/build/src/start/platforms/android/AndroidPlatformManager.js +17 -17
- package/build/src/start/platforms/android/AndroidPlatformManager.js.map +1 -1
- package/build/src/start/platforms/android/AndroidSdk.js +11 -9
- package/build/src/start/platforms/android/AndroidSdk.js.map +1 -1
- package/build/src/start/platforms/android/activateWindow.js +26 -22
- package/build/src/start/platforms/android/activateWindow.js.map +1 -1
- package/build/src/start/platforms/android/adb.js +121 -83
- package/build/src/start/platforms/android/adb.js.map +1 -1
- package/build/src/start/platforms/android/adbReverse.js +20 -12
- package/build/src/start/platforms/android/adbReverse.js.map +1 -1
- package/build/src/start/platforms/android/emulator.js +36 -26
- package/build/src/start/platforms/android/emulator.js.map +1 -1
- package/build/src/start/platforms/android/getDevices.js +7 -5
- package/build/src/start/platforms/android/getDevices.js.map +1 -1
- package/build/src/start/platforms/android/gradle.js +36 -28
- package/build/src/start/platforms/android/gradle.js.map +1 -1
- package/build/src/start/platforms/android/promptAndroidDevice.js +19 -15
- package/build/src/start/platforms/android/promptAndroidDevice.js.map +1 -1
- package/build/src/start/platforms/ios/AppleAppIdResolver.js +21 -19
- package/build/src/start/platforms/ios/AppleAppIdResolver.js.map +1 -1
- package/build/src/start/platforms/ios/AppleDeviceManager.js +37 -31
- package/build/src/start/platforms/ios/AppleDeviceManager.js.map +1 -1
- package/build/src/start/platforms/ios/ApplePlatformManager.js +12 -12
- package/build/src/start/platforms/ios/ApplePlatformManager.js.map +1 -1
- package/build/src/start/platforms/ios/assertSystemRequirements.js +9 -7
- package/build/src/start/platforms/ios/assertSystemRequirements.js.map +1 -1
- package/build/src/start/platforms/ios/devicectl.js +88 -74
- package/build/src/start/platforms/ios/devicectl.js.map +1 -1
- package/build/src/start/platforms/ios/ensureSimulatorAppRunning.js +22 -18
- package/build/src/start/platforms/ios/ensureSimulatorAppRunning.js.map +1 -1
- package/build/src/start/platforms/ios/getBestSimulator.js +29 -19
- package/build/src/start/platforms/ios/getBestSimulator.js.map +1 -1
- package/build/src/start/platforms/ios/promptAppleDevice.js +14 -10
- package/build/src/start/platforms/ios/promptAppleDevice.js.map +1 -1
- package/build/src/start/platforms/ios/simctl.js +102 -74
- package/build/src/start/platforms/ios/simctl.js.map +1 -1
- package/build/src/start/platforms/ios/simctlLogging.js +57 -52
- package/build/src/start/platforms/ios/simctlLogging.js.map +1 -1
- package/build/src/start/platforms/ios/xcrun.js +22 -18
- package/build/src/start/platforms/ios/xcrun.js.map +1 -1
- package/build/src/start/project/devices.js +19 -9
- package/build/src/start/project/devices.js.map +1 -1
- package/build/src/start/project/dotExpo.js +15 -11
- package/build/src/start/project/dotExpo.js.map +1 -1
- package/build/src/start/project/settings.js +4 -2
- package/build/src/start/project/settings.js.map +1 -1
- package/build/src/start/resolveOptions.js +48 -40
- package/build/src/start/resolveOptions.js.map +1 -1
- package/build/src/start/server/AsyncNgrok.js +55 -51
- package/build/src/start/server/AsyncNgrok.js.map +1 -1
- package/build/src/start/server/AsyncWsTunnel.js +37 -33
- package/build/src/start/server/AsyncWsTunnel.js.map +1 -1
- package/build/src/start/server/BundlerDevServer.js +81 -79
- package/build/src/start/server/BundlerDevServer.js.map +1 -1
- package/build/src/start/server/DevServerManager.js +42 -38
- package/build/src/start/server/DevServerManager.js.map +1 -1
- package/build/src/start/server/DevToolsPluginManager.js +18 -14
- package/build/src/start/server/DevToolsPluginManager.js.map +1 -1
- package/build/src/start/server/DevelopmentSession.js +18 -14
- package/build/src/start/server/DevelopmentSession.js.map +1 -1
- package/build/src/start/server/ReactDevToolsProxy.js +16 -10
- package/build/src/start/server/ReactDevToolsProxy.js.map +1 -1
- package/build/src/start/server/UrlCreator.js +36 -33
- package/build/src/start/server/UrlCreator.js.map +1 -1
- package/build/src/start/server/getStaticRenderFunctions.js +30 -22
- package/build/src/start/server/getStaticRenderFunctions.js.map +1 -1
- package/build/src/start/server/metro/DevToolsPluginWebsocketEndpoint.js +9 -5
- package/build/src/start/server/metro/DevToolsPluginWebsocketEndpoint.js.map +1 -1
- package/build/src/start/server/metro/MetroBundlerDevServer.js +293 -280
- package/build/src/start/server/metro/MetroBundlerDevServer.js.map +1 -1
- package/build/src/start/server/metro/MetroTerminalReporter.js +63 -56
- package/build/src/start/server/metro/MetroTerminalReporter.js.map +1 -1
- package/build/src/start/server/metro/TerminalReporter.js +39 -33
- package/build/src/start/server/metro/TerminalReporter.js.map +1 -1
- package/build/src/start/server/metro/TerminalReporter.types.js.map +1 -1
- package/build/src/start/server/metro/createExpoFallbackResolver.js +13 -11
- package/build/src/start/server/metro/createExpoFallbackResolver.js.map +1 -1
- package/build/src/start/server/metro/createExpoMetroResolver.js +47 -41
- package/build/src/start/server/metro/createExpoMetroResolver.js.map +1 -1
- package/build/src/start/server/metro/createJResolver.js +31 -27
- package/build/src/start/server/metro/createJResolver.js.map +1 -1
- package/build/src/start/server/metro/createServerComponentsMiddleware.js +110 -98
- package/build/src/start/server/metro/createServerComponentsMiddleware.js.map +1 -1
- package/build/src/start/server/metro/createServerRouteMiddleware.js +34 -30
- package/build/src/start/server/metro/createServerRouteMiddleware.js.map +1 -1
- package/build/src/start/server/metro/debugging/AtlasPrerequisite.js +13 -11
- package/build/src/start/server/metro/debugging/AtlasPrerequisite.js.map +1 -1
- package/build/src/start/server/metro/debugging/MessageHandler.js +3 -1
- package/build/src/start/server/metro/debugging/MessageHandler.js.map +1 -1
- package/build/src/start/server/metro/debugging/attachAtlas.js +26 -22
- package/build/src/start/server/metro/debugging/attachAtlas.js.map +1 -1
- package/build/src/start/server/metro/debugging/createDebugMiddleware.js +19 -17
- package/build/src/start/server/metro/debugging/createDebugMiddleware.js.map +1 -1
- package/build/src/start/server/metro/debugging/createHandlersFactory.js +25 -31
- package/build/src/start/server/metro/debugging/createHandlersFactory.js.map +1 -1
- package/build/src/start/server/metro/debugging/getDebuggerType.js +6 -4
- package/build/src/start/server/metro/debugging/getDebuggerType.js.map +1 -1
- package/build/src/start/server/metro/debugging/messageHandlers/NetworkResponse.js +14 -8
- package/build/src/start/server/metro/debugging/messageHandlers/NetworkResponse.js.map +1 -1
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerGetPossibleBreakpoints.js +7 -5
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerGetPossibleBreakpoints.js.map +1 -1
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerSetBreakpointByUrl.js +8 -6
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerSetBreakpointByUrl.js.map +1 -1
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeCallFunctionOn.js +7 -5
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeCallFunctionOn.js.map +1 -1
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeEvaluate.js +14 -12
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeEvaluate.js.map +1 -1
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeGetProperties.js +14 -10
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeGetProperties.js.map +1 -1
- package/build/src/start/server/metro/debugging/pageIsSupported.js +6 -4
- package/build/src/start/server/metro/debugging/pageIsSupported.js.map +1 -1
- package/build/src/start/server/metro/debugging/types.js.map +1 -1
- package/build/src/start/server/metro/dev-server/createEventSocket.js +18 -16
- package/build/src/start/server/metro/dev-server/createEventSocket.js.map +1 -1
- package/build/src/start/server/metro/dev-server/createMessageSocket.js +23 -21
- package/build/src/start/server/metro/dev-server/createMessageSocket.js.map +1 -1
- package/build/src/start/server/metro/dev-server/createMetroMiddleware.js +23 -21
- package/build/src/start/server/metro/dev-server/createMetroMiddleware.js.map +1 -1
- package/build/src/start/server/metro/dev-server/utils/createSocketBroadcaster.js +4 -2
- package/build/src/start/server/metro/dev-server/utils/createSocketBroadcaster.js.map +1 -1
- package/build/src/start/server/metro/dev-server/utils/createSocketMap.js +4 -2
- package/build/src/start/server/metro/dev-server/utils/createSocketMap.js.map +1 -1
- package/build/src/start/server/metro/dev-server/utils/socketMessages.js +8 -4
- package/build/src/start/server/metro/dev-server/utils/socketMessages.js.map +1 -1
- package/build/src/start/server/metro/externals.js +33 -25
- package/build/src/start/server/metro/externals.js.map +1 -1
- package/build/src/start/server/metro/fetchRouterManifest.js +28 -12
- package/build/src/start/server/metro/fetchRouterManifest.js.map +1 -1
- package/build/src/start/server/metro/formatFileCandidates.js +11 -9
- package/build/src/start/server/metro/formatFileCandidates.js.map +1 -1
- package/build/src/start/server/metro/getCssModulesFromBundler.js +24 -20
- package/build/src/start/server/metro/getCssModulesFromBundler.js.map +1 -1
- package/build/src/start/server/metro/instantiateMetro.js +87 -81
- package/build/src/start/server/metro/instantiateMetro.js.map +1 -1
- package/build/src/start/server/metro/log-box/LogBoxLog.js +40 -36
- package/build/src/start/server/metro/log-box/LogBoxLog.js.map +1 -1
- package/build/src/start/server/metro/log-box/LogBoxSymbolication.js +20 -14
- package/build/src/start/server/metro/log-box/LogBoxSymbolication.js.map +1 -1
- package/build/src/start/server/metro/log-box/formatProjectFilePath.js +10 -6
- package/build/src/start/server/metro/log-box/formatProjectFilePath.js.map +1 -1
- package/build/src/start/server/metro/metroErrorInterface.js +88 -78
- package/build/src/start/server/metro/metroErrorInterface.js.map +1 -1
- package/build/src/start/server/metro/metroErrors.js +8 -4
- package/build/src/start/server/metro/metroErrors.js.map +1 -1
- package/build/src/start/server/metro/metroPrivateServer.js +9 -7
- package/build/src/start/server/metro/metroPrivateServer.js.map +1 -1
- package/build/src/start/server/metro/metroVirtualModules.js +10 -8
- package/build/src/start/server/metro/metroVirtualModules.js.map +1 -1
- package/build/src/start/server/metro/metroWatchTypeScriptFiles.js +24 -22
- package/build/src/start/server/metro/metroWatchTypeScriptFiles.js.map +1 -1
- package/build/src/start/server/metro/router.js +48 -32
- package/build/src/start/server/metro/router.js.map +1 -1
- package/build/src/start/server/metro/runServer-fork.js +24 -22
- package/build/src/start/server/metro/runServer-fork.js.map +1 -1
- package/build/src/start/server/metro/serializeHtml.js +24 -22
- package/build/src/start/server/metro/serializeHtml.js.map +1 -1
- package/build/src/start/server/metro/symbolicate.js.map +1 -1
- package/build/src/start/server/metro/waitForMetroToObserveTypeScriptFile.js +35 -29
- package/build/src/start/server/metro/waitForMetroToObserveTypeScriptFile.js.map +1 -1
- package/build/src/start/server/metro/withMetroMultiPlatform.js +150 -140
- package/build/src/start/server/metro/withMetroMultiPlatform.js.map +1 -1
- package/build/src/start/server/metro/withMetroResolvers.js +49 -39
- package/build/src/start/server/metro/withMetroResolvers.js.map +1 -1
- package/build/src/start/server/middleware/ContextModuleSourceMapsMiddleware.js +8 -6
- package/build/src/start/server/middleware/ContextModuleSourceMapsMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/CorsMiddleware.js +17 -15
- package/build/src/start/server/middleware/CorsMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/CreateFileMiddleware.js +32 -31
- package/build/src/start/server/middleware/CreateFileMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/DevToolsPluginMiddleware.js +22 -19
- package/build/src/start/server/middleware/DevToolsPluginMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/DomComponentsMiddleware.js +33 -27
- package/build/src/start/server/middleware/DomComponentsMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js +61 -57
- package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/ExpoMiddleware.js +15 -9
- package/build/src/start/server/middleware/ExpoMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/FaviconMiddleware.js +16 -15
- package/build/src/start/server/middleware/FaviconMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/HistoryFallbackMiddleware.js +4 -2
- package/build/src/start/server/middleware/HistoryFallbackMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/InterstitialPageMiddleware.js +34 -31
- package/build/src/start/server/middleware/InterstitialPageMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/ManifestMiddleware.js +64 -56
- package/build/src/start/server/middleware/ManifestMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/ReactDevToolsPageMiddleware.js +23 -19
- package/build/src/start/server/middleware/ReactDevToolsPageMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js +20 -19
- package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/ServeStaticMiddleware.js +11 -9
- package/build/src/start/server/middleware/ServeStaticMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/createBuiltinAPIRequestHandler.js +17 -11
- package/build/src/start/server/middleware/createBuiltinAPIRequestHandler.js.map +1 -1
- package/build/src/start/server/middleware/inspector/CdpClient.js +12 -10
- package/build/src/start/server/middleware/inspector/CdpClient.js.map +1 -1
- package/build/src/start/server/middleware/inspector/JsInspector.js +35 -27
- package/build/src/start/server/middleware/inspector/JsInspector.js.map +1 -1
- package/build/src/start/server/middleware/inspector/createJsInspectorMiddleware.js +21 -19
- package/build/src/start/server/middleware/inspector/createJsInspectorMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/inspector/middlwareMutations.js +6 -2
- package/build/src/start/server/middleware/inspector/middlwareMutations.js.map +1 -1
- package/build/src/start/server/middleware/metroOptions.js +120 -96
- package/build/src/start/server/middleware/metroOptions.js.map +1 -1
- package/build/src/start/server/middleware/mutations.js +7 -3
- package/build/src/start/server/middleware/mutations.js.map +1 -1
- package/build/src/start/server/middleware/resolveAssets.js +26 -18
- package/build/src/start/server/middleware/resolveAssets.js.map +1 -1
- package/build/src/start/server/middleware/resolvePlatform.js +23 -15
- package/build/src/start/server/middleware/resolvePlatform.js.map +1 -1
- package/build/src/start/server/middleware/resolveRuntimeVersionWithExpoUpdatesAsync.js +11 -9
- package/build/src/start/server/middleware/resolveRuntimeVersionWithExpoUpdatesAsync.js.map +1 -1
- package/build/src/start/server/middleware/server.types.js.map +1 -1
- package/build/src/start/server/openPlatforms.js +10 -8
- package/build/src/start/server/openPlatforms.js.map +1 -1
- package/build/src/start/server/platformBundlers.js +13 -11
- package/build/src/start/server/platformBundlers.js.map +1 -1
- package/build/src/start/server/serverLogLikeMetro.js +58 -50
- package/build/src/start/server/serverLogLikeMetro.js.map +1 -1
- package/build/src/start/server/type-generation/expo-env.js +11 -7
- package/build/src/start/server/type-generation/expo-env.js.map +1 -1
- package/build/src/start/server/type-generation/routes.js +72 -50
- package/build/src/start/server/type-generation/routes.js.map +1 -1
- package/build/src/start/server/type-generation/startTypescriptTypeGeneration.js +21 -19
- package/build/src/start/server/type-generation/startTypescriptTypeGeneration.js.map +1 -1
- package/build/src/start/server/type-generation/tsconfig.js +36 -28
- package/build/src/start/server/type-generation/tsconfig.js.map +1 -1
- package/build/src/start/server/webTemplate.js +28 -24
- package/build/src/start/server/webTemplate.js.map +1 -1
- package/build/src/start/server/webpack/WebpackBundlerDevServer.js +52 -46
- package/build/src/start/server/webpack/WebpackBundlerDevServer.js.map +1 -1
- package/build/src/start/server/webpack/compile.js +15 -11
- package/build/src/start/server/webpack/compile.js.map +1 -1
- package/build/src/start/server/webpack/formatWebpackMessages.js +28 -26
- package/build/src/start/server/webpack/formatWebpackMessages.js.map +1 -1
- package/build/src/start/server/webpack/resolveFromProject.js +18 -12
- package/build/src/start/server/webpack/resolveFromProject.js.map +1 -1
- package/build/src/start/server/webpack/tls.js +18 -12
- package/build/src/start/server/webpack/tls.js.map +1 -1
- package/build/src/start/startAsync.js +31 -27
- package/build/src/start/startAsync.js.map +1 -1
- package/build/src/utils/FileNotifier.js +20 -17
- package/build/src/utils/FileNotifier.js.map +1 -1
- package/build/src/utils/ansi.js +7 -5
- package/build/src/utils/ansi.js.map +1 -1
- package/build/src/utils/args.js +24 -14
- package/build/src/utils/args.js.map +1 -1
- package/build/src/utils/array.js +18 -6
- package/build/src/utils/array.js.map +1 -1
- package/build/src/utils/cocoapods.js +54 -46
- package/build/src/utils/cocoapods.js.map +1 -1
- package/build/src/utils/codesigning.js +79 -69
- package/build/src/utils/codesigning.js.map +1 -1
- package/build/src/utils/createFileTransform.js +16 -12
- package/build/src/utils/createFileTransform.js.map +1 -1
- package/build/src/utils/createTempPath.js +12 -8
- package/build/src/utils/createTempPath.js.map +1 -1
- package/build/src/utils/delay.js +12 -6
- package/build/src/utils/delay.js.map +1 -1
- package/build/src/utils/dir.js +40 -22
- package/build/src/utils/dir.js.map +1 -1
- package/build/src/utils/downloadAppAsync.js +10 -8
- package/build/src/utils/downloadAppAsync.js.map +1 -1
- package/build/src/utils/downloadExpoGoAsync.js +27 -23
- package/build/src/utils/downloadExpoGoAsync.js.map +1 -1
- package/build/src/utils/editor.js +41 -35
- package/build/src/utils/editor.js.map +1 -1
- package/build/src/utils/env.js +63 -59
- package/build/src/utils/env.js.map +1 -1
- package/build/src/utils/errors.js +37 -30
- package/build/src/utils/errors.js.map +1 -1
- package/build/src/utils/exit.js +35 -31
- package/build/src/utils/exit.js.map +1 -1
- package/build/src/utils/expoUpdatesCli.js +32 -22
- package/build/src/utils/expoUpdatesCli.js.map +1 -1
- package/build/src/utils/fetch.js +8 -4
- package/build/src/utils/fetch.js.map +1 -1
- package/build/src/utils/filePath.js +10 -6
- package/build/src/utils/filePath.js.map +1 -1
- package/build/src/utils/findUp.js +13 -9
- package/build/src/utils/findUp.js.map +1 -1
- package/build/src/utils/fn.js +6 -2
- package/build/src/utils/fn.js.map +1 -1
- package/build/src/utils/getOrPromptApplicationId.js +41 -35
- package/build/src/utils/getOrPromptApplicationId.js.map +1 -1
- package/build/src/utils/getRunningProcess.js +29 -21
- package/build/src/utils/getRunningProcess.js.map +1 -1
- package/build/src/utils/git.js +26 -20
- package/build/src/utils/git.js.map +1 -1
- package/build/src/utils/glob.js +8 -4
- package/build/src/utils/glob.js.map +1 -1
- package/build/src/utils/interactive.js +3 -1
- package/build/src/utils/interactive.js.map +1 -1
- package/build/src/utils/ip.js +21 -19
- package/build/src/utils/ip.js.map +1 -1
- package/build/src/utils/isModuleSymlinked.js +11 -9
- package/build/src/utils/isModuleSymlinked.js.map +1 -1
- package/build/src/utils/jsonSchemaDeref.js +20 -18
- package/build/src/utils/jsonSchemaDeref.js.map +1 -1
- package/build/src/utils/link.js +17 -13
- package/build/src/utils/link.js.map +1 -1
- package/build/src/utils/mergeGitIgnorePaths.js +46 -28
- package/build/src/utils/mergeGitIgnorePaths.js.map +1 -1
- package/build/src/utils/modifyConfigAsync.js +16 -10
- package/build/src/utils/modifyConfigAsync.js.map +1 -1
- package/build/src/utils/modifyConfigPlugins.js +10 -6
- package/build/src/utils/modifyConfigPlugins.js.map +1 -1
- package/build/src/utils/multipartMixed.js +13 -11
- package/build/src/utils/multipartMixed.js.map +1 -1
- package/build/src/utils/nodeEnv.js +12 -6
- package/build/src/utils/nodeEnv.js.map +1 -1
- package/build/src/utils/nodeModules.js +10 -8
- package/build/src/utils/nodeModules.js.map +1 -1
- package/build/src/utils/npm.js +49 -35
- package/build/src/utils/npm.js.map +1 -1
- package/build/src/utils/obj.js +11 -5
- package/build/src/utils/obj.js.map +1 -1
- package/build/src/utils/open.js +10 -8
- package/build/src/utils/open.js.map +1 -1
- package/build/src/utils/ora.js +13 -7
- package/build/src/utils/ora.js.map +1 -1
- package/build/src/utils/plist.js +21 -15
- package/build/src/utils/plist.js.map +1 -1
- package/build/src/utils/port.js +43 -33
- package/build/src/utils/port.js.map +1 -1
- package/build/src/utils/profile.js +11 -7
- package/build/src/utils/profile.js.map +1 -1
- package/build/src/utils/progress.js +11 -5
- package/build/src/utils/progress.js.map +1 -1
- package/build/src/utils/prompts.js +47 -29
- package/build/src/utils/prompts.js.map +1 -1
- package/build/src/utils/resolveArgs.js +36 -24
- package/build/src/utils/resolveArgs.js.map +1 -1
- package/build/src/utils/scheme.js +40 -32
- package/build/src/utils/scheme.js.map +1 -1
- package/build/src/utils/stream.js +5 -3
- package/build/src/utils/stream.js.map +1 -1
- package/build/src/utils/strings.js +6 -4
- package/build/src/utils/strings.js.map +1 -1
- package/build/src/utils/tar.js +18 -14
- package/build/src/utils/tar.js.map +1 -1
- package/build/src/utils/telemetry/Telemetry.js +29 -27
- package/build/src/utils/telemetry/Telemetry.js.map +1 -1
- package/build/src/utils/telemetry/clients/FetchClient.js +15 -13
- package/build/src/utils/telemetry/clients/FetchClient.js.map +1 -1
- package/build/src/utils/telemetry/clients/FetchDetachedClient.js +26 -22
- package/build/src/utils/telemetry/clients/FetchDetachedClient.js.map +1 -1
- package/build/src/utils/telemetry/clients/flushFetchDetached.js +10 -10
- package/build/src/utils/telemetry/clients/flushFetchDetached.js.map +1 -1
- package/build/src/utils/telemetry/events.js +4 -2
- package/build/src/utils/telemetry/events.js.map +1 -1
- package/build/src/utils/telemetry/index.js +25 -29
- package/build/src/utils/telemetry/index.js.map +1 -1
- package/build/src/utils/telemetry/types.js.map +1 -1
- package/build/src/utils/telemetry/utils/constants.js +8 -4
- package/build/src/utils/telemetry/utils/constants.js.map +1 -1
- package/build/src/utils/telemetry/utils/context.js +18 -14
- package/build/src/utils/telemetry/utils/context.js.map +1 -1
- package/build/src/utils/template.js +6 -4
- package/build/src/utils/template.js.map +1 -1
- package/build/src/utils/terminal.js +4 -2
- package/build/src/utils/terminal.js.map +1 -1
- package/build/src/utils/tsconfig/evaluateTsConfig.js +21 -17
- package/build/src/utils/tsconfig/evaluateTsConfig.js.map +1 -1
- package/build/src/utils/tsconfig/loadTsConfigPaths.js +18 -14
- package/build/src/utils/tsconfig/loadTsConfigPaths.js.map +1 -1
- package/build/src/utils/tsconfig/matchTsConfigPathAlias.js +7 -5
- package/build/src/utils/tsconfig/matchTsConfigPathAlias.js.map +1 -1
- package/build/src/utils/tsconfig/resolveWithTsConfigPaths.js +14 -12
- package/build/src/utils/tsconfig/resolveWithTsConfigPaths.js.map +1 -1
- package/build/src/utils/url.js +23 -13
- package/build/src/utils/url.js.map +1 -1
- package/build/src/utils/validateApplicationId.js +108 -86
- package/build/src/utils/validateApplicationId.js.map +1 -1
- package/build/src/utils/variadic.js +22 -16
- package/build/src/utils/variadic.js.map +1 -1
- package/build/src/whoami/index.js +11 -7
- package/build/src/whoami/index.js.map +1 -1
- package/build/src/whoami/whoamiAsync.js +11 -7
- package/build/src/whoami/whoamiAsync.js.map +1 -1
- package/package.json +17 -16
|
@@ -9,45 +9,57 @@ function _export(target, all) {
|
|
|
9
9
|
});
|
|
10
10
|
}
|
|
11
11
|
_export(exports, {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
12
|
+
assertPlatforms: function() {
|
|
13
|
+
return assertPlatforms;
|
|
14
|
+
},
|
|
15
|
+
ensureValidPlatforms: function() {
|
|
16
|
+
return ensureValidPlatforms;
|
|
17
|
+
},
|
|
18
|
+
resolvePackageManagerOptions: function() {
|
|
19
|
+
return resolvePackageManagerOptions;
|
|
20
|
+
},
|
|
21
|
+
resolvePlatformOption: function() {
|
|
22
|
+
return resolvePlatformOption;
|
|
23
|
+
},
|
|
24
|
+
resolveSkipDependencyUpdate: function() {
|
|
25
|
+
return resolveSkipDependencyUpdate;
|
|
26
|
+
},
|
|
27
|
+
resolveTemplateOption: function() {
|
|
28
|
+
return resolveTemplateOption;
|
|
29
|
+
}
|
|
18
30
|
});
|
|
19
31
|
function _assert() {
|
|
20
|
-
const data = /*#__PURE__*/
|
|
32
|
+
const data = /*#__PURE__*/ _interop_require_default(require("assert"));
|
|
21
33
|
_assert = function() {
|
|
22
34
|
return data;
|
|
23
35
|
};
|
|
24
36
|
return data;
|
|
25
37
|
}
|
|
26
38
|
function _chalk() {
|
|
27
|
-
const data = /*#__PURE__*/
|
|
39
|
+
const data = /*#__PURE__*/ _interop_require_default(require("chalk"));
|
|
28
40
|
_chalk = function() {
|
|
29
41
|
return data;
|
|
30
42
|
};
|
|
31
43
|
return data;
|
|
32
44
|
}
|
|
33
45
|
function _fs() {
|
|
34
|
-
const data = /*#__PURE__*/
|
|
46
|
+
const data = /*#__PURE__*/ _interop_require_default(require("fs"));
|
|
35
47
|
_fs = function() {
|
|
36
48
|
return data;
|
|
37
49
|
};
|
|
38
50
|
return data;
|
|
39
51
|
}
|
|
40
52
|
function _path() {
|
|
41
|
-
const data = /*#__PURE__*/
|
|
53
|
+
const data = /*#__PURE__*/ _interop_require_default(require("path"));
|
|
42
54
|
_path = function() {
|
|
43
55
|
return data;
|
|
44
56
|
};
|
|
45
57
|
return data;
|
|
46
58
|
}
|
|
47
|
-
const _log = /*#__PURE__*/
|
|
59
|
+
const _log = /*#__PURE__*/ _interop_require_wildcard(require("../log"));
|
|
48
60
|
const _errors = require("../utils/errors");
|
|
49
61
|
const _url = require("../utils/url");
|
|
50
|
-
function
|
|
62
|
+
function _interop_require_default(obj) {
|
|
51
63
|
return obj && obj.__esModule ? obj : {
|
|
52
64
|
default: obj
|
|
53
65
|
};
|
|
@@ -60,7 +72,7 @@ function _getRequireWildcardCache(nodeInterop) {
|
|
|
60
72
|
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
|
61
73
|
})(nodeInterop);
|
|
62
74
|
}
|
|
63
|
-
function
|
|
75
|
+
function _interop_require_wildcard(obj, nodeInterop) {
|
|
64
76
|
if (!nodeInterop && obj && obj.__esModule) {
|
|
65
77
|
return obj;
|
|
66
78
|
}
|
|
@@ -73,7 +85,9 @@ function _interopRequireWildcard(obj, nodeInterop) {
|
|
|
73
85
|
if (cache && cache.has(obj)) {
|
|
74
86
|
return cache.get(obj);
|
|
75
87
|
}
|
|
76
|
-
var newObj = {
|
|
88
|
+
var newObj = {
|
|
89
|
+
__proto__: null
|
|
90
|
+
};
|
|
77
91
|
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
78
92
|
for(var key in obj){
|
|
79
93
|
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
@@ -91,96 +105,99 @@ function _interopRequireWildcard(obj, nodeInterop) {
|
|
|
91
105
|
}
|
|
92
106
|
return newObj;
|
|
93
107
|
}
|
|
94
|
-
const debug = require(
|
|
108
|
+
const debug = require('debug')('expo:prebuild:resolveOptions');
|
|
95
109
|
function resolvePackageManagerOptions(args) {
|
|
96
110
|
const managers = {
|
|
97
|
-
npm: args[
|
|
98
|
-
yarn: args[
|
|
99
|
-
pnpm: args[
|
|
100
|
-
bun: args[
|
|
111
|
+
npm: args['--npm'],
|
|
112
|
+
yarn: args['--yarn'],
|
|
113
|
+
pnpm: args['--pnpm'],
|
|
114
|
+
bun: args['--bun']
|
|
101
115
|
};
|
|
102
116
|
if ([
|
|
103
117
|
managers.npm,
|
|
104
118
|
managers.pnpm,
|
|
105
119
|
managers.yarn,
|
|
106
120
|
managers.bun,
|
|
107
|
-
!!args[
|
|
121
|
+
!!args['--no-install']
|
|
108
122
|
].filter(Boolean).length > 1) {
|
|
109
|
-
throw new _errors.CommandError(
|
|
123
|
+
throw new _errors.CommandError('BAD_ARGS', 'Specify at most one of: --no-install, --npm, --pnpm, --yarn, --bun');
|
|
110
124
|
}
|
|
111
125
|
return managers;
|
|
112
126
|
}
|
|
113
127
|
function resolveTemplateOption(template) {
|
|
114
|
-
(0, _assert().default)(template,
|
|
128
|
+
(0, _assert().default)(template, 'template is required');
|
|
115
129
|
if (// Expands github shorthand (owner/repo) to full URLs
|
|
116
|
-
template.includes(
|
|
130
|
+
template.includes('/') && !(template.startsWith('@') || // Scoped package
|
|
131
|
+
template.startsWith('.') || // Relative path
|
|
132
|
+
template.startsWith(_path().default.sep) || // Absolute path
|
|
133
|
+
// Contains a protocol
|
|
117
134
|
/^[a-z][-a-z0-9\\.\\+]*:/.test(template))) {
|
|
118
135
|
template = `https://github.com/${template}`;
|
|
119
136
|
}
|
|
120
|
-
if (template.startsWith(
|
|
137
|
+
if (template.startsWith('https://') || template.startsWith('http://')) {
|
|
121
138
|
if (!(0, _url.validateUrl)(template)) {
|
|
122
|
-
throw new _errors.CommandError(
|
|
139
|
+
throw new _errors.CommandError('BAD_ARGS', 'Invalid URL provided as a template');
|
|
123
140
|
}
|
|
124
|
-
debug(
|
|
141
|
+
debug('Resolved template to repository path:', template);
|
|
125
142
|
return {
|
|
126
|
-
type:
|
|
143
|
+
type: 'repository',
|
|
127
144
|
uri: template
|
|
128
145
|
};
|
|
129
146
|
}
|
|
130
147
|
if (// Supports `file:./path/to/template.tgz`
|
|
131
|
-
template.startsWith(
|
|
132
|
-
template.startsWith(
|
|
148
|
+
template.startsWith('file:') || // Supports `../path/to/template.tgz`
|
|
149
|
+
template.startsWith('.') || // Supports `\\path\\to\\template.tgz`
|
|
133
150
|
template.startsWith(_path().default.sep)) {
|
|
134
151
|
let resolvedUri = template;
|
|
135
|
-
if (resolvedUri.startsWith(
|
|
152
|
+
if (resolvedUri.startsWith('file:')) {
|
|
136
153
|
resolvedUri = resolvedUri.substring(5);
|
|
137
154
|
}
|
|
138
155
|
const templatePath = _path().default.resolve(resolvedUri);
|
|
139
|
-
(0, _assert().default)(_fs().default.existsSync(templatePath),
|
|
140
|
-
(0, _assert().default)(_fs().default.statSync(templatePath).isFile(),
|
|
156
|
+
(0, _assert().default)(_fs().default.existsSync(templatePath), 'template file does not exist: ' + templatePath);
|
|
157
|
+
(0, _assert().default)(_fs().default.statSync(templatePath).isFile(), 'template must be a tar file created by running `npm pack` in a project: ' + templatePath);
|
|
141
158
|
debug(`Resolved template to file path:`, templatePath);
|
|
142
159
|
return {
|
|
143
|
-
type:
|
|
160
|
+
type: 'file',
|
|
144
161
|
uri: templatePath
|
|
145
162
|
};
|
|
146
163
|
}
|
|
147
164
|
if (_fs().default.existsSync(template)) {
|
|
148
165
|
// Backward compatible with the old local template argument, e.g. `--template dir/template.tgz`
|
|
149
|
-
const
|
|
150
|
-
debug(`Resolved template to file path:`,
|
|
166
|
+
const templatePath = _path().default.resolve(template);
|
|
167
|
+
debug(`Resolved template to file path:`, templatePath);
|
|
151
168
|
return {
|
|
152
|
-
type:
|
|
153
|
-
uri:
|
|
169
|
+
type: 'file',
|
|
170
|
+
uri: templatePath
|
|
154
171
|
};
|
|
155
172
|
}
|
|
156
173
|
debug(`Resolved template to NPM package:`, template);
|
|
157
174
|
return {
|
|
158
|
-
type:
|
|
175
|
+
type: 'npm',
|
|
159
176
|
uri: template
|
|
160
177
|
};
|
|
161
178
|
}
|
|
162
179
|
function resolveSkipDependencyUpdate(value) {
|
|
163
|
-
if (!value || typeof value !==
|
|
180
|
+
if (!value || typeof value !== 'string') {
|
|
164
181
|
return [];
|
|
165
182
|
}
|
|
166
|
-
return value.split(
|
|
183
|
+
return value.split(',');
|
|
167
184
|
}
|
|
168
|
-
function resolvePlatformOption(platform =
|
|
185
|
+
function resolvePlatformOption(platform = 'all', { loose } = {}) {
|
|
169
186
|
switch(platform){
|
|
170
|
-
case
|
|
187
|
+
case 'ios':
|
|
171
188
|
return [
|
|
172
|
-
|
|
189
|
+
'ios'
|
|
173
190
|
];
|
|
174
|
-
case
|
|
191
|
+
case 'android':
|
|
175
192
|
return [
|
|
176
|
-
|
|
193
|
+
'android'
|
|
177
194
|
];
|
|
178
|
-
case
|
|
179
|
-
return loose || process.platform !==
|
|
180
|
-
|
|
181
|
-
|
|
195
|
+
case 'all':
|
|
196
|
+
return loose || process.platform !== 'win32' ? [
|
|
197
|
+
'android',
|
|
198
|
+
'ios'
|
|
182
199
|
] : [
|
|
183
|
-
|
|
200
|
+
'android'
|
|
184
201
|
];
|
|
185
202
|
default:
|
|
186
203
|
return [
|
|
@@ -190,15 +207,15 @@ function resolvePlatformOption(platform = "all", { loose } = {}) {
|
|
|
190
207
|
}
|
|
191
208
|
function ensureValidPlatforms(platforms) {
|
|
192
209
|
// Skip prebuild for iOS on Windows
|
|
193
|
-
if (process.platform ===
|
|
210
|
+
if (process.platform === 'win32' && platforms.includes('ios')) {
|
|
194
211
|
_log.warn((0, _chalk().default)`⚠️ Skipping generating the iOS native project files. Run {bold npx expo prebuild} again from macOS or Linux to generate the iOS project.\n`);
|
|
195
|
-
return platforms.filter((platform)=>platform !==
|
|
212
|
+
return platforms.filter((platform)=>platform !== 'ios');
|
|
196
213
|
}
|
|
197
214
|
return platforms;
|
|
198
215
|
}
|
|
199
216
|
function assertPlatforms(platforms) {
|
|
200
217
|
if (!(platforms == null ? void 0 : platforms.length)) {
|
|
201
|
-
throw new _errors.CommandError(
|
|
218
|
+
throw new _errors.CommandError('At least one platform must be enabled when syncing');
|
|
202
219
|
}
|
|
203
220
|
}
|
|
204
221
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/prebuild/resolveOptions.ts"],"sourcesContent":["import { ModPlatform } from '@expo/config-plugins';\nimport assert from 'assert';\nimport chalk from 'chalk';\nimport fs from 'fs';\nimport path from 'path';\n\nimport * as Log from '../log';\nimport { CommandError } from '../utils/errors';\nimport { validateUrl } from '../utils/url';\n\nconst debug = require('debug')('expo:prebuild:resolveOptions') as typeof console.log;\n\nexport interface ResolvedTemplateOption {\n type: 'file' | 'npm' | 'repository';\n uri: string;\n}\n\nexport function resolvePackageManagerOptions(args: any) {\n const managers: Record<string, boolean> = {\n npm: args['--npm'],\n yarn: args['--yarn'],\n pnpm: args['--pnpm'],\n bun: args['--bun'],\n };\n\n if (\n [managers.npm, managers.pnpm, managers.yarn, managers.bun, !!args['--no-install']].filter(\n Boolean\n ).length > 1\n ) {\n throw new CommandError(\n 'BAD_ARGS',\n 'Specify at most one of: --no-install, --npm, --pnpm, --yarn, --bun'\n );\n }\n\n return managers;\n}\n\n/** Resolves a template option as a URL or file path pointing to a tar file. */\nexport function resolveTemplateOption(template: string): ResolvedTemplateOption {\n assert(template, 'template is required');\n\n if (\n // Expands github shorthand (owner/repo) to full URLs\n template.includes('/') &&\n !(\n template.startsWith('@') || // Scoped package\n template.startsWith('.') || // Relative path\n template.startsWith(path.sep) || // Absolute path\n // Contains a protocol\n /^[a-z][-a-z0-9\\\\.\\\\+]*:/.test(template)\n )\n ) {\n template = `https://github.com/${template}`;\n }\n\n if (template.startsWith('https://') || template.startsWith('http://')) {\n if (!validateUrl(template)) {\n throw new CommandError('BAD_ARGS', 'Invalid URL provided as a template');\n }\n debug('Resolved template to repository path:', template);\n return { type: 'repository', uri: template };\n }\n\n if (\n // Supports `file:./path/to/template.tgz`\n template.startsWith('file:') ||\n // Supports `../path/to/template.tgz`\n template.startsWith('.') ||\n // Supports `\\\\path\\\\to\\\\template.tgz`\n template.startsWith(path.sep)\n ) {\n let resolvedUri = template;\n if (resolvedUri.startsWith('file:')) {\n resolvedUri = resolvedUri.substring(5);\n }\n const templatePath = path.resolve(resolvedUri);\n assert(fs.existsSync(templatePath), 'template file does not exist: ' + templatePath);\n assert(\n fs.statSync(templatePath).isFile(),\n 'template must be a tar file created by running `npm pack` in a project: ' + templatePath\n );\n\n debug(`Resolved template to file path:`, templatePath);\n return { type: 'file', uri: templatePath };\n }\n\n if (fs.existsSync(template)) {\n // Backward compatible with the old local template argument, e.g. `--template dir/template.tgz`\n const templatePath = path.resolve(template);\n debug(`Resolved template to file path:`, templatePath);\n return { type: 'file', uri: templatePath };\n }\n\n debug(`Resolved template to NPM package:`, template);\n return { type: 'npm', uri: template };\n}\n\n/** Resolves dependencies to skip from a string joined by `,`. Example: `react-native,expo,lodash` */\nexport function resolveSkipDependencyUpdate(value: any) {\n if (!value || typeof value !== 'string') {\n return [];\n }\n return value.split(',');\n}\n\n/** Returns an array of platforms based on the input platform identifier and runtime constraints. */\nexport function resolvePlatformOption(\n platform: string = 'all',\n { loose }: { loose?: boolean } = {}\n): ModPlatform[] {\n switch (platform) {\n case 'ios':\n return ['ios'];\n case 'android':\n return ['android'];\n case 'all':\n return loose || process.platform !== 'win32' ? ['android', 'ios'] : ['android'];\n default:\n return [platform as ModPlatform];\n }\n}\n\n/** Warns and filters out unsupported platforms based on the runtime constraints. Essentially this means no iOS on Windows devices. */\nexport function ensureValidPlatforms(platforms: ModPlatform[]): ModPlatform[] {\n // Skip prebuild for iOS on Windows\n if (process.platform === 'win32' && platforms.includes('ios')) {\n Log.warn(\n chalk`⚠️ Skipping generating the iOS native project files. Run {bold npx expo prebuild} again from macOS or Linux to generate the iOS project.\\n`\n );\n return platforms.filter((platform) => platform !== 'ios');\n }\n return platforms;\n}\n\n/** Asserts platform length must be greater than zero. */\nexport function assertPlatforms(platforms: ModPlatform[]) {\n if (!platforms?.length) {\n throw new CommandError('At least one platform must be enabled when syncing');\n }\n}\n"],"names":["
|
|
1
|
+
{"version":3,"sources":["../../../src/prebuild/resolveOptions.ts"],"sourcesContent":["import { ModPlatform } from '@expo/config-plugins';\nimport assert from 'assert';\nimport chalk from 'chalk';\nimport fs from 'fs';\nimport path from 'path';\n\nimport * as Log from '../log';\nimport { CommandError } from '../utils/errors';\nimport { validateUrl } from '../utils/url';\n\nconst debug = require('debug')('expo:prebuild:resolveOptions') as typeof console.log;\n\nexport interface ResolvedTemplateOption {\n type: 'file' | 'npm' | 'repository';\n uri: string;\n}\n\nexport function resolvePackageManagerOptions(args: any) {\n const managers: Record<string, boolean> = {\n npm: args['--npm'],\n yarn: args['--yarn'],\n pnpm: args['--pnpm'],\n bun: args['--bun'],\n };\n\n if (\n [managers.npm, managers.pnpm, managers.yarn, managers.bun, !!args['--no-install']].filter(\n Boolean\n ).length > 1\n ) {\n throw new CommandError(\n 'BAD_ARGS',\n 'Specify at most one of: --no-install, --npm, --pnpm, --yarn, --bun'\n );\n }\n\n return managers;\n}\n\n/** Resolves a template option as a URL or file path pointing to a tar file. */\nexport function resolveTemplateOption(template: string): ResolvedTemplateOption {\n assert(template, 'template is required');\n\n if (\n // Expands github shorthand (owner/repo) to full URLs\n template.includes('/') &&\n !(\n template.startsWith('@') || // Scoped package\n template.startsWith('.') || // Relative path\n template.startsWith(path.sep) || // Absolute path\n // Contains a protocol\n /^[a-z][-a-z0-9\\\\.\\\\+]*:/.test(template)\n )\n ) {\n template = `https://github.com/${template}`;\n }\n\n if (template.startsWith('https://') || template.startsWith('http://')) {\n if (!validateUrl(template)) {\n throw new CommandError('BAD_ARGS', 'Invalid URL provided as a template');\n }\n debug('Resolved template to repository path:', template);\n return { type: 'repository', uri: template };\n }\n\n if (\n // Supports `file:./path/to/template.tgz`\n template.startsWith('file:') ||\n // Supports `../path/to/template.tgz`\n template.startsWith('.') ||\n // Supports `\\\\path\\\\to\\\\template.tgz`\n template.startsWith(path.sep)\n ) {\n let resolvedUri = template;\n if (resolvedUri.startsWith('file:')) {\n resolvedUri = resolvedUri.substring(5);\n }\n const templatePath = path.resolve(resolvedUri);\n assert(fs.existsSync(templatePath), 'template file does not exist: ' + templatePath);\n assert(\n fs.statSync(templatePath).isFile(),\n 'template must be a tar file created by running `npm pack` in a project: ' + templatePath\n );\n\n debug(`Resolved template to file path:`, templatePath);\n return { type: 'file', uri: templatePath };\n }\n\n if (fs.existsSync(template)) {\n // Backward compatible with the old local template argument, e.g. `--template dir/template.tgz`\n const templatePath = path.resolve(template);\n debug(`Resolved template to file path:`, templatePath);\n return { type: 'file', uri: templatePath };\n }\n\n debug(`Resolved template to NPM package:`, template);\n return { type: 'npm', uri: template };\n}\n\n/** Resolves dependencies to skip from a string joined by `,`. Example: `react-native,expo,lodash` */\nexport function resolveSkipDependencyUpdate(value: any) {\n if (!value || typeof value !== 'string') {\n return [];\n }\n return value.split(',');\n}\n\n/** Returns an array of platforms based on the input platform identifier and runtime constraints. */\nexport function resolvePlatformOption(\n platform: string = 'all',\n { loose }: { loose?: boolean } = {}\n): ModPlatform[] {\n switch (platform) {\n case 'ios':\n return ['ios'];\n case 'android':\n return ['android'];\n case 'all':\n return loose || process.platform !== 'win32' ? ['android', 'ios'] : ['android'];\n default:\n return [platform as ModPlatform];\n }\n}\n\n/** Warns and filters out unsupported platforms based on the runtime constraints. Essentially this means no iOS on Windows devices. */\nexport function ensureValidPlatforms(platforms: ModPlatform[]): ModPlatform[] {\n // Skip prebuild for iOS on Windows\n if (process.platform === 'win32' && platforms.includes('ios')) {\n Log.warn(\n chalk`⚠️ Skipping generating the iOS native project files. Run {bold npx expo prebuild} again from macOS or Linux to generate the iOS project.\\n`\n );\n return platforms.filter((platform) => platform !== 'ios');\n }\n return platforms;\n}\n\n/** Asserts platform length must be greater than zero. */\nexport function assertPlatforms(platforms: ModPlatform[]) {\n if (!platforms?.length) {\n throw new CommandError('At least one platform must be enabled when syncing');\n }\n}\n"],"names":["assertPlatforms","ensureValidPlatforms","resolvePackageManagerOptions","resolvePlatformOption","resolveSkipDependencyUpdate","resolveTemplateOption","debug","require","args","managers","npm","yarn","pnpm","bun","filter","Boolean","length","CommandError","template","assert","includes","startsWith","path","sep","test","validateUrl","type","uri","resolvedUri","substring","templatePath","resolve","fs","existsSync","statSync","isFile","value","split","platform","loose","process","platforms","Log","warn","chalk"],"mappings":"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"}
|
|
@@ -4,29 +4,31 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
});
|
|
5
5
|
Object.defineProperty(exports, "cloneTemplateAsync", {
|
|
6
6
|
enumerable: true,
|
|
7
|
-
get: ()
|
|
7
|
+
get: function() {
|
|
8
|
+
return cloneTemplateAsync;
|
|
9
|
+
}
|
|
8
10
|
});
|
|
9
11
|
function _chalk() {
|
|
10
|
-
const data = /*#__PURE__*/
|
|
12
|
+
const data = /*#__PURE__*/ _interop_require_default(require("chalk"));
|
|
11
13
|
_chalk = function() {
|
|
12
14
|
return data;
|
|
13
15
|
};
|
|
14
16
|
return data;
|
|
15
17
|
}
|
|
16
18
|
function _semver() {
|
|
17
|
-
const data = /*#__PURE__*/
|
|
19
|
+
const data = /*#__PURE__*/ _interop_require_default(require("semver"));
|
|
18
20
|
_semver = function() {
|
|
19
21
|
return data;
|
|
20
22
|
};
|
|
21
23
|
return data;
|
|
22
24
|
}
|
|
23
25
|
const _client = require("../api/rest/client");
|
|
24
|
-
const _log = /*#__PURE__*/
|
|
26
|
+
const _log = /*#__PURE__*/ _interop_require_wildcard(require("../log"));
|
|
25
27
|
const _createFileTransform = require("../utils/createFileTransform");
|
|
26
28
|
const _errors = require("../utils/errors");
|
|
27
29
|
const _npm = require("../utils/npm");
|
|
28
30
|
const _url = require("../utils/url");
|
|
29
|
-
function
|
|
31
|
+
function _interop_require_default(obj) {
|
|
30
32
|
return obj && obj.__esModule ? obj : {
|
|
31
33
|
default: obj
|
|
32
34
|
};
|
|
@@ -39,7 +41,7 @@ function _getRequireWildcardCache(nodeInterop) {
|
|
|
39
41
|
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
|
40
42
|
})(nodeInterop);
|
|
41
43
|
}
|
|
42
|
-
function
|
|
44
|
+
function _interop_require_wildcard(obj, nodeInterop) {
|
|
43
45
|
if (!nodeInterop && obj && obj.__esModule) {
|
|
44
46
|
return obj;
|
|
45
47
|
}
|
|
@@ -52,7 +54,9 @@ function _interopRequireWildcard(obj, nodeInterop) {
|
|
|
52
54
|
if (cache && cache.has(obj)) {
|
|
53
55
|
return cache.get(obj);
|
|
54
56
|
}
|
|
55
|
-
var newObj = {
|
|
57
|
+
var newObj = {
|
|
58
|
+
__proto__: null
|
|
59
|
+
};
|
|
56
60
|
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
57
61
|
for(var key in obj){
|
|
58
62
|
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
@@ -70,22 +74,22 @@ function _interopRequireWildcard(obj, nodeInterop) {
|
|
|
70
74
|
}
|
|
71
75
|
return newObj;
|
|
72
76
|
}
|
|
73
|
-
const debug = require(
|
|
74
|
-
async function cloneTemplateAsync({ templateDirectory
|
|
77
|
+
const debug = require('debug')('expo:prebuild:resolveTemplate');
|
|
78
|
+
async function cloneTemplateAsync({ templateDirectory, template, exp, ora }) {
|
|
75
79
|
if (template) {
|
|
76
80
|
const appName = exp.name;
|
|
77
|
-
const { type
|
|
78
|
-
if (type ===
|
|
81
|
+
const { type, uri } = template;
|
|
82
|
+
if (type === 'file') {
|
|
79
83
|
return await (0, _npm.extractLocalNpmTarballAsync)(uri, {
|
|
80
84
|
cwd: templateDirectory,
|
|
81
85
|
name: appName
|
|
82
86
|
});
|
|
83
|
-
} else if (type ===
|
|
87
|
+
} else if (type === 'npm') {
|
|
84
88
|
return await (0, _npm.downloadAndExtractNpmModuleAsync)(uri, {
|
|
85
89
|
cwd: templateDirectory,
|
|
86
90
|
name: appName
|
|
87
91
|
});
|
|
88
|
-
} else if (type ===
|
|
92
|
+
} else if (type === 'repository') {
|
|
89
93
|
return await resolveAndDownloadRepoTemplateAsync(templateDirectory, ora, appName, uri);
|
|
90
94
|
} else {
|
|
91
95
|
throw new Error(`Unknown template type: ${type}`);
|
|
@@ -100,15 +104,15 @@ async function cloneTemplateAsync({ templateDirectory , template , exp , ora })
|
|
|
100
104
|
}
|
|
101
105
|
/** Given an `sdkVersion` like `44.0.0` return a fully qualified NPM package name like: `expo-template-bare-minimum@sdk-44` */ function getTemplateNpmPackageName(sdkVersion) {
|
|
102
106
|
// When undefined or UNVERSIONED, we use the latest version.
|
|
103
|
-
if (!sdkVersion || sdkVersion ===
|
|
104
|
-
_log.log(
|
|
107
|
+
if (!sdkVersion || sdkVersion === 'UNVERSIONED') {
|
|
108
|
+
_log.log('Using an unspecified Expo SDK version. The latest template will be used.');
|
|
105
109
|
return `expo-template-bare-minimum@latest`;
|
|
106
110
|
}
|
|
107
111
|
return `expo-template-bare-minimum@sdk-${_semver().default.major(sdkVersion)}`;
|
|
108
112
|
}
|
|
109
113
|
async function getRepoInfo(url, examplePath) {
|
|
110
|
-
const [, username, name, t, _branch, ...file] = url.pathname.split(
|
|
111
|
-
const filePath = examplePath ? examplePath.replace(/^\//,
|
|
114
|
+
const [, username, name, t, _branch, ...file] = url.pathname.split('/');
|
|
115
|
+
const filePath = examplePath ? examplePath.replace(/^\//, '') : file.join('/');
|
|
112
116
|
// Support repos whose entire purpose is to be an example, e.g.
|
|
113
117
|
// https://github.com/:username/:my-cool-example-repo-name.
|
|
114
118
|
if (t === undefined) {
|
|
@@ -120,13 +124,13 @@ async function getRepoInfo(url, examplePath) {
|
|
|
120
124
|
return {
|
|
121
125
|
username,
|
|
122
126
|
name,
|
|
123
|
-
branch: info[
|
|
127
|
+
branch: info['default_branch'],
|
|
124
128
|
filePath
|
|
125
129
|
};
|
|
126
130
|
}
|
|
127
131
|
// If examplePath is available, the branch name takes the entire path
|
|
128
|
-
const branch = examplePath ? `${_branch}/${file.join(
|
|
129
|
-
if (username && name && branch && t ===
|
|
132
|
+
const branch = examplePath ? `${_branch}/${file.join('/')}`.replace(new RegExp(`/${filePath}|/$`), '') : _branch;
|
|
133
|
+
if (username && name && branch && t === 'tree') {
|
|
130
134
|
return {
|
|
131
135
|
username,
|
|
132
136
|
name,
|
|
@@ -136,30 +140,30 @@ async function getRepoInfo(url, examplePath) {
|
|
|
136
140
|
}
|
|
137
141
|
return undefined;
|
|
138
142
|
}
|
|
139
|
-
function hasRepo({ username
|
|
143
|
+
function hasRepo({ username, name, branch, filePath }) {
|
|
140
144
|
const contentsUrl = `https://api.github.com/repos/${username}/${name}/contents`;
|
|
141
|
-
const packagePath = `${filePath ? `/${filePath}` :
|
|
145
|
+
const packagePath = `${filePath ? `/${filePath}` : ''}/package.json`;
|
|
142
146
|
return (0, _url.isUrlOk)(contentsUrl + packagePath + `?ref=${branch}`);
|
|
143
147
|
}
|
|
144
|
-
async function downloadAndExtractRepoAsync({ username
|
|
148
|
+
async function downloadAndExtractRepoAsync({ username, name, branch, filePath }, props) {
|
|
145
149
|
const url = `https://codeload.github.com/${username}/${name}/tar.gz/${branch}`;
|
|
146
|
-
debug(
|
|
150
|
+
debug('Downloading tarball from:', url);
|
|
147
151
|
// Extract the (sub)directory into non-empty path segments
|
|
148
|
-
const directory = filePath.replace(/^\//,
|
|
152
|
+
const directory = filePath.replace(/^\//, '').split('/').filter(Boolean);
|
|
149
153
|
// Remove the (sub)directory paths, and the root folder added by GitHub
|
|
150
154
|
const strip = directory.length + 1;
|
|
151
155
|
// Only extract the relevant (sub)directories, ignoring irrelevant files
|
|
152
156
|
// The filder auto-ignores dotfiles, unless explicitly included
|
|
153
157
|
const filter = (0, _createFileTransform.createGlobFilter)(!directory.length ? [
|
|
154
|
-
|
|
155
|
-
|
|
158
|
+
'*/**',
|
|
159
|
+
'*/ios/.xcode.env'
|
|
156
160
|
] : [
|
|
157
|
-
`*/${directory.join(
|
|
158
|
-
`*/${directory.join(
|
|
161
|
+
`*/${directory.join('/')}/**`,
|
|
162
|
+
`*/${directory.join('/')}/ios/.xcode.env`
|
|
159
163
|
], {
|
|
160
164
|
// Always ignore the `.xcworkspace` folder
|
|
161
165
|
ignore: [
|
|
162
|
-
|
|
166
|
+
'**/ios/*.xcworkspace/**'
|
|
163
167
|
]
|
|
164
168
|
});
|
|
165
169
|
return await (0, _npm.extractNpmTarballFromUrlAsync)(url, {
|
|
@@ -173,7 +177,7 @@ async function resolveAndDownloadRepoTemplateAsync(templateDirectory, oraInstanc
|
|
|
173
177
|
try {
|
|
174
178
|
repoUrl = new URL(template);
|
|
175
179
|
} catch (error) {
|
|
176
|
-
if (error.code !==
|
|
180
|
+
if (error.code !== 'ERR_INVALID_URL') {
|
|
177
181
|
oraInstance.fail(error);
|
|
178
182
|
throw error;
|
|
179
183
|
}
|
|
@@ -182,7 +186,7 @@ async function resolveAndDownloadRepoTemplateAsync(templateDirectory, oraInstanc
|
|
|
182
186
|
oraInstance.fail(`Invalid URL: ${_chalk().default.red(`"${template}"`)}. Please use a valid URL and try again.`);
|
|
183
187
|
throw new _errors.AbortCommandError();
|
|
184
188
|
}
|
|
185
|
-
if (repoUrl.origin !==
|
|
189
|
+
if (repoUrl.origin !== 'https://github.com') {
|
|
186
190
|
oraInstance.fail(`Invalid URL: ${_chalk().default.red(`"${template}"`)}. Only GitHub repositories are supported. Please use a GitHub URL and try again.`);
|
|
187
191
|
throw new _errors.AbortCommandError();
|
|
188
192
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/prebuild/resolveTemplate.ts"],"sourcesContent":["import { ExpoConfig } from '@expo/config';\nimport chalk from 'chalk';\nimport { Ora } from 'ora';\nimport semver from 'semver';\n\nimport { type ResolvedTemplateOption } from './resolveOptions';\nimport { fetchAsync } from '../api/rest/client';\nimport * as Log from '../log';\nimport { createGlobFilter } from '../utils/createFileTransform';\nimport { AbortCommandError } from '../utils/errors';\nimport {\n ExtractProps,\n downloadAndExtractNpmModuleAsync,\n extractLocalNpmTarballAsync,\n extractNpmTarballFromUrlAsync,\n} from '../utils/npm';\nimport { isUrlOk } from '../utils/url';\n\nconst debug = require('debug')('expo:prebuild:resolveTemplate') as typeof console.log;\n\ntype RepoInfo = {\n username: string;\n name: string;\n branch: string;\n filePath: string;\n};\n\nexport async function cloneTemplateAsync({\n templateDirectory,\n template,\n exp,\n ora,\n}: {\n templateDirectory: string;\n template?: ResolvedTemplateOption;\n exp: Pick<ExpoConfig, 'name' | 'sdkVersion'>;\n ora: Ora;\n}): Promise<string> {\n if (template) {\n const appName = exp.name;\n const { type, uri } = template;\n if (type === 'file') {\n return await extractLocalNpmTarballAsync(uri, {\n cwd: templateDirectory,\n name: appName,\n });\n } else if (type === 'npm') {\n return await downloadAndExtractNpmModuleAsync(uri, {\n cwd: templateDirectory,\n name: appName,\n });\n } else if (type === 'repository') {\n return await resolveAndDownloadRepoTemplateAsync(templateDirectory, ora, appName, uri);\n } else {\n throw new Error(`Unknown template type: ${type}`);\n }\n } else {\n const templatePackageName = await getTemplateNpmPackageName(exp.sdkVersion);\n return await downloadAndExtractNpmModuleAsync(templatePackageName, {\n cwd: templateDirectory,\n name: exp.name,\n });\n }\n}\n\n/** Given an `sdkVersion` like `44.0.0` return a fully qualified NPM package name like: `expo-template-bare-minimum@sdk-44` */\nfunction getTemplateNpmPackageName(sdkVersion?: string): string {\n // When undefined or UNVERSIONED, we use the latest version.\n if (!sdkVersion || sdkVersion === 'UNVERSIONED') {\n Log.log('Using an unspecified Expo SDK version. The latest template will be used.');\n return `expo-template-bare-minimum@latest`;\n }\n return `expo-template-bare-minimum@sdk-${semver.major(sdkVersion)}`;\n}\n\nasync function getRepoInfo(url: any, examplePath?: string): Promise<RepoInfo | undefined> {\n const [, username, name, t, _branch, ...file] = url.pathname.split('/');\n const filePath = examplePath ? examplePath.replace(/^\\//, '') : file.join('/');\n\n // Support repos whose entire purpose is to be an example, e.g.\n // https://github.com/:username/:my-cool-example-repo-name.\n if (t === undefined) {\n const infoResponse = await fetchAsync(`https://api.github.com/repos/${username}/${name}`);\n if (infoResponse.status !== 200) {\n return;\n }\n const info: any = await infoResponse.json();\n return { username, name, branch: info['default_branch'], filePath };\n }\n\n // If examplePath is available, the branch name takes the entire path\n const branch = examplePath\n ? `${_branch}/${file.join('/')}`.replace(new RegExp(`/${filePath}|/$`), '')\n : _branch;\n\n if (username && name && branch && t === 'tree') {\n return { username, name, branch, filePath };\n }\n return undefined;\n}\n\nfunction hasRepo({ username, name, branch, filePath }: RepoInfo) {\n const contentsUrl = `https://api.github.com/repos/${username}/${name}/contents`;\n const packagePath = `${filePath ? `/${filePath}` : ''}/package.json`;\n\n return isUrlOk(contentsUrl + packagePath + `?ref=${branch}`);\n}\n\nasync function downloadAndExtractRepoAsync(\n { username, name, branch, filePath }: RepoInfo,\n props: ExtractProps\n): Promise<string> {\n const url = `https://codeload.github.com/${username}/${name}/tar.gz/${branch}`;\n\n debug('Downloading tarball from:', url);\n\n // Extract the (sub)directory into non-empty path segments\n const directory = filePath.replace(/^\\//, '').split('/').filter(Boolean);\n // Remove the (sub)directory paths, and the root folder added by GitHub\n const strip = directory.length + 1;\n // Only extract the relevant (sub)directories, ignoring irrelevant files\n // The filder auto-ignores dotfiles, unless explicitly included\n const filter = createGlobFilter(\n !directory.length\n ? ['*/**', '*/ios/.xcode.env']\n : [`*/${directory.join('/')}/**`, `*/${directory.join('/')}/ios/.xcode.env`],\n {\n // Always ignore the `.xcworkspace` folder\n ignore: ['**/ios/*.xcworkspace/**'],\n }\n );\n\n return await extractNpmTarballFromUrlAsync(url, { ...props, strip, filter });\n}\n\nasync function resolveAndDownloadRepoTemplateAsync(\n templateDirectory: string,\n oraInstance: Ora,\n appName: string,\n template: string,\n templatePath?: string\n) {\n let repoUrl: URL | undefined;\n\n try {\n repoUrl = new URL(template);\n } catch (error: any) {\n if (error.code !== 'ERR_INVALID_URL') {\n oraInstance.fail(error);\n throw error;\n }\n }\n if (!repoUrl) {\n oraInstance.fail(\n `Invalid URL: ${chalk.red(`\"${template}\"`)}. Please use a valid URL and try again.`\n );\n throw new AbortCommandError();\n }\n\n if (repoUrl.origin !== 'https://github.com') {\n oraInstance.fail(\n `Invalid URL: ${chalk.red(\n `\"${template}\"`\n )}. Only GitHub repositories are supported. Please use a GitHub URL and try again.`\n );\n throw new AbortCommandError();\n }\n\n const repoInfo = await getRepoInfo(repoUrl, templatePath);\n\n if (!repoInfo) {\n oraInstance.fail(\n `Found invalid GitHub URL: ${chalk.red(`\"${template}\"`)}. Please fix the URL and try again.`\n );\n throw new AbortCommandError();\n }\n\n const found = await hasRepo(repoInfo);\n\n if (!found) {\n oraInstance.fail(\n `Could not locate the repository for ${chalk.red(\n `\"${template}\"`\n )}. Please check that the repository exists and try again.`\n );\n throw new AbortCommandError();\n }\n\n oraInstance.text = chalk.bold(\n `Downloading files from repo ${chalk.cyan(template)}. This might take a moment.`\n );\n\n return await downloadAndExtractRepoAsync(repoInfo, {\n cwd: templateDirectory,\n name: appName,\n });\n}\n"],"names":["cloneTemplateAsync","debug","require","templateDirectory","template","exp","ora","appName","name","type","uri","extractLocalNpmTarballAsync","cwd","downloadAndExtractNpmModuleAsync","resolveAndDownloadRepoTemplateAsync","Error","templatePackageName","getTemplateNpmPackageName","sdkVersion","Log","log","semver","major","getRepoInfo","url","examplePath","username","t","_branch","file","pathname","split","filePath","replace","join","undefined","infoResponse","fetchAsync","status","info","json","branch","RegExp","hasRepo","contentsUrl","packagePath","isUrlOk","downloadAndExtractRepoAsync","props","directory","filter","Boolean","strip","length","createGlobFilter","ignore","extractNpmTarballFromUrlAsync","oraInstance","templatePath","repoUrl","URL","error","code","fail","chalk","red","AbortCommandError","origin","repoInfo","found","text","bold","cyan"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../src/prebuild/resolveTemplate.ts"],"sourcesContent":["import { ExpoConfig } from '@expo/config';\nimport chalk from 'chalk';\nimport { Ora } from 'ora';\nimport semver from 'semver';\n\nimport { type ResolvedTemplateOption } from './resolveOptions';\nimport { fetchAsync } from '../api/rest/client';\nimport * as Log from '../log';\nimport { createGlobFilter } from '../utils/createFileTransform';\nimport { AbortCommandError } from '../utils/errors';\nimport {\n ExtractProps,\n downloadAndExtractNpmModuleAsync,\n extractLocalNpmTarballAsync,\n extractNpmTarballFromUrlAsync,\n} from '../utils/npm';\nimport { isUrlOk } from '../utils/url';\n\nconst debug = require('debug')('expo:prebuild:resolveTemplate') as typeof console.log;\n\ntype RepoInfo = {\n username: string;\n name: string;\n branch: string;\n filePath: string;\n};\n\nexport async function cloneTemplateAsync({\n templateDirectory,\n template,\n exp,\n ora,\n}: {\n templateDirectory: string;\n template?: ResolvedTemplateOption;\n exp: Pick<ExpoConfig, 'name' | 'sdkVersion'>;\n ora: Ora;\n}): Promise<string> {\n if (template) {\n const appName = exp.name;\n const { type, uri } = template;\n if (type === 'file') {\n return await extractLocalNpmTarballAsync(uri, {\n cwd: templateDirectory,\n name: appName,\n });\n } else if (type === 'npm') {\n return await downloadAndExtractNpmModuleAsync(uri, {\n cwd: templateDirectory,\n name: appName,\n });\n } else if (type === 'repository') {\n return await resolveAndDownloadRepoTemplateAsync(templateDirectory, ora, appName, uri);\n } else {\n throw new Error(`Unknown template type: ${type}`);\n }\n } else {\n const templatePackageName = await getTemplateNpmPackageName(exp.sdkVersion);\n return await downloadAndExtractNpmModuleAsync(templatePackageName, {\n cwd: templateDirectory,\n name: exp.name,\n });\n }\n}\n\n/** Given an `sdkVersion` like `44.0.0` return a fully qualified NPM package name like: `expo-template-bare-minimum@sdk-44` */\nfunction getTemplateNpmPackageName(sdkVersion?: string): string {\n // When undefined or UNVERSIONED, we use the latest version.\n if (!sdkVersion || sdkVersion === 'UNVERSIONED') {\n Log.log('Using an unspecified Expo SDK version. The latest template will be used.');\n return `expo-template-bare-minimum@latest`;\n }\n return `expo-template-bare-minimum@sdk-${semver.major(sdkVersion)}`;\n}\n\nasync function getRepoInfo(url: any, examplePath?: string): Promise<RepoInfo | undefined> {\n const [, username, name, t, _branch, ...file] = url.pathname.split('/');\n const filePath = examplePath ? examplePath.replace(/^\\//, '') : file.join('/');\n\n // Support repos whose entire purpose is to be an example, e.g.\n // https://github.com/:username/:my-cool-example-repo-name.\n if (t === undefined) {\n const infoResponse = await fetchAsync(`https://api.github.com/repos/${username}/${name}`);\n if (infoResponse.status !== 200) {\n return;\n }\n const info: any = await infoResponse.json();\n return { username, name, branch: info['default_branch'], filePath };\n }\n\n // If examplePath is available, the branch name takes the entire path\n const branch = examplePath\n ? `${_branch}/${file.join('/')}`.replace(new RegExp(`/${filePath}|/$`), '')\n : _branch;\n\n if (username && name && branch && t === 'tree') {\n return { username, name, branch, filePath };\n }\n return undefined;\n}\n\nfunction hasRepo({ username, name, branch, filePath }: RepoInfo) {\n const contentsUrl = `https://api.github.com/repos/${username}/${name}/contents`;\n const packagePath = `${filePath ? `/${filePath}` : ''}/package.json`;\n\n return isUrlOk(contentsUrl + packagePath + `?ref=${branch}`);\n}\n\nasync function downloadAndExtractRepoAsync(\n { username, name, branch, filePath }: RepoInfo,\n props: ExtractProps\n): Promise<string> {\n const url = `https://codeload.github.com/${username}/${name}/tar.gz/${branch}`;\n\n debug('Downloading tarball from:', url);\n\n // Extract the (sub)directory into non-empty path segments\n const directory = filePath.replace(/^\\//, '').split('/').filter(Boolean);\n // Remove the (sub)directory paths, and the root folder added by GitHub\n const strip = directory.length + 1;\n // Only extract the relevant (sub)directories, ignoring irrelevant files\n // The filder auto-ignores dotfiles, unless explicitly included\n const filter = createGlobFilter(\n !directory.length\n ? ['*/**', '*/ios/.xcode.env']\n : [`*/${directory.join('/')}/**`, `*/${directory.join('/')}/ios/.xcode.env`],\n {\n // Always ignore the `.xcworkspace` folder\n ignore: ['**/ios/*.xcworkspace/**'],\n }\n );\n\n return await extractNpmTarballFromUrlAsync(url, { ...props, strip, filter });\n}\n\nasync function resolveAndDownloadRepoTemplateAsync(\n templateDirectory: string,\n oraInstance: Ora,\n appName: string,\n template: string,\n templatePath?: string\n) {\n let repoUrl: URL | undefined;\n\n try {\n repoUrl = new URL(template);\n } catch (error: any) {\n if (error.code !== 'ERR_INVALID_URL') {\n oraInstance.fail(error);\n throw error;\n }\n }\n if (!repoUrl) {\n oraInstance.fail(\n `Invalid URL: ${chalk.red(`\"${template}\"`)}. Please use a valid URL and try again.`\n );\n throw new AbortCommandError();\n }\n\n if (repoUrl.origin !== 'https://github.com') {\n oraInstance.fail(\n `Invalid URL: ${chalk.red(\n `\"${template}\"`\n )}. Only GitHub repositories are supported. Please use a GitHub URL and try again.`\n );\n throw new AbortCommandError();\n }\n\n const repoInfo = await getRepoInfo(repoUrl, templatePath);\n\n if (!repoInfo) {\n oraInstance.fail(\n `Found invalid GitHub URL: ${chalk.red(`\"${template}\"`)}. Please fix the URL and try again.`\n );\n throw new AbortCommandError();\n }\n\n const found = await hasRepo(repoInfo);\n\n if (!found) {\n oraInstance.fail(\n `Could not locate the repository for ${chalk.red(\n `\"${template}\"`\n )}. Please check that the repository exists and try again.`\n );\n throw new AbortCommandError();\n }\n\n oraInstance.text = chalk.bold(\n `Downloading files from repo ${chalk.cyan(template)}. This might take a moment.`\n );\n\n return await downloadAndExtractRepoAsync(repoInfo, {\n cwd: templateDirectory,\n name: appName,\n });\n}\n"],"names":["cloneTemplateAsync","debug","require","templateDirectory","template","exp","ora","appName","name","type","uri","extractLocalNpmTarballAsync","cwd","downloadAndExtractNpmModuleAsync","resolveAndDownloadRepoTemplateAsync","Error","templatePackageName","getTemplateNpmPackageName","sdkVersion","Log","log","semver","major","getRepoInfo","url","examplePath","username","t","_branch","file","pathname","split","filePath","replace","join","undefined","infoResponse","fetchAsync","status","info","json","branch","RegExp","hasRepo","contentsUrl","packagePath","isUrlOk","downloadAndExtractRepoAsync","props","directory","filter","Boolean","strip","length","createGlobFilter","ignore","extractNpmTarballFromUrlAsync","oraInstance","templatePath","repoUrl","URL","error","code","fail","chalk","red","AbortCommandError","origin","repoInfo","found","text","bold","cyan"],"mappings":"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"}
|
|
@@ -9,11 +9,15 @@ function _export(target, all) {
|
|
|
9
9
|
});
|
|
10
10
|
}
|
|
11
11
|
_export(exports, {
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
cloneTemplateAndCopyToProjectAsync: function() {
|
|
13
|
+
return cloneTemplateAndCopyToProjectAsync;
|
|
14
|
+
},
|
|
15
|
+
updateFromTemplateAsync: function() {
|
|
16
|
+
return updateFromTemplateAsync;
|
|
17
|
+
}
|
|
14
18
|
});
|
|
15
19
|
function _chalk() {
|
|
16
|
-
const data = /*#__PURE__*/
|
|
20
|
+
const data = /*#__PURE__*/ _interop_require_default(require("chalk"));
|
|
17
21
|
_chalk = function() {
|
|
18
22
|
return data;
|
|
19
23
|
};
|
|
@@ -24,12 +28,12 @@ const _renameTemplateAppName = require("./renameTemplateAppName");
|
|
|
24
28
|
const _resolveTemplate = require("./resolveTemplate");
|
|
25
29
|
const _updatePackageJson = require("./updatePackageJson");
|
|
26
30
|
const _validateTemplatePlatforms = require("./validateTemplatePlatforms");
|
|
27
|
-
const _log = /*#__PURE__*/
|
|
31
|
+
const _log = /*#__PURE__*/ _interop_require_wildcard(require("../log"));
|
|
28
32
|
const _createTempPath = require("../utils/createTempPath");
|
|
29
33
|
const _errors = require("../utils/errors");
|
|
30
34
|
const _ora = require("../utils/ora");
|
|
31
35
|
const _profile = require("../utils/profile");
|
|
32
|
-
function
|
|
36
|
+
function _interop_require_default(obj) {
|
|
33
37
|
return obj && obj.__esModule ? obj : {
|
|
34
38
|
default: obj
|
|
35
39
|
};
|
|
@@ -42,7 +46,7 @@ function _getRequireWildcardCache(nodeInterop) {
|
|
|
42
46
|
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
|
43
47
|
})(nodeInterop);
|
|
44
48
|
}
|
|
45
|
-
function
|
|
49
|
+
function _interop_require_wildcard(obj, nodeInterop) {
|
|
46
50
|
if (!nodeInterop && obj && obj.__esModule) {
|
|
47
51
|
return obj;
|
|
48
52
|
}
|
|
@@ -55,7 +59,9 @@ function _interopRequireWildcard(obj, nodeInterop) {
|
|
|
55
59
|
if (cache && cache.has(obj)) {
|
|
56
60
|
return cache.get(obj);
|
|
57
61
|
}
|
|
58
|
-
var newObj = {
|
|
62
|
+
var newObj = {
|
|
63
|
+
__proto__: null
|
|
64
|
+
};
|
|
59
65
|
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
60
66
|
for(var key in obj){
|
|
61
67
|
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
@@ -73,11 +79,11 @@ function _interopRequireWildcard(obj, nodeInterop) {
|
|
|
73
79
|
}
|
|
74
80
|
return newObj;
|
|
75
81
|
}
|
|
76
|
-
async function updateFromTemplateAsync(projectRoot, { exp
|
|
82
|
+
async function updateFromTemplateAsync(projectRoot, { exp, pkg, template, templateDirectory, platforms, skipDependencyUpdate }) {
|
|
77
83
|
if (!templateDirectory) {
|
|
78
84
|
templateDirectory = (0, _createTempPath.createTempDirectoryPath)();
|
|
79
85
|
}
|
|
80
|
-
const { copiedPaths
|
|
86
|
+
const { copiedPaths, templateChecksum } = await (0, _profile.profile)(cloneTemplateAndCopyToProjectAsync)({
|
|
81
87
|
projectRoot,
|
|
82
88
|
template,
|
|
83
89
|
templateDirectory,
|
|
@@ -92,14 +98,14 @@ async function updateFromTemplateAsync(projectRoot, { exp , pkg , template , tem
|
|
|
92
98
|
return {
|
|
93
99
|
hasNewProjectFiles: !!copiedPaths.length,
|
|
94
100
|
// If the iOS folder changes or new packages are added, we should rerun pod install.
|
|
95
|
-
needsPodInstall: copiedPaths.includes(
|
|
101
|
+
needsPodInstall: copiedPaths.includes('ios') || !!depsResults.changedDependencies.length,
|
|
96
102
|
templateChecksum,
|
|
97
103
|
...depsResults
|
|
98
104
|
};
|
|
99
105
|
}
|
|
100
|
-
async function cloneTemplateAndCopyToProjectAsync({ projectRoot
|
|
101
|
-
const platformDirectories = unknownPlatforms.map((platform)=>`./${platform}`).reverse().join(
|
|
102
|
-
const pluralized = unknownPlatforms.length > 1 ?
|
|
106
|
+
async function cloneTemplateAndCopyToProjectAsync({ projectRoot, templateDirectory, template, exp, platforms: unknownPlatforms }) {
|
|
107
|
+
const platformDirectories = unknownPlatforms.map((platform)=>`./${platform}`).reverse().join(' and ');
|
|
108
|
+
const pluralized = unknownPlatforms.length > 1 ? 'directories' : 'directory';
|
|
103
109
|
const ora = (0, _ora.logNewSection)(`Creating native ${pluralized} (${platformDirectories})`);
|
|
104
110
|
try {
|
|
105
111
|
const templateChecksum = await (0, _resolveTemplate.cloneTemplateAsync)({
|