@depup/expo__cli 55.0.16-depup.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +55 -0
- package/add-module.js +8 -0
- package/build/bin/cli +278 -0
- package/build/bin/cli.map +1 -0
- package/build/metro-require/require.js +608 -0
- package/build/src/api/endpoint.js +39 -0
- package/build/src/api/endpoint.js.map +1 -0
- package/build/src/api/getExpoGoIntermediateCertificate.js +23 -0
- package/build/src/api/getExpoGoIntermediateCertificate.js.map +1 -0
- package/build/src/api/getExpoSchema.js +97 -0
- package/build/src/api/getExpoSchema.js.map +1 -0
- package/build/src/api/getNativeModuleVersions.js +37 -0
- package/build/src/api/getNativeModuleVersions.js.map +1 -0
- package/build/src/api/getProjectDevelopmentCertificate.js +26 -0
- package/build/src/api/getProjectDevelopmentCertificate.js.map +1 -0
- package/build/src/api/getVersions.js +29 -0
- package/build/src/api/getVersions.js.map +1 -0
- package/build/src/api/graphql/client.js +204 -0
- package/build/src/api/graphql/client.js.map +1 -0
- package/build/src/api/graphql/queries/AppQuery.js +40 -0
- package/build/src/api/graphql/queries/AppQuery.js.map +1 -0
- package/build/src/api/graphql/queries/UserQuery.js +63 -0
- package/build/src/api/graphql/queries/UserQuery.js.map +1 -0
- package/build/src/api/rest/cache/FileSystemResponseCache.js +184 -0
- package/build/src/api/rest/cache/FileSystemResponseCache.js.map +1 -0
- package/build/src/api/rest/cache/ResponseCache.js +116 -0
- package/build/src/api/rest/cache/ResponseCache.js.map +1 -0
- package/build/src/api/rest/cache/wrapFetchWithCache.js +76 -0
- package/build/src/api/rest/cache/wrapFetchWithCache.js.map +1 -0
- package/build/src/api/rest/client.js +168 -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 +32 -0
- package/build/src/api/rest/wrapFetchWithBaseUrl.js.map +1 -0
- package/build/src/api/rest/wrapFetchWithOffline.js +26 -0
- package/build/src/api/rest/wrapFetchWithOffline.js.map +1 -0
- package/build/src/api/rest/wrapFetchWithProgress.js +108 -0
- package/build/src/api/rest/wrapFetchWithProgress.js.map +1 -0
- package/build/src/api/rest/wrapFetchWithUserAgent.js +34 -0
- package/build/src/api/rest/wrapFetchWithUserAgent.js.map +1 -0
- package/build/src/api/settings.js +33 -0
- package/build/src/api/settings.js.map +1 -0
- package/build/src/api/updateDevelopmentSession.js +100 -0
- package/build/src/api/updateDevelopmentSession.js.map +1 -0
- package/build/src/api/user/UserSettings.js +183 -0
- package/build/src/api/user/UserSettings.js.map +1 -0
- package/build/src/api/user/actions.js +167 -0
- package/build/src/api/user/actions.js.map +1 -0
- package/build/src/api/user/expoSsoLauncher.js +149 -0
- package/build/src/api/user/expoSsoLauncher.js.map +1 -0
- package/build/src/api/user/otp.js +177 -0
- package/build/src/api/user/otp.js.map +1 -0
- package/build/src/api/user/user.js +154 -0
- package/build/src/api/user/user.js.map +1 -0
- package/build/src/config/configAsync.js +180 -0
- package/build/src/config/configAsync.js.map +1 -0
- package/build/src/config/index.js +101 -0
- package/build/src/config/index.js.map +1 -0
- package/build/src/customize/customizeAsync.js +57 -0
- package/build/src/customize/customizeAsync.js.map +1 -0
- package/build/src/customize/generate.js +94 -0
- package/build/src/customize/generate.js.map +1 -0
- package/build/src/customize/index.js +51 -0
- package/build/src/customize/index.js.map +1 -0
- package/build/src/customize/resolveOptions.js +23 -0
- package/build/src/customize/resolveOptions.js.map +1 -0
- package/build/src/customize/templates.js +189 -0
- package/build/src/customize/templates.js.map +1 -0
- package/build/src/customize/typescript.js +81 -0
- package/build/src/customize/typescript.js.map +1 -0
- package/build/src/events/builder.js +6 -0
- package/build/src/events/builder.js.map +1 -0
- package/build/src/events/index.js +132 -0
- package/build/src/events/index.js.map +1 -0
- package/build/src/events/stream.js +303 -0
- package/build/src/events/stream.js.map +1 -0
- package/build/src/events/types.js +6 -0
- package/build/src/events/types.js.map +1 -0
- package/build/src/expoUpdatesExports.js +28 -0
- package/build/src/expoUpdatesExports.js.map +1 -0
- package/build/src/export/createMetadataJson.js +55 -0
- package/build/src/export/createMetadataJson.js.map +1 -0
- package/build/src/export/embed/exportEager.js +33 -0
- package/build/src/export/embed/exportEager.js.map +1 -0
- package/build/src/export/embed/exportEmbedAsync.js +457 -0
- package/build/src/export/embed/exportEmbedAsync.js.map +1 -0
- package/build/src/export/embed/exportServer.js +353 -0
- package/build/src/export/embed/exportServer.js.map +1 -0
- package/build/src/export/embed/index.js +161 -0
- package/build/src/export/embed/index.js.map +1 -0
- package/build/src/export/embed/resolveOptions.js +159 -0
- package/build/src/export/embed/resolveOptions.js.map +1 -0
- package/build/src/export/embed/xcodeCompilerLogger.js +148 -0
- package/build/src/export/embed/xcodeCompilerLogger.js.map +1 -0
- package/build/src/export/exportApp.js +387 -0
- package/build/src/export/exportApp.js.map +1 -0
- package/build/src/export/exportAssets.js +245 -0
- package/build/src/export/exportAssets.js.map +1 -0
- package/build/src/export/exportAsync.js +103 -0
- package/build/src/export/exportAsync.js.map +1 -0
- package/build/src/export/exportDomComponents.js +185 -0
- package/build/src/export/exportDomComponents.js.map +1 -0
- package/build/src/export/exportHermes.js +251 -0
- package/build/src/export/exportHermes.js.map +1 -0
- package/build/src/export/exportStaticAsync.js +623 -0
- package/build/src/export/exportStaticAsync.js.map +1 -0
- package/build/src/export/favicon.js +138 -0
- package/build/src/export/favicon.js.map +1 -0
- package/build/src/export/getPublicExpoManifest.js +39 -0
- package/build/src/export/getPublicExpoManifest.js.map +1 -0
- package/build/src/export/getResolvedLocales.js +52 -0
- package/build/src/export/getResolvedLocales.js.map +1 -0
- package/build/src/export/html.js +33 -0
- package/build/src/export/html.js.map +1 -0
- package/build/src/export/index.js +146 -0
- package/build/src/export/index.js.map +1 -0
- package/build/src/export/metroAssetLocalPath.js +130 -0
- package/build/src/export/metroAssetLocalPath.js.map +1 -0
- package/build/src/export/persistMetroAssets.js +269 -0
- package/build/src/export/persistMetroAssets.js.map +1 -0
- package/build/src/export/publicFolder.js +61 -0
- package/build/src/export/publicFolder.js.map +1 -0
- package/build/src/export/resolveOptions.js +92 -0
- package/build/src/export/resolveOptions.js.map +1 -0
- package/build/src/export/saveAssets.js +273 -0
- package/build/src/export/saveAssets.js.map +1 -0
- package/build/src/export/web/exportWebAsync.js +57 -0
- package/build/src/export/web/exportWebAsync.js.map +1 -0
- package/build/src/export/web/index.js +92 -0
- package/build/src/export/web/index.js.map +1 -0
- package/build/src/export/web/resolveOptions.js +18 -0
- package/build/src/export/web/resolveOptions.js.map +1 -0
- package/build/src/export/writeContents.js +19 -0
- package/build/src/export/writeContents.js.map +1 -0
- package/build/src/install/applyPlugins.js +81 -0
- package/build/src/install/applyPlugins.js.map +1 -0
- package/build/src/install/checkPackages.js +157 -0
- package/build/src/install/checkPackages.js.map +1 -0
- package/build/src/install/fixPackages.js +111 -0
- package/build/src/install/fixPackages.js.map +1 -0
- package/build/src/install/index.js +64 -0
- package/build/src/install/index.js.map +1 -0
- package/build/src/install/installAsync.js +203 -0
- package/build/src/install/installAsync.js.map +1 -0
- package/build/src/install/installExpoPackage.js +124 -0
- package/build/src/install/installExpoPackage.js.map +1 -0
- package/build/src/install/resolveOptions.js +65 -0
- package/build/src/install/resolveOptions.js.map +1 -0
- package/build/src/install/utils/autoAddConfigPlugins.js +90 -0
- package/build/src/install/utils/autoAddConfigPlugins.js.map +1 -0
- package/build/src/install/utils/checkPackagesCompatibility.js +66 -0
- package/build/src/install/utils/checkPackagesCompatibility.js.map +1 -0
- package/build/src/install/utils/parsePackageSpecifier.js +24 -0
- package/build/src/install/utils/parsePackageSpecifier.js.map +1 -0
- package/build/src/lint/ESlintPrerequisite.js +163 -0
- package/build/src/lint/ESlintPrerequisite.js.map +1 -0
- package/build/src/lint/index.js +68 -0
- package/build/src/lint/index.js.map +1 -0
- package/build/src/lint/lintAsync.js +183 -0
- package/build/src/lint/lintAsync.js.map +1 -0
- package/build/src/lint/resolveOptions.js +115 -0
- package/build/src/lint/resolveOptions.js.map +1 -0
- package/build/src/log.js +106 -0
- package/build/src/log.js.map +1 -0
- package/build/src/login/index.js +92 -0
- package/build/src/login/index.js.map +1 -0
- package/build/src/logout/index.js +70 -0
- package/build/src/logout/index.js.map +1 -0
- package/build/src/prebuild/clearNativeFolder.js +202 -0
- package/build/src/prebuild/clearNativeFolder.js.map +1 -0
- package/build/src/prebuild/configureProjectAsync.js +106 -0
- package/build/src/prebuild/configureProjectAsync.js.map +1 -0
- package/build/src/prebuild/copyTemplateFiles.js +95 -0
- package/build/src/prebuild/copyTemplateFiles.js.map +1 -0
- package/build/src/prebuild/ensureConfigAsync.js +32 -0
- package/build/src/prebuild/ensureConfigAsync.js.map +1 -0
- package/build/src/prebuild/index.js +122 -0
- package/build/src/prebuild/index.js.map +1 -0
- package/build/src/prebuild/prebuildAsync.js +192 -0
- package/build/src/prebuild/prebuildAsync.js.map +1 -0
- package/build/src/prebuild/renameTemplateAppName.js +135 -0
- package/build/src/prebuild/renameTemplateAppName.js.map +1 -0
- package/build/src/prebuild/resolveLocalTemplate.js +72 -0
- package/build/src/prebuild/resolveLocalTemplate.js.map +1 -0
- package/build/src/prebuild/resolveOptions.js +222 -0
- package/build/src/prebuild/resolveOptions.js.map +1 -0
- package/build/src/prebuild/resolveTemplate.js +216 -0
- package/build/src/prebuild/resolveTemplate.js.map +1 -0
- package/build/src/prebuild/updateFromTemplate.js +148 -0
- package/build/src/prebuild/updateFromTemplate.js.map +1 -0
- package/build/src/prebuild/updatePackageJson.js +305 -0
- package/build/src/prebuild/updatePackageJson.js.map +1 -0
- package/build/src/prebuild/validateTemplatePlatforms.js +85 -0
- package/build/src/prebuild/validateTemplatePlatforms.js.map +1 -0
- package/build/src/register/index.js +70 -0
- package/build/src/register/index.js.map +1 -0
- package/build/src/register/registerAsync.js +39 -0
- package/build/src/register/registerAsync.js.map +1 -0
- package/build/src/run/android/index.js +139 -0
- package/build/src/run/android/index.js.map +1 -0
- package/build/src/run/android/resolveDevice.js +28 -0
- package/build/src/run/android/resolveDevice.js.map +1 -0
- package/build/src/run/android/resolveGradlePropsAsync.js +82 -0
- package/build/src/run/android/resolveGradlePropsAsync.js.map +1 -0
- package/build/src/run/android/resolveInstallApkName.js +67 -0
- package/build/src/run/android/resolveInstallApkName.js.map +1 -0
- package/build/src/run/android/resolveLaunchProps.js +44 -0
- package/build/src/run/android/resolveLaunchProps.js.map +1 -0
- package/build/src/run/android/resolveOptions.js +43 -0
- package/build/src/run/android/resolveOptions.js.map +1 -0
- package/build/src/run/android/runAndroidAsync.js +157 -0
- package/build/src/run/android/runAndroidAsync.js.map +1 -0
- package/build/src/run/ensureNativeProject.js +53 -0
- package/build/src/run/ensureNativeProject.js.map +1 -0
- package/build/src/run/hints.js +46 -0
- package/build/src/run/hints.js.map +1 -0
- package/build/src/run/index.js +124 -0
- package/build/src/run/index.js.map +1 -0
- package/build/src/run/ios/XcodeBuild.js +382 -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 +316 -0
- package/build/src/run/ios/appleDevice/AppleDevice.js.map +1 -0
- package/build/src/run/ios/appleDevice/ClientManager.js +207 -0
- package/build/src/run/ios/appleDevice/ClientManager.js.map +1 -0
- package/build/src/run/ios/appleDevice/client/AFCClient.js +248 -0
- package/build/src/run/ios/appleDevice/client/AFCClient.js.map +1 -0
- package/build/src/run/ios/appleDevice/client/DebugserverClient.js +149 -0
- package/build/src/run/ios/appleDevice/client/DebugserverClient.js.map +1 -0
- package/build/src/run/ios/appleDevice/client/InstallationProxyClient.js +113 -0
- package/build/src/run/ios/appleDevice/client/InstallationProxyClient.js.map +1 -0
- package/build/src/run/ios/appleDevice/client/LockdowndClient.js +186 -0
- package/build/src/run/ios/appleDevice/client/LockdowndClient.js.map +1 -0
- package/build/src/run/ios/appleDevice/client/MobileImageMounterClient.js +133 -0
- package/build/src/run/ios/appleDevice/client/MobileImageMounterClient.js.map +1 -0
- package/build/src/run/ios/appleDevice/client/ServiceClient.js +38 -0
- package/build/src/run/ios/appleDevice/client/ServiceClient.js.map +1 -0
- package/build/src/run/ios/appleDevice/client/UsbmuxdClient.js +146 -0
- package/build/src/run/ios/appleDevice/client/UsbmuxdClient.js.map +1 -0
- package/build/src/run/ios/appleDevice/installOnDeviceAsync.js +153 -0
- package/build/src/run/ios/appleDevice/installOnDeviceAsync.js.map +1 -0
- package/build/src/run/ios/appleDevice/protocol/AFCProtocol.js +365 -0
- package/build/src/run/ios/appleDevice/protocol/AFCProtocol.js.map +1 -0
- package/build/src/run/ios/appleDevice/protocol/AbstractProtocol.js +167 -0
- package/build/src/run/ios/appleDevice/protocol/AbstractProtocol.js.map +1 -0
- package/build/src/run/ios/appleDevice/protocol/GDBProtocol.js +153 -0
- package/build/src/run/ios/appleDevice/protocol/GDBProtocol.js.map +1 -0
- package/build/src/run/ios/appleDevice/protocol/LockdownProtocol.js +111 -0
- package/build/src/run/ios/appleDevice/protocol/LockdownProtocol.js.map +1 -0
- package/build/src/run/ios/appleDevice/protocol/UsbmuxProtocol.js +100 -0
- package/build/src/run/ios/appleDevice/protocol/UsbmuxProtocol.js.map +1 -0
- package/build/src/run/ios/codeSigning/Security.js +116 -0
- package/build/src/run/ios/codeSigning/Security.js.map +1 -0
- package/build/src/run/ios/codeSigning/configureCodeSigning.js +108 -0
- package/build/src/run/ios/codeSigning/configureCodeSigning.js.map +1 -0
- package/build/src/run/ios/codeSigning/resolveCertificateSigningIdentity.js +165 -0
- package/build/src/run/ios/codeSigning/resolveCertificateSigningIdentity.js.map +1 -0
- package/build/src/run/ios/codeSigning/settings.js +27 -0
- package/build/src/run/ios/codeSigning/settings.js.map +1 -0
- package/build/src/run/ios/codeSigning/simulatorCodeSigning.js +67 -0
- package/build/src/run/ios/codeSigning/simulatorCodeSigning.js.map +1 -0
- package/build/src/run/ios/codeSigning/xcodeCodeSigning.js +103 -0
- package/build/src/run/ios/codeSigning/xcodeCodeSigning.js.map +1 -0
- package/build/src/run/ios/index.js +137 -0
- package/build/src/run/ios/index.js.map +1 -0
- package/build/src/run/ios/launchApp.js +142 -0
- package/build/src/run/ios/launchApp.js.map +1 -0
- package/build/src/run/ios/options/appleDestinations.js +126 -0
- package/build/src/run/ios/options/appleDestinations.js.map +1 -0
- package/build/src/run/ios/options/promptDevice.js +64 -0
- package/build/src/run/ios/options/promptDevice.js.map +1 -0
- package/build/src/run/ios/options/resolveDevice.js +151 -0
- package/build/src/run/ios/options/resolveDevice.js.map +1 -0
- package/build/src/run/ios/options/resolveNativeScheme.js +147 -0
- package/build/src/run/ios/options/resolveNativeScheme.js.map +1 -0
- package/build/src/run/ios/options/resolveOptions.js +66 -0
- package/build/src/run/ios/options/resolveOptions.js.map +1 -0
- package/build/src/run/ios/options/resolveXcodeProject.js +50 -0
- package/build/src/run/ios/options/resolveXcodeProject.js.map +1 -0
- package/build/src/run/ios/runIosAsync.js +255 -0
- package/build/src/run/ios/runIosAsync.js.map +1 -0
- package/build/src/run/ios/validateExternalBinary.js +113 -0
- package/build/src/run/ios/validateExternalBinary.js.map +1 -0
- package/build/src/run/resolveBundlerProps.js +38 -0
- package/build/src/run/resolveBundlerProps.js.map +1 -0
- package/build/src/run/startBundler.js +119 -0
- package/build/src/run/startBundler.js.map +1 -0
- package/build/src/serve/index.js +95 -0
- package/build/src/serve/index.js.map +1 -0
- package/build/src/serve/serveAsync.js +227 -0
- package/build/src/serve/serveAsync.js.map +1 -0
- package/build/src/start/detectDevClient.js +53 -0
- package/build/src/start/detectDevClient.js.map +1 -0
- package/build/src/start/doctor/Prerequisite.js +60 -0
- package/build/src/start/doctor/Prerequisite.js.map +1 -0
- package/build/src/start/doctor/SecurityBinPrerequisite.js +38 -0
- package/build/src/start/doctor/SecurityBinPrerequisite.js.map +1 -0
- package/build/src/start/doctor/apple/SimulatorAppPrerequisite.js +144 -0
- package/build/src/start/doctor/apple/SimulatorAppPrerequisite.js.map +1 -0
- package/build/src/start/doctor/apple/XcodeDeveloperDiskImagePrerequisite.js +106 -0
- package/build/src/start/doctor/apple/XcodeDeveloperDiskImagePrerequisite.js.map +1 -0
- package/build/src/start/doctor/apple/XcodePrerequisite.js +239 -0
- package/build/src/start/doctor/apple/XcodePrerequisite.js.map +1 -0
- package/build/src/start/doctor/apple/XcrunPrerequisite.js +88 -0
- package/build/src/start/doctor/apple/XcrunPrerequisite.js.map +1 -0
- package/build/src/start/doctor/dependencies/bundledNativeModules.js +112 -0
- package/build/src/start/doctor/dependencies/bundledNativeModules.js.map +1 -0
- package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js +192 -0
- package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js.map +1 -0
- package/build/src/start/doctor/dependencies/getMissingPackages.js +108 -0
- package/build/src/start/doctor/dependencies/getMissingPackages.js.map +1 -0
- package/build/src/start/doctor/dependencies/getVersionedPackages.js +165 -0
- package/build/src/start/doctor/dependencies/getVersionedPackages.js.map +1 -0
- package/build/src/start/doctor/dependencies/resolvePackages.js +95 -0
- package/build/src/start/doctor/dependencies/resolvePackages.js.map +1 -0
- package/build/src/start/doctor/dependencies/validateDependenciesVersions.js +262 -0
- package/build/src/start/doctor/dependencies/validateDependenciesVersions.js.map +1 -0
- package/build/src/start/doctor/ngrok/ExternalModule.js +214 -0
- package/build/src/start/doctor/ngrok/ExternalModule.js.map +1 -0
- package/build/src/start/doctor/ngrok/NgrokResolver.js +33 -0
- package/build/src/start/doctor/ngrok/NgrokResolver.js.map +1 -0
- package/build/src/start/doctor/typescript/TypeScriptProjectPrerequisite.js +205 -0
- package/build/src/start/doctor/typescript/TypeScriptProjectPrerequisite.js.map +1 -0
- package/build/src/start/doctor/typescript/updateTSConfig.js +144 -0
- package/build/src/start/doctor/typescript/updateTSConfig.js.map +1 -0
- package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js +164 -0
- package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js.map +1 -0
- package/build/src/start/index.js +151 -0
- package/build/src/start/index.js.map +1 -0
- package/build/src/start/interface/KeyPressHandler.js +126 -0
- package/build/src/start/interface/KeyPressHandler.js.map +1 -0
- package/build/src/start/interface/cliExtensionMenuItemHandler.js +173 -0
- package/build/src/start/interface/cliExtensionMenuItemHandler.js.map +1 -0
- package/build/src/start/interface/commandsTable.js +273 -0
- package/build/src/start/interface/commandsTable.js.map +1 -0
- package/build/src/start/interface/createDevToolsMenuItems.js +159 -0
- package/build/src/start/interface/createDevToolsMenuItems.js.map +1 -0
- package/build/src/start/interface/interactiveActions.js +225 -0
- package/build/src/start/interface/interactiveActions.js.map +1 -0
- package/build/src/start/interface/startInterface.js +261 -0
- package/build/src/start/interface/startInterface.js.map +1 -0
- package/build/src/start/platforms/AppIdResolver.js +55 -0
- package/build/src/start/platforms/AppIdResolver.js.map +1 -0
- package/build/src/start/platforms/DeviceManager.js +74 -0
- package/build/src/start/platforms/DeviceManager.js.map +1 -0
- package/build/src/start/platforms/ExpoGoInstaller.js +167 -0
- package/build/src/start/platforms/ExpoGoInstaller.js.map +1 -0
- package/build/src/start/platforms/PlatformManager.js +149 -0
- package/build/src/start/platforms/PlatformManager.js.map +1 -0
- package/build/src/start/platforms/android/ADBServer.js +139 -0
- package/build/src/start/platforms/android/ADBServer.js.map +1 -0
- package/build/src/start/platforms/android/AndroidAppIdResolver.js +54 -0
- package/build/src/start/platforms/android/AndroidAppIdResolver.js.map +1 -0
- package/build/src/start/platforms/android/AndroidDeviceManager.js +216 -0
- package/build/src/start/platforms/android/AndroidDeviceManager.js.map +1 -0
- package/build/src/start/platforms/android/AndroidPlatformManager.js +80 -0
- package/build/src/start/platforms/android/AndroidPlatformManager.js.map +1 -0
- package/build/src/start/platforms/android/AndroidSdk.js +79 -0
- package/build/src/start/platforms/android/AndroidSdk.js.map +1 -0
- package/build/src/start/platforms/android/activateWindow.js +117 -0
- package/build/src/start/platforms/android/activateWindow.js.map +1 -0
- package/build/src/start/platforms/android/adb.js +367 -0
- package/build/src/start/platforms/android/adb.js.map +1 -0
- package/build/src/start/platforms/android/adbReverse.js +129 -0
- package/build/src/start/platforms/android/adbReverse.js.map +1 -0
- package/build/src/start/platforms/android/emulator.js +185 -0
- package/build/src/start/platforms/android/emulator.js.map +1 -0
- package/build/src/start/platforms/android/getDevices.js +39 -0
- package/build/src/start/platforms/android/getDevices.js.map +1 -0
- package/build/src/start/platforms/android/gradle.js +125 -0
- package/build/src/start/platforms/android/gradle.js.map +1 -0
- package/build/src/start/platforms/android/promptAndroidDevice.js +82 -0
- package/build/src/start/platforms/android/promptAndroidDevice.js.map +1 -0
- package/build/src/start/platforms/ios/AppleAppIdResolver.js +76 -0
- package/build/src/start/platforms/ios/AppleAppIdResolver.js.map +1 -0
- package/build/src/start/platforms/ios/AppleDeviceManager.js +283 -0
- package/build/src/start/platforms/ios/AppleDeviceManager.js.map +1 -0
- package/build/src/start/platforms/ios/ApplePlatformManager.js +34 -0
- package/build/src/start/platforms/ios/ApplePlatformManager.js.map +1 -0
- package/build/src/start/platforms/ios/assertSystemRequirements.js +22 -0
- package/build/src/start/platforms/ios/assertSystemRequirements.js.map +1 -0
- package/build/src/start/platforms/ios/devicectl.js +398 -0
- package/build/src/start/platforms/ios/devicectl.js.map +1 -0
- package/build/src/start/platforms/ios/ensureSimulatorAppRunning.js +122 -0
- package/build/src/start/platforms/ios/ensureSimulatorAppRunning.js.map +1 -0
- package/build/src/start/platforms/ios/getBestSimulator.js +148 -0
- package/build/src/start/platforms/ios/getBestSimulator.js.map +1 -0
- package/build/src/start/platforms/ios/promptAppleDevice.js +72 -0
- package/build/src/start/platforms/ios/promptAppleDevice.js.map +1 -0
- package/build/src/start/platforms/ios/simctl.js +386 -0
- package/build/src/start/platforms/ios/simctl.js.map +1 -0
- package/build/src/start/platforms/ios/simctlLogging.js +276 -0
- package/build/src/start/platforms/ios/simctlLogging.js.map +1 -0
- package/build/src/start/platforms/ios/xcrun.js +74 -0
- package/build/src/start/platforms/ios/xcrun.js.map +1 -0
- package/build/src/start/project/devices.js +92 -0
- package/build/src/start/project/devices.js.map +1 -0
- package/build/src/start/project/dotExpo.js +109 -0
- package/build/src/start/project/dotExpo.js.map +1 -0
- package/build/src/start/project/settings.js +17 -0
- package/build/src/start/project/settings.js.map +1 -0
- package/build/src/start/resolveOptions.js +173 -0
- package/build/src/start/resolveOptions.js.map +1 -0
- package/build/src/start/server/AsyncNgrok.js +269 -0
- package/build/src/start/server/AsyncNgrok.js.map +1 -0
- package/build/src/start/server/AsyncWsTunnel.js +156 -0
- package/build/src/start/server/AsyncWsTunnel.js.map +1 -0
- package/build/src/start/server/Bonjour.js +103 -0
- package/build/src/start/server/Bonjour.js.map +1 -0
- package/build/src/start/server/BundlerDevServer.js +410 -0
- package/build/src/start/server/BundlerDevServer.js.map +1 -0
- package/build/src/start/server/DevServerManager.js +259 -0
- package/build/src/start/server/DevServerManager.js.map +1 -0
- package/build/src/start/server/DevToolsPlugin.js +60 -0
- package/build/src/start/server/DevToolsPlugin.js.map +1 -0
- package/build/src/start/server/DevToolsPlugin.schema.js +79 -0
- package/build/src/start/server/DevToolsPlugin.schema.js.map +1 -0
- package/build/src/start/server/DevToolsPluginCliExtensionExecutor.js +119 -0
- package/build/src/start/server/DevToolsPluginCliExtensionExecutor.js.map +1 -0
- package/build/src/start/server/DevToolsPluginCliExtensionResults.js +61 -0
- package/build/src/start/server/DevToolsPluginCliExtensionResults.js.map +1 -0
- package/build/src/start/server/DevToolsPluginManager.js +60 -0
- package/build/src/start/server/DevToolsPluginManager.js.map +1 -0
- package/build/src/start/server/DevelopmentSession.js +132 -0
- package/build/src/start/server/DevelopmentSession.js.map +1 -0
- package/build/src/start/server/MCP.js +106 -0
- package/build/src/start/server/MCP.js.map +1 -0
- package/build/src/start/server/MCPDevToolsPluginCLIExtensions.js +86 -0
- package/build/src/start/server/MCPDevToolsPluginCLIExtensions.js.map +1 -0
- package/build/src/start/server/UrlCreator.js +219 -0
- package/build/src/start/server/UrlCreator.js.map +1 -0
- package/build/src/start/server/createMCPDevToolsExtensionSchema.js +67 -0
- package/build/src/start/server/createMCPDevToolsExtensionSchema.js.map +1 -0
- package/build/src/start/server/getStaticRenderFunctions.js +171 -0
- package/build/src/start/server/getStaticRenderFunctions.js.map +1 -0
- package/build/src/start/server/metro/DevToolsPluginWebsocketEndpoint.js +39 -0
- package/build/src/start/server/metro/DevToolsPluginWebsocketEndpoint.js.map +1 -0
- package/build/src/start/server/metro/MetroBundlerDevServer.js +1654 -0
- package/build/src/start/server/metro/MetroBundlerDevServer.js.map +1 -0
- package/build/src/start/server/metro/MetroTerminalReporter.js +438 -0
- package/build/src/start/server/metro/MetroTerminalReporter.js.map +1 -0
- package/build/src/start/server/metro/TerminalReporter.js +180 -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/createExpoAutolinkingResolver.js +123 -0
- package/build/src/start/server/metro/createExpoAutolinkingResolver.js.map +1 -0
- package/build/src/start/server/metro/createExpoFallbackResolver.js +143 -0
- package/build/src/start/server/metro/createExpoFallbackResolver.js.map +1 -0
- package/build/src/start/server/metro/createServerComponentsMiddleware.js +501 -0
- package/build/src/start/server/metro/createServerComponentsMiddleware.js.map +1 -0
- package/build/src/start/server/metro/createServerRouteMiddleware.js +229 -0
- package/build/src/start/server/metro/createServerRouteMiddleware.js.map +1 -0
- package/build/src/start/server/metro/debugging/AtlasPrerequisite.js +49 -0
- package/build/src/start/server/metro/debugging/AtlasPrerequisite.js.map +1 -0
- package/build/src/start/server/metro/debugging/MessageHandler.js +30 -0
- package/build/src/start/server/metro/debugging/MessageHandler.js.map +1 -0
- package/build/src/start/server/metro/debugging/attachAtlas.js +103 -0
- package/build/src/start/server/metro/debugging/attachAtlas.js.map +1 -0
- package/build/src/start/server/metro/debugging/createDebugMiddleware.js +127 -0
- package/build/src/start/server/metro/debugging/createDebugMiddleware.js.map +1 -0
- package/build/src/start/server/metro/debugging/createHandlersFactory.js +58 -0
- package/build/src/start/server/metro/debugging/createHandlersFactory.js.map +1 -0
- package/build/src/start/server/metro/debugging/getDebuggerType.js +20 -0
- package/build/src/start/server/metro/debugging/getDebuggerType.js.map +1 -0
- package/build/src/start/server/metro/debugging/messageHandlers/NetworkResponse.js +44 -0
- package/build/src/start/server/metro/debugging/messageHandlers/NetworkResponse.js.map +1 -0
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerGetPossibleBreakpoints.js +30 -0
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerGetPossibleBreakpoints.js.map +1 -0
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerSetBreakpointByUrl.js +27 -0
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerSetBreakpointByUrl.js.map +1 -0
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeCallFunctionOn.js +33 -0
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeCallFunctionOn.js.map +1 -0
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeEvaluate.js +56 -0
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeEvaluate.js.map +1 -0
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeGetProperties.js +49 -0
- package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeGetProperties.js.map +1 -0
- package/build/src/start/server/metro/debugging/pageIsSupported.js +17 -0
- package/build/src/start/server/metro/debugging/pageIsSupported.js.map +1 -0
- package/build/src/start/server/metro/debugging/types.js +6 -0
- package/build/src/start/server/metro/debugging/types.js.map +1 -0
- package/build/src/start/server/metro/dev-server/compression.js +45 -0
- package/build/src/start/server/metro/dev-server/compression.js.map +1 -0
- package/build/src/start/server/metro/dev-server/createEventSocket.js +103 -0
- package/build/src/start/server/metro/dev-server/createEventSocket.js.map +1 -0
- package/build/src/start/server/metro/dev-server/createMessageSocket.js +129 -0
- package/build/src/start/server/metro/dev-server/createMessageSocket.js.map +1 -0
- package/build/src/start/server/metro/dev-server/createMetroMiddleware.js +82 -0
- package/build/src/start/server/metro/dev-server/createMetroMiddleware.js.map +1 -0
- package/build/src/start/server/metro/dev-server/utils/createSocketBroadcaster.js +27 -0
- package/build/src/start/server/metro/dev-server/utils/createSocketBroadcaster.js.map +1 -0
- package/build/src/start/server/metro/dev-server/utils/createSocketMap.js +43 -0
- package/build/src/start/server/metro/dev-server/utils/createSocketMap.js.map +1 -0
- package/build/src/start/server/metro/dev-server/utils/socketMessages.js +41 -0
- package/build/src/start/server/metro/dev-server/utils/socketMessages.js.map +1 -0
- package/build/src/start/server/metro/errors/FailedToResolveNativeOnlyModuleError.js +17 -0
- package/build/src/start/server/metro/errors/FailedToResolveNativeOnlyModuleError.js.map +1 -0
- package/build/src/start/server/metro/externals.js +89 -0
- package/build/src/start/server/metro/externals.js.map +1 -0
- package/build/src/start/server/metro/fetchRouterManifest.js +83 -0
- package/build/src/start/server/metro/fetchRouterManifest.js.map +1 -0
- package/build/src/start/server/metro/getCssModulesFromBundler.js +114 -0
- package/build/src/start/server/metro/getCssModulesFromBundler.js.map +1 -0
- package/build/src/start/server/metro/instantiateMetro.js +492 -0
- package/build/src/start/server/metro/instantiateMetro.js.map +1 -0
- package/build/src/start/server/metro/log-box/LogBoxLog.js +211 -0
- package/build/src/start/server/metro/log-box/LogBoxLog.js.map +1 -0
- package/build/src/start/server/metro/log-box/LogBoxSymbolication.js +124 -0
- package/build/src/start/server/metro/log-box/LogBoxSymbolication.js.map +1 -0
- package/build/src/start/server/metro/log-box/formatProjectFilePath.js +46 -0
- package/build/src/start/server/metro/log-box/formatProjectFilePath.js.map +1 -0
- package/build/src/start/server/metro/metroErrorInterface.js +403 -0
- package/build/src/start/server/metro/metroErrorInterface.js.map +1 -0
- package/build/src/start/server/metro/metroErrors.js +27 -0
- package/build/src/start/server/metro/metroErrors.js.map +1 -0
- package/build/src/start/server/metro/metroVirtualModules.js +92 -0
- package/build/src/start/server/metro/metroVirtualModules.js.map +1 -0
- package/build/src/start/server/metro/metroWatchTypeScriptFiles.js +62 -0
- package/build/src/start/server/metro/metroWatchTypeScriptFiles.js.map +1 -0
- package/build/src/start/server/metro/resolveLoader.js +68 -0
- package/build/src/start/server/metro/resolveLoader.js.map +1 -0
- package/build/src/start/server/metro/router.js +218 -0
- package/build/src/start/server/metro/router.js.map +1 -0
- package/build/src/start/server/metro/runServer-fork.js +179 -0
- package/build/src/start/server/metro/runServer-fork.js.map +1 -0
- package/build/src/start/server/metro/serializeHtml.js +138 -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 +103 -0
- package/build/src/start/server/metro/waitForMetroToObserveTypeScriptFile.js.map +1 -0
- package/build/src/start/server/metro/withMetroErrorReportingResolver.js +266 -0
- package/build/src/start/server/metro/withMetroErrorReportingResolver.js.map +1 -0
- package/build/src/start/server/metro/withMetroMultiPlatform.js +748 -0
- package/build/src/start/server/metro/withMetroMultiPlatform.js.map +1 -0
- package/build/src/start/server/metro/withMetroResolvers.js +110 -0
- package/build/src/start/server/metro/withMetroResolvers.js.map +1 -0
- package/build/src/start/server/metro/withMetroSupervisingTransformWorker.js +63 -0
- package/build/src/start/server/metro/withMetroSupervisingTransformWorker.js.map +1 -0
- package/build/src/start/server/middleware/ContextModuleSourceMapsMiddleware.js +32 -0
- package/build/src/start/server/middleware/ContextModuleSourceMapsMiddleware.js.map +1 -0
- package/build/src/start/server/middleware/CorsMiddleware.js +92 -0
- package/build/src/start/server/middleware/CorsMiddleware.js.map +1 -0
- package/build/src/start/server/middleware/CreateFileMiddleware.js +166 -0
- package/build/src/start/server/middleware/CreateFileMiddleware.js.map +1 -0
- package/build/src/start/server/middleware/DevToolsPluginMiddleware.js +78 -0
- package/build/src/start/server/middleware/DevToolsPluginMiddleware.js.map +1 -0
- package/build/src/start/server/middleware/DomComponentsMiddleware.js +138 -0
- package/build/src/start/server/middleware/DomComponentsMiddleware.js.map +1 -0
- package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js +288 -0
- package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js.map +1 -0
- package/build/src/start/server/middleware/ExpoMiddleware.js +121 -0
- package/build/src/start/server/middleware/ExpoMiddleware.js.map +1 -0
- package/build/src/start/server/middleware/FaviconMiddleware.js +52 -0
- package/build/src/start/server/middleware/FaviconMiddleware.js.map +1 -0
- package/build/src/start/server/middleware/HistoryFallbackMiddleware.js +29 -0
- package/build/src/start/server/middleware/HistoryFallbackMiddleware.js.map +1 -0
- package/build/src/start/server/middleware/InterstitialPageMiddleware.js +116 -0
- package/build/src/start/server/middleware/InterstitialPageMiddleware.js.map +1 -0
- package/build/src/start/server/middleware/ManifestMiddleware.js +362 -0
- package/build/src/start/server/middleware/ManifestMiddleware.js.map +1 -0
- package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js +103 -0
- package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js.map +1 -0
- package/build/src/start/server/middleware/ServeStaticMiddleware.js +85 -0
- package/build/src/start/server/middleware/ServeStaticMiddleware.js.map +1 -0
- package/build/src/start/server/middleware/inspector/CdpClient.js +81 -0
- package/build/src/start/server/middleware/inspector/CdpClient.js.map +1 -0
- package/build/src/start/server/middleware/inspector/JsInspector.js +123 -0
- package/build/src/start/server/middleware/inspector/JsInspector.js.map +1 -0
- package/build/src/start/server/middleware/inspector/createJsInspectorMiddleware.js +91 -0
- package/build/src/start/server/middleware/inspector/createJsInspectorMiddleware.js.map +1 -0
- package/build/src/start/server/middleware/inspector/middlwareMutations.js +30 -0
- package/build/src/start/server/middleware/inspector/middlwareMutations.js.map +1 -0
- package/build/src/start/server/middleware/metroOptions.js +367 -0
- package/build/src/start/server/middleware/metroOptions.js.map +1 -0
- package/build/src/start/server/middleware/mutations.js +33 -0
- package/build/src/start/server/middleware/mutations.js.map +1 -0
- package/build/src/start/server/middleware/resolveAssets.js +154 -0
- package/build/src/start/server/middleware/resolveAssets.js.map +1 -0
- package/build/src/start/server/middleware/resolvePlatform.js +71 -0
- package/build/src/start/server/middleware/resolvePlatform.js.map +1 -0
- package/build/src/start/server/middleware/resolveRuntimeVersionWithExpoUpdatesAsync.js +38 -0
- package/build/src/start/server/middleware/resolveRuntimeVersionWithExpoUpdatesAsync.js.map +1 -0
- package/build/src/start/server/middleware/server.types.js +6 -0
- package/build/src/start/server/middleware/server.types.js.map +1 -0
- package/build/src/start/server/openPlatforms.js +33 -0
- package/build/src/start/server/openPlatforms.js.map +1 -0
- package/build/src/start/server/platformBundlers.js +39 -0
- package/build/src/start/server/platformBundlers.js.map +1 -0
- package/build/src/start/server/serverLogLikeMetro.js +309 -0
- package/build/src/start/server/serverLogLikeMetro.js.map +1 -0
- package/build/src/start/server/type-generation/expo-env.js +51 -0
- package/build/src/start/server/type-generation/expo-env.js.map +1 -0
- package/build/src/start/server/type-generation/routes.js +510 -0
- package/build/src/start/server/type-generation/routes.js.map +1 -0
- package/build/src/start/server/type-generation/startTypescriptTypeGeneration.js +79 -0
- package/build/src/start/server/type-generation/startTypescriptTypeGeneration.js.map +1 -0
- package/build/src/start/server/type-generation/tsconfig.js +122 -0
- package/build/src/start/server/type-generation/tsconfig.js.map +1 -0
- package/build/src/start/server/webTemplate.js +111 -0
- package/build/src/start/server/webTemplate.js.map +1 -0
- package/build/src/start/server/webpack/WebpackBundlerDevServer.js +316 -0
- package/build/src/start/server/webpack/WebpackBundlerDevServer.js.map +1 -0
- package/build/src/start/server/webpack/compile.js +101 -0
- package/build/src/start/server/webpack/compile.js.map +1 -0
- package/build/src/start/server/webpack/formatWebpackMessages.js +106 -0
- package/build/src/start/server/webpack/formatWebpackMessages.js.map +1 -0
- package/build/src/start/server/webpack/resolveFromProject.js +63 -0
- package/build/src/start/server/webpack/resolveFromProject.js.map +1 -0
- package/build/src/start/server/webpack/tls.js +128 -0
- package/build/src/start/server/webpack/tls.js.map +1 -0
- package/build/src/start/startAsync.js +204 -0
- package/build/src/start/startAsync.js.map +1 -0
- package/build/src/types.d.ts +2 -0
- package/build/src/utils/FileNotifier.js +138 -0
- package/build/src/utils/FileNotifier.js.map +1 -0
- package/build/src/utils/ansi.js +22 -0
- package/build/src/utils/ansi.js.map +1 -0
- package/build/src/utils/args.js +141 -0
- package/build/src/utils/args.js.map +1 -0
- package/build/src/utils/array.js +92 -0
- package/build/src/utils/array.js.map +1 -0
- package/build/src/utils/build-cache-providers/helpers.js +61 -0
- package/build/src/utils/build-cache-providers/helpers.js.map +1 -0
- package/build/src/utils/build-cache-providers/index.js +283 -0
- package/build/src/utils/build-cache-providers/index.js.map +1 -0
- package/build/src/utils/cocoapods.js +258 -0
- package/build/src/utils/cocoapods.js.map +1 -0
- package/build/src/utils/codesigning.js +395 -0
- package/build/src/utils/codesigning.js.map +1 -0
- package/build/src/utils/createFileTransform.js +34 -0
- package/build/src/utils/createFileTransform.js.map +1 -0
- package/build/src/utils/createTempPath.js +68 -0
- package/build/src/utils/createTempPath.js.map +1 -0
- package/build/src/utils/delay.js +58 -0
- package/build/src/utils/delay.js.map +1 -0
- package/build/src/utils/dir.js +121 -0
- package/build/src/utils/dir.js.map +1 -0
- package/build/src/utils/downloadAppAsync.js +98 -0
- package/build/src/utils/downloadAppAsync.js.map +1 -0
- package/build/src/utils/downloadExpoGoAsync.js +170 -0
- package/build/src/utils/downloadExpoGoAsync.js.map +1 -0
- package/build/src/utils/editor.js +527 -0
- package/build/src/utils/editor.js.map +1 -0
- package/build/src/utils/env.js +266 -0
- package/build/src/utils/env.js.map +1 -0
- package/build/src/utils/errors.js +134 -0
- package/build/src/utils/errors.js.map +1 -0
- package/build/src/utils/exit.js +210 -0
- package/build/src/utils/exit.js.map +1 -0
- package/build/src/utils/expoUpdatesCli.js +120 -0
- package/build/src/utils/expoUpdatesCli.js.map +1 -0
- package/build/src/utils/fetch.js +41 -0
- package/build/src/utils/fetch.js.map +1 -0
- package/build/src/utils/filePath.js +42 -0
- package/build/src/utils/filePath.js.map +1 -0
- package/build/src/utils/findUp.js +61 -0
- package/build/src/utils/findUp.js.map +1 -0
- package/build/src/utils/fn.js +44 -0
- package/build/src/utils/fn.js.map +1 -0
- package/build/src/utils/freeport.js +70 -0
- package/build/src/utils/freeport.js.map +1 -0
- package/build/src/utils/getOrPromptApplicationId.js +259 -0
- package/build/src/utils/getOrPromptApplicationId.js.map +1 -0
- package/build/src/utils/getRunningProcess.js +181 -0
- package/build/src/utils/getRunningProcess.js.map +1 -0
- package/build/src/utils/git.js +132 -0
- package/build/src/utils/git.js.map +1 -0
- package/build/src/utils/glob.js +46 -0
- package/build/src/utils/glob.js.map +1 -0
- package/build/src/utils/interactive.js +17 -0
- package/build/src/utils/interactive.js.map +1 -0
- package/build/src/utils/ip.js +63 -0
- package/build/src/utils/ip.js.map +1 -0
- package/build/src/utils/isModuleSymlinked.js +54 -0
- package/build/src/utils/isModuleSymlinked.js.map +1 -0
- package/build/src/utils/link.js +55 -0
- package/build/src/utils/link.js.map +1 -0
- package/build/src/utils/mergeGitIgnorePaths.js +189 -0
- package/build/src/utils/mergeGitIgnorePaths.js.map +1 -0
- package/build/src/utils/modifyConfigAsync.js +106 -0
- package/build/src/utils/modifyConfigAsync.js.map +1 -0
- package/build/src/utils/modifyConfigPlugins.js +79 -0
- package/build/src/utils/modifyConfigPlugins.js.map +1 -0
- package/build/src/utils/net.js +43 -0
- package/build/src/utils/net.js.map +1 -0
- package/build/src/utils/nodeEnv.js +168 -0
- package/build/src/utils/nodeEnv.js.map +1 -0
- package/build/src/utils/nodeModules.js +52 -0
- package/build/src/utils/nodeModules.js.map +1 -0
- package/build/src/utils/npm.js +222 -0
- package/build/src/utils/npm.js.map +1 -0
- package/build/src/utils/obj.js +59 -0
- package/build/src/utils/obj.js.map +1 -0
- package/build/src/utils/open.js +36 -0
- package/build/src/utils/open.js.map +1 -0
- package/build/src/utils/ora.js +113 -0
- package/build/src/utils/ora.js.map +1 -0
- package/build/src/utils/plist.js +108 -0
- package/build/src/utils/plist.js.map +1 -0
- package/build/src/utils/port.js +196 -0
- package/build/src/utils/port.js.map +1 -0
- package/build/src/utils/profile.js +94 -0
- package/build/src/utils/profile.js.map +1 -0
- package/build/src/utils/progress.js +76 -0
- package/build/src/utils/progress.js.map +1 -0
- package/build/src/utils/prompts.js +151 -0
- package/build/src/utils/prompts.js.map +1 -0
- package/build/src/utils/qr.js +186 -0
- package/build/src/utils/qr.js.map +1 -0
- package/build/src/utils/resolveArgs.js +236 -0
- package/build/src/utils/resolveArgs.js.map +1 -0
- package/build/src/utils/resolveGlobal.js +195 -0
- package/build/src/utils/resolveGlobal.js.map +1 -0
- package/build/src/utils/scheme.js +212 -0
- package/build/src/utils/scheme.js.map +1 -0
- package/build/src/utils/stream.js +31 -0
- package/build/src/utils/stream.js.map +1 -0
- package/build/src/utils/strings.js +33 -0
- package/build/src/utils/strings.js.map +1 -0
- package/build/src/utils/tar.js +168 -0
- package/build/src/utils/tar.js.map +1 -0
- package/build/src/utils/telemetry/Telemetry.js +131 -0
- package/build/src/utils/telemetry/Telemetry.js.map +1 -0
- package/build/src/utils/telemetry/clients/FetchClient.js +91 -0
- package/build/src/utils/telemetry/clients/FetchClient.js.map +1 -0
- package/build/src/utils/telemetry/clients/FetchDetachedClient.js +86 -0
- package/build/src/utils/telemetry/clients/FetchDetachedClient.js.map +1 -0
- package/build/src/utils/telemetry/clients/flushFetchDetached.js +39 -0
- package/build/src/utils/telemetry/clients/flushFetchDetached.js.map +1 -0
- package/build/src/utils/telemetry/events.js +20 -0
- package/build/src/utils/telemetry/events.js.map +1 -0
- package/build/src/utils/telemetry/index.js +72 -0
- package/build/src/utils/telemetry/index.js.map +1 -0
- package/build/src/utils/telemetry/types.js +6 -0
- package/build/src/utils/telemetry/types.js.map +1 -0
- package/build/src/utils/telemetry/utils/constants.js +23 -0
- package/build/src/utils/telemetry/utils/constants.js.map +1 -0
- package/build/src/utils/telemetry/utils/context.js +115 -0
- package/build/src/utils/telemetry/utils/context.js.map +1 -0
- package/build/src/utils/template.js +48 -0
- package/build/src/utils/template.js.map +1 -0
- package/build/src/utils/terminal.js +15 -0
- package/build/src/utils/terminal.js.map +1 -0
- package/build/src/utils/tsconfig/evaluateTsConfig.js +87 -0
- package/build/src/utils/tsconfig/evaluateTsConfig.js.map +1 -0
- package/build/src/utils/tsconfig/loadTsConfigPaths.js +84 -0
- package/build/src/utils/tsconfig/loadTsConfigPaths.js.map +1 -0
- package/build/src/utils/tsconfig/matchTsConfigPathAlias.js +94 -0
- package/build/src/utils/tsconfig/matchTsConfigPathAlias.js.map +1 -0
- package/build/src/utils/tsconfig/resolveWithTsConfigPaths.js +62 -0
- package/build/src/utils/tsconfig/resolveWithTsConfigPaths.js.map +1 -0
- package/build/src/utils/url.js +92 -0
- package/build/src/utils/url.js.map +1 -0
- package/build/src/utils/validateApplicationId.js +255 -0
- package/build/src/utils/validateApplicationId.js.map +1 -0
- package/build/src/utils/variadic.js +132 -0
- package/build/src/utils/variadic.js.map +1 -0
- package/build/src/whoami/index.js +69 -0
- package/build/src/whoami/index.js.map +1 -0
- package/build/src/whoami/whoamiAsync.js +75 -0
- package/build/src/whoami/whoamiAsync.js.map +1 -0
- package/changes.json +106 -0
- package/internal/unstable-expo-updates-exports.d.ts +31 -0
- package/internal/unstable-expo-updates-exports.js +3 -0
- package/package.json +275 -0
- package/static/loading-page/index.html +363 -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/+html.tsx +28 -0
- package/static/template/+native-intent.ts +9 -0
- package/static/template/.eslintrc.js +5 -0
- package/static/template/[...rsc]+api.ts +16 -0
- package/static/template/babel.config.js +6 -0
- package/static/template/eslint.config.js +10 -0
- package/static/template/index.html +36 -0
- package/static/template/metro.config.js +7 -0
- package/static/template/webpack.config.js +7 -0
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
function _export(target, all) {
|
|
6
|
+
for(var name in all)Object.defineProperty(target, name, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: all[name]
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
_export(exports, {
|
|
12
|
+
assetsRequiresSort: function() {
|
|
13
|
+
return assetsRequiresSort;
|
|
14
|
+
},
|
|
15
|
+
serializeHtmlWithAssets: function() {
|
|
16
|
+
return serializeHtmlWithAssets;
|
|
17
|
+
},
|
|
18
|
+
sortMatchedAssetsByEntryPoints: function() {
|
|
19
|
+
return sortMatchedAssetsByEntryPoints;
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
const debug = require('debug')('expo:metro:html');
|
|
23
|
+
function serializeHtmlWithAssets({ resources, template, devBundleUrl, baseUrl, route, isExporting, hydrate }) {
|
|
24
|
+
if (!resources) {
|
|
25
|
+
return '';
|
|
26
|
+
}
|
|
27
|
+
return htmlFromSerialAssets(resources, {
|
|
28
|
+
isExporting,
|
|
29
|
+
template,
|
|
30
|
+
baseUrl,
|
|
31
|
+
bundleUrl: isExporting ? undefined : devBundleUrl,
|
|
32
|
+
route,
|
|
33
|
+
hydrate
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Combine the path segments of a URL.
|
|
38
|
+
* This filters out empty segments and avoids duplicate slashes when joining.
|
|
39
|
+
* If base url is empty, it will be treated as a root path, adding `/` to the beginning.
|
|
40
|
+
*/ function combineUrlPath(baseUrl, ...segments) {
|
|
41
|
+
return [
|
|
42
|
+
baseUrl || '/',
|
|
43
|
+
...segments
|
|
44
|
+
].filter(Boolean).map((segment, index)=>{
|
|
45
|
+
const segmentIsBaseUrl = index === 0;
|
|
46
|
+
// Do not remove leading slashes from baseUrl
|
|
47
|
+
return segment.replace(segmentIsBaseUrl ? /\/+$/g : /^\/+|\/+$/g, '');
|
|
48
|
+
}).join('/');
|
|
49
|
+
}
|
|
50
|
+
function htmlFromSerialAssets(assets, { isExporting, template, baseUrl, bundleUrl, route, hydrate }) {
|
|
51
|
+
// Combine the CSS modules into tags that have hot refresh data attributes.
|
|
52
|
+
const styleString = assets.filter((asset)=>asset.type.startsWith('css')).map(({ type, metadata, filename, source })=>{
|
|
53
|
+
if (type === 'css') {
|
|
54
|
+
if (isExporting) {
|
|
55
|
+
return [
|
|
56
|
+
`<link rel="preload" href="${combineUrlPath(baseUrl, filename)}" as="style">`,
|
|
57
|
+
`<link rel="stylesheet" href="${combineUrlPath(baseUrl, filename)}">`
|
|
58
|
+
].join('');
|
|
59
|
+
} else {
|
|
60
|
+
return `<style data-expo-css-hmr="${metadata.hmrId}">` + source + '\n</style>';
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
// External link tags will be passed through as-is.
|
|
64
|
+
return source;
|
|
65
|
+
}).join('');
|
|
66
|
+
let orderedJsAssets = assetsRequiresSort(assets.filter((asset)=>asset.type === 'js'));
|
|
67
|
+
if ((route == null ? void 0 : route.entryPoints) && Array.isArray(route.entryPoints)) {
|
|
68
|
+
const syncAssets = orderedJsAssets.filter((a)=>!a.metadata.isAsync);
|
|
69
|
+
const sortedAsync = sortMatchedAssetsByEntryPoints(orderedJsAssets.filter((a)=>a.metadata.isAsync), route.entryPoints);
|
|
70
|
+
orderedJsAssets = [
|
|
71
|
+
...syncAssets,
|
|
72
|
+
...sortedAsync
|
|
73
|
+
];
|
|
74
|
+
}
|
|
75
|
+
const scripts = bundleUrl ? `<script src="${bundleUrl}" defer></script>` : orderedJsAssets.map(({ filename, metadata })=>{
|
|
76
|
+
// TODO: Mark dependencies of the HTML and include them to prevent waterfalls.
|
|
77
|
+
if (metadata.isAsync) {
|
|
78
|
+
// We have the data required to match async chunks to the route's HTML file.
|
|
79
|
+
if ((route == null ? void 0 : route.entryPoints) && metadata.modulePaths && Array.isArray(route.entryPoints) && Array.isArray(metadata.modulePaths)) {
|
|
80
|
+
// TODO: Handle module IDs like `expo-router/build/views/Unmatched.js`
|
|
81
|
+
const doesAsyncChunkContainRouteEntryPoint = route.entryPoints.some((entryPoint)=>metadata.modulePaths.includes(entryPoint));
|
|
82
|
+
if (!doesAsyncChunkContainRouteEntryPoint) {
|
|
83
|
+
return '';
|
|
84
|
+
}
|
|
85
|
+
debug('Linking async chunk %s to HTML for route %s', filename, route.contextKey);
|
|
86
|
+
// Pass through to the next condition.
|
|
87
|
+
} else {
|
|
88
|
+
return '';
|
|
89
|
+
}
|
|
90
|
+
// Mark async chunks as defer so they don't block the page load.
|
|
91
|
+
// return `<script src="${combineUrlPath(baseUrl, filename)" defer></script>`;
|
|
92
|
+
}
|
|
93
|
+
return `<script src="${combineUrlPath(baseUrl, filename)}" defer></script>`;
|
|
94
|
+
}).join('');
|
|
95
|
+
if (hydrate) {
|
|
96
|
+
const hydrateScript = `<script type="module">globalThis.__EXPO_ROUTER_HYDRATE__=true;</script>`;
|
|
97
|
+
template = template.replace('</head>', `${hydrateScript}</head>`);
|
|
98
|
+
}
|
|
99
|
+
return template.replace('</head>', `${styleString}</head>`).replace('</body>', `${scripts}\n</body>`);
|
|
100
|
+
}
|
|
101
|
+
function sortMatchedAssetsByEntryPoints(matchedAssets, entryPoints) {
|
|
102
|
+
const getEntryPointIndex = (modulePaths)=>modulePaths ? entryPoints.findIndex((ep)=>modulePaths.includes(ep)) : -1;
|
|
103
|
+
return matchedAssets.sort((a, b)=>getEntryPointIndex(a.metadata.modulePaths) - getEntryPointIndex(b.metadata.modulePaths));
|
|
104
|
+
}
|
|
105
|
+
function assetsRequiresSort(assets) {
|
|
106
|
+
const lookup = new Map();
|
|
107
|
+
const visited = new Set();
|
|
108
|
+
const visiting = new Set();
|
|
109
|
+
const result = [];
|
|
110
|
+
assets.forEach((a)=>{
|
|
111
|
+
lookup.set(a.filename, a);
|
|
112
|
+
});
|
|
113
|
+
function visit(name) {
|
|
114
|
+
var _module_metadata_requires;
|
|
115
|
+
if (visited.has(name)) return;
|
|
116
|
+
if (visiting.has(name)) throw new Error(`Circular dependencies in assets are not allowed. Found cycle: ${[
|
|
117
|
+
...visiting,
|
|
118
|
+
name
|
|
119
|
+
].join(' -> ')}`);
|
|
120
|
+
visiting.add(name);
|
|
121
|
+
const module = lookup.get(name);
|
|
122
|
+
if (!module) throw new Error(`Asset not found: ${name}`);
|
|
123
|
+
(_module_metadata_requires = module.metadata.requires) == null ? void 0 : _module_metadata_requires.forEach((dependency)=>{
|
|
124
|
+
visit(dependency);
|
|
125
|
+
});
|
|
126
|
+
visiting.delete(name);
|
|
127
|
+
visited.add(name);
|
|
128
|
+
result.push(module);
|
|
129
|
+
}
|
|
130
|
+
assets.forEach((a)=>{
|
|
131
|
+
if (!visited.has(a.filename)) {
|
|
132
|
+
visit(a.filename);
|
|
133
|
+
}
|
|
134
|
+
});
|
|
135
|
+
return result;
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
//# sourceMappingURL=serializeHtml.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../src/start/server/metro/serializeHtml.ts"],"sourcesContent":["import type { SerialAsset } from '@expo/metro-config/build/serializer/serializerAssets';\nimport type { RouteNode } from 'expo-router/build/Route';\n\nconst debug = require('debug')('expo:metro:html') as typeof console.log;\n\nexport function serializeHtmlWithAssets({\n resources,\n template,\n devBundleUrl,\n baseUrl,\n route,\n isExporting,\n hydrate,\n}: {\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 route?: RouteNode;\n isExporting: boolean;\n hydrate?: boolean;\n}): string {\n if (!resources) {\n return '';\n }\n return htmlFromSerialAssets(resources, {\n isExporting,\n template,\n baseUrl,\n bundleUrl: isExporting ? undefined : devBundleUrl,\n route,\n hydrate,\n });\n}\n\n/**\n * Combine the path segments of a URL.\n * This filters out empty segments and avoids duplicate slashes when joining.\n * If base url is empty, it will be treated as a root path, adding `/` to the beginning.\n */\nfunction combineUrlPath(baseUrl: string, ...segments: string[]) {\n return [baseUrl || '/', ...segments]\n .filter(Boolean)\n .map((segment, index) => {\n const segmentIsBaseUrl = index === 0;\n // Do not remove leading slashes from baseUrl\n return segment.replace(segmentIsBaseUrl ? /\\/+$/g : /^\\/+|\\/+$/g, '');\n })\n .join('/');\n}\n\nfunction htmlFromSerialAssets(\n assets: SerialAsset[],\n {\n isExporting,\n template,\n baseUrl,\n bundleUrl,\n route,\n hydrate,\n }: {\n isExporting: boolean;\n template: string;\n baseUrl: string;\n /** This is dev-only. */\n bundleUrl?: string;\n route?: RouteNode;\n hydrate?: boolean;\n }\n) {\n // Combine the CSS modules into tags that have hot refresh data attributes.\n const styleString = assets\n .filter((asset) => asset.type.startsWith('css'))\n .map(({ type, metadata, filename, source }) => {\n if (type === 'css') {\n if (isExporting) {\n return [\n `<link rel=\"preload\" href=\"${combineUrlPath(baseUrl, filename)}\" as=\"style\">`,\n `<link rel=\"stylesheet\" href=\"${combineUrlPath(baseUrl, filename)}\">`,\n ].join('');\n } else {\n return `<style data-expo-css-hmr=\"${metadata.hmrId}\">` + source + '\\n</style>';\n }\n }\n // External link tags will be passed through as-is.\n return source;\n })\n .join('');\n\n let orderedJsAssets = assetsRequiresSort(assets.filter((asset) => asset.type === 'js'));\n\n if (route?.entryPoints && Array.isArray(route.entryPoints)) {\n const syncAssets = orderedJsAssets.filter((a) => !a.metadata.isAsync);\n const sortedAsync = sortMatchedAssetsByEntryPoints(\n orderedJsAssets.filter((a) => a.metadata.isAsync),\n route.entryPoints\n );\n orderedJsAssets = [...syncAssets, ...sortedAsync];\n }\n\n const scripts = bundleUrl\n ? `<script src=\"${bundleUrl}\" defer></script>`\n : orderedJsAssets\n .map(({ filename, metadata }) => {\n // TODO: Mark dependencies of the HTML and include them to prevent waterfalls.\n if (metadata.isAsync) {\n // We have the data required to match async chunks to the route's HTML file.\n if (\n route?.entryPoints &&\n metadata.modulePaths &&\n Array.isArray(route.entryPoints) &&\n Array.isArray(metadata.modulePaths)\n ) {\n // TODO: Handle module IDs like `expo-router/build/views/Unmatched.js`\n const doesAsyncChunkContainRouteEntryPoint = route.entryPoints.some((entryPoint) =>\n (metadata.modulePaths as string[]).includes(entryPoint)\n );\n if (!doesAsyncChunkContainRouteEntryPoint) {\n return '';\n }\n debug('Linking async chunk %s to HTML for route %s', filename, route.contextKey);\n // Pass through to the next condition.\n } else {\n return '';\n }\n // Mark async chunks as defer so they don't block the page load.\n // return `<script src=\"${combineUrlPath(baseUrl, filename)\" defer></script>`;\n }\n\n return `<script src=\"${combineUrlPath(baseUrl, filename)}\" defer></script>`;\n })\n .join('');\n\n if (hydrate) {\n const hydrateScript = `<script type=\"module\">globalThis.__EXPO_ROUTER_HYDRATE__=true;</script>`;\n template = template.replace('</head>', `${hydrateScript}</head>`);\n }\n\n return template\n .replace('</head>', `${styleString}</head>`)\n .replace('</body>', `${scripts}\\n</body>`);\n}\n\n/**\n * Sorts matched async assets by their matching `entryPoint` in the route's `entryPoints` array.\n * This ensures layout chunks come before page chunks.\n */\nexport function sortMatchedAssetsByEntryPoints(\n matchedAssets: SerialAsset[],\n entryPoints: string[]\n): SerialAsset[] {\n const getEntryPointIndex = (modulePaths?: string[]) =>\n modulePaths ? entryPoints.findIndex((ep) => modulePaths.includes(ep)) : -1;\n\n return matchedAssets.sort(\n (a, b) =>\n getEntryPointIndex(a.metadata.modulePaths) - getEntryPointIndex(b.metadata.modulePaths)\n );\n}\n\n/**\n * Sorts assets based on the requires tree. DFS order.\n */\nexport function assetsRequiresSort(assets: SerialAsset[]): SerialAsset[] {\n const lookup = new Map<string, SerialAsset>();\n const visited = new Set();\n const visiting = new Set();\n const result: SerialAsset[] = [];\n\n assets.forEach((a) => {\n lookup.set(a.filename, a);\n });\n\n function visit(name: string) {\n if (visited.has(name)) return;\n if (visiting.has(name))\n throw new Error(\n `Circular dependencies in assets are not allowed. Found cycle: ${[...visiting, name].join(' -> ')}`\n );\n\n visiting.add(name);\n\n const module = lookup.get(name);\n if (!module) throw new Error(`Asset not found: ${name}`);\n\n module.metadata.requires?.forEach((dependency) => {\n visit(dependency);\n });\n\n visiting.delete(name);\n visited.add(name);\n result.push(module);\n }\n\n assets.forEach((a) => {\n if (!visited.has(a.filename)) {\n visit(a.filename);\n }\n });\n\n return result;\n}\n"],"names":["assetsRequiresSort","serializeHtmlWithAssets","sortMatchedAssetsByEntryPoints","debug","require","resources","template","devBundleUrl","baseUrl","route","isExporting","hydrate","htmlFromSerialAssets","bundleUrl","undefined","combineUrlPath","segments","filter","Boolean","map","segment","index","segmentIsBaseUrl","replace","join","assets","styleString","asset","type","startsWith","metadata","filename","source","hmrId","orderedJsAssets","entryPoints","Array","isArray","syncAssets","a","isAsync","sortedAsync","scripts","modulePaths","doesAsyncChunkContainRouteEntryPoint","some","entryPoint","includes","contextKey","hydrateScript","matchedAssets","getEntryPointIndex","findIndex","ep","sort","b","lookup","Map","visited","Set","visiting","result","forEach","set","visit","name","module","has","Error","add","get","requires","dependency","delete","push"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
function _export(target, all) {
|
|
6
|
+
for(var name in all)Object.defineProperty(target, name, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: all[name]
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
_export(exports, {
|
|
12
|
+
observeAnyFileChanges: function() {
|
|
13
|
+
return observeAnyFileChanges;
|
|
14
|
+
},
|
|
15
|
+
observeFileChanges: function() {
|
|
16
|
+
return observeFileChanges;
|
|
17
|
+
},
|
|
18
|
+
waitForMetroToObserveTypeScriptFile: function() {
|
|
19
|
+
return waitForMetroToObserveTypeScriptFile;
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
function _path() {
|
|
23
|
+
const data = /*#__PURE__*/ _interop_require_default(require("path"));
|
|
24
|
+
_path = function() {
|
|
25
|
+
return data;
|
|
26
|
+
};
|
|
27
|
+
return data;
|
|
28
|
+
}
|
|
29
|
+
function _interop_require_default(obj) {
|
|
30
|
+
return obj && obj.__esModule ? obj : {
|
|
31
|
+
default: obj
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
const debug = require('debug')('expo:start:server:metro:waitForTypescript');
|
|
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 _event_metadata;
|
|
41
|
+
if (event.type === 'add' && ((_event_metadata = event.metadata) == null ? void 0 : _event_metadata.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.call(runner.server, '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
|
+
_event_metadata;
|
|
70
|
+
if (((_event_metadata = event.metadata) == null ? void 0 : _event_metadata.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.call(runner.server, 'close', off);
|
|
88
|
+
return off;
|
|
89
|
+
}
|
|
90
|
+
function observeAnyFileChanges(runner, callback) {
|
|
91
|
+
const watcher = runner.metro.getBundler().getBundler().getWatcher();
|
|
92
|
+
const listener = ({ eventsQueue })=>{
|
|
93
|
+
callback(eventsQueue);
|
|
94
|
+
};
|
|
95
|
+
watcher.addListener('change', listener);
|
|
96
|
+
const off = ()=>{
|
|
97
|
+
watcher.removeListener('change', listener);
|
|
98
|
+
};
|
|
99
|
+
runner.server.addListener == null ? void 0 : runner.server.addListener.call(runner.server, 'close', off);
|
|
100
|
+
return off;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
//# sourceMappingURL=waitForMetroToObserveTypeScriptFile.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../src/start/server/metro/waitForMetroToObserveTypeScriptFile.ts"],"sourcesContent":["import type MetroServer from '@expo/metro/metro/Server';\nimport path from 'path';\n\nimport type { ServerLike } from '../BundlerDevServer';\n\nconst debug = require('debug')('expo:start:server:metro:waitForTypescript') as typeof console.log;\n\nexport type FileChangeEvent = {\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 waitForMetroToObserveTypeScriptFile(\n projectRoot: string,\n runner: {\n metro: MetroServer;\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 = ({ eventsQueue }: { eventsQueue: FileChangeEvent[] }) => {\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: MetroServer;\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\nexport function observeAnyFileChanges(\n runner: {\n metro: MetroServer;\n server: ServerLike;\n },\n callback: (events: FileChangeEvent[]) => void | Promise<void>\n): () => void {\n const watcher = runner.metro.getBundler().getBundler().getWatcher();\n\n const listener = ({ eventsQueue }: { eventsQueue: FileChangeEvent[] }) => {\n callback(eventsQueue);\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"],"names":["observeAnyFileChanges","observeFileChanges","waitForMetroToObserveTypeScriptFile","debug","require","projectRoot","runner","callback","watcher","metro","getBundler","getWatcher","tsconfigPath","path","join","listener","eventsQueue","event","type","metadata","test","filePath","off","addListener","removeListener","server","files","includes"],"mappings":";;;;;;;;;;;IAqHgBA,qBAAqB;eAArBA;;IAlDAC,kBAAkB;eAAlBA;;IAhDAC,mCAAmC;eAAnCA;;;;gEAlBC;;;;;;;;;;;AAIjB,MAAMC,QAAQC,QAAQ,SAAS;AAcxB,SAASF,oCACdG,WAAmB,EACnBC,MAGC,EACDC,QAA6B;IAE7B,MAAMC,UAAUF,OAAOG,KAAK,CAACC,UAAU,GAAGA,UAAU,GAAGC,UAAU;IAEjE,MAAMC,eAAeC,eAAI,CAACC,IAAI,CAACT,aAAa;IAE5C,MAAMU,WAAW,CAAC,EAAEC,WAAW,EAAsC;QACnE,KAAK,MAAMC,SAASD,YAAa;gBAG7BC;YAFF,IACEA,MAAMC,IAAI,KAAK,SACfD,EAAAA,kBAAAA,MAAME,QAAQ,qBAAdF,gBAAgBC,IAAI,MAAK,OACzB,yGAAyG;YACzG,CAAC,eAAeE,IAAI,CAACH,MAAMI,QAAQ,GACnC;gBACA,MAAM,EAAEA,QAAQ,EAAE,GAAGJ;gBACrB,iBAAiB;gBACjB,IACE,+EAA+E;gBAC/E,UAAUG,IAAI,CAACC,aACf,gEAAgE;gBAChEA,aAAaT,cACb;oBACAT,MAAM,mDAAmDkB;oBACzDd;oBACAe;oBACA;gBACF;YACF;QACF;IACF;IAEAnB,MAAM;IACNK,QAAQe,WAAW,CAAC,UAAUR;IAE9B,MAAMO,MAAM;QACVd,QAAQgB,cAAc,CAAC,UAAUT;IACnC;IAEAT,OAAOmB,MAAM,CAACF,WAAW,oBAAzBjB,OAAOmB,MAAM,CAACF,WAAW,MAAzBjB,OAAOmB,MAAM,EAAe,SAASH;IACrC,OAAOA;AACT;AAEO,SAASrB,mBACdK,MAGC,EACDoB,KAAe,EACfnB,QAAoC;IAEpC,MAAMC,UAAUF,OAAOG,KAAK,CAACC,UAAU,GAAGA,UAAU,GAAGC,UAAU;IAEjE,MAAMI,WAAW,CAAC,EAChBC,WAAW,EASZ;QACC,KAAK,MAAMC,SAASD,YAAa;gBAE7B,0BAA0B;YAC1BC;YAFF,IAEEA,EAAAA,kBAAAA,MAAME,QAAQ,qBAAdF,gBAAgBC,IAAI,MAAK,OACzB,yGAAyG;YACzG,CAAC,eAAeE,IAAI,CAACH,MAAMI,QAAQ,GACnC;gBACA,MAAM,EAAEA,QAAQ,EAAE,GAAGJ;gBACrB,iBAAiB;gBACjB,IAAIS,MAAMC,QAAQ,CAACN,WAAW;oBAC5BlB,MAAM,oBAAoBkB;oBAC1Bd;oBACA;gBACF;YACF;QACF;IACF;IAEAJ,MAAM,0BAA0BuB;IAChClB,QAAQe,WAAW,CAAC,UAAUR;IAE9B,MAAMO,MAAM;QACVd,QAAQgB,cAAc,CAAC,UAAUT;IACnC;IAEAT,OAAOmB,MAAM,CAACF,WAAW,oBAAzBjB,OAAOmB,MAAM,CAACF,WAAW,MAAzBjB,OAAOmB,MAAM,EAAe,SAASH;IACrC,OAAOA;AACT;AAEO,SAAStB,sBACdM,MAGC,EACDC,QAA6D;IAE7D,MAAMC,UAAUF,OAAOG,KAAK,CAACC,UAAU,GAAGA,UAAU,GAAGC,UAAU;IAEjE,MAAMI,WAAW,CAAC,EAAEC,WAAW,EAAsC;QACnET,SAASS;IACX;IAEAR,QAAQe,WAAW,CAAC,UAAUR;IAE9B,MAAMO,MAAM;QACVd,QAAQgB,cAAc,CAAC,UAAUT;IACnC;IAEAT,OAAOmB,MAAM,CAACF,WAAW,oBAAzBjB,OAAOmB,MAAM,CAACF,WAAW,MAAzBjB,OAAOmB,MAAM,EAAe,SAASH;IACrC,OAAOA;AACT"}
|
|
@@ -0,0 +1,266 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
function _export(target, all) {
|
|
6
|
+
for(var name in all)Object.defineProperty(target, name, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: all[name]
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
_export(exports, {
|
|
12
|
+
createMutateResolutionError: function() {
|
|
13
|
+
return createMutateResolutionError;
|
|
14
|
+
},
|
|
15
|
+
withMetroErrorReportingResolver: function() {
|
|
16
|
+
return withMetroErrorReportingResolver;
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
function _chalk() {
|
|
20
|
+
const data = /*#__PURE__*/ _interop_require_default(require("chalk"));
|
|
21
|
+
_chalk = function() {
|
|
22
|
+
return data;
|
|
23
|
+
};
|
|
24
|
+
return data;
|
|
25
|
+
}
|
|
26
|
+
function _path() {
|
|
27
|
+
const data = /*#__PURE__*/ _interop_require_default(require("path"));
|
|
28
|
+
_path = function() {
|
|
29
|
+
return data;
|
|
30
|
+
};
|
|
31
|
+
return data;
|
|
32
|
+
}
|
|
33
|
+
function _util() {
|
|
34
|
+
const data = require("util");
|
|
35
|
+
_util = function() {
|
|
36
|
+
return data;
|
|
37
|
+
};
|
|
38
|
+
return data;
|
|
39
|
+
}
|
|
40
|
+
const _dir = require("../../../utils/dir");
|
|
41
|
+
const _env = require("../../../utils/env");
|
|
42
|
+
function _interop_require_default(obj) {
|
|
43
|
+
return obj && obj.__esModule ? obj : {
|
|
44
|
+
default: obj
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
const debug = require('debug')('expo:metro:withMetroResolvers');
|
|
48
|
+
// TODO: Do we need to expose this?
|
|
49
|
+
const STACK_DEPTH_LIMIT = 35;
|
|
50
|
+
const STACK_COUNT_LIMIT = 2000;
|
|
51
|
+
function withMetroErrorReportingResolver(config) {
|
|
52
|
+
var _config_resolver;
|
|
53
|
+
if (!_env.env.EXPO_METRO_UNSTABLE_ERRORS) {
|
|
54
|
+
return config;
|
|
55
|
+
}
|
|
56
|
+
const originalResolveRequest = (_config_resolver = config.resolver) == null ? void 0 : _config_resolver.resolveRequest;
|
|
57
|
+
const depGraph = new Map();
|
|
58
|
+
const mutateResolutionError = createMutateResolutionError(config, depGraph);
|
|
59
|
+
return {
|
|
60
|
+
...config,
|
|
61
|
+
resolver: {
|
|
62
|
+
...config.resolver,
|
|
63
|
+
resolveRequest (context, moduleName, platform) {
|
|
64
|
+
const storeResult = (res)=>{
|
|
65
|
+
const inputPlatform = platform ?? 'null';
|
|
66
|
+
const key = optionsKeyForContext(context);
|
|
67
|
+
if (!depGraph.has(key)) depGraph.set(key, new Map());
|
|
68
|
+
const mapByTarget = depGraph.get(key);
|
|
69
|
+
if (!mapByTarget.has(inputPlatform)) mapByTarget.set(inputPlatform, new Map());
|
|
70
|
+
const mapByPlatform = mapByTarget.get(inputPlatform);
|
|
71
|
+
if (!mapByPlatform.has(context.originModulePath)) mapByPlatform.set(context.originModulePath, new Set());
|
|
72
|
+
const setForModule = mapByPlatform.get(context.originModulePath);
|
|
73
|
+
const qualifiedModuleName = (res == null ? void 0 : res.type) === 'sourceFile' ? res.filePath : moduleName;
|
|
74
|
+
setForModule.add({
|
|
75
|
+
path: qualifiedModuleName,
|
|
76
|
+
request: moduleName
|
|
77
|
+
});
|
|
78
|
+
};
|
|
79
|
+
// If the user defined a resolver, run it first and depend on the documented
|
|
80
|
+
// chaining logic: https://facebook.github.io/metro/docs/resolution/#resolution-algorithm
|
|
81
|
+
//
|
|
82
|
+
// config.resolver.resolveRequest = (context, moduleName, platform) => {
|
|
83
|
+
//
|
|
84
|
+
// // Do work...
|
|
85
|
+
//
|
|
86
|
+
// return context.resolveRequest(context, moduleName, platform);
|
|
87
|
+
// };
|
|
88
|
+
try {
|
|
89
|
+
const firstResolver = originalResolveRequest ?? context.resolveRequest;
|
|
90
|
+
const res = firstResolver(context, moduleName, platform);
|
|
91
|
+
storeResult(res);
|
|
92
|
+
return res;
|
|
93
|
+
} catch (error) {
|
|
94
|
+
throw mutateResolutionError(error, context, moduleName, platform);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
function optionsKeyForContext(context) {
|
|
101
|
+
const canonicalize = require('@expo/metro/metro-core/canonicalize');
|
|
102
|
+
// Compound key for the resolver cache
|
|
103
|
+
return JSON.stringify(context.customResolverOptions ?? {}, canonicalize) ?? '';
|
|
104
|
+
}
|
|
105
|
+
const createMutateResolutionError = (config, depGraph, stackDepthLimit = STACK_DEPTH_LIMIT, stackCountLimit = STACK_COUNT_LIMIT)=>(error, context, moduleName, platform)=>{
|
|
106
|
+
var _config_server;
|
|
107
|
+
const inputPlatform = platform ?? 'null';
|
|
108
|
+
const mapByOrigin = depGraph.get(optionsKeyForContext(context));
|
|
109
|
+
const mapByPlatform = mapByOrigin == null ? void 0 : mapByOrigin.get(inputPlatform);
|
|
110
|
+
if (!mapByPlatform) {
|
|
111
|
+
return error;
|
|
112
|
+
}
|
|
113
|
+
// collect all references inversely using some expensive lookup
|
|
114
|
+
const getReferences = (origin)=>{
|
|
115
|
+
const inverseOrigin = [];
|
|
116
|
+
if (!mapByPlatform) {
|
|
117
|
+
return inverseOrigin;
|
|
118
|
+
}
|
|
119
|
+
for (const [originKey, mapByTarget] of mapByPlatform){
|
|
120
|
+
// search comparing origin to path
|
|
121
|
+
const found = [
|
|
122
|
+
...mapByTarget.values()
|
|
123
|
+
].find((resolution)=>resolution.path === origin);
|
|
124
|
+
if (found) {
|
|
125
|
+
inverseOrigin.push({
|
|
126
|
+
origin,
|
|
127
|
+
previous: originKey,
|
|
128
|
+
request: found.request
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
return inverseOrigin;
|
|
133
|
+
};
|
|
134
|
+
const root = ((_config_server = config.server) == null ? void 0 : _config_server.unstable_serverRoot) ?? config.projectRoot;
|
|
135
|
+
const projectRoot = config.projectRoot;
|
|
136
|
+
let stackCounter = 0;
|
|
137
|
+
let inverseStack;
|
|
138
|
+
/** @returns boolean - done */ const saveStack = (stack)=>{
|
|
139
|
+
stackCounter++;
|
|
140
|
+
if (!inverseStack) {
|
|
141
|
+
// First stack, save it
|
|
142
|
+
inverseStack = stack;
|
|
143
|
+
return false;
|
|
144
|
+
}
|
|
145
|
+
if (stackCounter >= stackCountLimit) {
|
|
146
|
+
// Too many stacks explored, stop searching
|
|
147
|
+
return true;
|
|
148
|
+
}
|
|
149
|
+
if (stack.circular || stack.limited) {
|
|
150
|
+
// Not better than the current one, skip
|
|
151
|
+
return false;
|
|
152
|
+
}
|
|
153
|
+
if (inverseStack.circular || inverseStack.limited) {
|
|
154
|
+
// Current one is better than the previous one, save it
|
|
155
|
+
inverseStack = stack;
|
|
156
|
+
// No return as we want to continue validation the new stack
|
|
157
|
+
}
|
|
158
|
+
if (inverseStack.projectRoot) {
|
|
159
|
+
// The best possible stack already acquired, skip
|
|
160
|
+
return true;
|
|
161
|
+
}
|
|
162
|
+
const stackOrigin = stack.frames[stack.frames.length - 1].origin;
|
|
163
|
+
if (stackOrigin && (0, _dir.isPathInside)(stackOrigin, projectRoot) && !stackOrigin.includes('node_modules')) {
|
|
164
|
+
// The best stack to show to users is the one leading from the project code.
|
|
165
|
+
stack.serverRoot = true;
|
|
166
|
+
inverseStack = stack;
|
|
167
|
+
return true;
|
|
168
|
+
}
|
|
169
|
+
if (// Has to be after the project root check
|
|
170
|
+
stackOrigin && (0, _dir.isPathInside)(stackOrigin, root) && !stackOrigin.includes('node_modules')) {
|
|
171
|
+
// The best stack to show to users is the one leading from the monorepo code.
|
|
172
|
+
stack.serverRoot = true;
|
|
173
|
+
inverseStack = stack;
|
|
174
|
+
return false;
|
|
175
|
+
}
|
|
176
|
+
// If new stack is not better do nothing
|
|
177
|
+
return false;
|
|
178
|
+
};
|
|
179
|
+
/** @returns boolean - done */ const recurseBackWithLimit = (frame, limit, stack = {
|
|
180
|
+
frames: []
|
|
181
|
+
}, visited = new Set())=>{
|
|
182
|
+
stack.frames.push(frame);
|
|
183
|
+
if (visited.has(frame.origin)) {
|
|
184
|
+
stack.circular = true;
|
|
185
|
+
return saveStack(stack);
|
|
186
|
+
}
|
|
187
|
+
if (stack.frames.length >= limit) {
|
|
188
|
+
stack.limited = true;
|
|
189
|
+
return saveStack(stack);
|
|
190
|
+
}
|
|
191
|
+
visited.add(frame.origin);
|
|
192
|
+
const inverse = getReferences(frame.origin);
|
|
193
|
+
if (inverse.length === 0) {
|
|
194
|
+
// No more references, push the stack and return
|
|
195
|
+
return saveStack(stack);
|
|
196
|
+
}
|
|
197
|
+
for (const match of inverse){
|
|
198
|
+
// Use more qualified name if possible
|
|
199
|
+
// results.origin = match.origin;
|
|
200
|
+
// Found entry point
|
|
201
|
+
if (frame.origin === match.previous) {
|
|
202
|
+
continue;
|
|
203
|
+
}
|
|
204
|
+
const isDone = recurseBackWithLimit({
|
|
205
|
+
origin: match.previous,
|
|
206
|
+
request: match.request
|
|
207
|
+
}, limit, {
|
|
208
|
+
frames: [
|
|
209
|
+
...stack.frames
|
|
210
|
+
]
|
|
211
|
+
}, new Set(visited));
|
|
212
|
+
if (isDone) {
|
|
213
|
+
return true; // Stop search
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
return false; // Continue search
|
|
217
|
+
};
|
|
218
|
+
recurseBackWithLimit({
|
|
219
|
+
origin: context.originModulePath,
|
|
220
|
+
request: moduleName
|
|
221
|
+
}, stackDepthLimit);
|
|
222
|
+
debug('Number of explored stacks:', stackCounter);
|
|
223
|
+
if (inverseStack && inverseStack.frames.length > 0) {
|
|
224
|
+
const formattedImport = (0, _chalk().default)`{gray |} {cyan import} `;
|
|
225
|
+
const importMessagePadding = ' '.repeat((0, _util().stripVTControlCharacters)(formattedImport).length + 1);
|
|
226
|
+
debug('Found inverse graph:', JSON.stringify(inverseStack, null, 2));
|
|
227
|
+
let extraMessage = _chalk().default.bold(`Import stack${stackCounter >= stackCountLimit ? ` (${stackCounter})` : ''}:`);
|
|
228
|
+
for (const frame of inverseStack.frames){
|
|
229
|
+
let currentMessage = '';
|
|
230
|
+
let filename = _path().default.relative(root, frame.origin);
|
|
231
|
+
if (filename.match(/\?ctx=[\w\d]+$/)) {
|
|
232
|
+
filename = filename.replace(/\?ctx=[\w\d]+$/, _chalk().default.dim(' (require.context)'));
|
|
233
|
+
} else {
|
|
234
|
+
let formattedRequest = _chalk().default.green(`"${frame.request}"`);
|
|
235
|
+
if (// If bundling for web and the import is pulling internals from outside of react-native
|
|
236
|
+
// then mark it as an invalid import.
|
|
237
|
+
inputPlatform === 'web' && !/^(node_modules\/)?react-native\//.test(filename) && frame.request.match(/^react-native\/.*/)) {
|
|
238
|
+
formattedRequest = formattedRequest + (0, _chalk().default)`\n${importMessagePadding}{yellow ^ Importing react-native internals is not supported on web.}`;
|
|
239
|
+
}
|
|
240
|
+
filename = filename + (0, _chalk().default)`\n${formattedImport}${formattedRequest}`;
|
|
241
|
+
}
|
|
242
|
+
let line = '\n' + _chalk().default.gray(' ') + filename;
|
|
243
|
+
if (filename.match(/node_modules/)) {
|
|
244
|
+
line = _chalk().default.gray(// Bold the node module name
|
|
245
|
+
line.replace(/node_modules\/([^/]+)/, (_match, p1)=>{
|
|
246
|
+
return 'node_modules/' + _chalk().default.bold(p1);
|
|
247
|
+
}));
|
|
248
|
+
}
|
|
249
|
+
currentMessage += `\n${line}`;
|
|
250
|
+
extraMessage += currentMessage;
|
|
251
|
+
}
|
|
252
|
+
if (inverseStack.circular) {
|
|
253
|
+
extraMessage += (0, _chalk().default)`\n${importMessagePadding}{yellow ^ The import above creates circular dependency.}`;
|
|
254
|
+
}
|
|
255
|
+
if (inverseStack.limited) {
|
|
256
|
+
extraMessage += (0, _chalk().default)`\n\n {bold {yellow Depth limit reached. The actual stack is longer than what you can see above.}}`;
|
|
257
|
+
}
|
|
258
|
+
extraMessage += '\n';
|
|
259
|
+
error._expoImportStack = extraMessage;
|
|
260
|
+
} else {
|
|
261
|
+
debug('Found no inverse tree for:', context.originModulePath);
|
|
262
|
+
}
|
|
263
|
+
return error;
|
|
264
|
+
};
|
|
265
|
+
|
|
266
|
+
//# sourceMappingURL=withMetroErrorReportingResolver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../src/start/server/metro/withMetroErrorReportingResolver.ts"],"sourcesContent":["import type { ConfigT as MetroConfig } from '@expo/metro/metro-config';\nimport type { ResolutionContext } from '@expo/metro/metro-resolver';\nimport chalk from 'chalk';\nimport path from 'path';\nimport { stripVTControlCharacters } from 'util';\n\nimport type { ExpoCustomMetroResolver } from './withMetroResolvers';\nimport { isPathInside } from '../../../utils/dir';\nimport { env } from '../../../utils/env';\n\nconst debug = require('debug')('expo:metro:withMetroResolvers') as typeof console.log;\n\n// TODO: Do we need to expose this?\nconst STACK_DEPTH_LIMIT = 35;\nconst STACK_COUNT_LIMIT = 2_000;\n\nexport function withMetroErrorReportingResolver(config: MetroConfig): MetroConfig {\n if (!env.EXPO_METRO_UNSTABLE_ERRORS) {\n return config;\n }\n\n const originalResolveRequest = config.resolver?.resolveRequest;\n\n const depGraph: DepGraph = new Map();\n\n const mutateResolutionError = createMutateResolutionError(config, depGraph);\n\n return {\n ...config,\n resolver: {\n ...config.resolver,\n resolveRequest(context, moduleName, platform) {\n const storeResult = (res: NonNullable<ReturnType<ExpoCustomMetroResolver>>) => {\n const inputPlatform = platform ?? 'null';\n\n const key = optionsKeyForContext(context);\n if (!depGraph.has(key)) depGraph.set(key, new Map());\n const mapByTarget = depGraph.get(key);\n if (!mapByTarget!.has(inputPlatform)) mapByTarget!.set(inputPlatform, new Map());\n const mapByPlatform = mapByTarget!.get(inputPlatform);\n if (!mapByPlatform!.has(context.originModulePath))\n mapByPlatform!.set(context.originModulePath, new Set());\n const setForModule = mapByPlatform!.get(context.originModulePath)!;\n\n const qualifiedModuleName = res?.type === 'sourceFile' ? res.filePath : moduleName;\n setForModule.add({ path: qualifiedModuleName, request: moduleName });\n };\n\n // If the user defined a resolver, run it first and depend on the documented\n // chaining logic: https://facebook.github.io/metro/docs/resolution/#resolution-algorithm\n //\n // config.resolver.resolveRequest = (context, moduleName, platform) => {\n //\n // // Do work...\n //\n // return context.resolveRequest(context, moduleName, platform);\n // };\n try {\n const firstResolver = originalResolveRequest ?? context.resolveRequest;\n const res = firstResolver(context, moduleName, platform);\n storeResult(res);\n return res;\n } catch (error: any) {\n throw mutateResolutionError(error, context, moduleName, platform);\n }\n },\n },\n };\n}\n\nexport type DepGraph = Map<\n // custom options\n string,\n Map<\n // platform\n string,\n Map<\n // origin module name\n string,\n Set<{\n // required module name\n path: string;\n // This isn't entirely accurate since a module can be imported multiple times in a file,\n // and use different names. But it's good enough for now.\n request: string;\n }>\n >\n >\n>;\n\nfunction optionsKeyForContext(context: ResolutionContext) {\n const canonicalize: typeof import('@expo/metro/metro-core/canonicalize').default = require('@expo/metro/metro-core/canonicalize');\n // Compound key for the resolver cache\n return JSON.stringify(context.customResolverOptions ?? {}, canonicalize) ?? '';\n}\n\ninterface ErrorWithExpoImportStack extends Error {\n _expoImportStack?: string;\n}\n\nexport const createMutateResolutionError =\n (\n config: MetroConfig,\n depGraph: DepGraph,\n stackDepthLimit = STACK_DEPTH_LIMIT,\n stackCountLimit = STACK_COUNT_LIMIT\n ) =>\n (\n error: ErrorWithExpoImportStack,\n context: ResolutionContext,\n moduleName: string,\n platform: string | null\n ) => {\n const inputPlatform = platform ?? 'null';\n\n const mapByOrigin = depGraph.get(optionsKeyForContext(context));\n const mapByPlatform = mapByOrigin?.get(inputPlatform);\n\n if (!mapByPlatform) {\n return error;\n }\n\n // collect all references inversely using some expensive lookup\n\n const getReferences = (origin: string) => {\n const inverseOrigin: { origin: string; previous: string; request: string }[] = [];\n\n if (!mapByPlatform) {\n return inverseOrigin;\n }\n\n for (const [originKey, mapByTarget] of mapByPlatform) {\n // search comparing origin to path\n\n const found = [...mapByTarget.values()].find((resolution) => resolution.path === origin);\n if (found) {\n inverseOrigin.push({\n origin,\n previous: originKey,\n request: found.request,\n });\n }\n }\n\n return inverseOrigin;\n };\n\n const root = config.server?.unstable_serverRoot ?? config.projectRoot;\n const projectRoot = config.projectRoot;\n\n type Frame = {\n origin: string;\n request: string;\n };\n type Stack = {\n circular?: boolean;\n limited?: boolean;\n serverRoot?: boolean;\n projectRoot?: boolean;\n frames: Frame[];\n };\n\n let stackCounter = 0;\n let inverseStack: Stack | undefined;\n /** @returns boolean - done */\n const saveStack = (stack: Stack): boolean => {\n stackCounter++;\n\n if (!inverseStack) {\n // First stack, save it\n inverseStack = stack;\n return false;\n }\n\n if (stackCounter >= stackCountLimit) {\n // Too many stacks explored, stop searching\n return true;\n }\n\n if (stack.circular || stack.limited) {\n // Not better than the current one, skip\n return false;\n }\n\n if (inverseStack.circular || inverseStack.limited) {\n // Current one is better than the previous one, save it\n inverseStack = stack;\n // No return as we want to continue validation the new stack\n }\n\n if (inverseStack.projectRoot) {\n // The best possible stack already acquired, skip\n return true;\n }\n\n const stackOrigin = stack.frames[stack.frames.length - 1].origin;\n\n if (\n stackOrigin &&\n isPathInside(stackOrigin, projectRoot) &&\n !stackOrigin.includes('node_modules')\n ) {\n // The best stack to show to users is the one leading from the project code.\n stack.serverRoot = true;\n inverseStack = stack;\n return true;\n }\n\n if (\n // Has to be after the project root check\n stackOrigin &&\n isPathInside(stackOrigin, root) &&\n !stackOrigin.includes('node_modules')\n ) {\n // The best stack to show to users is the one leading from the monorepo code.\n stack.serverRoot = true;\n inverseStack = stack;\n return false;\n }\n\n // If new stack is not better do nothing\n return false;\n };\n\n /** @returns boolean - done */\n const recurseBackWithLimit = (\n frame: { origin: string; request: string },\n limit: number,\n stack: Stack = { frames: [] },\n visited: Set<string> = new Set()\n ): boolean => {\n stack.frames.push(frame);\n\n if (visited.has(frame.origin)) {\n stack.circular = true;\n return saveStack(stack);\n }\n\n if (stack.frames.length >= limit) {\n stack.limited = true;\n return saveStack(stack);\n }\n\n visited.add(frame.origin);\n\n const inverse = getReferences(frame.origin);\n if (inverse.length === 0) {\n // No more references, push the stack and return\n return saveStack(stack);\n }\n\n for (const match of inverse) {\n // Use more qualified name if possible\n // results.origin = match.origin;\n // Found entry point\n if (frame.origin === match.previous) {\n continue;\n }\n\n const isDone = recurseBackWithLimit(\n { origin: match.previous, request: match.request },\n limit,\n {\n frames: [...stack.frames],\n },\n new Set(visited)\n );\n\n if (isDone) {\n return true; // Stop search\n }\n }\n\n return false; // Continue search\n };\n\n recurseBackWithLimit(\n { origin: context.originModulePath, request: moduleName },\n stackDepthLimit\n );\n\n debug('Number of explored stacks:', stackCounter);\n\n if (inverseStack && inverseStack.frames.length > 0) {\n const formattedImport = chalk`{gray |} {cyan import} `;\n const importMessagePadding = ' '.repeat(stripVTControlCharacters(formattedImport).length + 1);\n\n debug('Found inverse graph:', JSON.stringify(inverseStack, null, 2));\n\n let extraMessage = chalk.bold(\n `Import stack${stackCounter >= stackCountLimit ? ` (${stackCounter})` : ''}:`\n );\n\n for (const frame of inverseStack.frames) {\n let currentMessage = '';\n let filename = path.relative(root, frame.origin);\n\n if (filename.match(/\\?ctx=[\\w\\d]+$/)) {\n filename = filename.replace(/\\?ctx=[\\w\\d]+$/, chalk.dim(' (require.context)'));\n } else {\n let formattedRequest = chalk.green(`\"${frame.request}\"`);\n\n if (\n // If bundling for web and the import is pulling internals from outside of react-native\n // then mark it as an invalid import.\n inputPlatform === 'web' &&\n !/^(node_modules\\/)?react-native\\//.test(filename) &&\n frame.request.match(/^react-native\\/.*/)\n ) {\n formattedRequest =\n formattedRequest +\n chalk`\\n${importMessagePadding}{yellow ^ Importing react-native internals is not supported on web.}`;\n }\n\n filename = filename + chalk`\\n${formattedImport}${formattedRequest}`;\n }\n\n let line = '\\n' + chalk.gray(' ') + filename;\n if (filename.match(/node_modules/)) {\n line = chalk.gray(\n // Bold the node module name\n line.replace(/node_modules\\/([^/]+)/, (_match, p1) => {\n return 'node_modules/' + chalk.bold(p1);\n })\n );\n }\n currentMessage += `\\n${line}`;\n extraMessage += currentMessage;\n }\n\n if (inverseStack.circular) {\n extraMessage += chalk`\\n${importMessagePadding}{yellow ^ The import above creates circular dependency.}`;\n }\n\n if (inverseStack.limited) {\n extraMessage += chalk`\\n\\n {bold {yellow Depth limit reached. The actual stack is longer than what you can see above.}}`;\n }\n\n extraMessage += '\\n';\n\n error._expoImportStack = extraMessage;\n } else {\n debug('Found no inverse tree for:', context.originModulePath);\n }\n\n return error;\n };\n"],"names":["createMutateResolutionError","withMetroErrorReportingResolver","debug","require","STACK_DEPTH_LIMIT","STACK_COUNT_LIMIT","config","env","EXPO_METRO_UNSTABLE_ERRORS","originalResolveRequest","resolver","resolveRequest","depGraph","Map","mutateResolutionError","context","moduleName","platform","storeResult","res","inputPlatform","key","optionsKeyForContext","has","set","mapByTarget","get","mapByPlatform","originModulePath","Set","setForModule","qualifiedModuleName","type","filePath","add","path","request","firstResolver","error","canonicalize","JSON","stringify","customResolverOptions","stackDepthLimit","stackCountLimit","mapByOrigin","getReferences","origin","inverseOrigin","originKey","found","values","find","resolution","push","previous","root","server","unstable_serverRoot","projectRoot","stackCounter","inverseStack","saveStack","stack","circular","limited","stackOrigin","frames","length","isPathInside","includes","serverRoot","recurseBackWithLimit","frame","limit","visited","inverse","match","isDone","formattedImport","chalk","importMessagePadding","repeat","stripVTControlCharacters","extraMessage","bold","currentMessage","filename","relative","replace","dim","formattedRequest","green","test","line","gray","_match","p1","_expoImportStack"],"mappings":"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"}
|