diff --git a/src/index.tsx b/src/index.tsx index fd144263..406842a8 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -1,4 +1,5 @@ import './polyfills.js'; +import './lib/react-scan'; import React from 'react'; import ReactDOM from 'react-dom/client'; import App from './app'; diff --git a/src/lib/react-scan.ts b/src/lib/react-scan.ts new file mode 100644 index 00000000..c63eca17 --- /dev/null +++ b/src/lib/react-scan.ts @@ -0,0 +1,10 @@ +if (import.meta.env.DEV) { + const { scan, getReport } = await import('react-scan'); + scan({ + enabled: true, + showToolbar: !(window as any).__PROFILING__, + playSound: !(window as any).__PROFILING__, + report: true, + }); + (window as any).__getReactScanReport = getReport; +} diff --git a/vite.config.js b/vite.config.js index a1cfe827..744f0a3b 100644 --- a/vite.config.js +++ b/vite.config.js @@ -3,10 +3,6 @@ import react from '@vitejs/plugin-react'; import { resolve } from 'path'; import { nodePolyfills } from 'vite-plugin-node-polyfills'; import { VitePWA } from 'vite-plugin-pwa'; -import reactScan from '@react-scan/vite-plugin-react-scan'; - -const isProduction = process.env.NODE_ENV === 'production'; -const isDevelopment = process.env.NODE_ENV === 'development'; export default defineConfig({ plugins: [ @@ -22,12 +18,6 @@ export default defineConfig({ ], }, }), - // Only include React Scan in development mode - never in production builds - (isDevelopment || (!isProduction && process.env.NODE_ENV !== 'production')) && - reactScan({ - showToolbar: true, - playSound: true, - }), nodePolyfills({ globals: { Buffer: true,