@expo/cli 0.0.0 → 0.1.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 +106 -0
- package/build/bin/cli +125 -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 +85 -0
- package/build/src/config/index.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 +76 -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 +76 -0
- package/build/src/login/index.js.map +1 -0
- package/build/src/logout/index.js +63 -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 +101 -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 +63 -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/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 +126 -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 +108 -0
- package/build/src/start/platforms/ExpoGoInstaller.js.map +1 -0
- package/build/src/start/platforms/PlatformManager.js +96 -0
- package/build/src/start/platforms/PlatformManager.js.map +1 -0
- package/build/src/start/platforms/android/ADBServer.js +127 -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 +171 -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 +78 -0
- package/build/src/start/platforms/android/activateWindow.js.map +1 -0
- package/build/src/start/platforms/android/adb.js +230 -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/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 +252 -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 +158 -0
- package/build/src/start/server/UrlCreator.js.map +1 -0
- package/build/src/start/server/metro/MetroBundlerDevServer.js +100 -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 +53 -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 +107 -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 +303 -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 +63 -0
- package/build/src/utils/args.js.map +1 -0
- package/build/src/utils/array.js +27 -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 +34 -0
- package/build/src/utils/dir.js.map +1 -0
- package/build/src/utils/downloadAppAsync.js +71 -0
- package/build/src/utils/downloadAppAsync.js.map +1 -0
- package/build/src/utils/downloadExpoGoAsync.js +93 -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 +59 -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/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 +63 -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 +128 -4
- package/static/loading-page/index.html +270 -0
- package/index.js +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/logout/index.ts"],"sourcesContent":["#!/usr/bin/env node\nimport chalk from 'chalk';\n\nimport { Command } from '../../bin/cli';\nimport * as Log from '../log';\nimport { assertArgs } from '../utils/args';\nimport { logCmdError } from '../utils/errors';\n\nexport const expoLogout: 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 Log.exit(\n chalk`\n {bold Description}\n Log out of an Expo account\n\n {bold Usage}\n $ npx expo logout\n\n Options\n -h, --help Output usage information\n `,\n 0\n );\n }\n\n const { logoutAsync } = await import('../api/user/user');\n return logoutAsync().catch(logCmdError);\n};\n"],"names":["Log","expoLogout","argv","args","assertArgs","Boolean","exit","chalk","logoutAsync","catch","logCmdError"],"mappings":"AAAA;;;;;;AACkB,IAAA,MAAO,kCAAP,OAAO,EAAA;AAGbA,IAAAA,GAAG,mCAAM,QAAQ,EAAd;AACY,IAAA,KAAe,WAAf,eAAe,CAAA;AACd,IAAA,OAAiB,WAAjB,iBAAiB,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEtC,MAAMC,UAAU,GAAY,OAAOC,IAAI,GAAK;IACjD,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;QAClBH,GAAG,CAACM,IAAI,CACNC,MAAK,QAAA,CAAC;;;;;;;;;IASR,CAAC,EACC,CAAC,CACF,CAAC;KACH;IAED,MAAM,EAAEC,WAAW,CAAA,EAAE,GAAG,MAAM;+CAAO,kBAAkB;MAAC,AAAC;IACzD,OAAOA,WAAW,EAAE,CAACC,KAAK,CAACC,OAAW,YAAA,CAAC,CAAC;CACzC,AAAC;QA7BWT,UAAU,GAAVA,UAAU"}
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
exports.clearNativeFolder = clearNativeFolder;
|
|
6
|
+
exports.hasRequiredAndroidFilesAsync = hasRequiredAndroidFilesAsync;
|
|
7
|
+
exports.hasRequiredIOSFilesAsync = hasRequiredIOSFilesAsync;
|
|
8
|
+
exports.getMalformedNativeProjectsAsync = getMalformedNativeProjectsAsync;
|
|
9
|
+
exports.promptToClearMalformedNativeProjectsAsync = promptToClearMalformedNativeProjectsAsync;
|
|
10
|
+
var _configPlugins = require("@expo/config-plugins");
|
|
11
|
+
var _chalk = _interopRequireDefault(require("chalk"));
|
|
12
|
+
var _fs = _interopRequireDefault(require("fs"));
|
|
13
|
+
var _path = _interopRequireDefault(require("path"));
|
|
14
|
+
var Log = _interopRequireWildcard(require("../log"));
|
|
15
|
+
var _dir = require("../utils/dir");
|
|
16
|
+
var _env = require("../utils/env");
|
|
17
|
+
var _ora = require("../utils/ora");
|
|
18
|
+
var _prompts = require("../utils/prompts");
|
|
19
|
+
function _interopRequireDefault(obj) {
|
|
20
|
+
return obj && obj.__esModule ? obj : {
|
|
21
|
+
default: obj
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
function _interopRequireWildcard(obj) {
|
|
25
|
+
if (obj && obj.__esModule) {
|
|
26
|
+
return obj;
|
|
27
|
+
} else {
|
|
28
|
+
var newObj = {};
|
|
29
|
+
if (obj != null) {
|
|
30
|
+
for(var key in obj){
|
|
31
|
+
if (Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
32
|
+
var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {};
|
|
33
|
+
if (desc.get || desc.set) {
|
|
34
|
+
Object.defineProperty(newObj, key, desc);
|
|
35
|
+
} else {
|
|
36
|
+
newObj[key] = obj[key];
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
newObj.default = obj;
|
|
42
|
+
return newObj;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
async function clearNativeFolder(projectRoot, folders) {
|
|
46
|
+
const step = (0, _ora).logNewSection(`Clearing ${folders.join(", ")}`);
|
|
47
|
+
try {
|
|
48
|
+
await Promise.all(folders.map((folderName)=>_fs.default.promises.rm(_path.default.join(projectRoot, folderName), {
|
|
49
|
+
recursive: true,
|
|
50
|
+
force: true
|
|
51
|
+
})
|
|
52
|
+
));
|
|
53
|
+
step.succeed(`Cleared ${folders.join(", ")} code`);
|
|
54
|
+
} catch (error) {
|
|
55
|
+
step.fail(`Failed to delete ${folders.join(", ")} code: ${error.message}`);
|
|
56
|
+
throw error;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
async function hasRequiredAndroidFilesAsync(projectRoot) {
|
|
60
|
+
try {
|
|
61
|
+
await Promise.all([
|
|
62
|
+
_configPlugins.AndroidConfig.Paths.getAppBuildGradleAsync(projectRoot),
|
|
63
|
+
_configPlugins.AndroidConfig.Paths.getProjectBuildGradleAsync(projectRoot),
|
|
64
|
+
_configPlugins.AndroidConfig.Paths.getAndroidManifestAsync(projectRoot),
|
|
65
|
+
_configPlugins.AndroidConfig.Paths.getMainApplicationAsync(projectRoot),
|
|
66
|
+
]);
|
|
67
|
+
return true;
|
|
68
|
+
} catch {
|
|
69
|
+
return false;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
async function hasRequiredIOSFilesAsync(projectRoot) {
|
|
73
|
+
try {
|
|
74
|
+
// If any of the following required files are missing, then the project is malformed.
|
|
75
|
+
await Promise.all([
|
|
76
|
+
_configPlugins.IOSConfig.Paths.getAppDelegate(projectRoot),
|
|
77
|
+
_configPlugins.IOSConfig.Paths.getAllXcodeProjectPaths(projectRoot),
|
|
78
|
+
_configPlugins.IOSConfig.Paths.getAllInfoPlistPaths(projectRoot),
|
|
79
|
+
_configPlugins.IOSConfig.Paths.getAllPBXProjectPaths(projectRoot),
|
|
80
|
+
]);
|
|
81
|
+
return true;
|
|
82
|
+
} catch {
|
|
83
|
+
return false;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Filter out platforms that do not have an existing platform folder.
|
|
88
|
+
* If the user wants to validate that neither of ['ios', 'android'] are malformed then we should
|
|
89
|
+
* first check that both `ios` and `android` folders exist.
|
|
90
|
+
*
|
|
91
|
+
* This optimization prevents us from prompting to clear a "malformed" project that doesn't exist yet.
|
|
92
|
+
*/ async function filterPlatformsThatDoNotExistAsync(projectRoot, platforms) {
|
|
93
|
+
const valid = await Promise.all(platforms.map(async (platform)=>{
|
|
94
|
+
if (await (0, _dir).directoryExistsAsync(_path.default.join(projectRoot, platform))) {
|
|
95
|
+
return platform;
|
|
96
|
+
}
|
|
97
|
+
return null;
|
|
98
|
+
}));
|
|
99
|
+
return valid.filter(Boolean);
|
|
100
|
+
}
|
|
101
|
+
async function getMalformedNativeProjectsAsync(projectRoot, platforms) {
|
|
102
|
+
const VERIFIERS = {
|
|
103
|
+
android: hasRequiredAndroidFilesAsync,
|
|
104
|
+
ios: hasRequiredIOSFilesAsync
|
|
105
|
+
};
|
|
106
|
+
const checkPlatforms = await filterPlatformsThatDoNotExistAsync(projectRoot, platforms);
|
|
107
|
+
return (await Promise.all(checkPlatforms.map(async (platform)=>{
|
|
108
|
+
if (await VERIFIERS[platform](projectRoot)) {
|
|
109
|
+
return false;
|
|
110
|
+
}
|
|
111
|
+
return platform;
|
|
112
|
+
}))).filter(Boolean);
|
|
113
|
+
}
|
|
114
|
+
async function promptToClearMalformedNativeProjectsAsync(projectRoot, checkPlatforms) {
|
|
115
|
+
const platforms = await getMalformedNativeProjectsAsync(projectRoot, checkPlatforms);
|
|
116
|
+
if (!platforms.length) {
|
|
117
|
+
return;
|
|
118
|
+
}
|
|
119
|
+
const displayPlatforms = platforms.map((platform)=>_chalk.default.cyan(platform)
|
|
120
|
+
);
|
|
121
|
+
// Prompt which platforms to reset.
|
|
122
|
+
const message = platforms.length > 1 ? `The ${displayPlatforms[0]} and ${displayPlatforms[1]} projects are malformed` : `The ${displayPlatforms[0]} project is malformed`;
|
|
123
|
+
if (// If the process is non-interactive, default to clearing the malformed native project.
|
|
124
|
+
// This would only happen on re-running eject.
|
|
125
|
+
_env.env.CI || // Prompt to clear the native folders.
|
|
126
|
+
(await (0, _prompts).confirmAsync({
|
|
127
|
+
message: `${message}, would you like to clear the project files and reinitialize them?`,
|
|
128
|
+
initial: true
|
|
129
|
+
}))) {
|
|
130
|
+
await clearNativeFolder(projectRoot, platforms);
|
|
131
|
+
} else {
|
|
132
|
+
// Warn the user that the process may fail.
|
|
133
|
+
Log.warn("Continuing with malformed native projects");
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
//# sourceMappingURL=clearNativeFolder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/prebuild/clearNativeFolder.ts"],"sourcesContent":["import { AndroidConfig, IOSConfig, ModPlatform } from '@expo/config-plugins';\nimport chalk from 'chalk';\nimport fs from 'fs';\nimport path from 'path';\n\nimport * as Log from '../log';\nimport { directoryExistsAsync } from '../utils/dir';\nimport { env } from '../utils/env';\nimport { logNewSection } from '../utils/ora';\nimport { confirmAsync } from '../utils/prompts';\n\n/** Delete the input native folders and print a loading step. */\nexport async function clearNativeFolder(projectRoot: string, folders: string[]) {\n const step = logNewSection(`Clearing ${folders.join(', ')}`);\n try {\n await Promise.all(\n folders.map((folderName) =>\n fs.promises.rm(path.join(projectRoot, folderName), {\n recursive: true,\n force: true,\n })\n )\n );\n step.succeed(`Cleared ${folders.join(', ')} code`);\n } catch (error: any) {\n step.fail(`Failed to delete ${folders.join(', ')} code: ${error.message}`);\n throw error;\n }\n}\n\n/**\n * Returns `true` if a certain subset of required Android project files are intact.\n *\n * This isn't perfect but it serves the purpose of indicating that the user should\n * be warned to nuke the project files, most commonly when git is cleared and the root folder\n * remains in memory.\n */\nexport async function hasRequiredAndroidFilesAsync(projectRoot: string): Promise<boolean> {\n try {\n await Promise.all([\n AndroidConfig.Paths.getAppBuildGradleAsync(projectRoot),\n AndroidConfig.Paths.getProjectBuildGradleAsync(projectRoot),\n AndroidConfig.Paths.getAndroidManifestAsync(projectRoot),\n AndroidConfig.Paths.getMainApplicationAsync(projectRoot),\n ]);\n return true;\n } catch {\n return false;\n }\n}\n\n/** Returns `true` if a certain subset of required iOS project files are intact. */\nexport async function hasRequiredIOSFilesAsync(projectRoot: string) {\n try {\n // If any of the following required files are missing, then the project is malformed.\n await Promise.all([\n IOSConfig.Paths.getAppDelegate(projectRoot),\n IOSConfig.Paths.getAllXcodeProjectPaths(projectRoot),\n IOSConfig.Paths.getAllInfoPlistPaths(projectRoot),\n IOSConfig.Paths.getAllPBXProjectPaths(projectRoot),\n ]);\n return true;\n } catch {\n return false;\n }\n}\n\n/**\n * Filter out platforms that do not have an existing platform folder.\n * If the user wants to validate that neither of ['ios', 'android'] are malformed then we should\n * first check that both `ios` and `android` folders exist.\n *\n * This optimization prevents us from prompting to clear a \"malformed\" project that doesn't exist yet.\n */\nasync function filterPlatformsThatDoNotExistAsync(\n projectRoot: string,\n platforms: ModPlatform[]\n): Promise<ModPlatform[]> {\n const valid = await Promise.all(\n platforms.map(async (platform) => {\n if (await directoryExistsAsync(path.join(projectRoot, platform))) {\n return platform;\n }\n return null;\n })\n );\n return valid.filter(Boolean) as ModPlatform[];\n}\n\n/** Get a list of native platforms that have existing directories which contain malformed projects. */\nexport async function getMalformedNativeProjectsAsync(\n projectRoot: string,\n platforms: ModPlatform[]\n): Promise<ModPlatform[]> {\n const VERIFIERS: Record<ModPlatform, (root: string) => Promise<boolean>> = {\n android: hasRequiredAndroidFilesAsync,\n ios: hasRequiredIOSFilesAsync,\n };\n\n const checkPlatforms = await filterPlatformsThatDoNotExistAsync(projectRoot, platforms);\n return (\n await Promise.all(\n checkPlatforms.map(async (platform) => {\n if (await VERIFIERS[platform](projectRoot)) {\n return false;\n }\n return platform;\n })\n )\n ).filter(Boolean) as ModPlatform[];\n}\n\nexport async function promptToClearMalformedNativeProjectsAsync(\n projectRoot: string,\n checkPlatforms: ModPlatform[]\n) {\n const platforms = await getMalformedNativeProjectsAsync(projectRoot, checkPlatforms);\n\n if (!platforms.length) {\n return;\n }\n\n const displayPlatforms = platforms.map((platform) => chalk.cyan(platform));\n // Prompt which platforms to reset.\n const message =\n platforms.length > 1\n ? `The ${displayPlatforms[0]} and ${displayPlatforms[1]} projects are malformed`\n : `The ${displayPlatforms[0]} project is malformed`;\n\n if (\n // If the process is non-interactive, default to clearing the malformed native project.\n // This would only happen on re-running eject.\n env.CI ||\n // Prompt to clear the native folders.\n (await confirmAsync({\n message: `${message}, would you like to clear the project files and reinitialize them?`,\n initial: true,\n }))\n ) {\n await clearNativeFolder(projectRoot, platforms);\n } else {\n // Warn the user that the process may fail.\n Log.warn('Continuing with malformed native projects');\n }\n}\n"],"names":["clearNativeFolder","hasRequiredAndroidFilesAsync","hasRequiredIOSFilesAsync","getMalformedNativeProjectsAsync","promptToClearMalformedNativeProjectsAsync","Log","projectRoot","folders","step","logNewSection","join","Promise","all","map","folderName","fs","promises","rm","path","recursive","force","succeed","error","fail","message","AndroidConfig","Paths","getAppBuildGradleAsync","getProjectBuildGradleAsync","getAndroidManifestAsync","getMainApplicationAsync","IOSConfig","getAppDelegate","getAllXcodeProjectPaths","getAllInfoPlistPaths","getAllPBXProjectPaths","filterPlatformsThatDoNotExistAsync","platforms","valid","platform","directoryExistsAsync","filter","Boolean","VERIFIERS","android","ios","checkPlatforms","length","displayPlatforms","chalk","cyan","env","CI","confirmAsync","initial","warn"],"mappings":"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"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
exports.configureProjectAsync = configureProjectAsync;
|
|
6
|
+
var _config = require("@expo/config");
|
|
7
|
+
var _configPlugins = require("@expo/config-plugins");
|
|
8
|
+
var _prebuildConfig = require("@expo/prebuild-config");
|
|
9
|
+
var _configAsync = require("../config/configAsync");
|
|
10
|
+
var Log = _interopRequireWildcard(require("../log"));
|
|
11
|
+
var _env = require("../utils/env");
|
|
12
|
+
var _getOrPromptApplicationId = require("../utils/getOrPromptApplicationId");
|
|
13
|
+
function _interopRequireWildcard(obj) {
|
|
14
|
+
if (obj && obj.__esModule) {
|
|
15
|
+
return obj;
|
|
16
|
+
} else {
|
|
17
|
+
var newObj = {};
|
|
18
|
+
if (obj != null) {
|
|
19
|
+
for(var key in obj){
|
|
20
|
+
if (Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
21
|
+
var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {};
|
|
22
|
+
if (desc.get || desc.set) {
|
|
23
|
+
Object.defineProperty(newObj, key, desc);
|
|
24
|
+
} else {
|
|
25
|
+
newObj[key] = obj[key];
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
newObj.default = obj;
|
|
31
|
+
return newObj;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
async function configureProjectAsync(projectRoot, { platforms }) {
|
|
35
|
+
let bundleIdentifier;
|
|
36
|
+
if (platforms.includes("ios")) {
|
|
37
|
+
// Check bundle ID before reading the config because it may mutate the config if the user is prompted to define it.
|
|
38
|
+
bundleIdentifier = await (0, _getOrPromptApplicationId).getOrPromptForBundleIdentifier(projectRoot);
|
|
39
|
+
}
|
|
40
|
+
let packageName;
|
|
41
|
+
if (platforms.includes("android")) {
|
|
42
|
+
// Check package before reading the config because it may mutate the config if the user is prompted to define it.
|
|
43
|
+
packageName = await (0, _getOrPromptApplicationId).getOrPromptForPackage(projectRoot);
|
|
44
|
+
}
|
|
45
|
+
let { exp: config1 } = await (0, _prebuildConfig).getPrebuildConfigAsync(projectRoot, {
|
|
46
|
+
platforms,
|
|
47
|
+
packageName,
|
|
48
|
+
bundleIdentifier,
|
|
49
|
+
expoUsername (config) {
|
|
50
|
+
return (0, _config).getAccountUsername(config);
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
// compile all plugins and mods
|
|
54
|
+
config1 = await (0, _configPlugins).compileModsAsync(config1, {
|
|
55
|
+
projectRoot,
|
|
56
|
+
platforms,
|
|
57
|
+
assertMissingModProviders: false
|
|
58
|
+
});
|
|
59
|
+
if (_env.env.EXPO_DEBUG) {
|
|
60
|
+
Log.log();
|
|
61
|
+
Log.log("Evaluated config:");
|
|
62
|
+
(0, _configAsync).logConfig(config1);
|
|
63
|
+
Log.log();
|
|
64
|
+
}
|
|
65
|
+
return config1;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
//# sourceMappingURL=configureProjectAsync.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/prebuild/configureProjectAsync.ts"],"sourcesContent":["import { ExpoConfig, getAccountUsername } from '@expo/config';\nimport { compileModsAsync, ModPlatform } from '@expo/config-plugins';\nimport { getPrebuildConfigAsync } from '@expo/prebuild-config';\n\nimport { logConfig } from '../config/configAsync';\nimport * as Log from '../log';\nimport { env } from '../utils/env';\nimport {\n getOrPromptForBundleIdentifier,\n getOrPromptForPackage,\n} from '../utils/getOrPromptApplicationId';\n\nexport async function configureProjectAsync(\n projectRoot: string,\n {\n platforms,\n }: {\n platforms: ModPlatform[];\n }\n): Promise<ExpoConfig> {\n let bundleIdentifier: string | undefined;\n if (platforms.includes('ios')) {\n // Check bundle ID before reading the config because it may mutate the config if the user is prompted to define it.\n bundleIdentifier = await getOrPromptForBundleIdentifier(projectRoot);\n }\n let packageName: string | undefined;\n if (platforms.includes('android')) {\n // Check package before reading the config because it may mutate the config if the user is prompted to define it.\n packageName = await getOrPromptForPackage(projectRoot);\n }\n\n let { exp: config } = await getPrebuildConfigAsync(projectRoot, {\n platforms,\n packageName,\n bundleIdentifier,\n expoUsername(config) {\n return getAccountUsername(config);\n },\n });\n\n // compile all plugins and mods\n config = await compileModsAsync(config, {\n projectRoot,\n platforms,\n assertMissingModProviders: false,\n });\n\n if (env.EXPO_DEBUG) {\n Log.log();\n Log.log('Evaluated config:');\n logConfig(config);\n Log.log();\n }\n\n return config;\n}\n"],"names":["configureProjectAsync","Log","projectRoot","platforms","bundleIdentifier","includes","getOrPromptForBundleIdentifier","packageName","getOrPromptForPackage","exp","config","getPrebuildConfigAsync","expoUsername","getAccountUsername","compileModsAsync","assertMissingModProviders","env","EXPO_DEBUG","log","logConfig"],"mappings":"AAAA;;;;QAYsBA,qBAAqB,GAArBA,qBAAqB;AAZI,IAAA,OAAc,WAAd,cAAc,CAAA;AACf,IAAA,cAAsB,WAAtB,sBAAsB,CAAA;AAC7B,IAAA,eAAuB,WAAvB,uBAAuB,CAAA;AAEpC,IAAA,YAAuB,WAAvB,uBAAuB,CAAA;AACrCC,IAAAA,GAAG,mCAAM,QAAQ,EAAd;AACK,IAAA,IAAc,WAAd,cAAc,CAAA;AAI3B,IAAA,yBAAmC,WAAnC,mCAAmC,CAAA;;;;;;;;;;;;;;;;;;;;;;AAEnC,eAAeD,qBAAqB,CACzCE,WAAmB,EACnB,EACEC,SAAS,CAAA,EAGV,EACoB;IACrB,IAAIC,gBAAgB,AAAoB,AAAC;IACzC,IAAID,SAAS,CAACE,QAAQ,CAAC,KAAK,CAAC,EAAE;QAC7B,mHAAmH;QACnHD,gBAAgB,GAAG,MAAME,CAAAA,GAAAA,yBAA8B,AAAa,CAAA,+BAAb,CAACJ,WAAW,CAAC,CAAC;KACtE;IACD,IAAIK,WAAW,AAAoB,AAAC;IACpC,IAAIJ,SAAS,CAACE,QAAQ,CAAC,SAAS,CAAC,EAAE;QACjC,iHAAiH;QACjHE,WAAW,GAAG,MAAMC,CAAAA,GAAAA,yBAAqB,AAAa,CAAA,sBAAb,CAACN,WAAW,CAAC,CAAC;KACxD;IAED,IAAI,EAAEO,GAAG,EAAEC,OAAM,CAAA,EAAE,GAAG,MAAMC,CAAAA,GAAAA,eAAsB,AAOhD,CAAA,uBAPgD,CAACT,WAAW,EAAE;QAC9DC,SAAS;QACTI,WAAW;QACXH,gBAAgB;QAChBQ,YAAY,EAACF,MAAM,EAAE;YACnB,OAAOG,CAAAA,GAAAA,OAAkB,AAAQ,CAAA,mBAAR,CAACH,MAAM,CAAC,CAAC;SACnC;KACF,CAAC,AAAC;IAEH,+BAA+B;IAC/BA,OAAM,GAAG,MAAMI,CAAAA,GAAAA,cAAgB,AAI7B,CAAA,iBAJ6B,CAACJ,OAAM,EAAE;QACtCR,WAAW;QACXC,SAAS;QACTY,yBAAyB,EAAE,KAAK;KACjC,CAAC,CAAC;IAEH,IAAIC,IAAG,IAAA,CAACC,UAAU,EAAE;QAClBhB,GAAG,CAACiB,GAAG,EAAE,CAAC;QACVjB,GAAG,CAACiB,GAAG,CAAC,mBAAmB,CAAC,CAAC;QAC7BC,CAAAA,GAAAA,YAAS,AAAQ,CAAA,UAAR,CAACT,OAAM,CAAC,CAAC;QAClBT,GAAG,CAACiB,GAAG,EAAE,CAAC;KACX;IAED,OAAOR,OAAM,CAAC;CACf"}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
exports.createCopyFilesSuccessMessage = createCopyFilesSuccessMessage;
|
|
6
|
+
exports.copyTemplateFilesAsync = copyTemplateFilesAsync;
|
|
7
|
+
exports.resolveBareEntryFile = resolveBareEntryFile;
|
|
8
|
+
var _paths = require("@expo/config/paths");
|
|
9
|
+
var _chalk = _interopRequireDefault(require("chalk"));
|
|
10
|
+
var _fs = _interopRequireDefault(require("fs"));
|
|
11
|
+
var _path = _interopRequireDefault(require("path"));
|
|
12
|
+
var Log = _interopRequireWildcard(require("../log"));
|
|
13
|
+
var _dir = require("../utils/dir");
|
|
14
|
+
var _mergeGitIgnorePaths = require("../utils/mergeGitIgnorePaths");
|
|
15
|
+
var _updatePackageJson = require("./updatePackageJson");
|
|
16
|
+
function _interopRequireDefault(obj) {
|
|
17
|
+
return obj && obj.__esModule ? obj : {
|
|
18
|
+
default: obj
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
function _interopRequireWildcard(obj) {
|
|
22
|
+
if (obj && obj.__esModule) {
|
|
23
|
+
return obj;
|
|
24
|
+
} else {
|
|
25
|
+
var newObj = {};
|
|
26
|
+
if (obj != null) {
|
|
27
|
+
for(var key in obj){
|
|
28
|
+
if (Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
29
|
+
var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {};
|
|
30
|
+
if (desc.get || desc.set) {
|
|
31
|
+
Object.defineProperty(newObj, key, desc);
|
|
32
|
+
} else {
|
|
33
|
+
newObj[key] = obj[key];
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
newObj.default = obj;
|
|
39
|
+
return newObj;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Return true if the given platforms all have an internal `.gitignore` file.
|
|
44
|
+
*
|
|
45
|
+
* @param projectRoot
|
|
46
|
+
* @param platforms
|
|
47
|
+
*/ function hasAllPlatformSpecificGitIgnores(projectRoot, platforms) {
|
|
48
|
+
return platforms.reduce((p, platform)=>p && _fs.default.existsSync(_path.default.join(projectRoot, platform, ".gitignore"))
|
|
49
|
+
, true);
|
|
50
|
+
}
|
|
51
|
+
function createCopyFilesSuccessMessage(platforms, { skippedPaths , gitignore }) {
|
|
52
|
+
let message = `Created native project${platforms.length > 1 ? "s" : ""}`;
|
|
53
|
+
if (skippedPaths.length) {
|
|
54
|
+
message += _chalk.default.dim(` | ${skippedPaths.map((path)=>_chalk.default.bold(`/${path}`)
|
|
55
|
+
).join(", ")} already created`);
|
|
56
|
+
}
|
|
57
|
+
if (!gitignore) {
|
|
58
|
+
message += _chalk.default.dim(` | gitignore skipped`);
|
|
59
|
+
} else if (!gitignore.didMerge) {
|
|
60
|
+
message += _chalk.default.dim(` | gitignore already synced`);
|
|
61
|
+
} else if (gitignore.didMerge && gitignore.didClear) {
|
|
62
|
+
message += _chalk.default.dim(` | synced gitignore`);
|
|
63
|
+
}
|
|
64
|
+
return message;
|
|
65
|
+
}
|
|
66
|
+
async function copyTemplateFilesAsync(projectRoot, { pkg , templateDirectory , platforms }) {
|
|
67
|
+
const copyFilePaths = getFilePathsToCopy(projectRoot, pkg, platforms);
|
|
68
|
+
const copyResults = await copyPathsFromTemplateAsync(projectRoot, {
|
|
69
|
+
templateDirectory,
|
|
70
|
+
copyFilePaths
|
|
71
|
+
});
|
|
72
|
+
const hasPlatformSpecificGitIgnores = hasAllPlatformSpecificGitIgnores(templateDirectory, platforms);
|
|
73
|
+
Log.debug(`All platforms have an internal gitignore: ${hasPlatformSpecificGitIgnores}`);
|
|
74
|
+
const gitignore = hasPlatformSpecificGitIgnores ? null : (0, _mergeGitIgnorePaths).mergeGitIgnorePaths(_path.default.join(projectRoot, ".gitignore"), _path.default.join(templateDirectory, ".gitignore"));
|
|
75
|
+
return {
|
|
76
|
+
...copyResults,
|
|
77
|
+
gitignore
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
async function copyPathsFromTemplateAsync(/** File path to the project. */ projectRoot, { templateDirectory , copyFilePaths }) {
|
|
81
|
+
const copiedPaths = [];
|
|
82
|
+
const skippedPaths = [];
|
|
83
|
+
for (const copyFilePath of copyFilePaths){
|
|
84
|
+
const projectPath = _path.default.join(projectRoot, copyFilePath);
|
|
85
|
+
if (!await (0, _dir).directoryExistsAsync(projectPath)) {
|
|
86
|
+
copiedPaths.push(copyFilePath);
|
|
87
|
+
(0, _dir).copySync(_path.default.join(templateDirectory, copyFilePath), projectPath);
|
|
88
|
+
} else {
|
|
89
|
+
skippedPaths.push(copyFilePath);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
return {
|
|
93
|
+
copiedPaths,
|
|
94
|
+
skippedPaths
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
/** Get a list of relative file paths to copy from the template folder. Example: `['ios', 'android', 'index.js']` */ function getFilePathsToCopy(projectRoot, pkg, platforms) {
|
|
98
|
+
const targetPaths = [
|
|
99
|
+
...platforms
|
|
100
|
+
];
|
|
101
|
+
const bareEntryFile = resolveBareEntryFile(projectRoot, pkg.main);
|
|
102
|
+
// Only create index.js if we cannot resolve the existing entry point (after replacing the expo entry).
|
|
103
|
+
if (!bareEntryFile) {
|
|
104
|
+
targetPaths.push("index.js");
|
|
105
|
+
}
|
|
106
|
+
return targetPaths;
|
|
107
|
+
}
|
|
108
|
+
function resolveBareEntryFile(projectRoot, main) {
|
|
109
|
+
// expo app entry is not needed for bare projects.
|
|
110
|
+
if ((0, _updatePackageJson).isPkgMainExpoAppEntry(main)) {
|
|
111
|
+
return null;
|
|
112
|
+
}
|
|
113
|
+
// Look at the `package.json`s `main` field for the main file.
|
|
114
|
+
const resolvedMainField = main != null ? main : "./index";
|
|
115
|
+
// Get a list of possible extensions for the main file.
|
|
116
|
+
const extensions = (0, _paths).getBareExtensions([
|
|
117
|
+
"ios",
|
|
118
|
+
"android"
|
|
119
|
+
]);
|
|
120
|
+
// Testing the main field against all of the provided extensions - for legacy reasons we can't use node module resolution as the package.json allows you to pass in a file without a relative path and expect it as a relative path.
|
|
121
|
+
return (0, _paths).getFileWithExtensions(projectRoot, resolvedMainField, extensions);
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
//# sourceMappingURL=copyTemplateFiles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/prebuild/copyTemplateFiles.ts"],"sourcesContent":["import { PackageJSONConfig } from '@expo/config';\nimport { ModPlatform } from '@expo/config-plugins';\nimport { MergeResults } from '@expo/config-plugins/build/utils/generateCode';\nimport { getBareExtensions, getFileWithExtensions } from '@expo/config/paths';\nimport chalk from 'chalk';\nimport fs from 'fs';\nimport path from 'path';\n\nimport * as Log from '../log';\nimport { copySync, directoryExistsAsync } from '../utils/dir';\nimport { mergeGitIgnorePaths } from '../utils/mergeGitIgnorePaths';\nimport { isPkgMainExpoAppEntry } from './updatePackageJson';\n\ntype CopyFilesResults = {\n /** Merge results for the root `.gitignore` file */\n gitignore: MergeResults | null;\n /** List of file paths that were copied from the template into the project. */\n copiedPaths: string[];\n /** List of file paths that were skipped due to a number of factors. */\n skippedPaths: string[];\n};\n\n/**\n * Return true if the given platforms all have an internal `.gitignore` file.\n *\n * @param projectRoot\n * @param platforms\n */\nfunction hasAllPlatformSpecificGitIgnores(projectRoot: string, platforms: ModPlatform[]): boolean {\n return platforms.reduce<boolean>(\n (p, platform) => p && fs.existsSync(path.join(projectRoot, platform, '.gitignore')),\n true\n );\n}\n\n/** Create a custom log message based on the copy file results. */\nexport function createCopyFilesSuccessMessage(\n platforms: ModPlatform[],\n { skippedPaths, gitignore }: CopyFilesResults\n): string {\n let message = `Created native project${platforms.length > 1 ? 's' : ''}`;\n\n if (skippedPaths.length) {\n message += chalk.dim(\n ` | ${skippedPaths.map((path) => chalk.bold(`/${path}`)).join(', ')} already created`\n );\n }\n if (!gitignore) {\n message += chalk.dim(` | gitignore skipped`);\n } else if (!gitignore.didMerge) {\n message += chalk.dim(` | gitignore already synced`);\n } else if (gitignore.didMerge && gitignore.didClear) {\n message += chalk.dim(` | synced gitignore`);\n }\n return message;\n}\n\n/** Copy template files into the project and possibly merge the `.gitignore` files. */\nexport async function copyTemplateFilesAsync(\n projectRoot: string,\n {\n pkg,\n templateDirectory,\n platforms,\n }: {\n /** Project `package.json` as JSON. */\n pkg: PackageJSONConfig;\n /** File path to the template directory. */\n templateDirectory: string;\n /** List of platforms to copy against. */\n platforms: ModPlatform[];\n }\n): Promise<CopyFilesResults> {\n const copyFilePaths = getFilePathsToCopy(projectRoot, pkg, platforms);\n\n const copyResults = await copyPathsFromTemplateAsync(projectRoot, {\n templateDirectory,\n copyFilePaths,\n });\n\n const hasPlatformSpecificGitIgnores = hasAllPlatformSpecificGitIgnores(\n templateDirectory,\n platforms\n );\n Log.debug(`All platforms have an internal gitignore: ${hasPlatformSpecificGitIgnores}`);\n const gitignore = hasPlatformSpecificGitIgnores\n ? null\n : mergeGitIgnorePaths(\n path.join(projectRoot, '.gitignore'),\n path.join(templateDirectory, '.gitignore')\n );\n\n return { ...copyResults, gitignore };\n}\n\nasync function copyPathsFromTemplateAsync(\n /** File path to the project. */\n projectRoot: string,\n {\n templateDirectory,\n copyFilePaths,\n }: {\n /** File path to the template project. */\n templateDirectory: string;\n /** List of relative paths to copy from the template to the project. */\n copyFilePaths: string[];\n }\n): Promise<Pick<CopyFilesResults, 'copiedPaths' | 'skippedPaths'>> {\n const copiedPaths = [];\n const skippedPaths = [];\n for (const copyFilePath of copyFilePaths) {\n const projectPath = path.join(projectRoot, copyFilePath);\n if (!(await directoryExistsAsync(projectPath))) {\n copiedPaths.push(copyFilePath);\n copySync(path.join(templateDirectory, copyFilePath), projectPath);\n } else {\n skippedPaths.push(copyFilePath);\n }\n }\n return { copiedPaths, skippedPaths };\n}\n\n/** Get a list of relative file paths to copy from the template folder. Example: `['ios', 'android', 'index.js']` */\nfunction getFilePathsToCopy(projectRoot: string, pkg: PackageJSONConfig, platforms: ModPlatform[]) {\n const targetPaths: string[] = [...platforms];\n\n const bareEntryFile = resolveBareEntryFile(projectRoot, pkg.main);\n // Only create index.js if we cannot resolve the existing entry point (after replacing the expo entry).\n if (!bareEntryFile) {\n targetPaths.push('index.js');\n }\n\n return targetPaths;\n}\n\nexport function resolveBareEntryFile(projectRoot: string, main: any) {\n // expo app entry is not needed for bare projects.\n if (isPkgMainExpoAppEntry(main)) {\n return null;\n }\n // Look at the `package.json`s `main` field for the main file.\n const resolvedMainField = main ?? './index';\n // Get a list of possible extensions for the main file.\n const extensions = getBareExtensions(['ios', 'android']);\n // Testing the main field against all of the provided extensions - for legacy reasons we can't use node module resolution as the package.json allows you to pass in a file without a relative path and expect it as a relative path.\n return getFileWithExtensions(projectRoot, resolvedMainField, extensions);\n}\n"],"names":["createCopyFilesSuccessMessage","copyTemplateFilesAsync","resolveBareEntryFile","Log","hasAllPlatformSpecificGitIgnores","projectRoot","platforms","reduce","p","platform","fs","existsSync","path","join","skippedPaths","gitignore","message","length","chalk","dim","map","bold","didMerge","didClear","pkg","templateDirectory","copyFilePaths","getFilePathsToCopy","copyResults","copyPathsFromTemplateAsync","hasPlatformSpecificGitIgnores","debug","mergeGitIgnorePaths","copiedPaths","copyFilePath","projectPath","directoryExistsAsync","push","copySync","targetPaths","bareEntryFile","main","isPkgMainExpoAppEntry","resolvedMainField","extensions","getBareExtensions","getFileWithExtensions"],"mappings":"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"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
exports.ensureConfigExistsAsync = ensureConfigExistsAsync;
|
|
6
|
+
exports.ensureConfigAsync = ensureConfigAsync;
|
|
7
|
+
var _config = require("@expo/config");
|
|
8
|
+
var _jsonFile = _interopRequireDefault(require("@expo/json-file"));
|
|
9
|
+
var _path = _interopRequireDefault(require("path"));
|
|
10
|
+
var Log = _interopRequireWildcard(require("../log"));
|
|
11
|
+
var _errors = require("../utils/errors");
|
|
12
|
+
var _getOrPromptApplicationId = require("../utils/getOrPromptApplicationId");
|
|
13
|
+
function _interopRequireDefault(obj) {
|
|
14
|
+
return obj && obj.__esModule ? obj : {
|
|
15
|
+
default: obj
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
function _interopRequireWildcard(obj) {
|
|
19
|
+
if (obj && obj.__esModule) {
|
|
20
|
+
return obj;
|
|
21
|
+
} else {
|
|
22
|
+
var newObj = {};
|
|
23
|
+
if (obj != null) {
|
|
24
|
+
for(var key in obj){
|
|
25
|
+
if (Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
26
|
+
var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {};
|
|
27
|
+
if (desc.get || desc.set) {
|
|
28
|
+
Object.defineProperty(newObj, key, desc);
|
|
29
|
+
} else {
|
|
30
|
+
newObj[key] = obj[key];
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
newObj.default = obj;
|
|
36
|
+
return newObj;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
async function ensureConfigExistsAsync(projectRoot) {
|
|
40
|
+
try {
|
|
41
|
+
const config = (0, _config).getConfig(projectRoot, {
|
|
42
|
+
skipSDKVersionRequirement: false
|
|
43
|
+
});
|
|
44
|
+
// If no config exists in the file system then we should generate one so the process doesn't fail.
|
|
45
|
+
if (!config.dynamicConfigPath && !config.staticConfigPath) {
|
|
46
|
+
// Remove the internal object before writing.
|
|
47
|
+
delete config.exp._internal;
|
|
48
|
+
// Write the generated config.
|
|
49
|
+
await _jsonFile.default.writeAsync(_path.default.join(projectRoot, "app.json"), {
|
|
50
|
+
expo: config.exp
|
|
51
|
+
}, {
|
|
52
|
+
json5: false
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
} catch (error) {
|
|
56
|
+
// TODO(Bacon): Currently this is already handled in the command
|
|
57
|
+
Log.log();
|
|
58
|
+
throw new _errors.CommandError(`${error.message}\n`);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
async function ensureConfigAsync(projectRoot, { platforms }) {
|
|
62
|
+
await ensureConfigExistsAsync(projectRoot);
|
|
63
|
+
// Prompt for the Android package first because it's more strict than the bundle identifier
|
|
64
|
+
// this means you'll have a better chance at matching the bundle identifier with the package name.
|
|
65
|
+
if (platforms.includes("android")) {
|
|
66
|
+
await (0, _getOrPromptApplicationId).getOrPromptForPackage(projectRoot);
|
|
67
|
+
}
|
|
68
|
+
if (platforms.includes("ios")) {
|
|
69
|
+
await (0, _getOrPromptApplicationId).getOrPromptForBundleIdentifier(projectRoot);
|
|
70
|
+
}
|
|
71
|
+
// We need the SDK version to proceed
|
|
72
|
+
const { exp , pkg } = (0, _config).getConfig(projectRoot);
|
|
73
|
+
// TODO(EvanBacon): Remove the requirement for this once we have a
|
|
74
|
+
// custom bundle script that respects Expo entry point resolution.
|
|
75
|
+
if (exp.entryPoint) {
|
|
76
|
+
delete exp.entryPoint;
|
|
77
|
+
Log.log(`\u203A expo.entryPoint is not needed and has been removed.`);
|
|
78
|
+
}
|
|
79
|
+
// Read config again because prompting for bundle id or package name may have mutated the results.
|
|
80
|
+
return {
|
|
81
|
+
exp,
|
|
82
|
+
pkg
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
//# sourceMappingURL=ensureConfigAsync.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/prebuild/ensureConfigAsync.ts"],"sourcesContent":["import { ExpoConfig, getConfig, PackageJSONConfig } from '@expo/config';\nimport { ModPlatform } from '@expo/config-plugins';\nimport JsonFile, { JSONObject } from '@expo/json-file';\nimport path from 'path';\n\nimport * as Log from '../log';\nimport { CommandError } from '../utils/errors';\nimport {\n getOrPromptForBundleIdentifier,\n getOrPromptForPackage,\n} from '../utils/getOrPromptApplicationId';\n\n/**\n * If an Expo config file does not exist, write a new one using the in-memory config.\n *\n * @param projectRoot\n */\nexport async function ensureConfigExistsAsync(projectRoot: string) {\n try {\n const config = getConfig(projectRoot, { skipSDKVersionRequirement: false });\n // If no config exists in the file system then we should generate one so the process doesn't fail.\n if (!config.dynamicConfigPath && !config.staticConfigPath) {\n // Remove the internal object before writing.\n delete config.exp._internal;\n\n // Write the generated config.\n await JsonFile.writeAsync(\n path.join(projectRoot, 'app.json'),\n { expo: config.exp as unknown as JSONObject },\n { json5: false }\n );\n }\n } catch (error: any) {\n // TODO(Bacon): Currently this is already handled in the command\n Log.log();\n throw new CommandError(`${error.message}\\n`);\n }\n}\n\n/** Ensure config is written, prompts for application identifiers, and removes entryPoint value. */\nexport async function ensureConfigAsync(\n projectRoot: string,\n {\n platforms,\n }: {\n platforms: ModPlatform[];\n }\n): Promise<{ exp: ExpoConfig; pkg: PackageJSONConfig }> {\n await ensureConfigExistsAsync(projectRoot);\n\n // Prompt for the Android package first because it's more strict than the bundle identifier\n // this means you'll have a better chance at matching the bundle identifier with the package name.\n if (platforms.includes('android')) {\n await getOrPromptForPackage(projectRoot);\n }\n\n if (platforms.includes('ios')) {\n await getOrPromptForBundleIdentifier(projectRoot);\n }\n\n // We need the SDK version to proceed\n const { exp, pkg } = getConfig(projectRoot);\n\n // TODO(EvanBacon): Remove the requirement for this once we have a\n // custom bundle script that respects Expo entry point resolution.\n if (exp.entryPoint) {\n delete exp.entryPoint;\n Log.log(`\\u203A expo.entryPoint is not needed and has been removed.`);\n }\n\n // Read config again because prompting for bundle id or package name may have mutated the results.\n return { exp, pkg };\n}\n"],"names":["ensureConfigExistsAsync","ensureConfigAsync","Log","projectRoot","config","getConfig","skipSDKVersionRequirement","dynamicConfigPath","staticConfigPath","exp","_internal","JsonFile","writeAsync","path","join","expo","json5","error","log","CommandError","message","platforms","includes","getOrPromptForPackage","getOrPromptForBundleIdentifier","pkg","entryPoint"],"mappings":"AAAA;;;;QAiBsBA,uBAAuB,GAAvBA,uBAAuB;QAuBvBC,iBAAiB,GAAjBA,iBAAiB;AAxCkB,IAAA,OAAc,WAAd,cAAc,CAAA;AAElC,IAAA,SAAiB,kCAAjB,iBAAiB,EAAA;AACrC,IAAA,KAAM,kCAAN,MAAM,EAAA;AAEXC,IAAAA,GAAG,mCAAM,QAAQ,EAAd;AACc,IAAA,OAAiB,WAAjB,iBAAiB,CAAA;AAIvC,IAAA,yBAAmC,WAAnC,mCAAmC,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOnC,eAAeF,uBAAuB,CAACG,WAAmB,EAAE;IACjE,IAAI;QACF,MAAMC,MAAM,GAAGC,CAAAA,GAAAA,OAAS,AAAmD,CAAA,UAAnD,CAACF,WAAW,EAAE;YAAEG,yBAAyB,EAAE,KAAK;SAAE,CAAC,AAAC;QAC5E,kGAAkG;QAClG,IAAI,CAACF,MAAM,CAACG,iBAAiB,IAAI,CAACH,MAAM,CAACI,gBAAgB,EAAE;YACzD,6CAA6C;YAC7C,OAAOJ,MAAM,CAACK,GAAG,CAACC,SAAS,CAAC;YAE5B,8BAA8B;YAC9B,MAAMC,SAAQ,QAAA,CAACC,UAAU,CACvBC,KAAI,QAAA,CAACC,IAAI,CAACX,WAAW,EAAE,UAAU,CAAC,EAClC;gBAAEY,IAAI,EAAEX,MAAM,CAACK,GAAG;aAA2B,EAC7C;gBAAEO,KAAK,EAAE,KAAK;aAAE,CACjB,CAAC;SACH;KACF,CAAC,OAAOC,KAAK,EAAO;QACnB,gEAAgE;QAChEf,GAAG,CAACgB,GAAG,EAAE,CAAC;QACV,MAAM,IAAIC,OAAY,aAAA,CAAC,CAAC,EAAEF,KAAK,CAACG,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;KAC9C;CACF;AAGM,eAAenB,iBAAiB,CACrCE,WAAmB,EACnB,EACEkB,SAAS,CAAA,EAGV,EACqD;IACtD,MAAMrB,uBAAuB,CAACG,WAAW,CAAC,CAAC;IAE3C,2FAA2F;IAC3F,kGAAkG;IAClG,IAAIkB,SAAS,CAACC,QAAQ,CAAC,SAAS,CAAC,EAAE;QACjC,MAAMC,CAAAA,GAAAA,yBAAqB,AAAa,CAAA,sBAAb,CAACpB,WAAW,CAAC,CAAC;KAC1C;IAED,IAAIkB,SAAS,CAACC,QAAQ,CAAC,KAAK,CAAC,EAAE;QAC7B,MAAME,CAAAA,GAAAA,yBAA8B,AAAa,CAAA,+BAAb,CAACrB,WAAW,CAAC,CAAC;KACnD;IAED,qCAAqC;IACrC,MAAM,EAAEM,GAAG,CAAA,EAAEgB,GAAG,CAAA,EAAE,GAAGpB,CAAAA,GAAAA,OAAS,AAAa,CAAA,UAAb,CAACF,WAAW,CAAC,AAAC;IAE5C,kEAAkE;IAClE,kEAAkE;IAClE,IAAIM,GAAG,CAACiB,UAAU,EAAE;QAClB,OAAOjB,GAAG,CAACiB,UAAU,CAAC;QACtBxB,GAAG,CAACgB,GAAG,CAAC,CAAC,0DAA0D,CAAC,CAAC,CAAC;KACvE;IAED,kGAAkG;IAClG,OAAO;QAAET,GAAG;QAAEgB,GAAG;KAAE,CAAC;CACrB"}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
"use strict";
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.expoPrebuild = void 0;
|
|
7
|
+
var _chalk = _interopRequireDefault(require("chalk"));
|
|
8
|
+
var Log = _interopRequireWildcard(require("../log"));
|
|
9
|
+
var _args = require("../utils/args");
|
|
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
|
+
const expoPrebuild = async (argv)=>{
|
|
37
|
+
const args = (0, _args).assertArgs({
|
|
38
|
+
// Types
|
|
39
|
+
"--help": Boolean,
|
|
40
|
+
"--clean": Boolean,
|
|
41
|
+
"--npm": Boolean,
|
|
42
|
+
"--no-install": Boolean,
|
|
43
|
+
"--template": String,
|
|
44
|
+
"--platform": String,
|
|
45
|
+
"--skip-dependency-update": String,
|
|
46
|
+
// Aliases
|
|
47
|
+
"-h": "--help",
|
|
48
|
+
"-p": "--platform",
|
|
49
|
+
"-t": "--type"
|
|
50
|
+
}, argv);
|
|
51
|
+
if (args["--help"]) {
|
|
52
|
+
Log.exit(_chalk.default`
|
|
53
|
+
{bold Description}
|
|
54
|
+
Create native iOS and Android project files before building natively.
|
|
55
|
+
|
|
56
|
+
{bold Usage}
|
|
57
|
+
$ npx expo prebuild <dir>
|
|
58
|
+
|
|
59
|
+
<dir> is the directory of the Expo project.
|
|
60
|
+
Defaults to the current working directory.
|
|
61
|
+
|
|
62
|
+
Options
|
|
63
|
+
--no-install Skip installing npm packages and CocoaPods.
|
|
64
|
+
--clean Delete the native folders and regenerate them before applying changes
|
|
65
|
+
--npm Use npm to install dependencies. (default when Yarn is not installed)
|
|
66
|
+
--template <template> Project template to clone from. File path pointing to a local tar file or a github repo
|
|
67
|
+
-p, --platform <all|android|ios> Platforms to sync: ios, android, all. Default: all
|
|
68
|
+
--skip-dependency-update <dependencies> Preserves versions of listed packages in package.json (comma separated list)
|
|
69
|
+
-h, --help Output usage information
|
|
70
|
+
|
|
71
|
+
`, 0);
|
|
72
|
+
}
|
|
73
|
+
// Load modules after the help prompt so `npx expo prebuild -h` shows as fast as possible.
|
|
74
|
+
const [// ./prebuildAsync
|
|
75
|
+
{ prebuildAsync }, // ./resolveOptions
|
|
76
|
+
{ resolvePlatformOption , resolveSkipDependencyUpdate }, // ../utils/errors
|
|
77
|
+
{ logCmdError }, ] = await Promise.all([
|
|
78
|
+
Promise.resolve().then(function() {
|
|
79
|
+
return _interopRequireWildcard(require("./prebuildAsync"));
|
|
80
|
+
}),
|
|
81
|
+
Promise.resolve().then(function() {
|
|
82
|
+
return _interopRequireWildcard(require("./resolveOptions"));
|
|
83
|
+
}),
|
|
84
|
+
Promise.resolve().then(function() {
|
|
85
|
+
return _interopRequireWildcard(require("../utils/errors"));
|
|
86
|
+
}),
|
|
87
|
+
]);
|
|
88
|
+
return prebuildAsync((0, _args).getProjectRoot(args), {
|
|
89
|
+
// Parsed options
|
|
90
|
+
clean: args["--clean"],
|
|
91
|
+
packageManager: args["--npm"] ? "npm" : "yarn",
|
|
92
|
+
install: !args["--no-install"],
|
|
93
|
+
platforms: resolvePlatformOption(args["--platform"]),
|
|
94
|
+
// TODO: Parse
|
|
95
|
+
skipDependencyUpdate: resolveSkipDependencyUpdate(args["--skip-dependency-update"]),
|
|
96
|
+
template: args["--template"]
|
|
97
|
+
}).catch(logCmdError);
|
|
98
|
+
};
|
|
99
|
+
exports.expoPrebuild = expoPrebuild;
|
|
100
|
+
|
|
101
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/prebuild/index.ts"],"sourcesContent":["#!/usr/bin/env node\nimport chalk from 'chalk';\n\nimport { Command } from '../../bin/cli';\nimport * as Log from '../log';\nimport { assertArgs, getProjectRoot } from '../utils/args';\n\nexport const expoPrebuild: Command = async (argv) => {\n const args = assertArgs(\n {\n // Types\n '--help': Boolean,\n '--clean': Boolean,\n '--npm': Boolean,\n '--no-install': Boolean,\n '--template': String,\n '--platform': String,\n '--skip-dependency-update': String,\n // Aliases\n '-h': '--help',\n '-p': '--platform',\n '-t': '--type',\n },\n argv\n );\n\n if (args['--help']) {\n Log.exit(\n chalk`\n {bold Description}\n Create native iOS and Android project files before building natively.\n\n {bold Usage}\n $ npx expo prebuild <dir>\n\n <dir> is the directory of the Expo project.\n Defaults to the current working directory.\n\n Options\n --no-install Skip installing npm packages and CocoaPods.\n --clean Delete the native folders and regenerate them before applying changes\n --npm Use npm to install dependencies. (default when Yarn is not installed)\n --template <template> Project template to clone from. File path pointing to a local tar file or a github repo\n -p, --platform <all|android|ios> Platforms to sync: ios, android, all. Default: all\n --skip-dependency-update <dependencies> Preserves versions of listed packages in package.json (comma separated list)\n -h, --help Output usage information\n\n `,\n 0\n );\n }\n\n // Load modules after the help prompt so `npx expo prebuild -h` shows as fast as possible.\n const [\n // ./prebuildAsync\n { prebuildAsync },\n // ./resolveOptions\n { resolvePlatformOption, resolveSkipDependencyUpdate },\n // ../utils/errors\n { logCmdError },\n ] = await Promise.all([\n import('./prebuildAsync'),\n import('./resolveOptions'),\n import('../utils/errors'),\n ]);\n\n return prebuildAsync(getProjectRoot(args), {\n // Parsed options\n clean: args['--clean'],\n packageManager: args['--npm'] ? 'npm' : 'yarn',\n install: !args['--no-install'],\n platforms: resolvePlatformOption(args['--platform']),\n // TODO: Parse\n skipDependencyUpdate: resolveSkipDependencyUpdate(args['--skip-dependency-update']),\n template: args['--template'],\n }).catch(logCmdError);\n};\n"],"names":["Log","expoPrebuild","argv","args","assertArgs","Boolean","String","exit","chalk","prebuildAsync","resolvePlatformOption","resolveSkipDependencyUpdate","logCmdError","Promise","all","getProjectRoot","clean","packageManager","install","platforms","skipDependencyUpdate","template","catch"],"mappings":"AAAA;;;;;;AACkB,IAAA,MAAO,kCAAP,OAAO,EAAA;AAGbA,IAAAA,GAAG,mCAAM,QAAQ,EAAd;AAC4B,IAAA,KAAe,WAAf,eAAe,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEnD,MAAMC,YAAY,GAAY,OAAOC,IAAI,GAAK;IACnD,MAAMC,IAAI,GAAGC,CAAAA,GAAAA,KAAU,AAgBtB,CAAA,WAhBsB,CACrB;QACE,QAAQ;QACR,QAAQ,EAAEC,OAAO;QACjB,SAAS,EAAEA,OAAO;QAClB,OAAO,EAAEA,OAAO;QAChB,cAAc,EAAEA,OAAO;QACvB,YAAY,EAAEC,MAAM;QACpB,YAAY,EAAEA,MAAM;QACpB,0BAA0B,EAAEA,MAAM;QAClC,UAAU;QACV,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,QAAQ;KACf,EACDJ,IAAI,CACL,AAAC;IAEF,IAAIC,IAAI,CAAC,QAAQ,CAAC,EAAE;QAClBH,GAAG,CAACO,IAAI,CACNC,MAAK,QAAA,CAAC;;;;;;;;;;;;;;;;;;;IAmBR,CAAC,EACC,CAAC,CACF,CAAC;KACH;IAED,0FAA0F;IAC1F,MAAM,CACJ,kBAAkB;IAClB,EAAEC,aAAa,CAAA,EAAE,EACjB,mBAAmB;IACnB,EAAEC,qBAAqB,CAAA,EAAEC,2BAA2B,CAAA,EAAE,EACtD,kBAAkB;IAClB,EAAEC,WAAW,CAAA,EAAE,GAChB,GAAG,MAAMC,OAAO,CAACC,GAAG,CAAC;QACpB;mDAAO,iBAAiB;UAAC;QACzB;mDAAO,kBAAkB;UAAC;QAC1B;mDAAO,iBAAiB;UAAC;KAC1B,CAAC,AAAC;IAEH,OAAOL,aAAa,CAACM,CAAAA,GAAAA,KAAc,AAAM,CAAA,eAAN,CAACZ,IAAI,CAAC,EAAE;QACzC,iBAAiB;QACjBa,KAAK,EAAEb,IAAI,CAAC,SAAS,CAAC;QACtBc,cAAc,EAAEd,IAAI,CAAC,OAAO,CAAC,GAAG,KAAK,GAAG,MAAM;QAC9Ce,OAAO,EAAE,CAACf,IAAI,CAAC,cAAc,CAAC;QAC9BgB,SAAS,EAAET,qBAAqB,CAACP,IAAI,CAAC,YAAY,CAAC,CAAC;QACpD,cAAc;QACdiB,oBAAoB,EAAET,2BAA2B,CAACR,IAAI,CAAC,0BAA0B,CAAC,CAAC;QACnFkB,QAAQ,EAAElB,IAAI,CAAC,YAAY,CAAC;KAC7B,CAAC,CAACmB,KAAK,CAACV,WAAW,CAAC,CAAC;CACvB,AAAC;QArEWX,YAAY,GAAZA,YAAY"}
|