diff --git a/packages/grafana-data/src/context/plugins/DataSourcePluginContextProvider.tsx b/packages/grafana-data/src/context/plugins/DataSourcePluginContextProvider.tsx
index 1464f1a6f6c..db5b5a5b610 100644
--- a/packages/grafana-data/src/context/plugins/DataSourcePluginContextProvider.tsx
+++ b/packages/grafana-data/src/context/plugins/DataSourcePluginContextProvider.tsx
@@ -2,7 +2,7 @@ import { PropsWithChildren, ReactElement, useMemo } from 'react';
import { DataSourceInstanceSettings } from '../../types/datasource';
-import { Context, DataSourcePluginContextType } from './PluginContext';
+import { PluginContext, DataSourcePluginContextType } from './PluginContext';
export type DataSourcePluginContextProviderProps = {
instanceSettings: DataSourceInstanceSettings;
@@ -16,5 +16,5 @@ export function DataSourcePluginContextProvider(
return { instanceSettings, meta: instanceSettings.meta };
}, [instanceSettings]);
- return {children};
+ return {children};
}
diff --git a/packages/grafana-data/src/context/plugins/PluginContext.tsx b/packages/grafana-data/src/context/plugins/PluginContext.tsx
index f8748617541..7471109d93d 100644
--- a/packages/grafana-data/src/context/plugins/PluginContext.tsx
+++ b/packages/grafana-data/src/context/plugins/PluginContext.tsx
@@ -1,14 +1,15 @@
import { createContext } from 'react';
+import { KeyValue } from '../../types/data';
import { DataSourceInstanceSettings } from '../../types/datasource';
import { PluginMeta } from '../../types/plugin';
-export interface PluginContextType {
- meta: PluginMeta;
+export interface PluginContextType {
+ meta: PluginMeta;
}
-export interface DataSourcePluginContextType extends PluginContextType {
+export interface DataSourcePluginContextType extends PluginContextType {
instanceSettings: DataSourceInstanceSettings;
}
-export const Context = createContext(undefined);
+export const PluginContext = createContext(undefined);
diff --git a/packages/grafana-data/src/context/plugins/PluginContextProvider.tsx b/packages/grafana-data/src/context/plugins/PluginContextProvider.tsx
index f60381c5aaa..c7698b18a34 100644
--- a/packages/grafana-data/src/context/plugins/PluginContextProvider.tsx
+++ b/packages/grafana-data/src/context/plugins/PluginContextProvider.tsx
@@ -2,7 +2,7 @@ import { PropsWithChildren, ReactElement } from 'react';
import { PluginMeta } from '../../types/plugin';
-import { Context } from './PluginContext';
+import { PluginContext } from './PluginContext';
export type PluginContextProviderProps = {
meta: PluginMeta;
@@ -10,5 +10,5 @@ export type PluginContextProviderProps = {
export function PluginContextProvider(props: PropsWithChildren): ReactElement {
const { children, ...rest } = props;
- return {children};
+ return {children};
}
diff --git a/packages/grafana-data/src/context/plugins/guards.ts b/packages/grafana-data/src/context/plugins/guards.ts
index 3a93c862f09..3b89b24dfed 100644
--- a/packages/grafana-data/src/context/plugins/guards.ts
+++ b/packages/grafana-data/src/context/plugins/guards.ts
@@ -1,5 +1,9 @@
+import { KeyValue } from '../../types/data';
+
import { type DataSourcePluginContextType, type PluginContextType } from './PluginContext';
-export function isDataSourcePluginContext(context: PluginContextType): context is DataSourcePluginContextType {
+export function isDataSourcePluginContext(
+ context: PluginContextType
+): context is DataSourcePluginContextType {
return 'instanceSettings' in context && 'meta' in context;
}
diff --git a/packages/grafana-data/src/context/plugins/usePluginContext.tsx b/packages/grafana-data/src/context/plugins/usePluginContext.tsx
index 58190a7e4e1..b00875909d7 100644
--- a/packages/grafana-data/src/context/plugins/usePluginContext.tsx
+++ b/packages/grafana-data/src/context/plugins/usePluginContext.tsx
@@ -1,9 +1,11 @@
import { useContext } from 'react';
-import { Context, PluginContextType } from './PluginContext';
+import { KeyValue } from '../../types/data';
-export function usePluginContext(): PluginContextType | null {
- const context = useContext(Context);
+import { PluginContext, PluginContextType } from './PluginContext';
+
+export function usePluginContext(): PluginContextType | null {
+ const context = useContext(PluginContext);
// The extensions hooks (e.g. `usePluginLinks()`) are using this hook to check
// if they are inside a plugin or not (core Grafana), so we should be able to return an empty state as well (`null`).
@@ -11,5 +13,6 @@ export function usePluginContext(): PluginContextType | null {
return null;
}
- return context;
+ // eslint-disable-next-line @typescript-eslint/consistent-type-assertions
+ return context as PluginContextType;
}
diff --git a/packages/grafana-data/src/index.ts b/packages/grafana-data/src/index.ts
index 80351af8bc2..bc9e4d245db 100644
--- a/packages/grafana-data/src/index.ts
+++ b/packages/grafana-data/src/index.ts
@@ -435,7 +435,7 @@ export { type GroupingToMatrixTransformerOptions } from './transformations/trans
export {
type PluginContextType,
type DataSourcePluginContextType,
- Context as PluginContext,
+ PluginContext,
} from './context/plugins/PluginContext';
export { type PluginContextProviderProps, PluginContextProvider } from './context/plugins/PluginContextProvider';
export {