Grafana/data: Remove barrel files part 3 (#90001)

* chore(grafana-data): remove monac and theme barrel files, clean up imports and exports

* chore(grafana-data): remove query barrel file and update imports / exports

* chore(grafana-data): remove text and events barrel files, update imports n exports

* chore(alerting): fix grafana/data imports pointing to nested barrel files

* chore(grafana-data): delete unused text/index.ts

* chore(grafana-data): fix broken text import paths
This commit is contained in:
Jack Westbrook 2024-07-09 10:07:33 +02:00 committed by GitHub
parent 82d8ca03b3
commit d8137083d9
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
36 changed files with 139 additions and 104 deletions

View File

@ -1,4 +0,0 @@
export * from './eventFactory';
export * from './types';
export * from './EventBus';
export * from './common';

View File

@ -1,5 +1,5 @@
import { systemDateFormats } from '../datetime/formats';
import { createTheme } from '../themes';
import { createTheme } from '../themes/createTheme';
import { FieldConfig, FieldType } from '../types/dataFrame';
import { DisplayProcessor, DisplayValue } from '../types/displayValue';
import { ThresholdsMode } from '../types/thresholds';

View File

@ -1,4 +1,4 @@
import { createTheme } from '../themes';
import { createTheme } from '../themes/createTheme';
import { Field, FieldType } from '../types/dataFrame';
import { FieldColorModeId } from '../types/fieldColor';

View File

@ -2,7 +2,7 @@ import { interpolateRgbBasis } from 'd3-interpolate';
import stringHash from 'string-hash';
import tinycolor from 'tinycolor2';
import { colorManipulator } from '../themes';
import { getContrastRatio } from '../themes/colorManipulator';
import { GrafanaTheme2 } from '../themes/types';
import { reduceField } from '../transformations/fieldReducer';
import { Field } from '../types/dataFrame';
@ -70,10 +70,8 @@ export const fieldColorModeRegistry = new Registry<FieldColorMode>(() => {
getColors: (theme: GrafanaTheme2) => {
return theme.visualization.palette.filter(
(color) =>
colorManipulator.getContrastRatio(
theme.visualization.getColorByName(color),
theme.colors.background.primary
) >= theme.colors.contrastThreshold
getContrastRatio(theme.visualization.getColorByName(color), theme.colors.background.primary) >=
theme.colors.contrastThreshold
);
},
}),

View File

@ -1,7 +1,7 @@
import { merge } from 'lodash';
import { toDataFrame } from '../dataframe/processDataFrame';
import { createTheme } from '../themes';
import { createTheme } from '../themes/createTheme';
import { ReducerID } from '../transformations/fieldReducer';
import { FieldConfigPropertyItem } from '../types/fieldOverrides';
import { MappingType, SpecialValueMatch, ValueMapping } from '../types/valueMapping';

View File

@ -2,7 +2,7 @@ import { isEmpty } from 'lodash';
import { DataFrameView } from '../dataframe/DataFrameView';
import { getTimeField } from '../dataframe/processDataFrame';
import { GrafanaTheme2 } from '../themes';
import { GrafanaTheme2 } from '../themes/types';
import { reduceField, ReducerID } from '../transformations/fieldReducer';
import { getFieldMatcher } from '../transformations/matchers';
import { FieldMatcherID } from '../transformations/matchers/ids';

View File

@ -1,7 +1,7 @@
import { ArrayDataFrame } from '../dataframe/ArrayDataFrame';
import { createDataFrame, toDataFrame } from '../dataframe/processDataFrame';
import { relativeToTimeRange } from '../datetime/rangeutil';
import { createTheme } from '../themes';
import { createTheme } from '../themes/createTheme';
import { FieldMatcherID } from '../transformations/matchers/ids';
import { ScopedVars } from '../types/ScopedVars';
import { GrafanaConfig } from '../types/config';

View File

@ -7,8 +7,8 @@ import { VariableFormatID } from '@grafana/schema';
import { compareArrayValues, compareDataFrameStructures } from '../dataframe/frameComparisons';
import { guessFieldTypeForField } from '../dataframe/processDataFrame';
import { PanelPlugin } from '../panel/PanelPlugin';
import { GrafanaTheme2 } from '../themes';
import { asHexString } from '../themes/colorManipulator';
import { GrafanaTheme2 } from '../themes/types';
import { ReducerID, reduceField } from '../transformations/fieldReducer';
import { fieldMatchers } from '../transformations/matchers';
import { ScopedVars, DataContextScopedVar } from '../types/ScopedVars';

View File

@ -1,5 +1,5 @@
import { createDataFrame, toDataFrame } from '../dataframe/processDataFrame';
import { createTheme } from '../themes';
import { createTheme } from '../themes/createTheme';
import { applyFieldOverrides } from './fieldOverrides';
import { getFieldDisplayValuesProxy } from './getFieldDisplayValuesProxy';

View File

@ -1,4 +1,4 @@
import { createTheme } from '../themes';
import { createTheme } from '../themes/createTheme';
import { Field, FieldType } from '../types/dataFrame';
import { FieldColorModeId } from '../types/fieldColor';
import { ThresholdsMode } from '../types/thresholds';

View File

@ -1,6 +1,6 @@
import { ComponentType } from 'react';
import { EventBus } from '../events';
import { EventBus } from '../events/types';
import { DataFrame } from '../types/dataFrame';
import { VariableSuggestionsScope, VariableSuggestion } from '../types/dataLink';
import { InterpolateFunction } from '../types/panel';

View File

@ -4,9 +4,9 @@ import { ReactNode } from 'react';
import { MapLayerOptions, FrameGeometrySourceMode } from '@grafana/schema';
import { EventBus } from '../events';
import { EventBus } from '../events/types';
import { StandardEditorContext } from '../field/standardFieldConfigEditorRegistry';
import { GrafanaTheme2 } from '../themes';
import { GrafanaTheme2 } from '../themes/types';
import { PanelData } from '../types/panel';
import { PanelOptionsEditorBuilder } from '../utils/OptionsUIBuilders';
import { RegistryItemWithOptions } from '../utils/Registry';

View File

@ -4,12 +4,6 @@
* @packageDocumentation
*/
export * from './text';
export * from './events';
export * from './themes';
export * from './monaco';
export * from './geo/layer';
export * from './query';
export { amendTable, trimTable, type Table } from './table/amendTimeSeries';
// DataFrames
@ -38,7 +32,6 @@ export {
type PartialDataFrame,
createDataFrame,
} from './dataframe/processDataFrame';
export {
type Dimension,
type Dimensions,
@ -49,7 +42,6 @@ export {
getAllValuesFromDimension,
getDimensionByName,
} from './dataframe/dimensions';
export {
anySeriesWithTimeField,
hasTimeField,
@ -65,9 +57,7 @@ export {
type StreamingFrameOptions,
closestIdx,
} from './dataframe/StreamingDataFrame';
export { ArrayDataFrame, arrayToDataFrame } from './dataframe/ArrayDataFrame';
export {
type DataFrameJSON,
type DataFrameData,
@ -79,9 +69,67 @@ export {
dataFrameFromJSON,
dataFrameToJSON,
} from './dataframe/DataFrameJSON';
export { compareDataFrameStructures, compareArrayValues, shallowCompare } from './dataframe/frameComparisons';
// Query
export { getNextRefId } from './query/refId';
// Geo
export {
FrameGeometrySourceMode,
type FrameGeometrySource,
type MapLayerOptions,
type MapLayerHandler,
type MapLayerRegistryItem,
} from './geo/layer';
// Text
export {
escapeStringForRegex,
unEscapeStringFromRegex,
stringStartsAsRegEx,
stringToJsRegex,
stringToMs,
toNumberString,
toIntegerOrUndefined,
toFloatOrUndefined,
toPascalCase,
escapeRegex,
} from './text/string';
export { type TextMatch, findHighlightChunksInText, findMatchesInText, parseFlags } from './text/text';
export { type RenderMarkdownOptions, renderMarkdown, renderTextPanelMarkdown } from './text/markdown';
export { textUtil } from './text/sanitize';
// Events
export { eventFactory } from './events/eventFactory';
export {
BusEventBase,
BusEventWithPayload,
type BusEvent,
type BusEventType,
type BusEventHandler,
type EventFilterOptions,
type EventBus,
type AppEvent,
type LegacyEmitter,
type LegacyEventHandler,
type EventBusExtended,
} from './events/types';
export { EventBusSrv } from './events/EventBus';
export {
type DataHoverPayload,
DataHoverEvent,
DataHoverClearEvent,
DataSelectEvent,
AnnotationChangeEvent,
type DashboardLoadedEventPayload,
DashboardLoadedEvent,
DataSourceUpdatedSuccessfully,
DataSourceTestSucceeded,
DataSourceTestFailed,
SetPanelAttentionEvent,
} from './events/common';
// Field
export {
getFieldColorModeForField,
@ -106,7 +154,6 @@ export {
getUniqueFieldName,
} from './field/fieldState';
export { getScaleCalculator, getFieldConfigWithMinMax, getMinMaxAndDelta } from './field/scale';
export {
type ReduceDataOptions,
VAR_SERIES_NAME,
@ -123,9 +170,7 @@ export {
getDisplayValueAlignmentFactors,
fixCellTemplateExpressions,
} from './field/fieldDisplay';
export { getDisplayProcessor, getRawDisplayProcessor } from './field/displayProcessor';
export {
type StandardEditorContext,
type StandardEditorProps,
@ -133,7 +178,6 @@ export {
standardFieldConfigEditorRegistry,
standardEditorsRegistry,
} from './field/standardFieldConfigEditorRegistry';
export {
identityOverrideProcessor,
numberOverrideProcessor,
@ -173,7 +217,6 @@ export { convertOldAngularValueMappings, LegacyMappingType } from './utils/value
export { containsSearchFilter, type SearchFilterOptions, getSearchFilterScopedVar } from './utils/variables';
export { renderLegendFormat } from './utils/legend';
export { matchPluginId } from './utils/matchPluginId';
export { type RegistryItem, type RegistryItemWithOptions, Registry } from './utils/Registry';
export {
getDataSourceRef,
@ -191,9 +234,7 @@ export {
updateDatasourcePluginSecureJsonDataOption,
updateDatasourcePluginResetOption,
} from './utils/datasource';
export { deprecationWarning } from './utils/deprecationWarning';
export {
CSVHeaderStyle,
type CSVConfig,
@ -203,7 +244,6 @@ export {
CSVReader,
toCSV,
} from './utils/csv';
export { parseLabels, findCommonLabels, findUniqueLabels, matchAllLabels, formatLabels } from './utils/labels';
export { roundDecimals, guessDecimals } from './utils/numbers';
export { objRemoveUndefined, isEmptyObject } from './utils/object';
@ -228,10 +268,8 @@ export {
getValueMatcher,
} from './transformations/matchers';
export { type FieldValueMatcherConfig } from './transformations/matchers/fieldValueMatcher';
export { DataTransformerID } from './transformations/transformers/ids';
export { MatcherID, FieldMatcherID, FrameMatcherID, ValueMatcherID } from './transformations/matchers/ids';
export {
ReducerID,
isReducerID,
@ -241,7 +279,6 @@ export {
defaultCalcs,
doStandardCalcs,
} from './transformations/fieldReducer';
export { transformDataFrame } from './transformations/transformDataFrame';
export {
type TransformerRegistryItem,
@ -262,11 +299,30 @@ export {
} from './transformations/transformers/joinDataFrames';
export * from './transformations/transformers/histogram';
export { ensureTimeField } from './transformations/transformers/convertFieldType';
// Required for Sparklines util to work in @grafana/data, but ideally kept internal
export { applyNullInsertThreshold } from './transformations/transformers/nulls/nullInsertThreshold';
export { nullToValue } from './transformations/transformers/nulls/nullToValue';
// Monaco
export { type MonacoLanguageRegistryItem, monacoLanguageRegistry } from './monaco/languageRegistry';
// Theme
export { createTheme } from './themes/createTheme';
export { getThemeById, getBuiltInThemes, type ThemeRegistryItem } from './themes/registry';
export type { NewThemeOptions } from './themes/createTheme';
export type { ThemeRichColor, GrafanaTheme2 } from './themes/types';
export type { ThemeColors } from './themes/createColors';
export type { ThemeBreakpoints, ThemeBreakpointsKey } from './themes/breakpoints';
export type { ThemeShadows } from './themes/createShadows';
export type { ThemeShape } from './themes/createShape';
export type { ThemeTypography, ThemeTypographyVariant, ThemeTypographyVariantTypes } from './themes/createTypography';
export type { ThemeTransitions } from './themes/createTransitions';
export type { ThemeSpacing, ThemeSpacingTokens } from './themes/createSpacing';
export type { ThemeZIndices } from './themes/zIndex';
export type { ThemeVisualizationColors, ThemeVizColor, ThemeVizHue } from './themes/createVisualizationColors';
export { colorManipulator } from './themes/colorManipulator';
export { ThemeContext } from './themes/context';
// ValueFormats
export {
type FormattedValue,

View File

@ -1 +0,0 @@
export * from './languageRegistry';

View File

@ -1 +0,0 @@
export * from './refId';

View File

@ -1,6 +1,6 @@
import { DataQuery } from '@grafana/schema';
import { getNextRefId } from '.';
import { getNextRefId } from './refId';
export interface TestQuery extends DataQuery {
name?: string;

View File

@ -1,4 +1,4 @@
import { closestIdx } from '../';
import { closestIdx } from '../dataframe/StreamingDataFrame';
export type Table = [times: number[], ...values: any[][]];

View File

@ -1,24 +0,0 @@
export * from './string';
export * from './markdown';
export * from './text';
import {
escapeHtml,
hasAnsiCodes,
sanitize,
sanitizeUrl,
sanitizeTextPanelContent,
sanitizeSVGContent,
sanitizeTrustedTypes,
sanitizeTrustedTypesRSS,
} from './sanitize';
export const textUtil = {
escapeHtml,
hasAnsiCodes,
sanitize,
sanitizeTextPanelContent,
sanitizeUrl,
sanitizeSVGContent,
sanitizeTrustedTypes,
sanitizeTrustedTypesRSS,
};

View File

@ -100,3 +100,14 @@ export function escapeHtml(str: string): string {
.replace(/'/g, '&#39;')
.replace(/"/g, '&quot;');
}
export const textUtil = {
escapeHtml,
hasAnsiCodes,
sanitize,
sanitizeTextPanelContent,
sanitizeUrl,
sanitizeSVGContent,
sanitizeTrustedTypes,
sanitizeTrustedTypesRSS,
};

View File

@ -371,3 +371,20 @@ interface DecomposeColor {
values: any;
colorSpace?: string;
}
export const colorManipulator = {
clamp,
hexToRgb,
rgbToHex,
asHexString,
asRgbString,
hslToRgb,
decomposeColor,
recomposeColor,
getContrastRatio,
getLuminance,
emphasize,
alpha,
darken,
lighten,
};

View File

@ -1,18 +0,0 @@
export { createTheme } from './createTheme';
export { getThemeById, getBuiltInThemes, type ThemeRegistryItem } from './registry';
export type { NewThemeOptions } from './createTheme';
export type { ThemeRichColor, GrafanaTheme2 } from './types';
export type { ThemeColors } from './createColors';
export type { ThemeBreakpoints, ThemeBreakpointsKey } from './breakpoints';
export type { ThemeShadows } from './createShadows';
export type { ThemeShape } from './createShape';
export type { ThemeTypography, ThemeTypographyVariant, ThemeTypographyVariantTypes } from './createTypography';
export type { ThemeTransitions } from './createTransitions';
export type { ThemeSpacing, ThemeSpacingTokens } from './createSpacing';
export type { ThemeZIndices } from './zIndex';
export type { ThemeVisualizationColors, ThemeVizColor, ThemeVizHue } from './createVisualizationColors';
/** Exporting the module like this to be able to generate docs properly. */
import * as colorManipulator from './colorManipulator';
export { colorManipulator };
export { ThemeContext } from './context';

View File

@ -1,4 +1,4 @@
import { stringToJsRegex } from '../../text';
import { stringToJsRegex } from '../../text/string';
import { DataFrame } from '../../types/dataFrame';
import { FrameMatcherInfo } from '../../types/transformations';

View File

@ -1,7 +1,8 @@
import { map } from 'rxjs/operators';
import { getDisplayProcessor } from '../../field/displayProcessor';
import { createTheme, GrafanaTheme2 } from '../../themes';
import { createTheme } from '../../themes/createTheme';
import { GrafanaTheme2 } from '../../themes/types';
import { DataFrame, Field, FieldConfig, FieldType } from '../../types/dataFrame';
import { DataFrameType } from '../../types/dataFrameTypes';
import { DataTransformContext, SynchronousDataTransformerInfo } from '../../types/transformations';

View File

@ -1,6 +1,6 @@
import { SystemDateFormatSettings } from '../datetime/formats';
import { MapLayerOptions } from '../geo/layer';
import { GrafanaTheme2 } from '../themes';
import { GrafanaTheme2 } from '../themes/types';
import { DataSourceInstanceSettings } from './datasource';
import { FeatureToggles } from './featureToggles.gen';

View File

@ -2,7 +2,7 @@ import { ComponentType } from 'react';
import { FieldConfigOptionsRegistry } from '../field/FieldConfigOptionsRegistry';
import { StandardEditorContext, StandardEditorProps } from '../field/standardFieldConfigEditorRegistry';
import { GrafanaTheme2 } from '../themes';
import { GrafanaTheme2 } from '../themes/types';
import { OptionsEditorItem } from './OptionsUIRegistryBuilder';
import { ScopedVars } from './ScopedVars';

View File

@ -1,4 +1,4 @@
import { DataHoverPayload } from '../events';
import { DataHoverPayload } from '../events/common';
import { eventFactory } from '../events/eventFactory';
import { BusEventBase, BusEventWithPayload } from '../events/types';

View File

@ -1,6 +1,6 @@
import { defaultsDeep } from 'lodash';
import { EventBus } from '../events';
import { EventBus } from '../events/types';
import { StandardEditorProps } from '../field/standardFieldConfigEditorRegistry';
import { Registry } from '../utils/Registry';

View File

@ -1,4 +1,4 @@
import { ThemeVisualizationColors } from '../themes';
import { ThemeVisualizationColors } from '../themes/createVisualizationColors';
export enum GrafanaThemeType {
Light = 'light',

View File

@ -4,7 +4,7 @@ import fs from 'fs';
import { MutableDataFrame } from '../dataframe/MutableDataFrame';
import { getDataFrameRow, toDataFrameDTO } from '../dataframe/processDataFrame';
import { getDisplayProcessor } from '../field/displayProcessor';
import { createTheme } from '../themes';
import { createTheme } from '../themes/createTheme';
import { CSVHeaderStyle, readCSV, toCSV } from './csv';

View File

@ -1,6 +1,6 @@
import { Location } from 'history';
import { textUtil } from '../text';
import { textUtil } from '../text/sanitize';
import { ScopedVars } from '../types/ScopedVars';
import { GrafanaConfig } from '../types/config';
import { RawTimeRange } from '../types/time';

View File

@ -1,4 +1,4 @@
import { createTheme } from '../themes';
import { createTheme } from '../themes/createTheme';
describe('colors', () => {
const theme = createTheme();

View File

@ -1,6 +1,6 @@
import { css } from '@emotion/css';
import { GrafanaTheme2 } from '@grafana/data/src/themes';
import { GrafanaTheme2 } from '@grafana/data';
import { CallToActionCard, useStyles2, Stack } from '@grafana/ui';
import EmptyListCTA from 'app/core/components/EmptyListCTA/EmptyListCTA';

View File

@ -1,6 +1,6 @@
import { css } from '@emotion/css';
import { GrafanaTheme2 } from '@grafana/data/src/themes';
import { GrafanaTheme2 } from '@grafana/data';
import { useStyles2 } from '@grafana/ui';
import { DataSourceInformation } from '../home/Insights';

View File

@ -1,7 +1,7 @@
import { css } from '@emotion/css';
import { useState } from 'react';
import { GrafanaTheme2 } from '@grafana/data/src/themes';
import { GrafanaTheme2 } from '@grafana/data';
import { Button, Dropdown, Icon, IconButton, Menu, Modal, useStyles2 } from '@grafana/ui';
import { trackInsightsFeedback } from '../Analytics';

View File

@ -1,7 +1,7 @@
import { css } from '@emotion/css';
import * as React from 'react';
import { GrafanaTheme2 } from '@grafana/data/src/themes';
import { GrafanaTheme2 } from '@grafana/data';
import { useStyles2 } from '@grafana/ui';
export function SectionFooter({ children }: React.PropsWithChildren<{}>) {

View File

@ -1,7 +1,7 @@
import { css } from '@emotion/css';
import * as React from 'react';
import { GrafanaTheme2 } from '@grafana/data/src/themes';
import { GrafanaTheme2 } from '@grafana/data';
import { useStyles2 } from '@grafana/ui';
import { DataSourceInformation } from '../home/Insights';