@expo/cli 0.0.0 → 0.1.2
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 +106 -0
- package/build/bin/cli +152 -0
- package/build/bin/cli.map +1 -0
- package/build/src/api/endpoint.js +17 -0
- package/build/src/api/endpoint.js.map +1 -0
- package/build/src/api/getExpoGoIntermediateCertificate.js +21 -0
- package/build/src/api/getExpoGoIntermediateCertificate.js.map +1 -0
- package/build/src/api/getExpoSchema.js +69 -0
- package/build/src/api/getExpoSchema.js.map +1 -0
- package/build/src/api/getNativeModuleVersions.js +31 -0
- package/build/src/api/getNativeModuleVersions.js.map +1 -0
- package/build/src/api/getProject.js +19 -0
- package/build/src/api/getProject.js.map +1 -0
- package/build/src/api/getProjectDevelopmentCertificate.js +24 -0
- package/build/src/api/getProjectDevelopmentCertificate.js.map +1 -0
- package/build/src/api/getVersions.js +37 -0
- package/build/src/api/getVersions.js.map +1 -0
- package/build/src/api/graphql/client.js +104 -0
- package/build/src/api/graphql/client.js.map +1 -0
- package/build/src/api/graphql/generated.js +113 -0
- package/build/src/api/graphql/generated.js.map +1 -0
- package/build/src/api/graphql/queries/UserQuery.js +43 -0
- package/build/src/api/graphql/queries/UserQuery.js.map +1 -0
- package/build/src/api/rest/cache/FileSystemCache.js +79 -0
- package/build/src/api/rest/cache/FileSystemCache.js.map +1 -0
- package/build/src/api/rest/cache/response.js +31 -0
- package/build/src/api/rest/cache/response.js.map +1 -0
- package/build/src/api/rest/cache/wrapFetchWithCache.js +156 -0
- package/build/src/api/rest/cache/wrapFetchWithCache.js.map +1 -0
- package/build/src/api/rest/client.js +94 -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 +20 -0
- package/build/src/api/rest/wrapFetchWithBaseUrl.js.map +1 -0
- package/build/src/api/rest/wrapFetchWithOffline.js +39 -0
- package/build/src/api/rest/wrapFetchWithOffline.js.map +1 -0
- package/build/src/api/rest/wrapFetchWithProgress.js +59 -0
- package/build/src/api/rest/wrapFetchWithProgress.js.map +1 -0
- package/build/src/api/settings.js +11 -0
- package/build/src/api/settings.js.map +1 -0
- package/build/src/api/signManifest.js +38 -0
- package/build/src/api/signManifest.js.map +1 -0
- package/build/src/api/updateDevelopmentSession.js +74 -0
- package/build/src/api/updateDevelopmentSession.js.map +1 -0
- package/build/src/api/user/UserSettings.js +71 -0
- package/build/src/api/user/UserSettings.js.map +1 -0
- package/build/src/api/user/actions.js +97 -0
- package/build/src/api/user/actions.js.map +1 -0
- package/build/src/api/user/otp.js +139 -0
- package/build/src/api/user/otp.js.map +1 -0
- package/build/src/api/user/user.js +114 -0
- package/build/src/api/user/user.js.map +1 -0
- package/build/src/config/configAsync.js +118 -0
- package/build/src/config/configAsync.js.map +1 -0
- package/build/src/config/index.js +75 -0
- package/build/src/config/index.js.map +1 -0
- package/build/src/export/createBundles.js +62 -0
- package/build/src/export/createBundles.js.map +1 -0
- package/build/src/export/createMetadataJson.js +36 -0
- package/build/src/export/createMetadataJson.js.map +1 -0
- package/build/src/export/exportApp.js +102 -0
- package/build/src/export/exportApp.js.map +1 -0
- package/build/src/export/exportAssets.js +106 -0
- package/build/src/export/exportAssets.js.map +1 -0
- package/build/src/export/exportAsync.js +49 -0
- package/build/src/export/exportAsync.js.map +1 -0
- package/build/src/export/fork-bundleAsync.js +138 -0
- package/build/src/export/fork-bundleAsync.js.map +1 -0
- package/build/src/export/getPublicExpoManifest.js +28 -0
- package/build/src/export/getPublicExpoManifest.js.map +1 -0
- package/build/src/export/getResolvedLocales.js +35 -0
- package/build/src/export/getResolvedLocales.js.map +1 -0
- package/build/src/export/index.js +77 -0
- package/build/src/export/index.js.map +1 -0
- package/build/src/export/printBundleSizes.js +122 -0
- package/build/src/export/printBundleSizes.js.map +1 -0
- package/build/src/export/resolveOptions.js +24 -0
- package/build/src/export/resolveOptions.js.map +1 -0
- package/build/src/export/saveAssets.js +65 -0
- package/build/src/export/saveAssets.js.map +1 -0
- package/build/src/export/writeContents.js +108 -0
- package/build/src/export/writeContents.js.map +1 -0
- package/build/src/install/checkPackages.js +74 -0
- package/build/src/install/checkPackages.js.map +1 -0
- package/build/src/install/index.js +49 -0
- package/build/src/install/index.js.map +1 -0
- package/build/src/install/installAsync.js +103 -0
- package/build/src/install/installAsync.js.map +1 -0
- package/build/src/install/resolveOptions.js +99 -0
- package/build/src/install/resolveOptions.js.map +1 -0
- package/build/src/install/utils/autoAddConfigPlugins.js +87 -0
- package/build/src/install/utils/autoAddConfigPlugins.js.map +1 -0
- package/build/src/log.js +74 -0
- package/build/src/log.js.map +1 -0
- package/build/src/login/index.js +62 -0
- package/build/src/login/index.js.map +1 -0
- package/build/src/logout/index.js +48 -0
- package/build/src/logout/index.js.map +1 -0
- package/build/src/prebuild/clearNativeFolder.js +137 -0
- package/build/src/prebuild/clearNativeFolder.js.map +1 -0
- package/build/src/prebuild/configureProjectAsync.js +68 -0
- package/build/src/prebuild/configureProjectAsync.js.map +1 -0
- package/build/src/prebuild/copyTemplateFiles.js +124 -0
- package/build/src/prebuild/copyTemplateFiles.js.map +1 -0
- package/build/src/prebuild/ensureConfigAsync.js +86 -0
- package/build/src/prebuild/ensureConfigAsync.js.map +1 -0
- package/build/src/prebuild/index.js +90 -0
- package/build/src/prebuild/index.js.map +1 -0
- package/build/src/prebuild/prebuildAsync.js +112 -0
- package/build/src/prebuild/prebuildAsync.js.map +1 -0
- package/build/src/prebuild/resolveOptions.js +97 -0
- package/build/src/prebuild/resolveOptions.js.map +1 -0
- package/build/src/prebuild/resolveTemplate.js +157 -0
- package/build/src/prebuild/resolveTemplate.js.map +1 -0
- package/build/src/prebuild/updateFromTemplate.js +102 -0
- package/build/src/prebuild/updateFromTemplate.js.map +1 -0
- package/build/src/prebuild/updatePackageJson.js +236 -0
- package/build/src/prebuild/updatePackageJson.js.map +1 -0
- package/build/src/prebuild/writeMetroConfig.js +89 -0
- package/build/src/prebuild/writeMetroConfig.js.map +1 -0
- package/build/src/register/index.js +48 -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 +97 -0
- package/build/src/run/android/index.js.map +1 -0
- package/build/src/run/android/resolveDevice.js +23 -0
- package/build/src/run/android/resolveDevice.js.map +1 -0
- package/build/src/run/android/resolveGradleProps.js +37 -0
- package/build/src/run/android/resolveGradleProps.js.map +1 -0
- package/build/src/run/android/resolveInstallApkName.js +72 -0
- package/build/src/run/android/resolveInstallApkName.js.map +1 -0
- package/build/src/run/android/resolveLaunchProps.js +32 -0
- package/build/src/run/android/resolveLaunchProps.js.map +1 -0
- package/build/src/run/android/resolveOptions.js +25 -0
- package/build/src/run/android/resolveOptions.js.map +1 -0
- package/build/src/run/android/runAndroidAsync.js +74 -0
- package/build/src/run/android/runAndroidAsync.js.map +1 -0
- package/build/src/run/ensureNativeProject.js +33 -0
- package/build/src/run/ensureNativeProject.js.map +1 -0
- package/build/src/run/hints.js +22 -0
- package/build/src/run/hints.js.map +1 -0
- package/build/src/run/resolveBundlerProps.js +31 -0
- package/build/src/run/resolveBundlerProps.js.map +1 -0
- package/build/src/run/startBundler.js +76 -0
- package/build/src/run/startBundler.js.map +1 -0
- package/build/src/start/doctor/Prerequisite.js +47 -0
- package/build/src/start/doctor/Prerequisite.js.map +1 -0
- package/build/src/start/doctor/apple/SimulatorAppPrerequisite.js +68 -0
- package/build/src/start/doctor/apple/SimulatorAppPrerequisite.js.map +1 -0
- package/build/src/start/doctor/apple/XcodePrerequisite.js +115 -0
- package/build/src/start/doctor/apple/XcodePrerequisite.js.map +1 -0
- package/build/src/start/doctor/apple/XcrunPrerequisite.js +65 -0
- package/build/src/start/doctor/apple/XcrunPrerequisite.js.map +1 -0
- package/build/src/start/doctor/dependencies/bundledNativeModules.js +64 -0
- package/build/src/start/doctor/dependencies/bundledNativeModules.js.map +1 -0
- package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js +131 -0
- package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js.map +1 -0
- package/build/src/start/doctor/dependencies/getMissingPackages.js +95 -0
- package/build/src/start/doctor/dependencies/getMissingPackages.js.map +1 -0
- package/build/src/start/doctor/dependencies/getVersionedPackages.js +119 -0
- package/build/src/start/doctor/dependencies/getVersionedPackages.js.map +1 -0
- package/build/src/start/doctor/dependencies/validateDependenciesVersions.js +147 -0
- package/build/src/start/doctor/dependencies/validateDependenciesVersions.js.map +1 -0
- package/build/src/start/doctor/ngrok/ExternalModule.js +164 -0
- package/build/src/start/doctor/ngrok/ExternalModule.js.map +1 -0
- package/build/src/start/doctor/ngrok/NgrokResolver.js +17 -0
- package/build/src/start/doctor/ngrok/NgrokResolver.js.map +1 -0
- package/build/src/start/doctor/typescript/TypeScriptProjectPrerequisite.js +142 -0
- package/build/src/start/doctor/typescript/TypeScriptProjectPrerequisite.js.map +1 -0
- package/build/src/start/doctor/typescript/updateTSConfig.js +92 -0
- package/build/src/start/doctor/typescript/updateTSConfig.js.map +1 -0
- package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js +112 -0
- package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js.map +1 -0
- package/build/src/start/index.js +116 -0
- package/build/src/start/index.js.map +1 -0
- package/build/src/start/interface/KeyPressHandler.js +99 -0
- package/build/src/start/interface/KeyPressHandler.js.map +1 -0
- package/build/src/start/interface/commandsTable.js +175 -0
- package/build/src/start/interface/commandsTable.js.map +1 -0
- package/build/src/start/interface/interactiveActions.js +134 -0
- package/build/src/start/interface/interactiveActions.js.map +1 -0
- package/build/src/start/interface/startInterface.js +217 -0
- package/build/src/start/interface/startInterface.js.map +1 -0
- package/build/src/start/platforms/AppIdResolver.js +44 -0
- package/build/src/start/platforms/AppIdResolver.js.map +1 -0
- package/build/src/start/platforms/DeviceManager.js +43 -0
- package/build/src/start/platforms/DeviceManager.js.map +1 -0
- package/build/src/start/platforms/ExpoGoInstaller.js +111 -0
- package/build/src/start/platforms/ExpoGoInstaller.js.map +1 -0
- package/build/src/start/platforms/PlatformManager.js +121 -0
- package/build/src/start/platforms/PlatformManager.js.map +1 -0
- package/build/src/start/platforms/android/ADBServer.js +129 -0
- package/build/src/start/platforms/android/ADBServer.js.map +1 -0
- package/build/src/start/platforms/android/AndroidAppIdResolver.js +40 -0
- package/build/src/start/platforms/android/AndroidAppIdResolver.js.map +1 -0
- package/build/src/start/platforms/android/AndroidDeviceManager.js +183 -0
- package/build/src/start/platforms/android/AndroidDeviceManager.js.map +1 -0
- package/build/src/start/platforms/android/AndroidPlatformManager.js +35 -0
- package/build/src/start/platforms/android/AndroidPlatformManager.js.map +1 -0
- package/build/src/start/platforms/android/activateWindow.js +80 -0
- package/build/src/start/platforms/android/activateWindow.js.map +1 -0
- package/build/src/start/platforms/android/adb.js +263 -0
- package/build/src/start/platforms/android/adb.js.map +1 -0
- package/build/src/start/platforms/android/adbReverse.js +84 -0
- package/build/src/start/platforms/android/adbReverse.js.map +1 -0
- package/build/src/start/platforms/android/emulator.js +118 -0
- package/build/src/start/platforms/android/emulator.js.map +1 -0
- package/build/src/start/platforms/android/getDevices.js +36 -0
- package/build/src/start/platforms/android/getDevices.js.map +1 -0
- package/build/src/start/platforms/android/gradle.js +86 -0
- package/build/src/start/platforms/android/gradle.js.map +1 -0
- package/build/src/start/platforms/android/promptAndroidDevice.js +60 -0
- package/build/src/start/platforms/android/promptAndroidDevice.js.map +1 -0
- package/build/src/start/platforms/ios/AppleAppIdResolver.js +46 -0
- package/build/src/start/platforms/ios/AppleAppIdResolver.js.map +1 -0
- package/build/src/start/platforms/ios/AppleDeviceManager.js +201 -0
- package/build/src/start/platforms/ios/AppleDeviceManager.js.map +1 -0
- package/build/src/start/platforms/ios/ApplePlatformManager.js +31 -0
- package/build/src/start/platforms/ios/ApplePlatformManager.js.map +1 -0
- package/build/src/start/platforms/ios/assertSystemRequirements.js +16 -0
- package/build/src/start/platforms/ios/assertSystemRequirements.js.map +1 -0
- package/build/src/start/platforms/ios/ensureSimulatorAppRunning.js +85 -0
- package/build/src/start/platforms/ios/ensureSimulatorAppRunning.js.map +1 -0
- package/build/src/start/platforms/ios/getBestSimulator.js +101 -0
- package/build/src/start/platforms/ios/getBestSimulator.js.map +1 -0
- package/build/src/start/platforms/ios/promptAppleDevice.js +60 -0
- package/build/src/start/platforms/ios/promptAppleDevice.js.map +1 -0
- package/build/src/start/platforms/ios/simctl.js +229 -0
- package/build/src/start/platforms/ios/simctl.js.map +1 -0
- package/build/src/start/platforms/ios/xcrun.js +67 -0
- package/build/src/start/platforms/ios/xcrun.js.map +1 -0
- package/build/src/start/project/devices.js +77 -0
- package/build/src/start/project/devices.js.map +1 -0
- package/build/src/start/project/dotExpo.js +74 -0
- package/build/src/start/project/dotExpo.js.map +1 -0
- package/build/src/start/project/settings.js +13 -0
- package/build/src/start/project/settings.js.map +1 -0
- package/build/src/start/resolveOptions.js +156 -0
- package/build/src/start/resolveOptions.js.map +1 -0
- package/build/src/start/server/AsyncNgrok.js +173 -0
- package/build/src/start/server/AsyncNgrok.js.map +1 -0
- package/build/src/start/server/BundlerDevServer.js +312 -0
- package/build/src/start/server/BundlerDevServer.js.map +1 -0
- package/build/src/start/server/DevServerManager.js +142 -0
- package/build/src/start/server/DevServerManager.js.map +1 -0
- package/build/src/start/server/DevelopmentSession.js +104 -0
- package/build/src/start/server/DevelopmentSession.js.map +1 -0
- package/build/src/start/server/UrlCreator.js +159 -0
- package/build/src/start/server/UrlCreator.js.map +1 -0
- package/build/src/start/server/metro/MetroBundlerDevServer.js +97 -0
- package/build/src/start/server/metro/MetroBundlerDevServer.js.map +1 -0
- package/build/src/start/server/metro/MetroTerminalReporter.js +178 -0
- package/build/src/start/server/metro/MetroTerminalReporter.js.map +1 -0
- package/build/src/start/server/metro/TerminalReporter.js +87 -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/instantiateMetro.js +66 -0
- package/build/src/start/server/metro/instantiateMetro.js.map +1 -0
- package/build/src/start/server/metro/resolveFromProject.js +38 -0
- package/build/src/start/server/metro/resolveFromProject.js.map +1 -0
- package/build/src/start/server/middleware/ClassicManifestMiddleware.js +145 -0
- package/build/src/start/server/middleware/ClassicManifestMiddleware.js.map +1 -0
- package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js +185 -0
- package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js.map +1 -0
- package/build/src/start/server/middleware/ExpoMiddleware.js +78 -0
- package/build/src/start/server/middleware/ExpoMiddleware.js.map +1 -0
- package/build/src/start/server/middleware/InterstitialPageMiddleware.js +70 -0
- package/build/src/start/server/middleware/InterstitialPageMiddleware.js.map +1 -0
- package/build/src/start/server/middleware/ManifestMiddleware.js +177 -0
- package/build/src/start/server/middleware/ManifestMiddleware.js.map +1 -0
- package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js +69 -0
- package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js.map +1 -0
- package/build/src/start/server/middleware/createDevServerMiddleware.js +24 -0
- package/build/src/start/server/middleware/createDevServerMiddleware.js.map +1 -0
- package/build/src/start/server/middleware/resolveAssets.js +110 -0
- package/build/src/start/server/middleware/resolveAssets.js.map +1 -0
- package/build/src/start/server/middleware/resolveEntryPoint.js +37 -0
- package/build/src/start/server/middleware/resolveEntryPoint.js.map +1 -0
- package/build/src/start/server/middleware/resolvePlatform.js +32 -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/openPlatforms.js +30 -0
- package/build/src/start/server/openPlatforms.js.map +1 -0
- package/build/src/start/server/webpack/WebpackBundlerDevServer.js +299 -0
- package/build/src/start/server/webpack/WebpackBundlerDevServer.js.map +1 -0
- package/build/src/start/server/webpack/formatWebpackMessages.js +94 -0
- package/build/src/start/server/webpack/formatWebpackMessages.js.map +1 -0
- package/build/src/start/server/webpack/resolveFromProject.js +43 -0
- package/build/src/start/server/webpack/resolveFromProject.js.map +1 -0
- package/build/src/start/server/webpack/tls.js +72 -0
- package/build/src/start/server/webpack/tls.js.map +1 -0
- package/build/src/start/startAsync.js +150 -0
- package/build/src/start/startAsync.js.map +1 -0
- package/build/src/utils/FileNotifier.js +71 -0
- package/build/src/utils/FileNotifier.js.map +1 -0
- package/build/src/utils/analytics/getDevClientProperties.js +41 -0
- package/build/src/utils/analytics/getDevClientProperties.js.map +1 -0
- package/build/src/utils/analytics/rudderstackClient.js +106 -0
- package/build/src/utils/analytics/rudderstackClient.js.map +1 -0
- package/build/src/utils/ansi.js +17 -0
- package/build/src/utils/ansi.js.map +1 -0
- package/build/src/utils/args.js +77 -0
- package/build/src/utils/args.js.map +1 -0
- package/build/src/utils/array.js +56 -0
- package/build/src/utils/array.js.map +1 -0
- package/build/src/utils/cocoapods.js +143 -0
- package/build/src/utils/cocoapods.js.map +1 -0
- package/build/src/utils/codesigning.js +283 -0
- package/build/src/utils/codesigning.js.map +1 -0
- package/build/src/utils/createFileTransform.js +89 -0
- package/build/src/utils/createFileTransform.js.map +1 -0
- package/build/src/utils/delay.js +39 -0
- package/build/src/utils/delay.js.map +1 -0
- package/build/src/utils/dir.js +38 -0
- package/build/src/utils/dir.js.map +1 -0
- package/build/src/utils/downloadAppAsync.js +74 -0
- package/build/src/utils/downloadAppAsync.js.map +1 -0
- package/build/src/utils/downloadExpoGoAsync.js +99 -0
- package/build/src/utils/downloadExpoGoAsync.js.map +1 -0
- package/build/src/utils/editor.js +60 -0
- package/build/src/utils/editor.js.map +1 -0
- package/build/src/utils/env.js +62 -0
- package/build/src/utils/env.js.map +1 -0
- package/build/src/utils/errors.js +69 -0
- package/build/src/utils/errors.js.map +1 -0
- package/build/src/utils/exit.js +90 -0
- package/build/src/utils/exit.js.map +1 -0
- package/build/src/utils/findUp.js +33 -0
- package/build/src/utils/findUp.js.map +1 -0
- package/build/src/utils/fn.js +32 -0
- package/build/src/utils/fn.js.map +1 -0
- package/build/src/utils/getOrPromptApplicationId.js +183 -0
- package/build/src/utils/getOrPromptApplicationId.js.map +1 -0
- package/build/src/utils/getRunningProcess.js +92 -0
- package/build/src/utils/getRunningProcess.js.map +1 -0
- package/build/src/utils/git.js +88 -0
- package/build/src/utils/git.js.map +1 -0
- package/build/src/utils/glob.js +65 -0
- package/build/src/utils/glob.js.map +1 -0
- package/build/src/utils/ip.js +16 -0
- package/build/src/utils/ip.js.map +1 -0
- package/build/src/utils/isModuleSymlinked.js +37 -0
- package/build/src/utils/isModuleSymlinked.js.map +1 -0
- package/build/src/utils/link.js +31 -0
- package/build/src/utils/link.js.map +1 -0
- package/build/src/utils/mergeGitIgnorePaths.js +112 -0
- package/build/src/utils/mergeGitIgnorePaths.js.map +1 -0
- package/build/src/utils/modifyConfigAsync.js +68 -0
- package/build/src/utils/modifyConfigAsync.js.map +1 -0
- package/build/src/utils/modifyConfigPlugins.js +51 -0
- package/build/src/utils/modifyConfigPlugins.js.map +1 -0
- package/build/src/utils/nodeModules.js +118 -0
- package/build/src/utils/nodeModules.js.map +1 -0
- package/build/src/utils/npm.js +144 -0
- package/build/src/utils/npm.js.map +1 -0
- package/build/src/utils/obj.js +45 -0
- package/build/src/utils/obj.js.map +1 -0
- package/build/src/utils/ora.js +102 -0
- package/build/src/utils/ora.js.map +1 -0
- package/build/src/utils/port.js +130 -0
- package/build/src/utils/port.js.map +1 -0
- package/build/src/utils/profile.js +63 -0
- package/build/src/utils/profile.js.map +1 -0
- package/build/src/utils/progress.js +15 -0
- package/build/src/utils/progress.js.map +1 -0
- package/build/src/utils/prompts.js +127 -0
- package/build/src/utils/prompts.js.map +1 -0
- package/build/src/utils/resolveArgs.js +94 -0
- package/build/src/utils/resolveArgs.js.map +1 -0
- package/build/src/utils/scheme.js +106 -0
- package/build/src/utils/scheme.js.map +1 -0
- package/build/src/utils/tar.js +59 -0
- package/build/src/utils/tar.js.map +1 -0
- package/build/src/utils/url.js +67 -0
- package/build/src/utils/url.js.map +1 -0
- package/build/src/utils/validateApplicationId.js +90 -0
- package/build/src/utils/validateApplicationId.js.map +1 -0
- package/build/src/whoami/index.js +47 -0
- package/build/src/whoami/index.js.map +1 -0
- package/build/src/whoami/whoamiAsync.js +44 -0
- package/build/src/whoami/whoamiAsync.js.map +1 -0
- package/package.json +132 -4
- package/static/loading-page/index.html +270 -0
- package/index.js +0 -0
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
exports.writeMetroConfig = writeMetroConfig;
|
|
6
|
+
exports.copyTemplateMetroConfig = copyTemplateMetroConfig;
|
|
7
|
+
var _chalk = _interopRequireDefault(require("chalk"));
|
|
8
|
+
var _fs = _interopRequireDefault(require("fs"));
|
|
9
|
+
var _path = _interopRequireDefault(require("path"));
|
|
10
|
+
var Log = _interopRequireWildcard(require("../log"));
|
|
11
|
+
var _errors = require("../utils/errors");
|
|
12
|
+
var _link = require("../utils/link");
|
|
13
|
+
var _ora = require("../utils/ora");
|
|
14
|
+
var _updatePackageJson = require("./updatePackageJson");
|
|
15
|
+
function _interopRequireDefault(obj) {
|
|
16
|
+
return obj && obj.__esModule ? obj : {
|
|
17
|
+
default: obj
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
function _interopRequireWildcard(obj) {
|
|
21
|
+
if (obj && obj.__esModule) {
|
|
22
|
+
return obj;
|
|
23
|
+
} else {
|
|
24
|
+
var newObj = {};
|
|
25
|
+
if (obj != null) {
|
|
26
|
+
for(var key in obj){
|
|
27
|
+
if (Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
28
|
+
var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {};
|
|
29
|
+
if (desc.get || desc.set) {
|
|
30
|
+
Object.defineProperty(newObj, key, desc);
|
|
31
|
+
} else {
|
|
32
|
+
newObj[key] = obj[key];
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
newObj.default = obj;
|
|
38
|
+
return newObj;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
function writeMetroConfig(projectRoot, { pkg , templateDirectory }) {
|
|
42
|
+
/**
|
|
43
|
+
* Add metro config, or warn if metro config already exists. The developer will need to add the
|
|
44
|
+
* hashAssetFiles plugin manually.
|
|
45
|
+
*/ const updatingMetroConfigStep = (0, _ora).logNewSection("Adding Metro bundler config");
|
|
46
|
+
try {
|
|
47
|
+
const didChange = copyTemplateMetroConfig(projectRoot, {
|
|
48
|
+
pkg,
|
|
49
|
+
templateDirectory
|
|
50
|
+
});
|
|
51
|
+
if (!didChange) {
|
|
52
|
+
// Nothing to change, hide the step and exit.
|
|
53
|
+
updatingMetroConfigStep.stop();
|
|
54
|
+
updatingMetroConfigStep.clear();
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
updatingMetroConfigStep.succeed("Added Metro config");
|
|
58
|
+
} catch (error) {
|
|
59
|
+
updatingMetroConfigStep.stopAndPersist({
|
|
60
|
+
symbol: _chalk.default.yellow("\u203A"),
|
|
61
|
+
text: _chalk.default.yellow(_chalk.default`{bold Metro skipped:} ${error.message}`)
|
|
62
|
+
});
|
|
63
|
+
// Log.log(`\u203A ${e.message}`);
|
|
64
|
+
Log.log(_chalk.default`\u203A Ensure the project uses {bold @expo/metro-config}.\n {dim ${(0, _link).learnMore("https://docs.expo.dev/guides/customizing-metro")}}`);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
function copyTemplateMetroConfig(projectRoot, { pkg , templateDirectory }) {
|
|
68
|
+
const sourceConfigPath = _path.default.join(templateDirectory, "metro.config.js");
|
|
69
|
+
const targetConfigPath = _path.default.join(projectRoot, "metro.config.js");
|
|
70
|
+
const targetConfigPathExists = _fs.default.existsSync(targetConfigPath);
|
|
71
|
+
if (targetConfigPathExists) {
|
|
72
|
+
// Prevent re-runs from throwing an error if the metro config hasn't been modified.
|
|
73
|
+
const contents = (0, _updatePackageJson).createFileHash(_fs.default.readFileSync(targetConfigPath, "utf8"));
|
|
74
|
+
const targetContents = (0, _updatePackageJson).createFileHash(_fs.default.readFileSync(sourceConfigPath, "utf8"));
|
|
75
|
+
if (contents !== targetContents) {
|
|
76
|
+
throw new _errors.CommandError("Project metro.config.js does not match prebuild template.");
|
|
77
|
+
}
|
|
78
|
+
return false;
|
|
79
|
+
}
|
|
80
|
+
// We don't support legacy file names so just throw.
|
|
81
|
+
if (_fs.default.existsSync(_path.default.join(projectRoot, "metro.config.json")) || pkg.metro || _fs.default.existsSync(_path.default.join(projectRoot, "rn-cli.config.js"))) {
|
|
82
|
+
throw new _errors.CommandError("Project is using a legacy config system that cannot be extend automatically.");
|
|
83
|
+
}
|
|
84
|
+
// Finally, copy if nothing goes wrong.
|
|
85
|
+
_fs.default.copyFileSync(sourceConfigPath, targetConfigPath);
|
|
86
|
+
return true;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
//# sourceMappingURL=writeMetroConfig.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/prebuild/writeMetroConfig.ts"],"sourcesContent":["import { PackageJSONConfig } from '@expo/config';\nimport chalk from 'chalk';\nimport fs from 'fs';\nimport path from 'path';\n\nimport * as Log from '../log';\nimport { CommandError } from '../utils/errors';\nimport { learnMore } from '../utils/link';\nimport { logNewSection } from '../utils/ora';\nimport { createFileHash } from './updatePackageJson';\n\nexport function writeMetroConfig(\n projectRoot: string,\n {\n pkg,\n templateDirectory,\n }: {\n pkg: PackageJSONConfig;\n templateDirectory: string;\n }\n) {\n /**\n * Add metro config, or warn if metro config already exists. The developer will need to add the\n * hashAssetFiles plugin manually.\n */\n\n const updatingMetroConfigStep = logNewSection('Adding Metro bundler config');\n\n try {\n const didChange = copyTemplateMetroConfig(projectRoot, { pkg, templateDirectory });\n if (!didChange) {\n // Nothing to change, hide the step and exit.\n updatingMetroConfigStep.stop();\n updatingMetroConfigStep.clear();\n return;\n }\n updatingMetroConfigStep.succeed('Added Metro config');\n } catch (error: any) {\n updatingMetroConfigStep.stopAndPersist({\n symbol: chalk.yellow('›'),\n text: chalk.yellow(chalk`{bold Metro skipped:} ${error.message}`),\n });\n // Log.log(`\\u203A ${e.message}`);\n Log.log(\n chalk`\\u203A Ensure the project uses {bold @expo/metro-config}.\\n {dim ${learnMore(\n 'https://docs.expo.dev/guides/customizing-metro'\n )}}`\n );\n }\n}\n\n/**\n * Detects if the project's existing `metro.config.js` matches the template, and if not,\n * throws errors indicating what the user should do.\n *\n * > Exposed for testing.\n *\n * @returns Boolean indicating the `metro.config.js` changed.\n */\nexport function copyTemplateMetroConfig(\n projectRoot: string,\n {\n pkg,\n templateDirectory,\n }: {\n pkg: PackageJSONConfig;\n templateDirectory: string;\n }\n): boolean {\n const sourceConfigPath = path.join(templateDirectory, 'metro.config.js');\n const targetConfigPath = path.join(projectRoot, 'metro.config.js');\n const targetConfigPathExists = fs.existsSync(targetConfigPath);\n if (targetConfigPathExists) {\n // Prevent re-runs from throwing an error if the metro config hasn't been modified.\n const contents = createFileHash(fs.readFileSync(targetConfigPath, 'utf8'));\n const targetContents = createFileHash(fs.readFileSync(sourceConfigPath, 'utf8'));\n if (contents !== targetContents) {\n throw new CommandError('Project metro.config.js does not match prebuild template.');\n }\n return false;\n }\n\n // We don't support legacy file names so just throw.\n if (\n fs.existsSync(path.join(projectRoot, 'metro.config.json')) ||\n pkg.metro ||\n fs.existsSync(path.join(projectRoot, 'rn-cli.config.js'))\n ) {\n throw new CommandError(\n 'Project is using a legacy config system that cannot be extend automatically.'\n );\n }\n\n // Finally, copy if nothing goes wrong.\n fs.copyFileSync(sourceConfigPath, targetConfigPath);\n\n return true;\n}\n"],"names":["writeMetroConfig","copyTemplateMetroConfig","Log","projectRoot","pkg","templateDirectory","updatingMetroConfigStep","logNewSection","didChange","stop","clear","succeed","error","stopAndPersist","symbol","chalk","yellow","text","message","log","learnMore","sourceConfigPath","path","join","targetConfigPath","targetConfigPathExists","fs","existsSync","contents","createFileHash","readFileSync","targetContents","CommandError","metro","copyFileSync"],"mappings":"AAAA;;;;QAWgBA,gBAAgB,GAAhBA,gBAAgB;QAgDhBC,uBAAuB,GAAvBA,uBAAuB;AA1DrB,IAAA,MAAO,kCAAP,OAAO,EAAA;AACV,IAAA,GAAI,kCAAJ,IAAI,EAAA;AACF,IAAA,KAAM,kCAAN,MAAM,EAAA;AAEXC,IAAAA,GAAG,mCAAM,QAAQ,EAAd;AACc,IAAA,OAAiB,WAAjB,iBAAiB,CAAA;AACpB,IAAA,KAAe,WAAf,eAAe,CAAA;AACX,IAAA,IAAc,WAAd,cAAc,CAAA;AACb,IAAA,kBAAqB,WAArB,qBAAqB,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;AAE7C,SAASF,gBAAgB,CAC9BG,WAAmB,EACnB,EACEC,GAAG,CAAA,EACHC,iBAAiB,CAAA,EAIlB,EACD;IACA;;;KAGG,CAEH,MAAMC,uBAAuB,GAAGC,CAAAA,GAAAA,IAAa,AAA+B,CAAA,cAA/B,CAAC,6BAA6B,CAAC,AAAC;IAE7E,IAAI;QACF,MAAMC,SAAS,GAAGP,uBAAuB,CAACE,WAAW,EAAE;YAAEC,GAAG;YAAEC,iBAAiB;SAAE,CAAC,AAAC;QACnF,IAAI,CAACG,SAAS,EAAE;YACd,6CAA6C;YAC7CF,uBAAuB,CAACG,IAAI,EAAE,CAAC;YAC/BH,uBAAuB,CAACI,KAAK,EAAE,CAAC;YAChC,OAAO;SACR;QACDJ,uBAAuB,CAACK,OAAO,CAAC,oBAAoB,CAAC,CAAC;KACvD,CAAC,OAAOC,KAAK,EAAO;QACnBN,uBAAuB,CAACO,cAAc,CAAC;YACrCC,MAAM,EAAEC,MAAK,QAAA,CAACC,MAAM,CAAC,QAAG,CAAC;YACzBC,IAAI,EAAEF,MAAK,QAAA,CAACC,MAAM,CAACD,MAAK,QAAA,CAAC,sBAAsB,EAAEH,KAAK,CAACM,OAAO,CAAC,CAAC,CAAC;SAClE,CAAC,CAAC;QACH,kCAAkC;QAClChB,GAAG,CAACiB,GAAG,CACLJ,MAAK,QAAA,CAAC,kEAAkE,EAAEK,CAAAA,GAAAA,KAAS,AAElF,CAAA,UAFkF,CACjF,gDAAgD,CACjD,CAAC,CAAC,CAAC,CACL,CAAC;KACH;CACF;AAUM,SAASnB,uBAAuB,CACrCE,WAAmB,EACnB,EACEC,GAAG,CAAA,EACHC,iBAAiB,CAAA,EAIlB,EACQ;IACT,MAAMgB,gBAAgB,GAAGC,KAAI,QAAA,CAACC,IAAI,CAAClB,iBAAiB,EAAE,iBAAiB,CAAC,AAAC;IACzE,MAAMmB,gBAAgB,GAAGF,KAAI,QAAA,CAACC,IAAI,CAACpB,WAAW,EAAE,iBAAiB,CAAC,AAAC;IACnE,MAAMsB,sBAAsB,GAAGC,GAAE,QAAA,CAACC,UAAU,CAACH,gBAAgB,CAAC,AAAC;IAC/D,IAAIC,sBAAsB,EAAE;QAC1B,mFAAmF;QACnF,MAAMG,QAAQ,GAAGC,CAAAA,GAAAA,kBAAc,AAA2C,CAAA,eAA3C,CAACH,GAAE,QAAA,CAACI,YAAY,CAACN,gBAAgB,EAAE,MAAM,CAAC,CAAC,AAAC;QAC3E,MAAMO,cAAc,GAAGF,CAAAA,GAAAA,kBAAc,AAA2C,CAAA,eAA3C,CAACH,GAAE,QAAA,CAACI,YAAY,CAACT,gBAAgB,EAAE,MAAM,CAAC,CAAC,AAAC;QACjF,IAAIO,QAAQ,KAAKG,cAAc,EAAE;YAC/B,MAAM,IAAIC,OAAY,aAAA,CAAC,2DAA2D,CAAC,CAAC;SACrF;QACD,OAAO,KAAK,CAAC;KACd;IAED,oDAAoD;IACpD,IACEN,GAAE,QAAA,CAACC,UAAU,CAACL,KAAI,QAAA,CAACC,IAAI,CAACpB,WAAW,EAAE,mBAAmB,CAAC,CAAC,IAC1DC,GAAG,CAAC6B,KAAK,IACTP,GAAE,QAAA,CAACC,UAAU,CAACL,KAAI,QAAA,CAACC,IAAI,CAACpB,WAAW,EAAE,kBAAkB,CAAC,CAAC,EACzD;QACA,MAAM,IAAI6B,OAAY,aAAA,CACpB,8EAA8E,CAC/E,CAAC;KACH;IAED,uCAAuC;IACvCN,GAAE,QAAA,CAACQ,YAAY,CAACb,gBAAgB,EAAEG,gBAAgB,CAAC,CAAC;IAEpD,OAAO,IAAI,CAAC;CACb"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
"use strict";
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.expoRegister = void 0;
|
|
7
|
+
var _args = require("../utils/args");
|
|
8
|
+
var _errors = require("../utils/errors");
|
|
9
|
+
function _interopRequireWildcard(obj) {
|
|
10
|
+
if (obj && obj.__esModule) {
|
|
11
|
+
return obj;
|
|
12
|
+
} else {
|
|
13
|
+
var newObj = {};
|
|
14
|
+
if (obj != null) {
|
|
15
|
+
for(var key in obj){
|
|
16
|
+
if (Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
17
|
+
var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {};
|
|
18
|
+
if (desc.get || desc.set) {
|
|
19
|
+
Object.defineProperty(newObj, key, desc);
|
|
20
|
+
} else {
|
|
21
|
+
newObj[key] = obj[key];
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
newObj.default = obj;
|
|
27
|
+
return newObj;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
const expoRegister = async (argv)=>{
|
|
31
|
+
const args = (0, _args).assertArgs({
|
|
32
|
+
// Types
|
|
33
|
+
"--help": Boolean,
|
|
34
|
+
// Aliases
|
|
35
|
+
"-h": "--help"
|
|
36
|
+
}, argv);
|
|
37
|
+
if (args["--help"]) {
|
|
38
|
+
(0, _args).printHelp(`Sign up for a new Expo account`, `npx expo register`, // Options
|
|
39
|
+
`-h, --help Usage info`);
|
|
40
|
+
}
|
|
41
|
+
const { registerAsync } = await Promise.resolve().then(function() {
|
|
42
|
+
return _interopRequireWildcard(require("./registerAsync"));
|
|
43
|
+
});
|
|
44
|
+
return registerAsync().catch(_errors.logCmdError);
|
|
45
|
+
};
|
|
46
|
+
exports.expoRegister = expoRegister;
|
|
47
|
+
|
|
48
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/register/index.ts"],"sourcesContent":["#!/usr/bin/env node\nimport { Command } from '../../bin/cli';\nimport { assertArgs, printHelp } from '../utils/args';\nimport { logCmdError } from '../utils/errors';\n\nexport const expoRegister: Command = async (argv) => {\n const args = assertArgs(\n {\n // Types\n '--help': Boolean,\n // Aliases\n '-h': '--help',\n },\n argv\n );\n\n if (args['--help']) {\n printHelp(\n `Sign up for a new Expo account`,\n `npx expo register`,\n // Options\n `-h, --help Usage info`\n );\n }\n\n const { registerAsync } = await import('./registerAsync');\n return registerAsync().catch(logCmdError);\n};\n"],"names":["expoRegister","argv","args","assertArgs","Boolean","printHelp","registerAsync","catch","logCmdError"],"mappings":"AAAA;;;;;;AAEsC,IAAA,KAAe,WAAf,eAAe,CAAA;AACzB,IAAA,OAAiB,WAAjB,iBAAiB,CAAA;;;;;;;;;;;;;;;;;;;;;;AAEtC,MAAMA,YAAY,GAAY,OAAOC,IAAI,GAAK;IACnD,MAAMC,IAAI,GAAGC,CAAAA,GAAAA,KAAU,AAQtB,CAAA,WARsB,CACrB;QACE,QAAQ;QACR,QAAQ,EAAEC,OAAO;QACjB,UAAU;QACV,IAAI,EAAE,QAAQ;KACf,EACDH,IAAI,CACL,AAAC;IAEF,IAAIC,IAAI,CAAC,QAAQ,CAAC,EAAE;QAClBG,CAAAA,GAAAA,KAAS,AAKR,CAAA,UALQ,CACP,CAAC,8BAA8B,CAAC,EAChC,CAAC,iBAAiB,CAAC,EACnB,UAAU;QACV,CAAC,wBAAwB,CAAC,CAC3B,CAAC;KACH;IAED,MAAM,EAAEC,aAAa,CAAA,EAAE,GAAG,MAAM;+CAAO,iBAAiB;MAAC,AAAC;IAC1D,OAAOA,aAAa,EAAE,CAACC,KAAK,CAACC,OAAW,YAAA,CAAC,CAAC;CAC3C,AAAC;QAtBWR,YAAY,GAAZA,YAAY"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
exports.registerAsync = registerAsync;
|
|
6
|
+
var _betterOpn = _interopRequireDefault(require("better-opn"));
|
|
7
|
+
var _env = require("../utils/env");
|
|
8
|
+
var _errors = require("../utils/errors");
|
|
9
|
+
var _link = require("../utils/link");
|
|
10
|
+
var _ora = require("../utils/ora");
|
|
11
|
+
function _interopRequireDefault(obj) {
|
|
12
|
+
return obj && obj.__esModule ? obj : {
|
|
13
|
+
default: obj
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
async function registerAsync() {
|
|
17
|
+
if (_env.env.CI) {
|
|
18
|
+
throw new _errors.CommandError("NON_INTERACTIVE", `Cannot register an account in CI. Use the EXPO_TOKEN environment variable to authenticate in CI (${(0, _link).learnMore("https://docs.expo.dev/accounts/programmatic-access/")})`);
|
|
19
|
+
}
|
|
20
|
+
const registrationUrl = `https://expo.dev/signup`;
|
|
21
|
+
const failedMessage = `Unable to open a web browser. Register an account at: ${registrationUrl}`;
|
|
22
|
+
const spinner = (0, _ora).ora(`Opening ${registrationUrl}`).start();
|
|
23
|
+
try {
|
|
24
|
+
const opened = await (0, _betterOpn).default(registrationUrl);
|
|
25
|
+
if (opened) {
|
|
26
|
+
spinner.succeed(`Opened ${registrationUrl}`);
|
|
27
|
+
} else {
|
|
28
|
+
spinner.fail(failedMessage);
|
|
29
|
+
}
|
|
30
|
+
return;
|
|
31
|
+
} catch (error) {
|
|
32
|
+
spinner.fail(failedMessage);
|
|
33
|
+
throw error;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
//# sourceMappingURL=registerAsync.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/register/registerAsync.ts"],"sourcesContent":["import openBrowserAsync from 'better-opn';\n\nimport { env } from '../utils/env';\nimport { CommandError } from '../utils/errors';\nimport { learnMore } from '../utils/link';\nimport { ora } from '../utils/ora';\n\nexport async function registerAsync() {\n if (env.CI) {\n throw new CommandError(\n 'NON_INTERACTIVE',\n `Cannot register an account in CI. Use the EXPO_TOKEN environment variable to authenticate in CI (${learnMore(\n 'https://docs.expo.dev/accounts/programmatic-access/'\n )})`\n );\n }\n\n const registrationUrl = `https://expo.dev/signup`;\n const failedMessage = `Unable to open a web browser. Register an account at: ${registrationUrl}`;\n const spinner = ora(`Opening ${registrationUrl}`).start();\n try {\n const opened = await openBrowserAsync(registrationUrl);\n\n if (opened) {\n spinner.succeed(`Opened ${registrationUrl}`);\n } else {\n spinner.fail(failedMessage);\n }\n return;\n } catch (error) {\n spinner.fail(failedMessage);\n throw error;\n }\n}\n"],"names":["registerAsync","env","CI","CommandError","learnMore","registrationUrl","failedMessage","spinner","ora","start","opened","openBrowserAsync","succeed","fail","error"],"mappings":"AAAA;;;;QAOsBA,aAAa,GAAbA,aAAa;AAPN,IAAA,UAAY,kCAAZ,YAAY,EAAA;AAErB,IAAA,IAAc,WAAd,cAAc,CAAA;AACL,IAAA,OAAiB,WAAjB,iBAAiB,CAAA;AACpB,IAAA,KAAe,WAAf,eAAe,CAAA;AACrB,IAAA,IAAc,WAAd,cAAc,CAAA;;;;;;AAE3B,eAAeA,aAAa,GAAG;IACpC,IAAIC,IAAG,IAAA,CAACC,EAAE,EAAE;QACV,MAAM,IAAIC,OAAY,aAAA,CACpB,iBAAiB,EACjB,CAAC,iGAAiG,EAAEC,CAAAA,GAAAA,KAAS,AAE5G,CAAA,UAF4G,CAC3G,qDAAqD,CACtD,CAAC,CAAC,CAAC,CACL,CAAC;KACH;IAED,MAAMC,eAAe,GAAG,CAAC,uBAAuB,CAAC,AAAC;IAClD,MAAMC,aAAa,GAAG,CAAC,sDAAsD,EAAED,eAAe,CAAC,CAAC,AAAC;IACjG,MAAME,OAAO,GAAGC,CAAAA,GAAAA,IAAG,AAA8B,CAAA,IAA9B,CAAC,CAAC,QAAQ,EAAEH,eAAe,CAAC,CAAC,CAAC,CAACI,KAAK,EAAE,AAAC;IAC1D,IAAI;QACF,MAAMC,MAAM,GAAG,MAAMC,CAAAA,GAAAA,UAAgB,AAAiB,CAAA,QAAjB,CAACN,eAAe,CAAC,AAAC;QAEvD,IAAIK,MAAM,EAAE;YACVH,OAAO,CAACK,OAAO,CAAC,CAAC,OAAO,EAAEP,eAAe,CAAC,CAAC,CAAC,CAAC;SAC9C,MAAM;YACLE,OAAO,CAACM,IAAI,CAACP,aAAa,CAAC,CAAC;SAC7B;QACD,OAAO;KACR,CAAC,OAAOQ,KAAK,EAAE;QACdP,OAAO,CAACM,IAAI,CAACP,aAAa,CAAC,CAAC;QAC5B,MAAMQ,KAAK,CAAC;KACb;CACF"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
"use strict";
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.expoRunAndroid = void 0;
|
|
7
|
+
var _chalk = _interopRequireDefault(require("chalk"));
|
|
8
|
+
var _path = _interopRequireDefault(require("path"));
|
|
9
|
+
var Log = _interopRequireWildcard(require("../../log"));
|
|
10
|
+
var _args = require("../../utils/args");
|
|
11
|
+
var _errors = require("../../utils/errors");
|
|
12
|
+
function _interopRequireDefault(obj) {
|
|
13
|
+
return obj && obj.__esModule ? obj : {
|
|
14
|
+
default: obj
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
function _interopRequireWildcard(obj) {
|
|
18
|
+
if (obj && obj.__esModule) {
|
|
19
|
+
return obj;
|
|
20
|
+
} else {
|
|
21
|
+
var newObj = {};
|
|
22
|
+
if (obj != null) {
|
|
23
|
+
for(var key in obj){
|
|
24
|
+
if (Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
25
|
+
var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {};
|
|
26
|
+
if (desc.get || desc.set) {
|
|
27
|
+
Object.defineProperty(newObj, key, desc);
|
|
28
|
+
} else {
|
|
29
|
+
newObj[key] = obj[key];
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
newObj.default = obj;
|
|
35
|
+
return newObj;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
const expoRunAndroid = async (argv)=>{
|
|
39
|
+
const rawArgsMap = {
|
|
40
|
+
// Types
|
|
41
|
+
"--help": Boolean,
|
|
42
|
+
"--no-build-cache": Boolean,
|
|
43
|
+
"--no-install": Boolean,
|
|
44
|
+
"--no-bundler": Boolean,
|
|
45
|
+
"--variant": String,
|
|
46
|
+
"--port": Number,
|
|
47
|
+
// Aliases
|
|
48
|
+
"-p": "--port",
|
|
49
|
+
"-h": "--help"
|
|
50
|
+
};
|
|
51
|
+
const args = (0, _args).assertWithOptionsArgs(rawArgsMap, {
|
|
52
|
+
argv,
|
|
53
|
+
permissive: true
|
|
54
|
+
});
|
|
55
|
+
// '-d' -> '--device': Boolean,
|
|
56
|
+
if (args["--help"]) {
|
|
57
|
+
Log.exit(_chalk.default`
|
|
58
|
+
{bold Description}
|
|
59
|
+
Run the native Android app locally
|
|
60
|
+
|
|
61
|
+
{bold Usage}
|
|
62
|
+
$ npx expo run:android <dir>
|
|
63
|
+
|
|
64
|
+
{bold Options}
|
|
65
|
+
--no-build-cache Clear the native build cache
|
|
66
|
+
--no-install Skip installing dependencies
|
|
67
|
+
--no-bundler Skip starting the bundler
|
|
68
|
+
--variant <name> Build variant. {dim Default: debug}
|
|
69
|
+
-d, --device [device] Device name to run the app on
|
|
70
|
+
-p, --port <port> Port to start the dev server on. {dim Default: 8081}
|
|
71
|
+
-h, --help Output usage information
|
|
72
|
+
`, 0);
|
|
73
|
+
}
|
|
74
|
+
const { resolveStringOrBooleanArgsAsync } = await Promise.resolve().then(function() {
|
|
75
|
+
return _interopRequireWildcard(require("../../utils/resolveArgs"));
|
|
76
|
+
});
|
|
77
|
+
const parsed = await resolveStringOrBooleanArgsAsync(argv != null ? argv : [], rawArgsMap, {
|
|
78
|
+
"--device": Boolean,
|
|
79
|
+
"-d": "--device"
|
|
80
|
+
}).catch(_errors.logCmdError);
|
|
81
|
+
const { runAndroidAsync } = await Promise.resolve().then(function() {
|
|
82
|
+
return _interopRequireWildcard(require("./runAndroidAsync"));
|
|
83
|
+
});
|
|
84
|
+
return runAndroidAsync(_path.default.resolve(parsed.projectRoot), {
|
|
85
|
+
// Parsed options
|
|
86
|
+
buildCache: !args["--no-build-cache"],
|
|
87
|
+
install: !args["--no-install"],
|
|
88
|
+
bundler: !args["--no-bundler"],
|
|
89
|
+
port: args["--port"],
|
|
90
|
+
variant: args["--variant"],
|
|
91
|
+
// Custom parsed args
|
|
92
|
+
device: parsed.args["--device"]
|
|
93
|
+
}).catch(_errors.logCmdError);
|
|
94
|
+
};
|
|
95
|
+
exports.expoRunAndroid = expoRunAndroid;
|
|
96
|
+
|
|
97
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/run/android/index.ts"],"sourcesContent":["#!/usr/bin/env node\nimport arg from 'arg';\nimport chalk from 'chalk';\nimport path from 'path';\n\nimport { Command } from '../../../bin/cli';\nimport * as Log from '../../log';\nimport { assertWithOptionsArgs } from '../../utils/args';\nimport { logCmdError } from '../../utils/errors';\n\nexport const expoRunAndroid: Command = async (argv) => {\n const rawArgsMap: arg.Spec = {\n // Types\n '--help': Boolean,\n '--no-build-cache': Boolean,\n '--no-install': Boolean,\n '--no-bundler': Boolean,\n '--variant': String,\n\n '--port': Number,\n // Aliases\n '-p': '--port',\n\n '-h': '--help',\n };\n const args = assertWithOptionsArgs(rawArgsMap, {\n argv,\n\n permissive: true,\n });\n\n // '-d' -> '--device': Boolean,\n\n if (args['--help']) {\n Log.exit(\n chalk`\n {bold Description}\n Run the native Android app locally\n\n {bold Usage}\n $ npx expo run:android <dir>\n\n {bold Options} \n --no-build-cache Clear the native build cache\n --no-install Skip installing dependencies\n --no-bundler Skip starting the bundler\n --variant <name> Build variant. {dim Default: debug}\n -d, --device [device] Device name to run the app on\n -p, --port <port> Port to start the dev server on. {dim Default: 8081}\n -h, --help Output usage information\n`,\n 0\n );\n }\n\n const { resolveStringOrBooleanArgsAsync } = await import('../../utils/resolveArgs');\n const parsed = await resolveStringOrBooleanArgsAsync(argv ?? [], rawArgsMap, {\n '--device': Boolean,\n '-d': '--device',\n }).catch(logCmdError);\n\n const { runAndroidAsync } = await import('./runAndroidAsync');\n\n return runAndroidAsync(path.resolve(parsed.projectRoot), {\n // Parsed options\n buildCache: !args['--no-build-cache'],\n install: !args['--no-install'],\n bundler: !args['--no-bundler'],\n port: args['--port'],\n variant: args['--variant'],\n\n // Custom parsed args\n device: parsed.args['--device'],\n }).catch(logCmdError);\n};\n"],"names":["Log","expoRunAndroid","argv","rawArgsMap","Boolean","String","Number","args","assertWithOptionsArgs","permissive","exit","chalk","resolveStringOrBooleanArgsAsync","parsed","catch","logCmdError","runAndroidAsync","path","resolve","projectRoot","buildCache","install","bundler","port","variant","device"],"mappings":"AAAA;;;;;;AAEkB,IAAA,MAAO,kCAAP,OAAO,EAAA;AACR,IAAA,KAAM,kCAAN,MAAM,EAAA;AAGXA,IAAAA,GAAG,mCAAM,WAAW,EAAjB;AACuB,IAAA,KAAkB,WAAlB,kBAAkB,CAAA;AAC5B,IAAA,OAAoB,WAApB,oBAAoB,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEzC,MAAMC,cAAc,GAAY,OAAOC,IAAI,GAAK;IACrD,MAAMC,UAAU,GAAa;QAC3B,QAAQ;QACR,QAAQ,EAAEC,OAAO;QACjB,kBAAkB,EAAEA,OAAO;QAC3B,cAAc,EAAEA,OAAO;QACvB,cAAc,EAAEA,OAAO;QACvB,WAAW,EAAEC,MAAM;QAEnB,QAAQ,EAAEC,MAAM;QAChB,UAAU;QACV,IAAI,EAAE,QAAQ;QAEd,IAAI,EAAE,QAAQ;KACf,AAAC;IACF,MAAMC,IAAI,GAAGC,CAAAA,GAAAA,KAAqB,AAIhC,CAAA,sBAJgC,CAACL,UAAU,EAAE;QAC7CD,IAAI;QAEJO,UAAU,EAAE,IAAI;KACjB,CAAC,AAAC;IAEH,+BAA+B;IAE/B,IAAIF,IAAI,CAAC,QAAQ,CAAC,EAAE;QAClBP,GAAG,CAACU,IAAI,CACNC,MAAK,QAAA,CAAC;;;;;;;;;;;;;;;AAeZ,CAAC,EACK,CAAC,CACF,CAAC;KACH;IAED,MAAM,EAAEC,+BAA+B,CAAA,EAAE,GAAG,MAAM;+CAAO,yBAAyB;MAAC,AAAC;IACpF,MAAMC,MAAM,GAAG,MAAMD,+BAA+B,CAACV,IAAI,WAAJA,IAAI,GAAI,EAAE,EAAEC,UAAU,EAAE;QAC3E,UAAU,EAAEC,OAAO;QACnB,IAAI,EAAE,UAAU;KACjB,CAAC,CAACU,KAAK,CAACC,OAAW,YAAA,CAAC,AAAC;IAEtB,MAAM,EAAEC,eAAe,CAAA,EAAE,GAAG,MAAM;+CAAO,mBAAmB;MAAC,AAAC;IAE9D,OAAOA,eAAe,CAACC,KAAI,QAAA,CAACC,OAAO,CAACL,MAAM,CAACM,WAAW,CAAC,EAAE;QACvD,iBAAiB;QACjBC,UAAU,EAAE,CAACb,IAAI,CAAC,kBAAkB,CAAC;QACrCc,OAAO,EAAE,CAACd,IAAI,CAAC,cAAc,CAAC;QAC9Be,OAAO,EAAE,CAACf,IAAI,CAAC,cAAc,CAAC;QAC9BgB,IAAI,EAAEhB,IAAI,CAAC,QAAQ,CAAC;QACpBiB,OAAO,EAAEjB,IAAI,CAAC,WAAW,CAAC;QAE1B,qBAAqB;QACrBkB,MAAM,EAAEZ,MAAM,CAACN,IAAI,CAAC,UAAU,CAAC;KAChC,CAAC,CAACO,KAAK,CAACC,OAAW,YAAA,CAAC,CAAC;CACvB,AAAC;QAhEWd,cAAc,GAAdA,cAAc"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
exports.resolveDeviceAsync = resolveDeviceAsync;
|
|
6
|
+
var _androidDeviceManager = require("../../start/platforms/android/AndroidDeviceManager");
|
|
7
|
+
var _hints = require("../hints");
|
|
8
|
+
const debug = require("debug")("expo:android:resolveDevice");
|
|
9
|
+
async function resolveDeviceAsync(device) {
|
|
10
|
+
if (!device) {
|
|
11
|
+
const manager = await _androidDeviceManager.AndroidDeviceManager.resolveAsync();
|
|
12
|
+
debug(`Resolved default device (name: ${manager.device.name}, pid: ${manager.device.pid})`);
|
|
13
|
+
return manager;
|
|
14
|
+
}
|
|
15
|
+
debug(`Resolving device from argument: ${device}`);
|
|
16
|
+
const manager = device === true ? await _androidDeviceManager.AndroidDeviceManager.resolveAsync({
|
|
17
|
+
shouldPrompt: true
|
|
18
|
+
}) : await _androidDeviceManager.AndroidDeviceManager.resolveFromNameAsync(device);
|
|
19
|
+
(0, _hints).logDeviceArgument(manager.device.name);
|
|
20
|
+
return manager;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
//# sourceMappingURL=resolveDevice.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/run/android/resolveDevice.ts"],"sourcesContent":["import { AndroidDeviceManager } from '../../start/platforms/android/AndroidDeviceManager';\nimport { logDeviceArgument } from '../hints';\n\nconst debug = require('debug')('expo:android:resolveDevice');\n\n/** Given a `device` argument from the CLI, parse and prompt our way to a usable device for building. */\nexport async function resolveDeviceAsync(device?: string | boolean) {\n if (!device) {\n const manager = await AndroidDeviceManager.resolveAsync();\n debug(`Resolved default device (name: ${manager.device.name}, pid: ${manager.device.pid})`);\n return manager;\n }\n\n debug(`Resolving device from argument: ${device}`);\n const manager =\n device === true\n ? // `--device` (no props after)\n await AndroidDeviceManager.resolveAsync({ shouldPrompt: true })\n : // `--device <name>`\n await AndroidDeviceManager.resolveFromNameAsync(device);\n logDeviceArgument(manager.device.name);\n return manager;\n}\n"],"names":["resolveDeviceAsync","debug","require","device","manager","AndroidDeviceManager","resolveAsync","name","pid","shouldPrompt","resolveFromNameAsync","logDeviceArgument"],"mappings":"AAAA;;;;QAMsBA,kBAAkB,GAAlBA,kBAAkB;AANH,IAAA,qBAAoD,WAApD,oDAAoD,CAAA;AACvD,IAAA,MAAU,WAAV,UAAU,CAAA;AAE5C,MAAMC,KAAK,GAAGC,OAAO,CAAC,OAAO,CAAC,CAAC,4BAA4B,CAAC,AAAC;AAGtD,eAAeF,kBAAkB,CAACG,MAAyB,EAAE;IAClE,IAAI,CAACA,MAAM,EAAE;QACX,MAAMC,OAAO,GAAG,MAAMC,qBAAoB,qBAAA,CAACC,YAAY,EAAE,AAAC;QAC1DL,KAAK,CAAC,CAAC,+BAA+B,EAAEG,OAAO,CAACD,MAAM,CAACI,IAAI,CAAC,OAAO,EAAEH,OAAO,CAACD,MAAM,CAACK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5F,OAAOJ,OAAO,CAAC;KAChB;IAEDH,KAAK,CAAC,CAAC,gCAAgC,EAAEE,MAAM,CAAC,CAAC,CAAC,CAAC;IACnD,MAAMC,OAAO,GACXD,MAAM,KAAK,IAAI,GAEX,MAAME,qBAAoB,qBAAA,CAACC,YAAY,CAAC;QAAEG,YAAY,EAAE,IAAI;KAAE,CAAC,GAE/D,MAAMJ,qBAAoB,qBAAA,CAACK,oBAAoB,CAACP,MAAM,CAAC,AAAC;IAC9DQ,CAAAA,GAAAA,MAAiB,AAAqB,CAAA,kBAArB,CAACP,OAAO,CAACD,MAAM,CAACI,IAAI,CAAC,CAAC;IACvC,OAAOH,OAAO,CAAC;CAChB"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
exports.resolveGradleProps = resolveGradleProps;
|
|
6
|
+
var _path = _interopRequireDefault(require("path"));
|
|
7
|
+
var _errors = require("../../utils/errors");
|
|
8
|
+
function _interopRequireDefault(obj) {
|
|
9
|
+
return obj && obj.__esModule ? obj : {
|
|
10
|
+
default: obj
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
function assertVariant(variant) {
|
|
14
|
+
if (variant && typeof variant !== "string") {
|
|
15
|
+
throw new _errors.CommandError("BAD_ARGS", "--variant must be a string");
|
|
16
|
+
}
|
|
17
|
+
return variant != null ? variant : "debug";
|
|
18
|
+
}
|
|
19
|
+
function resolveGradleProps(projectRoot, options) {
|
|
20
|
+
const variant = assertVariant(options.variant);
|
|
21
|
+
// NOTE(EvanBacon): Why would this be different? Can we get the different name?
|
|
22
|
+
const appName = "app";
|
|
23
|
+
const apkDirectory = _path.default.join(projectRoot, "android", appName, "build", "outputs", "apk");
|
|
24
|
+
// buildDeveloperTrust -> build, developer, trust (where developer, and trust are flavors).
|
|
25
|
+
// This won't work for non-standard flavor names like "myFlavor" would be treated as "my", "flavor".
|
|
26
|
+
const [buildType, ...flavors] = variant.split(/(?=[A-Z])/).map((v)=>v.toLowerCase()
|
|
27
|
+
);
|
|
28
|
+
const apkVariantDirectory = _path.default.join(apkDirectory, ...flavors, buildType);
|
|
29
|
+
return {
|
|
30
|
+
appName,
|
|
31
|
+
buildType,
|
|
32
|
+
flavors,
|
|
33
|
+
apkVariantDirectory
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
//# sourceMappingURL=resolveGradleProps.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/run/android/resolveGradleProps.ts"],"sourcesContent":["import path from 'path';\n\nimport { CommandError } from '../../utils/errors';\n\nexport type GradleProps = {\n /** Directory for the APK based on the `variant`. */\n apkVariantDirectory: string;\n /** Name of the app, used in the `apkVariantDirectory`. */\n appName: string;\n /** First section of the provided `variant`, indicates the last part of the file name for the output APK. */\n buildType: string;\n /** Used to assemble the APK, also included in the output APK filename. */\n flavors?: string[];\n};\n\nfunction assertVariant(variant?: string) {\n if (variant && typeof variant !== 'string') {\n throw new CommandError('BAD_ARGS', '--variant must be a string');\n }\n return variant ?? 'debug';\n}\n\nexport function resolveGradleProps(\n projectRoot: string,\n options: { variant?: string }\n): GradleProps {\n const variant = assertVariant(options.variant);\n // NOTE(EvanBacon): Why would this be different? Can we get the different name?\n const appName = 'app';\n\n const apkDirectory = path.join(projectRoot, 'android', appName, 'build', 'outputs', 'apk');\n\n // buildDeveloperTrust -> build, developer, trust (where developer, and trust are flavors).\n // This won't work for non-standard flavor names like \"myFlavor\" would be treated as \"my\", \"flavor\".\n const [buildType, ...flavors] = variant.split(/(?=[A-Z])/).map((v) => v.toLowerCase());\n const apkVariantDirectory = path.join(apkDirectory, ...flavors, buildType);\n\n return {\n appName,\n buildType,\n flavors,\n apkVariantDirectory,\n };\n}\n"],"names":["resolveGradleProps","assertVariant","variant","CommandError","projectRoot","options","appName","apkDirectory","path","join","buildType","flavors","split","map","v","toLowerCase","apkVariantDirectory"],"mappings":"AAAA;;;;QAsBgBA,kBAAkB,GAAlBA,kBAAkB;AAtBjB,IAAA,KAAM,kCAAN,MAAM,EAAA;AAEM,IAAA,OAAoB,WAApB,oBAAoB,CAAA;;;;;;AAajD,SAASC,aAAa,CAACC,OAAgB,EAAE;IACvC,IAAIA,OAAO,IAAI,OAAOA,OAAO,KAAK,QAAQ,EAAE;QAC1C,MAAM,IAAIC,OAAY,aAAA,CAAC,UAAU,EAAE,4BAA4B,CAAC,CAAC;KAClE;IACD,OAAOD,OAAO,WAAPA,OAAO,GAAI,OAAO,CAAC;CAC3B;AAEM,SAASF,kBAAkB,CAChCI,WAAmB,EACnBC,OAA6B,EAChB;IACb,MAAMH,OAAO,GAAGD,aAAa,CAACI,OAAO,CAACH,OAAO,CAAC,AAAC;IAC/C,+EAA+E;IAC/E,MAAMI,OAAO,GAAG,KAAK,AAAC;IAEtB,MAAMC,YAAY,GAAGC,KAAI,QAAA,CAACC,IAAI,CAACL,WAAW,EAAE,SAAS,EAAEE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,AAAC;IAE3F,2FAA2F;IAC3F,oGAAoG;IACpG,MAAM,CAACI,SAAS,EAAE,GAAGC,OAAO,CAAC,GAAGT,OAAO,CAACU,KAAK,aAAa,CAACC,GAAG,CAAC,CAACC,CAAC,GAAKA,CAAC,CAACC,WAAW,EAAE;IAAA,CAAC,AAAC;IACvF,MAAMC,mBAAmB,GAAGR,KAAI,QAAA,CAACC,IAAI,CAACF,YAAY,KAAKI,OAAO,EAAED,SAAS,CAAC,AAAC;IAE3E,OAAO;QACLJ,OAAO;QACPI,SAAS;QACTC,OAAO;QACPK,mBAAmB;KACpB,CAAC;CACH"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
exports.resolveInstallApkNameAsync = resolveInstallApkNameAsync;
|
|
6
|
+
var _fs = _interopRequireDefault(require("fs"));
|
|
7
|
+
var _path = _interopRequireDefault(require("path"));
|
|
8
|
+
var Log = _interopRequireWildcard(require("../../log"));
|
|
9
|
+
var _adb = require("../../start/platforms/android/adb");
|
|
10
|
+
function _interopRequireDefault(obj) {
|
|
11
|
+
return obj && obj.__esModule ? obj : {
|
|
12
|
+
default: obj
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
function _interopRequireWildcard(obj) {
|
|
16
|
+
if (obj && obj.__esModule) {
|
|
17
|
+
return obj;
|
|
18
|
+
} else {
|
|
19
|
+
var newObj = {};
|
|
20
|
+
if (obj != null) {
|
|
21
|
+
for(var key in obj){
|
|
22
|
+
if (Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
23
|
+
var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {};
|
|
24
|
+
if (desc.get || desc.set) {
|
|
25
|
+
Object.defineProperty(newObj, key, desc);
|
|
26
|
+
} else {
|
|
27
|
+
newObj[key] = obj[key];
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
newObj.default = obj;
|
|
33
|
+
return newObj;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
async function resolveInstallApkNameAsync(device, { appName , buildType , flavors , apkVariantDirectory }) {
|
|
37
|
+
const availableCPUs = await (0, _adb).getDeviceABIsAsync(device);
|
|
38
|
+
availableCPUs.push(_adb.DeviceABI.universal);
|
|
39
|
+
Log.debug("Supported ABIs: " + availableCPUs.join(", "));
|
|
40
|
+
Log.debug("Searching for APK: " + apkVariantDirectory);
|
|
41
|
+
// Check for cpu specific builds first
|
|
42
|
+
for (const availableCPU of availableCPUs){
|
|
43
|
+
const apkName = getApkFileName(appName, buildType, flavors, availableCPU);
|
|
44
|
+
const apkPath = _path.default.join(apkVariantDirectory, apkName);
|
|
45
|
+
Log.debug("Checking for APK at:", apkPath);
|
|
46
|
+
if (_fs.default.existsSync(apkPath)) {
|
|
47
|
+
return apkName;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
// Otherwise use the default apk named after the variant: app-debug.apk
|
|
51
|
+
const apkName = getApkFileName(appName, buildType, flavors);
|
|
52
|
+
const apkPath = _path.default.join(apkVariantDirectory, apkName);
|
|
53
|
+
Log.debug("Checking for fallback APK at:", apkPath);
|
|
54
|
+
if (_fs.default.existsSync(apkPath)) {
|
|
55
|
+
return apkName;
|
|
56
|
+
}
|
|
57
|
+
return null;
|
|
58
|
+
}
|
|
59
|
+
function getApkFileName(appName, buildType, flavors, cpuArch) {
|
|
60
|
+
let apkName = `${appName}-`;
|
|
61
|
+
if (flavors) {
|
|
62
|
+
apkName += flavors.reduce((rest, flavor)=>`${rest}${flavor}-`
|
|
63
|
+
, "");
|
|
64
|
+
}
|
|
65
|
+
if (cpuArch) {
|
|
66
|
+
apkName += `${cpuArch}-`;
|
|
67
|
+
}
|
|
68
|
+
apkName += `${buildType}.apk`;
|
|
69
|
+
return apkName;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
//# sourceMappingURL=resolveInstallApkName.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/run/android/resolveInstallApkName.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\n\nimport * as Log from '../../log';\nimport { Device, DeviceABI, getDeviceABIsAsync } from '../../start/platforms/android/adb';\nimport { GradleProps } from './resolveGradleProps';\n\nexport async function resolveInstallApkNameAsync(\n device: Pick<Device, 'name' | 'pid'>,\n { appName, buildType, flavors, apkVariantDirectory }: GradleProps\n) {\n const availableCPUs = await getDeviceABIsAsync(device);\n availableCPUs.push(DeviceABI.universal);\n\n Log.debug('Supported ABIs: ' + availableCPUs.join(', '));\n Log.debug('Searching for APK: ' + apkVariantDirectory);\n\n // Check for cpu specific builds first\n for (const availableCPU of availableCPUs) {\n const apkName = getApkFileName(appName, buildType, flavors, availableCPU);\n const apkPath = path.join(apkVariantDirectory, apkName);\n Log.debug('Checking for APK at:', apkPath);\n if (fs.existsSync(apkPath)) {\n return apkName;\n }\n }\n\n // Otherwise use the default apk named after the variant: app-debug.apk\n const apkName = getApkFileName(appName, buildType, flavors);\n const apkPath = path.join(apkVariantDirectory, apkName);\n Log.debug('Checking for fallback APK at:', apkPath);\n if (fs.existsSync(apkPath)) {\n return apkName;\n }\n\n return null;\n}\n\nfunction getApkFileName(\n appName: string,\n buildType: string,\n flavors?: string[] | null,\n cpuArch?: string | null\n) {\n let apkName = `${appName}-`;\n if (flavors) {\n apkName += flavors.reduce((rest, flavor) => `${rest}${flavor}-`, '');\n }\n if (cpuArch) {\n apkName += `${cpuArch}-`;\n }\n apkName += `${buildType}.apk`;\n\n return apkName;\n}\n"],"names":["resolveInstallApkNameAsync","Log","device","appName","buildType","flavors","apkVariantDirectory","availableCPUs","getDeviceABIsAsync","push","DeviceABI","universal","debug","join","availableCPU","apkName","getApkFileName","apkPath","path","fs","existsSync","cpuArch","reduce","rest","flavor"],"mappings":"AAAA;;;;QAOsBA,0BAA0B,GAA1BA,0BAA0B;AAPjC,IAAA,GAAI,kCAAJ,IAAI,EAAA;AACF,IAAA,KAAM,kCAAN,MAAM,EAAA;AAEXC,IAAAA,GAAG,mCAAM,WAAW,EAAjB;AACuC,IAAA,IAAmC,WAAnC,mCAAmC,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGlF,eAAeD,0BAA0B,CAC9CE,MAAoC,EACpC,EAAEC,OAAO,CAAA,EAAEC,SAAS,CAAA,EAAEC,OAAO,CAAA,EAAEC,mBAAmB,CAAA,EAAe,EACjE;IACA,MAAMC,aAAa,GAAG,MAAMC,CAAAA,GAAAA,IAAkB,AAAQ,CAAA,mBAAR,CAACN,MAAM,CAAC,AAAC;IACvDK,aAAa,CAACE,IAAI,CAACC,IAAS,UAAA,CAACC,SAAS,CAAC,CAAC;IAExCV,GAAG,CAACW,KAAK,CAAC,kBAAkB,GAAGL,aAAa,CAACM,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACzDZ,GAAG,CAACW,KAAK,CAAC,qBAAqB,GAAGN,mBAAmB,CAAC,CAAC;IAEvD,sCAAsC;IACtC,KAAK,MAAMQ,YAAY,IAAIP,aAAa,CAAE;QACxC,MAAMQ,OAAO,GAAGC,cAAc,CAACb,OAAO,EAAEC,SAAS,EAAEC,OAAO,EAAES,YAAY,CAAC,AAAC;QAC1E,MAAMG,OAAO,GAAGC,KAAI,QAAA,CAACL,IAAI,CAACP,mBAAmB,EAAES,OAAO,CAAC,AAAC;QACxDd,GAAG,CAACW,KAAK,CAAC,sBAAsB,EAAEK,OAAO,CAAC,CAAC;QAC3C,IAAIE,GAAE,QAAA,CAACC,UAAU,CAACH,OAAO,CAAC,EAAE;YAC1B,OAAOF,OAAO,CAAC;SAChB;KACF;IAED,uEAAuE;IACvE,MAAMA,OAAO,GAAGC,cAAc,CAACb,OAAO,EAAEC,SAAS,EAAEC,OAAO,CAAC,AAAC;IAC5D,MAAMY,OAAO,GAAGC,KAAI,QAAA,CAACL,IAAI,CAACP,mBAAmB,EAAES,OAAO,CAAC,AAAC;IACxDd,GAAG,CAACW,KAAK,CAAC,+BAA+B,EAAEK,OAAO,CAAC,CAAC;IACpD,IAAIE,GAAE,QAAA,CAACC,UAAU,CAACH,OAAO,CAAC,EAAE;QAC1B,OAAOF,OAAO,CAAC;KAChB;IAED,OAAO,IAAI,CAAC;CACb;AAED,SAASC,cAAc,CACrBb,OAAe,EACfC,SAAiB,EACjBC,OAAyB,EACzBgB,OAAuB,EACvB;IACA,IAAIN,OAAO,GAAG,CAAC,EAAEZ,OAAO,CAAC,CAAC,CAAC,AAAC;IAC5B,IAAIE,OAAO,EAAE;QACXU,OAAO,IAAIV,OAAO,CAACiB,MAAM,CAAC,CAACC,IAAI,EAAEC,MAAM,GAAK,CAAC,EAAED,IAAI,CAAC,EAAEC,MAAM,CAAC,CAAC,CAAC;QAAA,EAAE,EAAE,CAAC,CAAC;KACtE;IACD,IAAIH,OAAO,EAAE;QACXN,OAAO,IAAI,CAAC,EAAEM,OAAO,CAAC,CAAC,CAAC,CAAC;KAC1B;IACDN,OAAO,IAAI,CAAC,EAAEX,SAAS,CAAC,IAAI,CAAC,CAAC;IAE9B,OAAOW,OAAO,CAAC;CAChB"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
exports.resolveLaunchPropsAsync = resolveLaunchPropsAsync;
|
|
6
|
+
var _configPlugins = require("@expo/config-plugins");
|
|
7
|
+
var _androidAppIdResolver = require("../../start/platforms/android/AndroidAppIdResolver");
|
|
8
|
+
var _errors = require("../../utils/errors");
|
|
9
|
+
async function getMainActivityAsync(projectRoot) {
|
|
10
|
+
const filePath = await _configPlugins.AndroidConfig.Paths.getAndroidManifestAsync(projectRoot);
|
|
11
|
+
const androidManifest = await _configPlugins.AndroidConfig.Manifest.readAndroidManifestAsync(filePath);
|
|
12
|
+
// Assert MainActivity defined.
|
|
13
|
+
const activity = await _configPlugins.AndroidConfig.Manifest.getRunnableActivity(androidManifest);
|
|
14
|
+
if (!activity) {
|
|
15
|
+
throw new _errors.CommandError("ANDROID_MALFORMED", `${filePath} is missing a runnable activity element.`);
|
|
16
|
+
}
|
|
17
|
+
// Often this is ".MainActivity"
|
|
18
|
+
return activity.$["android:name"];
|
|
19
|
+
}
|
|
20
|
+
async function resolveLaunchPropsAsync(projectRoot) {
|
|
21
|
+
// Often this is ".MainActivity"
|
|
22
|
+
const mainActivity = await getMainActivityAsync(projectRoot);
|
|
23
|
+
const packageName = await new _androidAppIdResolver.AndroidAppIdResolver(projectRoot).getAppIdFromNativeAsync();
|
|
24
|
+
const launchActivity = `${packageName}/${mainActivity}`;
|
|
25
|
+
return {
|
|
26
|
+
mainActivity,
|
|
27
|
+
launchActivity,
|
|
28
|
+
packageName
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
//# sourceMappingURL=resolveLaunchProps.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/run/android/resolveLaunchProps.ts"],"sourcesContent":["import { AndroidConfig } from '@expo/config-plugins';\n\nimport { AndroidAppIdResolver } from '../../start/platforms/android/AndroidAppIdResolver';\nimport { CommandError } from '../../utils/errors';\n\nexport interface LaunchProps {\n packageName: string;\n mainActivity: string;\n launchActivity: string;\n}\n\nasync function getMainActivityAsync(projectRoot: string): Promise<string> {\n const filePath = await AndroidConfig.Paths.getAndroidManifestAsync(projectRoot);\n const androidManifest = await AndroidConfig.Manifest.readAndroidManifestAsync(filePath);\n\n // Assert MainActivity defined.\n const activity = await AndroidConfig.Manifest.getRunnableActivity(androidManifest);\n if (!activity) {\n throw new CommandError(\n 'ANDROID_MALFORMED',\n `${filePath} is missing a runnable activity element.`\n );\n }\n // Often this is \".MainActivity\"\n return activity.$['android:name'];\n}\n\nexport async function resolveLaunchPropsAsync(projectRoot: string): Promise<LaunchProps> {\n // Often this is \".MainActivity\"\n const mainActivity = await getMainActivityAsync(projectRoot);\n\n const packageName = await new AndroidAppIdResolver(projectRoot).getAppIdFromNativeAsync();\n const launchActivity = `${packageName}/${mainActivity}`;\n\n return {\n mainActivity,\n launchActivity,\n packageName,\n };\n}\n"],"names":["resolveLaunchPropsAsync","getMainActivityAsync","projectRoot","filePath","AndroidConfig","Paths","getAndroidManifestAsync","androidManifest","Manifest","readAndroidManifestAsync","activity","getRunnableActivity","CommandError","$","mainActivity","packageName","AndroidAppIdResolver","getAppIdFromNativeAsync","launchActivity"],"mappings":"AAAA;;;;QA2BsBA,uBAAuB,GAAvBA,uBAAuB;AA3Bf,IAAA,cAAsB,WAAtB,sBAAsB,CAAA;AAEf,IAAA,qBAAoD,WAApD,oDAAoD,CAAA;AAC5D,IAAA,OAAoB,WAApB,oBAAoB,CAAA;AAQjD,eAAeC,oBAAoB,CAACC,WAAmB,EAAmB;IACxE,MAAMC,QAAQ,GAAG,MAAMC,cAAa,cAAA,CAACC,KAAK,CAACC,uBAAuB,CAACJ,WAAW,CAAC,AAAC;IAChF,MAAMK,eAAe,GAAG,MAAMH,cAAa,cAAA,CAACI,QAAQ,CAACC,wBAAwB,CAACN,QAAQ,CAAC,AAAC;IAExF,+BAA+B;IAC/B,MAAMO,QAAQ,GAAG,MAAMN,cAAa,cAAA,CAACI,QAAQ,CAACG,mBAAmB,CAACJ,eAAe,CAAC,AAAC;IACnF,IAAI,CAACG,QAAQ,EAAE;QACb,MAAM,IAAIE,OAAY,aAAA,CACpB,mBAAmB,EACnB,CAAC,EAAET,QAAQ,CAAC,wCAAwC,CAAC,CACtD,CAAC;KACH;IACD,gCAAgC;IAChC,OAAOO,QAAQ,CAACG,CAAC,CAAC,cAAc,CAAC,CAAC;CACnC;AAEM,eAAeb,uBAAuB,CAACE,WAAmB,EAAwB;IACvF,gCAAgC;IAChC,MAAMY,YAAY,GAAG,MAAMb,oBAAoB,CAACC,WAAW,CAAC,AAAC;IAE7D,MAAMa,WAAW,GAAG,MAAM,IAAIC,qBAAoB,qBAAA,CAACd,WAAW,CAAC,CAACe,uBAAuB,EAAE,AAAC;IAC1F,MAAMC,cAAc,GAAG,CAAC,EAAEH,WAAW,CAAC,CAAC,EAAED,YAAY,CAAC,CAAC,AAAC;IAExD,OAAO;QACLA,YAAY;QACZI,cAAc;QACdH,WAAW;KACZ,CAAC;CACH"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
exports.resolveOptionsAsync = resolveOptionsAsync;
|
|
6
|
+
var _resolveBundlerProps = require("../resolveBundlerProps");
|
|
7
|
+
var _resolveDevice = require("./resolveDevice");
|
|
8
|
+
var _resolveGradleProps = require("./resolveGradleProps");
|
|
9
|
+
var _resolveLaunchProps = require("./resolveLaunchProps");
|
|
10
|
+
async function resolveOptionsAsync(projectRoot, options) {
|
|
11
|
+
var _variant;
|
|
12
|
+
return {
|
|
13
|
+
...await (0, _resolveBundlerProps).resolveBundlerPropsAsync(projectRoot, options),
|
|
14
|
+
...(0, _resolveGradleProps).resolveGradleProps(projectRoot, options),
|
|
15
|
+
...await (0, _resolveLaunchProps).resolveLaunchPropsAsync(projectRoot),
|
|
16
|
+
variant: (_variant = options.variant) != null ? _variant : "debug",
|
|
17
|
+
// Resolve the device based on the provided device id or prompt
|
|
18
|
+
// from a list of devices (connected or simulated) that are filtered by the scheme.
|
|
19
|
+
device: await (0, _resolveDevice).resolveDeviceAsync(options.device),
|
|
20
|
+
buildCache: !!options.buildCache,
|
|
21
|
+
install: !!options.install
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
//# sourceMappingURL=resolveOptions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/run/android/resolveOptions.ts"],"sourcesContent":["import { AndroidDeviceManager } from '../../start/platforms/android/AndroidDeviceManager';\nimport { BundlerProps, resolveBundlerPropsAsync } from '../resolveBundlerProps';\nimport { resolveDeviceAsync } from './resolveDevice';\nimport { GradleProps, resolveGradleProps } from './resolveGradleProps';\nimport { LaunchProps, resolveLaunchPropsAsync } from './resolveLaunchProps';\n\nexport type Options = {\n variant?: string;\n device?: boolean | string;\n port?: number;\n bundler?: boolean;\n install?: boolean;\n buildCache?: boolean;\n};\n\nexport type ResolvedOptions = GradleProps &\n BundlerProps &\n LaunchProps & {\n variant: string;\n buildCache: boolean;\n device: AndroidDeviceManager;\n install: boolean;\n };\n\nexport async function resolveOptionsAsync(\n projectRoot: string,\n options: Options\n): Promise<ResolvedOptions> {\n return {\n ...(await resolveBundlerPropsAsync(projectRoot, options)),\n ...resolveGradleProps(projectRoot, options),\n ...(await resolveLaunchPropsAsync(projectRoot)),\n variant: options.variant ?? 'debug',\n // Resolve the device based on the provided device id or prompt\n // from a list of devices (connected or simulated) that are filtered by the scheme.\n device: await resolveDeviceAsync(options.device),\n buildCache: !!options.buildCache,\n install: !!options.install,\n };\n}\n"],"names":["resolveOptionsAsync","projectRoot","options","resolveBundlerPropsAsync","resolveGradleProps","resolveLaunchPropsAsync","variant","device","resolveDeviceAsync","buildCache","install"],"mappings":"AAAA;;;;QAwBsBA,mBAAmB,GAAnBA,mBAAmB;AAvBc,IAAA,oBAAwB,WAAxB,wBAAwB,CAAA;AAC5C,IAAA,cAAiB,WAAjB,iBAAiB,CAAA;AACJ,IAAA,mBAAsB,WAAtB,sBAAsB,CAAA;AACjB,IAAA,mBAAsB,WAAtB,sBAAsB,CAAA;AAoBpE,eAAeA,mBAAmB,CACvCC,WAAmB,EACnBC,OAAgB,EACU;QAKfA,QAAe;IAJ1B,OAAO;QACL,GAAI,MAAMC,CAAAA,GAAAA,oBAAwB,AAAsB,CAAA,yBAAtB,CAACF,WAAW,EAAEC,OAAO,CAAC;QACxD,GAAGE,CAAAA,GAAAA,mBAAkB,AAAsB,CAAA,mBAAtB,CAACH,WAAW,EAAEC,OAAO,CAAC;QAC3C,GAAI,MAAMG,CAAAA,GAAAA,mBAAuB,AAAa,CAAA,wBAAb,CAACJ,WAAW,CAAC;QAC9CK,OAAO,EAAEJ,CAAAA,QAAe,GAAfA,OAAO,CAACI,OAAO,YAAfJ,QAAe,GAAI,OAAO;QACnC,+DAA+D;QAC/D,mFAAmF;QACnFK,MAAM,EAAE,MAAMC,CAAAA,GAAAA,cAAkB,AAAgB,CAAA,mBAAhB,CAACN,OAAO,CAACK,MAAM,CAAC;QAChDE,UAAU,EAAE,CAAC,CAACP,OAAO,CAACO,UAAU;QAChCC,OAAO,EAAE,CAAC,CAACR,OAAO,CAACQ,OAAO;KAC3B,CAAC;CACH"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
exports.runAndroidAsync = runAndroidAsync;
|
|
6
|
+
var _path = _interopRequireDefault(require("path"));
|
|
7
|
+
var _log = require("../../log");
|
|
8
|
+
var _gradle = require("../../start/platforms/android/gradle");
|
|
9
|
+
var _scheme = require("../../utils/scheme");
|
|
10
|
+
var _ensureNativeProject = require("../ensureNativeProject");
|
|
11
|
+
var _hints = require("../hints");
|
|
12
|
+
var _startBundler = require("../startBundler");
|
|
13
|
+
var _resolveInstallApkName = require("./resolveInstallApkName");
|
|
14
|
+
var _resolveOptions = require("./resolveOptions");
|
|
15
|
+
function _interopRequireDefault(obj) {
|
|
16
|
+
return obj && obj.__esModule ? obj : {
|
|
17
|
+
default: obj
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
const debug = require("debug")("expo:run:android");
|
|
21
|
+
async function runAndroidAsync(projectRoot, { install , ...options }) {
|
|
22
|
+
var ref;
|
|
23
|
+
await (0, _ensureNativeProject).ensureNativeProjectAsync(projectRoot, {
|
|
24
|
+
platform: "android",
|
|
25
|
+
install
|
|
26
|
+
});
|
|
27
|
+
const props = await (0, _resolveOptions).resolveOptionsAsync(projectRoot, options);
|
|
28
|
+
debug("Package name: " + props.packageName);
|
|
29
|
+
_log.Log.log("\u203A Building app...");
|
|
30
|
+
const androidProjectRoot = _path.default.join(projectRoot, "android");
|
|
31
|
+
await (0, _gradle).assembleAsync(androidProjectRoot, {
|
|
32
|
+
variant: props.variant,
|
|
33
|
+
port: props.port,
|
|
34
|
+
appName: props.appName,
|
|
35
|
+
buildCache: props.buildCache
|
|
36
|
+
});
|
|
37
|
+
const manager = await (0, _startBundler).startBundlerAsync(projectRoot, {
|
|
38
|
+
port: props.port,
|
|
39
|
+
headless: !props.shouldStartBundler
|
|
40
|
+
});
|
|
41
|
+
await installAppAsync(androidProjectRoot, props);
|
|
42
|
+
await manager.getDefaultDevServer().openCustomRuntimeAsync("emulator", {
|
|
43
|
+
applicationId: props.packageName,
|
|
44
|
+
// If a scheme is specified then use that instead of the package name.
|
|
45
|
+
scheme: (ref = await (0, _scheme).getSchemesForAndroidAsync(projectRoot)) == null ? void 0 : ref[0]
|
|
46
|
+
}, {
|
|
47
|
+
device: props.device.device
|
|
48
|
+
});
|
|
49
|
+
if (props.shouldStartBundler) {
|
|
50
|
+
(0, _hints).logProjectLogsLocation();
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
async function installAppAsync(androidProjectRoot, props) {
|
|
54
|
+
// Find the APK file path
|
|
55
|
+
const apkFile = await (0, _resolveInstallApkName).resolveInstallApkNameAsync(props.device.device, props);
|
|
56
|
+
if (apkFile) {
|
|
57
|
+
// Attempt to install the APK from the file path
|
|
58
|
+
const binaryPath = _path.default.join(props.apkVariantDirectory, apkFile);
|
|
59
|
+
debug("Installing:", binaryPath);
|
|
60
|
+
await props.device.installAppAsync(binaryPath);
|
|
61
|
+
} else {
|
|
62
|
+
// If we cannot resolve the APK file path then we can attempt to install using Gradle.
|
|
63
|
+
// This offers more advanced resolution that we may not have first class support for.
|
|
64
|
+
_log.Log.log("\u203A Failed to locate binary file, installing with Gradle...");
|
|
65
|
+
var _variant, _appName;
|
|
66
|
+
await (0, _gradle).installAsync(androidProjectRoot, {
|
|
67
|
+
variant: (_variant = props.variant) != null ? _variant : "debug",
|
|
68
|
+
appName: (_appName = props.appName) != null ? _appName : "app",
|
|
69
|
+
port: props.port
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
//# sourceMappingURL=runAndroidAsync.js.map
|