@expo/cli 0.0.0-bisect-20240612-0
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/README.md +144 -0
- package/build/bin/cli +260 -0
- package/build/bin/cli.map +1 -0
- package/build/src/api/endpoint.js +35 -0
- package/build/src/api/endpoint.js.map +1 -0
- package/build/src/api/getExpoGoIntermediateCertificate.js +22 -0
- package/build/src/api/getExpoGoIntermediateCertificate.js.map +1 -0
- package/build/src/api/getExpoSchema.js +89 -0
- package/build/src/api/getExpoSchema.js.map +1 -0
- package/build/src/api/getNativeModuleVersions.js +34 -0
- package/build/src/api/getNativeModuleVersions.js.map +1 -0
- package/build/src/api/getProjectDevelopmentCertificate.js +25 -0
- package/build/src/api/getProjectDevelopmentCertificate.js.map +1 -0
- package/build/src/api/getVersions.js +27 -0
- package/build/src/api/getVersions.js.map +1 -0
- package/build/src/api/graphql/client.js +144 -0
- package/build/src/api/graphql/client.js.map +1 -0
- package/build/src/api/graphql/queries/AppQuery.js +53 -0
- package/build/src/api/graphql/queries/AppQuery.js.map +1 -0
- package/build/src/api/graphql/queries/UserQuery.js +59 -0
- package/build/src/api/graphql/queries/UserQuery.js.map +1 -0
- package/build/src/api/graphql/types/App.js +31 -0
- package/build/src/api/graphql/types/App.js.map +1 -0
- package/build/src/api/rest/cache/FileSystemCache.js +93 -0
- package/build/src/api/rest/cache/FileSystemCache.js.map +1 -0
- package/build/src/api/rest/cache/response.js +40 -0
- package/build/src/api/rest/cache/response.js.map +1 -0
- package/build/src/api/rest/cache/wrapFetchWithCache.js +189 -0
- package/build/src/api/rest/cache/wrapFetchWithCache.js.map +1 -0
- package/build/src/api/rest/client.js +134 -0
- package/build/src/api/rest/client.js.map +1 -0
- package/build/src/api/rest/client.types.js +6 -0
- package/build/src/api/rest/client.types.js.map +1 -0
- package/build/src/api/rest/wrapFetchWithBaseUrl.js +31 -0
- package/build/src/api/rest/wrapFetchWithBaseUrl.js.map +1 -0
- package/build/src/api/rest/wrapFetchWithOffline.js +22 -0
- package/build/src/api/rest/wrapFetchWithOffline.js.map +1 -0
- package/build/src/api/rest/wrapFetchWithProgress.js +85 -0
- package/build/src/api/rest/wrapFetchWithProgress.js.map +1 -0
- package/build/src/api/rest/wrapFetchWithProxy.js +35 -0
- package/build/src/api/rest/wrapFetchWithProxy.js.map +1 -0
- package/build/src/api/settings.js +31 -0
- package/build/src/api/settings.js.map +1 -0
- package/build/src/api/updateDevelopmentSession.js +94 -0
- package/build/src/api/updateDevelopmentSession.js.map +1 -0
- package/build/src/api/user/UserSettings.js +91 -0
- package/build/src/api/user/UserSettings.js.map +1 -0
- package/build/src/api/user/actions.js +144 -0
- package/build/src/api/user/actions.js.map +1 -0
- package/build/src/api/user/expoSsoLauncher.js +172 -0
- package/build/src/api/user/expoSsoLauncher.js.map +1 -0
- package/build/src/api/user/otp.js +171 -0
- package/build/src/api/user/otp.js.map +1 -0
- package/build/src/api/user/user.js +176 -0
- package/build/src/api/user/user.js.map +1 -0
- package/build/src/config/configAsync.js +174 -0
- package/build/src/config/configAsync.js.map +1 -0
- package/build/src/config/index.js +97 -0
- package/build/src/config/index.js.map +1 -0
- package/build/src/customize/customizeAsync.js +53 -0
- package/build/src/customize/customizeAsync.js.map +1 -0
- package/build/src/customize/generate.js +131 -0
- package/build/src/customize/generate.js.map +1 -0
- package/build/src/customize/index.js +49 -0
- package/build/src/customize/index.js.map +1 -0
- package/build/src/customize/resolveOptions.js +21 -0
- package/build/src/customize/resolveOptions.js.map +1 -0
- package/build/src/customize/templates.js +147 -0
- package/build/src/customize/templates.js.map +1 -0
- package/build/src/customize/typescript.js +77 -0
- package/build/src/customize/typescript.js.map +1 -0
- package/build/src/export/createMetadataJson.js +49 -0
- package/build/src/export/createMetadataJson.js.map +1 -0
- package/build/src/export/embed/exportEmbedAsync.js +310 -0
- package/build/src/export/embed/exportEmbedAsync.js.map +1 -0
- package/build/src/export/embed/index.js +139 -0
- package/build/src/export/embed/index.js.map +1 -0
- package/build/src/export/embed/resolveOptions.js +67 -0
- package/build/src/export/embed/resolveOptions.js.map +1 -0
- package/build/src/export/embed/xcodeCompilerLogger.js +121 -0
- package/build/src/export/embed/xcodeCompilerLogger.js.map +1 -0
- package/build/src/export/exportApp.js +279 -0
- package/build/src/export/exportApp.js.map +1 -0
- package/build/src/export/exportAssets.js +214 -0
- package/build/src/export/exportAssets.js.map +1 -0
- package/build/src/export/exportAsync.js +85 -0
- package/build/src/export/exportAsync.js.map +1 -0
- package/build/src/export/exportHermes.js +159 -0
- package/build/src/export/exportHermes.js.map +1 -0
- package/build/src/export/exportStaticAsync.js +348 -0
- package/build/src/export/exportStaticAsync.js.map +1 -0
- package/build/src/export/favicon.js +132 -0
- package/build/src/export/favicon.js.map +1 -0
- package/build/src/export/getPublicExpoManifest.js +37 -0
- package/build/src/export/getPublicExpoManifest.js.map +1 -0
- package/build/src/export/getResolvedLocales.js +50 -0
- package/build/src/export/getResolvedLocales.js.map +1 -0
- package/build/src/export/html.js +29 -0
- package/build/src/export/html.js.map +1 -0
- package/build/src/export/index.js +115 -0
- package/build/src/export/index.js.map +1 -0
- package/build/src/export/metroAssetLocalPath.js +124 -0
- package/build/src/export/metroAssetLocalPath.js.map +1 -0
- package/build/src/export/persistMetroAssets.js +228 -0
- package/build/src/export/persistMetroAssets.js.map +1 -0
- package/build/src/export/publicFolder.js +54 -0
- package/build/src/export/publicFolder.js.map +1 -0
- package/build/src/export/resolveOptions.js +81 -0
- package/build/src/export/resolveOptions.js.map +1 -0
- package/build/src/export/saveAssets.js +195 -0
- package/build/src/export/saveAssets.js.map +1 -0
- package/build/src/export/web/exportWebAsync.js +55 -0
- package/build/src/export/web/exportWebAsync.js.map +1 -0
- package/build/src/export/web/index.js +88 -0
- package/build/src/export/web/index.js.map +1 -0
- package/build/src/export/web/resolveOptions.js +16 -0
- package/build/src/export/web/resolveOptions.js.map +1 -0
- package/build/src/export/writeContents.js +31 -0
- package/build/src/export/writeContents.js.map +1 -0
- package/build/src/graphql/generated.js +499 -0
- package/build/src/graphql/generated.js.map +1 -0
- package/build/src/install/applyPlugins.js +76 -0
- package/build/src/install/applyPlugins.js.map +1 -0
- package/build/src/install/checkPackages.js +110 -0
- package/build/src/install/checkPackages.js.map +1 -0
- package/build/src/install/fixPackages.js +107 -0
- package/build/src/install/fixPackages.js.map +1 -0
- package/build/src/install/index.js +59 -0
- package/build/src/install/index.js.map +1 -0
- package/build/src/install/installAsync.js +192 -0
- package/build/src/install/installAsync.js.map +1 -0
- package/build/src/install/installExpoPackage.js +112 -0
- package/build/src/install/installExpoPackage.js.map +1 -0
- package/build/src/install/resolveOptions.js +56 -0
- package/build/src/install/resolveOptions.js.map +1 -0
- package/build/src/install/utils/autoAddConfigPlugins.js +86 -0
- package/build/src/install/utils/autoAddConfigPlugins.js.map +1 -0
- package/build/src/lint/ESlintPrerequisite.js +174 -0
- package/build/src/lint/ESlintPrerequisite.js.map +1 -0
- package/build/src/lint/index.js +66 -0
- package/build/src/lint/index.js.map +1 -0
- package/build/src/lint/lintAsync.js +33 -0
- package/build/src/lint/lintAsync.js.map +1 -0
- package/build/src/log.js +86 -0
- package/build/src/log.js.map +1 -0
- package/build/src/login/index.js +84 -0
- package/build/src/login/index.js.map +1 -0
- package/build/src/logout/index.js +66 -0
- package/build/src/logout/index.js.map +1 -0
- package/build/src/prebuild/clearNativeFolder.js +190 -0
- package/build/src/prebuild/clearNativeFolder.js.map +1 -0
- package/build/src/prebuild/configureProjectAsync.js +103 -0
- package/build/src/prebuild/configureProjectAsync.js.map +1 -0
- package/build/src/prebuild/copyTemplateFiles.js +91 -0
- package/build/src/prebuild/copyTemplateFiles.js.map +1 -0
- package/build/src/prebuild/ensureConfigAsync.js +119 -0
- package/build/src/prebuild/ensureConfigAsync.js.map +1 -0
- package/build/src/prebuild/index.js +118 -0
- package/build/src/prebuild/index.js.map +1 -0
- package/build/src/prebuild/prebuildAsync.js +170 -0
- package/build/src/prebuild/prebuildAsync.js.map +1 -0
- package/build/src/prebuild/renameTemplateAppName.js +124 -0
- package/build/src/prebuild/renameTemplateAppName.js.map +1 -0
- package/build/src/prebuild/resolveOptions.js +164 -0
- package/build/src/prebuild/resolveOptions.js.map +1 -0
- package/build/src/prebuild/resolveTemplate.js +229 -0
- package/build/src/prebuild/resolveTemplate.js.map +1 -0
- package/build/src/prebuild/updateFromTemplate.js +143 -0
- package/build/src/prebuild/updateFromTemplate.js.map +1 -0
- package/build/src/prebuild/updatePackageJson.js +284 -0
- package/build/src/prebuild/updatePackageJson.js.map +1 -0
- package/build/src/prebuild/validateTemplatePlatforms.js +81 -0
- package/build/src/prebuild/validateTemplatePlatforms.js.map +1 -0
- package/build/src/register/index.js +66 -0
- package/build/src/register/index.js.map +1 -0
- package/build/src/register/registerAsync.js +37 -0
- package/build/src/register/registerAsync.js.map +1 -0
- package/build/src/run/android/index.js +129 -0
- package/build/src/run/android/index.js.map +1 -0
- package/build/src/run/android/resolveDevice.js +26 -0
- package/build/src/run/android/resolveDevice.js.map +1 -0
- package/build/src/run/android/resolveGradlePropsAsync.js +64 -0
- package/build/src/run/android/resolveGradlePropsAsync.js.map +1 -0
- package/build/src/run/android/resolveInstallApkName.js +65 -0
- package/build/src/run/android/resolveInstallApkName.js.map +1 -0
- package/build/src/run/android/resolveLaunchProps.js +41 -0
- package/build/src/run/android/resolveLaunchProps.js.map +1 -0
- package/build/src/run/android/resolveOptions.js +30 -0
- package/build/src/run/android/resolveOptions.js.map +1 -0
- package/build/src/run/android/runAndroidAsync.js +95 -0
- package/build/src/run/android/runAndroidAsync.js.map +1 -0
- package/build/src/run/ensureNativeProject.js +51 -0
- package/build/src/run/ensureNativeProject.js.map +1 -0
- package/build/src/run/hints.js +40 -0
- package/build/src/run/hints.js.map +1 -0
- package/build/src/run/index.js +121 -0
- package/build/src/run/index.js.map +1 -0
- package/build/src/run/ios/XcodeBuild.js +336 -0
- package/build/src/run/ios/XcodeBuild.js.map +1 -0
- package/build/src/run/ios/XcodeBuild.types.js +6 -0
- package/build/src/run/ios/XcodeBuild.types.js.map +1 -0
- package/build/src/run/ios/appleDevice/AppleDevice.js +310 -0
- package/build/src/run/ios/appleDevice/AppleDevice.js.map +1 -0
- package/build/src/run/ios/appleDevice/ClientManager.js +204 -0
- package/build/src/run/ios/appleDevice/ClientManager.js.map +1 -0
- package/build/src/run/ios/appleDevice/client/AFCClient.js +245 -0
- package/build/src/run/ios/appleDevice/client/AFCClient.js.map +1 -0
- package/build/src/run/ios/appleDevice/client/DebugserverClient.js +146 -0
- package/build/src/run/ios/appleDevice/client/DebugserverClient.js.map +1 -0
- package/build/src/run/ios/appleDevice/client/InstallationProxyClient.js +112 -0
- package/build/src/run/ios/appleDevice/client/InstallationProxyClient.js.map +1 -0
- package/build/src/run/ios/appleDevice/client/LockdowndClient.js +183 -0
- package/build/src/run/ios/appleDevice/client/LockdowndClient.js.map +1 -0
- package/build/src/run/ios/appleDevice/client/MobileImageMounterClient.js +129 -0
- package/build/src/run/ios/appleDevice/client/MobileImageMounterClient.js.map +1 -0
- package/build/src/run/ios/appleDevice/client/ServiceClient.js +35 -0
- package/build/src/run/ios/appleDevice/client/ServiceClient.js.map +1 -0
- package/build/src/run/ios/appleDevice/client/UsbmuxdClient.js +144 -0
- package/build/src/run/ios/appleDevice/client/UsbmuxdClient.js.map +1 -0
- package/build/src/run/ios/appleDevice/installOnDeviceAsync.js +148 -0
- package/build/src/run/ios/appleDevice/installOnDeviceAsync.js.map +1 -0
- package/build/src/run/ios/appleDevice/protocol/AFCProtocol.js +351 -0
- package/build/src/run/ios/appleDevice/protocol/AFCProtocol.js.map +1 -0
- package/build/src/run/ios/appleDevice/protocol/AbstractProtocol.js +159 -0
- package/build/src/run/ios/appleDevice/protocol/AbstractProtocol.js.map +1 -0
- package/build/src/run/ios/appleDevice/protocol/GDBProtocol.js +145 -0
- package/build/src/run/ios/appleDevice/protocol/GDBProtocol.js.map +1 -0
- package/build/src/run/ios/appleDevice/protocol/LockdownProtocol.js +99 -0
- package/build/src/run/ios/appleDevice/protocol/LockdownProtocol.js.map +1 -0
- package/build/src/run/ios/appleDevice/protocol/UsbmuxProtocol.js +90 -0
- package/build/src/run/ios/appleDevice/protocol/UsbmuxProtocol.js.map +1 -0
- package/build/src/run/ios/codeSigning/Security.js +104 -0
- package/build/src/run/ios/codeSigning/Security.js.map +1 -0
- package/build/src/run/ios/codeSigning/configureCodeSigning.js +104 -0
- package/build/src/run/ios/codeSigning/configureCodeSigning.js.map +1 -0
- package/build/src/run/ios/codeSigning/resolveCertificateSigningIdentity.js +133 -0
- package/build/src/run/ios/codeSigning/resolveCertificateSigningIdentity.js.map +1 -0
- package/build/src/run/ios/codeSigning/settings.js +29 -0
- package/build/src/run/ios/codeSigning/settings.js.map +1 -0
- package/build/src/run/ios/codeSigning/simulatorCodeSigning.js +65 -0
- package/build/src/run/ios/codeSigning/simulatorCodeSigning.js.map +1 -0
- package/build/src/run/ios/codeSigning/xcodeCodeSigning.js +97 -0
- package/build/src/run/ios/codeSigning/xcodeCodeSigning.js.map +1 -0
- package/build/src/run/ios/index.js +126 -0
- package/build/src/run/ios/index.js.map +1 -0
- package/build/src/run/ios/launchApp.js +113 -0
- package/build/src/run/ios/launchApp.js.map +1 -0
- package/build/src/run/ios/options/appleDestinations.js +124 -0
- package/build/src/run/ios/options/appleDestinations.js.map +1 -0
- package/build/src/run/ios/options/promptDevice.js +60 -0
- package/build/src/run/ios/options/promptDevice.js.map +1 -0
- package/build/src/run/ios/options/resolveDevice.js +147 -0
- package/build/src/run/ios/options/resolveDevice.js.map +1 -0
- package/build/src/run/ios/options/resolveNativeScheme.js +142 -0
- package/build/src/run/ios/options/resolveNativeScheme.js.map +1 -0
- package/build/src/run/ios/options/resolveOptions.js +50 -0
- package/build/src/run/ios/options/resolveOptions.js.map +1 -0
- package/build/src/run/ios/options/resolveXcodeProject.js +48 -0
- package/build/src/run/ios/options/resolveXcodeProject.js.map +1 -0
- package/build/src/run/ios/runIosAsync.js +122 -0
- package/build/src/run/ios/runIosAsync.js.map +1 -0
- package/build/src/run/resolveBundlerProps.js +37 -0
- package/build/src/run/resolveBundlerProps.js.map +1 -0
- package/build/src/run/startBundler.js +116 -0
- package/build/src/run/startBundler.js.map +1 -0
- package/build/src/start/detectDevClient.js +32 -0
- package/build/src/start/detectDevClient.js.map +1 -0
- package/build/src/start/doctor/Prerequisite.js +55 -0
- package/build/src/start/doctor/Prerequisite.js.map +1 -0
- package/build/src/start/doctor/SecurityBinPrerequisite.js +36 -0
- package/build/src/start/doctor/SecurityBinPrerequisite.js.map +1 -0
- package/build/src/start/doctor/apple/SimulatorAppPrerequisite.js +103 -0
- package/build/src/start/doctor/apple/SimulatorAppPrerequisite.js.map +1 -0
- package/build/src/start/doctor/apple/XcodeDeveloperDiskImagePrerequisite.js +102 -0
- package/build/src/start/doctor/apple/XcodeDeveloperDiskImagePrerequisite.js.map +1 -0
- package/build/src/start/doctor/apple/XcodePrerequisite.js +233 -0
- package/build/src/start/doctor/apple/XcodePrerequisite.js.map +1 -0
- package/build/src/start/doctor/apple/XcrunPrerequisite.js +86 -0
- package/build/src/start/doctor/apple/XcrunPrerequisite.js.map +1 -0
- package/build/src/start/doctor/dependencies/bundledNativeModules.js +108 -0
- package/build/src/start/doctor/dependencies/bundledNativeModules.js.map +1 -0
- package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js +186 -0
- package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js.map +1 -0
- package/build/src/start/doctor/dependencies/getMissingPackages.js +100 -0
- package/build/src/start/doctor/dependencies/getMissingPackages.js.map +1 -0
- package/build/src/start/doctor/dependencies/getVersionedPackages.js +157 -0
- package/build/src/start/doctor/dependencies/getVersionedPackages.js.map +1 -0
- package/build/src/start/doctor/dependencies/resolvePackages.js +90 -0
- package/build/src/start/doctor/dependencies/resolvePackages.js.map +1 -0
- package/build/src/start/doctor/dependencies/validateDependenciesVersions.js +200 -0
- package/build/src/start/doctor/dependencies/validateDependenciesVersions.js.map +1 -0
- package/build/src/start/doctor/ngrok/ExternalModule.js +218 -0
- package/build/src/start/doctor/ngrok/ExternalModule.js.map +1 -0
- package/build/src/start/doctor/ngrok/NgrokResolver.js +29 -0
- package/build/src/start/doctor/ngrok/NgrokResolver.js.map +1 -0
- package/build/src/start/doctor/typescript/TypeScriptProjectPrerequisite.js +195 -0
- package/build/src/start/doctor/typescript/TypeScriptProjectPrerequisite.js.map +1 -0
- package/build/src/start/doctor/typescript/updateTSConfig.js +140 -0
- package/build/src/start/doctor/typescript/updateTSConfig.js.map +1 -0
- package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js +154 -0
- package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js.map +1 -0
- package/build/src/start/index.js +143 -0
- package/build/src/start/index.js.map +1 -0
- package/build/src/start/interface/KeyPressHandler.js +122 -0
- package/build/src/start/interface/KeyPressHandler.js.map +1 -0
- package/build/src/start/interface/commandsTable.js +235 -0
- package/build/src/start/interface/commandsTable.js.map +1 -0
- package/build/src/start/interface/interactiveActions.js +244 -0
- package/build/src/start/interface/interactiveActions.js.map +1 -0
- package/build/src/start/interface/startInterface.js +254 -0
- package/build/src/start/interface/startInterface.js.map +1 -0
- package/build/src/start/platforms/AppIdResolver.js +53 -0
- package/build/src/start/platforms/AppIdResolver.js.map +1 -0
- package/build/src/start/platforms/DeviceManager.js +70 -0
- package/build/src/start/platforms/DeviceManager.js.map +1 -0
- package/build/src/start/platforms/ExpoGoInstaller.js +163 -0
- package/build/src/start/platforms/ExpoGoInstaller.js.map +1 -0
- package/build/src/start/platforms/PlatformManager.js +158 -0
- package/build/src/start/platforms/PlatformManager.js.map +1 -0
- package/build/src/start/platforms/android/ADBServer.js +136 -0
- package/build/src/start/platforms/android/ADBServer.js.map +1 -0
- package/build/src/start/platforms/android/AndroidAppIdResolver.js +52 -0
- package/build/src/start/platforms/android/AndroidAppIdResolver.js.map +1 -0
- package/build/src/start/platforms/android/AndroidDeviceManager.js +218 -0
- package/build/src/start/platforms/android/AndroidDeviceManager.js.map +1 -0
- package/build/src/start/platforms/android/AndroidPlatformManager.js +38 -0
- package/build/src/start/platforms/android/AndroidPlatformManager.js.map +1 -0
- package/build/src/start/platforms/android/AndroidSdk.js +68 -0
- package/build/src/start/platforms/android/AndroidSdk.js.map +1 -0
- package/build/src/start/platforms/android/activateWindow.js +113 -0
- package/build/src/start/platforms/android/activateWindow.js.map +1 -0
- package/build/src/start/platforms/android/adb.js +310 -0
- package/build/src/start/platforms/android/adb.js.map +1 -0
- package/build/src/start/platforms/android/adbReverse.js +121 -0
- package/build/src/start/platforms/android/adbReverse.js.map +1 -0
- package/build/src/start/platforms/android/emulator.js +175 -0
- package/build/src/start/platforms/android/emulator.js.map +1 -0
- package/build/src/start/platforms/android/getDevices.js +37 -0
- package/build/src/start/platforms/android/getDevices.js.map +1 -0
- package/build/src/start/platforms/android/gradle.js +110 -0
- package/build/src/start/platforms/android/gradle.js.map +1 -0
- package/build/src/start/platforms/android/promptAndroidDevice.js +62 -0
- package/build/src/start/platforms/android/promptAndroidDevice.js.map +1 -0
- package/build/src/start/platforms/ios/AppleAppIdResolver.js +74 -0
- package/build/src/start/platforms/ios/AppleAppIdResolver.js.map +1 -0
- package/build/src/start/platforms/ios/AppleDeviceManager.js +278 -0
- package/build/src/start/platforms/ios/AppleDeviceManager.js.map +1 -0
- package/build/src/start/platforms/ios/ApplePlatformManager.js +34 -0
- package/build/src/start/platforms/ios/ApplePlatformManager.js.map +1 -0
- package/build/src/start/platforms/ios/assertSystemRequirements.js +20 -0
- package/build/src/start/platforms/ios/assertSystemRequirements.js.map +1 -0
- package/build/src/start/platforms/ios/devicectl.js +371 -0
- package/build/src/start/platforms/ios/devicectl.js.map +1 -0
- package/build/src/start/platforms/ios/ensureSimulatorAppRunning.js +118 -0
- package/build/src/start/platforms/ios/ensureSimulatorAppRunning.js.map +1 -0
- package/build/src/start/platforms/ios/getBestSimulator.js +131 -0
- package/build/src/start/platforms/ios/getBestSimulator.js.map +1 -0
- package/build/src/start/platforms/ios/promptAppleDevice.js +68 -0
- package/build/src/start/platforms/ios/promptAppleDevice.js.map +1 -0
- package/build/src/start/platforms/ios/simctl.js +352 -0
- package/build/src/start/platforms/ios/simctl.js.map +1 -0
- package/build/src/start/platforms/ios/simctlLogging.js +273 -0
- package/build/src/start/platforms/ios/simctlLogging.js.map +1 -0
- package/build/src/start/platforms/ios/xcrun.js +61 -0
- package/build/src/start/platforms/ios/xcrun.js.map +1 -0
- package/build/src/start/project/devices.js +82 -0
- package/build/src/start/project/devices.js.map +1 -0
- package/build/src/start/project/dotExpo.js +100 -0
- package/build/src/start/project/dotExpo.js.map +1 -0
- package/build/src/start/project/settings.js +15 -0
- package/build/src/start/project/settings.js.map +1 -0
- package/build/src/start/resolveOptions.js +160 -0
- package/build/src/start/resolveOptions.js.map +1 -0
- package/build/src/start/server/AsyncNgrok.js +263 -0
- package/build/src/start/server/AsyncNgrok.js.map +1 -0
- package/build/src/start/server/BundlerDevServer.js +395 -0
- package/build/src/start/server/BundlerDevServer.js.map +1 -0
- package/build/src/start/server/DevServerManager.js +256 -0
- package/build/src/start/server/DevServerManager.js.map +1 -0
- package/build/src/start/server/DevToolsPluginManager.js +80 -0
- package/build/src/start/server/DevToolsPluginManager.js.map +1 -0
- package/build/src/start/server/DevelopmentSession.js +138 -0
- package/build/src/start/server/DevelopmentSession.js.map +1 -0
- package/build/src/start/server/ReactDevToolsProxy.js +99 -0
- package/build/src/start/server/ReactDevToolsProxy.js.map +1 -0
- package/build/src/start/server/UrlCreator.js +209 -0
- package/build/src/start/server/UrlCreator.js.map +1 -0
- package/build/src/start/server/getStaticRenderFunctions.js +157 -0
- package/build/src/start/server/getStaticRenderFunctions.js.map +1 -0
- package/build/src/start/server/metro/MetroBundlerDevServer.js +982 -0
- package/build/src/start/server/metro/MetroBundlerDevServer.js.map +1 -0
- package/build/src/start/server/metro/MetroTerminalReporter.js +191 -0
- package/build/src/start/server/metro/MetroTerminalReporter.js.map +1 -0
- package/build/src/start/server/metro/TerminalReporter.js +163 -0
- package/build/src/start/server/metro/TerminalReporter.js.map +1 -0
- package/build/src/start/server/metro/TerminalReporter.types.js +6 -0
- package/build/src/start/server/metro/TerminalReporter.types.js.map +1 -0
- package/build/src/start/server/metro/createExpoMetroResolver.js +251 -0
- package/build/src/start/server/metro/createExpoMetroResolver.js.map +1 -0
- package/build/src/start/server/metro/createJResolver.js +222 -0
- package/build/src/start/server/metro/createJResolver.js.map +1 -0
- package/build/src/start/server/metro/createServerRouteMiddleware.js +137 -0
- package/build/src/start/server/metro/createServerRouteMiddleware.js.map +1 -0
- package/build/src/start/server/metro/debugging/AtlasPrerequisite.js +47 -0
- package/build/src/start/server/metro/debugging/AtlasPrerequisite.js.map +1 -0
- package/build/src/start/server/metro/debugging/MessageHandler.js +30 -0
- package/build/src/start/server/metro/debugging/MessageHandler.js.map +1 -0
- package/build/src/start/server/metro/debugging/attachAtlas.js +97 -0
- package/build/src/start/server/metro/debugging/attachAtlas.js.map +1 -0
- package/build/src/start/server/metro/debugging/createDebugMiddleware.js +52 -0
- package/build/src/start/server/metro/debugging/createDebugMiddleware.js.map +1 -0
- package/build/src/start/server/metro/debugging/createHandlersFactory.js +64 -0
- package/build/src/start/server/metro/debugging/createHandlersFactory.js.map +1 -0
- package/build/src/start/server/metro/debugging/getDebuggerType.js +18 -0
- package/build/src/start/server/metro/debugging/getDebuggerType.js.map +1 -0
- package/build/src/start/server/metro/debugging/messageHandlers/NetworkResponse.js +34 -0
- package/build/src/start/server/metro/debugging/messageHandlers/NetworkResponse.js.map +1 -0
- package/build/src/start/server/metro/debugging/messageHandlers/PageReload.js +26 -0
- package/build/src/start/server/metro/debugging/messageHandlers/PageReload.js.map +1 -0
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerGetPossibleBreakpoints.js +28 -0
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerGetPossibleBreakpoints.js.map +1 -0
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerSetBreakpointByUrl.js +25 -0
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerSetBreakpointByUrl.js.map +1 -0
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeCallFunctionOn.js +31 -0
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeCallFunctionOn.js.map +1 -0
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeGetProperties.js +47 -0
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeGetProperties.js.map +1 -0
- package/build/src/start/server/metro/debugging/pageIsSupported.js +17 -0
- package/build/src/start/server/metro/debugging/pageIsSupported.js.map +1 -0
- package/build/src/start/server/metro/debugging/types.js +6 -0
- package/build/src/start/server/metro/debugging/types.js.map +1 -0
- package/build/src/start/server/metro/externals.js +92 -0
- package/build/src/start/server/metro/externals.js.map +1 -0
- package/build/src/start/server/metro/fetchRouterManifest.js +79 -0
- package/build/src/start/server/metro/fetchRouterManifest.js.map +1 -0
- package/build/src/start/server/metro/formatFileCandidates.js +82 -0
- package/build/src/start/server/metro/formatFileCandidates.js.map +1 -0
- package/build/src/start/server/metro/getCssModulesFromBundler.js +109 -0
- package/build/src/start/server/metro/getCssModulesFromBundler.js.map +1 -0
- package/build/src/start/server/metro/instantiateMetro.js +276 -0
- package/build/src/start/server/metro/instantiateMetro.js.map +1 -0
- package/build/src/start/server/metro/metroErrorInterface.js +279 -0
- package/build/src/start/server/metro/metroErrorInterface.js.map +1 -0
- package/build/src/start/server/metro/metroErrors.js +23 -0
- package/build/src/start/server/metro/metroErrors.js.map +1 -0
- package/build/src/start/server/metro/metroPrivateServer.js +26 -0
- package/build/src/start/server/metro/metroPrivateServer.js.map +1 -0
- package/build/src/start/server/metro/metroVirtualModules.js +90 -0
- package/build/src/start/server/metro/metroVirtualModules.js.map +1 -0
- package/build/src/start/server/metro/metroWatchTypeScriptFiles.js +60 -0
- package/build/src/start/server/metro/metroWatchTypeScriptFiles.js.map +1 -0
- package/build/src/start/server/metro/router.js +128 -0
- package/build/src/start/server/metro/router.js.map +1 -0
- package/build/src/start/server/metro/runServer-fork.js +153 -0
- package/build/src/start/server/metro/runServer-fork.js.map +1 -0
- package/build/src/start/server/metro/serializeHtml.js +72 -0
- package/build/src/start/server/metro/serializeHtml.js.map +1 -0
- package/build/src/start/server/metro/symbolicate.js +6 -0
- package/build/src/start/server/metro/symbolicate.js.map +1 -0
- package/build/src/start/server/metro/waitForMetroToObserveTypeScriptFile.js +97 -0
- package/build/src/start/server/metro/waitForMetroToObserveTypeScriptFile.js.map +1 -0
- package/build/src/start/server/metro/withMetroMultiPlatform.js +517 -0
- package/build/src/start/server/metro/withMetroMultiPlatform.js.map +1 -0
- package/build/src/start/server/metro/withMetroResolvers.js +320 -0
- package/build/src/start/server/metro/withMetroResolvers.js.map +1 -0
- package/build/src/start/server/middleware/ContextModuleSourceMapsMiddleware.js +30 -0
- package/build/src/start/server/middleware/ContextModuleSourceMapsMiddleware.js.map +1 -0
- package/build/src/start/server/middleware/CorsMiddleware.js +59 -0
- package/build/src/start/server/middleware/CorsMiddleware.js.map +1 -0
- package/build/src/start/server/middleware/CreateFileMiddleware.js +126 -0
- package/build/src/start/server/middleware/CreateFileMiddleware.js.map +1 -0
- package/build/src/start/server/middleware/DevToolsPluginMiddleware.js +76 -0
- package/build/src/start/server/middleware/DevToolsPluginMiddleware.js.map +1 -0
- package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js +274 -0
- package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js.map +1 -0
- package/build/src/start/server/middleware/ExpoMiddleware.js +115 -0
- package/build/src/start/server/middleware/ExpoMiddleware.js.map +1 -0
- package/build/src/start/server/middleware/FaviconMiddleware.js +47 -0
- package/build/src/start/server/middleware/FaviconMiddleware.js.map +1 -0
- package/build/src/start/server/middleware/HistoryFallbackMiddleware.js +27 -0
- package/build/src/start/server/middleware/HistoryFallbackMiddleware.js.map +1 -0
- package/build/src/start/server/middleware/InterstitialPageMiddleware.js +118 -0
- package/build/src/start/server/middleware/InterstitialPageMiddleware.js.map +1 -0
- package/build/src/start/server/middleware/ManifestMiddleware.js +362 -0
- package/build/src/start/server/middleware/ManifestMiddleware.js.map +1 -0
- package/build/src/start/server/middleware/ReactDevToolsPageMiddleware.js +79 -0
- package/build/src/start/server/middleware/ReactDevToolsPageMiddleware.js.map +1 -0
- package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js +102 -0
- package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js.map +1 -0
- package/build/src/start/server/middleware/ServeStaticMiddleware.js +83 -0
- package/build/src/start/server/middleware/ServeStaticMiddleware.js.map +1 -0
- package/build/src/start/server/middleware/inspector/JsInspector.js +113 -0
- package/build/src/start/server/middleware/inspector/JsInspector.js.map +1 -0
- package/build/src/start/server/middleware/inspector/LaunchBrowser.js +75 -0
- package/build/src/start/server/middleware/inspector/LaunchBrowser.js.map +1 -0
- package/build/src/start/server/middleware/inspector/LaunchBrowser.types.js +15 -0
- package/build/src/start/server/middleware/inspector/LaunchBrowser.types.js.map +1 -0
- package/build/src/start/server/middleware/inspector/LaunchBrowserImplLinux.js +104 -0
- package/build/src/start/server/middleware/inspector/LaunchBrowserImplLinux.js.map +1 -0
- package/build/src/start/server/middleware/inspector/LaunchBrowserImplMacOS.js +125 -0
- package/build/src/start/server/middleware/inspector/LaunchBrowserImplMacOS.js.map +1 -0
- package/build/src/start/server/middleware/inspector/LaunchBrowserImplWindows.js +146 -0
- package/build/src/start/server/middleware/inspector/LaunchBrowserImplWindows.js.map +1 -0
- package/build/src/start/server/middleware/inspector/createJsInspectorMiddleware.js +91 -0
- package/build/src/start/server/middleware/inspector/createJsInspectorMiddleware.js.map +1 -0
- package/build/src/start/server/middleware/inspector/middlwareMutations.js +26 -0
- package/build/src/start/server/middleware/inspector/middlwareMutations.js.map +1 -0
- package/build/src/start/server/middleware/metroOptions.js +213 -0
- package/build/src/start/server/middleware/metroOptions.js.map +1 -0
- package/build/src/start/server/middleware/mutations.js +26 -0
- package/build/src/start/server/middleware/mutations.js.map +1 -0
- package/build/src/start/server/middleware/resolveAssets.js +146 -0
- package/build/src/start/server/middleware/resolveAssets.js.map +1 -0
- package/build/src/start/server/middleware/resolvePlatform.js +61 -0
- package/build/src/start/server/middleware/resolvePlatform.js.map +1 -0
- package/build/src/start/server/middleware/server.types.js +6 -0
- package/build/src/start/server/middleware/server.types.js.map +1 -0
- package/build/src/start/server/middleware/suppressErrorMiddleware.js +19 -0
- package/build/src/start/server/middleware/suppressErrorMiddleware.js.map +1 -0
- package/build/src/start/server/openPlatforms.js +31 -0
- package/build/src/start/server/openPlatforms.js.map +1 -0
- package/build/src/start/server/platformBundlers.js +40 -0
- package/build/src/start/server/platformBundlers.js.map +1 -0
- package/build/src/start/server/serverLogLikeMetro.js +255 -0
- package/build/src/start/server/serverLogLikeMetro.js.map +1 -0
- package/build/src/start/server/type-generation/expo-env.js +47 -0
- package/build/src/start/server/type-generation/expo-env.js.map +1 -0
- package/build/src/start/server/type-generation/routes.js +531 -0
- package/build/src/start/server/type-generation/routes.js.map +1 -0
- package/build/src/start/server/type-generation/startTypescriptTypeGeneration.js +77 -0
- package/build/src/start/server/type-generation/startTypescriptTypeGeneration.js.map +1 -0
- package/build/src/start/server/type-generation/tsconfig.js +114 -0
- package/build/src/start/server/type-generation/tsconfig.js.map +1 -0
- package/build/src/start/server/webTemplate.js +108 -0
- package/build/src/start/server/webTemplate.js.map +1 -0
- package/build/src/start/server/webpack/WebpackBundlerDevServer.js +315 -0
- package/build/src/start/server/webpack/WebpackBundlerDevServer.js.map +1 -0
- package/build/src/start/server/webpack/compile.js +97 -0
- package/build/src/start/server/webpack/compile.js.map +1 -0
- package/build/src/start/server/webpack/formatWebpackMessages.js +104 -0
- package/build/src/start/server/webpack/formatWebpackMessages.js.map +1 -0
- package/build/src/start/server/webpack/resolveFromProject.js +57 -0
- package/build/src/start/server/webpack/resolveFromProject.js.map +1 -0
- package/build/src/start/server/webpack/tls.js +122 -0
- package/build/src/start/server/webpack/tls.js.map +1 -0
- package/build/src/start/startAsync.js +207 -0
- package/build/src/start/startAsync.js.map +1 -0
- package/build/src/utils/FileNotifier.js +135 -0
- package/build/src/utils/FileNotifier.js.map +1 -0
- package/build/src/utils/analytics/getDevClientProperties.js +73 -0
- package/build/src/utils/analytics/getDevClientProperties.js.map +1 -0
- package/build/src/utils/analytics/getMetroDebugProperties.js +18 -0
- package/build/src/utils/analytics/getMetroDebugProperties.js.map +1 -0
- package/build/src/utils/analytics/getMetroProperties.js +31 -0
- package/build/src/utils/analytics/getMetroProperties.js.map +1 -0
- package/build/src/utils/analytics/metroDebuggerMiddleware.js +63 -0
- package/build/src/utils/analytics/metroDebuggerMiddleware.js.map +1 -0
- package/build/src/utils/ansi.js +20 -0
- package/build/src/utils/ansi.js.map +1 -0
- package/build/src/utils/args.js +131 -0
- package/build/src/utils/args.js.map +1 -0
- package/build/src/utils/array.js +74 -0
- package/build/src/utils/array.js.map +1 -0
- package/build/src/utils/cocoapods.js +250 -0
- package/build/src/utils/cocoapods.js.map +1 -0
- package/build/src/utils/codesigning.js +393 -0
- package/build/src/utils/codesigning.js.map +1 -0
- package/build/src/utils/createFileTransform.js +65 -0
- package/build/src/utils/createFileTransform.js.map +1 -0
- package/build/src/utils/delay.js +46 -0
- package/build/src/utils/delay.js.map +1 -0
- package/build/src/utils/dir.js +73 -0
- package/build/src/utils/dir.js.map +1 -0
- package/build/src/utils/downloadAppAsync.js +106 -0
- package/build/src/utils/downloadAppAsync.js.map +1 -0
- package/build/src/utils/downloadExpoGoAsync.js +137 -0
- package/build/src/utils/downloadExpoGoAsync.js.map +1 -0
- package/build/src/utils/editor.js +107 -0
- package/build/src/utils/editor.js.map +1 -0
- package/build/src/utils/env.js +160 -0
- package/build/src/utils/env.js.map +1 -0
- package/build/src/utils/errors.js +93 -0
- package/build/src/utils/errors.js.map +1 -0
- package/build/src/utils/exit.js +72 -0
- package/build/src/utils/exit.js.map +1 -0
- package/build/src/utils/findUp.js +57 -0
- package/build/src/utils/findUp.js.map +1 -0
- package/build/src/utils/fn.js +40 -0
- package/build/src/utils/fn.js.map +1 -0
- package/build/src/utils/getOrPromptApplicationId.js +219 -0
- package/build/src/utils/getOrPromptApplicationId.js.map +1 -0
- package/build/src/utils/getRunningProcess.js +134 -0
- package/build/src/utils/getRunningProcess.js.map +1 -0
- package/build/src/utils/git.js +127 -0
- package/build/src/utils/git.js.map +1 -0
- package/build/src/utils/glob.js +76 -0
- package/build/src/utils/glob.js.map +1 -0
- package/build/src/utils/interactive.js +14 -0
- package/build/src/utils/interactive.js.map +1 -0
- package/build/src/utils/ip.js +25 -0
- package/build/src/utils/ip.js.map +1 -0
- package/build/src/utils/isModuleSymlinked.js +52 -0
- package/build/src/utils/isModuleSymlinked.js.map +1 -0
- package/build/src/utils/link.js +51 -0
- package/build/src/utils/link.js.map +1 -0
- package/build/src/utils/mergeGitIgnorePaths.js +171 -0
- package/build/src/utils/mergeGitIgnorePaths.js.map +1 -0
- package/build/src/utils/modifyConfigAsync.js +106 -0
- package/build/src/utils/modifyConfigAsync.js.map +1 -0
- package/build/src/utils/modifyConfigPlugins.js +78 -0
- package/build/src/utils/modifyConfigPlugins.js.map +1 -0
- package/build/src/utils/nodeEnv.js +18 -0
- package/build/src/utils/nodeEnv.js.map +1 -0
- package/build/src/utils/nodeModules.js +50 -0
- package/build/src/utils/nodeModules.js.map +1 -0
- package/build/src/utils/npm.js +183 -0
- package/build/src/utils/npm.js.map +1 -0
- package/build/src/utils/obj.js +53 -0
- package/build/src/utils/obj.js.map +1 -0
- package/build/src/utils/open.js +35 -0
- package/build/src/utils/open.js.map +1 -0
- package/build/src/utils/ora.js +107 -0
- package/build/src/utils/ora.js.map +1 -0
- package/build/src/utils/plist.js +103 -0
- package/build/src/utils/plist.js.map +1 -0
- package/build/src/utils/port.js +198 -0
- package/build/src/utils/port.js.map +1 -0
- package/build/src/utils/profile.js +90 -0
- package/build/src/utils/profile.js.map +1 -0
- package/build/src/utils/progress.js +71 -0
- package/build/src/utils/progress.js.map +1 -0
- package/build/src/utils/prompts.js +133 -0
- package/build/src/utils/prompts.js.map +1 -0
- package/build/src/utils/resolveArgs.js +149 -0
- package/build/src/utils/resolveArgs.js.map +1 -0
- package/build/src/utils/scheme.js +204 -0
- package/build/src/utils/scheme.js.map +1 -0
- package/build/src/utils/strings.js +31 -0
- package/build/src/utils/strings.js.map +1 -0
- package/build/src/utils/tar.js +95 -0
- package/build/src/utils/tar.js.map +1 -0
- package/build/src/utils/telemetry/DetachedClient.js +90 -0
- package/build/src/utils/telemetry/DetachedClient.js.map +1 -0
- package/build/src/utils/telemetry/RudderClient.js +101 -0
- package/build/src/utils/telemetry/RudderClient.js.map +1 -0
- package/build/src/utils/telemetry/flushDetached.js +44 -0
- package/build/src/utils/telemetry/flushDetached.js.map +1 -0
- package/build/src/utils/telemetry/getContext.js +112 -0
- package/build/src/utils/telemetry/getContext.js.map +1 -0
- package/build/src/utils/telemetry/index.js +37 -0
- package/build/src/utils/telemetry/index.js.map +1 -0
- package/build/src/utils/telemetry/types.js +6 -0
- package/build/src/utils/telemetry/types.js.map +1 -0
- package/build/src/utils/template.js +46 -0
- package/build/src/utils/template.js.map +1 -0
- package/build/src/utils/terminal.js +13 -0
- package/build/src/utils/terminal.js.map +1 -0
- package/build/src/utils/tsconfig/evaluateTsConfig.js +79 -0
- package/build/src/utils/tsconfig/evaluateTsConfig.js.map +1 -0
- package/build/src/utils/tsconfig/loadTsConfigPaths.js +81 -0
- package/build/src/utils/tsconfig/loadTsConfigPaths.js.map +1 -0
- package/build/src/utils/tsconfig/matchTsConfigPathAlias.js +92 -0
- package/build/src/utils/tsconfig/matchTsConfigPathAlias.js.map +1 -0
- package/build/src/utils/tsconfig/resolveWithTsConfigPaths.js +60 -0
- package/build/src/utils/tsconfig/resolveWithTsConfigPaths.js.map +1 -0
- package/build/src/utils/url.js +83 -0
- package/build/src/utils/url.js.map +1 -0
- package/build/src/utils/validateApplicationId.js +198 -0
- package/build/src/utils/validateApplicationId.js.map +1 -0
- package/build/src/utils/variadic.js +69 -0
- package/build/src/utils/variadic.js.map +1 -0
- package/build/src/whoami/index.js +65 -0
- package/build/src/whoami/index.js.map +1 -0
- package/build/src/whoami/whoamiAsync.js +71 -0
- package/build/src/whoami/whoamiAsync.js.map +1 -0
- package/package.json +175 -0
- package/static/canary/react-is/cjs/react-is.development.js +200 -0
- package/static/canary/react-is/cjs/react-is.production.js +130 -0
- package/static/canary/react-native/Libraries/Renderer/implementations/ReactFabric-dev.js +26803 -0
- package/static/canary/react-native/Libraries/Renderer/implementations/ReactFabric-prod.js +10414 -0
- package/static/canary/react-native/Libraries/Renderer/implementations/ReactFabric-profiling.js +11127 -0
- package/static/canary/react-native/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +27227 -0
- package/static/canary/react-native/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +10635 -0
- package/static/canary/react-native/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +11347 -0
- package/static/canary/scheduler/cjs/scheduler-unstable_mock.development.js +711 -0
- package/static/canary/scheduler/cjs/scheduler-unstable_mock.production.js +415 -0
- package/static/canary/scheduler/cjs/scheduler-unstable_post_task.development.js +208 -0
- package/static/canary/scheduler/cjs/scheduler-unstable_post_task.production.js +145 -0
- package/static/canary/scheduler/cjs/scheduler.development.js +625 -0
- package/static/canary/scheduler/cjs/scheduler.native.development.js +538 -0
- package/static/canary/scheduler/cjs/scheduler.native.production.js +329 -0
- package/static/canary/scheduler/cjs/scheduler.production.js +341 -0
- package/static/loading-page/index.html +363 -0
- package/static/react-devtools-page/index.html +113 -0
- package/static/react-devtools-page/standalone.js +3 -0
- package/static/shims/react-native-web/dist/cjs/exports/AppRegistry/AppContainer.js +13 -0
- package/static/shims/react-native-web/dist/cjs/exports/BackHandler/index.js +10 -0
- package/static/shims/react-native-web/dist/exports/AppRegistry/AppContainer.js +12 -0
- package/static/shims/react-native-web/dist/exports/BackHandler/index.js +7 -0
- package/static/template/babel.config.js +6 -0
- package/static/template/index.html +36 -0
- package/static/template/metro.config.js +7 -0
- package/static/template/serve.json +13 -0
- package/static/template/webpack.config.js +7 -0
package/README.md
ADDED
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
<!-- Title -->
|
|
2
|
+
|
|
3
|
+
<p align="center">
|
|
4
|
+
<a href="https://expo.dev/">
|
|
5
|
+
<img alt="Expo CLI" src="../../../.github/resources/cli-banner.svg">
|
|
6
|
+
</a>
|
|
7
|
+
</p>
|
|
8
|
+
|
|
9
|
+
<p align="center">The fastest way to build and run universal React Native apps for iOS, Android, and the web</p>
|
|
10
|
+
|
|
11
|
+
<p align="center">
|
|
12
|
+
|
|
13
|
+
<a aria-label="Join the Expo Discord" href="https://discord.gg/4gtbPAdpaE" target="_blank">
|
|
14
|
+
<img alt="Discord" src="https://img.shields.io/discord/695411232856997968.svg?style=flat-square&labelColor=000000&color=000000&logo=discord&logoColor=FFFFFF&label=" />
|
|
15
|
+
</a>
|
|
16
|
+
<a aria-label="Browse the Expo forums" href="https://forums.expo.dev" target="_blank">
|
|
17
|
+
<img alt="" src="https://img.shields.io/badge/Ask%20Questions%20-000.svg?style=flat-square&logo=discourse&logoWidth=15&labelColor=000000&color=000000">
|
|
18
|
+
</a>
|
|
19
|
+
|
|
20
|
+
</p>
|
|
21
|
+
|
|
22
|
+
<p align="center">
|
|
23
|
+
<a aria-label="expo documentation" href="https://docs.expo.dev/more/expo-cli/">📚 Read the Documentation</a>
|
|
24
|
+
|
|
|
25
|
+
<a aria-label="Contribute to Expo CLI" href="#contributing"><b>Contribute to Expo CLI</b></a>
|
|
26
|
+
</p>
|
|
27
|
+
|
|
28
|
+
<p>
|
|
29
|
+
<a aria-label="Follow @expo on Twitter" href="https://twitter.com/intent/follow?screen_name=expo" target="_blank">
|
|
30
|
+
<img alt="Twitter: expo" src="https://img.shields.io/twitter/follow/expo.svg?style=flat-square&label=Follow%20%40expo&logo=TWITTER&logoColor=FFFFFF&labelColor=00aced&logoWidth=15&color=lightgray" target="_blank" />
|
|
31
|
+
</a>
|
|
32
|
+
<a aria-label="Follow Expo on Medium" href="https://blog.expo.dev">
|
|
33
|
+
<img align="right" alt="Medium: exposition" src="https://img.shields.io/badge/Learn%20more%20on%20our%20blog-lightgray.svg?style=flat-square" target="_blank" />
|
|
34
|
+
</a>
|
|
35
|
+
</p>
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
The `@expo/cli` package is a CLI binary that should be used via `expo` like `npx expo start`.
|
|
40
|
+
|
|
41
|
+
```
|
|
42
|
+
npx expo
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
> ⭐️ Be sure to star the Expo GitHub repo if you enjoy using the project!
|
|
46
|
+
|
|
47
|
+
## Design
|
|
48
|
+
|
|
49
|
+
This CLI has the following purposes:
|
|
50
|
+
|
|
51
|
+
- Be a minimal interface for starting a local development server that emulates a production EAS Updates server. The development server is the proxy between a native runtime (Expo Go, Dev Client) and a JS Bundler (Metro, Webpack).
|
|
52
|
+
- To accomplish secure manifest signing (think https/TSL/SSL for web (required for sandboxing AsyncStorage, Permissions, etc.)) we need an authenticated Expo user account. This is the only reason we include the authentication commands `login`, `logout`, `whoami`, `register`. Standard web CLIs don't have authentication commands because they either don't set up https or they use emulation via packages like `devcert`.
|
|
53
|
+
- Orchestrating various native tools like Xcode, `Simulator.app`, Android Studio, ADB, etc. to make native builds as painless as possible. `run:ios`, `run:android` commands.
|
|
54
|
+
- Implementing a versioned `prebuild` command that can reliably work with a project for long periods of time. Prebuild is like a bundler for native code, it generates the `ios`, `android` folders based on the project Expo config (`app.json`).
|
|
55
|
+
- `npx expo config` is auxiliary to `npx expo prebuild` and used for debugging/introspection.
|
|
56
|
+
- Installing versioned libraries with `npx expo install` this is a minimal utility born out of pure necessity since versioning in React Native is hard to get right.
|
|
57
|
+
|
|
58
|
+
# Contributing
|
|
59
|
+
|
|
60
|
+
To develop the CLI run (defaults to watch mode):
|
|
61
|
+
|
|
62
|
+
```
|
|
63
|
+
yarn build
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
We highly recommend setting up an alias for the Expo CLI so you can try it in projects all around your computer. Open your `.zshrc` or other config file and add:
|
|
67
|
+
|
|
68
|
+
```
|
|
69
|
+
alias nexpo="/path/to/expo/packages/@expo/cli/build/bin/cli"
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
Then use it with `nexpo` like `nexpo config`. You can also set up a debug version:
|
|
73
|
+
|
|
74
|
+
```
|
|
75
|
+
alias expo-inspect="node --inspect /path/to/expo/packages/@expo/cli/build/bin/cli"
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
Then you can run it and visit `chrome://inspect/#devices` in Chrome, and press "Open dedicated DevTools for Node" to get a debugger attached to your process. When debugging the CLI, you'll want to disable workers whenever possible, this will make all code run on the same thread, this is mostly applicable to the `start` command, i.e. `expo-inspect start --max-workers 0`.
|
|
79
|
+
|
|
80
|
+
## Format
|
|
81
|
+
|
|
82
|
+
- Be sure to update the [`CHANGELOG.md`](./CHANGELOG.md) with changes for every PR. You only need to add the message, our GitHub bot will automatically suggest adding your name and PR number to the diff.
|
|
83
|
+
- End `async` functions with `Async` like `runAsync`. This is just how we format functions at Expo.
|
|
84
|
+
- When throwing errors, always opt for `CommandError` instead of `Error` -- this helps with debugging and making the experience feel more coherent.
|
|
85
|
+
- Utilize the unified `Log` module instead of `console.log`.
|
|
86
|
+
- When logging with variables, utilize the following format `Something happened (foo: bar, baz: foz)`.
|
|
87
|
+
- Avoid other formats like `Something happened: bar, foz` or `Something happened: foo=bar, baz=foz`.
|
|
88
|
+
- Main UI components like command names (`expo start`), arguments (`--port`), and `--help` messages should be modified internally, by the Expo team to ensure the developer experience is unified across Expo tooling. External contributions modifying these core aspects may be rejected.
|
|
89
|
+
- Use the `profile` utility method with the `EXPO_PROFILE=1` environment variable to measure execution time.
|
|
90
|
+
- Avoid globals and singletons as these make testing harder and less predictable. The only global we have (at the time of writing this) is the `isOffline` boolean.
|
|
91
|
+
|
|
92
|
+
## Environment
|
|
93
|
+
|
|
94
|
+
- Always be cautious of the transitive size of dependencies. [packagephobia](https://packagephobia.now.sh/) is a great resource for determining if a package is lean. Try to minimize adding dependencies to the CLI.
|
|
95
|
+
- We build the CLI using `taskr` + `swc`, this is partially inspired by Next.js' local CLI.
|
|
96
|
+
- The build pipeline will inline the CLI version as an environment variable that is accessible anywhere in the CLI codebase. You can access it via `process.env.__EXPO_VERSION` instead of reading the local `package.json` at runtime.
|
|
97
|
+
- Unlike the legacy global Expo CLI, this CLI is shipped with `expo` meaning the SDK Version is always present.
|
|
98
|
+
- Reduce SDK specific tasks since only one SDK should be accounted for in a single version of `@expo/cli`.
|
|
99
|
+
- The `@expo/config` method `getConfig` does not need the `skipSDKVersionRequirement` in any case since `expo` should always be installed. Ex: `getConfig('...', { skipSDKVersionRequirement: true });` shouldn't be used.
|
|
100
|
+
- Also unlike the global Expo CLI we can assume that node modules are always installed since this CLI should be used via a project's local `node_modules` folder.
|
|
101
|
+
- This means we can't perform operations that upgrade the `expo` package as these may kill the running process. Features that need this pattern (like `expo upgrade`) should live in standalone global tools.
|
|
102
|
+
|
|
103
|
+
## Testing
|
|
104
|
+
|
|
105
|
+
There are two testing scripts:
|
|
106
|
+
|
|
107
|
+
- `yarn test`: Controlled unit and integration tests.
|
|
108
|
+
- `yarn test:e2e`: End to end testing for CLI commands. This requires the files to be built with `yarn build`
|
|
109
|
+
|
|
110
|
+
---
|
|
111
|
+
|
|
112
|
+
- You can target a specific set of tests with the `--watch` flag. Example: `yarn test --watch config`.
|
|
113
|
+
- We use backticks for `it` blocks. Example <code>it(`works`)</code>.
|
|
114
|
+
- If a pull request is fully self-contained to the `packages/@expo/cli/` folder (i.e. no `yarn.lock` modifications, etc.) then most native CI tests will be skipped, making CI pass faster in PRs.
|
|
115
|
+
|
|
116
|
+
### Unit Testing Guidelines
|
|
117
|
+
|
|
118
|
+
- Use `nock` for network requests.
|
|
119
|
+
- No top level `describe` blocks that wrap all the tests in a file.
|
|
120
|
+
- When testing a function, pass the function to the `describe` block instead of a stringified function name:
|
|
121
|
+
- `describe(foobar, () => {})` instead of `describe('foobar', () => {})`
|
|
122
|
+
- Use virtual `fs` via `memfs` whenever possible.
|
|
123
|
+
- We have a lot of global module [**mocks**](./e2e/setup.ts) already in place, consider them when writing tests.
|
|
124
|
+
- GitHub Copilot can make writing tests a little less tedious.
|
|
125
|
+
|
|
126
|
+
### E2E Testing Guidelines
|
|
127
|
+
|
|
128
|
+
- E2E tests should be resilient and reliable, be sure to give them plenty of time for network requests.
|
|
129
|
+
- When testing locally you should attempt to reuse node modules for faster results. In the `npx expo prebuild` and `npx expo start` commands for instance, we utilize a helper method that will default to reusing a project + node_modules when run locally. This can be [toggled off](https://github.com/expo/expo/blob/11a5a4d27b7e1c8e4d6ddf0401397d789d89f52a/packages/%40expo/cli/e2e/__tests__/utils.ts#L174) to bootstrap a fresh project every time.
|
|
130
|
+
- When bootstrapping test projects, utilize the temporary folder `os.tmpdir()` as this folder is automatically cleaned up when the computer restarts.
|
|
131
|
+
|
|
132
|
+
## Coming from Expo CLI
|
|
133
|
+
|
|
134
|
+
> TL;DR: `expo-cli` was 'make it work', whereas `@expo/cli` is 'make it right, make it fast'.
|
|
135
|
+
|
|
136
|
+
The legacy global `expo-cli` package was deprecated in favor of this versioned `@expo/cli` package for the following reasons:
|
|
137
|
+
|
|
138
|
+
- `expo-cli` was too big and took way too long to install. This made CI frustrating to set up since you needed to also target global node modules for caching.
|
|
139
|
+
- `expo-cli` worked for almost all versions of the `expo` package, meaning it was getting more complex with every release.
|
|
140
|
+
- `expo-cli` combined service commands (like the legacy `build`, `submit`, `publish`) with project-level commands like `expo start`. We've since divided services into `eas-cli` and project commands into `npx expo` (`@expo/cli`). This structure is more optimal/faster for developers since they can install/update commands when they need them.
|
|
141
|
+
- This CLI utilizes more Node.js standard features like `$EDITOR` instead of the custom `$EXPO_EDITOR` environment variable. Also transitioning away from `$EXPO_DEBUG` and more towards `$DEBUG=expo:*`. These types of changes make Expo CLI play nicer with existing tooling.
|
|
142
|
+
- The DevTools UI has been deprecated to reduce the net install size, minimize complexity, and make room for future debugging UIs (Hermes/v8 Chrome debugger).
|
|
143
|
+
- The `expo start:web` and `expo web` commands have been rolled into `npx expo start` as we now lazily load platforms until the device requests them.
|
|
144
|
+
- Other missing or beta features from `expo-cli` may still be getting migrated over to this new CLI. For a more comprehensive breakdown see the [start command PR](https://github.com/expo/expo/pull/16160).
|
package/build/bin/cli
ADDED
|
@@ -0,0 +1,260 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
"use strict";
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
function _arg() {
|
|
7
|
+
const data = /*#__PURE__*/ _interopRequireDefault(require("arg"));
|
|
8
|
+
_arg = function() {
|
|
9
|
+
return data;
|
|
10
|
+
};
|
|
11
|
+
return data;
|
|
12
|
+
}
|
|
13
|
+
function _chalk() {
|
|
14
|
+
const data = /*#__PURE__*/ _interopRequireDefault(require("chalk"));
|
|
15
|
+
_chalk = function() {
|
|
16
|
+
return data;
|
|
17
|
+
};
|
|
18
|
+
return data;
|
|
19
|
+
}
|
|
20
|
+
function _debug() {
|
|
21
|
+
const data = /*#__PURE__*/ _interopRequireDefault(require("debug"));
|
|
22
|
+
_debug = function() {
|
|
23
|
+
return data;
|
|
24
|
+
};
|
|
25
|
+
return data;
|
|
26
|
+
}
|
|
27
|
+
function _getenv() {
|
|
28
|
+
const data = require("getenv");
|
|
29
|
+
_getenv = function() {
|
|
30
|
+
return data;
|
|
31
|
+
};
|
|
32
|
+
return data;
|
|
33
|
+
}
|
|
34
|
+
function _interopRequireDefault(obj) {
|
|
35
|
+
return obj && obj.__esModule ? obj : {
|
|
36
|
+
default: obj
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
function _getRequireWildcardCache(nodeInterop) {
|
|
40
|
+
if (typeof WeakMap !== "function") return null;
|
|
41
|
+
var cacheBabelInterop = new WeakMap();
|
|
42
|
+
var cacheNodeInterop = new WeakMap();
|
|
43
|
+
return (_getRequireWildcardCache = function(nodeInterop) {
|
|
44
|
+
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
|
45
|
+
})(nodeInterop);
|
|
46
|
+
}
|
|
47
|
+
function _interopRequireWildcard(obj, nodeInterop) {
|
|
48
|
+
if (!nodeInterop && obj && obj.__esModule) {
|
|
49
|
+
return obj;
|
|
50
|
+
}
|
|
51
|
+
if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
|
|
52
|
+
return {
|
|
53
|
+
default: obj
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
var cache = _getRequireWildcardCache(nodeInterop);
|
|
57
|
+
if (cache && cache.has(obj)) {
|
|
58
|
+
return cache.get(obj);
|
|
59
|
+
}
|
|
60
|
+
var newObj = {};
|
|
61
|
+
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
62
|
+
for(var key in obj){
|
|
63
|
+
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
64
|
+
var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
|
|
65
|
+
if (desc && (desc.get || desc.set)) {
|
|
66
|
+
Object.defineProperty(newObj, key, desc);
|
|
67
|
+
} else {
|
|
68
|
+
newObj[key] = obj[key];
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
newObj.default = obj;
|
|
73
|
+
if (cache) {
|
|
74
|
+
cache.set(obj, newObj);
|
|
75
|
+
}
|
|
76
|
+
return newObj;
|
|
77
|
+
}
|
|
78
|
+
// Setup before requiring `debug`.
|
|
79
|
+
if ((0, _getenv().boolish)("EXPO_DEBUG", false)) {
|
|
80
|
+
_debug().default.enable("expo:*");
|
|
81
|
+
} else if (_debug().default.enabled("expo:")) {
|
|
82
|
+
process.env.EXPO_DEBUG = "1";
|
|
83
|
+
}
|
|
84
|
+
const defaultCmd = "start";
|
|
85
|
+
const commands = {
|
|
86
|
+
// Add a new command here
|
|
87
|
+
// NOTE(EvanBacon): Ensure every bundler-related command sets `NODE_ENV` as expected for the command.
|
|
88
|
+
run: ()=>Promise.resolve().then(()=>/*#__PURE__*/ _interopRequireWildcard(require("../src/run/index.js"))).then((i)=>i.expoRun),
|
|
89
|
+
"run:ios": ()=>Promise.resolve().then(()=>/*#__PURE__*/ _interopRequireWildcard(require("../src/run/ios/index.js"))).then((i)=>i.expoRunIos),
|
|
90
|
+
"run:android": ()=>Promise.resolve().then(()=>/*#__PURE__*/ _interopRequireWildcard(require("../src/run/android/index.js"))).then((i)=>i.expoRunAndroid),
|
|
91
|
+
start: ()=>Promise.resolve().then(()=>/*#__PURE__*/ _interopRequireWildcard(require("../src/start/index.js"))).then((i)=>i.expoStart),
|
|
92
|
+
prebuild: ()=>Promise.resolve().then(()=>/*#__PURE__*/ _interopRequireWildcard(require("../src/prebuild/index.js"))).then((i)=>i.expoPrebuild),
|
|
93
|
+
config: ()=>Promise.resolve().then(()=>/*#__PURE__*/ _interopRequireWildcard(require("../src/config/index.js"))).then((i)=>i.expoConfig),
|
|
94
|
+
export: ()=>Promise.resolve().then(()=>/*#__PURE__*/ _interopRequireWildcard(require("../src/export/index.js"))).then((i)=>i.expoExport),
|
|
95
|
+
"export:web": ()=>Promise.resolve().then(()=>/*#__PURE__*/ _interopRequireWildcard(require("../src/export/web/index.js"))).then((i)=>i.expoExportWeb),
|
|
96
|
+
"export:embed": ()=>Promise.resolve().then(()=>/*#__PURE__*/ _interopRequireWildcard(require("../src/export/embed/index.js"))).then((i)=>i.expoExportEmbed),
|
|
97
|
+
// Auxiliary commands
|
|
98
|
+
install: ()=>Promise.resolve().then(()=>/*#__PURE__*/ _interopRequireWildcard(require("../src/install/index.js"))).then((i)=>i.expoInstall),
|
|
99
|
+
add: ()=>Promise.resolve().then(()=>/*#__PURE__*/ _interopRequireWildcard(require("../src/install/index.js"))).then((i)=>i.expoInstall),
|
|
100
|
+
customize: ()=>Promise.resolve().then(()=>/*#__PURE__*/ _interopRequireWildcard(require("../src/customize/index.js"))).then((i)=>i.expoCustomize),
|
|
101
|
+
lint: ()=>Promise.resolve().then(()=>/*#__PURE__*/ _interopRequireWildcard(require("../src/lint/index.js"))).then((i)=>i.expoLint),
|
|
102
|
+
// Auth
|
|
103
|
+
login: ()=>Promise.resolve().then(()=>/*#__PURE__*/ _interopRequireWildcard(require("../src/login/index.js"))).then((i)=>i.expoLogin),
|
|
104
|
+
logout: ()=>Promise.resolve().then(()=>/*#__PURE__*/ _interopRequireWildcard(require("../src/logout/index.js"))).then((i)=>i.expoLogout),
|
|
105
|
+
register: ()=>Promise.resolve().then(()=>/*#__PURE__*/ _interopRequireWildcard(require("../src/register/index.js"))).then((i)=>i.expoRegister),
|
|
106
|
+
whoami: ()=>Promise.resolve().then(()=>/*#__PURE__*/ _interopRequireWildcard(require("../src/whoami/index.js"))).then((i)=>i.expoWhoami)
|
|
107
|
+
};
|
|
108
|
+
const args = (0, _arg().default)({
|
|
109
|
+
// Types
|
|
110
|
+
"--version": Boolean,
|
|
111
|
+
"--help": Boolean,
|
|
112
|
+
// NOTE(EvanBacon): This is here to silence warnings from processes that
|
|
113
|
+
// expect the global expo-cli.
|
|
114
|
+
"--non-interactive": Boolean,
|
|
115
|
+
// Aliases
|
|
116
|
+
"-v": "--version",
|
|
117
|
+
"-h": "--help"
|
|
118
|
+
}, {
|
|
119
|
+
permissive: true
|
|
120
|
+
});
|
|
121
|
+
if (args["--version"]) {
|
|
122
|
+
// Version is added in the build script.
|
|
123
|
+
console.log("0.0.0-bisect-20240612-0");
|
|
124
|
+
process.exit(0);
|
|
125
|
+
}
|
|
126
|
+
if (args["--non-interactive"]) {
|
|
127
|
+
console.warn(_chalk().default.yellow` {bold --non-interactive} is not supported, use {bold $CI=1} instead`);
|
|
128
|
+
}
|
|
129
|
+
// Check if we are running `npx expo <subcommand>` or `npx expo`
|
|
130
|
+
const isSubcommand = Boolean(commands[args._[0]]);
|
|
131
|
+
// Handle `--help` flag
|
|
132
|
+
if (!isSubcommand && args["--help"]) {
|
|
133
|
+
const { login , logout , whoami , register , start , install , add , export: _export , config , customize , prebuild , "run:ios": runIos , "run:android": runAndroid , // NOTE(EvanBacon): Don't document this command as it's a temporary
|
|
134
|
+
// workaround until we can use `expo export` for all production bundling.
|
|
135
|
+
// https://github.com/expo/expo/pull/21396/files#r1121025873
|
|
136
|
+
"export:embed": exportEmbed_unused , // The export:web command is deprecated. Hide it from the help prompt.
|
|
137
|
+
"export:web": exportWeb_unused , // Other ignored commands, these are intentially not listed in the `--help` output
|
|
138
|
+
run: _run , // NOTE(cedric): Still pending the migration to ESLint's flat config
|
|
139
|
+
lint: _lint , // All other commands
|
|
140
|
+
...others } = commands;
|
|
141
|
+
console.log((0, _chalk().default)`
|
|
142
|
+
{bold Usage}
|
|
143
|
+
{dim $} npx expo <command>
|
|
144
|
+
|
|
145
|
+
{bold Commands}
|
|
146
|
+
${Object.keys({
|
|
147
|
+
start,
|
|
148
|
+
export: _export,
|
|
149
|
+
...others
|
|
150
|
+
}).join(", ")}
|
|
151
|
+
${Object.keys({
|
|
152
|
+
"run:ios": runIos,
|
|
153
|
+
"run:android": runAndroid,
|
|
154
|
+
prebuild
|
|
155
|
+
}).join(", ")}
|
|
156
|
+
${Object.keys({
|
|
157
|
+
install,
|
|
158
|
+
customize,
|
|
159
|
+
config
|
|
160
|
+
}).join(", ")}
|
|
161
|
+
{dim ${Object.keys({
|
|
162
|
+
login,
|
|
163
|
+
logout,
|
|
164
|
+
whoami,
|
|
165
|
+
register
|
|
166
|
+
}).join(", ")}}
|
|
167
|
+
|
|
168
|
+
{bold Options}
|
|
169
|
+
--version, -v Version number
|
|
170
|
+
--help, -h Usage info
|
|
171
|
+
|
|
172
|
+
For more info run a command with the {bold --help} flag
|
|
173
|
+
{dim $} npx expo start --help
|
|
174
|
+
`);
|
|
175
|
+
process.exit(0);
|
|
176
|
+
}
|
|
177
|
+
// NOTE(EvanBacon): Squat some directory names to help with migration,
|
|
178
|
+
// users can still use folders named "send" or "eject" by using the fully qualified `npx expo start ./send`.
|
|
179
|
+
if (!isSubcommand) {
|
|
180
|
+
const migrationMap = {
|
|
181
|
+
init: "npx create-expo-app",
|
|
182
|
+
eject: "npx expo prebuild",
|
|
183
|
+
web: "npx expo start --web",
|
|
184
|
+
"start:web": "npx expo start --web",
|
|
185
|
+
"build:ios": "eas build -p ios",
|
|
186
|
+
"build:android": "eas build -p android",
|
|
187
|
+
"client:install:ios": "npx expo start --ios",
|
|
188
|
+
"client:install:android": "npx expo start --android",
|
|
189
|
+
doctor: "npx expo-doctor",
|
|
190
|
+
upgrade: "https://docs.expo.dev/workflow/upgrading-expo-sdk-walkthrough/",
|
|
191
|
+
"customize:web": "npx expo customize",
|
|
192
|
+
publish: "eas update",
|
|
193
|
+
"publish:set": "eas update",
|
|
194
|
+
"publish:rollback": "eas update",
|
|
195
|
+
"publish:history": "eas update",
|
|
196
|
+
"publish:details": "eas update",
|
|
197
|
+
"build:web": "npx expo export:web",
|
|
198
|
+
"credentials:manager": `eas credentials`,
|
|
199
|
+
"fetch:ios:certs": `eas credentials`,
|
|
200
|
+
"fetch:android:keystore": `eas credentials`,
|
|
201
|
+
"fetch:android:hashes": `eas credentials`,
|
|
202
|
+
"fetch:android:upload-cert": `eas credentials`,
|
|
203
|
+
"push:android:upload": `eas credentials`,
|
|
204
|
+
"push:android:show": `eas credentials`,
|
|
205
|
+
"push:android:clear": `eas credentials`,
|
|
206
|
+
url: `eas build:list`,
|
|
207
|
+
"url:ipa": `eas build:list`,
|
|
208
|
+
"url:apk": `eas build:list`,
|
|
209
|
+
webhooks: `eas webhook`,
|
|
210
|
+
"webhooks:add": `eas webhook:create`,
|
|
211
|
+
"webhooks:remove": `eas webhook:delete`,
|
|
212
|
+
"webhooks:update": `eas webhook:update`,
|
|
213
|
+
"build:status": `eas build:list`,
|
|
214
|
+
"upload:android": `eas submit -p android`,
|
|
215
|
+
"upload:ios": `eas submit -p ios`
|
|
216
|
+
};
|
|
217
|
+
// TODO: Log telemetry about invalid command used.
|
|
218
|
+
const subcommand = args._[0];
|
|
219
|
+
if (subcommand in migrationMap) {
|
|
220
|
+
const replacement = migrationMap[subcommand];
|
|
221
|
+
console.log();
|
|
222
|
+
const instruction = subcommand === "upgrade" ? "follow this guide" : "use";
|
|
223
|
+
console.log(_chalk().default.yellow` {gray $} {bold expo ${subcommand}} is not supported in the local CLI, please ${instruction} {bold ${replacement}} instead`);
|
|
224
|
+
console.log();
|
|
225
|
+
process.exit(1);
|
|
226
|
+
}
|
|
227
|
+
const deprecated = [
|
|
228
|
+
"send",
|
|
229
|
+
"client:ios"
|
|
230
|
+
];
|
|
231
|
+
if (deprecated.includes(subcommand)) {
|
|
232
|
+
console.log();
|
|
233
|
+
console.log(_chalk().default.yellow` {gray $} {bold expo ${subcommand}} is deprecated`);
|
|
234
|
+
console.log();
|
|
235
|
+
process.exit(1);
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
const command = isSubcommand ? args._[0] : defaultCmd;
|
|
239
|
+
const commandArgs = isSubcommand ? args._.slice(1) : args._;
|
|
240
|
+
// Push the help flag to the subcommand args.
|
|
241
|
+
if (args["--help"]) {
|
|
242
|
+
commandArgs.push("--help");
|
|
243
|
+
}
|
|
244
|
+
// Install exit hooks
|
|
245
|
+
process.on("SIGINT", ()=>process.exit(0));
|
|
246
|
+
process.on("SIGTERM", ()=>process.exit(0));
|
|
247
|
+
commands[command]().then((exec)=>{
|
|
248
|
+
exec(commandArgs);
|
|
249
|
+
if (!(0, _getenv().boolish)("EXPO_NO_TELEMETRY", false)) {
|
|
250
|
+
// NOTE(EvanBacon): Track some basic telemetry events indicating the command
|
|
251
|
+
// that was run. This can be disabled with the $EXPO_NO_TELEMETRY environment variable.
|
|
252
|
+
// We do this to determine how well deprecations are going before removing a command.
|
|
253
|
+
const { logEventAsync } = require("../src/utils/telemetry");
|
|
254
|
+
logEventAsync("action", {
|
|
255
|
+
action: `expo ${command}`
|
|
256
|
+
});
|
|
257
|
+
}
|
|
258
|
+
});
|
|
259
|
+
|
|
260
|
+
//# sourceMappingURL=cli.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../bin/cli.ts"],"sourcesContent":["#!/usr/bin/env node\nimport arg from 'arg';\nimport chalk from 'chalk';\nimport Debug from 'debug';\nimport { boolish } from 'getenv';\n\n// Setup before requiring `debug`.\nif (boolish('EXPO_DEBUG', false)) {\n Debug.enable('expo:*');\n} else if (Debug.enabled('expo:')) {\n process.env.EXPO_DEBUG = '1';\n}\n\nconst defaultCmd = 'start';\n\nexport type Command = (argv?: string[]) => void;\n\nconst commands: { [command: string]: () => Promise<Command> } = {\n // Add a new command here\n // NOTE(EvanBacon): Ensure every bundler-related command sets `NODE_ENV` as expected for the command.\n run: () => import('../src/run/index.js').then((i) => i.expoRun),\n 'run:ios': () => import('../src/run/ios/index.js').then((i) => i.expoRunIos),\n 'run:android': () => import('../src/run/android/index.js').then((i) => i.expoRunAndroid),\n start: () => import('../src/start/index.js').then((i) => i.expoStart),\n prebuild: () => import('../src/prebuild/index.js').then((i) => i.expoPrebuild),\n config: () => import('../src/config/index.js').then((i) => i.expoConfig),\n export: () => import('../src/export/index.js').then((i) => i.expoExport),\n 'export:web': () => import('../src/export/web/index.js').then((i) => i.expoExportWeb),\n 'export:embed': () => import('../src/export/embed/index.js').then((i) => i.expoExportEmbed),\n\n // Auxiliary commands\n install: () => import('../src/install/index.js').then((i) => i.expoInstall),\n add: () => import('../src/install/index.js').then((i) => i.expoInstall),\n customize: () => import('../src/customize/index.js').then((i) => i.expoCustomize),\n lint: () => import('../src/lint/index.js').then((i) => i.expoLint),\n\n // Auth\n login: () => import('../src/login/index.js').then((i) => i.expoLogin),\n logout: () => import('../src/logout/index.js').then((i) => i.expoLogout),\n register: () => import('../src/register/index.js').then((i) => i.expoRegister),\n whoami: () => import('../src/whoami/index.js').then((i) => i.expoWhoami),\n};\n\nconst args = arg(\n {\n // Types\n '--version': Boolean,\n '--help': Boolean,\n // NOTE(EvanBacon): This is here to silence warnings from processes that\n // expect the global expo-cli.\n '--non-interactive': Boolean,\n\n // Aliases\n '-v': '--version',\n '-h': '--help',\n },\n {\n permissive: true,\n }\n);\n\nif (args['--version']) {\n // Version is added in the build script.\n console.log(process.env.__EXPO_VERSION);\n process.exit(0);\n}\n\nif (args['--non-interactive']) {\n console.warn(chalk.yellow` {bold --non-interactive} is not supported, use {bold $CI=1} instead`);\n}\n\n// Check if we are running `npx expo <subcommand>` or `npx expo`\nconst isSubcommand = Boolean(commands[args._[0]]);\n\n// Handle `--help` flag\nif (!isSubcommand && args['--help']) {\n const {\n login,\n logout,\n whoami,\n register,\n start,\n install,\n add,\n export: _export,\n config,\n customize,\n prebuild,\n 'run:ios': runIos,\n 'run:android': runAndroid,\n // NOTE(EvanBacon): Don't document this command as it's a temporary\n // workaround until we can use `expo export` for all production bundling.\n // https://github.com/expo/expo/pull/21396/files#r1121025873\n 'export:embed': exportEmbed_unused,\n // The export:web command is deprecated. Hide it from the help prompt.\n 'export:web': exportWeb_unused,\n // Other ignored commands, these are intentially not listed in the `--help` output\n run: _run,\n // NOTE(cedric): Still pending the migration to ESLint's flat config\n lint: _lint,\n // All other commands\n ...others\n } = commands;\n\n console.log(chalk`\n {bold Usage}\n {dim $} npx expo <command>\n\n {bold Commands}\n ${Object.keys({ start, export: _export, ...others }).join(', ')}\n ${Object.keys({ 'run:ios': runIos, 'run:android': runAndroid, prebuild }).join(', ')}\n ${Object.keys({ install, customize, config }).join(', ')}\n {dim ${Object.keys({ login, logout, whoami, register }).join(', ')}}\n\n {bold Options}\n --version, -v Version number\n --help, -h Usage info\n\n For more info run a command with the {bold --help} flag\n {dim $} npx expo start --help\n`);\n\n process.exit(0);\n}\n\n// NOTE(EvanBacon): Squat some directory names to help with migration,\n// users can still use folders named \"send\" or \"eject\" by using the fully qualified `npx expo start ./send`.\nif (!isSubcommand) {\n const migrationMap: Record<string, string> = {\n init: 'npx create-expo-app',\n eject: 'npx expo prebuild',\n web: 'npx expo start --web',\n 'start:web': 'npx expo start --web',\n 'build:ios': 'eas build -p ios',\n 'build:android': 'eas build -p android',\n 'client:install:ios': 'npx expo start --ios',\n 'client:install:android': 'npx expo start --android',\n doctor: 'npx expo-doctor',\n upgrade: 'https://docs.expo.dev/workflow/upgrading-expo-sdk-walkthrough/',\n 'customize:web': 'npx expo customize',\n\n publish: 'eas update',\n 'publish:set': 'eas update',\n 'publish:rollback': 'eas update',\n 'publish:history': 'eas update',\n 'publish:details': 'eas update',\n\n 'build:web': 'npx expo export:web',\n\n 'credentials:manager': `eas credentials`,\n 'fetch:ios:certs': `eas credentials`,\n 'fetch:android:keystore': `eas credentials`,\n 'fetch:android:hashes': `eas credentials`,\n 'fetch:android:upload-cert': `eas credentials`,\n 'push:android:upload': `eas credentials`,\n 'push:android:show': `eas credentials`,\n 'push:android:clear': `eas credentials`,\n url: `eas build:list`,\n 'url:ipa': `eas build:list`,\n 'url:apk': `eas build:list`,\n webhooks: `eas webhook`,\n 'webhooks:add': `eas webhook:create`,\n 'webhooks:remove': `eas webhook:delete`,\n 'webhooks:update': `eas webhook:update`,\n\n 'build:status': `eas build:list`,\n 'upload:android': `eas submit -p android`,\n 'upload:ios': `eas submit -p ios`,\n };\n\n // TODO: Log telemetry about invalid command used.\n const subcommand = args._[0];\n if (subcommand in migrationMap) {\n const replacement = migrationMap[subcommand];\n console.log();\n const instruction = subcommand === 'upgrade' ? 'follow this guide' : 'use'\n console.log(\n chalk.yellow` {gray $} {bold expo ${subcommand}} is not supported in the local CLI, please ${instruction} {bold ${replacement}} instead`\n );\n console.log();\n process.exit(1);\n }\n const deprecated = ['send', 'client:ios'];\n if (deprecated.includes(subcommand)) {\n console.log();\n console.log(chalk.yellow` {gray $} {bold expo ${subcommand}} is deprecated`);\n console.log();\n process.exit(1);\n }\n}\n\nconst command = isSubcommand ? args._[0] : defaultCmd;\nconst commandArgs = isSubcommand ? args._.slice(1) : args._;\n\n// Push the help flag to the subcommand args.\nif (args['--help']) {\n commandArgs.push('--help');\n}\n\n// Install exit hooks\nprocess.on('SIGINT', () => process.exit(0));\nprocess.on('SIGTERM', () => process.exit(0));\n\ncommands[command]().then((exec) => {\n exec(commandArgs);\n\n if (!boolish('EXPO_NO_TELEMETRY', false)) {\n // NOTE(EvanBacon): Track some basic telemetry events indicating the command\n // that was run. This can be disabled with the $EXPO_NO_TELEMETRY environment variable.\n // We do this to determine how well deprecations are going before removing a command.\n const { logEventAsync } =\n require('../src/utils/telemetry') as typeof import('../src/utils/telemetry');\n logEventAsync('action', { action: `expo ${command}` });\n }\n});\n"],"names":["boolish","Debug","enable","enabled","process","env","EXPO_DEBUG","defaultCmd","commands","run","then","i","expoRun","expoRunIos","expoRunAndroid","start","expoStart","prebuild","expoPrebuild","config","expoConfig","export","expoExport","expoExportWeb","expoExportEmbed","install","expoInstall","add","customize","expoCustomize","lint","expoLint","login","expoLogin","logout","expoLogout","register","expoRegister","whoami","expoWhoami","args","arg","Boolean","permissive","console","log","__EXPO_VERSION","exit","warn","chalk","yellow","isSubcommand","_","_export","runIos","runAndroid","exportEmbed_unused","exportWeb_unused","_run","_lint","others","Object","keys","join","migrationMap","init","eject","web","doctor","upgrade","publish","url","webhooks","subcommand","replacement","instruction","deprecated","includes","command","commandArgs","slice","push","on","exec","logEventAsync","require","action"],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
function _export(target, all) {
|
|
6
|
+
for(var name in all)Object.defineProperty(target, name, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: all[name]
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
_export(exports, {
|
|
12
|
+
getExpoApiBaseUrl: ()=>getExpoApiBaseUrl,
|
|
13
|
+
getExpoWebsiteBaseUrl: ()=>getExpoWebsiteBaseUrl
|
|
14
|
+
});
|
|
15
|
+
const _env = require("../utils/env");
|
|
16
|
+
function getExpoApiBaseUrl() {
|
|
17
|
+
if (_env.env.EXPO_STAGING) {
|
|
18
|
+
return `https://staging-api.expo.dev`;
|
|
19
|
+
} else if (_env.env.EXPO_LOCAL) {
|
|
20
|
+
return `http://127.0.0.1:3000`;
|
|
21
|
+
} else {
|
|
22
|
+
return `https://api.expo.dev`;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
function getExpoWebsiteBaseUrl() {
|
|
26
|
+
if (_env.env.EXPO_STAGING) {
|
|
27
|
+
return `https://staging.expo.dev`;
|
|
28
|
+
} else if (_env.env.EXPO_LOCAL) {
|
|
29
|
+
return `http://127.0.0.1:3001`;
|
|
30
|
+
} else {
|
|
31
|
+
return `https://expo.dev`;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
//# sourceMappingURL=endpoint.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/api/endpoint.ts"],"sourcesContent":["import { env } from '../utils/env';\n\n/** Get the URL for the expo.dev API. */\nexport function getExpoApiBaseUrl(): string {\n if (env.EXPO_STAGING) {\n return `https://staging-api.expo.dev`;\n } else if (env.EXPO_LOCAL) {\n return `http://127.0.0.1:3000`;\n } else {\n return `https://api.expo.dev`;\n }\n}\n\n/** Get the URL for the expo.dev website. */\nexport function getExpoWebsiteBaseUrl(): string {\n if (env.EXPO_STAGING) {\n return `https://staging.expo.dev`;\n } else if (env.EXPO_LOCAL) {\n return `http://127.0.0.1:3001`;\n } else {\n return `https://expo.dev`;\n }\n}\n"],"names":["getExpoApiBaseUrl","getExpoWebsiteBaseUrl","env","EXPO_STAGING","EXPO_LOCAL"],"mappings":"AAAA;;;;;;;;;;;IAGgBA,iBAAiB,MAAjBA,iBAAiB;IAWjBC,qBAAqB,MAArBA,qBAAqB;;qBAdjB,cAAc;AAG3B,SAASD,iBAAiB,GAAW;IAC1C,IAAIE,IAAG,IAAA,CAACC,YAAY,EAAE;QACpB,OAAO,CAAC,4BAA4B,CAAC,CAAC;IACxC,OAAO,IAAID,IAAG,IAAA,CAACE,UAAU,EAAE;QACzB,OAAO,CAAC,qBAAqB,CAAC,CAAC;IACjC,OAAO;QACL,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAChC,CAAC;AACH,CAAC;AAGM,SAASH,qBAAqB,GAAW;IAC9C,IAAIC,IAAG,IAAA,CAACC,YAAY,EAAE;QACpB,OAAO,CAAC,wBAAwB,CAAC,CAAC;IACpC,OAAO,IAAID,IAAG,IAAA,CAACE,UAAU,EAAE;QACzB,OAAO,CAAC,qBAAqB,CAAC,CAAC;IACjC,OAAO;QACL,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC5B,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "getExpoGoIntermediateCertificateAsync", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: ()=>getExpoGoIntermediateCertificateAsync
|
|
8
|
+
});
|
|
9
|
+
const _client = require("./rest/client");
|
|
10
|
+
const _errors = require("../utils/errors");
|
|
11
|
+
async function getExpoGoIntermediateCertificateAsync(easProjectId) {
|
|
12
|
+
const response = await (0, _client.fetchAsync)(`projects/${encodeURIComponent(easProjectId)}/development-certificates/expo-go-intermediate-certificate`, {
|
|
13
|
+
method: "GET"
|
|
14
|
+
});
|
|
15
|
+
if (!response.ok) {
|
|
16
|
+
throw new _errors.CommandError("API", `Unexpected error from Expo servers: ${response.statusText}.`);
|
|
17
|
+
}
|
|
18
|
+
const buffer = await response.buffer();
|
|
19
|
+
return buffer.toString("utf8");
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
//# sourceMappingURL=getExpoGoIntermediateCertificate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/api/getExpoGoIntermediateCertificate.ts"],"sourcesContent":["import { fetchAsync } from './rest/client';\nimport { CommandError } from '../utils/errors';\n\nexport async function getExpoGoIntermediateCertificateAsync(easProjectId: string): Promise<string> {\n const response = await fetchAsync(\n `projects/${encodeURIComponent(\n easProjectId\n )}/development-certificates/expo-go-intermediate-certificate`,\n {\n method: 'GET',\n }\n );\n if (!response.ok) {\n throw new CommandError('API', `Unexpected error from Expo servers: ${response.statusText}.`);\n }\n const buffer = await response.buffer();\n return buffer.toString('utf8');\n}\n"],"names":["getExpoGoIntermediateCertificateAsync","easProjectId","response","fetchAsync","encodeURIComponent","method","ok","CommandError","statusText","buffer","toString"],"mappings":"AAAA;;;;+BAGsBA,uCAAqC;;aAArCA,qCAAqC;;wBAHhC,eAAe;wBACb,iBAAiB;AAEvC,eAAeA,qCAAqC,CAACC,YAAoB,EAAmB;IACjG,MAAMC,QAAQ,GAAG,MAAMC,IAAAA,OAAU,WAAA,EAC/B,CAAC,SAAS,EAAEC,kBAAkB,CAC5BH,YAAY,CACb,CAAC,0DAA0D,CAAC,EAC7D;QACEI,MAAM,EAAE,KAAK;KACd,CACF,AAAC;IACF,IAAI,CAACH,QAAQ,CAACI,EAAE,EAAE;QAChB,MAAM,IAAIC,OAAY,aAAA,CAAC,KAAK,EAAE,CAAC,oCAAoC,EAAEL,QAAQ,CAACM,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/F,CAAC;IACD,MAAMC,MAAM,GAAG,MAAMP,QAAQ,CAACO,MAAM,EAAE,AAAC;IACvC,OAAOA,MAAM,CAACC,QAAQ,CAAC,MAAM,CAAC,CAAC;AACjC,CAAC"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "getAssetSchemasAsync", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: ()=>getAssetSchemasAsync
|
|
8
|
+
});
|
|
9
|
+
function _fs() {
|
|
10
|
+
const data = /*#__PURE__*/ _interopRequireDefault(require("fs"));
|
|
11
|
+
_fs = function() {
|
|
12
|
+
return data;
|
|
13
|
+
};
|
|
14
|
+
return data;
|
|
15
|
+
}
|
|
16
|
+
function _jsonSchemaDerefSync() {
|
|
17
|
+
const data = /*#__PURE__*/ _interopRequireDefault(require("json-schema-deref-sync"));
|
|
18
|
+
_jsonSchemaDerefSync = function() {
|
|
19
|
+
return data;
|
|
20
|
+
};
|
|
21
|
+
return data;
|
|
22
|
+
}
|
|
23
|
+
function _path() {
|
|
24
|
+
const data = /*#__PURE__*/ _interopRequireDefault(require("path"));
|
|
25
|
+
_path = function() {
|
|
26
|
+
return data;
|
|
27
|
+
};
|
|
28
|
+
return data;
|
|
29
|
+
}
|
|
30
|
+
const _client = require("./rest/client");
|
|
31
|
+
const _env = require("../utils/env");
|
|
32
|
+
const _errors = require("../utils/errors");
|
|
33
|
+
function _interopRequireDefault(obj) {
|
|
34
|
+
return obj && obj.__esModule ? obj : {
|
|
35
|
+
default: obj
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
const schemaJson = {};
|
|
39
|
+
// TODO: Maybe move json-schema-deref-sync out of api (1.58MB -- lodash)
|
|
40
|
+
// https://packagephobia.com/result?p=json-schema-deref-sync
|
|
41
|
+
async function getSchemaAsync(sdkVersion) {
|
|
42
|
+
const json = await getSchemaJSONAsync(sdkVersion);
|
|
43
|
+
return (0, _jsonSchemaDerefSync().default)(json.schema);
|
|
44
|
+
}
|
|
45
|
+
async function getAssetSchemasAsync(sdkVersion = "UNVERSIONED") {
|
|
46
|
+
// If no SDK version is available then fall back to unversioned
|
|
47
|
+
const schema = await getSchemaAsync(sdkVersion);
|
|
48
|
+
const assetSchemas = [];
|
|
49
|
+
const visit = (node, fieldPath)=>{
|
|
50
|
+
if (node.meta && node.meta.asset) {
|
|
51
|
+
assetSchemas.push(fieldPath);
|
|
52
|
+
}
|
|
53
|
+
const properties = node.properties;
|
|
54
|
+
if (properties) {
|
|
55
|
+
Object.keys(properties).forEach((property)=>visit(properties[property], `${fieldPath}${fieldPath.length > 0 ? "." : ""}${property}`));
|
|
56
|
+
}
|
|
57
|
+
};
|
|
58
|
+
visit(schema, "");
|
|
59
|
+
return assetSchemas;
|
|
60
|
+
}
|
|
61
|
+
async function getSchemaJSONAsync(sdkVersion) {
|
|
62
|
+
if (_env.env.EXPO_UNIVERSE_DIR) {
|
|
63
|
+
return JSON.parse(_fs().default.readFileSync(_path().default.join(_env.env.EXPO_UNIVERSE_DIR, "server", "www", "xdl-schemas", "UNVERSIONED-schema.json")).toString());
|
|
64
|
+
}
|
|
65
|
+
if (!schemaJson[sdkVersion]) {
|
|
66
|
+
try {
|
|
67
|
+
schemaJson[sdkVersion] = await getConfigurationSchemaAsync(sdkVersion);
|
|
68
|
+
} catch (e) {
|
|
69
|
+
if (e.code === "INVALID_JSON") {
|
|
70
|
+
throw new _errors.CommandError("INVALID_JSON", `Couldn't read schema from server`);
|
|
71
|
+
}
|
|
72
|
+
throw e;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
return schemaJson[sdkVersion];
|
|
76
|
+
}
|
|
77
|
+
async function getConfigurationSchemaAsync(sdkVersion) {
|
|
78
|
+
// Reconstruct the cached fetch since caching could be disabled.
|
|
79
|
+
const fetchAsync = (0, _client.createCachedFetch)({
|
|
80
|
+
cacheDirectory: "schema-cache",
|
|
81
|
+
// We'll use a 1 week cache for versions so older versions get flushed out eventually.
|
|
82
|
+
ttl: 1000 * 60 * 60 * 24 * 7
|
|
83
|
+
});
|
|
84
|
+
const response = await fetchAsync(`project/configuration/schema/${sdkVersion}`);
|
|
85
|
+
const { data } = await response.json();
|
|
86
|
+
return data;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
//# sourceMappingURL=getExpoSchema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/api/getExpoSchema.ts"],"sourcesContent":["import { JSONObject } from '@expo/json-file';\nimport fs from 'fs';\nimport schemaDerefSync from 'json-schema-deref-sync';\nimport path from 'path';\n\nimport { createCachedFetch } from './rest/client';\nimport { env } from '../utils/env';\nimport { CommandError } from '../utils/errors';\n\nexport type Schema = any;\n\nexport type AssetSchema = {\n fieldPath: string;\n};\n\nconst schemaJson: { [sdkVersion: string]: Schema } = {};\n\n// TODO: Maybe move json-schema-deref-sync out of api (1.58MB -- lodash)\n// https://packagephobia.com/result?p=json-schema-deref-sync\nasync function getSchemaAsync(sdkVersion: string): Promise<Schema> {\n const json = await getSchemaJSONAsync(sdkVersion);\n return schemaDerefSync(json.schema);\n}\n\n/**\n * Array of schema nodes that refer to assets along with their field path (eg. 'notification.icon')\n *\n * @param sdkVersion\n */\nexport async function getAssetSchemasAsync(sdkVersion: string = 'UNVERSIONED'): Promise<string[]> {\n // If no SDK version is available then fall back to unversioned\n const schema = await getSchemaAsync(sdkVersion);\n const assetSchemas: string[] = [];\n const visit = (node: Schema, fieldPath: string) => {\n if (node.meta && node.meta.asset) {\n assetSchemas.push(fieldPath);\n }\n const properties = node.properties;\n if (properties) {\n Object.keys(properties).forEach((property) =>\n visit(properties[property], `${fieldPath}${fieldPath.length > 0 ? '.' : ''}${property}`)\n );\n }\n };\n visit(schema, '');\n\n return assetSchemas;\n}\n\nasync function getSchemaJSONAsync(sdkVersion: string): Promise<{ schema: Schema }> {\n if (env.EXPO_UNIVERSE_DIR) {\n return JSON.parse(\n fs\n .readFileSync(\n path.join(\n env.EXPO_UNIVERSE_DIR,\n 'server',\n 'www',\n 'xdl-schemas',\n 'UNVERSIONED-schema.json'\n )\n )\n .toString()\n );\n }\n\n if (!schemaJson[sdkVersion]) {\n try {\n schemaJson[sdkVersion] = await getConfigurationSchemaAsync(sdkVersion);\n } catch (e: any) {\n if (e.code === 'INVALID_JSON') {\n throw new CommandError('INVALID_JSON', `Couldn't read schema from server`);\n }\n\n throw e;\n }\n }\n\n return schemaJson[sdkVersion];\n}\n\nasync function getConfigurationSchemaAsync(sdkVersion: string): Promise<JSONObject> {\n // Reconstruct the cached fetch since caching could be disabled.\n const fetchAsync = createCachedFetch({\n cacheDirectory: 'schema-cache',\n // We'll use a 1 week cache for versions so older versions get flushed out eventually.\n ttl: 1000 * 60 * 60 * 24 * 7,\n });\n const response = await fetchAsync(`project/configuration/schema/${sdkVersion}`);\n const { data } = await response.json();\n return data;\n}\n"],"names":["getAssetSchemasAsync","schemaJson","getSchemaAsync","sdkVersion","json","getSchemaJSONAsync","schemaDerefSync","schema","assetSchemas","visit","node","fieldPath","meta","asset","push","properties","Object","keys","forEach","property","length","env","EXPO_UNIVERSE_DIR","JSON","parse","fs","readFileSync","path","join","toString","getConfigurationSchemaAsync","e","code","CommandError","fetchAsync","createCachedFetch","cacheDirectory","ttl","response","data"],"mappings":"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"}
|