eslint-remote-tester
Version:
Tool for running ESLint on multiple repositories
22 lines (21 loc) • 816 B
JavaScript
import React, { useEffect, useReducer } from 'react';
import { Text } from 'ink';
import ProgressLogger from '../../progress-logger/index.js';
function reducer(messages, newMessage) {
return [...messages, newMessage];
}
/**
* List of `ProgressLogger`'s messages
* - Displayed only on CLI mode
*/
const Messages = ({ wrapper: Wrapper = React.Fragment, }) => {
const [messages, addMessage] = useReducer(reducer, []);
useEffect(() => {
ProgressLogger.on('message', addMessage);
return () => {
ProgressLogger.off('message', addMessage);
};
}, []);
return (React.createElement(Wrapper, null, messages.map((message, index) => (React.createElement(Text, { key: index, color: message.color, wrap: 'truncate-end' }, message.content)))));
};
export default Messages;