Migrate to new import pattern

- Update all consumers to import from @grafana/schema/dashboard/v2beta1
- Update raw dashboard type imports to use @grafana/schema/dashboard/v0
- Add v2beta1/index.ts re-export file for the sub-path
- Consolidate duplicate imports to fix lint errors
This commit is contained in:
Dominik Prokop
2025-12-16 13:10:17 +01:00
parent d853bd598d
commit 43e3efc98a
59 changed files with 154 additions and 156 deletions
@@ -0,0 +1,4 @@
// Re-export all types and values from types.spec.gen and types.status.gen for sub-path imports
// This allows imports like: import { Spec, Status } from '@grafana/schema/dashboard/v2beta1'
export * from './types.spec.gen';
export * from './types.status.gen';
@@ -7,7 +7,7 @@ import { FixedSizeList } from 'react-window';
import { GrafanaTheme2 } from '@grafana/data';
import { Trans, t } from '@grafana/i18n';
import { Spec as DashboardV2Spec } from '@grafana/schema/dist/esm/schema/dashboard/v2';
import type { Spec as DashboardV2Spec } from '@grafana/schema/dashboard/v2beta1';
import {
Alert,
Button,
@@ -1,7 +1,7 @@
import memoizeOne from 'memoize-one';
import { useEffect, useState } from 'react';
import { Spec as DashboardV2Spec } from '@grafana/schema/dist/esm/schema/dashboard/v2';
import type { Spec as DashboardV2Spec } from '@grafana/schema/dashboard/v2beta1';
import { getDashboardAPI } from 'app/features/dashboard/api/dashboard_api';
import { DashboardWithAccessInfo } from 'app/features/dashboard/api/types';
import { isDashboardV2Resource } from 'app/features/dashboard/api/utils';
@@ -7,7 +7,7 @@ import { AppEvents, locationUtil } from '@grafana/data';
import { t } from '@grafana/i18n';
import { config, getBackendSrv, isFetchError, locationService } from '@grafana/runtime';
import { Dashboard } from '@grafana/schema';
import { Spec as DashboardV2Spec } from '@grafana/schema/dist/esm/schema/dashboard/v2';
import type { Spec as DashboardV2Spec } from '@grafana/schema/dashboard/v2beta1';
import { isProvisionedFolderCheck } from 'app/api/clients/folder/v1beta1/utils';
import { appEvents } from 'app/core/app_events';
import { setStarred } from 'app/core/reducers/navBarTree';
@@ -11,7 +11,7 @@ import {
SceneObjectState,
VizPanel,
} from '@grafana/scenes';
import { ConditionalRenderingDataKind } from '@grafana/schema/dist/esm/schema/dashboard/v2';
import type { ConditionalRenderingDataKind } from '@grafana/schema/dashboard/v2beta1';
import { Combobox, ComboboxOption } from '@grafana/ui';
import { dashboardEditActions } from '../../edit-pane/shared';
@@ -3,7 +3,7 @@ import { ReactElement, useCallback, useEffect, useMemo, useState } from 'react';
import { rangeUtil, SelectableValue } from '@grafana/data';
import { t } from '@grafana/i18n';
import { SceneComponentProps, sceneGraph, SceneObjectBase, SceneObjectState } from '@grafana/scenes';
import { ConditionalRenderingTimeRangeSizeKind } from '@grafana/schema/dist/esm/schema/dashboard/v2';
import type { ConditionalRenderingTimeRangeSizeKind } from '@grafana/schema/dashboard/v2beta1';
import { Field, Select } from '@grafana/ui';
import { dashboardEditActions } from '../../edit-pane/shared';
@@ -8,10 +8,10 @@ import {
SceneObjectState,
VariableDependencyConfig,
} from '@grafana/scenes';
import {
import type {
ConditionalRenderingVariableKind,
ConditionalRenderingVariableSpec,
} from '@grafana/schema/dist/esm/schema/dashboard/v2';
} from '@grafana/schema/dashboard/v2beta1';
import { Box, Combobox, ComboboxOption, Field, Input, Stack } from '@grafana/ui';
import { dashboardEditActions } from '../../edit-pane/shared';
@@ -1,9 +1,9 @@
import { Registry, RegistryItem } from '@grafana/data';
import {
import type {
ConditionalRenderingDataKind,
ConditionalRenderingTimeRangeSizeKind,
ConditionalRenderingVariableKind,
} from '@grafana/schema/dist/esm/schema/dashboard/v2';
} from '@grafana/schema/dashboard/v2beta1';
import { ConditionalRenderingData } from './ConditionalRenderingData';
import { ConditionalRenderingTimeRangeSize } from './ConditionalRenderingTimeRangeSize';
@@ -10,7 +10,7 @@ import {
SceneObjectRef,
SceneObjectState,
} from '@grafana/scenes';
import { ConditionalRenderingGroupKind } from '@grafana/schema/dist/esm/schema/dashboard/v2';
import type { ConditionalRenderingGroupKind } from '@grafana/schema/dashboard/v2beta1';
import { Stack } from '@grafana/ui';
import { ConditionalRenderingChangedEvent, dashboardEditActions } from '../../edit-pane/shared';
@@ -2,7 +2,7 @@ import { locationUtil, UrlQueryMap } from '@grafana/data';
import { t } from '@grafana/i18n';
import { config, getBackendSrv, getDataSourceSrv, isFetchError, locationService } from '@grafana/runtime';
import { sceneGraph } from '@grafana/scenes';
import { Spec as DashboardV2Spec } from '@grafana/schema/dist/esm/schema/dashboard/v2';
import type { Spec as DashboardV2Spec } from '@grafana/schema/dashboard/v2beta1';
import { GetRepositoryFilesWithPathApiResponse, provisioningAPIv0alpha1 } from 'app/api/clients/provisioning/v0alpha1';
import { StateManagerBase } from 'app/core/services/StateManagerBase';
import { contextSrv } from 'app/core/services/context_srv';
@@ -5,7 +5,7 @@ import { memo, useContext, useEffect, useMemo } from 'react';
import { Trans, t } from '@grafana/i18n';
import { locationService } from '@grafana/runtime';
import { Dashboard } from '@grafana/schema';
import { Spec as DashboardV2Spec } from '@grafana/schema/dist/esm/schema/dashboard/v2';
import type { Spec as DashboardV2Spec } from '@grafana/schema/dashboard/v2beta1';
import { ModalsContext, Modal, Button, useStyles2 } from '@grafana/ui';
import { Prompt } from 'app/core/components/FormPrompt/Prompt';
import { contextSrv } from 'app/core/services/context_srv';
@@ -2,13 +2,13 @@
import type { AdHocVariableModel, TextBoxVariableModel, TypedVariableModel } from '@grafana/data';
import { Dashboard, Panel, VariableOption } from '@grafana/schema';
import {
import type {
AdHocFilterWithLabels,
AdhocVariableSpec,
Spec as DashboardV2Spec,
TextVariableSpec,
VariableKind,
} from '@grafana/schema/dist/esm/schema/dashboard/v2';
} from '@grafana/schema/dashboard/v2beta1';
import { ResponseTransformers } from 'app/features/dashboard/api/ResponseTransformers';
import { isDashboardV2Spec } from 'app/features/dashboard/api/utils';
import { DashboardDataDTO, DashboardDTO } from 'app/types/dashboard';
@@ -4,7 +4,7 @@ import { selectors } from '@grafana/e2e-selectors';
import { Trans, t } from '@grafana/i18n';
import { config, isFetchError } from '@grafana/runtime';
import { Dashboard } from '@grafana/schema';
import { Spec as DashboardV2Spec } from '@grafana/schema/dist/esm/schema/dashboard/v2';
import type { Spec as DashboardV2Spec } from '@grafana/schema/dashboard/v2beta1';
import { Alert, Box, Button, Stack } from '@grafana/ui';
import { Diffs } from '../settings/version-history/utils';
@@ -4,7 +4,7 @@ import { locationUtil } from '@grafana/data';
import { t } from '@grafana/i18n';
import { locationService } from '@grafana/runtime';
import { Dashboard } from '@grafana/schema';
import { Spec as DashboardV2Spec } from '@grafana/schema/dist/esm/schema/dashboard/v2';
import type { Spec as DashboardV2Spec } from '@grafana/schema/dashboard/v2beta1';
import { appEvents } from 'app/core/app_events';
import { useAppNotification } from 'app/core/copy/appNotification';
import { updateDashboardName } from 'app/core/reducers/navBarTree';
@@ -16,7 +16,7 @@ import {
VizPanel,
} from '@grafana/scenes';
import { Dashboard, DashboardLink, LibraryPanel } from '@grafana/schema';
import { Spec as DashboardV2Spec } from '@grafana/schema/dist/esm/schema/dashboard/v2';
import type { Spec as DashboardV2Spec } from '@grafana/schema/dashboard/v2beta1';
import { appEvents } from 'app/core/app_events';
import { ScrollRefElement } from 'app/core/components/NativeScrollbar';
import { LS_PANEL_COPY_KEY } from 'app/core/constants';
@@ -3,15 +3,15 @@ import { defaults, each, sortBy } from 'lodash';
import { DataSourceRef, PanelPluginMeta, VariableOption, VariableRefresh } from '@grafana/data';
import { getDataSourceSrv } from '@grafana/runtime';
import { Panel } from '@grafana/schema';
import {
Spec as DashboardV2Spec,
import type {
PanelKind,
PanelQueryKind,
AnnotationQueryKind,
QueryVariableKind,
LibraryPanelRef,
LibraryPanelKind,
} from '@grafana/schema/dist/esm/schema/dashboard/v2';
Spec as DashboardV2Spec,
} from '@grafana/schema/dashboard/v2beta1';
import { notifyApp } from 'app/core/actions';
import config from 'app/core/config';
import { createErrorNotification } from 'app/core/copy/appNotification';
@@ -8,7 +8,7 @@ import {
VizPanel,
SceneGridItemLike,
} from '@grafana/scenes';
import { Spec as DashboardV2Spec } from '@grafana/schema/dist/esm/schema/dashboard/v2';
import type { Spec as DashboardV2Spec } from '@grafana/schema/dashboard/v2beta1';
import { GRID_CELL_VMARGIN } from 'app/core/constants';
import { OptionsPaneItemDescriptor } from 'app/features/dashboard/components/PanelEditor/OptionsPaneItemDescriptor';
@@ -17,7 +17,7 @@ import {
SceneGridLayoutDragStartEvent,
SceneObject,
} from '@grafana/scenes';
import { Spec as DashboardV2Spec } from '@grafana/schema/dist/esm/schema/dashboard/v2';
import type { Spec as DashboardV2Spec } from '@grafana/schema/dashboard/v2beta1';
import { useStyles2 } from '@grafana/ui';
import { GRID_COLUMN_COUNT } from 'app/core/constants';
import DashboardEmpty from 'app/features/dashboard/dashgrid/DashboardEmpty/DashboardEmpty';
@@ -11,7 +11,7 @@ import {
SceneGridItemLike,
SceneGridLayout,
} from '@grafana/scenes';
import { RowsLayoutRowKind } from '@grafana/schema/dist/esm/schema/dashboard/v2';
import type { RowsLayoutRowKind } from '@grafana/schema/dashboard/v2beta1';
import { appEvents } from 'app/core/app_events';
import { LS_ROW_COPY_KEY } from 'app/core/constants';
import store from 'app/core/store';
@@ -8,7 +8,7 @@ import {
SceneObjectState,
VizPanel,
} from '@grafana/scenes';
import { Spec as DashboardV2Spec } from '@grafana/schema/dist/esm/schema/dashboard/v2';
import type { Spec as DashboardV2Spec } from '@grafana/schema/dashboard/v2beta1';
import { dashboardEditActions, ObjectsReorderedOnCanvasEvent } from '../../edit-pane/shared';
import { serializeRowsLayout } from '../../serialization/layoutSerializers/RowsLayoutSerializer';
@@ -11,7 +11,7 @@ import {
SceneGridItemLike,
SceneGridLayout,
} from '@grafana/scenes';
import { TabsLayoutTabKind } from '@grafana/schema/dist/esm/schema/dashboard/v2';
import type { TabsLayoutTabKind } from '@grafana/schema/dashboard/v2beta1';
import { appEvents } from 'app/core/app_events';
import { LS_TAB_COPY_KEY } from 'app/core/constants';
import store from 'app/core/store';
@@ -8,7 +8,7 @@ import {
SceneObjectUrlValues,
VizPanel,
} from '@grafana/scenes';
import { Spec as DashboardV2Spec } from '@grafana/schema/dist/esm/schema/dashboard/v2';
import type { Spec as DashboardV2Spec } from '@grafana/schema/dashboard/v2beta1';
import { dashboardEditActions, ObjectsReorderedOnCanvasEvent } from '../../edit-pane/shared';
import { serializeTabsLayout } from '../../serialization/layoutSerializers/TabsLayoutSerializer';
@@ -1,5 +1,5 @@
import { SceneObject, VizPanel } from '@grafana/scenes';
import { Spec as DashboardV2Spec } from '@grafana/schema/dist/esm/schema/dashboard/v2';
import type { Spec as DashboardV2Spec } from '@grafana/schema/dashboard/v2beta1';
import { OptionsPaneItemDescriptor } from 'app/features/dashboard/components/PanelEditor/OptionsPaneItemDescriptor';
import { LayoutRegistryItem } from './LayoutRegistryItem';
@@ -1,5 +1,5 @@
import { Dashboard } from '@grafana/schema';
import { Spec as DashboardV2Spec } from '@grafana/schema/dist/esm/schema/dashboard/v2';
import type { Spec as DashboardV2Spec } from '@grafana/schema/dashboard/v2beta1';
import { AnnoKeyDashboardSnapshotOriginalUrl, ObjectMeta } from 'app/features/apiserver/types';
import { DashboardWithAccessInfo } from 'app/features/dashboard/api/types';
import { isDashboardV2Spec } from 'app/features/dashboard/api/utils';
@@ -1,9 +1,9 @@
import { AnnotationQuery } from '@grafana/data';
import {
AnnotationQueryKind,
type AnnotationQueryKind,
defaultAnnotationQuerySpec,
defaultDataQueryKind,
} from '@grafana/schema/dist/esm/schema/dashboard/v2';
} from '@grafana/schema/dashboard/v2beta1';
import { getRuntimePanelDataSource } from './layoutSerializers/utils';
@@ -2,14 +2,14 @@ import { t } from '@grafana/i18n';
import { config } from '@grafana/runtime';
import { VariableModel, defaultDashboard } from '@grafana/schema';
import {
AdhocVariableKind,
type AdhocVariableKind,
type GroupByVariableKind,
type Spec as DashboardV2Spec,
defaultAdhocVariableSpec,
defaultSpec as defaultDashboardV2Spec,
defaultGroupByVariableSpec,
defaultTimeSettingsSpec,
GroupByVariableKind,
Spec as DashboardV2Spec,
} from '@grafana/schema/dist/esm/schema/dashboard/v2';
} from '@grafana/schema/dashboard/v2beta1';
import { AnnoKeyFolder } from 'app/features/apiserver/types';
import { DashboardWithAccessInfo } from 'app/features/dashboard/api/types';
import { getDatasourceSrv } from 'app/features/plugins/datasource_srv';
@@ -1,8 +1,8 @@
import {
Spec as DashboardV2Spec,
type AutoGridLayoutItemKind,
type Spec as DashboardV2Spec,
defaultAutoGridLayoutSpec,
AutoGridLayoutItemKind,
} from '@grafana/schema/dist/esm/schema/dashboard/v2';
} from '@grafana/schema/dashboard/v2beta1';
import { AutoGridItem } from '../../scene/layout-auto-grid/AutoGridItem';
import { AutoGridLayout } from '../../scene/layout-auto-grid/AutoGridLayout';
@@ -1,6 +1,5 @@
import { SceneGridItemLike, SceneGridLayout, VizPanel } from '@grafana/scenes';
import {
Spec as DashboardV2Spec,
import type {
GridLayoutItemKind,
GridLayoutKind,
RepeatOptions,
@@ -8,7 +7,8 @@ import {
GridLayoutItemSpec,
PanelKind,
LibraryPanelKind,
} from '@grafana/schema/dist/esm/schema/dashboard/v2';
Spec as DashboardV2Spec,
} from '@grafana/schema/dashboard/v2beta1';
import { DashboardGridItem } from '../../scene/layout-default/DashboardGridItem';
import { DefaultGridLayoutManager } from '../../scene/layout-default/DefaultGridLayoutManager';
@@ -1,4 +1,4 @@
import { Spec as DashboardV2Spec, RowsLayoutRowKind } from '@grafana/schema/dist/esm/schema/dashboard/v2';
import type { RowsLayoutRowKind, Spec as DashboardV2Spec } from '@grafana/schema/dashboard/v2beta1';
import { RowItem } from '../../scene/layout-rows/RowItem';
import { RowsLayoutManager } from '../../scene/layout-rows/RowsLayoutManager';
@@ -1,4 +1,4 @@
import { Spec as DashboardV2Spec, TabsLayoutTabKind } from '@grafana/schema/dist/esm/schema/dashboard/v2';
import type { TabsLayoutTabKind, Spec as DashboardV2Spec } from '@grafana/schema/dashboard/v2beta1';
import { TabItem } from '../../scene/layout-tabs/TabItem';
import { TabsLayoutManager } from '../../scene/layout-tabs/TabsLayoutManager';
@@ -1,5 +1,5 @@
import { Registry, RegistryItem } from '@grafana/data';
import { Spec as DashboardV2Spec } from '@grafana/schema/dist/esm/schema/dashboard/v2';
import type { Spec as DashboardV2Spec } from '@grafana/schema/dashboard/v2beta1';
import { DashboardLayoutManager } from '../../scene/types/DashboardLayoutManager';
@@ -9,19 +9,19 @@ import {
VizPanelMenu,
VizPanelState,
} from '@grafana/scenes';
import { DataSourceRef } from '@grafana/schema/dist/esm/index.gen';
import {
Spec as DashboardV2Spec,
AutoGridLayoutItemKind,
RowsLayoutRowKind,
LibraryPanelKind,
PanelKind,
PanelQueryKind,
QueryVariableKind,
TabsLayoutTabKind,
DataQueryKind,
type Spec as DashboardV2Spec,
type AutoGridLayoutItemKind,
type RowsLayoutRowKind,
type LibraryPanelKind,
type PanelKind,
type PanelQueryKind,
type QueryVariableKind,
type TabsLayoutTabKind,
type DataQueryKind,
defaultPanelQueryKind,
} from '@grafana/schema/dist/esm/schema/dashboard/v2';
} from '@grafana/schema/dashboard/v2beta1';
import { DataSourceRef } from '@grafana/schema/dist/esm/index.gen';
import { MIXED_DATASOURCE_NAME } from 'app/plugins/datasource/mixed/MixedDataSource';
import { ConditionalRenderingGroup } from '../../conditional-rendering/group/ConditionalRenderingGroup';
@@ -13,22 +13,22 @@ import {
VariableSort as OldVariableSort,
} from '@grafana/schema';
import {
AdhocVariableKind,
ConstantVariableKind,
CustomVariableKind,
DataQueryKind,
DatasourceVariableKind,
IntervalVariableKind,
QueryVariableKind,
TextVariableKind,
GroupByVariableKind,
type AdhocVariableKind,
type ConstantVariableKind,
type CustomVariableKind,
type DataQueryKind,
type DatasourceVariableKind,
type IntervalVariableKind,
type QueryVariableKind,
type TextVariableKind,
type GroupByVariableKind,
type VariableOption,
type AdHocFilterWithLabels,
type SwitchVariableKind,
defaultVariableHide,
VariableOption,
defaultDataQueryKind,
AdHocFilterWithLabels,
SwitchVariableKind,
defaultIntervalVariableSpec,
} from '@grafana/schema/dist/esm/schema/dashboard/v2';
} from '@grafana/schema/dashboard/v2beta1';
import { getDefaultDatasource } from 'app/features/dashboard/api/ResponseTransformers';
import { getIntervalsQueryFromNewIntervalModel } from '../utils/utils';
@@ -20,11 +20,19 @@ import {
TextBoxVariable,
} from '@grafana/scenes';
import {
AdhocVariableKind,
ConstantVariableKind,
CustomVariableKind,
Spec as DashboardV2Spec,
DatasourceVariableKind,
type AdhocVariableKind,
type ConstantVariableKind,
type CustomVariableKind,
type Spec as DashboardV2Spec,
type DatasourceVariableKind,
type GroupByVariableKind,
type IntervalVariableKind,
type LibraryPanelKind,
type PanelKind,
type QueryVariableKind,
type SwitchVariableKind,
type TextVariableKind,
type AnnotationQueryKind,
defaultAdhocVariableKind,
defaultConstantVariableKind,
defaultCustomVariableKind,
@@ -35,16 +43,8 @@ import {
defaultTextVariableKind,
defaultSwitchVariableKind,
defaultTimeSettingsSpec,
GroupByVariableKind,
IntervalVariableKind,
LibraryPanelKind,
PanelKind,
QueryVariableKind,
SwitchVariableKind,
TextVariableKind,
defaultDataQueryKind,
AnnotationQueryKind,
} from '@grafana/schema/dist/esm/schema/dashboard/v2';
} from '@grafana/schema/dashboard/v2beta1';
import { DEFAULT_ANNOTATION_COLOR } from '@grafana/ui';
import {
AnnoKeyCreatedBy,
@@ -14,41 +14,41 @@ import {
VizPanel,
} from '@grafana/scenes';
import { DataSourceRef, VariableRefresh } from '@grafana/schema';
import { sortedDeepCloneWithoutNulls } from 'app/core/utils/object';
import {
Spec as DashboardV2Spec,
type Spec as DashboardV2Spec,
type PanelKind,
type PanelQueryKind,
type TransformationKind,
type FieldConfigSource,
type DataTransformerConfig,
type PanelQuerySpec,
type DataQueryKind,
type QueryOptionsSpec,
type QueryVariableKind,
type TextVariableKind,
type IntervalVariableKind,
type DatasourceVariableKind,
type CustomVariableKind,
type ConstantVariableKind,
type GroupByVariableKind,
type AdhocVariableKind,
type AnnotationQueryKind,
type DataLink,
type LibraryPanelKind,
type Element,
type DashboardCursorSync,
type FieldColor,
type SwitchVariableKind,
defaultSpec as defaultDashboardV2Spec,
defaultFieldConfigSource,
PanelKind,
PanelQueryKind,
TransformationKind,
FieldConfigSource,
DataTransformerConfig,
PanelQuerySpec,
DataQueryKind,
QueryOptionsSpec,
QueryVariableKind,
TextVariableKind,
IntervalVariableKind,
DatasourceVariableKind,
CustomVariableKind,
ConstantVariableKind,
GroupByVariableKind,
AdhocVariableKind,
AnnotationQueryKind,
DataLink,
LibraryPanelKind,
Element,
DashboardCursorSync,
FieldColor,
defaultFieldConfig,
defaultDataQueryKind,
SwitchVariableKind,
defaultTimeSettingsSpec,
defaultDashboardLinkType,
defaultDashboardLink,
} from '../../../../../packages/grafana-schema/src/schema/dashboard/v2';
} from '@grafana/schema/dashboard/v2beta1';
import { sortedDeepCloneWithoutNulls } from 'app/core/utils/object';
import { DashboardDataLayerSet } from '../scene/DashboardDataLayerSet';
import { DashboardScene, DashboardSceneState } from '../scene/DashboardScene';
import { PanelTimeRange } from '../scene/panel-timerange/PanelTimeRange';
@@ -7,7 +7,7 @@ import {
MappingType as MappingTypeV1,
ThresholdsMode as ThresholdsModeV1,
} from '@grafana/schema';
import {
import type {
DashboardCursorSync,
VariableHide,
VariableRefresh,
@@ -15,7 +15,7 @@ import {
FieldConfigSource,
SpecialValueMatch,
ThresholdsMode,
} from '@grafana/schema/dist/esm/schema/dashboard/v2';
} from '@grafana/schema/dashboard/v2beta1';
export function transformVariableRefreshToEnumV1(refresh?: VariableRefresh): VariableRefreshV1 {
switch (refresh) {
@@ -6,18 +6,18 @@ import {
FieldColorModeId as FieldColorModeIdV1,
DataTopic,
} from '@grafana/schema';
import { DataTransformerConfig } from '@grafana/schema/dist/esm/raw/dashboard/x/dashboard_types.gen';
import {
DashboardCursorSync,
type DashboardCursorSync,
type VariableHide,
type VariableRefresh,
type VariableSort,
type FieldColorModeId as FieldColorModeIdV2,
defaultSpec as defaultDashboardV2Spec,
defaultVariableHide,
defaultVariableRefresh,
defaultVariableSort,
VariableHide,
VariableRefresh,
VariableSort,
FieldColorModeId as FieldColorModeIdV2,
} from '@grafana/schema/dist/esm/schema/dashboard/v2';
} from '@grafana/schema/dashboard/v2beta1';
import { DataTransformerConfig } from '@grafana/schema/dist/esm/raw/dashboard/x/dashboard_types.gen';
// used for QueryVariableKind's query prop - in schema V2 we've deprecated string type and support only DataQuery
export const LEGACY_STRING_VALUE_KEY = '__legacyStringValue';
@@ -5,7 +5,7 @@ import { GrafanaTheme2, PageLayoutType } from '@grafana/data';
import { Trans, t } from '@grafana/i18n';
import { SceneComponentProps, SceneObjectBase, sceneUtils } from '@grafana/scenes';
import { Dashboard } from '@grafana/schema';
import { Spec as DashboardV2Spec } from '@grafana/schema/dist/esm/schema/dashboard/v2';
import type { Spec as DashboardV2Spec } from '@grafana/schema/dashboard/v2beta1';
import { Alert, Box, Button, CodeEditor, Stack, useStyles2 } from '@grafana/ui';
import { Page } from 'app/core/components/Page/Page';
import { getDashboardAPI } from 'app/features/dashboard/api/dashboard_api';
@@ -14,7 +14,7 @@ import { selectors } from '@grafana/e2e-selectors';
import { Trans, t } from '@grafana/i18n';
import { config, getDataSourceSrv } from '@grafana/runtime';
import { VizPanel } from '@grafana/scenes';
import { AnnotationPanelFilter } from '@grafana/schema/src/raw/dashboard/x/dashboard_types.gen';
import { AnnotationPanelFilter } from '@grafana/schema/dashboard/v0';
import {
Button,
Checkbox,
@@ -3,7 +3,7 @@ import { AsyncState } from 'react-use/lib/useAsync';
import { selectors as e2eSelectors } from '@grafana/e2e-selectors';
import { Trans, t } from '@grafana/i18n';
import { Dashboard } from '@grafana/schema';
import { Spec as DashboardV2Spec } from '@grafana/schema/dist/esm/schema/dashboard/v2';
import type { Spec as DashboardV2Spec } from '@grafana/schema/dashboard/v2beta1';
import { Alert, Label, RadioButtonGroup, Stack, Switch } from '@grafana/ui';
import { DashboardJson } from 'app/features/manage-dashboards/types';
@@ -8,7 +8,7 @@ import { Trans, t } from '@grafana/i18n';
import { config } from '@grafana/runtime';
import { SceneComponentProps, SceneObjectBase } from '@grafana/scenes';
import { Dashboard } from '@grafana/schema';
import { Spec as DashboardV2Spec } from '@grafana/schema/dist/esm/schema/dashboard/v2';
import type { Spec as DashboardV2Spec } from '@grafana/schema/dashboard/v2beta1';
import { Button, ClipboardButton, CodeEditor, Field, Modal, Stack, Switch } from '@grafana/ui';
import { ObjectMeta } from 'app/features/apiserver/types';
import { transformDashboardV2SpecToV1 } from 'app/features/dashboard/api/ResponseTransformers';
@@ -5,6 +5,7 @@ import { selectors as e2eSelectors } from '@grafana/e2e-selectors';
import { Trans, t } from '@grafana/i18n';
import { SceneComponentProps, sceneGraph, SceneObjectBase, SceneObjectRef, VizPanel } from '@grafana/scenes';
import { Dashboard } from '@grafana/schema';
import type { Spec as DashboardV2Spec } from '@grafana/schema/dashboard/v2beta1';
import { Button, ClipboardButton, Field, Input, Modal, RadioButtonGroup, Stack } from '@grafana/ui';
import { notifyApp } from 'app/core/actions';
import { createSuccessNotification } from 'app/core/copy/appNotification';
@@ -12,7 +13,6 @@ import { getTrackingSource, shareDashboardType } from 'app/features/dashboard/co
import { getDashboardSnapshotSrv, SnapshotSharingOptions } from 'app/features/dashboard/services/SnapshotSrv';
import { dispatch } from 'app/store/store';
import { Spec as DashboardV2Spec } from '../../../../../packages/grafana-schema/src/schema/dashboard/v2';
import { DashboardScene } from '../scene/DashboardScene';
import { transformSceneToSaveModel, trimDashboardForSnapshot } from '../serialization/transformSceneToSaveModel';
import {
@@ -1,10 +1,6 @@
import { locationUtil } from '@grafana/data';
import { locationService, reportInteraction } from '@grafana/runtime';
import {
AnnotationQueryKind,
Spec as DashboardV2Spec,
defaultDataQueryKind,
} from '@grafana/schema/dist/esm/schema/dashboard/v2';
import { AnnotationQueryKind, Spec as DashboardV2Spec, defaultDataQueryKind } from '@grafana/schema/dashboard/v2beta1';
import { Form } from 'app/core/components/Form/Form';
import { getDashboardAPI } from 'app/features/dashboard/api/dashboard_api';
import { SaveDashboardCommand } from 'app/features/dashboard/components/SaveDashboard/types';
@@ -3,7 +3,7 @@ import {
defaultQueryGroupKind,
defaultPanelQueryKind,
defaultVizConfigKind,
} from '@grafana/schema/dist/esm/schema/dashboard/v2';
} from '@grafana/schema/dashboard/v2beta1';
import { isPanelKindV2 } from './validation';
@@ -1,10 +1,10 @@
import {
import type {
PanelKind,
QueryGroupKind,
VizConfigKind,
PanelQueryKind,
TransformationKind,
} from '@grafana/schema/dist/esm/schema/dashboard/v2';
} from '@grafana/schema/dashboard/v2beta1';
function isObject(value: unknown): value is Record<string, unknown> {
return typeof value === 'object' && value !== null && !Array.isArray(value);
@@ -13,13 +13,11 @@ import {
MappingType as MappingTypeV1,
SpecialValueMatch as SpecialValueMatchV1,
} from '@grafana/schema';
import { DashboardLink, DataTransformerConfig } from '@grafana/schema/dashboard/v0';
import {
AnnotationQueryKind,
Spec as DashboardV2Spec,
DataLink,
DatasourceVariableKind,
defaultSpec as defaultDashboardV2Spec,
defaultTimeSettingsSpec,
PanelQueryKind,
QueryVariableKind,
TransformationKind,
@@ -37,15 +35,17 @@ import {
LibraryPanelKind,
PanelKind,
GridLayoutItemKind,
defaultDataQueryKind,
RowsLayoutRowKind,
GridLayoutKind,
Spec as DashboardV2Spec,
defaultSpec as defaultDashboardV2Spec,
defaultTimeSettingsSpec,
defaultDataQueryKind,
defaultDashboardLinkType,
defaultDashboardLink,
defaultFieldConfigSource,
defaultPanelQueryKind,
} from '@grafana/schema/dist/esm/schema/dashboard/v2';
import { DashboardLink, DataTransformerConfig } from '@grafana/schema/src/raw/dashboard/x/dashboard_types.gen';
} from '@grafana/schema/dashboard/v2beta1';
import { isWeekStart, WeekStart } from '@grafana/ui';
import {
AnnoKeyCreatedBy,
@@ -1,5 +1,5 @@
import { Dashboard } from '@grafana/schema';
import { Spec as DashboardV2Spec } from '@grafana/schema/dist/esm/schema/dashboard/v2';
import type { Spec as DashboardV2Spec } from '@grafana/schema/dashboard/v2beta1';
import { isResource } from 'app/features/apiserver/guards';
import { Resource, ResourceList } from 'app/features/apiserver/types';
import { DashboardDataDTO, DashboardDTO } from 'app/types/dashboard';
@@ -1,5 +1,5 @@
import { Dashboard } from '@grafana/schema';
import { Spec as DashboardV2Spec } from '@grafana/schema/dist/esm/schema/dashboard/v2';
import type { Spec as DashboardV2Spec } from '@grafana/schema/dashboard/v2beta1';
import { DashboardDTO } from 'app/types/dashboard';
import { UnifiedDashboardAPI } from './UnifiedDashboardAPI';
+1 -1
View File
@@ -1,5 +1,5 @@
import { UrlQueryMap } from '@grafana/data';
import { Status } from '@grafana/schema/src/schema/dashboard/v2';
import type { Status } from '@grafana/schema/dashboard/v2beta1';
import { ListOptions, Resource, ResourceList } from 'app/features/apiserver/types';
import { DeleteDashboardResponse } from 'app/features/manage-dashboards/types';
import { AnnotationsPermissions, SaveDashboardResponseDTO } from 'app/types/dashboard';
+2 -3
View File
@@ -1,7 +1,6 @@
import { config, locationService } from '@grafana/runtime';
import { Dashboard } from '@grafana/schema/dist/esm/index.gen';
import { Spec as DashboardV2Spec } from '@grafana/schema/dist/esm/schema/dashboard/v2';
import { Status } from '@grafana/schema/src/schema/dashboard/v2';
import { Dashboard } from '@grafana/schema';
import type { Spec as DashboardV2Spec, Status } from '@grafana/schema/dashboard/v2beta1';
import { Resource } from 'app/features/apiserver/types';
import { DashboardDataDTO, DashboardDTO } from 'app/types/dashboard';
+1 -1
View File
@@ -1,7 +1,7 @@
import { locationUtil, UrlQueryMap } from '@grafana/data';
import { t } from '@grafana/i18n';
import { Dashboard } from '@grafana/schema';
import { Status } from '@grafana/schema/src/schema/dashboard/v2';
import type { Status } from '@grafana/schema/dashboard/v2beta1';
import { getFolderByUidFacade } from 'app/api/clients/folder/v1beta1/hooks';
import { getMessageFromError, getStatusFromError } from 'app/core/utils/errors';
import { ScopedResourceClient } from 'app/features/apiserver/client';
+1 -2
View File
@@ -1,7 +1,6 @@
import { locationUtil } from '@grafana/data';
import { t } from '@grafana/i18n';
import { Spec as DashboardV2Spec } from '@grafana/schema/dist/esm/schema/dashboard/v2';
import { Status } from '@grafana/schema/src/schema/dashboard/v2';
import type { Spec as DashboardV2Spec, Status } from '@grafana/schema/dashboard/v2beta1';
import { getFolderByUidFacade } from 'app/api/clients/folder/v1beta1/hooks';
import { getMessageFromError, getStatusFromError } from 'app/core/utils/errors';
import { ScopedResourceClient } from 'app/features/apiserver/client';
@@ -13,7 +13,7 @@ import {
import { selectors } from '@grafana/e2e-selectors';
import { Trans, t } from '@grafana/i18n';
import { getDataSourceSrv, locationService } from '@grafana/runtime';
import { AnnotationPanelFilter } from '@grafana/schema/src/raw/dashboard/x/dashboard_types.gen';
import { AnnotationPanelFilter } from '@grafana/schema/dashboard/v0';
import { Button, Checkbox, Field, FieldSet, Input, MultiSelect, Select, useStyles2, Stack, Alert } from '@grafana/ui';
import { ColorValueEditor } from 'app/core/components/OptionsUI/color';
import config from 'app/core/config';
@@ -6,7 +6,7 @@ import { Props as AutoSizerProps } from 'react-virtualized-auto-sizer';
import { render } from 'test/test-utils';
import { selectors as e2eSelectors } from '@grafana/e2e-selectors/src';
import { Dashboard, DashboardCursorSync, FieldConfigSource, Panel, ThresholdsMode } from '@grafana/schema/src';
import { Dashboard, DashboardCursorSync, FieldConfigSource, Panel, ThresholdsMode } from '@grafana/schema';
import { getRouteComponentProps } from 'app/core/navigation/mocks/routeProps';
import { DashboardInitPhase, DashboardMeta, DashboardRoutes } from 'app/types/dashboard';
import { StoreState } from 'app/types/store';
@@ -4,7 +4,7 @@ import moment from 'moment'; // eslint-disable-line no-restricted-imports
import { AppEvents, dateMath, UrlQueryMap, UrlQueryValue } from '@grafana/data';
import { getBackendSrv, isFetchError, locationService } from '@grafana/runtime';
import { Spec as DashboardV2Spec } from '@grafana/schema/dist/esm/schema/dashboard/v2';
import type { Spec as DashboardV2Spec } from '@grafana/schema/dashboard/v2beta1';
import { backendSrv } from 'app/core/services/backend_srv';
import impressionSrv from 'app/core/services/impression_srv';
import kbn from 'app/core/utils/kbn';
@@ -1,5 +1,5 @@
import { PanelModel } from '@grafana/data';
import { FieldColorModeId, ThresholdsMode } from '@grafana/schema/src';
import { FieldColorModeId, ThresholdsMode } from '@grafana/schema/dashboard/v0';
import { DashboardModel } from '../state/DashboardModel';
import { createDashboardModelFixture, createPanelSaveModel } from '../state/__fixtures__/dashboardFixtures';
@@ -1,10 +1,10 @@
import { VariableModel } from '@grafana/schema/dist/esm/index';
import {
import type {
AdhocVariableKind,
DatasourceVariableKind,
QueryVariableKind,
VariableKind,
} from '@grafana/schema/dist/esm/schema/dashboard/v2';
} from '@grafana/schema/dashboard/v2beta1';
import { VariableModel } from '@grafana/schema/dist/esm/index';
import { DashboardInteractions } from 'app/features/dashboard-scene/utils/interactions';
import { DashboardModel } from '../state/DashboardModel';
@@ -1,11 +1,11 @@
import { DataSourceInstanceSettings } from '@grafana/data';
import { getBackendSrv, getDataSourceSrv, isFetchError } from '@grafana/runtime';
import {
Spec as DashboardV2Spec,
import type {
QueryVariableKind,
PanelQueryKind,
AnnotationQueryKind,
} from '@grafana/schema/dist/esm/schema/dashboard/v2';
Spec as DashboardV2Spec,
} from '@grafana/schema/dashboard/v2beta1';
import { notifyApp } from 'app/core/actions';
import { createErrorNotification } from 'app/core/copy/appNotification';
import { browseDashboardsAPI, ImportInputs } from 'app/features/browse-dashboards/api/browseDashboardsAPI';
@@ -1,4 +1,4 @@
import { Dashboard } from '@grafana/schema/src/veneer/dashboard.types';
import { Dashboard } from '@grafana/schema';
import { ExternalDashboard } from '../dashboard/components/DashExportModal/DashboardExporter';