@grafana/create-plugin 6.3.0-canary.2314.19540157259.0 → 6.3.0-canary.2314.19540598852.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@grafana/create-plugin",
3
- "version": "6.3.0-canary.2314.19540157259.0",
3
+ "version": "6.3.0-canary.2314.19540598852.0",
4
4
  "repository": {
5
5
  "directory": "packages/create-plugin",
6
6
  "url": "https://github.com/grafana/plugin-tools"
@@ -61,5 +61,5 @@
61
61
  "engines": {
62
62
  "node": ">=20"
63
63
  },
64
- "gitHead": "ca948602b5bf553b3e538bf2285f6f61d3ec849c"
64
+ "gitHead": "45cfdfb7b4869737a8f7f437da9028de3e618024"
65
65
  }
@@ -50,33 +50,33 @@ A typical panel plugin includes:
50
50
 
51
51
  ## Coding guidelines
52
52
 
53
- - Use **TypeScript** and **functional React components**
53
+ - Use **TypeScript**, functional React components, and idiomatic patterns
54
54
  - Use **@grafana/ui**, **@grafana/data**, **@grafana/runtime**
55
- - Respect `width` and `height`; keep layout responsive
56
- - Avoid unnecessary dependencies; ensure Grafana compatibility
57
- - Use useTheme2() from @grafana/ui for visual tokens
58
- - Never hardcode colors, spacing, padding, or font sizes.
59
- - Use useStyles2(), Emotion and visual tokens from the theme to create styles.
60
- - Follow existing file structure
61
- - Keep code typed and predictable
55
+ - Use **`useTheme2()`** for all colors, spacing, typography
56
+ - **Never hardcode** colors, spacing, padding, or font sizes
57
+ - Use **Emotion** + `useStyles2()` + theme tokens for styling
58
+ - Keep layouts responsive (use `width`/`height`)
59
+ - Avoid new dependencies unless necessary + Grafana-compatible
60
+ - Maintain consistent file structure and predictable types
61
+ - Use **`@grafana/plugin-e2e`** for E2E tests and **always use versioned selectors** to interact with the Grafana UI.
62
62
 
63
63
  ## Boundaries
64
64
 
65
- You must **not**:
65
+ You must **NOT**:
66
66
 
67
- - Change plugin IDs or plugin type in `plugin.json`
68
- - Modify anything under `.config/*`
69
- - Add a backend panel plugins are **frontend only**
70
- - Remove or change existing options without a migration handler
67
+ - Change plugin ID or plugin type in `plugin.json`
68
+ - Modify anything inside `.config/*`
69
+ - Add a backend (panel plugins = frontend only)
70
+ - Remove/change existing options without a migration handler
71
71
  - Break public APIs (options, field configs, panel props)
72
- - Store or use credentials.
72
+ - Store, read, or handle credentials
73
73
 
74
- You **should**:
74
+ You **SHOULD**:
75
75
 
76
- - Keep the plugin backward compatible
77
- - Preserve the existing options schema unless adding a migration handler
78
- - Mirror patterns from Grafana’s official panel plugin examples
79
- - Follow idiomatic React + TypeScript patterns used in official Grafana examples
76
+ - Maintain backward compatibility
77
+ - Preserve option schema unless migration handler is added
78
+ - Follow official Grafana panel plugin patterns
79
+ - Use idiomatic React + TypeScript
80
80
 
81
81
  ## Instructions for specific tasks
82
82