mirror of https://github.com/grafana/grafana.git
				
				
				
			React: Add why-did-you-render dev extension to better see what components re-render and why (in console) (#23455)
* React: Add why-did-you-render dev extension to better understand what components re-renders * Lock version * Updated yarn locj
This commit is contained in:
		
							parent
							
								
									d831dde349
								
							
						
					
					
						commit
						278c312d58
					
				|  | @ -211,6 +211,7 @@ | |||
|     "@types/md5": "^2.1.33", | ||||
|     "@types/react-loadable": "5.5.2", | ||||
|     "@types/react-virtualized-auto-sizer": "1.0.0", | ||||
|     "@welldone-software/why-did-you-render": "4.0.6", | ||||
|     "abortcontroller-polyfill": "1.4.0", | ||||
|     "angular": "1.6.9", | ||||
|     "angular-bindonce": "0.3.1", | ||||
|  |  | |||
|  | @ -43,11 +43,11 @@ import { registerEchoBackend, setEchoSrv } from '@grafana/runtime'; | |||
| import { Echo } from './core/services/echo/Echo'; | ||||
| import { reportPerformance } from './core/services/echo/EchoSrv'; | ||||
| import { PerformanceBackend } from './core/services/echo/backends/PerformanceBackend'; | ||||
| 
 | ||||
| import 'app/routes/GrafanaCtrl'; | ||||
| import 'app/features/all'; | ||||
| import { getStandardFieldConfigs, getStandardOptionEditors } from '@grafana/ui'; | ||||
| import { getDefaultVariableAdapters, variableAdapters } from './features/variables/adapters'; | ||||
| import { initDevFeatures } from './dev'; | ||||
| 
 | ||||
| // add move to lodash for backward compatabiltiy
 | ||||
| // @ts-ignore
 | ||||
|  | @ -62,6 +62,10 @@ extensionsIndex.keys().forEach((key: any) => { | |||
|   extensionsIndex(key); | ||||
| }); | ||||
| 
 | ||||
| if (process.env.NODE_ENV === 'development') { | ||||
|   initDevFeatures(); | ||||
| } | ||||
| 
 | ||||
| export class GrafanaApp { | ||||
|   registerFunctions: any; | ||||
|   ngModuleDependencies: any[]; | ||||
|  |  | |||
|  | @ -1,9 +1,11 @@ | |||
| import app from './app'; | ||||
| import React from 'react'; | ||||
| 
 | ||||
| /* | ||||
| Import theme CSS based on env vars, e.g.: `env GRAFANA_THEME=light yarn start` | ||||
| */ | ||||
| declare var GRAFANA_THEME: any; | ||||
| require('../sass/grafana.' + GRAFANA_THEME + '.scss'); | ||||
| 
 | ||||
| app.init(); | ||||
| export function initDevFeatures() { | ||||
|   // if why-render is in url enable why did you render react extension
 | ||||
|   if (window.location.search.indexOf('why-render') !== -1) { | ||||
|     const whyDidYouRender = require('@welldone-software/why-did-you-render'); | ||||
|     whyDidYouRender(React, { | ||||
|       trackAllPureComponents: true, | ||||
|     }); | ||||
|   } | ||||
| } | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue