@expo/cli 0.17.10 → 0.18.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/bin/cli +98 -118
- package/build/bin/cli.map +1 -1
- package/build/src/api/endpoint.js +11 -3
- package/build/src/api/endpoint.js.map +1 -1
- package/build/src/api/getExpoGoIntermediateCertificate.js +7 -4
- package/build/src/api/getExpoGoIntermediateCertificate.js.map +1 -1
- package/build/src/api/getExpoSchema.js +32 -12
- package/build/src/api/getExpoSchema.js.map +1 -1
- package/build/src/api/getNativeModuleVersions.js +7 -4
- package/build/src/api/getNativeModuleVersions.js.map +1 -1
- package/build/src/api/getProjectDevelopmentCertificate.js +7 -4
- package/build/src/api/getProjectDevelopmentCertificate.js.map +1 -1
- package/build/src/api/getVersions.js +7 -4
- package/build/src/api/getVersions.js.map +1 -1
- package/build/src/api/graphql/client.js +78 -40
- package/build/src/api/graphql/client.js.map +1 -1
- package/build/src/api/graphql/queries/AppQuery.js +22 -8
- package/build/src/api/graphql/queries/AppQuery.js.map +1 -1
- package/build/src/api/graphql/queries/UserQuery.js +13 -5
- package/build/src/api/graphql/queries/UserQuery.js.map +1 -1
- package/build/src/api/graphql/types/App.js +12 -4
- package/build/src/api/graphql/types/App.js.map +1 -1
- package/build/src/api/rest/cache/FileSystemCache.js +25 -11
- package/build/src/api/rest/cache/FileSystemCache.js.map +1 -1
- package/build/src/api/rest/cache/response.js +13 -4
- package/build/src/api/rest/cache/response.js.map +1 -1
- package/build/src/api/rest/cache/wrapFetchWithCache.js +51 -18
- package/build/src/api/rest/cache/wrapFetchWithCache.js.map +1 -1
- package/build/src/api/rest/client.js +55 -30
- package/build/src/api/rest/client.js.map +1 -1
- package/build/src/api/rest/wrapFetchWithBaseUrl.js +13 -5
- package/build/src/api/rest/wrapFetchWithBaseUrl.js.map +1 -1
- package/build/src/api/rest/wrapFetchWithOffline.js +5 -2
- package/build/src/api/rest/wrapFetchWithOffline.js.map +1 -1
- package/build/src/api/rest/wrapFetchWithProgress.js +40 -19
- package/build/src/api/rest/wrapFetchWithProgress.js.map +1 -1
- package/build/src/api/rest/wrapFetchWithProxy.js +13 -4
- package/build/src/api/rest/wrapFetchWithProxy.js.map +1 -1
- package/build/src/api/settings.js +16 -5
- package/build/src/api/settings.js.map +1 -1
- package/build/src/api/updateDevelopmentSession.js +33 -13
- package/build/src/api/updateDevelopmentSession.js.map +1 -1
- package/build/src/api/user/UserSettings.js +31 -11
- package/build/src/api/user/UserSettings.js.map +1 -1
- package/build/src/api/user/actions.js +78 -41
- package/build/src/api/user/actions.js.map +1 -1
- package/build/src/api/user/expoSsoLauncher.js +72 -27
- package/build/src/api/user/expoSsoLauncher.js.map +1 -1
- package/build/src/api/user/otp.js +82 -50
- package/build/src/api/user/otp.js.map +1 -1
- package/build/src/api/user/user.js +80 -48
- package/build/src/api/user/user.js.map +1 -1
- package/build/src/config/configAsync.js +82 -45
- package/build/src/config/configAsync.js.map +1 -1
- package/build/src/config/index.js +52 -30
- package/build/src/config/index.js.map +1 -1
- package/build/src/customize/customizeAsync.js +21 -12
- package/build/src/customize/customizeAsync.js.map +1 -1
- package/build/src/customize/generate.js +74 -47
- package/build/src/customize/generate.js.map +1 -1
- package/build/src/customize/index.js +16 -8
- package/build/src/customize/index.js.map +1 -1
- package/build/src/customize/resolveOptions.js +7 -4
- package/build/src/customize/resolveOptions.js.map +1 -1
- package/build/src/customize/templates.js +58 -37
- package/build/src/customize/templates.js.map +1 -1
- package/build/src/customize/typescript.js +50 -29
- package/build/src/customize/typescript.js.map +1 -1
- package/build/src/export/createMetadataJson.js +14 -7
- package/build/src/export/createMetadataJson.js.map +1 -1
- package/build/src/export/embed/exportEmbedAsync.js +103 -50
- package/build/src/export/embed/exportEmbedAsync.js.map +1 -1
- package/build/src/export/embed/index.js +61 -37
- package/build/src/export/embed/index.js.map +1 -1
- package/build/src/export/embed/resolveOptions.js +14 -5
- package/build/src/export/embed/resolveOptions.js.map +1 -1
- package/build/src/export/embed/xcodeCompilerLogger.js +33 -9
- package/build/src/export/embed/xcodeCompilerLogger.js.map +1 -1
- package/build/src/export/exportApp.js +110 -73
- package/build/src/export/exportApp.js.map +1 -1
- package/build/src/export/exportAssets.js +84 -47
- package/build/src/export/exportAssets.js.map +1 -1
- package/build/src/export/exportAsync.js +56 -27
- package/build/src/export/exportAsync.js.map +1 -1
- package/build/src/export/exportHermes.js +46 -26
- package/build/src/export/exportHermes.js.map +1 -1
- package/build/src/export/exportStaticAsync.js +109 -66
- package/build/src/export/exportStaticAsync.js.map +1 -1
- package/build/src/export/favicon.js +47 -15
- package/build/src/export/favicon.js.map +1 -1
- package/build/src/export/fork-bundleAsync.js +92 -44
- package/build/src/export/fork-bundleAsync.js.map +1 -1
- package/build/src/export/getPublicExpoManifest.js +16 -7
- package/build/src/export/getPublicExpoManifest.js.map +1 -1
- package/build/src/export/getResolvedLocales.js +20 -5
- package/build/src/export/getResolvedLocales.js.map +1 -1
- package/build/src/export/html.js +12 -4
- package/build/src/export/html.js.map +1 -1
- package/build/src/export/index.js +55 -33
- package/build/src/export/index.js.map +1 -1
- package/build/src/export/metroAssetLocalPath.js +30 -8
- package/build/src/export/metroAssetLocalPath.js.map +1 -1
- package/build/src/export/persistMetroAssets.js +59 -33
- package/build/src/export/persistMetroAssets.js.map +1 -1
- package/build/src/export/publicFolder.js +31 -11
- package/build/src/export/publicFolder.js.map +1 -1
- package/build/src/export/resolveOptions.js +26 -16
- package/build/src/export/resolveOptions.js.map +1 -1
- package/build/src/export/saveAssets.js +77 -49
- package/build/src/export/saveAssets.js.map +1 -1
- package/build/src/export/web/exportWebAsync.js +28 -13
- package/build/src/export/web/exportWebAsync.js.map +1 -1
- package/build/src/export/web/index.js +53 -31
- package/build/src/export/web/index.js.map +1 -1
- package/build/src/export/web/resolveOptions.js +4 -1
- package/build/src/export/web/resolveOptions.js.map +1 -1
- package/build/src/export/writeContents.js +12 -7
- package/build/src/export/writeContents.js.map +1 -1
- package/build/src/graphql/generated.js +141 -128
- package/build/src/graphql/generated.js.map +1 -1
- package/build/src/install/applyPlugins.js +50 -26
- package/build/src/install/applyPlugins.js.map +1 -1
- package/build/src/install/checkPackages.js +68 -36
- package/build/src/install/checkPackages.js.map +1 -1
- package/build/src/install/fixPackages.js +58 -35
- package/build/src/install/fixPackages.js.map +1 -1
- package/build/src/install/index.js +21 -13
- package/build/src/install/index.js.map +1 -1
- package/build/src/install/installAsync.js +107 -64
- package/build/src/install/installAsync.js.map +1 -1
- package/build/src/install/installExpoPackage.js +60 -27
- package/build/src/install/installExpoPackage.js.map +1 -1
- package/build/src/install/resolveOptions.js +8 -5
- package/build/src/install/resolveOptions.js.map +1 -1
- package/build/src/install/utils/autoAddConfigPlugins.js +29 -9
- package/build/src/install/utils/autoAddConfigPlugins.js.map +1 -1
- package/build/src/lint/ESlintPrerequisite.js +174 -0
- package/build/src/lint/ESlintPrerequisite.js.map +1 -0
- package/build/src/lint/index.js +66 -0
- package/build/src/lint/index.js.map +1 -0
- package/build/src/lint/lintAsync.js +33 -0
- package/build/src/lint/lintAsync.js.map +1 -0
- package/build/src/log.js +27 -15
- package/build/src/log.js.map +1 -1
- package/build/src/login/index.js +43 -25
- package/build/src/login/index.js.map +1 -1
- package/build/src/logout/index.js +43 -25
- package/build/src/logout/index.js.map +1 -1
- package/build/src/prebuild/clearNativeFolder.js +97 -50
- package/build/src/prebuild/clearNativeFolder.js.map +1 -1
- package/build/src/prebuild/configureProjectAsync.js +64 -31
- package/build/src/prebuild/configureProjectAsync.js.map +1 -1
- package/build/src/prebuild/copyTemplateFiles.js +41 -17
- package/build/src/prebuild/copyTemplateFiles.js.map +1 -1
- package/build/src/prebuild/ensureConfigAsync.js +74 -30
- package/build/src/prebuild/ensureConfigAsync.js.map +1 -1
- package/build/src/prebuild/index.js +58 -38
- package/build/src/prebuild/index.js.map +1 -1
- package/build/src/prebuild/prebuildAsync.js +75 -52
- package/build/src/prebuild/prebuildAsync.js.map +1 -1
- package/build/src/prebuild/renameTemplateAppName.js +124 -0
- package/build/src/prebuild/renameTemplateAppName.js.map +1 -0
- package/build/src/prebuild/resolveOptions.js +85 -36
- package/build/src/prebuild/resolveOptions.js.map +1 -1
- package/build/src/prebuild/resolveTemplate.js +102 -46
- package/build/src/prebuild/resolveTemplate.js.map +1 -1
- package/build/src/prebuild/updateFromTemplate.js +80 -41
- package/build/src/prebuild/updateFromTemplate.js.map +1 -1
- package/build/src/prebuild/updatePackageJson.js +111 -54
- package/build/src/prebuild/updatePackageJson.js.map +1 -1
- package/build/src/prebuild/validateTemplatePlatforms.js +56 -23
- package/build/src/prebuild/validateTemplatePlatforms.js.map +1 -1
- package/build/src/register/index.js +43 -25
- package/build/src/register/index.js.map +1 -1
- package/build/src/register/registerAsync.js +14 -11
- package/build/src/register/registerAsync.js.map +1 -1
- package/build/src/run/android/index.js +64 -32
- package/build/src/run/android/index.js.map +1 -1
- package/build/src/run/android/resolveDevice.js +9 -6
- package/build/src/run/android/resolveDevice.js.map +1 -1
- package/build/src/run/android/resolveGradlePropsAsync.js +56 -0
- package/build/src/run/android/resolveGradlePropsAsync.js.map +1 -0
- package/build/src/run/android/resolveInstallApkName.js +28 -14
- package/build/src/run/android/resolveInstallApkName.js.map +1 -1
- package/build/src/run/android/resolveLaunchProps.js +16 -7
- package/build/src/run/android/resolveLaunchProps.js.map +1 -1
- package/build/src/run/android/resolveOptions.js +14 -9
- package/build/src/run/android/resolveOptions.js.map +1 -1
- package/build/src/run/android/runAndroidAsync.js +39 -27
- package/build/src/run/android/runAndroidAsync.js.map +1 -1
- package/build/src/run/ensureNativeProject.js +24 -9
- package/build/src/run/ensureNativeProject.js.map +1 -1
- package/build/src/run/hints.js +23 -9
- package/build/src/run/hints.js.map +1 -1
- package/build/src/run/index.js +55 -35
- package/build/src/run/index.js.map +1 -1
- package/build/src/run/ios/XcodeBuild.js +126 -66
- package/build/src/run/ios/XcodeBuild.js.map +1 -1
- package/build/src/run/ios/appleDevice/AppleDevice.js +52 -27
- package/build/src/run/ios/appleDevice/AppleDevice.js.map +1 -1
- package/build/src/run/ios/appleDevice/ClientManager.js +70 -31
- package/build/src/run/ios/appleDevice/ClientManager.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/AFCClient.js +94 -44
- package/build/src/run/ios/appleDevice/client/AFCClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/DebugserverClient.js +63 -24
- package/build/src/run/ios/appleDevice/client/DebugserverClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/InstallationProxyClient.js +21 -6
- package/build/src/run/ios/appleDevice/client/InstallationProxyClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/LockdowndClient.js +64 -25
- package/build/src/run/ios/appleDevice/client/LockdowndClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/MobileImageMounterClient.js +66 -28
- package/build/src/run/ios/appleDevice/client/MobileImageMounterClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/ServiceClient.js +18 -4
- package/build/src/run/ios/appleDevice/client/ServiceClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/UsbmuxdClient.js +42 -15
- package/build/src/run/ios/appleDevice/client/UsbmuxdClient.js.map +1 -1
- package/build/src/run/ios/appleDevice/installOnDeviceAsync.js +78 -34
- package/build/src/run/ios/appleDevice/installOnDeviceAsync.js.map +1 -1
- package/build/src/run/ios/appleDevice/protocol/AFCProtocol.js +85 -66
- package/build/src/run/ios/appleDevice/protocol/AFCProtocol.js.map +1 -1
- package/build/src/run/ios/appleDevice/protocol/AbstractProtocol.js +41 -15
- package/build/src/run/ios/appleDevice/protocol/AbstractProtocol.js.map +1 -1
- package/build/src/run/ios/appleDevice/protocol/GDBProtocol.js +30 -11
- package/build/src/run/ios/appleDevice/protocol/GDBProtocol.js.map +1 -1
- package/build/src/run/ios/appleDevice/protocol/LockdownProtocol.js +39 -14
- package/build/src/run/ios/appleDevice/protocol/LockdownProtocol.js.map +1 -1
- package/build/src/run/ios/appleDevice/protocol/UsbmuxProtocol.js +36 -11
- package/build/src/run/ios/appleDevice/protocol/UsbmuxProtocol.js.map +1 -1
- package/build/src/run/ios/codeSigning/Security.js +40 -21
- package/build/src/run/ios/codeSigning/Security.js.map +1 -1
- package/build/src/run/ios/codeSigning/configureCodeSigning.js +55 -28
- package/build/src/run/ios/codeSigning/configureCodeSigning.js.map +1 -1
- package/build/src/run/ios/codeSigning/resolveCertificateSigningIdentity.js +67 -36
- package/build/src/run/ios/codeSigning/resolveCertificateSigningIdentity.js.map +1 -1
- package/build/src/run/ios/codeSigning/settings.js +11 -3
- package/build/src/run/ios/codeSigning/settings.js.map +1 -1
- package/build/src/run/ios/codeSigning/simulatorCodeSigning.js +30 -10
- package/build/src/run/ios/codeSigning/simulatorCodeSigning.js.map +1 -1
- package/build/src/run/ios/codeSigning/xcodeCodeSigning.js +33 -15
- package/build/src/run/ios/codeSigning/xcodeCodeSigning.js.map +1 -1
- package/build/src/run/ios/index.js +63 -35
- package/build/src/run/ios/index.js.map +1 -1
- package/build/src/run/ios/launchApp.js +65 -32
- package/build/src/run/ios/launchApp.js.map +1 -1
- package/build/src/run/ios/options/promptDevice.js +24 -14
- package/build/src/run/ios/options/promptDevice.js.map +1 -1
- package/build/src/run/ios/options/resolveDevice.js +64 -41
- package/build/src/run/ios/options/resolveDevice.js.map +1 -1
- package/build/src/run/ios/options/resolveNativeScheme.js +80 -39
- package/build/src/run/ios/options/resolveNativeScheme.js.map +1 -1
- package/build/src/run/ios/options/resolveOptions.js +15 -12
- package/build/src/run/ios/options/resolveOptions.js.map +1 -1
- package/build/src/run/ios/options/resolveXcodeProject.js +13 -4
- package/build/src/run/ios/options/resolveXcodeProject.js.map +1 -1
- package/build/src/run/ios/runIosAsync.js +71 -42
- package/build/src/run/ios/runIosAsync.js.map +1 -1
- package/build/src/run/resolveBundlerProps.js +8 -5
- package/build/src/run/resolveBundlerProps.js.map +1 -1
- package/build/src/run/startBundler.js +60 -27
- package/build/src/run/startBundler.js.map +1 -1
- package/build/src/start/detectDevClient.js +32 -0
- package/build/src/start/detectDevClient.js.map +1 -0
- package/build/src/start/doctor/Prerequisite.js +15 -7
- package/build/src/start/doctor/Prerequisite.js.map +1 -1
- package/build/src/start/doctor/SecurityBinPrerequisite.js +13 -4
- package/build/src/start/doctor/SecurityBinPrerequisite.js.map +1 -1
- package/build/src/start/doctor/apple/SimulatorAppPrerequisite.js +57 -24
- package/build/src/start/doctor/apple/SimulatorAppPrerequisite.js.map +1 -1
- package/build/src/start/doctor/apple/XcodeDeveloperDiskImagePrerequisite.js +57 -24
- package/build/src/start/doctor/apple/XcodeDeveloperDiskImagePrerequisite.js.map +1 -1
- package/build/src/start/doctor/apple/XcodePrerequisite.js +132 -57
- package/build/src/start/doctor/apple/XcodePrerequisite.js.map +1 -1
- package/build/src/start/doctor/apple/XcrunPrerequisite.js +34 -13
- package/build/src/start/doctor/apple/XcrunPrerequisite.js.map +1 -1
- package/build/src/start/doctor/dependencies/bundledNativeModules.js +69 -30
- package/build/src/start/doctor/dependencies/bundledNativeModules.js.map +1 -1
- package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js +120 -57
- package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js.map +1 -1
- package/build/src/start/doctor/dependencies/getMissingPackages.js +38 -12
- package/build/src/start/doctor/dependencies/getMissingPackages.js.map +1 -1
- package/build/src/start/doctor/dependencies/getVersionedPackages.js +29 -15
- package/build/src/start/doctor/dependencies/getVersionedPackages.js.map +1 -1
- package/build/src/start/doctor/dependencies/resolvePackages.js +39 -15
- package/build/src/start/doctor/dependencies/resolvePackages.js.map +1 -1
- package/build/src/start/doctor/dependencies/validateDependenciesVersions.js +88 -55
- package/build/src/start/doctor/dependencies/validateDependenciesVersions.js.map +1 -1
- package/build/src/start/doctor/ngrok/ExternalModule.js +88 -39
- package/build/src/start/doctor/ngrok/ExternalModule.js.map +1 -1
- package/build/src/start/doctor/ngrok/NgrokResolver.js +12 -5
- package/build/src/start/doctor/ngrok/NgrokResolver.js.map +1 -1
- package/build/src/start/doctor/typescript/TypeScriptProjectPrerequisite.js +75 -45
- package/build/src/start/doctor/typescript/TypeScriptProjectPrerequisite.js.map +1 -1
- package/build/src/start/doctor/typescript/updateTSConfig.js +81 -40
- package/build/src/start/doctor/typescript/updateTSConfig.js.map +1 -1
- package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js +70 -32
- package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js.map +1 -1
- package/build/src/start/index.js +62 -42
- package/build/src/start/index.js.map +1 -1
- package/build/src/start/interface/KeyPressHandler.js +43 -22
- package/build/src/start/interface/KeyPressHandler.js.map +1 -1
- package/build/src/start/interface/commandsTable.js +81 -41
- package/build/src/start/interface/commandsTable.js.map +1 -1
- package/build/src/start/interface/interactiveActions.js +91 -68
- package/build/src/start/interface/interactiveActions.js.map +1 -1
- package/build/src/start/interface/startInterface.js +84 -57
- package/build/src/start/interface/startInterface.js.map +1 -1
- package/build/src/start/platforms/AppIdResolver.js +16 -7
- package/build/src/start/platforms/AppIdResolver.js.map +1 -1
- package/build/src/start/platforms/DeviceManager.js +47 -20
- package/build/src/start/platforms/DeviceManager.js.map +1 -1
- package/build/src/start/platforms/ExpoGoInstaller.js +81 -45
- package/build/src/start/platforms/ExpoGoInstaller.js.map +1 -1
- package/build/src/start/platforms/PlatformManager.js +42 -20
- package/build/src/start/platforms/PlatformManager.js.map +1 -1
- package/build/src/start/platforms/android/ADBServer.js +28 -13
- package/build/src/start/platforms/android/ADBServer.js.map +1 -1
- package/build/src/start/platforms/android/AndroidAppIdResolver.js +18 -10
- package/build/src/start/platforms/android/AndroidAppIdResolver.js.map +1 -1
- package/build/src/start/platforms/android/AndroidDeviceManager.js +86 -54
- package/build/src/start/platforms/android/AndroidDeviceManager.js.map +1 -1
- package/build/src/start/platforms/android/AndroidPlatformManager.js +9 -6
- package/build/src/start/platforms/android/AndroidPlatformManager.js.map +1 -1
- package/build/src/start/platforms/android/AndroidSdk.js +38 -11
- package/build/src/start/platforms/android/AndroidSdk.js.map +1 -1
- package/build/src/start/platforms/android/activateWindow.js +54 -21
- package/build/src/start/platforms/android/activateWindow.js.map +1 -1
- package/build/src/start/platforms/android/adb.js +89 -51
- package/build/src/start/platforms/android/adb.js.map +1 -1
- package/build/src/start/platforms/android/adbReverse.js +57 -31
- package/build/src/start/platforms/android/adbReverse.js.map +1 -1
- package/build/src/start/platforms/android/emulator.js +89 -44
- package/build/src/start/platforms/android/emulator.js.map +1 -1
- package/build/src/start/platforms/android/getDevices.js +11 -10
- package/build/src/start/platforms/android/getDevices.js.map +1 -1
- package/build/src/start/platforms/android/gradle.js +38 -14
- package/build/src/start/platforms/android/gradle.js.map +1 -1
- package/build/src/start/platforms/android/promptAndroidDevice.js +22 -16
- package/build/src/start/platforms/android/promptAndroidDevice.js.map +1 -1
- package/build/src/start/platforms/ios/AppleAppIdResolver.js +31 -10
- package/build/src/start/platforms/ios/AppleAppIdResolver.js.map +1 -1
- package/build/src/start/platforms/ios/AppleDeviceManager.js +120 -62
- package/build/src/start/platforms/ios/AppleDeviceManager.js.map +1 -1
- package/build/src/start/platforms/ios/ApplePlatformManager.js +7 -4
- package/build/src/start/platforms/ios/ApplePlatformManager.js.map +1 -1
- package/build/src/start/platforms/ios/assertSystemRequirements.js +11 -7
- package/build/src/start/platforms/ios/assertSystemRequirements.js.map +1 -1
- package/build/src/start/platforms/ios/ensureSimulatorAppRunning.js +60 -27
- package/build/src/start/platforms/ios/ensureSimulatorAppRunning.js.map +1 -1
- package/build/src/start/platforms/ios/getBestSimulator.js +60 -30
- package/build/src/start/platforms/ios/getBestSimulator.js.map +1 -1
- package/build/src/start/platforms/ios/promptAppleDevice.js +25 -13
- package/build/src/start/platforms/ios/promptAppleDevice.js.map +1 -1
- package/build/src/start/platforms/ios/simctl.js +75 -46
- package/build/src/start/platforms/ios/simctl.js.map +1 -1
- package/build/src/start/platforms/ios/simctlLogging.js +100 -47
- package/build/src/start/platforms/ios/simctlLogging.js.map +1 -1
- package/build/src/start/platforms/ios/xcrun.js +21 -6
- package/build/src/start/platforms/ios/xcrun.js.map +1 -1
- package/build/src/start/project/devices.js +19 -16
- package/build/src/start/project/devices.js.map +1 -1
- package/build/src/start/project/dotExpo.js +37 -11
- package/build/src/start/project/dotExpo.js.map +1 -1
- package/build/src/start/project/settings.js +6 -4
- package/build/src/start/project/settings.js.map +1 -1
- package/build/src/start/resolveOptions.js +52 -27
- package/build/src/start/resolveOptions.js.map +1 -1
- package/build/src/start/server/AsyncNgrok.js +91 -47
- package/build/src/start/server/AsyncNgrok.js.map +1 -1
- package/build/src/start/server/BundlerDevServer.js +77 -45
- package/build/src/start/server/BundlerDevServer.js.map +1 -1
- package/build/src/start/server/DevServerManager.js +100 -70
- package/build/src/start/server/DevServerManager.js.map +1 -1
- package/build/src/start/server/DevToolsPluginManager.js +35 -18
- package/build/src/start/server/DevToolsPluginManager.js.map +1 -1
- package/build/src/start/server/DevelopmentSession.js +57 -33
- package/build/src/start/server/DevelopmentSession.js.map +1 -1
- package/build/src/start/server/ReactDevToolsProxy.js +37 -11
- package/build/src/start/server/ReactDevToolsProxy.js.map +1 -1
- package/build/src/start/server/UrlCreator.js +61 -27
- package/build/src/start/server/UrlCreator.js.map +1 -1
- package/build/src/start/server/getStaticRenderFunctions.js +125 -77
- package/build/src/start/server/getStaticRenderFunctions.js.map +1 -1
- package/build/src/start/server/metro/MetroBundlerDevServer.js +333 -158
- package/build/src/start/server/metro/MetroBundlerDevServer.js.map +1 -1
- package/build/src/start/server/metro/MetroTerminalReporter.js +50 -28
- package/build/src/start/server/metro/MetroTerminalReporter.js.map +1 -1
- package/build/src/start/server/metro/TerminalReporter.js +40 -12
- package/build/src/start/server/metro/TerminalReporter.js.map +1 -1
- package/build/src/start/server/metro/TerminalReporter.types.js.map +1 -1
- package/build/src/start/server/metro/createExpoMetroResolver.js +82 -35
- package/build/src/start/server/metro/createExpoMetroResolver.js.map +1 -1
- package/build/src/start/server/metro/createJResolver.js +143 -73
- package/build/src/start/server/metro/createJResolver.js.map +1 -1
- package/build/src/start/server/metro/createServerRouteMiddleware.js +47 -38
- package/build/src/start/server/metro/createServerRouteMiddleware.js.map +1 -1
- package/build/src/start/server/metro/debugging/MessageHandler.js +30 -0
- package/build/src/start/server/metro/debugging/MessageHandler.js.map +1 -0
- package/build/src/start/server/metro/debugging/createDebugMiddleware.js +18 -14
- package/build/src/start/server/metro/debugging/createDebugMiddleware.js.map +1 -1
- package/build/src/start/server/metro/debugging/createHandlersFactory.js +64 -0
- package/build/src/start/server/metro/debugging/createHandlersFactory.js.map +1 -0
- package/build/src/start/server/metro/debugging/{inspectorHandlers/utils.js → getDebuggerType.js} +6 -8
- package/build/src/start/server/metro/debugging/getDebuggerType.js.map +1 -0
- package/build/src/start/server/metro/debugging/{inspectorHandlers → messageHandlers}/NetworkResponse.js +12 -6
- package/build/src/start/server/metro/debugging/messageHandlers/NetworkResponse.js.map +1 -0
- package/build/src/start/server/metro/debugging/messageHandlers/PageReload.js +26 -0
- package/build/src/start/server/metro/debugging/messageHandlers/PageReload.js.map +1 -0
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerGetPossibleBreakpoints.js +28 -0
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerGetPossibleBreakpoints.js.map +1 -0
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerSetBreakpointByUrl.js +25 -0
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerSetBreakpointByUrl.js.map +1 -0
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeCallFunctionOn.js +31 -0
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeCallFunctionOn.js.map +1 -0
- package/build/src/start/server/metro/debugging/{inspectorHandlers → messageHandlers}/VscodeRuntimeGetProperties.js +14 -7
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeGetProperties.js.map +1 -0
- package/build/src/start/server/metro/debugging/pageIsSupported.js +17 -0
- package/build/src/start/server/metro/debugging/pageIsSupported.js.map +1 -0
- package/build/src/start/server/metro/debugging/types.js.map +1 -0
- package/build/src/start/server/metro/externals.js +67 -69
- package/build/src/start/server/metro/externals.js.map +1 -1
- package/build/src/start/server/metro/fetchRouterManifest.js +26 -7
- package/build/src/start/server/metro/fetchRouterManifest.js.map +1 -1
- package/build/src/start/server/metro/formatFileCandidates.js +28 -18
- package/build/src/start/server/metro/formatFileCandidates.js.map +1 -1
- package/build/src/start/server/metro/getCssModulesFromBundler.js +44 -12
- package/build/src/start/server/metro/getCssModulesFromBundler.js.map +1 -1
- package/build/src/start/server/metro/instantiateMetro.js +141 -62
- package/build/src/start/server/metro/instantiateMetro.js.map +1 -1
- package/build/src/start/server/metro/metroErrorInterface.js +75 -47
- package/build/src/start/server/metro/metroErrorInterface.js.map +1 -1
- package/build/src/start/server/metro/metroErrors.js +11 -2
- package/build/src/start/server/metro/metroErrors.js.map +1 -1
- package/build/src/start/server/metro/metroVirtualModules.js +90 -0
- package/build/src/start/server/metro/metroVirtualModules.js.map +1 -0
- package/build/src/start/server/metro/metroWatchTypeScriptFiles.js +12 -3
- package/build/src/start/server/metro/metroWatchTypeScriptFiles.js.map +1 -1
- package/build/src/start/server/metro/router.js +64 -30
- package/build/src/start/server/metro/router.js.map +1 -1
- package/build/src/start/server/metro/runServer-fork.js +68 -19
- package/build/src/start/server/metro/runServer-fork.js.map +1 -1
- package/build/src/start/server/metro/serializeHtml.js +32 -19
- package/build/src/start/server/metro/serializeHtml.js.map +1 -1
- package/build/src/start/server/metro/waitForMetroToObserveTypeScriptFile.js +19 -5
- package/build/src/start/server/metro/waitForMetroToObserveTypeScriptFile.js.map +1 -1
- package/build/src/start/server/metro/withMetroMultiPlatform.js +232 -104
- package/build/src/start/server/metro/withMetroMultiPlatform.js.map +1 -1
- package/build/src/start/server/metro/withMetroResolvers.js +95 -47
- package/build/src/start/server/metro/withMetroResolvers.js.map +1 -1
- package/build/src/start/server/middleware/ContextModuleSourceMapsMiddleware.js +4 -1
- package/build/src/start/server/middleware/ContextModuleSourceMapsMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/CorsMiddleware.js +4 -1
- package/build/src/start/server/middleware/CorsMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/CreateFileMiddleware.js +33 -13
- package/build/src/start/server/middleware/CreateFileMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/DevToolsPluginMiddleware.js +27 -12
- package/build/src/start/server/middleware/DevToolsPluginMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js +65 -28
- package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/ExpoMiddleware.js +54 -22
- package/build/src/start/server/middleware/ExpoMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/FaviconMiddleware.js +8 -5
- package/build/src/start/server/middleware/FaviconMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/HistoryFallbackMiddleware.js +6 -3
- package/build/src/start/server/middleware/HistoryFallbackMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/InterstitialPageMiddleware.js +58 -21
- package/build/src/start/server/middleware/InterstitialPageMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/ManifestMiddleware.js +117 -63
- package/build/src/start/server/middleware/ManifestMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/ReactDevToolsPageMiddleware.js +35 -10
- package/build/src/start/server/middleware/ReactDevToolsPageMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js +54 -27
- package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/ServeStaticMiddleware.js +31 -10
- package/build/src/start/server/middleware/ServeStaticMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/inspector/JsInspector.js +45 -22
- package/build/src/start/server/middleware/inspector/JsInspector.js.map +1 -1
- package/build/src/start/server/middleware/inspector/LaunchBrowser.js +25 -11
- package/build/src/start/server/middleware/inspector/LaunchBrowser.js.map +1 -1
- package/build/src/start/server/middleware/inspector/LaunchBrowser.types.js +4 -2
- package/build/src/start/server/middleware/inspector/LaunchBrowser.types.js.map +1 -1
- package/build/src/start/server/middleware/inspector/LaunchBrowserImplLinux.js +36 -14
- package/build/src/start/server/middleware/inspector/LaunchBrowserImplLinux.js.map +1 -1
- package/build/src/start/server/middleware/inspector/LaunchBrowserImplMacOS.js +84 -38
- package/build/src/start/server/middleware/inspector/LaunchBrowserImplMacOS.js.map +1 -1
- package/build/src/start/server/middleware/inspector/LaunchBrowserImplWindows.js +42 -20
- package/build/src/start/server/middleware/inspector/LaunchBrowserImplWindows.js.map +1 -1
- package/build/src/start/server/middleware/inspector/createJsInspectorMiddleware.js +40 -13
- package/build/src/start/server/middleware/inspector/createJsInspectorMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/inspector/middlwareMutations.js +11 -4
- package/build/src/start/server/middleware/inspector/middlwareMutations.js.map +1 -1
- package/build/src/start/server/middleware/metroOptions.js +36 -18
- package/build/src/start/server/middleware/metroOptions.js.map +1 -1
- package/build/src/start/server/middleware/mutations.js +11 -4
- package/build/src/start/server/middleware/mutations.js.map +1 -1
- package/build/src/start/server/middleware/resolveAssets.js +78 -42
- package/build/src/start/server/middleware/resolveAssets.js.map +1 -1
- package/build/src/start/server/middleware/resolvePlatform.js +21 -7
- package/build/src/start/server/middleware/resolvePlatform.js.map +1 -1
- package/build/src/start/server/middleware/suppressErrorMiddleware.js +4 -1
- package/build/src/start/server/middleware/suppressErrorMiddleware.js.map +1 -1
- package/build/src/start/server/openPlatforms.js +7 -6
- package/build/src/start/server/openPlatforms.js.map +1 -1
- package/build/src/start/server/platformBundlers.js +12 -3
- package/build/src/start/server/platformBundlers.js.map +1 -1
- package/build/src/start/server/serverLogLikeMetro.js +93 -40
- package/build/src/start/server/serverLogLikeMetro.js.map +1 -1
- package/build/src/start/server/type-generation/expo-env.js +26 -6
- package/build/src/start/server/type-generation/expo-env.js.map +1 -1
- package/build/src/start/server/type-generation/routes.js +137 -82
- package/build/src/start/server/type-generation/routes.js.map +1 -1
- package/build/src/start/server/type-generation/startTypescriptTypeGeneration.js +44 -23
- package/build/src/start/server/type-generation/startTypescriptTypeGeneration.js.map +1 -1
- package/build/src/start/server/type-generation/tsconfig.js +41 -16
- package/build/src/start/server/type-generation/tsconfig.js.map +1 -1
- package/build/src/start/server/webTemplate.js +43 -19
- package/build/src/start/server/webTemplate.js.map +1 -1
- package/build/src/start/server/webpack/WebpackBundlerDevServer.js +105 -56
- package/build/src/start/server/webpack/WebpackBundlerDevServer.js.map +1 -1
- package/build/src/start/server/webpack/compile.js +60 -27
- package/build/src/start/server/webpack/compile.js.map +1 -1
- package/build/src/start/server/webpack/formatWebpackMessages.js +35 -25
- package/build/src/start/server/webpack/formatWebpackMessages.js.map +1 -1
- package/build/src/start/server/webpack/resolveFromProject.js +20 -6
- package/build/src/start/server/webpack/resolveFromProject.js.map +1 -1
- package/build/src/start/server/webpack/tls.js +84 -34
- package/build/src/start/server/webpack/tls.js.map +1 -1
- package/build/src/start/startAsync.js +98 -52
- package/build/src/start/startAsync.js.map +1 -1
- package/build/src/utils/FileNotifier.js +73 -28
- package/build/src/utils/FileNotifier.js.map +1 -1
- package/build/src/utils/analytics/getDevClientProperties.js +48 -22
- package/build/src/utils/analytics/getDevClientProperties.js.map +1 -1
- package/build/src/utils/analytics/getMetroDebugProperties.js +4 -1
- package/build/src/utils/analytics/getMetroDebugProperties.js.map +1 -1
- package/build/src/utils/analytics/getMetroProperties.js +4 -1
- package/build/src/utils/analytics/getMetroProperties.js.map +1 -1
- package/build/src/utils/analytics/metroDebuggerMiddleware.js +14 -6
- package/build/src/utils/analytics/metroDebuggerMiddleware.js.map +1 -1
- package/build/src/utils/ansi.js +5 -2
- package/build/src/utils/ansi.js.map +1 -1
- package/build/src/utils/args.js +83 -31
- package/build/src/utils/args.js.map +1 -1
- package/build/src/utils/array.js +16 -9
- package/build/src/utils/array.js.map +1 -1
- package/build/src/utils/cocoapods.js +127 -67
- package/build/src/utils/cocoapods.js.map +1 -1
- package/build/src/utils/codesigning.js +144 -72
- package/build/src/utils/codesigning.js.map +1 -1
- package/build/src/utils/createFileTransform.js +34 -71
- package/build/src/utils/createFileTransform.js.map +1 -1
- package/build/src/utils/delay.js +13 -6
- package/build/src/utils/delay.js.map +1 -1
- package/build/src/utils/dir.js +50 -40
- package/build/src/utils/dir.js.map +1 -1
- package/build/src/utils/downloadAppAsync.js +51 -18
- package/build/src/utils/downloadAppAsync.js.map +1 -1
- package/build/src/utils/downloadExpoGoAsync.js +47 -26
- package/build/src/utils/downloadExpoGoAsync.js.map +1 -1
- package/build/src/utils/editor.js +65 -27
- package/build/src/utils/editor.js.map +1 -1
- package/build/src/utils/env.js +44 -33
- package/build/src/utils/env.js.map +1 -1
- package/build/src/utils/errors.js +35 -12
- package/build/src/utils/errors.js.map +1 -1
- package/build/src/utils/exit.js +10 -7
- package/build/src/utils/exit.js.map +1 -1
- package/build/src/utils/findUp.js +38 -8
- package/build/src/utils/findUp.js.map +1 -1
- package/build/src/utils/fn.js +11 -3
- package/build/src/utils/fn.js.map +1 -1
- package/build/src/utils/getOrPromptApplicationId.js +84 -46
- package/build/src/utils/getOrPromptApplicationId.js.map +1 -1
- package/build/src/utils/getRunningProcess.js +63 -25
- package/build/src/utils/getRunningProcess.js.map +1 -1
- package/build/src/utils/git.js +76 -38
- package/build/src/utils/git.js.map +1 -1
- package/build/src/utils/glob.js +23 -12
- package/build/src/utils/glob.js.map +1 -1
- package/build/src/utils/interactive.js +5 -2
- package/build/src/utils/interactive.js.map +1 -1
- package/build/src/utils/ip.js +12 -3
- package/build/src/utils/ip.js.map +1 -1
- package/build/src/utils/isModuleSymlinked.js +20 -5
- package/build/src/utils/isModuleSymlinked.js.map +1 -1
- package/build/src/utils/link.js +28 -8
- package/build/src/utils/link.js.map +1 -1
- package/build/src/utils/mergeGitIgnorePaths.js +45 -28
- package/build/src/utils/mergeGitIgnorePaths.js.map +1 -1
- package/build/src/utils/modifyConfigAsync.js +69 -31
- package/build/src/utils/modifyConfigAsync.js.map +1 -1
- package/build/src/utils/modifyConfigPlugins.js +50 -23
- package/build/src/utils/modifyConfigPlugins.js.map +1 -1
- package/build/src/utils/nodeEnv.js +8 -1
- package/build/src/utils/nodeEnv.js.map +1 -1
- package/build/src/utils/nodeModules.js +29 -8
- package/build/src/utils/nodeModules.js.map +1 -1
- package/build/src/utils/npm.js +86 -31
- package/build/src/utils/npm.js.map +1 -1
- package/build/src/utils/obj.js +12 -4
- package/build/src/utils/obj.js.map +1 -1
- package/build/src/utils/open.js +13 -4
- package/build/src/utils/open.js.map +1 -1
- package/build/src/utils/ora.js +38 -22
- package/build/src/utils/ora.js.map +1 -1
- package/build/src/utils/plist.js +73 -29
- package/build/src/utils/plist.js.map +1 -1
- package/build/src/utils/port.js +74 -36
- package/build/src/utils/port.js.map +1 -1
- package/build/src/utils/profile.js +56 -29
- package/build/src/utils/profile.js.map +1 -1
- package/build/src/utils/progress.js +23 -13
- package/build/src/utils/progress.js.map +1 -1
- package/build/src/utils/prompts.js +45 -28
- package/build/src/utils/prompts.js.map +1 -1
- package/build/src/utils/resolveArgs.js +23 -20
- package/build/src/utils/resolveArgs.js.map +1 -1
- package/build/src/utils/scheme.js +128 -52
- package/build/src/utils/scheme.js.map +1 -1
- package/build/src/utils/strings.js +11 -4
- package/build/src/utils/strings.js.map +1 -1
- package/build/src/utils/tar.js +56 -23
- package/build/src/utils/tar.js.map +1 -1
- package/build/src/utils/telemetry/DetachedClient.js +90 -0
- package/build/src/utils/telemetry/DetachedClient.js.map +1 -0
- package/build/src/utils/telemetry/RudderClient.js +101 -0
- package/build/src/utils/telemetry/RudderClient.js.map +1 -0
- package/build/src/utils/telemetry/flushDetached.js +44 -0
- package/build/src/utils/telemetry/flushDetached.js.map +1 -0
- package/build/src/utils/telemetry/getContext.js +112 -0
- package/build/src/utils/telemetry/getContext.js.map +1 -0
- package/build/src/utils/telemetry/index.js +37 -0
- package/build/src/utils/telemetry/index.js.map +1 -0
- package/build/src/utils/telemetry/types.js +6 -0
- package/build/src/utils/telemetry/types.js.map +1 -0
- package/build/src/utils/template.js +27 -2
- package/build/src/utils/template.js.map +1 -1
- package/build/src/utils/terminal.js +5 -2
- package/build/src/utils/terminal.js.map +1 -1
- package/build/src/utils/tsconfig/evaluateTsConfig.js +32 -14
- package/build/src/utils/tsconfig/evaluateTsConfig.js.map +1 -1
- package/build/src/utils/tsconfig/loadTsConfigPaths.js +34 -14
- package/build/src/utils/tsconfig/loadTsConfigPaths.js.map +1 -1
- package/build/src/utils/tsconfig/matchTsConfigPathAlias.js +8 -4
- package/build/src/utils/tsconfig/matchTsConfigPathAlias.js.map +1 -1
- package/build/src/utils/tsconfig/resolveWithTsConfigPaths.js +20 -11
- package/build/src/utils/tsconfig/resolveWithTsConfigPaths.js.map +1 -1
- package/build/src/utils/url.js +35 -19
- package/build/src/utils/url.js.map +1 -1
- package/build/src/utils/validateApplicationId.js +47 -28
- package/build/src/utils/validateApplicationId.js.map +1 -1
- package/build/src/utils/variadic.js +15 -11
- package/build/src/utils/variadic.js.map +1 -1
- package/build/src/whoami/index.js +43 -25
- package/build/src/whoami/index.js.map +1 -1
- package/build/src/whoami/whoamiAsync.js +50 -23
- package/build/src/whoami/whoamiAsync.js.map +1 -1
- package/package.json +16 -17
- package/static/canary/react-native/Libraries/Renderer/implementations/ReactFabric-dev.js +27907 -0
- package/static/canary/react-native/Libraries/Renderer/implementations/ReactFabric-prod.js +9494 -0
- package/static/canary/react-native/Libraries/Renderer/implementations/ReactFabric-profiling.js +10015 -0
- package/static/canary/react-native/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +28375 -0
- package/static/canary/react-native/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +9714 -0
- package/build/src/run/android/resolveGradleProps.js +0 -37
- package/build/src/run/android/resolveGradleProps.js.map +0 -1
- package/build/src/start/server/metro/bundleApiRoutes.js +0 -52
- package/build/src/start/server/metro/bundleApiRoutes.js.map +0 -1
- package/build/src/start/server/metro/debugging/InspectorDevice.js +0 -80
- package/build/src/start/server/metro/debugging/InspectorDevice.js.map +0 -1
- package/build/src/start/server/metro/debugging/InspectorProxy.js +0 -116
- package/build/src/start/server/metro/debugging/InspectorProxy.js.map +0 -1
- package/build/src/start/server/metro/debugging/inspectorHandlers/NetworkResponse.js.map +0 -1
- package/build/src/start/server/metro/debugging/inspectorHandlers/PageReload.js +0 -22
- package/build/src/start/server/metro/debugging/inspectorHandlers/PageReload.js.map +0 -1
- package/build/src/start/server/metro/debugging/inspectorHandlers/VscodeDebuggerGetPossibleBreakpoints.js +0 -21
- package/build/src/start/server/metro/debugging/inspectorHandlers/VscodeDebuggerGetPossibleBreakpoints.js.map +0 -1
- package/build/src/start/server/metro/debugging/inspectorHandlers/VscodeDebuggerScriptParsed.js +0 -56
- package/build/src/start/server/metro/debugging/inspectorHandlers/VscodeDebuggerScriptParsed.js.map +0 -1
- package/build/src/start/server/metro/debugging/inspectorHandlers/VscodeDebuggerSetBreakpointByUrl.js +0 -18
- package/build/src/start/server/metro/debugging/inspectorHandlers/VscodeDebuggerSetBreakpointByUrl.js.map +0 -1
- package/build/src/start/server/metro/debugging/inspectorHandlers/VscodeRuntimeCallFunctionOn.js +0 -24
- package/build/src/start/server/metro/debugging/inspectorHandlers/VscodeRuntimeCallFunctionOn.js.map +0 -1
- package/build/src/start/server/metro/debugging/inspectorHandlers/VscodeRuntimeGetProperties.js.map +0 -1
- package/build/src/start/server/metro/debugging/inspectorHandlers/types.js.map +0 -1
- package/build/src/start/server/metro/debugging/inspectorHandlers/utils.js.map +0 -1
- package/build/src/start/server/type-generation/__typetests__/fixtures/basic.js +0 -38
- package/build/src/start/server/type-generation/__typetests__/fixtures/basic.js.map +0 -1
- package/build/src/start/server/type-generation/__typetests__/generateFixtures.js +0 -38
- package/build/src/start/server/type-generation/__typetests__/generateFixtures.js.map +0 -1
- package/build/src/start/server/type-generation/__typetests__/route.test.js +0 -184
- package/build/src/start/server/type-generation/__typetests__/route.test.js.map +0 -1
- package/build/src/utils/analytics/rudderstackClient.js +0 -147
- package/build/src/utils/analytics/rudderstackClient.js.map +0 -1
- /package/build/src/start/server/metro/debugging/{inspectorHandlers/types.js → types.js} +0 -0
|
@@ -2,12 +2,39 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", {
|
|
3
3
|
value: true
|
|
4
4
|
});
|
|
5
|
-
exports
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
5
|
+
Object.defineProperty(exports, "createJsInspectorMiddleware", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: ()=>createJsInspectorMiddleware
|
|
8
|
+
});
|
|
9
|
+
function _chalk() {
|
|
10
|
+
const data = /*#__PURE__*/ _interopRequireDefault(require("chalk"));
|
|
11
|
+
_chalk = function() {
|
|
12
|
+
return data;
|
|
13
|
+
};
|
|
14
|
+
return data;
|
|
15
|
+
}
|
|
16
|
+
function _net() {
|
|
17
|
+
const data = /*#__PURE__*/ _interopRequireDefault(require("net"));
|
|
18
|
+
_net = function() {
|
|
19
|
+
return data;
|
|
20
|
+
};
|
|
21
|
+
return data;
|
|
22
|
+
}
|
|
23
|
+
function _tls() {
|
|
24
|
+
const data = require("tls");
|
|
25
|
+
_tls = function() {
|
|
26
|
+
return data;
|
|
27
|
+
};
|
|
28
|
+
return data;
|
|
29
|
+
}
|
|
30
|
+
function _url() {
|
|
31
|
+
const data = require("url");
|
|
32
|
+
_url = function() {
|
|
33
|
+
return data;
|
|
34
|
+
};
|
|
35
|
+
return data;
|
|
36
|
+
}
|
|
37
|
+
const _jsInspector = require("./JsInspector");
|
|
11
38
|
function _interopRequireDefault(obj) {
|
|
12
39
|
return obj && obj.__esModule ? obj : {
|
|
13
40
|
default: obj
|
|
@@ -16,16 +43,16 @@ function _interopRequireDefault(obj) {
|
|
|
16
43
|
function createJsInspectorMiddleware() {
|
|
17
44
|
return async function(req, res, next) {
|
|
18
45
|
var _url1;
|
|
19
|
-
const { origin , searchParams } = new _url.URL((_url1 = req.url) != null ? _url1 : "/", getServerBase(req));
|
|
46
|
+
const { origin , searchParams } = new (_url()).URL((_url1 = req.url) != null ? _url1 : "/", getServerBase(req));
|
|
20
47
|
const appId = searchParams.get("appId") || searchParams.get("applicationId");
|
|
21
48
|
if (!appId) {
|
|
22
49
|
res.writeHead(400).end('Missing application identifier ("?appId=...")');
|
|
23
50
|
return;
|
|
24
51
|
}
|
|
25
|
-
const app = await (0, _jsInspector
|
|
52
|
+
const app = await (0, _jsInspector.queryInspectorAppAsync)(origin, appId);
|
|
26
53
|
if (!app) {
|
|
27
54
|
res.writeHead(404).end("Unable to find inspector target from @react-native/dev-middleware");
|
|
28
|
-
console.warn(_chalk.default.yellow("No compatible apps connected. JavaScript Debugging can only be used with the Hermes engine."));
|
|
55
|
+
console.warn(_chalk().default.yellow("No compatible apps connected. JavaScript Debugging can only be used with the Hermes engine."));
|
|
29
56
|
return;
|
|
30
57
|
}
|
|
31
58
|
if (req.method === "GET") {
|
|
@@ -38,12 +65,12 @@ function createJsInspectorMiddleware() {
|
|
|
38
65
|
res.end(data);
|
|
39
66
|
} else if (req.method === "POST" || req.method === "PUT") {
|
|
40
67
|
try {
|
|
41
|
-
await (0, _jsInspector
|
|
68
|
+
await (0, _jsInspector.openJsInspector)(origin, app);
|
|
42
69
|
} catch (error) {
|
|
43
70
|
var ref;
|
|
44
71
|
// abort(Error: Command failed: osascript -e POSIX path of (path to application "google chrome")
|
|
45
72
|
// 15:50: execution error: Google Chrome got an error: Application isn’t running. (-600)
|
|
46
|
-
console.error(_chalk.default.red("Error launching JS inspector: " + ((ref = error == null ? void 0 : error.message) != null ? ref : "Unknown error occurred")));
|
|
73
|
+
console.error(_chalk().default.red("Error launching JS inspector: " + ((ref = error == null ? void 0 : error.message) != null ? ref : "Unknown error occurred")));
|
|
47
74
|
res.writeHead(500);
|
|
48
75
|
res.end();
|
|
49
76
|
return;
|
|
@@ -55,9 +82,9 @@ function createJsInspectorMiddleware() {
|
|
|
55
82
|
};
|
|
56
83
|
}
|
|
57
84
|
function getServerBase(req) {
|
|
58
|
-
const scheme = req.socket instanceof _tls.TLSSocket && req.socket.encrypted === true ? "https" : "http";
|
|
85
|
+
const scheme = req.socket instanceof _tls().TLSSocket && req.socket.encrypted === true ? "https" : "http";
|
|
59
86
|
const { localAddress , localPort } = req.socket;
|
|
60
|
-
const address = localAddress && _net.default.isIPv6(localAddress) ? `[${localAddress}]` : localAddress;
|
|
87
|
+
const address = localAddress && _net().default.isIPv6(localAddress) ? `[${localAddress}]` : localAddress;
|
|
61
88
|
return `${scheme}:${address}:${localPort}`;
|
|
62
89
|
}
|
|
63
90
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../src/start/server/middleware/inspector/createJsInspectorMiddleware.ts"],"sourcesContent":["import chalk from 'chalk';\nimport type { NextHandleFunction } from 'connect';\nimport type { IncomingMessage, ServerResponse } from 'http';\nimport net from 'net';\nimport { TLSSocket } from 'tls';\nimport { URL } from 'url';\n\nimport { openJsInspector, queryInspectorAppAsync } from './JsInspector';\n\n/**\n * Create a middleware that handles new requests to open the debugger from the dev menu.\n * @todo(cedric): delete this middleware once we fully swap over to the new React Native JS Inspector.\n */\nexport function createJsInspectorMiddleware(): NextHandleFunction {\n return async function (req: IncomingMessage, res: ServerResponse, next: (err?: Error) => void) {\n const { origin, searchParams } = new URL(req.url ?? '/', getServerBase(req));\n const appId = searchParams.get('appId') || searchParams.get('applicationId');\n if (!appId) {\n res.writeHead(400).end('Missing application identifier (\"?appId=...\")');\n return;\n }\n\n const app = await queryInspectorAppAsync(origin, appId);\n if (!app) {\n res.writeHead(404).end('Unable to find inspector target from @react-native/dev-middleware');\n console.warn(\n chalk.yellow(\n 'No compatible apps connected. JavaScript Debugging can only be used with the Hermes engine.'\n )\n );\n return;\n }\n\n if (req.method === 'GET') {\n const data = JSON.stringify(app);\n res.writeHead(200, {\n 'Content-Type': 'application/json; charset=UTF-8',\n 'Cache-Control': 'no-cache',\n 'Content-Length': data.length.toString(),\n });\n res.end(data);\n } else if (req.method === 'POST' || req.method === 'PUT') {\n try {\n await openJsInspector(origin, app);\n } catch (error: any) {\n // abort(Error: Command failed: osascript -e POSIX path of (path to application \"google chrome\")\n // 15:50: execution error: Google Chrome got an error: Application isn’t running. (-600)\n\n console.error(\n chalk.red('Error launching JS inspector: ' + (error?.message ?? 'Unknown error occurred'))\n );\n res.writeHead(500);\n res.end();\n return;\n }\n res.end();\n } else {\n res.writeHead(405);\n }\n };\n}\n\nfunction getServerBase(req: IncomingMessage): string {\n const scheme =\n req.socket instanceof TLSSocket && req.socket.encrypted === true ? 'https' : 'http';\n const { localAddress, localPort } = req.socket;\n const address = localAddress && net.isIPv6(localAddress) ? `[${localAddress}]` : localAddress;\n return `${scheme}:${address}:${localPort}`;\n}\n"],"names":["createJsInspectorMiddleware","req","res","next","origin","searchParams","URL","url","getServerBase","appId","get","writeHead","end","app","queryInspectorAppAsync","console","warn","chalk","yellow","method","data","JSON","stringify","length","toString","openJsInspector","error","red","message","scheme","socket","TLSSocket","encrypted","localAddress","localPort","address","net","isIPv6"],"mappings":"AAAA
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/start/server/middleware/inspector/createJsInspectorMiddleware.ts"],"sourcesContent":["import chalk from 'chalk';\nimport type { NextHandleFunction } from 'connect';\nimport type { IncomingMessage, ServerResponse } from 'http';\nimport net from 'net';\nimport { TLSSocket } from 'tls';\nimport { URL } from 'url';\n\nimport { openJsInspector, queryInspectorAppAsync } from './JsInspector';\n\n/**\n * Create a middleware that handles new requests to open the debugger from the dev menu.\n * @todo(cedric): delete this middleware once we fully swap over to the new React Native JS Inspector.\n */\nexport function createJsInspectorMiddleware(): NextHandleFunction {\n return async function (req: IncomingMessage, res: ServerResponse, next: (err?: Error) => void) {\n const { origin, searchParams } = new URL(req.url ?? '/', getServerBase(req));\n const appId = searchParams.get('appId') || searchParams.get('applicationId');\n if (!appId) {\n res.writeHead(400).end('Missing application identifier (\"?appId=...\")');\n return;\n }\n\n const app = await queryInspectorAppAsync(origin, appId);\n if (!app) {\n res.writeHead(404).end('Unable to find inspector target from @react-native/dev-middleware');\n console.warn(\n chalk.yellow(\n 'No compatible apps connected. JavaScript Debugging can only be used with the Hermes engine.'\n )\n );\n return;\n }\n\n if (req.method === 'GET') {\n const data = JSON.stringify(app);\n res.writeHead(200, {\n 'Content-Type': 'application/json; charset=UTF-8',\n 'Cache-Control': 'no-cache',\n 'Content-Length': data.length.toString(),\n });\n res.end(data);\n } else if (req.method === 'POST' || req.method === 'PUT') {\n try {\n await openJsInspector(origin, app);\n } catch (error: any) {\n // abort(Error: Command failed: osascript -e POSIX path of (path to application \"google chrome\")\n // 15:50: execution error: Google Chrome got an error: Application isn’t running. (-600)\n\n console.error(\n chalk.red('Error launching JS inspector: ' + (error?.message ?? 'Unknown error occurred'))\n );\n res.writeHead(500);\n res.end();\n return;\n }\n res.end();\n } else {\n res.writeHead(405);\n }\n };\n}\n\nfunction getServerBase(req: IncomingMessage): string {\n const scheme =\n req.socket instanceof TLSSocket && req.socket.encrypted === true ? 'https' : 'http';\n const { localAddress, localPort } = req.socket;\n const address = localAddress && net.isIPv6(localAddress) ? `[${localAddress}]` : localAddress;\n return `${scheme}:${address}:${localPort}`;\n}\n"],"names":["createJsInspectorMiddleware","req","res","next","origin","searchParams","URL","url","getServerBase","appId","get","writeHead","end","app","queryInspectorAppAsync","console","warn","chalk","yellow","method","data","JSON","stringify","length","toString","openJsInspector","error","red","message","scheme","socket","TLSSocket","encrypted","localAddress","localPort","address","net","isIPv6"],"mappings":"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"}
|
|
@@ -2,15 +2,22 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", {
|
|
3
3
|
value: true
|
|
4
4
|
});
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
function _export(target, all) {
|
|
6
|
+
for(var name in all)Object.defineProperty(target, name, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: all[name]
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
_export(exports, {
|
|
12
|
+
prependMiddleware: ()=>prependMiddleware,
|
|
13
|
+
replaceMiddlewareWith: ()=>replaceMiddlewareWith
|
|
14
|
+
});
|
|
7
15
|
function prependMiddleware(app, middleware) {
|
|
8
16
|
app.use(middleware);
|
|
9
17
|
app.stack.unshift(app.stack.pop());
|
|
10
18
|
}
|
|
11
19
|
function replaceMiddlewareWith(app, sourceMiddleware, targetMiddleware) {
|
|
12
|
-
const item = app.stack.find((middleware)=>middleware.handle === sourceMiddleware
|
|
13
|
-
);
|
|
20
|
+
const item = app.stack.find((middleware)=>middleware.handle === sourceMiddleware);
|
|
14
21
|
if (item) {
|
|
15
22
|
item.handle = targetMiddleware;
|
|
16
23
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../src/start/server/middleware/inspector/middlwareMutations.ts"],"sourcesContent":["import type { Server as ConnectServer, HandleFunction } from 'connect';\n\n/**\n * Prepends a `middleware` to current server middleware stack.\n *\n * @param app connect app server instance\n * @param middleware target middleware to be prepended\n */\nexport function prependMiddleware(app: ConnectServer, middleware: HandleFunction) {\n app.use(middleware);\n app.stack.unshift(app.stack.pop()!);\n}\n\n/**\n * Replaces source middleware with a new middlware in connect app\n *\n * @param app connect app server instance\n * @param sourceMiddleware source middlware to be matched and replaces\n * @param targetMiddleware new middlware\n */\nexport function replaceMiddlewareWith(\n app: ConnectServer,\n sourceMiddleware: HandleFunction,\n targetMiddleware: HandleFunction\n) {\n const item = app.stack.find((middleware) => middleware.handle === sourceMiddleware);\n if (item) {\n item.handle = targetMiddleware;\n }\n}\n"],"names":["prependMiddleware","replaceMiddlewareWith","app","middleware","use","stack","unshift","pop","sourceMiddleware","targetMiddleware","item","find","handle"],"mappings":"AAAA
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/start/server/middleware/inspector/middlwareMutations.ts"],"sourcesContent":["import type { Server as ConnectServer, HandleFunction } from 'connect';\n\n/**\n * Prepends a `middleware` to current server middleware stack.\n *\n * @param app connect app server instance\n * @param middleware target middleware to be prepended\n */\nexport function prependMiddleware(app: ConnectServer, middleware: HandleFunction) {\n app.use(middleware);\n app.stack.unshift(app.stack.pop()!);\n}\n\n/**\n * Replaces source middleware with a new middlware in connect app\n *\n * @param app connect app server instance\n * @param sourceMiddleware source middlware to be matched and replaces\n * @param targetMiddleware new middlware\n */\nexport function replaceMiddlewareWith(\n app: ConnectServer,\n sourceMiddleware: HandleFunction,\n targetMiddleware: HandleFunction\n) {\n const item = app.stack.find((middleware) => middleware.handle === sourceMiddleware);\n if (item) {\n item.handle = targetMiddleware;\n }\n}\n"],"names":["prependMiddleware","replaceMiddlewareWith","app","middleware","use","stack","unshift","pop","sourceMiddleware","targetMiddleware","item","find","handle"],"mappings":"AAAA;;;;;;;;;;;IAQgBA,iBAAiB,MAAjBA,iBAAiB;IAYjBC,qBAAqB,MAArBA,qBAAqB;;AAZ9B,SAASD,iBAAiB,CAACE,GAAkB,EAAEC,UAA0B,EAAE;IAChFD,GAAG,CAACE,GAAG,CAACD,UAAU,CAAC,CAAC;IACpBD,GAAG,CAACG,KAAK,CAACC,OAAO,CAACJ,GAAG,CAACG,KAAK,CAACE,GAAG,EAAE,CAAE,CAAC;AACtC,CAAC;AASM,SAASN,qBAAqB,CACnCC,GAAkB,EAClBM,gBAAgC,EAChCC,gBAAgC,EAChC;IACA,MAAMC,IAAI,GAAGR,GAAG,CAACG,KAAK,CAACM,IAAI,CAAC,CAACR,UAAU,GAAKA,UAAU,CAACS,MAAM,KAAKJ,gBAAgB,CAAC,AAAC;IACpF,IAAIE,IAAI,EAAE;QACRA,IAAI,CAACE,MAAM,GAAGH,gBAAgB,CAAC;IACjC,CAAC;AACH,CAAC"}
|
|
@@ -2,17 +2,32 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", {
|
|
3
3
|
value: true
|
|
4
4
|
});
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
exports
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
5
|
+
function _export(target, all) {
|
|
6
|
+
for(var name in all)Object.defineProperty(target, name, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: all[name]
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
_export(exports, {
|
|
12
|
+
shouldEnableAsyncImports: ()=>shouldEnableAsyncImports,
|
|
13
|
+
isServerEnvironment: ()=>isServerEnvironment,
|
|
14
|
+
getBaseUrlFromExpoConfig: ()=>getBaseUrlFromExpoConfig,
|
|
15
|
+
getAsyncRoutesFromExpoConfig: ()=>getAsyncRoutesFromExpoConfig,
|
|
16
|
+
getMetroDirectBundleOptionsForExpoConfig: ()=>getMetroDirectBundleOptionsForExpoConfig,
|
|
17
|
+
getMetroDirectBundleOptions: ()=>getMetroDirectBundleOptions,
|
|
18
|
+
createBundleUrlPathFromExpoConfig: ()=>createBundleUrlPathFromExpoConfig,
|
|
19
|
+
createBundleUrlPath: ()=>createBundleUrlPath
|
|
20
|
+
});
|
|
21
|
+
function _resolveFrom() {
|
|
22
|
+
const data = /*#__PURE__*/ _interopRequireDefault(require("resolve-from"));
|
|
23
|
+
_resolveFrom = function() {
|
|
24
|
+
return data;
|
|
25
|
+
};
|
|
26
|
+
return data;
|
|
27
|
+
}
|
|
28
|
+
const _env = require("../../../utils/env");
|
|
29
|
+
const _errors = require("../../../utils/errors");
|
|
30
|
+
const _router = require("../metro/router");
|
|
16
31
|
function _interopRequireDefault(obj) {
|
|
17
32
|
return obj && obj.__esModule ? obj : {
|
|
18
33
|
default: obj
|
|
@@ -27,7 +42,10 @@ function shouldEnableAsyncImports(projectRoot) {
|
|
|
27
42
|
// to support async imports. If it's not installed, we can't support async imports.
|
|
28
43
|
// If it is installed, the user MUST import it somewhere in their project.
|
|
29
44
|
// Expo Router automatically pulls this in, so we can check for it.
|
|
30
|
-
return _resolveFrom.default.silent(projectRoot, "@expo/metro-runtime") != null;
|
|
45
|
+
return _resolveFrom().default.silent(projectRoot, "@expo/metro-runtime") != null;
|
|
46
|
+
}
|
|
47
|
+
function isServerEnvironment(environment) {
|
|
48
|
+
return environment === "node" || environment === "react-server";
|
|
31
49
|
}
|
|
32
50
|
function withDefaults({ mode ="development" , minify =mode === "production" , preserveEnvVars =_env.env.EXPO_NO_CLIENT_ENV_VARS , lazy , ...props }) {
|
|
33
51
|
if (props.bytecode) {
|
|
@@ -52,11 +70,11 @@ function getBaseUrlFromExpoConfig(exp) {
|
|
|
52
70
|
return (ref2 = (ref = exp.experiments) == null ? void 0 : (ref1 = ref.baseUrl) == null ? void 0 : ref1.trim().replace(/\/+$/, "")) != null ? ref2 : "";
|
|
53
71
|
}
|
|
54
72
|
function getAsyncRoutesFromExpoConfig(exp, mode, platform) {
|
|
55
|
-
var ref,
|
|
73
|
+
var ref, ref1;
|
|
56
74
|
let asyncRoutesSetting;
|
|
57
|
-
if ((ref = exp.extra) == null ? void 0 : (
|
|
58
|
-
var
|
|
59
|
-
const asyncRoutes = (
|
|
75
|
+
if ((ref = exp.extra) == null ? void 0 : (ref1 = ref.router) == null ? void 0 : ref1.asyncRoutes) {
|
|
76
|
+
var ref2, ref3;
|
|
77
|
+
const asyncRoutes = (ref2 = exp.extra) == null ? void 0 : (ref3 = ref2.router) == null ? void 0 : ref3.asyncRoutes;
|
|
60
78
|
if ([
|
|
61
79
|
"boolean",
|
|
62
80
|
"string"
|
|
@@ -76,7 +94,7 @@ function getMetroDirectBundleOptionsForExpoConfig(projectRoot, exp, options) {
|
|
|
76
94
|
return getMetroDirectBundleOptions({
|
|
77
95
|
...options,
|
|
78
96
|
baseUrl: getBaseUrlFromExpoConfig(exp),
|
|
79
|
-
routerRoot: (0, _router
|
|
97
|
+
routerRoot: (0, _router.getRouterDirectoryModuleIdWithManifest)(projectRoot, exp),
|
|
80
98
|
asyncRoutes: getAsyncRoutesFromExpoConfig(exp, options.mode, options.platform)
|
|
81
99
|
});
|
|
82
100
|
}
|
|
@@ -132,7 +150,7 @@ function createBundleUrlPathFromExpoConfig(projectRoot, exp, options) {
|
|
|
132
150
|
return createBundleUrlPath({
|
|
133
151
|
...options,
|
|
134
152
|
baseUrl: getBaseUrlFromExpoConfig(exp),
|
|
135
|
-
routerRoot: (0, _router
|
|
153
|
+
routerRoot: (0, _router.getRouterDirectoryModuleIdWithManifest)(projectRoot, exp)
|
|
136
154
|
});
|
|
137
155
|
}
|
|
138
156
|
function createBundleUrlPath(options) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/start/server/middleware/metroOptions.ts"],"sourcesContent":["import { ExpoConfig } from '@expo/config';\nimport type { BundleOptions as MetroBundleOptions } from 'metro/src/shared/types';\nimport resolveFrom from 'resolve-from';\n\nimport { env } from '../../../utils/env';\nimport { CommandError } from '../../../utils/errors';\nimport { getRouterDirectoryModuleIdWithManifest } from '../metro/router';\n\nconst debug = require('debug')('expo:metro:options') as typeof console.log;\n\nexport type ExpoMetroOptions = {\n platform: string;\n mainModuleName: string;\n mode: string;\n minify?: boolean;\n environment?: string;\n serializerOutput?: 'static';\n serializerIncludeMaps?: boolean;\n lazy?: boolean;\n engine?: 'hermes';\n preserveEnvVars?: boolean;\n bytecode: boolean;\n asyncRoutes?: boolean;\n\n baseUrl?: string;\n isExporting: boolean;\n /** Module ID relative to the projectRoot for the Expo Router app directory. */\n routerRoot: string;\n inlineSourceMap?: boolean;\n};\n\nexport type SerializerOptions = {\n includeSourceMaps?: boolean;\n output?: 'static';\n};\n\nexport type ExpoMetroBundleOptions = MetroBundleOptions & {\n serializerOptions?: SerializerOptions;\n};\n\nexport function shouldEnableAsyncImports(projectRoot: string): boolean {\n if (env.EXPO_NO_METRO_LAZY) {\n return false;\n }\n\n // `@expo/metro-runtime` includes support for the fetch + eval runtime code required\n // to support async imports. If it's not installed, we can't support async imports.\n // If it is installed, the user MUST import it somewhere in their project.\n // Expo Router automatically pulls this in, so we can check for it.\n return resolveFrom.silent(projectRoot, '@expo/metro-runtime') != null;\n}\n\nfunction withDefaults({\n mode = 'development',\n minify = mode === 'production',\n preserveEnvVars = env.EXPO_NO_CLIENT_ENV_VARS,\n lazy,\n ...props\n}: ExpoMetroOptions): ExpoMetroOptions {\n if (props.bytecode) {\n if (props.platform === 'web') {\n throw new CommandError('Cannot use bytecode with the web platform');\n }\n if (props.engine !== 'hermes') {\n throw new CommandError('Bytecode is only supported with the Hermes engine');\n }\n }\n\n return {\n mode,\n minify,\n preserveEnvVars,\n lazy: !props.isExporting && lazy,\n ...props,\n };\n}\n\nexport function getBaseUrlFromExpoConfig(exp: ExpoConfig) {\n return exp.experiments?.baseUrl?.trim().replace(/\\/+$/, '') ?? '';\n}\nexport function getAsyncRoutesFromExpoConfig(exp: ExpoConfig, mode: string, platform: string) {\n let asyncRoutesSetting;\n\n if (exp.extra?.router?.asyncRoutes) {\n const asyncRoutes = exp.extra?.router?.asyncRoutes;\n if (['boolean', 'string'].includes(typeof asyncRoutes)) {\n asyncRoutesSetting = asyncRoutes;\n } else if (typeof asyncRoutes === 'object') {\n asyncRoutesSetting = asyncRoutes[platform] ?? asyncRoutes.default;\n }\n }\n\n return [mode, true].includes(asyncRoutesSetting);\n}\n\nexport function getMetroDirectBundleOptionsForExpoConfig(\n projectRoot: string,\n exp: ExpoConfig,\n options: Omit<ExpoMetroOptions, 'baseUrl' | 'routerRoot' | 'asyncRoutes'>\n): Partial<ExpoMetroBundleOptions> {\n return getMetroDirectBundleOptions({\n ...options,\n baseUrl: getBaseUrlFromExpoConfig(exp),\n routerRoot: getRouterDirectoryModuleIdWithManifest(projectRoot, exp),\n asyncRoutes: getAsyncRoutesFromExpoConfig(exp, options.mode, options.platform),\n });\n}\n\nexport function getMetroDirectBundleOptions(\n options: ExpoMetroOptions\n): Partial<ExpoMetroBundleOptions> {\n const {\n mainModuleName,\n platform,\n mode,\n minify,\n environment,\n serializerOutput,\n serializerIncludeMaps,\n bytecode,\n lazy,\n engine,\n preserveEnvVars,\n asyncRoutes,\n baseUrl,\n routerRoot,\n isExporting,\n inlineSourceMap,\n } = withDefaults(options);\n\n const dev = mode !== 'production';\n const isHermes = engine === 'hermes';\n\n if (isExporting) {\n debug('Disabling lazy bundling for export build');\n options.lazy = false;\n }\n\n let fakeSourceUrl: string | undefined;\n let fakeSourceMapUrl: string | undefined;\n\n // TODO: Upstream support to Metro for passing custom serializer options.\n if (serializerIncludeMaps != null || serializerOutput != null) {\n fakeSourceUrl = new URL(\n createBundleUrlPath(options).replace(/^\\//, ''),\n 'http://localhost:8081'\n ).toString();\n if (serializerIncludeMaps) {\n fakeSourceMapUrl = fakeSourceUrl.replace('.bundle?', '.map?');\n }\n }\n\n const bundleOptions: Partial<ExpoMetroBundleOptions> = {\n platform,\n entryFile: mainModuleName,\n dev,\n minify: minify ?? !dev,\n inlineSourceMap: inlineSourceMap ?? false,\n lazy,\n unstable_transformProfile: isHermes ? 'hermes-stable' : 'default',\n customTransformOptions: {\n __proto__: null,\n engine,\n preserveEnvVars,\n asyncRoutes,\n environment,\n baseUrl,\n routerRoot,\n bytecode,\n },\n customResolverOptions: {\n __proto__: null,\n environment,\n },\n sourceMapUrl: fakeSourceMapUrl,\n sourceUrl: fakeSourceUrl,\n serializerOptions: {\n output: serializerOutput,\n includeSourceMaps: serializerIncludeMaps,\n },\n };\n\n return bundleOptions;\n}\n\nexport function createBundleUrlPathFromExpoConfig(\n projectRoot: string,\n exp: ExpoConfig,\n options: Omit<ExpoMetroOptions, 'baseUrl' | 'routerRoot'>\n): string {\n return createBundleUrlPath({\n ...options,\n baseUrl: getBaseUrlFromExpoConfig(exp),\n routerRoot: getRouterDirectoryModuleIdWithManifest(projectRoot, exp),\n });\n}\n\nexport function createBundleUrlPath(options: ExpoMetroOptions): string {\n const {\n platform,\n mainModuleName,\n mode,\n minify,\n environment,\n serializerOutput,\n serializerIncludeMaps,\n lazy,\n bytecode,\n engine,\n preserveEnvVars,\n asyncRoutes,\n baseUrl,\n routerRoot,\n inlineSourceMap,\n isExporting,\n } = withDefaults(options);\n\n const dev = String(mode !== 'production');\n const queryParams = new URLSearchParams({\n platform: encodeURIComponent(platform),\n dev,\n // TODO: Is this still needed?\n hot: String(false),\n });\n\n // Lazy bundling must be disabled for bundle splitting to work.\n if (!isExporting && lazy) {\n queryParams.append('lazy', String(lazy));\n }\n\n if (inlineSourceMap) {\n queryParams.append('inlineSourceMap', String(inlineSourceMap));\n }\n\n if (minify) {\n queryParams.append('minify', String(minify));\n }\n\n // We split bytecode from the engine since you could technically use Hermes without bytecode.\n // Hermes indicates the type of language features you want to transform out of the JS, whereas bytecode\n // indicates whether you want to use the Hermes bytecode format.\n if (engine) {\n queryParams.append('transform.engine', engine);\n }\n if (bytecode) {\n queryParams.append('transform.bytecode', String(bytecode));\n }\n\n if (asyncRoutes) {\n queryParams.append('transform.asyncRoutes', String(asyncRoutes));\n }\n if (preserveEnvVars) {\n queryParams.append('transform.preserveEnvVars', String(preserveEnvVars));\n }\n if (baseUrl) {\n queryParams.append('transform.baseUrl', baseUrl);\n }\n if (routerRoot != null) {\n queryParams.append('transform.routerRoot', routerRoot);\n }\n\n if (environment) {\n queryParams.append('resolver.environment', environment);\n queryParams.append('transform.environment', environment);\n }\n\n if (serializerOutput) {\n queryParams.append('serializer.output', serializerOutput);\n }\n if (serializerIncludeMaps) {\n queryParams.append('serializer.map', String(serializerIncludeMaps));\n }\n\n return `/${encodeURI(mainModuleName)}.bundle?${queryParams.toString()}`;\n}\n"],"names":["shouldEnableAsyncImports","getBaseUrlFromExpoConfig","getAsyncRoutesFromExpoConfig","getMetroDirectBundleOptionsForExpoConfig","getMetroDirectBundleOptions","createBundleUrlPathFromExpoConfig","createBundleUrlPath","debug","require","projectRoot","env","EXPO_NO_METRO_LAZY","resolveFrom","silent","withDefaults","mode","minify","preserveEnvVars","EXPO_NO_CLIENT_ENV_VARS","lazy","props","bytecode","platform","CommandError","engine","isExporting","exp","experiments","baseUrl","trim","replace","asyncRoutesSetting","extra","router","asyncRoutes","includes","default","options","routerRoot","getRouterDirectoryModuleIdWithManifest","mainModuleName","environment","serializerOutput","serializerIncludeMaps","inlineSourceMap","dev","isHermes","fakeSourceUrl","fakeSourceMapUrl","URL","toString","bundleOptions","entryFile","unstable_transformProfile","customTransformOptions","__proto__","customResolverOptions","sourceMapUrl","sourceUrl","serializerOptions","output","includeSourceMaps","String","queryParams","URLSearchParams","encodeURIComponent","hot","append","encodeURI"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../../../src/start/server/middleware/metroOptions.ts"],"sourcesContent":["import { ExpoConfig } from '@expo/config';\nimport type { BundleOptions as MetroBundleOptions } from 'metro/src/shared/types';\nimport resolveFrom from 'resolve-from';\n\nimport { env } from '../../../utils/env';\nimport { CommandError } from '../../../utils/errors';\nimport { getRouterDirectoryModuleIdWithManifest } from '../metro/router';\n\nconst debug = require('debug')('expo:metro:options') as typeof console.log;\n\nexport type MetroEnvironment = 'node' | 'react-server' | 'client';\n\nexport type ExpoMetroOptions = {\n platform: string;\n mainModuleName: string;\n mode: string;\n minify?: boolean;\n environment?: MetroEnvironment;\n serializerOutput?: 'static';\n serializerIncludeMaps?: boolean;\n lazy?: boolean;\n engine?: 'hermes';\n preserveEnvVars?: boolean;\n bytecode: boolean;\n /** Enable async routes (route-based bundle splitting) in Expo Router. */\n asyncRoutes?: boolean;\n /** Module ID relative to the projectRoot for the Expo Router app directory. */\n routerRoot: string;\n baseUrl?: string;\n isExporting: boolean;\n inlineSourceMap?: boolean;\n};\n\nexport type SerializerOptions = {\n includeSourceMaps?: boolean;\n output?: 'static';\n};\n\nexport type ExpoMetroBundleOptions = MetroBundleOptions & {\n serializerOptions?: SerializerOptions;\n};\n\nexport function shouldEnableAsyncImports(projectRoot: string): boolean {\n if (env.EXPO_NO_METRO_LAZY) {\n return false;\n }\n\n // `@expo/metro-runtime` includes support for the fetch + eval runtime code required\n // to support async imports. If it's not installed, we can't support async imports.\n // If it is installed, the user MUST import it somewhere in their project.\n // Expo Router automatically pulls this in, so we can check for it.\n return resolveFrom.silent(projectRoot, '@expo/metro-runtime') != null;\n}\n\nexport function isServerEnvironment(environment?: any): boolean {\n return environment === 'node' || environment === 'react-server';\n}\n\nfunction withDefaults({\n mode = 'development',\n minify = mode === 'production',\n preserveEnvVars = env.EXPO_NO_CLIENT_ENV_VARS,\n lazy,\n ...props\n}: ExpoMetroOptions): ExpoMetroOptions {\n if (props.bytecode) {\n if (props.platform === 'web') {\n throw new CommandError('Cannot use bytecode with the web platform');\n }\n if (props.engine !== 'hermes') {\n throw new CommandError('Bytecode is only supported with the Hermes engine');\n }\n }\n\n return {\n mode,\n minify,\n preserveEnvVars,\n lazy: !props.isExporting && lazy,\n ...props,\n };\n}\n\nexport function getBaseUrlFromExpoConfig(exp: ExpoConfig) {\n return exp.experiments?.baseUrl?.trim().replace(/\\/+$/, '') ?? '';\n}\nexport function getAsyncRoutesFromExpoConfig(exp: ExpoConfig, mode: string, platform: string) {\n let asyncRoutesSetting;\n\n if (exp.extra?.router?.asyncRoutes) {\n const asyncRoutes = exp.extra?.router?.asyncRoutes;\n if (['boolean', 'string'].includes(typeof asyncRoutes)) {\n asyncRoutesSetting = asyncRoutes;\n } else if (typeof asyncRoutes === 'object') {\n asyncRoutesSetting = asyncRoutes[platform] ?? asyncRoutes.default;\n }\n }\n\n return [mode, true].includes(asyncRoutesSetting);\n}\n\nexport function getMetroDirectBundleOptionsForExpoConfig(\n projectRoot: string,\n exp: ExpoConfig,\n options: Omit<ExpoMetroOptions, 'baseUrl' | 'routerRoot' | 'asyncRoutes'>\n): Partial<ExpoMetroBundleOptions> {\n return getMetroDirectBundleOptions({\n ...options,\n baseUrl: getBaseUrlFromExpoConfig(exp),\n routerRoot: getRouterDirectoryModuleIdWithManifest(projectRoot, exp),\n asyncRoutes: getAsyncRoutesFromExpoConfig(exp, options.mode, options.platform),\n });\n}\n\nexport function getMetroDirectBundleOptions(\n options: ExpoMetroOptions\n): Partial<ExpoMetroBundleOptions> {\n const {\n mainModuleName,\n platform,\n mode,\n minify,\n environment,\n serializerOutput,\n serializerIncludeMaps,\n bytecode,\n lazy,\n engine,\n preserveEnvVars,\n asyncRoutes,\n baseUrl,\n routerRoot,\n isExporting,\n inlineSourceMap,\n } = withDefaults(options);\n\n const dev = mode !== 'production';\n const isHermes = engine === 'hermes';\n\n if (isExporting) {\n debug('Disabling lazy bundling for export build');\n options.lazy = false;\n }\n\n let fakeSourceUrl: string | undefined;\n let fakeSourceMapUrl: string | undefined;\n\n // TODO: Upstream support to Metro for passing custom serializer options.\n if (serializerIncludeMaps != null || serializerOutput != null) {\n fakeSourceUrl = new URL(\n createBundleUrlPath(options).replace(/^\\//, ''),\n 'http://localhost:8081'\n ).toString();\n if (serializerIncludeMaps) {\n fakeSourceMapUrl = fakeSourceUrl.replace('.bundle?', '.map?');\n }\n }\n\n const bundleOptions: Partial<ExpoMetroBundleOptions> = {\n platform,\n entryFile: mainModuleName,\n dev,\n minify: minify ?? !dev,\n inlineSourceMap: inlineSourceMap ?? false,\n lazy,\n unstable_transformProfile: isHermes ? 'hermes-stable' : 'default',\n customTransformOptions: {\n __proto__: null,\n engine,\n preserveEnvVars,\n asyncRoutes,\n environment,\n baseUrl,\n routerRoot,\n bytecode,\n },\n customResolverOptions: {\n __proto__: null,\n environment,\n },\n sourceMapUrl: fakeSourceMapUrl,\n sourceUrl: fakeSourceUrl,\n serializerOptions: {\n output: serializerOutput,\n includeSourceMaps: serializerIncludeMaps,\n },\n };\n\n return bundleOptions;\n}\n\nexport function createBundleUrlPathFromExpoConfig(\n projectRoot: string,\n exp: ExpoConfig,\n options: Omit<ExpoMetroOptions, 'baseUrl' | 'routerRoot'>\n): string {\n return createBundleUrlPath({\n ...options,\n baseUrl: getBaseUrlFromExpoConfig(exp),\n routerRoot: getRouterDirectoryModuleIdWithManifest(projectRoot, exp),\n });\n}\n\nexport function createBundleUrlPath(options: ExpoMetroOptions): string {\n const {\n platform,\n mainModuleName,\n mode,\n minify,\n environment,\n serializerOutput,\n serializerIncludeMaps,\n lazy,\n bytecode,\n engine,\n preserveEnvVars,\n asyncRoutes,\n baseUrl,\n routerRoot,\n inlineSourceMap,\n isExporting,\n } = withDefaults(options);\n\n const dev = String(mode !== 'production');\n const queryParams = new URLSearchParams({\n platform: encodeURIComponent(platform),\n dev,\n // TODO: Is this still needed?\n hot: String(false),\n });\n\n // Lazy bundling must be disabled for bundle splitting to work.\n if (!isExporting && lazy) {\n queryParams.append('lazy', String(lazy));\n }\n\n if (inlineSourceMap) {\n queryParams.append('inlineSourceMap', String(inlineSourceMap));\n }\n\n if (minify) {\n queryParams.append('minify', String(minify));\n }\n\n // We split bytecode from the engine since you could technically use Hermes without bytecode.\n // Hermes indicates the type of language features you want to transform out of the JS, whereas bytecode\n // indicates whether you want to use the Hermes bytecode format.\n if (engine) {\n queryParams.append('transform.engine', engine);\n }\n if (bytecode) {\n queryParams.append('transform.bytecode', String(bytecode));\n }\n\n if (asyncRoutes) {\n queryParams.append('transform.asyncRoutes', String(asyncRoutes));\n }\n if (preserveEnvVars) {\n queryParams.append('transform.preserveEnvVars', String(preserveEnvVars));\n }\n if (baseUrl) {\n queryParams.append('transform.baseUrl', baseUrl);\n }\n if (routerRoot != null) {\n queryParams.append('transform.routerRoot', routerRoot);\n }\n\n if (environment) {\n queryParams.append('resolver.environment', environment);\n queryParams.append('transform.environment', environment);\n }\n\n if (serializerOutput) {\n queryParams.append('serializer.output', serializerOutput);\n }\n if (serializerIncludeMaps) {\n queryParams.append('serializer.map', String(serializerIncludeMaps));\n }\n\n return `/${encodeURI(mainModuleName)}.bundle?${queryParams.toString()}`;\n}\n"],"names":["shouldEnableAsyncImports","isServerEnvironment","getBaseUrlFromExpoConfig","getAsyncRoutesFromExpoConfig","getMetroDirectBundleOptionsForExpoConfig","getMetroDirectBundleOptions","createBundleUrlPathFromExpoConfig","createBundleUrlPath","debug","require","projectRoot","env","EXPO_NO_METRO_LAZY","resolveFrom","silent","environment","withDefaults","mode","minify","preserveEnvVars","EXPO_NO_CLIENT_ENV_VARS","lazy","props","bytecode","platform","CommandError","engine","isExporting","exp","experiments","baseUrl","trim","replace","asyncRoutesSetting","extra","router","asyncRoutes","includes","default","options","routerRoot","getRouterDirectoryModuleIdWithManifest","mainModuleName","serializerOutput","serializerIncludeMaps","inlineSourceMap","dev","isHermes","fakeSourceUrl","fakeSourceMapUrl","URL","toString","bundleOptions","entryFile","unstable_transformProfile","customTransformOptions","__proto__","customResolverOptions","sourceMapUrl","sourceUrl","serializerOptions","output","includeSourceMaps","String","queryParams","URLSearchParams","encodeURIComponent","hot","append","encodeURI"],"mappings":"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"}
|
|
@@ -2,15 +2,22 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", {
|
|
3
3
|
value: true
|
|
4
4
|
});
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
function _export(target, all) {
|
|
6
|
+
for(var name in all)Object.defineProperty(target, name, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: all[name]
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
_export(exports, {
|
|
12
|
+
prependMiddleware: ()=>prependMiddleware,
|
|
13
|
+
replaceMiddlewareWith: ()=>replaceMiddlewareWith
|
|
14
|
+
});
|
|
7
15
|
function prependMiddleware(app, middleware) {
|
|
8
16
|
app.use(middleware);
|
|
9
17
|
app.stack.unshift(app.stack.pop());
|
|
10
18
|
}
|
|
11
19
|
function replaceMiddlewareWith(app, sourceMiddleware, targetMiddleware) {
|
|
12
|
-
const item = app.stack.find((middleware)=>middleware.handle === sourceMiddleware
|
|
13
|
-
);
|
|
20
|
+
const item = app.stack.find((middleware)=>middleware.handle === sourceMiddleware);
|
|
14
21
|
if (item) {
|
|
15
22
|
item.handle = targetMiddleware;
|
|
16
23
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/start/server/middleware/mutations.ts"],"sourcesContent":["import type { Server as ConnectServer, HandleFunction } from 'connect';\n\n/**\n * Prepends a `middleware` to current server middleware stack.\n *\n * @param app connect app server instance\n * @param middleware target middleware to be prepended\n */\nexport function prependMiddleware(app: ConnectServer, middleware: HandleFunction) {\n app.use(middleware);\n app.stack.unshift(app.stack.pop()!);\n}\n\n/**\n * Replaces source middleware with a new middlware in connect app\n *\n * @param app connect app server instance\n * @param sourceMiddleware source middlware to be matched and replaces\n * @param targetMiddleware new middlware\n */\nexport function replaceMiddlewareWith(\n app: ConnectServer,\n sourceMiddleware: HandleFunction,\n targetMiddleware: HandleFunction\n) {\n const item = app.stack.find((middleware) => middleware.handle === sourceMiddleware);\n if (item) {\n item.handle = targetMiddleware;\n }\n}\n"],"names":["prependMiddleware","replaceMiddlewareWith","app","middleware","use","stack","unshift","pop","sourceMiddleware","targetMiddleware","item","find","handle"],"mappings":"AAAA
|
|
1
|
+
{"version":3,"sources":["../../../../../src/start/server/middleware/mutations.ts"],"sourcesContent":["import type { Server as ConnectServer, HandleFunction } from 'connect';\n\n/**\n * Prepends a `middleware` to current server middleware stack.\n *\n * @param app connect app server instance\n * @param middleware target middleware to be prepended\n */\nexport function prependMiddleware(app: ConnectServer, middleware: HandleFunction) {\n app.use(middleware);\n app.stack.unshift(app.stack.pop()!);\n}\n\n/**\n * Replaces source middleware with a new middlware in connect app\n *\n * @param app connect app server instance\n * @param sourceMiddleware source middlware to be matched and replaces\n * @param targetMiddleware new middlware\n */\nexport function replaceMiddlewareWith(\n app: ConnectServer,\n sourceMiddleware: HandleFunction,\n targetMiddleware: HandleFunction\n) {\n const item = app.stack.find((middleware) => middleware.handle === sourceMiddleware);\n if (item) {\n item.handle = targetMiddleware;\n }\n}\n"],"names":["prependMiddleware","replaceMiddlewareWith","app","middleware","use","stack","unshift","pop","sourceMiddleware","targetMiddleware","item","find","handle"],"mappings":"AAAA;;;;;;;;;;;IAQgBA,iBAAiB,MAAjBA,iBAAiB;IAYjBC,qBAAqB,MAArBA,qBAAqB;;AAZ9B,SAASD,iBAAiB,CAACE,GAAkB,EAAEC,UAA0B,EAAE;IAChFD,GAAG,CAACE,GAAG,CAACD,UAAU,CAAC,CAAC;IACpBD,GAAG,CAACG,KAAK,CAACC,OAAO,CAACJ,GAAG,CAACG,KAAK,CAACE,GAAG,EAAE,CAAE,CAAC;AACtC,CAAC;AASM,SAASN,qBAAqB,CACnCC,GAAkB,EAClBM,gBAAgC,EAChCC,gBAAgC,EAChC;IACA,MAAMC,IAAI,GAAGR,GAAG,CAACG,KAAK,CAACM,IAAI,CAAC,CAACR,UAAU,GAAKA,UAAU,CAACS,MAAM,KAAKJ,gBAAgB,CAAC,AAAC;IACpF,IAAIE,IAAI,EAAE;QACRA,IAAI,CAACE,MAAM,GAAGH,gBAAgB,CAAC;IACjC,CAAC;AACH,CAAC"}
|
|
@@ -2,61 +2,99 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", {
|
|
3
3
|
value: true
|
|
4
4
|
});
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
5
|
+
function _export(target, all) {
|
|
6
|
+
for(var name in all)Object.defineProperty(target, name, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: all[name]
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
_export(exports, {
|
|
12
|
+
resolveGoogleServicesFile: ()=>resolveGoogleServicesFile,
|
|
13
|
+
getAssetFieldPathsForManifestAsync: ()=>getAssetFieldPathsForManifestAsync,
|
|
14
|
+
resolveManifestAssets: ()=>resolveManifestAssets
|
|
15
|
+
});
|
|
16
|
+
function _promises() {
|
|
17
|
+
const data = /*#__PURE__*/ _interopRequireDefault(require("fs/promises"));
|
|
18
|
+
_promises = function() {
|
|
19
|
+
return data;
|
|
20
|
+
};
|
|
21
|
+
return data;
|
|
22
|
+
}
|
|
23
|
+
function _path() {
|
|
24
|
+
const data = /*#__PURE__*/ _interopRequireDefault(require("path"));
|
|
25
|
+
_path = function() {
|
|
26
|
+
return data;
|
|
27
|
+
};
|
|
28
|
+
return data;
|
|
29
|
+
}
|
|
30
|
+
const _getExpoSchema = require("../../../api/getExpoSchema");
|
|
31
|
+
const _log = /*#__PURE__*/ _interopRequireWildcard(require("../../../log"));
|
|
32
|
+
const _dir = require("../../../utils/dir");
|
|
33
|
+
const _errors = require("../../../utils/errors");
|
|
34
|
+
const _obj = require("../../../utils/obj");
|
|
35
|
+
const _url = require("../../../utils/url");
|
|
16
36
|
function _interopRequireDefault(obj) {
|
|
17
37
|
return obj && obj.__esModule ? obj : {
|
|
18
38
|
default: obj
|
|
19
39
|
};
|
|
20
40
|
}
|
|
21
|
-
function
|
|
22
|
-
if (
|
|
41
|
+
function _getRequireWildcardCache(nodeInterop) {
|
|
42
|
+
if (typeof WeakMap !== "function") return null;
|
|
43
|
+
var cacheBabelInterop = new WeakMap();
|
|
44
|
+
var cacheNodeInterop = new WeakMap();
|
|
45
|
+
return (_getRequireWildcardCache = function(nodeInterop) {
|
|
46
|
+
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
|
47
|
+
})(nodeInterop);
|
|
48
|
+
}
|
|
49
|
+
function _interopRequireWildcard(obj, nodeInterop) {
|
|
50
|
+
if (!nodeInterop && obj && obj.__esModule) {
|
|
23
51
|
return obj;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
52
|
+
}
|
|
53
|
+
if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
|
|
54
|
+
return {
|
|
55
|
+
default: obj
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
var cache = _getRequireWildcardCache(nodeInterop);
|
|
59
|
+
if (cache && cache.has(obj)) {
|
|
60
|
+
return cache.get(obj);
|
|
61
|
+
}
|
|
62
|
+
var newObj = {};
|
|
63
|
+
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
64
|
+
for(var key in obj){
|
|
65
|
+
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
66
|
+
var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
|
|
67
|
+
if (desc && (desc.get || desc.set)) {
|
|
68
|
+
Object.defineProperty(newObj, key, desc);
|
|
69
|
+
} else {
|
|
70
|
+
newObj[key] = obj[key];
|
|
36
71
|
}
|
|
37
72
|
}
|
|
38
|
-
newObj.default = obj;
|
|
39
|
-
return newObj;
|
|
40
73
|
}
|
|
74
|
+
newObj.default = obj;
|
|
75
|
+
if (cache) {
|
|
76
|
+
cache.set(obj, newObj);
|
|
77
|
+
}
|
|
78
|
+
return newObj;
|
|
41
79
|
}
|
|
42
80
|
async function resolveGoogleServicesFile(projectRoot, manifest) {
|
|
43
81
|
var ref, ref1;
|
|
44
82
|
if ((ref = manifest.android) == null ? void 0 : ref.googleServicesFile) {
|
|
45
83
|
try {
|
|
46
|
-
const contents = await _promises.default.readFile(_path.default.resolve(projectRoot, manifest.android.googleServicesFile), "utf8");
|
|
84
|
+
const contents = await _promises().default.readFile(_path().default.resolve(projectRoot, manifest.android.googleServicesFile), "utf8");
|
|
47
85
|
manifest.android.googleServicesFile = contents;
|
|
48
86
|
} catch {
|
|
49
|
-
|
|
87
|
+
_log.warn(`Could not parse Expo config: android.googleServicesFile: "${manifest.android.googleServicesFile}"`);
|
|
50
88
|
// Delete the field so Expo Go doesn't attempt to read it.
|
|
51
89
|
delete manifest.android.googleServicesFile;
|
|
52
90
|
}
|
|
53
91
|
}
|
|
54
92
|
if ((ref1 = manifest.ios) == null ? void 0 : ref1.googleServicesFile) {
|
|
55
93
|
try {
|
|
56
|
-
const
|
|
57
|
-
manifest.ios.googleServicesFile =
|
|
94
|
+
const contents1 = await _promises().default.readFile(_path().default.resolve(projectRoot, manifest.ios.googleServicesFile), "base64");
|
|
95
|
+
manifest.ios.googleServicesFile = contents1;
|
|
58
96
|
} catch {
|
|
59
|
-
|
|
97
|
+
_log.warn(`Could not parse Expo config: ios.googleServicesFile: "${manifest.ios.googleServicesFile}"`);
|
|
60
98
|
// Delete the field so Expo Go doesn't attempt to read it.
|
|
61
99
|
delete manifest.ios.googleServicesFile;
|
|
62
100
|
}
|
|
@@ -65,9 +103,8 @@ async function resolveGoogleServicesFile(projectRoot, manifest) {
|
|
|
65
103
|
}
|
|
66
104
|
async function getAssetFieldPathsForManifestAsync(manifest) {
|
|
67
105
|
// String array like ["icon", "notification.icon", "loading.icon", "loading.backgroundImage", "ios.icon", ...]
|
|
68
|
-
const sdkAssetFieldPaths = await (0, _getExpoSchema
|
|
69
|
-
return sdkAssetFieldPaths.filter((assetSchema)=>(0, _obj
|
|
70
|
-
);
|
|
106
|
+
const sdkAssetFieldPaths = await (0, _getExpoSchema.getAssetSchemasAsync)(manifest.sdkVersion);
|
|
107
|
+
return sdkAssetFieldPaths.filter((assetSchema)=>(0, _obj.get)(manifest, assetSchema));
|
|
71
108
|
}
|
|
72
109
|
async function resolveManifestAssets(projectRoot, { manifest , resolver , strict }) {
|
|
73
110
|
try {
|
|
@@ -75,15 +112,15 @@ async function resolveManifestAssets(projectRoot, { manifest , resolver , strict
|
|
|
75
112
|
const assetSchemas = await getAssetFieldPathsForManifestAsync(manifest);
|
|
76
113
|
// Get the URLs
|
|
77
114
|
const urls = await Promise.all(assetSchemas.map(async (manifestField)=>{
|
|
78
|
-
const pathOrURL = (0, _obj
|
|
115
|
+
const pathOrURL = (0, _obj.get)(manifest, manifestField);
|
|
79
116
|
// URL
|
|
80
|
-
if ((0, _url
|
|
117
|
+
if ((0, _url.validateUrl)(pathOrURL, {
|
|
81
118
|
requireProtocol: true
|
|
82
119
|
})) {
|
|
83
120
|
return pathOrURL;
|
|
84
121
|
}
|
|
85
122
|
// File path
|
|
86
|
-
if (await (0, _dir
|
|
123
|
+
if (await (0, _dir.fileExistsAsync)(_path().default.resolve(projectRoot, pathOrURL))) {
|
|
87
124
|
return await resolver(pathOrURL);
|
|
88
125
|
}
|
|
89
126
|
// Unknown
|
|
@@ -93,13 +130,12 @@ async function resolveManifestAssets(projectRoot, { manifest , resolver , strict
|
|
|
93
130
|
throw err;
|
|
94
131
|
}));
|
|
95
132
|
// Set the corresponding URL fields
|
|
96
|
-
assetSchemas.forEach((manifestField, index)=>(0, _obj
|
|
97
|
-
);
|
|
133
|
+
assetSchemas.forEach((manifestField, index)=>(0, _obj.set)(manifest, `${manifestField}Url`, urls[index]));
|
|
98
134
|
} catch (error) {
|
|
99
135
|
if (error.localAssetPath) {
|
|
100
|
-
|
|
136
|
+
_log.warn(`Unable to resolve asset "${error.localAssetPath}" from "${error.manifestField}" in your app.json or app.config.js`);
|
|
101
137
|
} else {
|
|
102
|
-
|
|
138
|
+
_log.warn(`Warning: Unable to resolve manifest assets. Icons and fonts might not work. ${error.message}.`);
|
|
103
139
|
}
|
|
104
140
|
if (strict) {
|
|
105
141
|
throw new _errors.CommandError("MANIFEST_ASSET", "Failed to export manifest assets: " + error.message);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/start/server/middleware/resolveAssets.ts"],"sourcesContent":["import { ExpoConfig } from '@expo/config';\nimport fs from 'fs/promises';\nimport path from 'path';\n\nimport { getAssetSchemasAsync } from '../../../api/getExpoSchema';\nimport { BundleAssetWithFileHashes } from '../../../export/fork-bundleAsync';\nimport * as Log from '../../../log';\nimport { fileExistsAsync } from '../../../utils/dir';\nimport { CommandError } from '../../../utils/errors';\nimport { get, set } from '../../../utils/obj';\nimport { validateUrl } from '../../../utils/url';\n\ntype ManifestAsset = { fileHashes: string[]; files: string[]; hash: string };\n\nexport type Asset = ManifestAsset | BundleAssetWithFileHashes;\n\ntype ManifestResolutionError = Error & {\n localAssetPath?: string;\n manifestField?: string;\n};\n\n/** Inline the contents of each platform's `googleServicesFile` so runtimes can access them. */\nexport async function resolveGoogleServicesFile(\n projectRoot: string,\n manifest: Partial<Pick<ExpoConfig, 'android' | 'ios'>>\n) {\n if (manifest.android?.googleServicesFile) {\n try {\n const contents = await fs.readFile(\n path.resolve(projectRoot, manifest.android.googleServicesFile),\n 'utf8'\n );\n manifest.android.googleServicesFile = contents;\n } catch {\n Log.warn(\n `Could not parse Expo config: android.googleServicesFile: \"${manifest.android.googleServicesFile}\"`\n );\n // Delete the field so Expo Go doesn't attempt to read it.\n delete manifest.android.googleServicesFile;\n }\n }\n if (manifest.ios?.googleServicesFile) {\n try {\n const contents = await fs.readFile(\n path.resolve(projectRoot, manifest.ios.googleServicesFile),\n 'base64'\n );\n manifest.ios.googleServicesFile = contents;\n } catch {\n Log.warn(\n `Could not parse Expo config: ios.googleServicesFile: \"${manifest.ios.googleServicesFile}\"`\n );\n // Delete the field so Expo Go doesn't attempt to read it.\n delete manifest.ios.googleServicesFile;\n }\n }\n return manifest;\n}\n\n/**\n * Get all fields in the manifest that match assets, then filter the ones that aren't set.\n *\n * @param manifest\n * @returns Asset fields that the user has set like [\"icon\", \"splash.image\", ...]\n */\nexport async function getAssetFieldPathsForManifestAsync(manifest: ExpoConfig): Promise<string[]> {\n // String array like [\"icon\", \"notification.icon\", \"loading.icon\", \"loading.backgroundImage\", \"ios.icon\", ...]\n const sdkAssetFieldPaths = await getAssetSchemasAsync(manifest.sdkVersion);\n return sdkAssetFieldPaths.filter((assetSchema) => get(manifest, assetSchema));\n}\n\n/** Resolve all assets in the app.json inline. */\nexport async function resolveManifestAssets(\n projectRoot: string,\n {\n manifest,\n resolver,\n strict,\n }: {\n manifest: ExpoConfig;\n resolver: (assetPath: string) => Promise<string>;\n strict?: boolean;\n }\n) {\n try {\n // Asset fields that the user has set like [\"icon\", \"splash.image\"]\n const assetSchemas = await getAssetFieldPathsForManifestAsync(manifest);\n // Get the URLs\n const urls = await Promise.all(\n assetSchemas.map(async (manifestField) => {\n const pathOrURL = get(manifest, manifestField);\n // URL\n if (validateUrl(pathOrURL, { requireProtocol: true })) {\n return pathOrURL;\n }\n\n // File path\n if (await fileExistsAsync(path.resolve(projectRoot, pathOrURL))) {\n return await resolver(pathOrURL);\n }\n\n // Unknown\n const err: ManifestResolutionError = new CommandError(\n 'MANIFEST_ASSET',\n 'Could not resolve local asset: ' + pathOrURL\n );\n err.localAssetPath = pathOrURL;\n err.manifestField = manifestField;\n throw err;\n })\n );\n\n // Set the corresponding URL fields\n assetSchemas.forEach((manifestField, index: number) =>\n set(manifest, `${manifestField}Url`, urls[index])\n );\n } catch (error: any) {\n if (error.localAssetPath) {\n Log.warn(\n `Unable to resolve asset \"${error.localAssetPath}\" from \"${error.manifestField}\" in your app.json or app.config.js`\n );\n } else {\n Log.warn(\n `Warning: Unable to resolve manifest assets. Icons and fonts might not work. ${error.message}.`\n );\n }\n\n if (strict) {\n throw new CommandError(\n 'MANIFEST_ASSET',\n 'Failed to export manifest assets: ' + error.message\n );\n }\n }\n}\n"],"names":["resolveGoogleServicesFile","getAssetFieldPathsForManifestAsync","resolveManifestAssets","
|
|
1
|
+
{"version":3,"sources":["../../../../../src/start/server/middleware/resolveAssets.ts"],"sourcesContent":["import { ExpoConfig } from '@expo/config';\nimport fs from 'fs/promises';\nimport path from 'path';\n\nimport { getAssetSchemasAsync } from '../../../api/getExpoSchema';\nimport { BundleAssetWithFileHashes } from '../../../export/fork-bundleAsync';\nimport * as Log from '../../../log';\nimport { fileExistsAsync } from '../../../utils/dir';\nimport { CommandError } from '../../../utils/errors';\nimport { get, set } from '../../../utils/obj';\nimport { validateUrl } from '../../../utils/url';\n\ntype ManifestAsset = { fileHashes: string[]; files: string[]; hash: string };\n\nexport type Asset = ManifestAsset | BundleAssetWithFileHashes;\n\ntype ManifestResolutionError = Error & {\n localAssetPath?: string;\n manifestField?: string;\n};\n\n/** Inline the contents of each platform's `googleServicesFile` so runtimes can access them. */\nexport async function resolveGoogleServicesFile(\n projectRoot: string,\n manifest: Partial<Pick<ExpoConfig, 'android' | 'ios'>>\n) {\n if (manifest.android?.googleServicesFile) {\n try {\n const contents = await fs.readFile(\n path.resolve(projectRoot, manifest.android.googleServicesFile),\n 'utf8'\n );\n manifest.android.googleServicesFile = contents;\n } catch {\n Log.warn(\n `Could not parse Expo config: android.googleServicesFile: \"${manifest.android.googleServicesFile}\"`\n );\n // Delete the field so Expo Go doesn't attempt to read it.\n delete manifest.android.googleServicesFile;\n }\n }\n if (manifest.ios?.googleServicesFile) {\n try {\n const contents = await fs.readFile(\n path.resolve(projectRoot, manifest.ios.googleServicesFile),\n 'base64'\n );\n manifest.ios.googleServicesFile = contents;\n } catch {\n Log.warn(\n `Could not parse Expo config: ios.googleServicesFile: \"${manifest.ios.googleServicesFile}\"`\n );\n // Delete the field so Expo Go doesn't attempt to read it.\n delete manifest.ios.googleServicesFile;\n }\n }\n return manifest;\n}\n\n/**\n * Get all fields in the manifest that match assets, then filter the ones that aren't set.\n *\n * @param manifest\n * @returns Asset fields that the user has set like [\"icon\", \"splash.image\", ...]\n */\nexport async function getAssetFieldPathsForManifestAsync(manifest: ExpoConfig): Promise<string[]> {\n // String array like [\"icon\", \"notification.icon\", \"loading.icon\", \"loading.backgroundImage\", \"ios.icon\", ...]\n const sdkAssetFieldPaths = await getAssetSchemasAsync(manifest.sdkVersion);\n return sdkAssetFieldPaths.filter((assetSchema) => get(manifest, assetSchema));\n}\n\n/** Resolve all assets in the app.json inline. */\nexport async function resolveManifestAssets(\n projectRoot: string,\n {\n manifest,\n resolver,\n strict,\n }: {\n manifest: ExpoConfig;\n resolver: (assetPath: string) => Promise<string>;\n strict?: boolean;\n }\n) {\n try {\n // Asset fields that the user has set like [\"icon\", \"splash.image\"]\n const assetSchemas = await getAssetFieldPathsForManifestAsync(manifest);\n // Get the URLs\n const urls = await Promise.all(\n assetSchemas.map(async (manifestField) => {\n const pathOrURL = get(manifest, manifestField);\n // URL\n if (validateUrl(pathOrURL, { requireProtocol: true })) {\n return pathOrURL;\n }\n\n // File path\n if (await fileExistsAsync(path.resolve(projectRoot, pathOrURL))) {\n return await resolver(pathOrURL);\n }\n\n // Unknown\n const err: ManifestResolutionError = new CommandError(\n 'MANIFEST_ASSET',\n 'Could not resolve local asset: ' + pathOrURL\n );\n err.localAssetPath = pathOrURL;\n err.manifestField = manifestField;\n throw err;\n })\n );\n\n // Set the corresponding URL fields\n assetSchemas.forEach((manifestField, index: number) =>\n set(manifest, `${manifestField}Url`, urls[index])\n );\n } catch (error: any) {\n if (error.localAssetPath) {\n Log.warn(\n `Unable to resolve asset \"${error.localAssetPath}\" from \"${error.manifestField}\" in your app.json or app.config.js`\n );\n } else {\n Log.warn(\n `Warning: Unable to resolve manifest assets. Icons and fonts might not work. ${error.message}.`\n );\n }\n\n if (strict) {\n throw new CommandError(\n 'MANIFEST_ASSET',\n 'Failed to export manifest assets: ' + error.message\n );\n }\n }\n}\n"],"names":["resolveGoogleServicesFile","getAssetFieldPathsForManifestAsync","resolveManifestAssets","projectRoot","manifest","android","googleServicesFile","contents","fs","readFile","path","resolve","Log","warn","ios","sdkAssetFieldPaths","getAssetSchemasAsync","sdkVersion","filter","assetSchema","get","resolver","strict","assetSchemas","urls","Promise","all","map","manifestField","pathOrURL","validateUrl","requireProtocol","fileExistsAsync","err","CommandError","localAssetPath","forEach","index","set","error","message"],"mappings":"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"}
|