Skip to content

HDX-11379 migrate to Grafana 13#129

Open
vvkohut wants to merge 6 commits into
developfrom
GRAP-160
Open

HDX-11379 migrate to Grafana 13#129
vvkohut wants to merge 6 commits into
developfrom
GRAP-160

Conversation

@vvkohut

@vvkohut vvkohut commented Apr 22, 2026

Copy link
Copy Markdown
Contributor

HDX-11379 (GRAP-160): Update dependencies & migrate to Grafana 13

Summary

  • Bumps Go to 1.25.7 (Dockerfile + CI), grafana-plugin-sdk-go to 0.292.0, and runs create-plugin@5.27.1 + the 004-eslint9-flat-config migration. Default dev stack now ships Grafana 13.0.1.
  • Adds a project-root webpack.config.ts that extends the create-plugin config to externalize react/jsx-runtime / react/jsx-dev-runtime (required after the upgrade). npm run build/dev scripts updated to point at it.
  • Keeps the deprecated Select widget in QuerySettings.tsx (instead of switching to Combobox) so the plugin still runs on Grafana 10.
  • Frontend fixes uncovered during the migration:
    • ConfigEditor: derive settingErrors via useMemo and use real state for invalidDuration (prior useRef didn't re-render the invalid styling).
    • QueryEditor: add datasource.options to the interpolation debounce deps so "Show Interpolated Query" no longer hangs on a freshly-opened panel.
    • ValidationBar: collapse validating to a derived value.

Tests

  • New unit suites: InterpolatedQuery, QueryEditor, QuerySettings, ValidationBar.
  • New e2e: configEditor.spec.ts, expanded queryEditor.spec.ts.
  • New e2e helpers: dashboardBuilder, grafanaSelect, queryEditorRow, variablePicker, plus captureSqls / captureRequestBodies in helpers.ts.

🤖 Generated with Claude Code

@vvkohut vvkohut self-assigned this Apr 22, 2026
@github-actions

github-actions Bot commented Apr 22, 2026

Copy link
Copy Markdown

Levitate is-compatible report:

🔍 Resolving @grafana/data@latest...
🔍 Resolving @grafana/ui@latest...
🔍 Resolving @grafana/runtime@latest...
🔍 Resolving @grafana/schema@latest...
🔍 Resolving @grafana/e2e-selectors@latest...
🔍 Resolving @grafana/experimental@latest...

🔬 Checking compatibility between ./src/module.ts and @grafana/data@13.0.1...
✔ Found @grafana/data version 12.4.2 locally

🔬 Checking compatibility between ./src/module.ts and @grafana/ui@13.0.1...
✔ Found @grafana/ui version 12.4.2 locally

🔬 Checking compatibility between ./src/module.ts and @grafana/runtime@13.0.1...
✔ Found @grafana/runtime version 12.4.2 locally

🔬 Checking compatibility between ./src/module.ts and @grafana/schema@13.0.1...
✔ Found @grafana/schema version 12.4.2 locally

🔬 Checking compatibility between ./src/module.ts and @grafana/e2e-selectors@13.0.1...
Skipping package @grafana/e2e-selectors because it is not used in the project or not installed locally.
did you forget to run yarn install or npm install?

🔬 Checking compatibility between ./src/module.ts and @grafana/experimental@2.1.6...
Skipping package @grafana/experimental because it is not used in the project or not installed locally.
did you forget to run yarn install or npm install?

✔️ ./src/module.ts appears to be compatible with @grafana/data,@grafana/ui,@grafana/runtime,@grafana/schema,@grafana/e2e-selectors,@grafana/experimental

@odemkovych odemkovych changed the title Grap 160 HDX-11379 migrate to Grafana 13 May 11, 2026
@odemkovych odemkovych force-pushed the GRAP-160 branch 2 times, most recently from 8bd9f1e to a913244 Compare May 11, 2026 15:16
@odemkovych odemkovych marked this pull request as ready for review May 11, 2026 15:26
@odemkovych odemkovych assigned odemkovych and unassigned vvkohut May 11, 2026
@odemkovych odemkovych force-pushed the GRAP-160 branch 5 times, most recently from e72c584 to afcf6c1 Compare May 19, 2026 09:30
@odemkovych odemkovych force-pushed the GRAP-160 branch 2 times, most recently from fa09af2 to a3f518f Compare May 26, 2026 10:31
jackw and others added 5 commits May 26, 2026 13:33
Migrate eslint config to flat config format and update devDependencies to latest versions.
…p using deprecated Select (not replacing with ComboBox) in sake of support grafana 10

@hjpnam hjpnam left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Left a comment to confirm my understanding. Other than the two merge conflicts, lgtm!

Comment on lines -104 to -108
let [settingErrors, setSettingErrors] = useState<{
[setting: string]: string;
}>({});

useEffect(() => {

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This fixes a small UI bug by rendering once instead of twice every time the state changes. Do I have that right?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

4 participants