app/javascript/components/miq_debug/index.jsx
import React from 'react';import ReactDOM from 'react-dom'; import { ToastWrapper } from './toast-wrapper.jsx'; const state = { items: [], keyCounter: 0, add: (item) => { state.items = [...state.items, item]; state.render(); }, clear: () => { state.items = []; state.render(); }, disable: () => { sessionStorage.setItem('disableDebugToasts', true); state.clear(); }, remove: (item) => {Unexpected parentheses around single function argument having a body with no curly braces. state.items = state.items.filter((i) => i !== item); state.render(); }, render: () => null,}; // render once, and set state.renderexport const renderToastWrapper = (element) => {Expected a line break before this closing brace.
Expected a line break after this opening brace. const render = ({ items, clear, remove, disable }) => { ReactDOM.render(<ToastWrapper items={items} clear={clear} remove={remove} disable={disable} />, element); }; state.render = () => render(state); state.render();}; Expected to return a value at the end of function.
Identifier 'debug_toast' is not in camel case.const debug_toast = function(type, data) { // Don't display debug toasts if the user doesn't want it if (sessionStorage.getItem('disableDebugToasts')) { return false; } if (type === 'warn') { type = 'warning'; } // to make sure user can see the whole error even if we show incomplete toast console.debug('debug_toast', type, data); state.add({ data, type,Unary operator '++' used. key: state.keyCounter++, });}; export const setupErrorHandlers = () => { const orig = { error: window.console.error, warn: window.console.warn, }; Unexpected function expression. Object.keys(orig).forEach(function(key) { window.console[key] = function() {Use the rest parameters instead of 'arguments'. orig[key].apply(window.console, arguments);Use the rest parameters instead of 'arguments'. debug_toast(key, Array.from(arguments)); }; }); Function `onerror` has 5 arguments (exceeds 4 allowed). Consider refactoring. window.onerror = function(msg, url, lineNo, columnNo, error) { debug_toast('error', { message: msg,Expected property shorthand. url: url,Expected property shorthand. lineNo: lineNo,Expected property shorthand. columnNo: columnNo,Expected property shorthand. error: error, }); }; Unexpected function expression. window.addEventListener('error', function(ev) { debug_toast('error', ev); }, true);};