@react-docgen/cli
Version:
A CLI to extract information from React components for documentation generation.
31 lines (30 loc) • 974 B
JavaScript
import { relative } from 'path';
import chalk from 'chalk';
function isReactDocgenError(error) {
return Boolean(error instanceof Error && error.code?.startsWith('ERR_REACTDOCGEN'));
}
function outputReactDocgenError(error, filePath, { failOnWarning }) {
let label = 'WARNING';
let color = chalk.yellow;
let log = console.warn;
let isError = false;
if (failOnWarning && isReactDocgenError(error)) {
process.exitCode = 2;
isError = true;
label = 'ERROR';
color = chalk.red;
log = console.error;
}
log(color(`▶ ${label}: ${error.message} 👀\n in ${chalk.underline(relative(process.cwd(), filePath))}\n`));
return isError;
}
export default function outputError(error, filePath, options) {
if (isReactDocgenError(error)) {
return outputReactDocgenError(error, filePath, options);
}
else {
process.exitCode = 1;
console.error(error);
return true;
}
}