diff --git a/packages/cli/src/commands/init/templateName.ts b/packages/cli/src/commands/init/templateName.ts index b0a7a2b98..e013d09f7 100644 --- a/packages/cli/src/commands/init/templateName.ts +++ b/packages/cli/src/commands/init/templateName.ts @@ -95,7 +95,7 @@ export function processTemplateName(templateName: string) { return handleVersionedPackage(templateName); } if ( - !['github', '@'].some(str => templateName.includes(str)) && + !['github', '@'].some((str) => templateName.includes(str)) && templateName.includes('/') ) { return handleGitHubRepo(templateName); diff --git a/packages/cli/src/index.ts b/packages/cli/src/index.ts index 5436845ff..127d51ac4 100644 --- a/packages/cli/src/index.ts +++ b/packages/cli/src/index.ts @@ -31,17 +31,20 @@ const handleError = (err: Error) => { } else { // Some error messages (esp. custom ones) might have `.` at the end already. const message = err.message.replace(/\.$/, ''); - logger.error( - `${message}. ${chalk.dim( + logger.error(`${message}.`); + } + if (err.stack) { + logger.log(err.stack); + } + if (!commander.verbose) { + logger.info( + chalk.dim( `Run CLI with ${chalk.reset('--verbose')} ${chalk.dim( 'flag for more details.', )}`, - )}`, + ), ); } - if (err.stack) { - logger.log(chalk.dim(err.stack)); - } process.exit(1); }; diff --git a/packages/platform-android/src/config/readManifest.ts b/packages/platform-android/src/config/readManifest.ts index 452e55ae7..0e69f21e9 100644 --- a/packages/platform-android/src/config/readManifest.ts +++ b/packages/platform-android/src/config/readManifest.ts @@ -5,10 +5,17 @@ * LICENSE file in the root directory of this source tree. * */ - import fs from 'fs'; import xml from 'xmldoc'; +import {CLIError} from '@react-native-community/cli-tools'; export default function readManifest(manifestPath: string) { - return new xml.XmlDocument(fs.readFileSync(manifestPath, 'utf8')); + try { + return new xml.XmlDocument(fs.readFileSync(manifestPath, 'utf8')); + } catch (error) { + throw new CLIError( + `Failed to parse Android Manifest file at ${manifestPath}`, + error, + ); + } } diff --git a/packages/platform-android/src/link/warnAboutManuallyLinkedLibs.ts b/packages/platform-android/src/link/warnAboutManuallyLinkedLibs.ts index 3dbbc1106..28badad2d 100644 --- a/packages/platform-android/src/link/warnAboutManuallyLinkedLibs.ts +++ b/packages/platform-android/src/link/warnAboutManuallyLinkedLibs.ts @@ -13,22 +13,19 @@ export default function warnAboutManuallyLinkedLibs( > = getLinkConfig(), ) { let deps: Array = []; + const projectConfig = config.project[platform]; for (let key in config.dependencies) { const dependency = config.dependencies[key]; - try { - const projectConfig = config.project[platform]; - const dependencyConfig = dependency.platforms[platform]; - if (projectConfig && dependencyConfig) { - const x = linkConfig.isInstalled( - projectConfig, - dependency.name, - dependencyConfig, - ); - deps = deps.concat(x ? dependency.name : []); - } - } catch (error) { - logger.debug('Checking manually linked modules failed.', error); + + const dependencyConfig = dependency.platforms[platform]; + if (projectConfig && dependencyConfig) { + const x = linkConfig.isInstalled( + projectConfig, + dependency.name, + dependencyConfig, + ); + deps = deps.concat(x ? dependency.name : []); } } diff --git a/packages/platform-ios/src/link/warnAboutManuallyLinkedLibs.ts b/packages/platform-ios/src/link/warnAboutManuallyLinkedLibs.ts index c228b07fb..9aac5d0d8 100644 --- a/packages/platform-ios/src/link/warnAboutManuallyLinkedLibs.ts +++ b/packages/platform-ios/src/link/warnAboutManuallyLinkedLibs.ts @@ -13,22 +13,19 @@ export default function warnAboutManuallyLinkedLibs( > = getLinkConfig(), ) { let deps: Array = []; + const projectConfig = config.project[platform]; for (let key in config.dependencies) { const dependency = config.dependencies[key]; - try { - const projectConfig = config.project[platform]; - const dependencyConfig = dependency.platforms[platform]; - if (projectConfig && dependencyConfig) { - const x = linkConfig.isInstalled( - projectConfig, - dependency.name, - dependencyConfig, - ); - deps = deps.concat(x ? dependency.name : []); - } - } catch (error) { - logger.debug('Checking manually linked modules failed.', error); + + const dependencyConfig = dependency.platforms[platform]; + if (projectConfig && dependencyConfig) { + const x = linkConfig.isInstalled( + projectConfig, + dependency.name, + dependencyConfig, + ); + deps = deps.concat(x ? dependency.name : []); } }