Panel plugin doesnt build for dev

I am creating a panel plugin for grafana and building for dev and get the following error

Argument of type 'typeof App' is not assignable to parameter of type 'ComponentClass<PanelProps<SimpleOptions>, any> | FunctionComponent<PanelProps<SimpleOptions>> | null'.
    Type 'typeof App' is not assignable to type 'ComponentClass<PanelProps<SimpleOptions>, any>'.
      Construct signature return types 'App' and 'Component<PanelProps<SimpleOptions>, any, any>' are incompatible.
        The types of 'props' are incompatible between these types.
          Type 'Readonly<any> & Readonly<{ children?: ReactNode; }>' is not assignable to type 'Readonly<PanelProps<SimpleOptions>> & Readonly<{ children?: ReactNode; }>'.
            Type 'Readonly<any> & Readonly<{ children?: ReactNode; }>' is missing the following properties from type 'Readonly<PanelProps<SimpleOptions>>': id, data, timeRange, timeZone, and 11 more.

The module that throws the error looks like

import { PanelPlugin } from '@grafana/data';
import { SimpleOptions } from './types';
import { App } from "./App"

export const plugin = new PanelPlugin<SimpleOptions>(App);

The App that it refers to has the following declaration:

export class App extends Component<any, any> {

I have a second plugin that has the exact same setup, and is highlighted in visual code as having the same error, however that plugin builds successfully. How do I fix this and why does one plugin build while the other doesn’t?

Is there a reason for why you want an untyped panel plugin, i.e. <any, any>? If you want to get started with building panel plugins, the easiest way is to complete the tutorial on building panel plugins, which will help you get started.

This topic was automatically closed after 365 days. New replies are no longer allowed.