126ad19fcSEvan Baconimport HMRClient from './HMRClient';
226ad19fcSEvan Bacon
326ad19fcSEvan Bacon// Sets up developer tools for React Native web.
426ad19fcSEvan Bacon// We assume full control over the console and send JavaScript logs to Metro.
526ad19fcSEvan Bacon// [
626ad19fcSEvan Bacon//   'trace',
726ad19fcSEvan Bacon//   'info',
826ad19fcSEvan Bacon//   'warn',
926ad19fcSEvan Bacon//   'error',
1026ad19fcSEvan Bacon//   'log',
1126ad19fcSEvan Bacon//   'group',
1226ad19fcSEvan Bacon//   'groupCollapsed',
1326ad19fcSEvan Bacon//   'groupEnd',
1426ad19fcSEvan Bacon//   'debug',
1526ad19fcSEvan Bacon// ].forEach(level => {
1626ad19fcSEvan Bacon//   const originalFunction = console[level];
1726ad19fcSEvan Bacon//   console[level] = function (...args: readonly any[]) {
1826ad19fcSEvan Bacon//     HMRClient.log(
1926ad19fcSEvan Bacon//       // @ts-expect-error
2026ad19fcSEvan Bacon//       level, args);
2126ad19fcSEvan Bacon//     originalFunction.apply(console, args);
2226ad19fcSEvan Bacon//   };
2326ad19fcSEvan Bacon// });
2426ad19fcSEvan Bacon
25*f69191a2SEvan BaconHMRClient.log('log', [`[web] Logs will appear in the browser console`]);
2626ad19fcSEvan Bacon
2726ad19fcSEvan Bacon// This is called native on native platforms
2826ad19fcSEvan BaconHMRClient.setup({ isEnabled: true });
29