@expo/cli 0.0.0-canary-20231122-1af9191
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +144 -0
- package/build/bin/cli +272 -0
- package/build/bin/cli.map +1 -0
- package/build/src/api/endpoint.js +27 -0
- package/build/src/api/endpoint.js.map +1 -0
- package/build/src/api/getExpoGoIntermediateCertificate.js +19 -0
- package/build/src/api/getExpoGoIntermediateCertificate.js.map +1 -0
- package/build/src/api/getExpoSchema.js +69 -0
- package/build/src/api/getExpoSchema.js.map +1 -0
- package/build/src/api/getNativeModuleVersions.js +31 -0
- package/build/src/api/getNativeModuleVersions.js.map +1 -0
- package/build/src/api/getProjectDevelopmentCertificate.js +22 -0
- package/build/src/api/getProjectDevelopmentCertificate.js.map +1 -0
- package/build/src/api/getVersions.js +24 -0
- package/build/src/api/getVersions.js.map +1 -0
- package/build/src/api/graphql/client.js +106 -0
- package/build/src/api/graphql/client.js.map +1 -0
- package/build/src/api/graphql/queries/AppQuery.js +39 -0
- package/build/src/api/graphql/queries/AppQuery.js.map +1 -0
- package/build/src/api/graphql/queries/UserQuery.js +51 -0
- package/build/src/api/graphql/queries/UserQuery.js.map +1 -0
- package/build/src/api/graphql/types/App.js +23 -0
- package/build/src/api/graphql/types/App.js.map +1 -0
- package/build/src/api/rest/cache/FileSystemCache.js +79 -0
- package/build/src/api/rest/cache/FileSystemCache.js.map +1 -0
- package/build/src/api/rest/cache/response.js +31 -0
- package/build/src/api/rest/cache/response.js.map +1 -0
- package/build/src/api/rest/cache/wrapFetchWithCache.js +156 -0
- package/build/src/api/rest/cache/wrapFetchWithCache.js.map +1 -0
- package/build/src/api/rest/client.js +109 -0
- package/build/src/api/rest/client.js.map +1 -0
- package/build/src/api/rest/client.types.js +6 -0
- package/build/src/api/rest/client.types.js.map +1 -0
- package/build/src/api/rest/wrapFetchWithBaseUrl.js +23 -0
- package/build/src/api/rest/wrapFetchWithBaseUrl.js.map +1 -0
- package/build/src/api/rest/wrapFetchWithOffline.js +19 -0
- package/build/src/api/rest/wrapFetchWithOffline.js.map +1 -0
- package/build/src/api/rest/wrapFetchWithProgress.js +64 -0
- package/build/src/api/rest/wrapFetchWithProgress.js.map +1 -0
- package/build/src/api/rest/wrapFetchWithProxy.js +26 -0
- package/build/src/api/rest/wrapFetchWithProxy.js.map +1 -0
- package/build/src/api/settings.js +20 -0
- package/build/src/api/settings.js.map +1 -0
- package/build/src/api/updateDevelopmentSession.js +74 -0
- package/build/src/api/updateDevelopmentSession.js.map +1 -0
- package/build/src/api/user/UserSettings.js +71 -0
- package/build/src/api/user/UserSettings.js.map +1 -0
- package/build/src/api/user/actions.js +107 -0
- package/build/src/api/user/actions.js.map +1 -0
- package/build/src/api/user/expoSsoLauncher.js +127 -0
- package/build/src/api/user/expoSsoLauncher.js.map +1 -0
- package/build/src/api/user/otp.js +139 -0
- package/build/src/api/user/otp.js.map +1 -0
- package/build/src/api/user/user.js +144 -0
- package/build/src/api/user/user.js.map +1 -0
- package/build/src/config/configAsync.js +137 -0
- package/build/src/config/configAsync.js.map +1 -0
- package/build/src/config/index.js +75 -0
- package/build/src/config/index.js.map +1 -0
- package/build/src/customize/customizeAsync.js +43 -0
- package/build/src/customize/customizeAsync.js.map +1 -0
- package/build/src/customize/generate.js +104 -0
- package/build/src/customize/generate.js.map +1 -0
- package/build/src/customize/index.js +41 -0
- package/build/src/customize/index.js.map +1 -0
- package/build/src/customize/resolveOptions.js +18 -0
- package/build/src/customize/resolveOptions.js.map +1 -0
- package/build/src/customize/templates.js +126 -0
- package/build/src/customize/templates.js.map +1 -0
- package/build/src/customize/typescript.js +56 -0
- package/build/src/customize/typescript.js.map +1 -0
- package/build/src/export/createMetadataJson.js +42 -0
- package/build/src/export/createMetadataJson.js.map +1 -0
- package/build/src/export/embed/exportEmbedAsync.js +146 -0
- package/build/src/export/embed/exportEmbedAsync.js.map +1 -0
- package/build/src/export/embed/index.js +115 -0
- package/build/src/export/embed/index.js.map +1 -0
- package/build/src/export/embed/resolveOptions.js +59 -0
- package/build/src/export/embed/resolveOptions.js.map +1 -0
- package/build/src/export/embed/xcodeCompilerLogger.js +97 -0
- package/build/src/export/embed/xcodeCompilerLogger.js.map +1 -0
- package/build/src/export/exportApp.js +192 -0
- package/build/src/export/exportApp.js.map +1 -0
- package/build/src/export/exportAssets.js +176 -0
- package/build/src/export/exportAssets.js.map +1 -0
- package/build/src/export/exportAsync.js +52 -0
- package/build/src/export/exportAsync.js.map +1 -0
- package/build/src/export/exportHermes.js +124 -0
- package/build/src/export/exportHermes.js.map +1 -0
- package/build/src/export/exportStaticAsync.js +278 -0
- package/build/src/export/exportStaticAsync.js.map +1 -0
- package/build/src/export/favicon.js +89 -0
- package/build/src/export/favicon.js.map +1 -0
- package/build/src/export/fork-bundleAsync.js +215 -0
- package/build/src/export/fork-bundleAsync.js.map +1 -0
- package/build/src/export/getPublicExpoManifest.js +28 -0
- package/build/src/export/getPublicExpoManifest.js.map +1 -0
- package/build/src/export/getResolvedLocales.js +35 -0
- package/build/src/export/getResolvedLocales.js.map +1 -0
- package/build/src/export/html.js +21 -0
- package/build/src/export/html.js.map +1 -0
- package/build/src/export/index.js +91 -0
- package/build/src/export/index.js.map +1 -0
- package/build/src/export/metroAssetLocalPath.js +101 -0
- package/build/src/export/metroAssetLocalPath.js.map +1 -0
- package/build/src/export/persistMetroAssets.js +190 -0
- package/build/src/export/persistMetroAssets.js.map +1 -0
- package/build/src/export/publicFolder.js +34 -0
- package/build/src/export/publicFolder.js.map +1 -0
- package/build/src/export/resolveOptions.js +63 -0
- package/build/src/export/resolveOptions.js.map +1 -0
- package/build/src/export/saveAssets.js +189 -0
- package/build/src/export/saveAssets.js.map +1 -0
- package/build/src/export/web/exportWebAsync.js +40 -0
- package/build/src/export/web/exportWebAsync.js.map +1 -0
- package/build/src/export/web/index.js +66 -0
- package/build/src/export/web/index.js.map +1 -0
- package/build/src/export/web/resolveOptions.js +13 -0
- package/build/src/export/web/resolveOptions.js.map +1 -0
- package/build/src/export/writeContents.js +26 -0
- package/build/src/export/writeContents.js.map +1 -0
- package/build/src/graphql/generated.js +486 -0
- package/build/src/graphql/generated.js.map +1 -0
- package/build/src/install/applyPlugins.js +52 -0
- package/build/src/install/applyPlugins.js.map +1 -0
- package/build/src/install/checkPackages.js +78 -0
- package/build/src/install/checkPackages.js.map +1 -0
- package/build/src/install/fixPackages.js +84 -0
- package/build/src/install/fixPackages.js.map +1 -0
- package/build/src/install/index.js +51 -0
- package/build/src/install/index.js.map +1 -0
- package/build/src/install/installAsync.js +134 -0
- package/build/src/install/installAsync.js.map +1 -0
- package/build/src/install/installExpoPackage.js +79 -0
- package/build/src/install/installExpoPackage.js.map +1 -0
- package/build/src/install/resolveOptions.js +53 -0
- package/build/src/install/resolveOptions.js.map +1 -0
- package/build/src/install/utils/autoAddConfigPlugins.js +66 -0
- package/build/src/install/utils/autoAddConfigPlugins.js.map +1 -0
- package/build/src/log.js +74 -0
- package/build/src/log.js.map +1 -0
- package/build/src/login/index.js +67 -0
- package/build/src/login/index.js.map +1 -0
- package/build/src/logout/index.js +48 -0
- package/build/src/logout/index.js.map +1 -0
- package/build/src/prebuild/clearNativeFolder.js +143 -0
- package/build/src/prebuild/clearNativeFolder.js.map +1 -0
- package/build/src/prebuild/configureProjectAsync.js +64 -0
- package/build/src/prebuild/configureProjectAsync.js.map +1 -0
- package/build/src/prebuild/copyTemplateFiles.js +67 -0
- package/build/src/prebuild/copyTemplateFiles.js.map +1 -0
- package/build/src/prebuild/ensureConfigAsync.js +75 -0
- package/build/src/prebuild/ensureConfigAsync.js.map +1 -0
- package/build/src/prebuild/index.js +98 -0
- package/build/src/prebuild/index.js.map +1 -0
- package/build/src/prebuild/prebuildAsync.js +146 -0
- package/build/src/prebuild/prebuildAsync.js.map +1 -0
- package/build/src/prebuild/resolveOptions.js +115 -0
- package/build/src/prebuild/resolveOptions.js.map +1 -0
- package/build/src/prebuild/resolveTemplate.js +163 -0
- package/build/src/prebuild/resolveTemplate.js.map +1 -0
- package/build/src/prebuild/updateFromTemplate.js +103 -0
- package/build/src/prebuild/updateFromTemplate.js.map +1 -0
- package/build/src/prebuild/updatePackageJson.js +227 -0
- package/build/src/prebuild/updatePackageJson.js.map +1 -0
- package/build/src/prebuild/validateTemplatePlatforms.js +48 -0
- package/build/src/prebuild/validateTemplatePlatforms.js.map +1 -0
- package/build/src/register/index.js +48 -0
- package/build/src/register/index.js.map +1 -0
- package/build/src/register/registerAsync.js +34 -0
- package/build/src/register/registerAsync.js.map +1 -0
- package/build/src/run/android/index.js +97 -0
- package/build/src/run/android/index.js.map +1 -0
- package/build/src/run/android/resolveDevice.js +23 -0
- package/build/src/run/android/resolveDevice.js.map +1 -0
- package/build/src/run/android/resolveGradleProps.js +37 -0
- package/build/src/run/android/resolveGradleProps.js.map +1 -0
- package/build/src/run/android/resolveInstallApkName.js +51 -0
- package/build/src/run/android/resolveInstallApkName.js.map +1 -0
- package/build/src/run/android/resolveLaunchProps.js +32 -0
- package/build/src/run/android/resolveLaunchProps.js.map +1 -0
- package/build/src/run/android/resolveOptions.js +25 -0
- package/build/src/run/android/resolveOptions.js.map +1 -0
- package/build/src/run/android/runAndroidAsync.js +83 -0
- package/build/src/run/android/runAndroidAsync.js.map +1 -0
- package/build/src/run/ensureNativeProject.js +36 -0
- package/build/src/run/ensureNativeProject.js.map +1 -0
- package/build/src/run/hints.js +22 -0
- package/build/src/run/hints.js.map +1 -0
- package/build/src/run/ios/XcodeBuild.js +276 -0
- package/build/src/run/ios/XcodeBuild.js.map +1 -0
- package/build/src/run/ios/XcodeBuild.types.js +6 -0
- package/build/src/run/ios/XcodeBuild.types.js.map +1 -0
- package/build/src/run/ios/appleDevice/AppleDevice.js +195 -0
- package/build/src/run/ios/appleDevice/AppleDevice.js.map +1 -0
- package/build/src/run/ios/appleDevice/ClientManager.js +165 -0
- package/build/src/run/ios/appleDevice/ClientManager.js.map +1 -0
- package/build/src/run/ios/appleDevice/client/AFCClient.js +195 -0
- package/build/src/run/ios/appleDevice/client/AFCClient.js.map +1 -0
- package/build/src/run/ios/appleDevice/client/DebugserverClient.js +107 -0
- package/build/src/run/ios/appleDevice/client/DebugserverClient.js.map +1 -0
- package/build/src/run/ios/appleDevice/client/InstallationProxyClient.js +97 -0
- package/build/src/run/ios/appleDevice/client/InstallationProxyClient.js.map +1 -0
- package/build/src/run/ios/appleDevice/client/LockdowndClient.js +144 -0
- package/build/src/run/ios/appleDevice/client/LockdowndClient.js.map +1 -0
- package/build/src/run/ios/appleDevice/client/MobileImageMounterClient.js +91 -0
- package/build/src/run/ios/appleDevice/client/MobileImageMounterClient.js.map +1 -0
- package/build/src/run/ios/appleDevice/client/ServiceClient.js +21 -0
- package/build/src/run/ios/appleDevice/client/ServiceClient.js.map +1 -0
- package/build/src/run/ios/appleDevice/client/UsbmuxdClient.js +117 -0
- package/build/src/run/ios/appleDevice/client/UsbmuxdClient.js.map +1 -0
- package/build/src/run/ios/appleDevice/installOnDeviceAsync.js +90 -0
- package/build/src/run/ios/appleDevice/installOnDeviceAsync.js.map +1 -0
- package/build/src/run/ios/appleDevice/protocol/AFCProtocol.js +332 -0
- package/build/src/run/ios/appleDevice/protocol/AFCProtocol.js.map +1 -0
- package/build/src/run/ios/appleDevice/protocol/AbstractProtocol.js +133 -0
- package/build/src/run/ios/appleDevice/protocol/AbstractProtocol.js.map +1 -0
- package/build/src/run/ios/appleDevice/protocol/GDBProtocol.js +126 -0
- package/build/src/run/ios/appleDevice/protocol/GDBProtocol.js.map +1 -0
- package/build/src/run/ios/appleDevice/protocol/LockdownProtocol.js +74 -0
- package/build/src/run/ios/appleDevice/protocol/LockdownProtocol.js.map +1 -0
- package/build/src/run/ios/appleDevice/protocol/UsbmuxProtocol.js +65 -0
- package/build/src/run/ios/appleDevice/protocol/UsbmuxProtocol.js.map +1 -0
- package/build/src/run/ios/codeSigning/Security.js +85 -0
- package/build/src/run/ios/codeSigning/Security.js.map +1 -0
- package/build/src/run/ios/codeSigning/configureCodeSigning.js +77 -0
- package/build/src/run/ios/codeSigning/configureCodeSigning.js.map +1 -0
- package/build/src/run/ios/codeSigning/resolveCertificateSigningIdentity.js +102 -0
- package/build/src/run/ios/codeSigning/resolveCertificateSigningIdentity.js.map +1 -0
- package/build/src/run/ios/codeSigning/settings.js +21 -0
- package/build/src/run/ios/codeSigning/settings.js.map +1 -0
- package/build/src/run/ios/codeSigning/simulatorCodeSigning.js +45 -0
- package/build/src/run/ios/codeSigning/simulatorCodeSigning.js.map +1 -0
- package/build/src/run/ios/codeSigning/xcodeCodeSigning.js +79 -0
- package/build/src/run/ios/codeSigning/xcodeCodeSigning.js.map +1 -0
- package/build/src/run/ios/index.js +98 -0
- package/build/src/run/ios/index.js.map +1 -0
- package/build/src/run/ios/launchApp.js +75 -0
- package/build/src/run/ios/launchApp.js.map +1 -0
- package/build/src/run/ios/options/promptDevice.js +50 -0
- package/build/src/run/ios/options/promptDevice.js.map +1 -0
- package/build/src/run/ios/options/resolveDevice.js +92 -0
- package/build/src/run/ios/options/resolveDevice.js.map +1 -0
- package/build/src/run/ios/options/resolveNativeScheme.js +101 -0
- package/build/src/run/ios/options/resolveNativeScheme.js.map +1 -0
- package/build/src/run/ios/options/resolveOptions.js +44 -0
- package/build/src/run/ios/options/resolveOptions.js.map +1 -0
- package/build/src/run/ios/options/resolveXcodeProject.js +39 -0
- package/build/src/run/ios/options/resolveXcodeProject.js.map +1 -0
- package/build/src/run/ios/runIosAsync.js +93 -0
- package/build/src/run/ios/runIosAsync.js.map +1 -0
- package/build/src/run/resolveBundlerProps.js +34 -0
- package/build/src/run/resolveBundlerProps.js.map +1 -0
- package/build/src/run/startBundler.js +82 -0
- package/build/src/run/startBundler.js.map +1 -0
- package/build/src/start/doctor/Prerequisite.js +47 -0
- package/build/src/start/doctor/Prerequisite.js.map +1 -0
- package/build/src/start/doctor/SecurityBinPrerequisite.js +27 -0
- package/build/src/start/doctor/SecurityBinPrerequisite.js.map +1 -0
- package/build/src/start/doctor/apple/SimulatorAppPrerequisite.js +70 -0
- package/build/src/start/doctor/apple/SimulatorAppPrerequisite.js.map +1 -0
- package/build/src/start/doctor/apple/XcodeDeveloperDiskImagePrerequisite.js +69 -0
- package/build/src/start/doctor/apple/XcodeDeveloperDiskImagePrerequisite.js.map +1 -0
- package/build/src/start/doctor/apple/XcodePrerequisite.js +158 -0
- package/build/src/start/doctor/apple/XcodePrerequisite.js.map +1 -0
- package/build/src/start/doctor/apple/XcrunPrerequisite.js +65 -0
- package/build/src/start/doctor/apple/XcrunPrerequisite.js.map +1 -0
- package/build/src/start/doctor/dependencies/bundledNativeModules.js +69 -0
- package/build/src/start/doctor/dependencies/bundledNativeModules.js.map +1 -0
- package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js +131 -0
- package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js.map +1 -0
- package/build/src/start/doctor/dependencies/getMissingPackages.js +74 -0
- package/build/src/start/doctor/dependencies/getMissingPackages.js.map +1 -0
- package/build/src/start/doctor/dependencies/getVersionedPackages.js +136 -0
- package/build/src/start/doctor/dependencies/getVersionedPackages.js.map +1 -0
- package/build/src/start/doctor/dependencies/validateDependenciesVersions.js +195 -0
- package/build/src/start/doctor/dependencies/validateDependenciesVersions.js.map +1 -0
- package/build/src/start/doctor/ngrok/ExternalModule.js +169 -0
- package/build/src/start/doctor/ngrok/ExternalModule.js.map +1 -0
- package/build/src/start/doctor/ngrok/NgrokResolver.js +22 -0
- package/build/src/start/doctor/ngrok/NgrokResolver.js.map +1 -0
- package/build/src/start/doctor/typescript/TypeScriptProjectPrerequisite.js +165 -0
- package/build/src/start/doctor/typescript/TypeScriptProjectPrerequisite.js.map +1 -0
- package/build/src/start/doctor/typescript/updateTSConfig.js +99 -0
- package/build/src/start/doctor/typescript/updateTSConfig.js.map +1 -0
- package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js +111 -0
- package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js.map +1 -0
- package/build/src/start/index.js +123 -0
- package/build/src/start/index.js.map +1 -0
- package/build/src/start/interface/KeyPressHandler.js +101 -0
- package/build/src/start/interface/KeyPressHandler.js.map +1 -0
- package/build/src/start/interface/commandsTable.js +195 -0
- package/build/src/start/interface/commandsTable.js.map +1 -0
- package/build/src/start/interface/interactiveActions.js +194 -0
- package/build/src/start/interface/interactiveActions.js.map +1 -0
- package/build/src/start/interface/startInterface.js +227 -0
- package/build/src/start/interface/startInterface.js.map +1 -0
- package/build/src/start/platforms/AppIdResolver.js +44 -0
- package/build/src/start/platforms/AppIdResolver.js.map +1 -0
- package/build/src/start/platforms/DeviceManager.js +43 -0
- package/build/src/start/platforms/DeviceManager.js.map +1 -0
- package/build/src/start/platforms/ExpoGoInstaller.js +127 -0
- package/build/src/start/platforms/ExpoGoInstaller.js.map +1 -0
- package/build/src/start/platforms/PlatformManager.js +131 -0
- package/build/src/start/platforms/PlatformManager.js.map +1 -0
- package/build/src/start/platforms/android/ADBServer.js +114 -0
- package/build/src/start/platforms/android/ADBServer.js.map +1 -0
- package/build/src/start/platforms/android/AndroidAppIdResolver.js +44 -0
- package/build/src/start/platforms/android/AndroidAppIdResolver.js.map +1 -0
- package/build/src/start/platforms/android/AndroidDeviceManager.js +183 -0
- package/build/src/start/platforms/android/AndroidDeviceManager.js.map +1 -0
- package/build/src/start/platforms/android/AndroidPlatformManager.js +35 -0
- package/build/src/start/platforms/android/AndroidPlatformManager.js.map +1 -0
- package/build/src/start/platforms/android/AndroidSdk.js +41 -0
- package/build/src/start/platforms/android/AndroidSdk.js.map +1 -0
- package/build/src/start/platforms/android/activateWindow.js +80 -0
- package/build/src/start/platforms/android/activateWindow.js.map +1 -0
- package/build/src/start/platforms/android/adb.js +269 -0
- package/build/src/start/platforms/android/adb.js.map +1 -0
- package/build/src/start/platforms/android/adbReverse.js +95 -0
- package/build/src/start/platforms/android/adbReverse.js.map +1 -0
- package/build/src/start/platforms/android/emulator.js +126 -0
- package/build/src/start/platforms/android/emulator.js.map +1 -0
- package/build/src/start/platforms/android/getDevices.js +36 -0
- package/build/src/start/platforms/android/getDevices.js.map +1 -0
- package/build/src/start/platforms/android/gradle.js +86 -0
- package/build/src/start/platforms/android/gradle.js.map +1 -0
- package/build/src/start/platforms/android/promptAndroidDevice.js +56 -0
- package/build/src/start/platforms/android/promptAndroidDevice.js.map +1 -0
- package/build/src/start/platforms/ios/AppleAppIdResolver.js +53 -0
- package/build/src/start/platforms/ios/AppleAppIdResolver.js.map +1 -0
- package/build/src/start/platforms/ios/AppleDeviceManager.js +216 -0
- package/build/src/start/platforms/ios/AppleDeviceManager.js.map +1 -0
- package/build/src/start/platforms/ios/ApplePlatformManager.js +31 -0
- package/build/src/start/platforms/ios/ApplePlatformManager.js.map +1 -0
- package/build/src/start/platforms/ios/assertSystemRequirements.js +16 -0
- package/build/src/start/platforms/ios/assertSystemRequirements.js.map +1 -0
- package/build/src/start/platforms/ios/ensureSimulatorAppRunning.js +85 -0
- package/build/src/start/platforms/ios/ensureSimulatorAppRunning.js.map +1 -0
- package/build/src/start/platforms/ios/getBestSimulator.js +101 -0
- package/build/src/start/platforms/ios/getBestSimulator.js.map +1 -0
- package/build/src/start/platforms/ios/promptAppleDevice.js +56 -0
- package/build/src/start/platforms/ios/promptAppleDevice.js.map +1 -0
- package/build/src/start/platforms/ios/simctl.js +243 -0
- package/build/src/start/platforms/ios/simctl.js.map +1 -0
- package/build/src/start/platforms/ios/simctlLogging.js +220 -0
- package/build/src/start/platforms/ios/simctlLogging.js.map +1 -0
- package/build/src/start/platforms/ios/xcrun.js +46 -0
- package/build/src/start/platforms/ios/xcrun.js.map +1 -0
- package/build/src/start/project/devices.js +79 -0
- package/build/src/start/project/devices.js.map +1 -0
- package/build/src/start/project/dotExpo.js +74 -0
- package/build/src/start/project/dotExpo.js.map +1 -0
- package/build/src/start/project/settings.js +13 -0
- package/build/src/start/project/settings.js.map +1 -0
- package/build/src/start/resolveOptions.js +135 -0
- package/build/src/start/resolveOptions.js.map +1 -0
- package/build/src/start/server/AsyncNgrok.js +220 -0
- package/build/src/start/server/AsyncNgrok.js.map +1 -0
- package/build/src/start/server/BundlerDevServer.js +356 -0
- package/build/src/start/server/BundlerDevServer.js.map +1 -0
- package/build/src/start/server/DevServerManager.js +214 -0
- package/build/src/start/server/DevServerManager.js.map +1 -0
- package/build/src/start/server/DevToolsPluginManager.js +63 -0
- package/build/src/start/server/DevToolsPluginManager.js.map +1 -0
- package/build/src/start/server/DevelopmentSession.js +114 -0
- package/build/src/start/server/DevelopmentSession.js.map +1 -0
- package/build/src/start/server/ReactDevToolsProxy.js +73 -0
- package/build/src/start/server/ReactDevToolsProxy.js.map +1 -0
- package/build/src/start/server/UrlCreator.js +175 -0
- package/build/src/start/server/UrlCreator.js.map +1 -0
- package/build/src/start/server/getStaticRenderFunctions.js +164 -0
- package/build/src/start/server/getStaticRenderFunctions.js.map +1 -0
- package/build/src/start/server/metro/MetroBundlerDevServer.js +485 -0
- package/build/src/start/server/metro/MetroBundlerDevServer.js.map +1 -0
- package/build/src/start/server/metro/MetroTerminalReporter.js +165 -0
- package/build/src/start/server/metro/MetroTerminalReporter.js.map +1 -0
- package/build/src/start/server/metro/TerminalReporter.js +92 -0
- package/build/src/start/server/metro/TerminalReporter.js.map +1 -0
- package/build/src/start/server/metro/TerminalReporter.types.js +6 -0
- package/build/src/start/server/metro/TerminalReporter.types.js.map +1 -0
- package/build/src/start/server/metro/bundleApiRoutes.js +52 -0
- package/build/src/start/server/metro/bundleApiRoutes.js.map +1 -0
- package/build/src/start/server/metro/createExpoMetroResolver.js +187 -0
- package/build/src/start/server/metro/createExpoMetroResolver.js.map +1 -0
- package/build/src/start/server/metro/createJResolver.js +149 -0
- package/build/src/start/server/metro/createJResolver.js.map +1 -0
- package/build/src/start/server/metro/createServerRouteMiddleware.js +124 -0
- package/build/src/start/server/metro/createServerRouteMiddleware.js.map +1 -0
- package/build/src/start/server/metro/externals.js +94 -0
- package/build/src/start/server/metro/externals.js.map +1 -0
- package/build/src/start/server/metro/fetchRouterManifest.js +60 -0
- package/build/src/start/server/metro/fetchRouterManifest.js.map +1 -0
- package/build/src/start/server/metro/formatFileCandidates.js +72 -0
- package/build/src/start/server/metro/formatFileCandidates.js.map +1 -0
- package/build/src/start/server/metro/getCssModulesFromBundler.js +77 -0
- package/build/src/start/server/metro/getCssModulesFromBundler.js.map +1 -0
- package/build/src/start/server/metro/inspector-proxy/device.js +110 -0
- package/build/src/start/server/metro/inspector-proxy/device.js.map +1 -0
- package/build/src/start/server/metro/inspector-proxy/handlers/NetworkResponse.js +29 -0
- package/build/src/start/server/metro/inspector-proxy/handlers/NetworkResponse.js.map +1 -0
- package/build/src/start/server/metro/inspector-proxy/handlers/PageReload.js +22 -0
- package/build/src/start/server/metro/inspector-proxy/handlers/PageReload.js.map +1 -0
- package/build/src/start/server/metro/inspector-proxy/handlers/VscodeDebuggerGetPossibleBreakpoints.js +21 -0
- package/build/src/start/server/metro/inspector-proxy/handlers/VscodeDebuggerGetPossibleBreakpoints.js.map +1 -0
- package/build/src/start/server/metro/inspector-proxy/handlers/VscodeDebuggerScriptParsed.js +55 -0
- package/build/src/start/server/metro/inspector-proxy/handlers/VscodeDebuggerScriptParsed.js.map +1 -0
- package/build/src/start/server/metro/inspector-proxy/handlers/VscodeDebuggerSetBreakpointByUrl.js +17 -0
- package/build/src/start/server/metro/inspector-proxy/handlers/VscodeDebuggerSetBreakpointByUrl.js.map +1 -0
- package/build/src/start/server/metro/inspector-proxy/handlers/VscodeRuntimeCallFunctionOn.js +24 -0
- package/build/src/start/server/metro/inspector-proxy/handlers/VscodeRuntimeCallFunctionOn.js.map +1 -0
- package/build/src/start/server/metro/inspector-proxy/handlers/VscodeRuntimeGetProperties.js +39 -0
- package/build/src/start/server/metro/inspector-proxy/handlers/VscodeRuntimeGetProperties.js.map +1 -0
- package/build/src/start/server/metro/inspector-proxy/handlers/types.js +6 -0
- package/build/src/start/server/metro/inspector-proxy/handlers/types.js.map +1 -0
- package/build/src/start/server/metro/inspector-proxy/handlers/utils.js +11 -0
- package/build/src/start/server/metro/inspector-proxy/handlers/utils.js.map +1 -0
- package/build/src/start/server/metro/inspector-proxy/index.js +24 -0
- package/build/src/start/server/metro/inspector-proxy/index.js.map +1 -0
- package/build/src/start/server/metro/inspector-proxy/proxy.js +169 -0
- package/build/src/start/server/metro/inspector-proxy/proxy.js.map +1 -0
- package/build/src/start/server/metro/instantiateMetro.js +194 -0
- package/build/src/start/server/metro/instantiateMetro.js.map +1 -0
- package/build/src/start/server/metro/metroErrorInterface.js +198 -0
- package/build/src/start/server/metro/metroErrorInterface.js.map +1 -0
- package/build/src/start/server/metro/metroErrors.js +14 -0
- package/build/src/start/server/metro/metroErrors.js.map +1 -0
- package/build/src/start/server/metro/metroWatchTypeScriptFiles.js +51 -0
- package/build/src/start/server/metro/metroWatchTypeScriptFiles.js.map +1 -0
- package/build/src/start/server/metro/router.js +83 -0
- package/build/src/start/server/metro/router.js.map +1 -0
- package/build/src/start/server/metro/runServer-fork.js +96 -0
- package/build/src/start/server/metro/runServer-fork.js.map +1 -0
- package/build/src/start/server/metro/serializeHtml.js +43 -0
- package/build/src/start/server/metro/serializeHtml.js.map +1 -0
- package/build/src/start/server/metro/symbolicate.js +6 -0
- package/build/src/start/server/metro/symbolicate.js.map +1 -0
- package/build/src/start/server/metro/waitForMetroToObserveTypeScriptFile.js +91 -0
- package/build/src/start/server/metro/waitForMetroToObserveTypeScriptFile.js.map +1 -0
- package/build/src/start/server/metro/withMetroMultiPlatform.js +402 -0
- package/build/src/start/server/metro/withMetroMultiPlatform.js.map +1 -0
- package/build/src/start/server/metro/withMetroResolvers.js +272 -0
- package/build/src/start/server/metro/withMetroResolvers.js.map +1 -0
- package/build/src/start/server/middleware/ContextModuleSourceMapsMiddleware.js +27 -0
- package/build/src/start/server/middleware/ContextModuleSourceMapsMiddleware.js.map +1 -0
- package/build/src/start/server/middleware/CreateFileMiddleware.js +106 -0
- package/build/src/start/server/middleware/CreateFileMiddleware.js.map +1 -0
- package/build/src/start/server/middleware/DevToolsPluginMiddleware.js +61 -0
- package/build/src/start/server/middleware/DevToolsPluginMiddleware.js.map +1 -0
- package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js +236 -0
- package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js.map +1 -0
- package/build/src/start/server/middleware/ExpoMiddleware.js +83 -0
- package/build/src/start/server/middleware/ExpoMiddleware.js.map +1 -0
- package/build/src/start/server/middleware/FaviconMiddleware.js +42 -0
- package/build/src/start/server/middleware/FaviconMiddleware.js.map +1 -0
- package/build/src/start/server/middleware/HistoryFallbackMiddleware.js +24 -0
- package/build/src/start/server/middleware/HistoryFallbackMiddleware.js.map +1 -0
- package/build/src/start/server/middleware/InterstitialPageMiddleware.js +81 -0
- package/build/src/start/server/middleware/InterstitialPageMiddleware.js.map +1 -0
- package/build/src/start/server/middleware/ManifestMiddleware.js +300 -0
- package/build/src/start/server/middleware/ManifestMiddleware.js.map +1 -0
- package/build/src/start/server/middleware/ReactDevToolsPageMiddleware.js +35 -0
- package/build/src/start/server/middleware/ReactDevToolsPageMiddleware.js.map +1 -0
- package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js +75 -0
- package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js.map +1 -0
- package/build/src/start/server/middleware/ServeStaticMiddleware.js +62 -0
- package/build/src/start/server/middleware/ServeStaticMiddleware.js.map +1 -0
- package/build/src/start/server/middleware/inspector/JsInspector.js +69 -0
- package/build/src/start/server/middleware/inspector/JsInspector.js.map +1 -0
- package/build/src/start/server/middleware/inspector/LaunchBrowser.js +61 -0
- package/build/src/start/server/middleware/inspector/LaunchBrowser.js.map +1 -0
- package/build/src/start/server/middleware/inspector/LaunchBrowser.types.js +13 -0
- package/build/src/start/server/middleware/inspector/LaunchBrowser.types.js.map +1 -0
- package/build/src/start/server/middleware/inspector/LaunchBrowserImplLinux.js +82 -0
- package/build/src/start/server/middleware/inspector/LaunchBrowserImplLinux.js.map +1 -0
- package/build/src/start/server/middleware/inspector/LaunchBrowserImplMacOS.js +79 -0
- package/build/src/start/server/middleware/inspector/LaunchBrowserImplMacOS.js.map +1 -0
- package/build/src/start/server/middleware/inspector/LaunchBrowserImplWindows.js +124 -0
- package/build/src/start/server/middleware/inspector/LaunchBrowserImplWindows.js.map +1 -0
- package/build/src/start/server/middleware/inspector/createJsInspectorMiddleware.js +64 -0
- package/build/src/start/server/middleware/inspector/createJsInspectorMiddleware.js.map +1 -0
- package/build/src/start/server/middleware/inspector/middlwareMutations.js +19 -0
- package/build/src/start/server/middleware/inspector/middlwareMutations.js.map +1 -0
- package/build/src/start/server/middleware/metroOptions.js +128 -0
- package/build/src/start/server/middleware/metroOptions.js.map +1 -0
- package/build/src/start/server/middleware/mutations.js +19 -0
- package/build/src/start/server/middleware/mutations.js.map +1 -0
- package/build/src/start/server/middleware/remoteDevtoolsCorsMiddleware.js +31 -0
- package/build/src/start/server/middleware/remoteDevtoolsCorsMiddleware.js.map +1 -0
- package/build/src/start/server/middleware/remoteDevtoolsSecurityHeadersMiddleware.js +17 -0
- package/build/src/start/server/middleware/remoteDevtoolsSecurityHeadersMiddleware.js.map +1 -0
- package/build/src/start/server/middleware/resolveAssets.js +110 -0
- package/build/src/start/server/middleware/resolveAssets.js.map +1 -0
- package/build/src/start/server/middleware/resolvePlatform.js +47 -0
- package/build/src/start/server/middleware/resolvePlatform.js.map +1 -0
- package/build/src/start/server/middleware/server.types.js +6 -0
- package/build/src/start/server/middleware/server.types.js.map +1 -0
- package/build/src/start/server/middleware/suppressErrorMiddleware.js +16 -0
- package/build/src/start/server/middleware/suppressErrorMiddleware.js.map +1 -0
- package/build/src/start/server/openPlatforms.js +30 -0
- package/build/src/start/server/openPlatforms.js.map +1 -0
- package/build/src/start/server/platformBundlers.js +18 -0
- package/build/src/start/server/platformBundlers.js.map +1 -0
- package/build/src/start/server/type-generation/__typetests__/fixtures/basic.js +38 -0
- package/build/src/start/server/type-generation/__typetests__/fixtures/basic.js.map +1 -0
- package/build/src/start/server/type-generation/__typetests__/generateFixtures.js +38 -0
- package/build/src/start/server/type-generation/__typetests__/generateFixtures.js.map +1 -0
- package/build/src/start/server/type-generation/__typetests__/route.test.js +176 -0
- package/build/src/start/server/type-generation/__typetests__/route.test.js.map +1 -0
- package/build/src/start/server/type-generation/expo-env.js +27 -0
- package/build/src/start/server/type-generation/expo-env.js.map +1 -0
- package/build/src/start/server/type-generation/routes.js +474 -0
- package/build/src/start/server/type-generation/routes.js.map +1 -0
- package/build/src/start/server/type-generation/startTypescriptTypeGeneration.js +56 -0
- package/build/src/start/server/type-generation/startTypescriptTypeGeneration.js.map +1 -0
- package/build/src/start/server/type-generation/tsconfig.js +89 -0
- package/build/src/start/server/type-generation/tsconfig.js.map +1 -0
- package/build/src/start/server/webTemplate.js +84 -0
- package/build/src/start/server/webTemplate.js.map +1 -0
- package/build/src/start/server/webpack/WebpackBundlerDevServer.js +266 -0
- package/build/src/start/server/webpack/WebpackBundlerDevServer.js.map +1 -0
- package/build/src/start/server/webpack/compile.js +64 -0
- package/build/src/start/server/webpack/compile.js.map +1 -0
- package/build/src/start/server/webpack/formatWebpackMessages.js +94 -0
- package/build/src/start/server/webpack/formatWebpackMessages.js.map +1 -0
- package/build/src/start/server/webpack/resolveFromProject.js +43 -0
- package/build/src/start/server/webpack/resolveFromProject.js.map +1 -0
- package/build/src/start/server/webpack/tls.js +72 -0
- package/build/src/start/server/webpack/tls.js.map +1 -0
- package/build/src/start/startAsync.js +154 -0
- package/build/src/start/startAsync.js.map +1 -0
- package/build/src/utils/FileNotifier.js +90 -0
- package/build/src/utils/FileNotifier.js.map +1 -0
- package/build/src/utils/analytics/getDevClientProperties.js +47 -0
- package/build/src/utils/analytics/getDevClientProperties.js.map +1 -0
- package/build/src/utils/analytics/getMetroDebugProperties.js +15 -0
- package/build/src/utils/analytics/getMetroDebugProperties.js.map +1 -0
- package/build/src/utils/analytics/getMetroProperties.js +28 -0
- package/build/src/utils/analytics/getMetroProperties.js.map +1 -0
- package/build/src/utils/analytics/metroDebuggerMiddleware.js +55 -0
- package/build/src/utils/analytics/metroDebuggerMiddleware.js.map +1 -0
- package/build/src/utils/analytics/rudderstackClient.js +147 -0
- package/build/src/utils/analytics/rudderstackClient.js.map +1 -0
- package/build/src/utils/ansi.js +17 -0
- package/build/src/utils/ansi.js.map +1 -0
- package/build/src/utils/args.js +79 -0
- package/build/src/utils/args.js.map +1 -0
- package/build/src/utils/array.js +67 -0
- package/build/src/utils/array.js.map +1 -0
- package/build/src/utils/cocoapods.js +191 -0
- package/build/src/utils/cocoapods.js.map +1 -0
- package/build/src/utils/codesigning.js +311 -0
- package/build/src/utils/codesigning.js.map +1 -0
- package/build/src/utils/createFileTransform.js +89 -0
- package/build/src/utils/createFileTransform.js.map +1 -0
- package/build/src/utils/delay.js +39 -0
- package/build/src/utils/delay.js.map +1 -0
- package/build/src/utils/dir.js +63 -0
- package/build/src/utils/dir.js.map +1 -0
- package/build/src/utils/downloadAppAsync.js +73 -0
- package/build/src/utils/downloadAppAsync.js.map +1 -0
- package/build/src/utils/downloadExpoGoAsync.js +116 -0
- package/build/src/utils/downloadExpoGoAsync.js.map +1 -0
- package/build/src/utils/editor.js +69 -0
- package/build/src/utils/editor.js.map +1 -0
- package/build/src/utils/env.js +131 -0
- package/build/src/utils/env.js.map +1 -0
- package/build/src/utils/errors.js +70 -0
- package/build/src/utils/errors.js.map +1 -0
- package/build/src/utils/exit.js +69 -0
- package/build/src/utils/exit.js.map +1 -0
- package/build/src/utils/findUp.js +33 -0
- package/build/src/utils/findUp.js.map +1 -0
- package/build/src/utils/fn.js +32 -0
- package/build/src/utils/fn.js.map +1 -0
- package/build/src/utils/getOrPromptApplicationId.js +181 -0
- package/build/src/utils/getOrPromptApplicationId.js.map +1 -0
- package/build/src/utils/getRunningProcess.js +96 -0
- package/build/src/utils/getRunningProcess.js.map +1 -0
- package/build/src/utils/git.js +89 -0
- package/build/src/utils/git.js.map +1 -0
- package/build/src/utils/glob.js +65 -0
- package/build/src/utils/glob.js.map +1 -0
- package/build/src/utils/interactive.js +11 -0
- package/build/src/utils/interactive.js.map +1 -0
- package/build/src/utils/ip.js +16 -0
- package/build/src/utils/ip.js.map +1 -0
- package/build/src/utils/isModuleSymlinked.js +37 -0
- package/build/src/utils/isModuleSymlinked.js.map +1 -0
- package/build/src/utils/link.js +31 -0
- package/build/src/utils/link.js.map +1 -0
- package/build/src/utils/mergeGitIgnorePaths.js +154 -0
- package/build/src/utils/mergeGitIgnorePaths.js.map +1 -0
- package/build/src/utils/modifyConfigAsync.js +68 -0
- package/build/src/utils/modifyConfigAsync.js.map +1 -0
- package/build/src/utils/modifyConfigPlugins.js +51 -0
- package/build/src/utils/modifyConfigPlugins.js.map +1 -0
- package/build/src/utils/nodeEnv.js +11 -0
- package/build/src/utils/nodeEnv.js.map +1 -0
- package/build/src/utils/nodeModules.js +29 -0
- package/build/src/utils/nodeModules.js.map +1 -0
- package/build/src/utils/npm.js +116 -0
- package/build/src/utils/npm.js.map +1 -0
- package/build/src/utils/obj.js +45 -0
- package/build/src/utils/obj.js.map +1 -0
- package/build/src/utils/open.js +26 -0
- package/build/src/utils/open.js.map +1 -0
- package/build/src/utils/ora.js +91 -0
- package/build/src/utils/ora.js.map +1 -0
- package/build/src/utils/plist.js +59 -0
- package/build/src/utils/plist.js.map +1 -0
- package/build/src/utils/port.js +160 -0
- package/build/src/utils/port.js.map +1 -0
- package/build/src/utils/profile.js +63 -0
- package/build/src/utils/profile.js.map +1 -0
- package/build/src/utils/progress.js +61 -0
- package/build/src/utils/progress.js.map +1 -0
- package/build/src/utils/prompts.js +116 -0
- package/build/src/utils/prompts.js.map +1 -0
- package/build/src/utils/resolveArgs.js +140 -0
- package/build/src/utils/resolveArgs.js.map +1 -0
- package/build/src/utils/scheme.js +128 -0
- package/build/src/utils/scheme.js.map +1 -0
- package/build/src/utils/strings.js +24 -0
- package/build/src/utils/strings.js.map +1 -0
- package/build/src/utils/tar.js +62 -0
- package/build/src/utils/tar.js.map +1 -0
- package/build/src/utils/template.js +21 -0
- package/build/src/utils/template.js.map +1 -0
- package/build/src/utils/terminal.js +10 -0
- package/build/src/utils/terminal.js.map +1 -0
- package/build/src/utils/tsconfig/evaluateTsConfig.js +61 -0
- package/build/src/utils/tsconfig/evaluateTsConfig.js.map +1 -0
- package/build/src/utils/tsconfig/loadTsConfigPaths.js +61 -0
- package/build/src/utils/tsconfig/loadTsConfigPaths.js.map +1 -0
- package/build/src/utils/tsconfig/matchTsConfigPathAlias.js +88 -0
- package/build/src/utils/tsconfig/matchTsConfigPathAlias.js.map +1 -0
- package/build/src/utils/tsconfig/resolveWithTsConfigPaths.js +51 -0
- package/build/src/utils/tsconfig/resolveWithTsConfigPaths.js.map +1 -0
- package/build/src/utils/url.js +67 -0
- package/build/src/utils/url.js.map +1 -0
- package/build/src/utils/validateApplicationId.js +179 -0
- package/build/src/utils/validateApplicationId.js.map +1 -0
- package/build/src/utils/variadic.js +65 -0
- package/build/src/utils/variadic.js.map +1 -0
- package/build/src/whoami/index.js +47 -0
- package/build/src/whoami/index.js.map +1 -0
- package/build/src/whoami/whoamiAsync.js +44 -0
- package/build/src/whoami/whoamiAsync.js.map +1 -0
- package/package.json +163 -0
- package/static/loading-page/index.html +363 -0
- package/static/react-devtools-page/index.html +144 -0
- package/static/shims/react-native-web/dist/cjs/exports/AppRegistry/AppContainer.js +13 -0
- package/static/shims/react-native-web/dist/cjs/exports/BackHandler/index.js +10 -0
- package/static/shims/react-native-web/dist/exports/AppRegistry/AppContainer.js +12 -0
- package/static/shims/react-native-web/dist/exports/BackHandler/index.js +7 -0
- package/static/template/babel.config.js +6 -0
- package/static/template/index.html +36 -0
- package/static/template/metro.config.js +7 -0
- package/static/template/serve.json +13 -0
- package/static/template/webpack.config.js +7 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../src/start/server/metro/metroErrorInterface.ts"],"sourcesContent":["/**\n * Copyright © 2022 650 Industries.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport chalk from 'chalk';\nimport resolveFrom from 'resolve-from';\nimport { StackFrame } from 'stacktrace-parser';\nimport terminalLink from 'terminal-link';\n\nimport { Log } from '../../../log';\nimport { createMetroEndpointAsync } from '../getStaticRenderFunctions';\n// import type { CodeFrame, MetroStackFrame } from '@expo/metro-runtime/symbolicate';\n\ntype CodeFrame = {\n content: string;\n location?: {\n row: number;\n column: number;\n [key: string]: any;\n };\n fileName: string;\n};\n\ntype MetroStackFrame = StackFrame & { collapse?: boolean };\n\nfunction fill(width: number): string {\n return Array(width).join(' ');\n}\n\nfunction formatPaths(config: { filePath: string | null; line?: number; col?: number }) {\n const filePath = chalk.reset(config.filePath);\n return (\n chalk.dim('(') +\n filePath +\n chalk.dim(`:${[config.line, config.col].filter(Boolean).join(':')})`)\n );\n}\n\nexport async function logMetroErrorWithStack(\n projectRoot: string,\n {\n stack,\n codeFrame,\n error,\n }: {\n stack: MetroStackFrame[];\n codeFrame: CodeFrame;\n error: Error;\n }\n) {\n // process.stdout.write('\\u001b[0m'); // Reset attributes\n // process.stdout.write('\\u001bc'); // Reset the terminal\n\n const { getStackFormattedLocation } = require(\n resolveFrom(projectRoot, '@expo/metro-runtime/symbolicate')\n );\n\n Log.log();\n Log.log(chalk.red('Metro error: ') + error.message);\n Log.log();\n\n if (codeFrame) {\n const maxWarningLineLength = Math.max(200, process.stdout.columns);\n\n const lineText = codeFrame.content;\n const isPreviewTooLong = codeFrame.content\n .split('\\n')\n .some((line) => line.length > maxWarningLineLength);\n const column = codeFrame.location?.column;\n // When the preview is too long, we skip reading the file and attempting to apply\n // code coloring, this is because it can get very slow.\n if (isPreviewTooLong) {\n let previewLine = '';\n let cursorLine = '';\n\n const formattedPath = formatPaths({\n filePath: codeFrame.fileName,\n line: codeFrame.location?.row,\n col: codeFrame.location?.column,\n });\n // Create a curtailed preview line like:\n // `...transition:'fade'},k._updatePropsStack=function(){clearImmediate(k._updateImmediate),k._updateImmediate...`\n // If there is no text preview or column number, we can't do anything.\n if (lineText && column != null) {\n const rangeWindow = Math.round(\n Math.max(codeFrame.fileName?.length ?? 0, Math.max(80, process.stdout.columns)) / 2\n );\n let minBounds = Math.max(0, column - rangeWindow);\n const maxBounds = Math.min(minBounds + rangeWindow * 2, lineText.length);\n previewLine = lineText.slice(minBounds, maxBounds);\n\n // If we splice content off the start, then we should append `...`.\n // This is unlikely to happen since we limit the activation size.\n if (minBounds > 0) {\n // Adjust the min bounds so the cursor is aligned after we add the \"...\"\n minBounds -= 3;\n previewLine = chalk.dim('...') + previewLine;\n }\n if (maxBounds < lineText.length) {\n previewLine += chalk.dim('...');\n }\n\n // If the column property could be found, then use that to fix the cursor location which is often broken in regex.\n cursorLine = (column == null ? '' : fill(column) + chalk.reset('^')).slice(minBounds);\n\n Log.log(\n [formattedPath, '', previewLine, cursorLine, chalk.dim('(error truncated)')].join('\\n')\n );\n }\n } else {\n Log.log(codeFrame.content);\n }\n }\n\n if (stack?.length) {\n Log.log();\n Log.log(chalk.bold`Call Stack`);\n\n const stackProps = stack.map((frame) => {\n return {\n title: frame.methodName,\n subtitle: getStackFormattedLocation(projectRoot, frame),\n collapse: frame.collapse,\n };\n });\n\n stackProps.forEach((frame) => {\n const position = terminalLink.isSupported\n ? terminalLink(frame.subtitle, frame.subtitle)\n : frame.subtitle;\n let lineItem = chalk.gray(` ${frame.title} (${position})`);\n if (frame.collapse) {\n lineItem = chalk.dim(lineItem);\n }\n Log.log(lineItem);\n });\n } else {\n Log.log(chalk.gray(` ${error.stack}`));\n }\n}\n\nexport async function logMetroError(projectRoot: string, { error }: { error: Error }) {\n const { LogBoxLog, parseErrorStack } = require(\n resolveFrom(projectRoot, '@expo/metro-runtime/symbolicate')\n );\n\n const stack = parseErrorStack(error.stack);\n\n const log = new LogBoxLog({\n level: 'static',\n message: {\n content: error.message,\n substitutions: [],\n },\n isComponentError: false,\n stack,\n category: 'static',\n componentStack: [],\n });\n\n await new Promise((res) => log.symbolicate('stack', res));\n\n logMetroErrorWithStack(projectRoot, {\n stack: log.symbolicated?.stack?.stack ?? [],\n codeFrame: log.codeFrame,\n error,\n });\n}\n\n/** @returns the html required to render the static metro error as an SPA. */\nexport function logFromError({ error, projectRoot }: { error: Error; projectRoot: string }): {\n symbolicated: any;\n symbolicate: (type: string, callback: () => void) => void;\n codeFrame: CodeFrame;\n} {\n const { LogBoxLog, parseErrorStack } = require(\n resolveFrom(projectRoot, '@expo/metro-runtime/symbolicate')\n );\n\n const stack = parseErrorStack(error.stack);\n\n return new LogBoxLog({\n level: 'static',\n message: {\n content: error.message,\n substitutions: [],\n },\n isComponentError: false,\n stack,\n category: 'static',\n componentStack: [],\n });\n}\n\n/** @returns the html required to render the static metro error as an SPA. */\nexport async function logMetroErrorAsync({\n error,\n projectRoot,\n}: {\n error: Error;\n projectRoot: string;\n}) {\n const log = logFromError({ projectRoot, error });\n\n await new Promise<void>((res) => log.symbolicate('stack', res));\n\n logMetroErrorWithStack(projectRoot, {\n stack: log.symbolicated?.stack?.stack ?? [],\n codeFrame: log.codeFrame,\n error,\n });\n}\n\n/** @returns the html required to render the static metro error as an SPA. */\nexport async function getErrorOverlayHtmlAsync({\n error,\n projectRoot,\n}: {\n error: Error;\n projectRoot: string;\n}) {\n const log = logFromError({ projectRoot, error });\n\n await new Promise<void>((res) => log.symbolicate('stack', res));\n\n logMetroErrorWithStack(projectRoot, {\n stack: log.symbolicated?.stack?.stack ?? [],\n codeFrame: log.codeFrame,\n error,\n });\n\n const logBoxContext = {\n selectedLogIndex: 0,\n isDisabled: false,\n logs: [log],\n };\n const html = `<html><head><style>#root,body,html{height:100%}body{overflow:hidden}#root{display:flex}</style></head><body><div id=\"root\"></div><script id=\"_expo-static-error\" type=\"application/json\">${JSON.stringify(\n logBoxContext\n )}</script></body></html>`;\n\n const errorOverlayEntry = await createMetroEndpointAsync(\n projectRoot,\n // Keep the URL relative\n '',\n resolveFrom(projectRoot, 'expo-router/_error'),\n {\n dev: true,\n platform: 'web',\n minify: false,\n baseUrl: '',\n }\n );\n\n const htmlWithJs = html.replace('</body>', `<script src=${errorOverlayEntry}></script></body>`);\n return htmlWithJs;\n}\n"],"names":["logMetroErrorWithStack","logMetroError","logFromError","logMetroErrorAsync","getErrorOverlayHtmlAsync","fill","width","Array","join","formatPaths","config","filePath","chalk","reset","dim","line","col","filter","Boolean","projectRoot","stack","codeFrame","error","getStackFormattedLocation","require","resolveFrom","Log","log","red","message","maxWarningLineLength","Math","max","process","stdout","columns","lineText","content","isPreviewTooLong","split","some","length","column","location","previewLine","cursorLine","formattedPath","fileName","row","rangeWindow","round","minBounds","maxBounds","min","slice","bold","stackProps","map","frame","title","methodName","subtitle","collapse","forEach","position","terminalLink","isSupported","lineItem","gray","LogBoxLog","parseErrorStack","level","substitutions","isComponentError","category","componentStack","Promise","res","symbolicate","symbolicated","logBoxContext","selectedLogIndex","isDisabled","logs","html","JSON","stringify","errorOverlayEntry","createMetroEndpointAsync","dev","platform","minify","baseUrl","htmlWithJs","replace"],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
exports.isFailedToResolveNameError = isFailedToResolveNameError;
|
|
6
|
+
exports.isFailedToResolvePathError = isFailedToResolvePathError;
|
|
7
|
+
function isFailedToResolveNameError(error) {
|
|
8
|
+
return !!error && "extraPaths" in error && error.constructor.name === "FailedToResolveNameError";
|
|
9
|
+
}
|
|
10
|
+
function isFailedToResolvePathError(error) {
|
|
11
|
+
return !!error && "candidates" in error && error.constructor.name === "FailedToResolvePathError";
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
//# sourceMappingURL=metroErrors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../src/start/server/metro/metroErrors.ts"],"sourcesContent":["// Used to cast a type to metro errors without depending on specific versions of metro.\n\nexport type FileAndDirCandidates = {\n dir: FileCandidates;\n file: FileCandidates;\n};\n\n/**\n * This is a way to describe what files we tried to look for when resolving\n * a module name as file. This is mainly used for error reporting, so that\n * we can explain why we cannot resolve a module.\n */\nexport type FileCandidates =\n // We only tried to resolve a specific asset.\n | { type: 'asset'; name: string }\n // We attempted to resolve a name as being a source file (ex. JavaScript,\n // JSON...), in which case there can be several extensions we tried, for\n // example `/js/foo.ios.js`, `/js/foo.js`, etc. for a single prefix '/js/foo'.\n | {\n type: 'sourceFile';\n filePathPrefix: string;\n candidateExts: readonly string[];\n };\n\ntype FailedToResolveNameError = Error & {\n dirPaths: string[];\n extraPaths: string[];\n};\n\ntype FailedToResolvePathError = Error & {\n candidates: FileAndDirCandidates;\n};\n\nexport function isFailedToResolveNameError(error: any): error is FailedToResolveNameError {\n return !!error && 'extraPaths' in error && error.constructor.name === 'FailedToResolveNameError';\n}\n\nexport function isFailedToResolvePathError(error: any): error is FailedToResolvePathError {\n return !!error && 'candidates' in error && error.constructor.name === 'FailedToResolvePathError';\n}\n"],"names":["isFailedToResolveNameError","isFailedToResolvePathError","error","constructor","name"],"mappings":"AAEA;;;;QA+BgBA,0BAA0B,GAA1BA,0BAA0B;QAI1BC,0BAA0B,GAA1BA,0BAA0B;AAJnC,SAASD,0BAA0B,CAACE,KAAU,EAAqC;IACxF,OAAO,CAAC,CAACA,KAAK,IAAI,YAAY,IAAIA,KAAK,IAAIA,KAAK,CAACC,WAAW,CAACC,IAAI,KAAK,0BAA0B,CAAC;CAClG;AAEM,SAASH,0BAA0B,CAACC,KAAU,EAAqC;IACxF,OAAO,CAAC,CAACA,KAAK,IAAI,YAAY,IAAIA,KAAK,IAAIA,KAAK,CAACC,WAAW,CAACC,IAAI,KAAK,0BAA0B,CAAC;CAClG"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
exports.metroWatchTypeScriptFiles = metroWatchTypeScriptFiles;
|
|
6
|
+
var _path = _interopRequireDefault(require("path"));
|
|
7
|
+
function _interopRequireDefault(obj) {
|
|
8
|
+
return obj && obj.__esModule ? obj : {
|
|
9
|
+
default: obj
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
const debug = require("debug")("expo:start:server:metro:metroWatchTypeScriptFiles");
|
|
13
|
+
function metroWatchTypeScriptFiles({ metro , server , projectRoot , callback , tsconfig =false , throttle =false , eventTypes =[
|
|
14
|
+
"add",
|
|
15
|
+
"change",
|
|
16
|
+
"delete"
|
|
17
|
+
] }) {
|
|
18
|
+
const watcher = metro.getBundler().getBundler().getWatcher();
|
|
19
|
+
const tsconfigPath = _path.default.join(projectRoot, "tsconfig.json");
|
|
20
|
+
const listener = ({ eventsQueue })=>{
|
|
21
|
+
for (const event of eventsQueue){
|
|
22
|
+
var ref;
|
|
23
|
+
if (eventTypes.includes(event.type) && ((ref = event.metadata) == null ? void 0 : ref.type) !== "d" && // We need to ignore node_modules because Metro will add all of the files in node_modules to the watcher.
|
|
24
|
+
!/node_modules/.test(event.filePath) && // Ignore declaration files
|
|
25
|
+
!/\.d\.ts$/.test(event.filePath)) {
|
|
26
|
+
const { filePath } = event;
|
|
27
|
+
// Is TypeScript?
|
|
28
|
+
if (// If the user adds a TypeScript file to the observable files in their project.
|
|
29
|
+
/\.tsx?$/.test(filePath) || // Or if the user adds a tsconfig.json file to the project root.
|
|
30
|
+
(tsconfig && filePath === tsconfigPath)) {
|
|
31
|
+
debug("Detected TypeScript file changed in the project: ", filePath);
|
|
32
|
+
callback(event);
|
|
33
|
+
if (throttle) {
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
debug("Waiting for TypeScript files to be added to the project...");
|
|
41
|
+
watcher.addListener("change", listener);
|
|
42
|
+
watcher.addListener("add", listener);
|
|
43
|
+
const off = ()=>{
|
|
44
|
+
watcher.removeListener("change", listener);
|
|
45
|
+
watcher.removeListener("add", listener);
|
|
46
|
+
};
|
|
47
|
+
server.addListener == null ? void 0 : server.addListener("close", off);
|
|
48
|
+
return off;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
//# sourceMappingURL=metroWatchTypeScriptFiles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../src/start/server/metro/metroWatchTypeScriptFiles.ts"],"sourcesContent":["import path from 'path';\n\nimport type { ServerLike } from '../BundlerDevServer';\n\nconst debug = require('debug')(\n 'expo:start:server:metro:metroWatchTypeScriptFiles'\n) as typeof console.log;\n\nexport interface MetroWatchTypeScriptFilesOptions {\n projectRoot: string;\n metro: import('metro').Server;\n server: ServerLike;\n /* Include tsconfig.json in the watcher */\n tsconfig?: boolean;\n callback: (event: WatchEvent) => void;\n /* Array of eventTypes to watch. Defaults to all events */\n eventTypes?: string[];\n /* Throlle the callback. When true and a group of events are recieved, callback it will only be called with the\n * first event */\n throttle?: boolean;\n}\n\ninterface WatchEvent {\n filePath: string;\n metadata?: {\n type: 'f' | 'd' | 'l'; // Regular file / Directory / Symlink\n } | null;\n type: string;\n}\n\n/**\n * Use the native file watcher / Metro ruleset to detect if a\n * TypeScript file is added to the project during development.\n */\nexport function metroWatchTypeScriptFiles({\n metro,\n server,\n projectRoot,\n callback,\n tsconfig = false,\n throttle = false,\n eventTypes = ['add', 'change', 'delete'],\n}: MetroWatchTypeScriptFilesOptions): () => void {\n const watcher = metro.getBundler().getBundler().getWatcher();\n\n const tsconfigPath = path.join(projectRoot, 'tsconfig.json');\n\n const listener = ({ eventsQueue }: { eventsQueue: WatchEvent[] }) => {\n for (const event of eventsQueue) {\n if (\n eventTypes.includes(event.type) &&\n event.metadata?.type !== 'd' &&\n // We need to ignore node_modules because Metro will add all of the files in node_modules to the watcher.\n !/node_modules/.test(event.filePath) &&\n // Ignore declaration files\n !/\\.d\\.ts$/.test(event.filePath)\n ) {\n const { filePath } = event;\n // Is TypeScript?\n if (\n // If the user adds a TypeScript file to the observable files in their project.\n /\\.tsx?$/.test(filePath) ||\n // Or if the user adds a tsconfig.json file to the project root.\n (tsconfig && filePath === tsconfigPath)\n ) {\n debug('Detected TypeScript file changed in the project: ', filePath);\n callback(event);\n\n if (throttle) {\n return;\n }\n }\n }\n }\n };\n\n debug('Waiting for TypeScript files to be added to the project...');\n watcher.addListener('change', listener);\n watcher.addListener('add', listener);\n\n const off = () => {\n watcher.removeListener('change', listener);\n watcher.removeListener('add', listener);\n };\n\n server.addListener?.('close', off);\n return off;\n}\n"],"names":["metroWatchTypeScriptFiles","debug","require","metro","server","projectRoot","callback","tsconfig","throttle","eventTypes","watcher","getBundler","getWatcher","tsconfigPath","path","join","listener","eventsQueue","event","includes","type","metadata","test","filePath","addListener","off","removeListener"],"mappings":"AAAA;;;;QAkCgBA,yBAAyB,GAAzBA,yBAAyB;AAlCxB,IAAA,KAAM,kCAAN,MAAM,EAAA;;;;;;AAIvB,MAAMC,KAAK,GAAGC,OAAO,CAAC,OAAO,CAAC,CAC5B,mDAAmD,CACpD,AAAsB,AAAC;AA4BjB,SAASF,yBAAyB,CAAC,EACxCG,KAAK,CAAA,EACLC,MAAM,CAAA,EACNC,WAAW,CAAA,EACXC,QAAQ,CAAA,EACRC,QAAQ,EAAG,KAAK,CAAA,EAChBC,QAAQ,EAAG,KAAK,CAAA,EAChBC,UAAU,EAAG;IAAC,KAAK;IAAE,QAAQ;IAAE,QAAQ;CAAC,CAAA,EACP,EAAc;IAC/C,MAAMC,OAAO,GAAGP,KAAK,CAACQ,UAAU,EAAE,CAACA,UAAU,EAAE,CAACC,UAAU,EAAE,AAAC;IAE7D,MAAMC,YAAY,GAAGC,KAAI,QAAA,CAACC,IAAI,CAACV,WAAW,EAAE,eAAe,CAAC,AAAC;IAE7D,MAAMW,QAAQ,GAAG,CAAC,EAAEC,WAAW,CAAA,EAAiC,GAAK;QACnE,KAAK,MAAMC,KAAK,IAAID,WAAW,CAAE;gBAG7BC,GAAc;YAFhB,IACET,UAAU,CAACU,QAAQ,CAACD,KAAK,CAACE,IAAI,CAAC,IAC/BF,CAAAA,CAAAA,GAAc,GAAdA,KAAK,CAACG,QAAQ,SAAM,GAApBH,KAAAA,CAAoB,GAApBA,GAAc,CAAEE,IAAI,CAAA,KAAK,GAAG,IAC5B,yGAAyG;YACzG,CAAC,eAAeE,IAAI,CAACJ,KAAK,CAACK,QAAQ,CAAC,IACpC,2BAA2B;YAC3B,CAAC,WAAWD,IAAI,CAACJ,KAAK,CAACK,QAAQ,CAAC,EAChC;gBACA,MAAM,EAAEA,QAAQ,CAAA,EAAE,GAAGL,KAAK,AAAC;gBAC3B,iBAAiB;gBACjB,IACE,+EAA+E;gBAC/E,UAAUI,IAAI,CAACC,QAAQ,CAAC,IACxB,gEAAgE;gBAChE,CAAChB,QAAQ,IAAIgB,QAAQ,KAAKV,YAAY,CAAC,EACvC;oBACAZ,KAAK,CAAC,mDAAmD,EAAEsB,QAAQ,CAAC,CAAC;oBACrEjB,QAAQ,CAACY,KAAK,CAAC,CAAC;oBAEhB,IAAIV,QAAQ,EAAE;wBACZ,OAAO;qBACR;iBACF;aACF;SACF;KACF,AAAC;IAEFP,KAAK,CAAC,4DAA4D,CAAC,CAAC;IACpES,OAAO,CAACc,WAAW,CAAC,QAAQ,EAAER,QAAQ,CAAC,CAAC;IACxCN,OAAO,CAACc,WAAW,CAAC,KAAK,EAAER,QAAQ,CAAC,CAAC;IAErC,MAAMS,GAAG,GAAG,IAAM;QAChBf,OAAO,CAACgB,cAAc,CAAC,QAAQ,EAAEV,QAAQ,CAAC,CAAC;QAC3CN,OAAO,CAACgB,cAAc,CAAC,KAAK,EAAEV,QAAQ,CAAC,CAAC;KACzC,AAAC;IAEFZ,MAAM,CAACoB,WAAW,QAAgB,GAAlCpB,KAAAA,CAAkC,GAAlCA,MAAM,CAACoB,WAAW,CAAG,OAAO,EAAEC,GAAG,CAAC,AArFpC,CAqFqC;IACnC,OAAOA,GAAG,CAAC;CACZ"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
exports.getAppRouterRelativeEntryPath = getAppRouterRelativeEntryPath;
|
|
6
|
+
exports.getRouterDirectoryModuleIdWithManifest = getRouterDirectoryModuleIdWithManifest;
|
|
7
|
+
exports.getRouterDirectoryWithManifest = getRouterDirectoryWithManifest;
|
|
8
|
+
exports.getRouterDirectory = getRouterDirectory;
|
|
9
|
+
exports.isApiRouteConvention = isApiRouteConvention;
|
|
10
|
+
exports.getApiRoutesForDirectory = getApiRoutesForDirectory;
|
|
11
|
+
exports.getRoutePaths = getRoutePaths;
|
|
12
|
+
var _chalk = _interopRequireDefault(require("chalk"));
|
|
13
|
+
var _glob = require("glob");
|
|
14
|
+
var _path = _interopRequireDefault(require("path"));
|
|
15
|
+
var _resolveFrom = _interopRequireDefault(require("resolve-from"));
|
|
16
|
+
var _log = require("../../../log");
|
|
17
|
+
var _dir = require("../../../utils/dir");
|
|
18
|
+
var _fn = require("../../../utils/fn");
|
|
19
|
+
function _interopRequireDefault(obj) {
|
|
20
|
+
return obj && obj.__esModule ? obj : {
|
|
21
|
+
default: obj
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
const debug = require("debug")("expo:start:server:metro:router");
|
|
25
|
+
function getAppRouterRelativeEntryPath(projectRoot, routerDirectory = getRouterDirectory(projectRoot)) {
|
|
26
|
+
var ref;
|
|
27
|
+
// Auto pick App entry
|
|
28
|
+
const routerEntry = (ref = _resolveFrom.default.silent(projectRoot, "expo-router/entry")) != null ? ref : getFallbackEntryRoot(projectRoot);
|
|
29
|
+
if (!routerEntry) {
|
|
30
|
+
return undefined;
|
|
31
|
+
}
|
|
32
|
+
// It doesn't matter if the app folder exists.
|
|
33
|
+
const appFolder = _path.default.join(projectRoot, routerDirectory);
|
|
34
|
+
const appRoot = _path.default.relative(_path.default.dirname(routerEntry), appFolder);
|
|
35
|
+
debug("expo-router entry", routerEntry, appFolder, appRoot);
|
|
36
|
+
return appRoot;
|
|
37
|
+
}
|
|
38
|
+
/** If the `expo-router` package is not installed, then use the `expo` package to determine where the node modules are relative to the project. */ function getFallbackEntryRoot(projectRoot) {
|
|
39
|
+
const expoRoot = _resolveFrom.default.silent(projectRoot, "expo/package.json");
|
|
40
|
+
if (expoRoot) {
|
|
41
|
+
return _path.default.join(_path.default.dirname(_path.default.dirname(expoRoot)), "expo-router/entry");
|
|
42
|
+
}
|
|
43
|
+
return _path.default.join(projectRoot, "node_modules/expo-router/entry");
|
|
44
|
+
}
|
|
45
|
+
function getRouterDirectoryModuleIdWithManifest(projectRoot, exp) {
|
|
46
|
+
var ref, ref1;
|
|
47
|
+
var ref2;
|
|
48
|
+
return (ref2 = (ref = exp.extra) == null ? void 0 : (ref1 = ref.router) == null ? void 0 : ref1.unstable_src) != null ? ref2 : getRouterDirectory(projectRoot);
|
|
49
|
+
}
|
|
50
|
+
function getRouterDirectoryWithManifest(projectRoot, exp) {
|
|
51
|
+
return _path.default.join(projectRoot, getRouterDirectoryModuleIdWithManifest(projectRoot, exp));
|
|
52
|
+
}
|
|
53
|
+
const logSrcDir = (0, _fn).memoize(()=>_log.Log.log(_chalk.default.gray("Using src/app as the root directory for Expo Router."))
|
|
54
|
+
);
|
|
55
|
+
function getRouterDirectory(projectRoot) {
|
|
56
|
+
// more specific directories first
|
|
57
|
+
if ((0, _dir).directoryExistsSync(_path.default.join(projectRoot, "src/app"))) {
|
|
58
|
+
logSrcDir();
|
|
59
|
+
return "src/app";
|
|
60
|
+
}
|
|
61
|
+
debug("Using app as the root directory for Expo Router.");
|
|
62
|
+
return "app";
|
|
63
|
+
}
|
|
64
|
+
function isApiRouteConvention(name) {
|
|
65
|
+
return /\+api\.[tj]sx?$/.test(name);
|
|
66
|
+
}
|
|
67
|
+
function getApiRoutesForDirectory(cwd) {
|
|
68
|
+
return (0, _glob).sync("**/*+api.@(ts|tsx|js|jsx)", {
|
|
69
|
+
cwd,
|
|
70
|
+
absolute: true
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
function getRoutePaths(cwd) {
|
|
74
|
+
return (0, _glob).sync("**/*.@(ts|tsx|js|jsx)", {
|
|
75
|
+
cwd
|
|
76
|
+
}).map((p)=>"./" + normalizePaths(p)
|
|
77
|
+
);
|
|
78
|
+
}
|
|
79
|
+
function normalizePaths(p) {
|
|
80
|
+
return p.replace(/\\/g, "/");
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
//# sourceMappingURL=router.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../src/start/server/metro/router.ts"],"sourcesContent":["import { ExpoConfig } from '@expo/config';\nimport chalk from 'chalk';\nimport { sync as globSync } from 'glob';\nimport path from 'path';\nimport resolveFrom from 'resolve-from';\n\nimport { Log } from '../../../log';\nimport { directoryExistsSync } from '../../../utils/dir';\nimport { memoize } from '../../../utils/fn';\n\nconst debug = require('debug')('expo:start:server:metro:router') as typeof console.log;\n\n/**\n * Get the relative path for requiring the `/app` folder relative to the `expo-router/entry` file.\n * This mechanism does require the server to restart after the `expo-router` package is installed.\n */\nexport function getAppRouterRelativeEntryPath(\n projectRoot: string,\n routerDirectory: string = getRouterDirectory(projectRoot)\n): string | undefined {\n // Auto pick App entry\n const routerEntry =\n resolveFrom.silent(projectRoot, 'expo-router/entry') ?? getFallbackEntryRoot(projectRoot);\n if (!routerEntry) {\n return undefined;\n }\n // It doesn't matter if the app folder exists.\n const appFolder = path.join(projectRoot, routerDirectory);\n const appRoot = path.relative(path.dirname(routerEntry), appFolder);\n debug('expo-router entry', routerEntry, appFolder, appRoot);\n return appRoot;\n}\n\n/** If the `expo-router` package is not installed, then use the `expo` package to determine where the node modules are relative to the project. */\nfunction getFallbackEntryRoot(projectRoot: string): string {\n const expoRoot = resolveFrom.silent(projectRoot, 'expo/package.json');\n if (expoRoot) {\n return path.join(path.dirname(path.dirname(expoRoot)), 'expo-router/entry');\n }\n return path.join(projectRoot, 'node_modules/expo-router/entry');\n}\n\nexport function getRouterDirectoryModuleIdWithManifest(\n projectRoot: string,\n exp: ExpoConfig\n): string {\n return exp.extra?.router?.unstable_src ?? getRouterDirectory(projectRoot);\n}\n\nexport function getRouterDirectoryWithManifest(projectRoot: string, exp: ExpoConfig): string {\n return path.join(projectRoot, getRouterDirectoryModuleIdWithManifest(projectRoot, exp));\n}\n\nconst logSrcDir = memoize(() =>\n Log.log(chalk.gray('Using src/app as the root directory for Expo Router.'))\n);\n\nexport function getRouterDirectory(projectRoot: string): string {\n // more specific directories first\n if (directoryExistsSync(path.join(projectRoot, 'src/app'))) {\n logSrcDir();\n return 'src/app';\n }\n\n debug('Using app as the root directory for Expo Router.');\n return 'app';\n}\n\nexport function isApiRouteConvention(name: string): boolean {\n return /\\+api\\.[tj]sx?$/.test(name);\n}\n\nexport function getApiRoutesForDirectory(cwd: string) {\n return globSync('**/*+api.@(ts|tsx|js|jsx)', {\n cwd,\n absolute: true,\n });\n}\n\n// Used to emulate a context module, but way faster. TODO: May need to adjust the extensions to stay in sync with Metro.\nexport function getRoutePaths(cwd: string) {\n return globSync('**/*.@(ts|tsx|js|jsx)', {\n cwd,\n }).map((p) => './' + normalizePaths(p));\n}\n\nfunction normalizePaths(p: string) {\n return p.replace(/\\\\/g, '/');\n}\n"],"names":["getAppRouterRelativeEntryPath","getRouterDirectoryModuleIdWithManifest","getRouterDirectoryWithManifest","getRouterDirectory","isApiRouteConvention","getApiRoutesForDirectory","getRoutePaths","debug","require","projectRoot","routerDirectory","resolveFrom","routerEntry","silent","getFallbackEntryRoot","undefined","appFolder","path","join","appRoot","relative","dirname","expoRoot","exp","extra","router","unstable_src","logSrcDir","memoize","Log","log","chalk","gray","directoryExistsSync","name","test","cwd","globSync","absolute","map","p","normalizePaths","replace"],"mappings":"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"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
exports.runServer = void 0;
|
|
6
|
+
var _assert = _interopRequireDefault(require("assert"));
|
|
7
|
+
var _http = _interopRequireDefault(require("http"));
|
|
8
|
+
var _https = _interopRequireDefault(require("https"));
|
|
9
|
+
var _metro = _interopRequireDefault(require("metro"));
|
|
10
|
+
var _hmrServer = _interopRequireDefault(require("metro/src/HmrServer"));
|
|
11
|
+
var _createWebsocketServer = _interopRequireDefault(require("metro/src/lib/createWebsocketServer"));
|
|
12
|
+
var _url = require("url");
|
|
13
|
+
var _log = require("../../../log");
|
|
14
|
+
var _getRunningProcess = require("../../../utils/getRunningProcess");
|
|
15
|
+
function _interopRequireDefault(obj) {
|
|
16
|
+
return obj && obj.__esModule ? obj : {
|
|
17
|
+
default: obj
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
const runServer = async (metroBundler, config, { hasReducedPerformance =false , host , onError , onReady , secureServerOptions , waitForBundler =false , websocketEndpoints ={} , watch })=>{
|
|
21
|
+
// await earlyPortCheck(host, config.server.port);
|
|
22
|
+
// if (secure != null || secureCert != null || secureKey != null) {
|
|
23
|
+
// // eslint-disable-next-line no-console
|
|
24
|
+
// console.warn(
|
|
25
|
+
// chalk.inverse.yellow.bold(' DEPRECATED '),
|
|
26
|
+
// 'The `secure`, `secureCert`, and `secureKey` options are now deprecated. ' +
|
|
27
|
+
// 'Please use the `secureServerOptions` object instead to pass options to ' +
|
|
28
|
+
// "Metro's https development server.",
|
|
29
|
+
// );
|
|
30
|
+
// }
|
|
31
|
+
const { middleware , end , metroServer } = await _metro.default.createConnectMiddleware(config, {
|
|
32
|
+
hasReducedPerformance,
|
|
33
|
+
waitForBundler,
|
|
34
|
+
watch
|
|
35
|
+
});
|
|
36
|
+
(0, _assert).default(typeof middleware.use === "function");
|
|
37
|
+
const serverApp = middleware;
|
|
38
|
+
let httpServer;
|
|
39
|
+
if (secureServerOptions != null) {
|
|
40
|
+
httpServer = _https.default.createServer(secureServerOptions, serverApp);
|
|
41
|
+
} else {
|
|
42
|
+
httpServer = _http.default.createServer(serverApp);
|
|
43
|
+
}
|
|
44
|
+
return new Promise((resolve, reject)=>{
|
|
45
|
+
httpServer.on("error", (error)=>{
|
|
46
|
+
if ("code" in error && error.code === "EADDRINUSE") {
|
|
47
|
+
// If `Error: listen EADDRINUSE: address already in use :::8081` then print additional info
|
|
48
|
+
// about the process before throwing.
|
|
49
|
+
const info = (0, _getRunningProcess).getRunningProcess(config.server.port);
|
|
50
|
+
if (info) {
|
|
51
|
+
_log.Log.error(`Port ${config.server.port} is busy running ${info.command} in: ${info.directory}`);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
if (onError) {
|
|
55
|
+
onError(error);
|
|
56
|
+
}
|
|
57
|
+
reject(error);
|
|
58
|
+
end();
|
|
59
|
+
});
|
|
60
|
+
httpServer.listen(config.server.port, host, ()=>{
|
|
61
|
+
if (onReady) {
|
|
62
|
+
onReady(httpServer);
|
|
63
|
+
}
|
|
64
|
+
Object.assign(websocketEndpoints, {
|
|
65
|
+
// @ts-expect-error: incorrect types
|
|
66
|
+
"/hot": (0, _createWebsocketServer).default({
|
|
67
|
+
websocketServer: new _hmrServer.default(metroServer.getBundler(), metroServer.getCreateModuleId(), config)
|
|
68
|
+
})
|
|
69
|
+
});
|
|
70
|
+
httpServer.on("upgrade", (request, socket, head)=>{
|
|
71
|
+
const { pathname } = (0, _url).parse(request.url);
|
|
72
|
+
if (pathname != null && websocketEndpoints[pathname]) {
|
|
73
|
+
websocketEndpoints[pathname].handleUpgrade(request, socket, head, (ws)=>{
|
|
74
|
+
websocketEndpoints[pathname].emit("connection", ws, request);
|
|
75
|
+
});
|
|
76
|
+
} else {
|
|
77
|
+
socket.destroy();
|
|
78
|
+
}
|
|
79
|
+
});
|
|
80
|
+
resolve({
|
|
81
|
+
server: httpServer,
|
|
82
|
+
metro: metroServer
|
|
83
|
+
});
|
|
84
|
+
});
|
|
85
|
+
// Disable any kind of automatic timeout behavior for incoming
|
|
86
|
+
// requests in case it takes the packager more than the default
|
|
87
|
+
// timeout of 120 seconds to respond to a request.
|
|
88
|
+
httpServer.timeout = 0;
|
|
89
|
+
httpServer.on("close", ()=>{
|
|
90
|
+
end();
|
|
91
|
+
});
|
|
92
|
+
});
|
|
93
|
+
};
|
|
94
|
+
exports.runServer = runServer;
|
|
95
|
+
|
|
96
|
+
//# sourceMappingURL=runServer-fork.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../src/start/server/metro/runServer-fork.ts"],"sourcesContent":["// Copyright © 2023 650 Industries.\n// Copyright (c) Meta Platforms, Inc. and affiliates.\n//\n// Forks https://github.com/facebook/metro/blob/b80d9a0f638ee9fb82ff69cd3c8d9f4309ca1da2/packages/metro/src/index.flow.js#L57\n// and adds the ability to access the bundler instance.\nimport assert from 'assert';\nimport http from 'http';\nimport https from 'https';\nimport Metro, { RunServerOptions, Server } from 'metro';\nimport MetroHmrServer from 'metro/src/HmrServer';\nimport createWebsocketServer from 'metro/src/lib/createWebsocketServer';\nimport { ConfigT } from 'metro-config';\nimport { parse } from 'url';\n\nimport { MetroBundlerDevServer } from './MetroBundlerDevServer';\nimport { Log } from '../../../log';\nimport { getRunningProcess } from '../../../utils/getRunningProcess';\nimport type { ConnectAppType } from '../middleware/server.types';\n\nexport const runServer = async (\n metroBundler: MetroBundlerDevServer,\n config: ConfigT,\n {\n hasReducedPerformance = false,\n host,\n onError,\n onReady,\n secureServerOptions,\n waitForBundler = false,\n websocketEndpoints = {},\n watch,\n }: RunServerOptions\n): Promise<{ server: http.Server | https.Server; metro: Server }> => {\n // await earlyPortCheck(host, config.server.port);\n\n // if (secure != null || secureCert != null || secureKey != null) {\n // // eslint-disable-next-line no-console\n // console.warn(\n // chalk.inverse.yellow.bold(' DEPRECATED '),\n // 'The `secure`, `secureCert`, and `secureKey` options are now deprecated. ' +\n // 'Please use the `secureServerOptions` object instead to pass options to ' +\n // \"Metro's https development server.\",\n // );\n // }\n\n const { middleware, end, metroServer } = await Metro.createConnectMiddleware(config, {\n hasReducedPerformance,\n waitForBundler,\n watch,\n });\n\n assert(typeof (middleware as any).use === 'function');\n const serverApp = middleware as ConnectAppType;\n\n let httpServer: http.Server | https.Server;\n\n if (secureServerOptions != null) {\n httpServer = https.createServer(secureServerOptions, serverApp);\n } else {\n httpServer = http.createServer(serverApp);\n }\n return new Promise<{ server: http.Server | https.Server; metro: Server }>((resolve, reject) => {\n httpServer.on('error', (error) => {\n if ('code' in error && error.code === 'EADDRINUSE') {\n // If `Error: listen EADDRINUSE: address already in use :::8081` then print additional info\n // about the process before throwing.\n const info = getRunningProcess(config.server.port);\n if (info) {\n Log.error(\n `Port ${config.server.port} is busy running ${info.command} in: ${info.directory}`\n );\n }\n }\n\n if (onError) {\n onError(error);\n }\n reject(error);\n end();\n });\n\n httpServer.listen(config.server.port, host, () => {\n if (onReady) {\n onReady(httpServer);\n }\n\n Object.assign(websocketEndpoints, {\n // @ts-expect-error: incorrect types\n '/hot': createWebsocketServer({\n websocketServer: new MetroHmrServer(\n metroServer.getBundler(),\n metroServer.getCreateModuleId(),\n config\n ),\n }),\n });\n\n httpServer.on('upgrade', (request, socket, head) => {\n const { pathname } = parse(request.url!);\n if (pathname != null && websocketEndpoints[pathname]) {\n websocketEndpoints[pathname].handleUpgrade(request, socket, head, (ws) => {\n websocketEndpoints[pathname].emit('connection', ws, request);\n });\n } else {\n socket.destroy();\n }\n });\n\n resolve({ server: httpServer, metro: metroServer });\n });\n\n // Disable any kind of automatic timeout behavior for incoming\n // requests in case it takes the packager more than the default\n // timeout of 120 seconds to respond to a request.\n httpServer.timeout = 0;\n\n httpServer.on('close', () => {\n end();\n });\n });\n};\n"],"names":["runServer","metroBundler","config","hasReducedPerformance","host","onError","onReady","secureServerOptions","waitForBundler","websocketEndpoints","watch","middleware","end","metroServer","Metro","createConnectMiddleware","assert","use","serverApp","httpServer","https","createServer","http","Promise","resolve","reject","on","error","code","info","getRunningProcess","server","port","Log","command","directory","listen","Object","assign","createWebsocketServer","websocketServer","MetroHmrServer","getBundler","getCreateModuleId","request","socket","head","pathname","parse","url","handleUpgrade","ws","emit","destroy","metro","timeout"],"mappings":"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"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
exports.serializeHtmlWithAssets = serializeHtmlWithAssets;
|
|
6
|
+
function serializeHtmlWithAssets({ mode , resources , template , devBundleUrl , baseUrl }) {
|
|
7
|
+
if (!resources) {
|
|
8
|
+
return "";
|
|
9
|
+
}
|
|
10
|
+
const isDev = mode === "development";
|
|
11
|
+
return htmlFromSerialAssets(resources, {
|
|
12
|
+
dev: isDev,
|
|
13
|
+
template,
|
|
14
|
+
baseUrl,
|
|
15
|
+
bundleUrl: isDev ? devBundleUrl : undefined
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
function htmlFromSerialAssets(assets, { dev , template , baseUrl , bundleUrl }) {
|
|
19
|
+
// Combine the CSS modules into tags that have hot refresh data attributes.
|
|
20
|
+
const styleString = assets.filter((asset)=>asset.type === "css"
|
|
21
|
+
).map(({ metadata , filename , source })=>{
|
|
22
|
+
if (dev) {
|
|
23
|
+
return `<style data-expo-css-hmr="${metadata.hmrId}">` + source + "\n</style>";
|
|
24
|
+
} else {
|
|
25
|
+
return [
|
|
26
|
+
`<link rel="preload" href="${baseUrl}/${filename}" as="style">`,
|
|
27
|
+
`<link rel="stylesheet" href="${baseUrl}/${filename}">`,
|
|
28
|
+
].join("");
|
|
29
|
+
}
|
|
30
|
+
}).join("");
|
|
31
|
+
const jsAssets = assets.filter((asset)=>asset.type === "js"
|
|
32
|
+
);
|
|
33
|
+
const scripts = bundleUrl ? `<script src="${bundleUrl}" defer></script>` : jsAssets.map(({ filename , metadata })=>{
|
|
34
|
+
// TODO: Mark dependencies of the HTML and include them to prevent waterfalls.
|
|
35
|
+
if (metadata.isAsync) {
|
|
36
|
+
return "";
|
|
37
|
+
}
|
|
38
|
+
return `<script src="${baseUrl}/${filename}" defer></script>`;
|
|
39
|
+
}).join("");
|
|
40
|
+
return template.replace("</head>", `${styleString}</head>`).replace("</body>", `${scripts}\n</body>`);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
//# sourceMappingURL=serializeHtml.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../src/start/server/metro/serializeHtml.ts"],"sourcesContent":["import { SerialAsset } from '@expo/metro-config/build/serializer/serializerAssets';\n\nexport function serializeHtmlWithAssets({\n mode,\n resources,\n template,\n devBundleUrl,\n baseUrl,\n}: {\n mode: 'development' | 'production';\n resources: SerialAsset[];\n template: string;\n /** asset prefix used for deploying to non-standard origins like GitHub pages. */\n baseUrl: string;\n devBundleUrl?: string;\n}): string {\n if (!resources) {\n return '';\n }\n const isDev = mode === 'development';\n return htmlFromSerialAssets(resources, {\n dev: isDev,\n template,\n baseUrl,\n bundleUrl: isDev ? devBundleUrl : undefined,\n });\n}\n\nfunction htmlFromSerialAssets(\n assets: SerialAsset[],\n {\n dev,\n template,\n baseUrl,\n bundleUrl,\n }: {\n dev: boolean;\n template: string;\n baseUrl: string;\n /** This is dev-only. */\n bundleUrl?: string;\n }\n) {\n // Combine the CSS modules into tags that have hot refresh data attributes.\n const styleString = assets\n .filter((asset) => asset.type === 'css')\n .map(({ metadata, filename, source }) => {\n if (dev) {\n return `<style data-expo-css-hmr=\"${metadata.hmrId}\">` + source + '\\n</style>';\n } else {\n return [\n `<link rel=\"preload\" href=\"${baseUrl}/${filename}\" as=\"style\">`,\n `<link rel=\"stylesheet\" href=\"${baseUrl}/${filename}\">`,\n ].join('');\n }\n })\n .join('');\n\n const jsAssets = assets.filter((asset) => asset.type === 'js');\n\n const scripts = bundleUrl\n ? `<script src=\"${bundleUrl}\" defer></script>`\n : jsAssets\n .map(({ filename, metadata }) => {\n // TODO: Mark dependencies of the HTML and include them to prevent waterfalls.\n if (metadata.isAsync) {\n return '';\n }\n\n return `<script src=\"${baseUrl}/${filename}\" defer></script>`;\n })\n .join('');\n\n return template\n .replace('</head>', `${styleString}</head>`)\n .replace('</body>', `${scripts}\\n</body>`);\n}\n"],"names":["serializeHtmlWithAssets","mode","resources","template","devBundleUrl","baseUrl","isDev","htmlFromSerialAssets","dev","bundleUrl","undefined","assets","styleString","filter","asset","type","map","metadata","filename","source","hmrId","join","jsAssets","scripts","isAsync","replace"],"mappings":"AAAA;;;;QAEgBA,uBAAuB,GAAvBA,uBAAuB;AAAhC,SAASA,uBAAuB,CAAC,EACtCC,IAAI,CAAA,EACJC,SAAS,CAAA,EACTC,QAAQ,CAAA,EACRC,YAAY,CAAA,EACZC,OAAO,CAAA,EAQR,EAAU;IACT,IAAI,CAACH,SAAS,EAAE;QACd,OAAO,EAAE,CAAC;KACX;IACD,MAAMI,KAAK,GAAGL,IAAI,KAAK,aAAa,AAAC;IACrC,OAAOM,oBAAoB,CAACL,SAAS,EAAE;QACrCM,GAAG,EAAEF,KAAK;QACVH,QAAQ;QACRE,OAAO;QACPI,SAAS,EAAEH,KAAK,GAAGF,YAAY,GAAGM,SAAS;KAC5C,CAAC,CAAC;CACJ;AAED,SAASH,oBAAoB,CAC3BI,MAAqB,EACrB,EACEH,GAAG,CAAA,EACHL,QAAQ,CAAA,EACRE,OAAO,CAAA,EACPI,SAAS,CAAA,EAOV,EACD;IACA,2EAA2E;IAC3E,MAAMG,WAAW,GAAGD,MAAM,CACvBE,MAAM,CAAC,CAACC,KAAK,GAAKA,KAAK,CAACC,IAAI,KAAK,KAAK;IAAA,CAAC,CACvCC,GAAG,CAAC,CAAC,EAAEC,QAAQ,CAAA,EAAEC,QAAQ,CAAA,EAAEC,MAAM,CAAA,EAAE,GAAK;QACvC,IAAIX,GAAG,EAAE;YACP,OAAO,CAAC,0BAA0B,EAAES,QAAQ,CAACG,KAAK,CAAC,EAAE,CAAC,GAAGD,MAAM,GAAG,YAAY,CAAC;SAChF,MAAM;YACL,OAAO;gBACL,CAAC,0BAA0B,EAAEd,OAAO,CAAC,CAAC,EAAEa,QAAQ,CAAC,aAAa,CAAC;gBAC/D,CAAC,6BAA6B,EAAEb,OAAO,CAAC,CAAC,EAAEa,QAAQ,CAAC,EAAE,CAAC;aACxD,CAACG,IAAI,CAAC,EAAE,CAAC,CAAC;SACZ;KACF,CAAC,CACDA,IAAI,CAAC,EAAE,CAAC,AAAC;IAEZ,MAAMC,QAAQ,GAAGX,MAAM,CAACE,MAAM,CAAC,CAACC,KAAK,GAAKA,KAAK,CAACC,IAAI,KAAK,IAAI;IAAA,CAAC,AAAC;IAE/D,MAAMQ,OAAO,GAAGd,SAAS,GACrB,CAAC,aAAa,EAAEA,SAAS,CAAC,iBAAiB,CAAC,GAC5Ca,QAAQ,CACLN,GAAG,CAAC,CAAC,EAAEE,QAAQ,CAAA,EAAED,QAAQ,CAAA,EAAE,GAAK;QAC/B,8EAA8E;QAC9E,IAAIA,QAAQ,CAACO,OAAO,EAAE;YACpB,OAAO,EAAE,CAAC;SACX;QAED,OAAO,CAAC,aAAa,EAAEnB,OAAO,CAAC,CAAC,EAAEa,QAAQ,CAAC,iBAAiB,CAAC,CAAC;KAC/D,CAAC,CACDG,IAAI,CAAC,EAAE,CAAC,AAAC;IAEhB,OAAOlB,QAAQ,CACZsB,OAAO,CAAC,SAAS,EAAE,CAAC,EAAEb,WAAW,CAAC,OAAO,CAAC,CAAC,CAC3Ca,OAAO,CAAC,SAAS,EAAE,CAAC,EAAEF,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;CAC9C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../src/start/server/metro/symbolicate.ts"],"sourcesContent":["import { StackFrame } from 'stacktrace-parser';\n\nexport type CodeFrame = {\n content: string;\n location?: {\n row: number;\n column: number;\n [key: string]: any;\n };\n fileName: string;\n};\n\nexport type MetroStackFrame = StackFrame & { collapse?: boolean };\nexport type Stack = StackFrame[];\n"],"names":[],"mappings":"AAAA"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
exports.observeApiRouteChanges = observeApiRouteChanges;
|
|
6
|
+
exports.waitForMetroToObserveTypeScriptFile = waitForMetroToObserveTypeScriptFile;
|
|
7
|
+
exports.observeFileChanges = observeFileChanges;
|
|
8
|
+
var _path = _interopRequireDefault(require("path"));
|
|
9
|
+
function _interopRequireDefault(obj) {
|
|
10
|
+
return obj && obj.__esModule ? obj : {
|
|
11
|
+
default: obj
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
const debug = require("debug")("expo:start:server:metro:waitForTypescript");
|
|
15
|
+
function observeApiRouteChanges(appDir, runner, callback) {
|
|
16
|
+
const watcher = runner.metro.getBundler().getBundler().getWatcher();
|
|
17
|
+
const listener = ({ eventsQueue })=>{
|
|
18
|
+
for (const event of eventsQueue){
|
|
19
|
+
if (// event.type === 'add' &&
|
|
20
|
+
// event.metadata?.type !== 'd' &&
|
|
21
|
+
// We need to ignore node_modules because Metro will add all of the files in node_modules to the watcher.
|
|
22
|
+
!/node_modules/.test(event.filePath) && event.filePath.startsWith(appDir)) {
|
|
23
|
+
const { filePath } = event;
|
|
24
|
+
callback(filePath, event.type);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
watcher.addListener("change", listener);
|
|
29
|
+
const off = ()=>{
|
|
30
|
+
watcher.removeListener("change", listener);
|
|
31
|
+
};
|
|
32
|
+
runner.server.addListener == null ? void 0 : runner.server.addListener("close", off);
|
|
33
|
+
return off;
|
|
34
|
+
}
|
|
35
|
+
function waitForMetroToObserveTypeScriptFile(projectRoot, runner, callback) {
|
|
36
|
+
const watcher = runner.metro.getBundler().getBundler().getWatcher();
|
|
37
|
+
const tsconfigPath = _path.default.join(projectRoot, "tsconfig.json");
|
|
38
|
+
const listener = ({ eventsQueue })=>{
|
|
39
|
+
for (const event of eventsQueue){
|
|
40
|
+
var ref;
|
|
41
|
+
if (event.type === "add" && ((ref = event.metadata) == null ? void 0 : ref.type) !== "d" && // We need to ignore node_modules because Metro will add all of the files in node_modules to the watcher.
|
|
42
|
+
!/node_modules/.test(event.filePath)) {
|
|
43
|
+
const { filePath } = event;
|
|
44
|
+
// Is TypeScript?
|
|
45
|
+
if (// If the user adds a TypeScript file to the observable files in their project.
|
|
46
|
+
/\.tsx?$/.test(filePath) || // Or if the user adds a tsconfig.json file to the project root.
|
|
47
|
+
filePath === tsconfigPath) {
|
|
48
|
+
debug("Detected TypeScript file added to the project: ", filePath);
|
|
49
|
+
callback();
|
|
50
|
+
off();
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
debug("Waiting for TypeScript files to be added to the project...");
|
|
57
|
+
watcher.addListener("change", listener);
|
|
58
|
+
const off = ()=>{
|
|
59
|
+
watcher.removeListener("change", listener);
|
|
60
|
+
};
|
|
61
|
+
runner.server.addListener == null ? void 0 : runner.server.addListener("close", off);
|
|
62
|
+
return off;
|
|
63
|
+
}
|
|
64
|
+
function observeFileChanges(runner, files, callback) {
|
|
65
|
+
const watcher = runner.metro.getBundler().getBundler().getWatcher();
|
|
66
|
+
const listener = ({ eventsQueue })=>{
|
|
67
|
+
for (const event of eventsQueue){
|
|
68
|
+
var // event.type === 'add' &&
|
|
69
|
+
ref;
|
|
70
|
+
if (((ref = event.metadata) == null ? void 0 : ref.type) !== "d" && // We need to ignore node_modules because Metro will add all of the files in node_modules to the watcher.
|
|
71
|
+
!/node_modules/.test(event.filePath)) {
|
|
72
|
+
const { filePath } = event;
|
|
73
|
+
// Is TypeScript?
|
|
74
|
+
if (files.includes(filePath)) {
|
|
75
|
+
debug("Observed change:", filePath);
|
|
76
|
+
callback();
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
};
|
|
82
|
+
debug("Watching file changes:", files);
|
|
83
|
+
watcher.addListener("change", listener);
|
|
84
|
+
const off = ()=>{
|
|
85
|
+
watcher.removeListener("change", listener);
|
|
86
|
+
};
|
|
87
|
+
runner.server.addListener == null ? void 0 : runner.server.addListener("close", off);
|
|
88
|
+
return off;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
//# sourceMappingURL=waitForMetroToObserveTypeScriptFile.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../src/start/server/metro/waitForMetroToObserveTypeScriptFile.ts"],"sourcesContent":["import path from 'path';\n\nimport type { ServerLike } from '../BundlerDevServer';\n\nconst debug = require('debug')('expo:start:server:metro:waitForTypescript') as typeof console.log;\n\n/**\n * Use the native file watcher / Metro ruleset to detect if a\n * TypeScript file is added to the project during development.\n */\nexport function observeApiRouteChanges(\n appDir: string,\n runner: {\n metro: import('metro').Server;\n server: ServerLike;\n },\n callback: (filepath: string, operation: string) => Promise<void>\n): () => void {\n const watcher = runner.metro.getBundler().getBundler().getWatcher();\n\n const listener = ({\n eventsQueue,\n }: {\n eventsQueue: {\n filePath: string;\n metadata?: {\n type: 'f' | 'd' | 'l'; // Regular file / Directory / Symlink\n } | null;\n type: string;\n }[];\n }) => {\n for (const event of eventsQueue) {\n if (\n // event.type === 'add' &&\n // event.metadata?.type !== 'd' &&\n // We need to ignore node_modules because Metro will add all of the files in node_modules to the watcher.\n !/node_modules/.test(event.filePath) &&\n event.filePath.startsWith(appDir)\n ) {\n const { filePath } = event;\n callback(filePath, event.type);\n }\n }\n };\n\n watcher.addListener('change', listener);\n\n const off = () => {\n watcher.removeListener('change', listener);\n };\n\n runner.server.addListener?.('close', off);\n return off;\n}\n\n/**\n * Use the native file watcher / Metro ruleset to detect if a\n * TypeScript file is added to the project during development.\n */\nexport function waitForMetroToObserveTypeScriptFile(\n projectRoot: string,\n runner: {\n metro: import('metro').Server;\n server: ServerLike;\n },\n callback: () => Promise<void>\n): () => void {\n const watcher = runner.metro.getBundler().getBundler().getWatcher();\n\n const tsconfigPath = path.join(projectRoot, 'tsconfig.json');\n\n const listener = ({\n eventsQueue,\n }: {\n eventsQueue: {\n filePath: string;\n metadata?: {\n type: 'f' | 'd' | 'l'; // Regular file / Directory / Symlink\n } | null;\n type: string;\n }[];\n }) => {\n for (const event of eventsQueue) {\n if (\n event.type === 'add' &&\n event.metadata?.type !== 'd' &&\n // We need to ignore node_modules because Metro will add all of the files in node_modules to the watcher.\n !/node_modules/.test(event.filePath)\n ) {\n const { filePath } = event;\n // Is TypeScript?\n if (\n // If the user adds a TypeScript file to the observable files in their project.\n /\\.tsx?$/.test(filePath) ||\n // Or if the user adds a tsconfig.json file to the project root.\n filePath === tsconfigPath\n ) {\n debug('Detected TypeScript file added to the project: ', filePath);\n callback();\n off();\n return;\n }\n }\n }\n };\n\n debug('Waiting for TypeScript files to be added to the project...');\n watcher.addListener('change', listener);\n\n const off = () => {\n watcher.removeListener('change', listener);\n };\n\n runner.server.addListener?.('close', off);\n return off;\n}\n\nexport function observeFileChanges(\n runner: {\n metro: import('metro').Server;\n server: ServerLike;\n },\n files: string[],\n callback: () => void | Promise<void>\n): () => void {\n const watcher = runner.metro.getBundler().getBundler().getWatcher();\n\n const listener = ({\n eventsQueue,\n }: {\n eventsQueue: {\n filePath: string;\n metadata?: {\n type: 'f' | 'd' | 'l'; // Regular file / Directory / Symlink\n } | null;\n type: string;\n }[];\n }) => {\n for (const event of eventsQueue) {\n if (\n // event.type === 'add' &&\n event.metadata?.type !== 'd' &&\n // We need to ignore node_modules because Metro will add all of the files in node_modules to the watcher.\n !/node_modules/.test(event.filePath)\n ) {\n const { filePath } = event;\n // Is TypeScript?\n if (files.includes(filePath)) {\n debug('Observed change:', filePath);\n callback();\n return;\n }\n }\n }\n };\n\n debug('Watching file changes:', files);\n watcher.addListener('change', listener);\n\n const off = () => {\n watcher.removeListener('change', listener);\n };\n\n runner.server.addListener?.('close', off);\n return off;\n}\n"],"names":["observeApiRouteChanges","waitForMetroToObserveTypeScriptFile","observeFileChanges","debug","require","appDir","runner","callback","watcher","metro","getBundler","getWatcher","listener","eventsQueue","event","test","filePath","startsWith","type","addListener","off","removeListener","server","projectRoot","tsconfigPath","path","join","metadata","files","includes"],"mappings":"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"}
|