* Docs: Plugin migration guide - chunk 9 (#69420)
* Initial commit
Signed-off-by: Joe Perez <joseph.perez@grafana.com>
* Prettier fixes
Signed-off-by: Joe Perez <joseph.perez@grafana.com>
* Fixes from doc review
---------
Signed-off-by: Joe Perez <joseph.perez@grafana.com>
(cherry picked from commit 1a9bc9ca1a)
* Delete extraneous file
1.9 KiB
description, keywords, title, menutitle, weight
| description | keywords | title | menutitle | weight | |||||
|---|---|---|---|---|---|---|---|---|---|
| Guide for migrating plugins from Grafana v9.1.x to v9.2.x |
|
Migrate plugins from Grafana 9.1.x to 9.2.x | v9.1.x to v9.2.x | 2100 |
Migrate plugins from Grafana version 9.1.x to 9.2.x
Follow the instructions in this section 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';