Skip to content

Conversation

@zoltanbedi
Copy link
Member

@zoltanbedi zoltanbedi commented Dec 10, 2025

This PR updates the create-plugin to it's latest version. Pins javascript dependencies to their latest version. Fixes e2e tests. Bumps the grafana dependency from 11 to 11.6.0. Also updates the workflows for CI and CD to use plugin-ci-workflows. Changes references from volkovlabs to grafana.

- Updated @grafana/plugin-e2e to version 3.0.3 in package.json and package-lock.json.
- Enhanced CI workflow by integrating Grafana's plugin CI workflows and removing redundant configurations.
- Removed outdated CodeQL and E2E workflows.
- Updated project metadata in package.json, including name, version, description, and repository details.
- Simplified tsconfig.json by removing unnecessary compiler options.

This commit prepares the project for better maintainability and compatibility with the latest Grafana standards.
- Changed volume path for the business-input plugin to marcusolsson-static-datasource.
- Updated environment variables to reflect the new plugin name, including log filters and allowed unsigned plugins.
- Added a CODEOWNERS file to specify that the @grafana/oss-big-tent team is responsible for the repository.
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR modernizes the Business Input plugin by updating to the latest create-plugin scaffolding (v6.4.3), bumping the minimum Grafana version from 11.0.0 to 11.6.0, and transitioning ownership from Volkov Labs to Grafana Labs. The changes include comprehensive updates to build tooling, testing infrastructure, and CI/CD workflows.

Key changes:

  • Updates all JavaScript dependencies to pinned versions and adopts new create-plugin v6.4.3 scaffolding
  • Migrates CI/CD to use centralized plugin-ci-workflows v4.3.0
  • Modernizes webpack configuration with enhanced features like subresource integrity and optimized chunking

Reviewed changes

Copilot reviewed 34 out of 40 changed files in this pull request and generated 8 comments.

Show a summary per file
File Description
package.json Pins all dependencies to exact versions, upgrades major packages (uuid 11→13, @grafana/* packages to 12.3.0)
src/plugin.json Updates minimum Grafana version to 11.6.0, changes author from Volkov Labs to Grafana Labs
test/panel.spec.ts Simplifies e2e tests by removing helper utilities in favor of direct Playwright assertions
test/Dockerfile Updates to Playwright v1.57.0-noble base image and modernizes npm install command
playwright.config.ts Restructures configuration with proper TypeScript types and updated project naming
.github/workflows/ci.yml Replaces custom CI workflow with reusable plugin-ci-workflows
.github/workflows/release.yml Replaces custom release workflow with CD workflow from plugin-ci-workflows
.github/workflows/e2e.yml Removed in favor of integrated e2e testing in CI workflow
.github/workflows/main.yml Removed in favor of integrated e2e testing in CI workflow
.github/workflows/codeql-analysis.yml Removed (likely replaced by centralized security scanning)
.github/CODEOWNERS Adds Grafana OSS Big Tent team as code owners
docker-compose.yml Simplifies by extending base configuration from .config/docker-compose-base.yaml
eslint.config.mjs Refactors to use base config from .config with custom ignores
jest-setup.js Updates polyfills and removes redundant comments
tsconfig.json Simplifies by removing custom path mappings
.config/webpack/webpack.config.ts Extensive modernization including SRI support, virtual modules, terser optimization, and dynamic publicPath
.config/webpack/utils.ts Adds getCPConfigVersion function and improves type safety
.config/webpack/BuildModeWebpackPlugin.ts New plugin to inject build mode into plugin.json
.config/bundler/externals.ts Extracts externals configuration to separate typed module
.config/Dockerfile New multi-stage Dockerfile supporting development mode with live reload
.config/docker-compose-base.yaml New base configuration for docker-compose extending
.config/types/* Adds comprehensive TypeScript definitions for webpack plugins
.config/jest-setup.js Updates matchMedia mock and adds canvas element mock
.config/eslint.config.mjs New base ESLint configuration using flat config format
.nvmrc Specifies Node.js version 22
LICENSE Adds 2025 Grafana Labs copyright
CHANGELOG.md Updates repository references from volkovlabs to grafana
README.md Updates repository references and removes legacy badge links
Comments suppressed due to low confidence (2)

.config/jest-setup.js:28

  • The HTMLCanvasElement.prototype.getContext mock returns undefined. This should return a mock context object to prevent potential errors when canvas methods are called in tests. Consider returning a mock object with common canvas 2D context methods like beginPath, stroke, fill, etc.
    .config/jest-setup.js:26
  • The matchMedia mock has been changed from jest.fn().mockImplementation() to a plain function. However, the inner methods (addEventListener, removeEventListener, dispatchEvent) are still using jest.fn(), which means they won't be properly callable without jest being defined. This could cause runtime errors if this code is executed outside of Jest context. Ensure jest is available in the scope where this is executed.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant