@expo/cli 0.0.0-canary-20231122-1af9191
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +144 -0
- package/build/bin/cli +272 -0
- package/build/bin/cli.map +1 -0
- package/build/src/api/endpoint.js +27 -0
- package/build/src/api/endpoint.js.map +1 -0
- package/build/src/api/getExpoGoIntermediateCertificate.js +19 -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/getProjectDevelopmentCertificate.js +22 -0
- package/build/src/api/getProjectDevelopmentCertificate.js.map +1 -0
- package/build/src/api/getVersions.js +24 -0
- package/build/src/api/getVersions.js.map +1 -0
- package/build/src/api/graphql/client.js +106 -0
- package/build/src/api/graphql/client.js.map +1 -0
- package/build/src/api/graphql/queries/AppQuery.js +39 -0
- package/build/src/api/graphql/queries/AppQuery.js.map +1 -0
- package/build/src/api/graphql/queries/UserQuery.js +51 -0
- package/build/src/api/graphql/queries/UserQuery.js.map +1 -0
- package/build/src/api/graphql/types/App.js +23 -0
- package/build/src/api/graphql/types/App.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 +109 -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 +23 -0
- package/build/src/api/rest/wrapFetchWithBaseUrl.js.map +1 -0
- package/build/src/api/rest/wrapFetchWithOffline.js +19 -0
- package/build/src/api/rest/wrapFetchWithOffline.js.map +1 -0
- package/build/src/api/rest/wrapFetchWithProgress.js +64 -0
- package/build/src/api/rest/wrapFetchWithProgress.js.map +1 -0
- package/build/src/api/rest/wrapFetchWithProxy.js +26 -0
- package/build/src/api/rest/wrapFetchWithProxy.js.map +1 -0
- package/build/src/api/settings.js +20 -0
- package/build/src/api/settings.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 +107 -0
- package/build/src/api/user/actions.js.map +1 -0
- package/build/src/api/user/expoSsoLauncher.js +127 -0
- package/build/src/api/user/expoSsoLauncher.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 +144 -0
- package/build/src/api/user/user.js.map +1 -0
- package/build/src/config/configAsync.js +137 -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/customize/customizeAsync.js +43 -0
- package/build/src/customize/customizeAsync.js.map +1 -0
- package/build/src/customize/generate.js +104 -0
- package/build/src/customize/generate.js.map +1 -0
- package/build/src/customize/index.js +41 -0
- package/build/src/customize/index.js.map +1 -0
- package/build/src/customize/resolveOptions.js +18 -0
- package/build/src/customize/resolveOptions.js.map +1 -0
- package/build/src/customize/templates.js +126 -0
- package/build/src/customize/templates.js.map +1 -0
- package/build/src/customize/typescript.js +56 -0
- package/build/src/customize/typescript.js.map +1 -0
- package/build/src/export/createMetadataJson.js +42 -0
- package/build/src/export/createMetadataJson.js.map +1 -0
- package/build/src/export/embed/exportEmbedAsync.js +146 -0
- package/build/src/export/embed/exportEmbedAsync.js.map +1 -0
- package/build/src/export/embed/index.js +115 -0
- package/build/src/export/embed/index.js.map +1 -0
- package/build/src/export/embed/resolveOptions.js +59 -0
- package/build/src/export/embed/resolveOptions.js.map +1 -0
- package/build/src/export/embed/xcodeCompilerLogger.js +97 -0
- package/build/src/export/embed/xcodeCompilerLogger.js.map +1 -0
- package/build/src/export/exportApp.js +192 -0
- package/build/src/export/exportApp.js.map +1 -0
- package/build/src/export/exportAssets.js +176 -0
- package/build/src/export/exportAssets.js.map +1 -0
- package/build/src/export/exportAsync.js +52 -0
- package/build/src/export/exportAsync.js.map +1 -0
- package/build/src/export/exportHermes.js +124 -0
- package/build/src/export/exportHermes.js.map +1 -0
- package/build/src/export/exportStaticAsync.js +278 -0
- package/build/src/export/exportStaticAsync.js.map +1 -0
- package/build/src/export/favicon.js +89 -0
- package/build/src/export/favicon.js.map +1 -0
- package/build/src/export/fork-bundleAsync.js +215 -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/html.js +21 -0
- package/build/src/export/html.js.map +1 -0
- package/build/src/export/index.js +91 -0
- package/build/src/export/index.js.map +1 -0
- package/build/src/export/metroAssetLocalPath.js +101 -0
- package/build/src/export/metroAssetLocalPath.js.map +1 -0
- package/build/src/export/persistMetroAssets.js +190 -0
- package/build/src/export/persistMetroAssets.js.map +1 -0
- package/build/src/export/publicFolder.js +34 -0
- package/build/src/export/publicFolder.js.map +1 -0
- package/build/src/export/resolveOptions.js +63 -0
- package/build/src/export/resolveOptions.js.map +1 -0
- package/build/src/export/saveAssets.js +189 -0
- package/build/src/export/saveAssets.js.map +1 -0
- package/build/src/export/web/exportWebAsync.js +40 -0
- package/build/src/export/web/exportWebAsync.js.map +1 -0
- package/build/src/export/web/index.js +66 -0
- package/build/src/export/web/index.js.map +1 -0
- package/build/src/export/web/resolveOptions.js +13 -0
- package/build/src/export/web/resolveOptions.js.map +1 -0
- package/build/src/export/writeContents.js +26 -0
- package/build/src/export/writeContents.js.map +1 -0
- package/build/src/graphql/generated.js +486 -0
- package/build/src/graphql/generated.js.map +1 -0
- package/build/src/install/applyPlugins.js +52 -0
- package/build/src/install/applyPlugins.js.map +1 -0
- package/build/src/install/checkPackages.js +78 -0
- package/build/src/install/checkPackages.js.map +1 -0
- package/build/src/install/fixPackages.js +84 -0
- package/build/src/install/fixPackages.js.map +1 -0
- package/build/src/install/index.js +51 -0
- package/build/src/install/index.js.map +1 -0
- package/build/src/install/installAsync.js +134 -0
- package/build/src/install/installAsync.js.map +1 -0
- package/build/src/install/installExpoPackage.js +79 -0
- package/build/src/install/installExpoPackage.js.map +1 -0
- package/build/src/install/resolveOptions.js +53 -0
- package/build/src/install/resolveOptions.js.map +1 -0
- package/build/src/install/utils/autoAddConfigPlugins.js +66 -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 +67 -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 +143 -0
- package/build/src/prebuild/clearNativeFolder.js.map +1 -0
- package/build/src/prebuild/configureProjectAsync.js +64 -0
- package/build/src/prebuild/configureProjectAsync.js.map +1 -0
- package/build/src/prebuild/copyTemplateFiles.js +67 -0
- package/build/src/prebuild/copyTemplateFiles.js.map +1 -0
- package/build/src/prebuild/ensureConfigAsync.js +75 -0
- package/build/src/prebuild/ensureConfigAsync.js.map +1 -0
- package/build/src/prebuild/index.js +98 -0
- package/build/src/prebuild/index.js.map +1 -0
- package/build/src/prebuild/prebuildAsync.js +146 -0
- package/build/src/prebuild/prebuildAsync.js.map +1 -0
- package/build/src/prebuild/resolveOptions.js +115 -0
- package/build/src/prebuild/resolveOptions.js.map +1 -0
- package/build/src/prebuild/resolveTemplate.js +163 -0
- package/build/src/prebuild/resolveTemplate.js.map +1 -0
- package/build/src/prebuild/updateFromTemplate.js +103 -0
- package/build/src/prebuild/updateFromTemplate.js.map +1 -0
- package/build/src/prebuild/updatePackageJson.js +227 -0
- package/build/src/prebuild/updatePackageJson.js.map +1 -0
- package/build/src/prebuild/validateTemplatePlatforms.js +48 -0
- package/build/src/prebuild/validateTemplatePlatforms.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 +34 -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 +51 -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 +83 -0
- package/build/src/run/android/runAndroidAsync.js.map +1 -0
- package/build/src/run/ensureNativeProject.js +36 -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/ios/XcodeBuild.js +276 -0
- package/build/src/run/ios/XcodeBuild.js.map +1 -0
- package/build/src/run/ios/XcodeBuild.types.js +6 -0
- package/build/src/run/ios/XcodeBuild.types.js.map +1 -0
- package/build/src/run/ios/appleDevice/AppleDevice.js +195 -0
- package/build/src/run/ios/appleDevice/AppleDevice.js.map +1 -0
- package/build/src/run/ios/appleDevice/ClientManager.js +165 -0
- package/build/src/run/ios/appleDevice/ClientManager.js.map +1 -0
- package/build/src/run/ios/appleDevice/client/AFCClient.js +195 -0
- package/build/src/run/ios/appleDevice/client/AFCClient.js.map +1 -0
- package/build/src/run/ios/appleDevice/client/DebugserverClient.js +107 -0
- package/build/src/run/ios/appleDevice/client/DebugserverClient.js.map +1 -0
- package/build/src/run/ios/appleDevice/client/InstallationProxyClient.js +97 -0
- package/build/src/run/ios/appleDevice/client/InstallationProxyClient.js.map +1 -0
- package/build/src/run/ios/appleDevice/client/LockdowndClient.js +144 -0
- package/build/src/run/ios/appleDevice/client/LockdowndClient.js.map +1 -0
- package/build/src/run/ios/appleDevice/client/MobileImageMounterClient.js +91 -0
- package/build/src/run/ios/appleDevice/client/MobileImageMounterClient.js.map +1 -0
- package/build/src/run/ios/appleDevice/client/ServiceClient.js +21 -0
- package/build/src/run/ios/appleDevice/client/ServiceClient.js.map +1 -0
- package/build/src/run/ios/appleDevice/client/UsbmuxdClient.js +117 -0
- package/build/src/run/ios/appleDevice/client/UsbmuxdClient.js.map +1 -0
- package/build/src/run/ios/appleDevice/installOnDeviceAsync.js +90 -0
- package/build/src/run/ios/appleDevice/installOnDeviceAsync.js.map +1 -0
- package/build/src/run/ios/appleDevice/protocol/AFCProtocol.js +332 -0
- package/build/src/run/ios/appleDevice/protocol/AFCProtocol.js.map +1 -0
- package/build/src/run/ios/appleDevice/protocol/AbstractProtocol.js +133 -0
- package/build/src/run/ios/appleDevice/protocol/AbstractProtocol.js.map +1 -0
- package/build/src/run/ios/appleDevice/protocol/GDBProtocol.js +126 -0
- package/build/src/run/ios/appleDevice/protocol/GDBProtocol.js.map +1 -0
- package/build/src/run/ios/appleDevice/protocol/LockdownProtocol.js +74 -0
- package/build/src/run/ios/appleDevice/protocol/LockdownProtocol.js.map +1 -0
- package/build/src/run/ios/appleDevice/protocol/UsbmuxProtocol.js +65 -0
- package/build/src/run/ios/appleDevice/protocol/UsbmuxProtocol.js.map +1 -0
- package/build/src/run/ios/codeSigning/Security.js +85 -0
- package/build/src/run/ios/codeSigning/Security.js.map +1 -0
- package/build/src/run/ios/codeSigning/configureCodeSigning.js +77 -0
- package/build/src/run/ios/codeSigning/configureCodeSigning.js.map +1 -0
- package/build/src/run/ios/codeSigning/resolveCertificateSigningIdentity.js +102 -0
- package/build/src/run/ios/codeSigning/resolveCertificateSigningIdentity.js.map +1 -0
- package/build/src/run/ios/codeSigning/settings.js +21 -0
- package/build/src/run/ios/codeSigning/settings.js.map +1 -0
- package/build/src/run/ios/codeSigning/simulatorCodeSigning.js +45 -0
- package/build/src/run/ios/codeSigning/simulatorCodeSigning.js.map +1 -0
- package/build/src/run/ios/codeSigning/xcodeCodeSigning.js +79 -0
- package/build/src/run/ios/codeSigning/xcodeCodeSigning.js.map +1 -0
- package/build/src/run/ios/index.js +98 -0
- package/build/src/run/ios/index.js.map +1 -0
- package/build/src/run/ios/launchApp.js +75 -0
- package/build/src/run/ios/launchApp.js.map +1 -0
- package/build/src/run/ios/options/promptDevice.js +50 -0
- package/build/src/run/ios/options/promptDevice.js.map +1 -0
- package/build/src/run/ios/options/resolveDevice.js +92 -0
- package/build/src/run/ios/options/resolveDevice.js.map +1 -0
- package/build/src/run/ios/options/resolveNativeScheme.js +101 -0
- package/build/src/run/ios/options/resolveNativeScheme.js.map +1 -0
- package/build/src/run/ios/options/resolveOptions.js +44 -0
- package/build/src/run/ios/options/resolveOptions.js.map +1 -0
- package/build/src/run/ios/options/resolveXcodeProject.js +39 -0
- package/build/src/run/ios/options/resolveXcodeProject.js.map +1 -0
- package/build/src/run/ios/runIosAsync.js +93 -0
- package/build/src/run/ios/runIosAsync.js.map +1 -0
- package/build/src/run/resolveBundlerProps.js +34 -0
- package/build/src/run/resolveBundlerProps.js.map +1 -0
- package/build/src/run/startBundler.js +82 -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/SecurityBinPrerequisite.js +27 -0
- package/build/src/start/doctor/SecurityBinPrerequisite.js.map +1 -0
- package/build/src/start/doctor/apple/SimulatorAppPrerequisite.js +70 -0
- package/build/src/start/doctor/apple/SimulatorAppPrerequisite.js.map +1 -0
- package/build/src/start/doctor/apple/XcodeDeveloperDiskImagePrerequisite.js +69 -0
- package/build/src/start/doctor/apple/XcodeDeveloperDiskImagePrerequisite.js.map +1 -0
- package/build/src/start/doctor/apple/XcodePrerequisite.js +158 -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 +69 -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 +74 -0
- package/build/src/start/doctor/dependencies/getMissingPackages.js.map +1 -0
- package/build/src/start/doctor/dependencies/getVersionedPackages.js +136 -0
- package/build/src/start/doctor/dependencies/getVersionedPackages.js.map +1 -0
- package/build/src/start/doctor/dependencies/validateDependenciesVersions.js +195 -0
- package/build/src/start/doctor/dependencies/validateDependenciesVersions.js.map +1 -0
- package/build/src/start/doctor/ngrok/ExternalModule.js +169 -0
- package/build/src/start/doctor/ngrok/ExternalModule.js.map +1 -0
- package/build/src/start/doctor/ngrok/NgrokResolver.js +22 -0
- package/build/src/start/doctor/ngrok/NgrokResolver.js.map +1 -0
- package/build/src/start/doctor/typescript/TypeScriptProjectPrerequisite.js +165 -0
- package/build/src/start/doctor/typescript/TypeScriptProjectPrerequisite.js.map +1 -0
- package/build/src/start/doctor/typescript/updateTSConfig.js +99 -0
- package/build/src/start/doctor/typescript/updateTSConfig.js.map +1 -0
- package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js +111 -0
- package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js.map +1 -0
- package/build/src/start/index.js +123 -0
- package/build/src/start/index.js.map +1 -0
- package/build/src/start/interface/KeyPressHandler.js +101 -0
- package/build/src/start/interface/KeyPressHandler.js.map +1 -0
- package/build/src/start/interface/commandsTable.js +195 -0
- package/build/src/start/interface/commandsTable.js.map +1 -0
- package/build/src/start/interface/interactiveActions.js +194 -0
- package/build/src/start/interface/interactiveActions.js.map +1 -0
- package/build/src/start/interface/startInterface.js +227 -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 +127 -0
- package/build/src/start/platforms/ExpoGoInstaller.js.map +1 -0
- package/build/src/start/platforms/PlatformManager.js +131 -0
- package/build/src/start/platforms/PlatformManager.js.map +1 -0
- package/build/src/start/platforms/android/ADBServer.js +114 -0
- package/build/src/start/platforms/android/ADBServer.js.map +1 -0
- package/build/src/start/platforms/android/AndroidAppIdResolver.js +44 -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/AndroidSdk.js +41 -0
- package/build/src/start/platforms/android/AndroidSdk.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 +269 -0
- package/build/src/start/platforms/android/adb.js.map +1 -0
- package/build/src/start/platforms/android/adbReverse.js +95 -0
- package/build/src/start/platforms/android/adbReverse.js.map +1 -0
- package/build/src/start/platforms/android/emulator.js +126 -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 +56 -0
- package/build/src/start/platforms/android/promptAndroidDevice.js.map +1 -0
- package/build/src/start/platforms/ios/AppleAppIdResolver.js +53 -0
- package/build/src/start/platforms/ios/AppleAppIdResolver.js.map +1 -0
- package/build/src/start/platforms/ios/AppleDeviceManager.js +216 -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 +56 -0
- package/build/src/start/platforms/ios/promptAppleDevice.js.map +1 -0
- package/build/src/start/platforms/ios/simctl.js +243 -0
- package/build/src/start/platforms/ios/simctl.js.map +1 -0
- package/build/src/start/platforms/ios/simctlLogging.js +220 -0
- package/build/src/start/platforms/ios/simctlLogging.js.map +1 -0
- package/build/src/start/platforms/ios/xcrun.js +46 -0
- package/build/src/start/platforms/ios/xcrun.js.map +1 -0
- package/build/src/start/project/devices.js +79 -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 +135 -0
- package/build/src/start/resolveOptions.js.map +1 -0
- package/build/src/start/server/AsyncNgrok.js +220 -0
- package/build/src/start/server/AsyncNgrok.js.map +1 -0
- package/build/src/start/server/BundlerDevServer.js +356 -0
- package/build/src/start/server/BundlerDevServer.js.map +1 -0
- package/build/src/start/server/DevServerManager.js +214 -0
- package/build/src/start/server/DevServerManager.js.map +1 -0
- package/build/src/start/server/DevToolsPluginManager.js +63 -0
- package/build/src/start/server/DevToolsPluginManager.js.map +1 -0
- package/build/src/start/server/DevelopmentSession.js +114 -0
- package/build/src/start/server/DevelopmentSession.js.map +1 -0
- package/build/src/start/server/ReactDevToolsProxy.js +73 -0
- package/build/src/start/server/ReactDevToolsProxy.js.map +1 -0
- package/build/src/start/server/UrlCreator.js +175 -0
- package/build/src/start/server/UrlCreator.js.map +1 -0
- package/build/src/start/server/getStaticRenderFunctions.js +164 -0
- package/build/src/start/server/getStaticRenderFunctions.js.map +1 -0
- package/build/src/start/server/metro/MetroBundlerDevServer.js +485 -0
- package/build/src/start/server/metro/MetroBundlerDevServer.js.map +1 -0
- package/build/src/start/server/metro/MetroTerminalReporter.js +165 -0
- package/build/src/start/server/metro/MetroTerminalReporter.js.map +1 -0
- package/build/src/start/server/metro/TerminalReporter.js +92 -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/bundleApiRoutes.js +52 -0
- package/build/src/start/server/metro/bundleApiRoutes.js.map +1 -0
- package/build/src/start/server/metro/createExpoMetroResolver.js +187 -0
- package/build/src/start/server/metro/createExpoMetroResolver.js.map +1 -0
- package/build/src/start/server/metro/createJResolver.js +149 -0
- package/build/src/start/server/metro/createJResolver.js.map +1 -0
- package/build/src/start/server/metro/createServerRouteMiddleware.js +124 -0
- package/build/src/start/server/metro/createServerRouteMiddleware.js.map +1 -0
- package/build/src/start/server/metro/externals.js +94 -0
- package/build/src/start/server/metro/externals.js.map +1 -0
- package/build/src/start/server/metro/fetchRouterManifest.js +60 -0
- package/build/src/start/server/metro/fetchRouterManifest.js.map +1 -0
- package/build/src/start/server/metro/formatFileCandidates.js +72 -0
- package/build/src/start/server/metro/formatFileCandidates.js.map +1 -0
- package/build/src/start/server/metro/getCssModulesFromBundler.js +77 -0
- package/build/src/start/server/metro/getCssModulesFromBundler.js.map +1 -0
- package/build/src/start/server/metro/inspector-proxy/device.js +110 -0
- package/build/src/start/server/metro/inspector-proxy/device.js.map +1 -0
- package/build/src/start/server/metro/inspector-proxy/handlers/NetworkResponse.js +29 -0
- package/build/src/start/server/metro/inspector-proxy/handlers/NetworkResponse.js.map +1 -0
- package/build/src/start/server/metro/inspector-proxy/handlers/PageReload.js +22 -0
- package/build/src/start/server/metro/inspector-proxy/handlers/PageReload.js.map +1 -0
- package/build/src/start/server/metro/inspector-proxy/handlers/VscodeDebuggerGetPossibleBreakpoints.js +21 -0
- package/build/src/start/server/metro/inspector-proxy/handlers/VscodeDebuggerGetPossibleBreakpoints.js.map +1 -0
- package/build/src/start/server/metro/inspector-proxy/handlers/VscodeDebuggerScriptParsed.js +55 -0
- package/build/src/start/server/metro/inspector-proxy/handlers/VscodeDebuggerScriptParsed.js.map +1 -0
- package/build/src/start/server/metro/inspector-proxy/handlers/VscodeDebuggerSetBreakpointByUrl.js +17 -0
- package/build/src/start/server/metro/inspector-proxy/handlers/VscodeDebuggerSetBreakpointByUrl.js.map +1 -0
- package/build/src/start/server/metro/inspector-proxy/handlers/VscodeRuntimeCallFunctionOn.js +24 -0
- package/build/src/start/server/metro/inspector-proxy/handlers/VscodeRuntimeCallFunctionOn.js.map +1 -0
- package/build/src/start/server/metro/inspector-proxy/handlers/VscodeRuntimeGetProperties.js +39 -0
- package/build/src/start/server/metro/inspector-proxy/handlers/VscodeRuntimeGetProperties.js.map +1 -0
- package/build/src/start/server/metro/inspector-proxy/handlers/types.js +6 -0
- package/build/src/start/server/metro/inspector-proxy/handlers/types.js.map +1 -0
- package/build/src/start/server/metro/inspector-proxy/handlers/utils.js +11 -0
- package/build/src/start/server/metro/inspector-proxy/handlers/utils.js.map +1 -0
- package/build/src/start/server/metro/inspector-proxy/index.js +24 -0
- package/build/src/start/server/metro/inspector-proxy/index.js.map +1 -0
- package/build/src/start/server/metro/inspector-proxy/proxy.js +169 -0
- package/build/src/start/server/metro/inspector-proxy/proxy.js.map +1 -0
- package/build/src/start/server/metro/instantiateMetro.js +194 -0
- package/build/src/start/server/metro/instantiateMetro.js.map +1 -0
- package/build/src/start/server/metro/metroErrorInterface.js +198 -0
- package/build/src/start/server/metro/metroErrorInterface.js.map +1 -0
- package/build/src/start/server/metro/metroErrors.js +14 -0
- package/build/src/start/server/metro/metroErrors.js.map +1 -0
- package/build/src/start/server/metro/metroWatchTypeScriptFiles.js +51 -0
- package/build/src/start/server/metro/metroWatchTypeScriptFiles.js.map +1 -0
- package/build/src/start/server/metro/router.js +83 -0
- package/build/src/start/server/metro/router.js.map +1 -0
- package/build/src/start/server/metro/runServer-fork.js +96 -0
- package/build/src/start/server/metro/runServer-fork.js.map +1 -0
- package/build/src/start/server/metro/serializeHtml.js +43 -0
- package/build/src/start/server/metro/serializeHtml.js.map +1 -0
- package/build/src/start/server/metro/symbolicate.js +6 -0
- package/build/src/start/server/metro/symbolicate.js.map +1 -0
- package/build/src/start/server/metro/waitForMetroToObserveTypeScriptFile.js +91 -0
- package/build/src/start/server/metro/waitForMetroToObserveTypeScriptFile.js.map +1 -0
- package/build/src/start/server/metro/withMetroMultiPlatform.js +402 -0
- package/build/src/start/server/metro/withMetroMultiPlatform.js.map +1 -0
- package/build/src/start/server/metro/withMetroResolvers.js +272 -0
- package/build/src/start/server/metro/withMetroResolvers.js.map +1 -0
- package/build/src/start/server/middleware/ContextModuleSourceMapsMiddleware.js +27 -0
- package/build/src/start/server/middleware/ContextModuleSourceMapsMiddleware.js.map +1 -0
- package/build/src/start/server/middleware/CreateFileMiddleware.js +106 -0
- package/build/src/start/server/middleware/CreateFileMiddleware.js.map +1 -0
- package/build/src/start/server/middleware/DevToolsPluginMiddleware.js +61 -0
- package/build/src/start/server/middleware/DevToolsPluginMiddleware.js.map +1 -0
- package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js +236 -0
- package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js.map +1 -0
- package/build/src/start/server/middleware/ExpoMiddleware.js +83 -0
- package/build/src/start/server/middleware/ExpoMiddleware.js.map +1 -0
- package/build/src/start/server/middleware/FaviconMiddleware.js +42 -0
- package/build/src/start/server/middleware/FaviconMiddleware.js.map +1 -0
- package/build/src/start/server/middleware/HistoryFallbackMiddleware.js +24 -0
- package/build/src/start/server/middleware/HistoryFallbackMiddleware.js.map +1 -0
- package/build/src/start/server/middleware/InterstitialPageMiddleware.js +81 -0
- package/build/src/start/server/middleware/InterstitialPageMiddleware.js.map +1 -0
- package/build/src/start/server/middleware/ManifestMiddleware.js +300 -0
- package/build/src/start/server/middleware/ManifestMiddleware.js.map +1 -0
- package/build/src/start/server/middleware/ReactDevToolsPageMiddleware.js +35 -0
- package/build/src/start/server/middleware/ReactDevToolsPageMiddleware.js.map +1 -0
- package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js +75 -0
- package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js.map +1 -0
- package/build/src/start/server/middleware/ServeStaticMiddleware.js +62 -0
- package/build/src/start/server/middleware/ServeStaticMiddleware.js.map +1 -0
- package/build/src/start/server/middleware/inspector/JsInspector.js +69 -0
- package/build/src/start/server/middleware/inspector/JsInspector.js.map +1 -0
- package/build/src/start/server/middleware/inspector/LaunchBrowser.js +61 -0
- package/build/src/start/server/middleware/inspector/LaunchBrowser.js.map +1 -0
- package/build/src/start/server/middleware/inspector/LaunchBrowser.types.js +13 -0
- package/build/src/start/server/middleware/inspector/LaunchBrowser.types.js.map +1 -0
- package/build/src/start/server/middleware/inspector/LaunchBrowserImplLinux.js +82 -0
- package/build/src/start/server/middleware/inspector/LaunchBrowserImplLinux.js.map +1 -0
- package/build/src/start/server/middleware/inspector/LaunchBrowserImplMacOS.js +79 -0
- package/build/src/start/server/middleware/inspector/LaunchBrowserImplMacOS.js.map +1 -0
- package/build/src/start/server/middleware/inspector/LaunchBrowserImplWindows.js +124 -0
- package/build/src/start/server/middleware/inspector/LaunchBrowserImplWindows.js.map +1 -0
- package/build/src/start/server/middleware/inspector/createJsInspectorMiddleware.js +64 -0
- package/build/src/start/server/middleware/inspector/createJsInspectorMiddleware.js.map +1 -0
- package/build/src/start/server/middleware/inspector/middlwareMutations.js +19 -0
- package/build/src/start/server/middleware/inspector/middlwareMutations.js.map +1 -0
- package/build/src/start/server/middleware/metroOptions.js +128 -0
- package/build/src/start/server/middleware/metroOptions.js.map +1 -0
- package/build/src/start/server/middleware/mutations.js +19 -0
- package/build/src/start/server/middleware/mutations.js.map +1 -0
- package/build/src/start/server/middleware/remoteDevtoolsCorsMiddleware.js +31 -0
- package/build/src/start/server/middleware/remoteDevtoolsCorsMiddleware.js.map +1 -0
- package/build/src/start/server/middleware/remoteDevtoolsSecurityHeadersMiddleware.js +17 -0
- package/build/src/start/server/middleware/remoteDevtoolsSecurityHeadersMiddleware.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/resolvePlatform.js +47 -0
- package/build/src/start/server/middleware/resolvePlatform.js.map +1 -0
- package/build/src/start/server/middleware/server.types.js +6 -0
- package/build/src/start/server/middleware/server.types.js.map +1 -0
- package/build/src/start/server/middleware/suppressErrorMiddleware.js +16 -0
- package/build/src/start/server/middleware/suppressErrorMiddleware.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/platformBundlers.js +18 -0
- package/build/src/start/server/platformBundlers.js.map +1 -0
- package/build/src/start/server/type-generation/__typetests__/fixtures/basic.js +38 -0
- package/build/src/start/server/type-generation/__typetests__/fixtures/basic.js.map +1 -0
- package/build/src/start/server/type-generation/__typetests__/generateFixtures.js +38 -0
- package/build/src/start/server/type-generation/__typetests__/generateFixtures.js.map +1 -0
- package/build/src/start/server/type-generation/__typetests__/route.test.js +176 -0
- package/build/src/start/server/type-generation/__typetests__/route.test.js.map +1 -0
- package/build/src/start/server/type-generation/expo-env.js +27 -0
- package/build/src/start/server/type-generation/expo-env.js.map +1 -0
- package/build/src/start/server/type-generation/routes.js +474 -0
- package/build/src/start/server/type-generation/routes.js.map +1 -0
- package/build/src/start/server/type-generation/startTypescriptTypeGeneration.js +56 -0
- package/build/src/start/server/type-generation/startTypescriptTypeGeneration.js.map +1 -0
- package/build/src/start/server/type-generation/tsconfig.js +89 -0
- package/build/src/start/server/type-generation/tsconfig.js.map +1 -0
- package/build/src/start/server/webTemplate.js +84 -0
- package/build/src/start/server/webTemplate.js.map +1 -0
- package/build/src/start/server/webpack/WebpackBundlerDevServer.js +266 -0
- package/build/src/start/server/webpack/WebpackBundlerDevServer.js.map +1 -0
- package/build/src/start/server/webpack/compile.js +64 -0
- package/build/src/start/server/webpack/compile.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 +154 -0
- package/build/src/start/startAsync.js.map +1 -0
- package/build/src/utils/FileNotifier.js +90 -0
- package/build/src/utils/FileNotifier.js.map +1 -0
- package/build/src/utils/analytics/getDevClientProperties.js +47 -0
- package/build/src/utils/analytics/getDevClientProperties.js.map +1 -0
- package/build/src/utils/analytics/getMetroDebugProperties.js +15 -0
- package/build/src/utils/analytics/getMetroDebugProperties.js.map +1 -0
- package/build/src/utils/analytics/getMetroProperties.js +28 -0
- package/build/src/utils/analytics/getMetroProperties.js.map +1 -0
- package/build/src/utils/analytics/metroDebuggerMiddleware.js +55 -0
- package/build/src/utils/analytics/metroDebuggerMiddleware.js.map +1 -0
- package/build/src/utils/analytics/rudderstackClient.js +147 -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 +79 -0
- package/build/src/utils/args.js.map +1 -0
- package/build/src/utils/array.js +67 -0
- package/build/src/utils/array.js.map +1 -0
- package/build/src/utils/cocoapods.js +191 -0
- package/build/src/utils/cocoapods.js.map +1 -0
- package/build/src/utils/codesigning.js +311 -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 +63 -0
- package/build/src/utils/dir.js.map +1 -0
- package/build/src/utils/downloadAppAsync.js +73 -0
- package/build/src/utils/downloadAppAsync.js.map +1 -0
- package/build/src/utils/downloadExpoGoAsync.js +116 -0
- package/build/src/utils/downloadExpoGoAsync.js.map +1 -0
- package/build/src/utils/editor.js +69 -0
- package/build/src/utils/editor.js.map +1 -0
- package/build/src/utils/env.js +131 -0
- package/build/src/utils/env.js.map +1 -0
- package/build/src/utils/errors.js +70 -0
- package/build/src/utils/errors.js.map +1 -0
- package/build/src/utils/exit.js +69 -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 +181 -0
- package/build/src/utils/getOrPromptApplicationId.js.map +1 -0
- package/build/src/utils/getRunningProcess.js +96 -0
- package/build/src/utils/getRunningProcess.js.map +1 -0
- package/build/src/utils/git.js +89 -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/interactive.js +11 -0
- package/build/src/utils/interactive.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 +154 -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/nodeEnv.js +11 -0
- package/build/src/utils/nodeEnv.js.map +1 -0
- package/build/src/utils/nodeModules.js +29 -0
- package/build/src/utils/nodeModules.js.map +1 -0
- package/build/src/utils/npm.js +116 -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/open.js +26 -0
- package/build/src/utils/open.js.map +1 -0
- package/build/src/utils/ora.js +91 -0
- package/build/src/utils/ora.js.map +1 -0
- package/build/src/utils/plist.js +59 -0
- package/build/src/utils/plist.js.map +1 -0
- package/build/src/utils/port.js +160 -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 +61 -0
- package/build/src/utils/progress.js.map +1 -0
- package/build/src/utils/prompts.js +116 -0
- package/build/src/utils/prompts.js.map +1 -0
- package/build/src/utils/resolveArgs.js +140 -0
- package/build/src/utils/resolveArgs.js.map +1 -0
- package/build/src/utils/scheme.js +128 -0
- package/build/src/utils/scheme.js.map +1 -0
- package/build/src/utils/strings.js +24 -0
- package/build/src/utils/strings.js.map +1 -0
- package/build/src/utils/tar.js +62 -0
- package/build/src/utils/tar.js.map +1 -0
- package/build/src/utils/template.js +21 -0
- package/build/src/utils/template.js.map +1 -0
- package/build/src/utils/terminal.js +10 -0
- package/build/src/utils/terminal.js.map +1 -0
- package/build/src/utils/tsconfig/evaluateTsConfig.js +61 -0
- package/build/src/utils/tsconfig/evaluateTsConfig.js.map +1 -0
- package/build/src/utils/tsconfig/loadTsConfigPaths.js +61 -0
- package/build/src/utils/tsconfig/loadTsConfigPaths.js.map +1 -0
- package/build/src/utils/tsconfig/matchTsConfigPathAlias.js +88 -0
- package/build/src/utils/tsconfig/matchTsConfigPathAlias.js.map +1 -0
- package/build/src/utils/tsconfig/resolveWithTsConfigPaths.js +51 -0
- package/build/src/utils/tsconfig/resolveWithTsConfigPaths.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 +179 -0
- package/build/src/utils/validateApplicationId.js.map +1 -0
- package/build/src/utils/variadic.js +65 -0
- package/build/src/utils/variadic.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 +163 -0
- package/static/loading-page/index.html +363 -0
- package/static/react-devtools-page/index.html +144 -0
- package/static/shims/react-native-web/dist/cjs/exports/AppRegistry/AppContainer.js +13 -0
- package/static/shims/react-native-web/dist/cjs/exports/BackHandler/index.js +10 -0
- package/static/shims/react-native-web/dist/exports/AppRegistry/AppContainer.js +12 -0
- package/static/shims/react-native-web/dist/exports/BackHandler/index.js +7 -0
- package/static/template/babel.config.js +6 -0
- package/static/template/index.html +36 -0
- package/static/template/metro.config.js +7 -0
- package/static/template/serve.json +13 -0
- package/static/template/webpack.config.js +7 -0
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
exports.exportEmbedAsync = exportEmbedAsync;
|
|
6
|
+
exports.exportEmbedBundleAsync = exportEmbedBundleAsync;
|
|
7
|
+
var _config = require("@expo/config");
|
|
8
|
+
var _fs = _interopRequireDefault(require("fs"));
|
|
9
|
+
var _glob = require("glob");
|
|
10
|
+
var _server = _interopRequireDefault(require("metro/src/Server"));
|
|
11
|
+
var _bundle = _interopRequireDefault(require("metro/src/shared/output/bundle"));
|
|
12
|
+
var _path = _interopRequireDefault(require("path"));
|
|
13
|
+
var _xcodeCompilerLogger = require("./xcodeCompilerLogger");
|
|
14
|
+
var _log = require("../../log");
|
|
15
|
+
var _instantiateMetro = require("../../start/server/metro/instantiateMetro");
|
|
16
|
+
var _metroOptions = require("../../start/server/middleware/metroOptions");
|
|
17
|
+
var _ansi = require("../../utils/ansi");
|
|
18
|
+
var _dir = require("../../utils/dir");
|
|
19
|
+
var _nodeEnv = require("../../utils/nodeEnv");
|
|
20
|
+
var _profile = require("../../utils/profile");
|
|
21
|
+
var _exportHermes = require("../exportHermes");
|
|
22
|
+
var _forkBundleAsync = require("../fork-bundleAsync");
|
|
23
|
+
var _persistMetroAssets = require("../persistMetroAssets");
|
|
24
|
+
function _interopRequireDefault(obj) {
|
|
25
|
+
return obj && obj.__esModule ? obj : {
|
|
26
|
+
default: obj
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
const debug = require("debug")("expo:export:embed");
|
|
30
|
+
function guessCopiedAppleBundlePath(bundleOutput) {
|
|
31
|
+
// Ensure the path is familiar before guessing.
|
|
32
|
+
if (!bundleOutput.match(/\/Xcode\/DerivedData\/.*\/Build\/Products\//)) {
|
|
33
|
+
debug("Bundling to non-standard location:", bundleOutput);
|
|
34
|
+
return false;
|
|
35
|
+
}
|
|
36
|
+
const bundleName = _path.default.basename(bundleOutput);
|
|
37
|
+
const bundleParent = _path.default.dirname(bundleOutput);
|
|
38
|
+
const possiblePath = (0, _glob).sync(_path.default.join(bundleParent, `*.app/${bundleName}`), {
|
|
39
|
+
// bundle identifiers can start with dots.
|
|
40
|
+
dot: true
|
|
41
|
+
})[0];
|
|
42
|
+
debug("Possible path for previous bundle:", possiblePath);
|
|
43
|
+
return possiblePath;
|
|
44
|
+
}
|
|
45
|
+
async function exportEmbedAsync(projectRoot, options) {
|
|
46
|
+
(0, _nodeEnv).setNodeEnv(options.dev ? "development" : "production");
|
|
47
|
+
require("@expo/env").load(projectRoot);
|
|
48
|
+
// Ensure we delete the old bundle to trigger a failure if the bundle cannot be created.
|
|
49
|
+
await (0, _dir).removeAsync(options.bundleOutput);
|
|
50
|
+
// The iOS bundle is copied in to the Xcode project, so we need to remove the old one
|
|
51
|
+
// to prevent Xcode from loading the old one after a build failure.
|
|
52
|
+
if (options.platform === "ios") {
|
|
53
|
+
const previousPath = guessCopiedAppleBundlePath(options.bundleOutput);
|
|
54
|
+
if (previousPath && _fs.default.existsSync(previousPath)) {
|
|
55
|
+
debug("Removing previous iOS bundle:", previousPath);
|
|
56
|
+
await (0, _dir).removeAsync(previousPath);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
const { bundle , assets } = await exportEmbedBundleAsync(projectRoot, options);
|
|
60
|
+
_fs.default.mkdirSync(_path.default.dirname(options.bundleOutput), {
|
|
61
|
+
recursive: true,
|
|
62
|
+
mode: 493
|
|
63
|
+
});
|
|
64
|
+
// Persist bundle and source maps.
|
|
65
|
+
await Promise.all([
|
|
66
|
+
_bundle.default.save(bundle, options, _log.Log.log),
|
|
67
|
+
// NOTE(EvanBacon): This may need to be adjusted in the future if want to support baseUrl on native
|
|
68
|
+
// platforms when doing production embeds (unlikely).
|
|
69
|
+
options.assetsDest ? (0, _persistMetroAssets).persistMetroAssetsAsync(assets, {
|
|
70
|
+
platform: options.platform,
|
|
71
|
+
outputDirectory: options.assetsDest,
|
|
72
|
+
iosAssetCatalogDirectory: options.assetCatalogDest
|
|
73
|
+
}) : null,
|
|
74
|
+
]);
|
|
75
|
+
}
|
|
76
|
+
async function exportEmbedBundleAsync(projectRoot, options) {
|
|
77
|
+
const exp = (0, _config).getConfig(projectRoot, {
|
|
78
|
+
skipSDKVersionRequirement: true
|
|
79
|
+
}).exp;
|
|
80
|
+
// TODO: This is slow ~40ms
|
|
81
|
+
const { config } = await (0, _instantiateMetro).loadMetroConfigAsync(projectRoot, {
|
|
82
|
+
maxWorkers: options.maxWorkers,
|
|
83
|
+
resetCache: false,
|
|
84
|
+
config: options.config
|
|
85
|
+
}, {
|
|
86
|
+
exp,
|
|
87
|
+
isExporting: true
|
|
88
|
+
});
|
|
89
|
+
const isHermes = (0, _exportHermes).isEnableHermesManaged(exp, options.platform);
|
|
90
|
+
let sourceMapUrl = options.sourcemapOutput;
|
|
91
|
+
if (sourceMapUrl && !options.sourcemapUseAbsolutePath) {
|
|
92
|
+
sourceMapUrl = _path.default.basename(sourceMapUrl);
|
|
93
|
+
}
|
|
94
|
+
const bundleRequest = {
|
|
95
|
+
..._server.default.DEFAULT_BUNDLE_OPTIONS,
|
|
96
|
+
...(0, _metroOptions).getMetroDirectBundleOptions({
|
|
97
|
+
mainModuleName: options.entryFile,
|
|
98
|
+
platform: options.platform,
|
|
99
|
+
minify: options.minify,
|
|
100
|
+
mode: options.dev ? "development" : "production",
|
|
101
|
+
engine: isHermes ? "hermes" : undefined,
|
|
102
|
+
baseUrl: (0, _metroOptions).getBaseUrlFromExpoConfig(exp),
|
|
103
|
+
isExporting: true
|
|
104
|
+
}),
|
|
105
|
+
sourceMapUrl,
|
|
106
|
+
unstable_transformProfile: options.unstableTransformProfile || (isHermes ? "hermes-stable" : "default")
|
|
107
|
+
};
|
|
108
|
+
const server = new _server.default(config, {
|
|
109
|
+
watch: false
|
|
110
|
+
});
|
|
111
|
+
try {
|
|
112
|
+
const bundle = await (0, _profile).profile(server.build.bind(server), "metro-bundle")({
|
|
113
|
+
...bundleRequest,
|
|
114
|
+
bundleType: "bundle"
|
|
115
|
+
});
|
|
116
|
+
// Save the assets of the bundle
|
|
117
|
+
const outputAssets = await (0, _forkBundleAsync).getAssets(server, {
|
|
118
|
+
...bundleRequest,
|
|
119
|
+
bundleType: "todo"
|
|
120
|
+
});
|
|
121
|
+
return {
|
|
122
|
+
bundle,
|
|
123
|
+
assets: outputAssets
|
|
124
|
+
};
|
|
125
|
+
} catch (error) {
|
|
126
|
+
if (isError(error)) {
|
|
127
|
+
// Log using Xcode error format so the errors are picked up by xcodebuild.
|
|
128
|
+
// https://developer.apple.com/documentation/xcode/running-custom-scripts-during-a-build#Log-errors-and-warnings-from-your-script
|
|
129
|
+
if (options.platform === "ios") {
|
|
130
|
+
// If the error is about to be presented in Xcode, strip the ansi characters from the message.
|
|
131
|
+
if ("message" in error && (0, _xcodeCompilerLogger).isExecutingFromXcodebuild()) {
|
|
132
|
+
error.message = (0, _ansi).stripAnsi(error.message);
|
|
133
|
+
}
|
|
134
|
+
(0, _xcodeCompilerLogger).logMetroErrorInXcode(projectRoot, error);
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
throw error;
|
|
138
|
+
} finally{
|
|
139
|
+
server.end();
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
function isError(error) {
|
|
143
|
+
return error instanceof Error;
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
//# sourceMappingURL=exportEmbedAsync.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/export/embed/exportEmbedAsync.ts"],"sourcesContent":["/**\n * Copyright © 2023 650 Industries.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport { getConfig } from '@expo/config';\nimport fs from 'fs';\nimport { sync as globSync } from 'glob';\nimport Server from 'metro/src/Server';\nimport output from 'metro/src/shared/output/bundle';\nimport type { BundleOptions } from 'metro/src/shared/types';\nimport path from 'path';\n\nimport { Options } from './resolveOptions';\nimport { isExecutingFromXcodebuild, logMetroErrorInXcode } from './xcodeCompilerLogger';\nimport { Log } from '../../log';\nimport { loadMetroConfigAsync } from '../../start/server/metro/instantiateMetro';\nimport {\n getBaseUrlFromExpoConfig,\n getMetroDirectBundleOptions,\n} from '../../start/server/middleware/metroOptions';\nimport { stripAnsi } from '../../utils/ansi';\nimport { removeAsync } from '../../utils/dir';\nimport { setNodeEnv } from '../../utils/nodeEnv';\nimport { profile } from '../../utils/profile';\nimport { isEnableHermesManaged } from '../exportHermes';\nimport { getAssets } from '../fork-bundleAsync';\nimport { persistMetroAssetsAsync } from '../persistMetroAssets';\n\nconst debug = require('debug')('expo:export:embed');\n\nfunction guessCopiedAppleBundlePath(bundleOutput: string) {\n // Ensure the path is familiar before guessing.\n if (!bundleOutput.match(/\\/Xcode\\/DerivedData\\/.*\\/Build\\/Products\\//)) {\n debug('Bundling to non-standard location:', bundleOutput);\n return false;\n }\n const bundleName = path.basename(bundleOutput);\n const bundleParent = path.dirname(bundleOutput);\n const possiblePath = globSync(path.join(bundleParent, `*.app/${bundleName}`), {\n // bundle identifiers can start with dots.\n dot: true,\n })[0];\n debug('Possible path for previous bundle:', possiblePath);\n return possiblePath;\n}\n\nexport async function exportEmbedAsync(projectRoot: string, options: Options) {\n setNodeEnv(options.dev ? 'development' : 'production');\n require('@expo/env').load(projectRoot);\n\n // Ensure we delete the old bundle to trigger a failure if the bundle cannot be created.\n await removeAsync(options.bundleOutput);\n\n // The iOS bundle is copied in to the Xcode project, so we need to remove the old one\n // to prevent Xcode from loading the old one after a build failure.\n if (options.platform === 'ios') {\n const previousPath = guessCopiedAppleBundlePath(options.bundleOutput);\n if (previousPath && fs.existsSync(previousPath)) {\n debug('Removing previous iOS bundle:', previousPath);\n await removeAsync(previousPath);\n }\n }\n\n const { bundle, assets } = await exportEmbedBundleAsync(projectRoot, options);\n\n fs.mkdirSync(path.dirname(options.bundleOutput), { recursive: true, mode: 0o755 });\n\n // Persist bundle and source maps.\n await Promise.all([\n output.save(bundle, options, Log.log),\n // NOTE(EvanBacon): This may need to be adjusted in the future if want to support baseUrl on native\n // platforms when doing production embeds (unlikely).\n options.assetsDest\n ? persistMetroAssetsAsync(assets, {\n platform: options.platform,\n outputDirectory: options.assetsDest,\n iosAssetCatalogDirectory: options.assetCatalogDest,\n })\n : null,\n ]);\n}\n\nexport async function exportEmbedBundleAsync(projectRoot: string, options: Options) {\n const exp = getConfig(projectRoot, { skipSDKVersionRequirement: true }).exp;\n\n // TODO: This is slow ~40ms\n const { config } = await loadMetroConfigAsync(\n projectRoot,\n {\n maxWorkers: options.maxWorkers,\n resetCache: false, //options.resetCache,\n config: options.config,\n },\n {\n exp,\n isExporting: true,\n }\n );\n\n const isHermes = isEnableHermesManaged(exp, options.platform);\n\n let sourceMapUrl = options.sourcemapOutput;\n if (sourceMapUrl && !options.sourcemapUseAbsolutePath) {\n sourceMapUrl = path.basename(sourceMapUrl);\n }\n\n const bundleRequest = {\n ...Server.DEFAULT_BUNDLE_OPTIONS,\n ...getMetroDirectBundleOptions({\n mainModuleName: options.entryFile,\n platform: options.platform,\n minify: options.minify,\n mode: options.dev ? 'development' : 'production',\n engine: isHermes ? 'hermes' : undefined,\n baseUrl: getBaseUrlFromExpoConfig(exp),\n isExporting: true,\n }),\n sourceMapUrl,\n unstable_transformProfile: (options.unstableTransformProfile ||\n (isHermes ? 'hermes-stable' : 'default')) as BundleOptions['unstable_transformProfile'],\n };\n\n const server = new Server(config, {\n watch: false,\n });\n\n try {\n const bundle = await profile(\n server.build.bind(server),\n 'metro-bundle'\n )({\n ...bundleRequest,\n bundleType: 'bundle',\n });\n\n // Save the assets of the bundle\n const outputAssets = await getAssets(server, {\n ...bundleRequest,\n bundleType: 'todo',\n });\n\n return {\n bundle,\n assets: outputAssets,\n };\n } catch (error: any) {\n if (isError(error)) {\n // Log using Xcode error format so the errors are picked up by xcodebuild.\n // https://developer.apple.com/documentation/xcode/running-custom-scripts-during-a-build#Log-errors-and-warnings-from-your-script\n if (options.platform === 'ios') {\n // If the error is about to be presented in Xcode, strip the ansi characters from the message.\n if ('message' in error && isExecutingFromXcodebuild()) {\n error.message = stripAnsi(error.message) as string;\n }\n logMetroErrorInXcode(projectRoot, error);\n }\n }\n throw error;\n } finally {\n server.end();\n }\n}\n\nfunction isError(error: any): error is Error {\n return error instanceof Error;\n}\n"],"names":["exportEmbedAsync","exportEmbedBundleAsync","debug","require","guessCopiedAppleBundlePath","bundleOutput","match","bundleName","path","basename","bundleParent","dirname","possiblePath","globSync","join","dot","projectRoot","options","setNodeEnv","dev","load","removeAsync","platform","previousPath","fs","existsSync","bundle","assets","mkdirSync","recursive","mode","Promise","all","output","save","Log","log","assetsDest","persistMetroAssetsAsync","outputDirectory","iosAssetCatalogDirectory","assetCatalogDest","exp","getConfig","skipSDKVersionRequirement","config","loadMetroConfigAsync","maxWorkers","resetCache","isExporting","isHermes","isEnableHermesManaged","sourceMapUrl","sourcemapOutput","sourcemapUseAbsolutePath","bundleRequest","Server","DEFAULT_BUNDLE_OPTIONS","getMetroDirectBundleOptions","mainModuleName","entryFile","minify","engine","undefined","baseUrl","getBaseUrlFromExpoConfig","unstable_transformProfile","unstableTransformProfile","server","watch","profile","build","bind","bundleType","outputAssets","getAssets","error","isError","isExecutingFromXcodebuild","message","stripAnsi","logMetroErrorInXcode","end","Error"],"mappings":"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"}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
"use strict";
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.expoExportEmbed = void 0;
|
|
7
|
+
var _chalk = _interopRequireDefault(require("chalk"));
|
|
8
|
+
var _path = _interopRequireDefault(require("path"));
|
|
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 expoExportEmbed = async (argv)=>{
|
|
37
|
+
const rawArgsMap = {
|
|
38
|
+
// Types
|
|
39
|
+
"--entry-file": String,
|
|
40
|
+
"--platform": String,
|
|
41
|
+
"--transformer": String,
|
|
42
|
+
"--bundle-output": String,
|
|
43
|
+
"--bundle-encoding": String,
|
|
44
|
+
"--max-workers": Number,
|
|
45
|
+
"--sourcemap-output": String,
|
|
46
|
+
"--sourcemap-sources-root": String,
|
|
47
|
+
"--assets-dest": String,
|
|
48
|
+
"--asset-catalog-dest": String,
|
|
49
|
+
"--unstable-transform-profile": String,
|
|
50
|
+
"--config": String,
|
|
51
|
+
// This is here for compatibility with the `npx react-native bundle` command.
|
|
52
|
+
// devs should use `DEBUG=expo:*` instead.
|
|
53
|
+
"--verbose": Boolean,
|
|
54
|
+
"--help": Boolean,
|
|
55
|
+
// Aliases
|
|
56
|
+
"-h": "--help",
|
|
57
|
+
"-v": "--verbose"
|
|
58
|
+
};
|
|
59
|
+
const args = (0, _args).assertWithOptionsArgs(rawArgsMap, {
|
|
60
|
+
argv,
|
|
61
|
+
permissive: true
|
|
62
|
+
});
|
|
63
|
+
if (args["--help"]) {
|
|
64
|
+
(0, _args).printHelp(`(Internal) Export the JavaScript bundle during a native build script for embedding in a native binary`, _chalk.default`npx expo export:embed {dim <dir>}`, [
|
|
65
|
+
_chalk.default`<dir> Directory of the Expo project. {dim Default: Current working directory}`,
|
|
66
|
+
`--entry-file <path> Path to the root JS file, either absolute or relative to JS root`,
|
|
67
|
+
`--platform <string> Either "ios" or "android" (default: "ios")`,
|
|
68
|
+
`--transformer <string> Specify a custom transformer to be used`,
|
|
69
|
+
`--dev [boolean] If false, warnings are disabled and the bundle is minified (default: true)`,
|
|
70
|
+
`--minify [boolean] Allows overriding whether bundle is minified. This defaults to false if dev is true, and true if dev is false. Disabling minification can be useful for speeding up production builds for testing purposes.`,
|
|
71
|
+
`--bundle-output <string> File name where to store the resulting bundle, ex. /tmp/groups.bundle`,
|
|
72
|
+
`--bundle-encoding <string> Encoding the bundle should be written in (https://nodejs.org/api/buffer.html#buffer_buffer). (default: "utf8")`,
|
|
73
|
+
`--max-workers <number> Specifies the maximum number of workers the worker-pool will spawn for transforming files. This defaults to the number of the cores available on your machine.`,
|
|
74
|
+
`--sourcemap-output <string> File name where to store the sourcemap file for resulting bundle, ex. /tmp/groups.map`,
|
|
75
|
+
`--sourcemap-sources-root <string> Path to make sourcemap's sources entries relative to, ex. /root/dir`,
|
|
76
|
+
`--sourcemap-use-absolute-path Report SourceMapURL using its full path`,
|
|
77
|
+
`--assets-dest <string> Directory name where to store assets referenced in the bundle`,
|
|
78
|
+
`--asset-catalog-dest <string> Directory to create an iOS Asset Catalog for images`,
|
|
79
|
+
`--unstable-transform-profile <string> Experimental, transform JS for a specific JS engine. Currently supported: hermes, hermes-canary, default`,
|
|
80
|
+
`--reset-cache Removes cached files`,
|
|
81
|
+
`-v, --verbose Enables debug logging`,
|
|
82
|
+
`--config <string> Path to the CLI configuration file`,
|
|
83
|
+
// This is seemingly unused.
|
|
84
|
+
`--read-global-cache Try to fetch transformed JS code from the global cache, if configured.`,
|
|
85
|
+
`-h, --help Usage info`,
|
|
86
|
+
].join("\n"));
|
|
87
|
+
}
|
|
88
|
+
const [{ exportEmbedAsync }, { resolveOptions }, { logCmdError }, { resolveCustomBooleanArgsAsync }, ] = await Promise.all([
|
|
89
|
+
Promise.resolve().then(function() {
|
|
90
|
+
return _interopRequireWildcard(require("./exportEmbedAsync.js"));
|
|
91
|
+
}),
|
|
92
|
+
Promise.resolve().then(function() {
|
|
93
|
+
return _interopRequireWildcard(require("./resolveOptions.js"));
|
|
94
|
+
}),
|
|
95
|
+
Promise.resolve().then(function() {
|
|
96
|
+
return _interopRequireWildcard(require("../../utils/errors.js"));
|
|
97
|
+
}),
|
|
98
|
+
Promise.resolve().then(function() {
|
|
99
|
+
return _interopRequireWildcard(require("../../utils/resolveArgs.js"));
|
|
100
|
+
}),
|
|
101
|
+
]);
|
|
102
|
+
return (async ()=>{
|
|
103
|
+
const parsed = await resolveCustomBooleanArgsAsync(argv != null ? argv : [], rawArgsMap, {
|
|
104
|
+
"--dev": Boolean,
|
|
105
|
+
"--minify": Boolean,
|
|
106
|
+
"--sourcemap-use-absolute-path": Boolean,
|
|
107
|
+
"--reset-cache": Boolean,
|
|
108
|
+
"--read-global-cache": Boolean
|
|
109
|
+
});
|
|
110
|
+
return exportEmbedAsync(_path.default.resolve(parsed.projectRoot), resolveOptions(args, parsed));
|
|
111
|
+
})().catch(logCmdError);
|
|
112
|
+
};
|
|
113
|
+
exports.expoExportEmbed = expoExportEmbed;
|
|
114
|
+
|
|
115
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/export/embed/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 { assertWithOptionsArgs, printHelp } from '../../utils/args';\n\nexport const expoExportEmbed: Command = async (argv) => {\n const rawArgsMap: arg.Spec = {\n // Types\n '--entry-file': String,\n '--platform': String,\n '--transformer': String,\n '--bundle-output': String,\n '--bundle-encoding': String,\n '--max-workers': Number,\n '--sourcemap-output': String,\n '--sourcemap-sources-root': String,\n '--assets-dest': String,\n '--asset-catalog-dest': String,\n '--unstable-transform-profile': String,\n '--config': String,\n\n // This is here for compatibility with the `npx react-native bundle` command.\n // devs should use `DEBUG=expo:*` instead.\n '--verbose': Boolean,\n '--help': Boolean,\n // Aliases\n '-h': '--help',\n '-v': '--verbose',\n };\n const args = assertWithOptionsArgs(rawArgsMap, {\n argv,\n permissive: true,\n });\n\n if (args['--help']) {\n printHelp(\n `(Internal) Export the JavaScript bundle during a native build script for embedding in a native binary`,\n chalk`npx expo export:embed {dim <dir>}`,\n [\n chalk`<dir> Directory of the Expo project. {dim Default: Current working directory}`,\n `--entry-file <path> Path to the root JS file, either absolute or relative to JS root`,\n `--platform <string> Either \"ios\" or \"android\" (default: \"ios\")`,\n `--transformer <string> Specify a custom transformer to be used`,\n `--dev [boolean] If false, warnings are disabled and the bundle is minified (default: true)`,\n `--minify [boolean] Allows overriding whether bundle is minified. This defaults to false if dev is true, and true if dev is false. Disabling minification can be useful for speeding up production builds for testing purposes.`,\n `--bundle-output <string> File name where to store the resulting bundle, ex. /tmp/groups.bundle`,\n `--bundle-encoding <string> Encoding the bundle should be written in (https://nodejs.org/api/buffer.html#buffer_buffer). (default: \"utf8\")`,\n `--max-workers <number> Specifies the maximum number of workers the worker-pool will spawn for transforming files. This defaults to the number of the cores available on your machine.`,\n `--sourcemap-output <string> File name where to store the sourcemap file for resulting bundle, ex. /tmp/groups.map`,\n `--sourcemap-sources-root <string> Path to make sourcemap's sources entries relative to, ex. /root/dir`,\n `--sourcemap-use-absolute-path Report SourceMapURL using its full path`,\n `--assets-dest <string> Directory name where to store assets referenced in the bundle`,\n `--asset-catalog-dest <string> Directory to create an iOS Asset Catalog for images`,\n `--unstable-transform-profile <string> Experimental, transform JS for a specific JS engine. Currently supported: hermes, hermes-canary, default`,\n `--reset-cache Removes cached files`,\n `-v, --verbose Enables debug logging`,\n\n `--config <string> Path to the CLI configuration file`,\n // This is seemingly unused.\n `--read-global-cache Try to fetch transformed JS code from the global cache, if configured.`,\n\n `-h, --help Usage info`,\n ].join('\\n')\n );\n }\n\n const [\n { exportEmbedAsync },\n { resolveOptions },\n { logCmdError },\n { resolveCustomBooleanArgsAsync },\n ] = await Promise.all([\n import('./exportEmbedAsync.js'),\n import('./resolveOptions.js'),\n import('../../utils/errors.js'),\n import('../../utils/resolveArgs.js'),\n ]);\n\n return (async () => {\n const parsed = await resolveCustomBooleanArgsAsync(argv ?? [], rawArgsMap, {\n '--dev': Boolean,\n '--minify': Boolean,\n '--sourcemap-use-absolute-path': Boolean,\n '--reset-cache': Boolean,\n '--read-global-cache': Boolean,\n });\n return exportEmbedAsync(path.resolve(parsed.projectRoot), resolveOptions(args, parsed));\n })().catch(logCmdError);\n};\n"],"names":["expoExportEmbed","argv","rawArgsMap","String","Number","Boolean","args","assertWithOptionsArgs","permissive","printHelp","chalk","join","exportEmbedAsync","resolveOptions","logCmdError","resolveCustomBooleanArgsAsync","Promise","all","parsed","path","resolve","projectRoot","catch"],"mappings":"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"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
exports.resolveOptions = resolveOptions;
|
|
6
|
+
var _path = _interopRequireDefault(require("path"));
|
|
7
|
+
var _env = require("../../utils/env");
|
|
8
|
+
var _errors = require("../../utils/errors");
|
|
9
|
+
function _interopRequireDefault(obj) {
|
|
10
|
+
return obj && obj.__esModule ? obj : {
|
|
11
|
+
default: obj
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
function assertIsBoolean(val) {
|
|
15
|
+
if (typeof val !== "boolean") {
|
|
16
|
+
throw new _errors.CommandError(`Expected boolean, got ${typeof val}`);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
function resolveOptions(args, parsed) {
|
|
20
|
+
var ref;
|
|
21
|
+
const dev = (ref = parsed.args["--dev"]) != null ? ref : true;
|
|
22
|
+
assertIsBoolean(dev);
|
|
23
|
+
var ref1;
|
|
24
|
+
const minify = (ref1 = parsed.args["--minify"]) != null ? ref1 : !dev;
|
|
25
|
+
assertIsBoolean(minify);
|
|
26
|
+
const entryFile = args["--entry-file"];
|
|
27
|
+
if (!entryFile) {
|
|
28
|
+
throw new _errors.CommandError(`Missing required argument: --entry-file`);
|
|
29
|
+
}
|
|
30
|
+
const bundleOutput = args["--bundle-output"];
|
|
31
|
+
if (!bundleOutput) {
|
|
32
|
+
throw new _errors.CommandError(`Missing required argument: --bundle-output`);
|
|
33
|
+
}
|
|
34
|
+
var ref2, ref3, ref4;
|
|
35
|
+
return {
|
|
36
|
+
entryFile,
|
|
37
|
+
assetCatalogDest: args["--asset-catalog-dest"],
|
|
38
|
+
platform: (ref2 = args["--platform"]) != null ? ref2 : "ios",
|
|
39
|
+
transformer: args["--transformer"],
|
|
40
|
+
// TODO: Support `--dev false`
|
|
41
|
+
// dev: false,
|
|
42
|
+
bundleOutput,
|
|
43
|
+
bundleEncoding: (ref3 = args["--bundle-encoding"]) != null ? ref3 : "utf8",
|
|
44
|
+
maxWorkers: args["--max-workers"],
|
|
45
|
+
sourcemapOutput: args["--sourcemap-output"],
|
|
46
|
+
sourcemapSourcesRoot: args["--sourcemap-sources-root"],
|
|
47
|
+
sourcemapUseAbsolutePath: !!parsed.args["--sourcemap-use-absolute-path"],
|
|
48
|
+
assetsDest: args["--assets-dest"],
|
|
49
|
+
unstableTransformProfile: args["--unstable-transform-profile"],
|
|
50
|
+
resetCache: !!parsed.args["--reset-cache"],
|
|
51
|
+
resetGlobalCache: false,
|
|
52
|
+
verbose: (ref4 = args["--verbose"]) != null ? ref4 : _env.env.EXPO_DEBUG,
|
|
53
|
+
config: args["--config"] ? _path.default.resolve(args["--config"]) : undefined,
|
|
54
|
+
dev,
|
|
55
|
+
minify
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
//# sourceMappingURL=resolveOptions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/export/embed/resolveOptions.ts"],"sourcesContent":["import arg from 'arg';\nimport path from 'path';\n\nimport { env } from '../../utils/env';\nimport { CommandError } from '../../utils/errors';\nimport { resolveCustomBooleanArgsAsync } from '../../utils/resolveArgs';\n\nexport interface Options {\n assetsDest?: string;\n assetCatalogDest?: string;\n entryFile: string;\n resetCache: boolean;\n resetGlobalCache: boolean;\n transformer?: string;\n minify?: boolean;\n config?: string;\n platform: string;\n dev: boolean;\n bundleOutput: string;\n bundleEncoding?: string;\n maxWorkers?: number;\n sourcemapOutput?: string;\n sourcemapSourcesRoot?: string;\n sourcemapUseAbsolutePath: boolean;\n verbose: boolean;\n unstableTransformProfile?: string;\n}\n\nfunction assertIsBoolean(val: any): asserts val is boolean {\n if (typeof val !== 'boolean') {\n throw new CommandError(`Expected boolean, got ${typeof val}`);\n }\n}\n\nexport function resolveOptions(\n args: arg.Result<arg.Spec>,\n parsed: Awaited<ReturnType<typeof resolveCustomBooleanArgsAsync>>\n): Options {\n const dev = parsed.args['--dev'] ?? true;\n assertIsBoolean(dev);\n\n const minify = parsed.args['--minify'] ?? !dev;\n assertIsBoolean(minify);\n\n const entryFile = args['--entry-file'];\n if (!entryFile) {\n throw new CommandError(`Missing required argument: --entry-file`);\n }\n const bundleOutput = args['--bundle-output'];\n if (!bundleOutput) {\n throw new CommandError(`Missing required argument: --bundle-output`);\n }\n return {\n entryFile,\n assetCatalogDest: args['--asset-catalog-dest'],\n platform: args['--platform'] ?? 'ios',\n transformer: args['--transformer'],\n // TODO: Support `--dev false`\n // dev: false,\n bundleOutput,\n bundleEncoding: args['--bundle-encoding'] ?? 'utf8',\n maxWorkers: args['--max-workers'],\n sourcemapOutput: args['--sourcemap-output'],\n sourcemapSourcesRoot: args['--sourcemap-sources-root'],\n sourcemapUseAbsolutePath: !!parsed.args['--sourcemap-use-absolute-path'],\n assetsDest: args['--assets-dest'],\n unstableTransformProfile: args['--unstable-transform-profile'],\n resetCache: !!parsed.args['--reset-cache'],\n resetGlobalCache: false,\n verbose: args['--verbose'] ?? env.EXPO_DEBUG,\n config: args['--config'] ? path.resolve(args['--config']) : undefined,\n dev,\n minify,\n };\n}\n"],"names":["resolveOptions","assertIsBoolean","val","CommandError","args","parsed","dev","minify","entryFile","bundleOutput","assetCatalogDest","platform","transformer","bundleEncoding","maxWorkers","sourcemapOutput","sourcemapSourcesRoot","sourcemapUseAbsolutePath","assetsDest","unstableTransformProfile","resetCache","resetGlobalCache","verbose","env","EXPO_DEBUG","config","path","resolve","undefined"],"mappings":"AAAA;;;;QAkCgBA,cAAc,GAAdA,cAAc;AAjCb,IAAA,KAAM,kCAAN,MAAM,EAAA;AAEH,IAAA,IAAiB,WAAjB,iBAAiB,CAAA;AACR,IAAA,OAAoB,WAApB,oBAAoB,CAAA;;;;;;AAwBjD,SAASC,eAAe,CAACC,GAAQ,EAA0B;IACzD,IAAI,OAAOA,GAAG,KAAK,SAAS,EAAE;QAC5B,MAAM,IAAIC,OAAY,aAAA,CAAC,CAAC,sBAAsB,EAAE,OAAOD,GAAG,CAAC,CAAC,CAAC,CAAC;KAC/D;CACF;AAEM,SAASF,cAAc,CAC5BI,IAA0B,EAC1BC,MAAiE,EACxD;QACGA,GAAoB;IAAhC,MAAMC,GAAG,GAAGD,CAAAA,GAAoB,GAApBA,MAAM,CAACD,IAAI,CAAC,OAAO,CAAC,YAApBC,GAAoB,GAAI,IAAI,AAAC;IACzCJ,eAAe,CAACK,GAAG,CAAC,CAAC;QAEND,IAAuB;IAAtC,MAAME,MAAM,GAAGF,CAAAA,IAAuB,GAAvBA,MAAM,CAACD,IAAI,CAAC,UAAU,CAAC,YAAvBC,IAAuB,GAAI,CAACC,GAAG,AAAC;IAC/CL,eAAe,CAACM,MAAM,CAAC,CAAC;IAExB,MAAMC,SAAS,GAAGJ,IAAI,CAAC,cAAc,CAAC,AAAC;IACvC,IAAI,CAACI,SAAS,EAAE;QACd,MAAM,IAAIL,OAAY,aAAA,CAAC,CAAC,uCAAuC,CAAC,CAAC,CAAC;KACnE;IACD,MAAMM,YAAY,GAAGL,IAAI,CAAC,iBAAiB,CAAC,AAAC;IAC7C,IAAI,CAACK,YAAY,EAAE;QACjB,MAAM,IAAIN,OAAY,aAAA,CAAC,CAAC,0CAA0C,CAAC,CAAC,CAAC;KACtE;QAIWC,IAAkB,EAKZA,IAAyB,EAShCA,IAAiB;IAjB5B,OAAO;QACLI,SAAS;QACTE,gBAAgB,EAAEN,IAAI,CAAC,sBAAsB,CAAC;QAC9CO,QAAQ,EAAEP,CAAAA,IAAkB,GAAlBA,IAAI,CAAC,YAAY,CAAC,YAAlBA,IAAkB,GAAI,KAAK;QACrCQ,WAAW,EAAER,IAAI,CAAC,eAAe,CAAC;QAClC,8BAA8B;QAC9B,gBAAgB;QAChBK,YAAY;QACZI,cAAc,EAAET,CAAAA,IAAyB,GAAzBA,IAAI,CAAC,mBAAmB,CAAC,YAAzBA,IAAyB,GAAI,MAAM;QACnDU,UAAU,EAAEV,IAAI,CAAC,eAAe,CAAC;QACjCW,eAAe,EAAEX,IAAI,CAAC,oBAAoB,CAAC;QAC3CY,oBAAoB,EAAEZ,IAAI,CAAC,0BAA0B,CAAC;QACtDa,wBAAwB,EAAE,CAAC,CAACZ,MAAM,CAACD,IAAI,CAAC,+BAA+B,CAAC;QACxEc,UAAU,EAAEd,IAAI,CAAC,eAAe,CAAC;QACjCe,wBAAwB,EAAEf,IAAI,CAAC,8BAA8B,CAAC;QAC9DgB,UAAU,EAAE,CAAC,CAACf,MAAM,CAACD,IAAI,CAAC,eAAe,CAAC;QAC1CiB,gBAAgB,EAAE,KAAK;QACvBC,OAAO,EAAElB,CAAAA,IAAiB,GAAjBA,IAAI,CAAC,WAAW,CAAC,YAAjBA,IAAiB,GAAImB,IAAG,IAAA,CAACC,UAAU;QAC5CC,MAAM,EAAErB,IAAI,CAAC,UAAU,CAAC,GAAGsB,KAAI,QAAA,CAACC,OAAO,CAACvB,IAAI,CAAC,UAAU,CAAC,CAAC,GAAGwB,SAAS;QACrEtB,GAAG;QACHC,MAAM;KACP,CAAC;CACH"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
exports.getXcodeCompilerErrorMessage = getXcodeCompilerErrorMessage;
|
|
6
|
+
exports.logMetroErrorInXcode = logMetroErrorInXcode;
|
|
7
|
+
exports.isExecutingFromXcodebuild = isExecutingFromXcodebuild;
|
|
8
|
+
var _fs = _interopRequireDefault(require("fs"));
|
|
9
|
+
var _path = _interopRequireDefault(require("path"));
|
|
10
|
+
function _interopRequireDefault(obj) {
|
|
11
|
+
return obj && obj.__esModule ? obj : {
|
|
12
|
+
default: obj
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
function isPossiblyUnableToResolveError(error) {
|
|
16
|
+
return "message" in error && typeof error.message === "string" && "originModulePath" in error && typeof error.originModulePath === "string" && "targetModuleName" in error && typeof error.targetModuleName === "string";
|
|
17
|
+
}
|
|
18
|
+
function isPossiblyTransformError(error) {
|
|
19
|
+
return "message" in error && typeof error.message === "string" && "filename" in error && typeof error.filename === "string" && "lineNumber" in error && typeof error.lineNumber === "number";
|
|
20
|
+
}
|
|
21
|
+
function getXcodeCompilerErrorMessage(projectRoot, error) {
|
|
22
|
+
const makeFilepathAbsolute = (filepath)=>filepath.startsWith("/") ? filepath : _path.default.join(projectRoot, filepath)
|
|
23
|
+
;
|
|
24
|
+
if ("message" in error) {
|
|
25
|
+
// Metro's `UnableToResolveError`
|
|
26
|
+
if (isPossiblyUnableToResolveError(error)) {
|
|
27
|
+
const loc = getLineNumberForStringInFile(error.originModulePath, error.targetModuleName);
|
|
28
|
+
return makeXcodeCompilerLog("error", error.message, {
|
|
29
|
+
fileName: error.originModulePath,
|
|
30
|
+
lineNumber: loc == null ? void 0 : loc.lineNumber,
|
|
31
|
+
column: loc == null ? void 0 : loc.column
|
|
32
|
+
});
|
|
33
|
+
} else if (isPossiblyTransformError(error)) {
|
|
34
|
+
return makeXcodeCompilerLog("error", error.message, {
|
|
35
|
+
// Metro generally returns the filename as relative from the project root.
|
|
36
|
+
fileName: makeFilepathAbsolute(error.filename),
|
|
37
|
+
lineNumber: error.lineNumber,
|
|
38
|
+
column: error.column
|
|
39
|
+
});
|
|
40
|
+
// TODO: ResourceNotFoundError, GraphNotFoundError, RevisionNotFoundError, AmbiguousModuleResolutionError
|
|
41
|
+
} else {
|
|
42
|
+
// Unknown error
|
|
43
|
+
return makeXcodeCompilerLog("error", error.message);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
return null;
|
|
47
|
+
}
|
|
48
|
+
function logMetroErrorInXcode(projectRoot, error) {
|
|
49
|
+
const message = getXcodeCompilerErrorMessage(projectRoot, error);
|
|
50
|
+
if (message != null) {
|
|
51
|
+
console.error(message);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
function isExecutingFromXcodebuild() {
|
|
55
|
+
return !!process.env.BUILT_PRODUCTS_DIR;
|
|
56
|
+
}
|
|
57
|
+
function makeXcodeCompilerLog(type, message, { fileName , lineNumber , column } = {}) {
|
|
58
|
+
// TODO: Figure out how to support multi-line logs.
|
|
59
|
+
const firstLine = message.split("\n")[0];
|
|
60
|
+
if (fileName && !(fileName == null ? void 0 : fileName.includes(":"))) {
|
|
61
|
+
return `${fileName}:${lineNumber || 0}:${column != null ? column + ":" : ""} ${type}: ${firstLine}`;
|
|
62
|
+
}
|
|
63
|
+
return `${type}: ${firstLine}`;
|
|
64
|
+
}
|
|
65
|
+
// TODO: Metro doesn't expose this info even though it knows it.
|
|
66
|
+
function getLineNumberForStringInFile(originModulePath, targetModuleName) {
|
|
67
|
+
let file;
|
|
68
|
+
try {
|
|
69
|
+
file = _fs.default.readFileSync(originModulePath, "utf8");
|
|
70
|
+
} catch (error) {
|
|
71
|
+
if (error.code === "ENOENT" || error.code === "EISDIR") {
|
|
72
|
+
// We're probably dealing with a virtualised file system where
|
|
73
|
+
// `this.originModulePath` doesn't actually exist on disk.
|
|
74
|
+
// We can't show a code frame, but there's no need to let this I/O
|
|
75
|
+
// error shadow the original module resolution error.
|
|
76
|
+
return null;
|
|
77
|
+
}
|
|
78
|
+
throw error;
|
|
79
|
+
}
|
|
80
|
+
const lines = file.split("\n");
|
|
81
|
+
let lineNumber = 0;
|
|
82
|
+
let column = -1;
|
|
83
|
+
for(let line = 0; line < lines.length; line++){
|
|
84
|
+
const columnLocation = lines[line].lastIndexOf(targetModuleName);
|
|
85
|
+
if (columnLocation >= 0) {
|
|
86
|
+
lineNumber = line;
|
|
87
|
+
column = columnLocation;
|
|
88
|
+
break;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
return {
|
|
92
|
+
lineNumber,
|
|
93
|
+
column
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
//# sourceMappingURL=xcodeCompilerLogger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/export/embed/xcodeCompilerLogger.ts"],"sourcesContent":["/**\n * Copyright © 2023 650 Industries.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport fs from 'fs';\nimport path from 'path';\n\nfunction isPossiblyUnableToResolveError(\n error: any\n): error is { message: string; originModulePath: string; targetModuleName: string } {\n return (\n 'message' in error &&\n typeof error.message === 'string' &&\n 'originModulePath' in error &&\n typeof error.originModulePath === 'string' &&\n 'targetModuleName' in error &&\n typeof error.targetModuleName === 'string'\n );\n}\nfunction isPossiblyTransformError(\n error: any\n): error is { message: string; filename: string; lineNumber: number; column?: number } {\n return (\n 'message' in error &&\n typeof error.message === 'string' &&\n 'filename' in error &&\n typeof error.filename === 'string' &&\n 'lineNumber' in error &&\n typeof error.lineNumber === 'number'\n );\n}\n\nexport function getXcodeCompilerErrorMessage(\n projectRoot: string,\n error: Error | any\n): string | null {\n const makeFilepathAbsolute = (filepath: string) =>\n filepath.startsWith('/') ? filepath : path.join(projectRoot, filepath);\n\n if ('message' in error) {\n // Metro's `UnableToResolveError`\n if (isPossiblyUnableToResolveError(error)) {\n const loc = getLineNumberForStringInFile(error.originModulePath, error.targetModuleName);\n return makeXcodeCompilerLog('error', error.message, {\n fileName: error.originModulePath,\n lineNumber: loc?.lineNumber,\n column: loc?.column,\n });\n } else if (isPossiblyTransformError(error)) {\n return makeXcodeCompilerLog('error', error.message, {\n // Metro generally returns the filename as relative from the project root.\n fileName: makeFilepathAbsolute(error.filename),\n lineNumber: error.lineNumber,\n column: error.column,\n });\n // TODO: ResourceNotFoundError, GraphNotFoundError, RevisionNotFoundError, AmbiguousModuleResolutionError\n } else {\n // Unknown error\n return makeXcodeCompilerLog('error', error.message);\n }\n }\n\n return null;\n}\n\nexport function logMetroErrorInXcode(projectRoot: string, error: Error) {\n const message = getXcodeCompilerErrorMessage(projectRoot, error);\n if (message != null) {\n console.error(message);\n }\n}\n\n// https://developer.apple.com/documentation/xcode/running-custom-scripts-during-a-build#Access-script-related-files-from-environment-variables\nexport function isExecutingFromXcodebuild() {\n return !!process.env.BUILT_PRODUCTS_DIR;\n}\n\nfunction makeXcodeCompilerLog(\n type: 'error' | 'fatal error' | 'warning' | 'note',\n message: string,\n {\n fileName,\n lineNumber,\n column,\n }: {\n /** Absolute file path to link to in Xcode. */\n fileName?: string;\n lineNumber?: number;\n column?: number;\n } = {}\n) {\n // TODO: Figure out how to support multi-line logs.\n const firstLine = message.split('\\n')[0];\n if (fileName && !fileName?.includes(':')) {\n return `${fileName}:${lineNumber || 0}:${\n column != null ? column + ':' : ''\n } ${type}: ${firstLine}`;\n }\n return `${type}: ${firstLine}`;\n}\n\n// TODO: Metro doesn't expose this info even though it knows it.\nfunction getLineNumberForStringInFile(originModulePath: string, targetModuleName: string) {\n let file;\n try {\n file = fs.readFileSync(originModulePath, 'utf8');\n } catch (error: any) {\n if (error.code === 'ENOENT' || error.code === 'EISDIR') {\n // We're probably dealing with a virtualised file system where\n // `this.originModulePath` doesn't actually exist on disk.\n // We can't show a code frame, but there's no need to let this I/O\n // error shadow the original module resolution error.\n return null;\n }\n throw error;\n }\n const lines = file.split('\\n');\n let lineNumber = 0;\n let column = -1;\n for (let line = 0; line < lines.length; line++) {\n const columnLocation = lines[line].lastIndexOf(targetModuleName);\n if (columnLocation >= 0) {\n lineNumber = line;\n column = columnLocation;\n break;\n }\n }\n return { lineNumber, column };\n}\n"],"names":["getXcodeCompilerErrorMessage","logMetroErrorInXcode","isExecutingFromXcodebuild","isPossiblyUnableToResolveError","error","message","originModulePath","targetModuleName","isPossiblyTransformError","filename","lineNumber","projectRoot","makeFilepathAbsolute","filepath","startsWith","path","join","loc","getLineNumberForStringInFile","makeXcodeCompilerLog","fileName","column","console","process","env","BUILT_PRODUCTS_DIR","type","firstLine","split","includes","file","fs","readFileSync","code","lines","line","length","columnLocation","lastIndexOf"],"mappings":"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"}
|