Migrate plugins from Grafana version 9.1.x to 9.2.x
Follow these instructions to migrate plugins from Grafana version 9.1.x to 9.2.x.
React and React-dom as peer dependencies​
In earlier versions of Grafana packages, react
and react-dom
were installed during a yarn install
command regardless of a plugin's dependencies. In version 9.2.0, the @grafana
packages declare these React packages as peerDependencies
and must be added to a plugin's package.json
file for test commands.
Example:
// before
"dependencies": {
"@grafana/data": "9.1.0",
"@grafana/ui": "9.1.0",
},
// after
"dependencies": {
"@grafana/data": "9.2.0",
"@grafana/ui": "9.2.0",
"react": "17.0.2",
"react-dom": "17.0.2"
},
NavModelItem
requires a valid icon name​
The typings of the NavModelItem
have improved to only allow a valid IconName
for the icon property. For a complete list of valid icons, refer to the source code. These icons will work for older versions of Grafana 9.
Example:
// before
const model: NavModelItem = {
id: 'settings',
text: 'Settings',
icon: 'fa fa-cog',
url: `${baseUrl}/settings`,
};
// after
const model: NavModelItem = {
id: 'settings',
text: 'Settings',
icon: 'cog',
url: `${baseUrl}/settings`,
};
Additional type availability​
FieldProps
, ModalProps
, and QueryFieldProps
are now exposed from @grafana/ui
. They can be imported in the same way as other types.
Example:
import { FieldProps, ModalProps, QueryFieldProps } from '@grafana/ui';