diff --git a/packages/cli-config/src/readConfigFromDisk.ts b/packages/cli-config/src/readConfigFromDisk.ts index 0a73ba47d..1d05f9b8b 100644 --- a/packages/cli-config/src/readConfigFromDisk.ts +++ b/packages/cli-config/src/readConfigFromDisk.ts @@ -22,6 +22,35 @@ const searchPlacesForCJS = [ ]; const searchPlaces = [...searchPlacesForCJS, 'react-native.config.mjs']; +/** + * Suppress console output temporarily to prevent config file logs from appearing + */ +function suppressConsole() { + const originalMethods = { + log: console.log, + warn: console.warn, + error: console.error, + info: console.info, + debug: console.debug, + }; + + // Override console methods with empty functions + console.log = () => {}; + console.warn = () => {}; + console.error = () => {}; + console.info = () => {}; + console.debug = () => {}; + + return () => { + // Restore original console methods + console.log = originalMethods.log; + console.warn = originalMethods.warn; + console.error = originalMethods.error; + console.info = originalMethods.info; + console.debug = originalMethods.debug; + }; +} + function parseUserConfig(searchResult: CosmiconfigResult): UserConfig { const config = searchResult ? searchResult.config : undefined; const result = schema.projectConfig.validate(config); @@ -45,8 +74,14 @@ export async function readConfigFromDiskAsync( searchPlaces, }); - const searchResult = await explorer.search(rootFolder); - return parseUserConfig(searchResult); + // Suppress console output during config loading + const restoreConsole = suppressConsole(); + try { + const searchResult = await explorer.search(rootFolder); + return parseUserConfig(searchResult); + } finally { + restoreConsole(); + } } /** @@ -60,8 +95,14 @@ export function readConfigFromDisk(rootFolder: string): UserConfig { searchPlaces: searchPlacesForCJS, }); - const searchResult = explorer.search(rootFolder); - return parseUserConfig(searchResult); + // Suppress console output during config loading + const restoreConsole = suppressConsole(); + try { + const searchResult = explorer.search(rootFolder); + return parseUserConfig(searchResult); + } finally { + restoreConsole(); + } } function parseDependencyConfig( @@ -102,8 +143,14 @@ export async function readDependencyConfigFromDiskAsync( searchPlaces, }); - const searchResult = await explorer.search(rootFolder); - return parseDependencyConfig(dependencyName, searchResult); + // Suppress console output during config loading + const restoreConsole = suppressConsole(); + try { + const searchResult = await explorer.search(rootFolder); + return parseDependencyConfig(dependencyName, searchResult); + } finally { + restoreConsole(); + } } /** @@ -120,8 +167,14 @@ export function readDependencyConfigFromDisk( searchPlaces: searchPlacesForCJS, }); - const searchResult = explorer.search(rootFolder); - return parseDependencyConfig(dependencyName, searchResult); + // Suppress console output during config loading + const restoreConsole = suppressConsole(); + try { + const searchResult = explorer.search(rootFolder); + return parseDependencyConfig(dependencyName, searchResult); + } finally { + restoreConsole(); + } } const emptyDependencyConfig = {