diff --git a/eslint-suppressions.json b/eslint-suppressions.json index 5c863244c20..492d5e18958 100644 --- a/eslint-suppressions.json +++ b/eslint-suppressions.json @@ -4080,11 +4080,6 @@ "count": 2 } }, - "public/app/plugins/datasource/loki/types.ts": { - "no-barrel-files/no-barrel-files": { - "count": 3 - } - }, "public/app/plugins/datasource/mixed/module.ts": { "no-barrel-files/no-barrel-files": { "count": 2 diff --git a/public/app/features/explore/state/query.ts b/public/app/features/explore/state/query.ts index 251ab4af5d2..39ad4ea5e73 100644 --- a/public/app/features/explore/state/query.ts +++ b/public/app/features/explore/state/query.ts @@ -36,7 +36,7 @@ import { getShiftedTimeRange } from 'app/core/utils/timePicker'; import { getCorrelationsBySourceUIDs } from 'app/features/correlations/utils'; import { getDatasourceSrv } from 'app/features/plugins/datasource_srv'; import { getFiscalYearStartMonth, getTimeZone } from 'app/features/profile/state/selectors'; -import { SupportingQueryType } from 'app/plugins/datasource/loki/types'; +import { SupportingQueryType } from 'app/plugins/datasource/loki/dataquery.gen'; import { MIXED_DATASOURCE_NAME } from 'app/plugins/datasource/mixed/MixedDataSource'; import { ExploreItemState, diff --git a/public/app/features/logs/logsModel.ts b/public/app/features/logs/logsModel.ts index e60887518fe..8a0ff6b99ad 100644 --- a/public/app/features/logs/logsModel.ts +++ b/public/app/features/logs/logsModel.ts @@ -44,7 +44,7 @@ import { t } from '@grafana/i18n'; import { BarAlignment, GraphDrawStyle, StackingMode } from '@grafana/schema'; import { colors } from '@grafana/ui'; import { getThemeColor } from 'app/core/utils/colors'; -import { LokiQueryDirection } from 'app/plugins/datasource/loki/types'; +import { LokiQueryDirection } from 'app/plugins/datasource/loki/dataquery.gen'; import { LogsFrame, parseLogsFrame } from './logsFrame'; import { createLogRowsMap, getLogLevel, getLogLevelFromKey, sortInAscendingOrder } from './utils'; diff --git a/public/app/plugins/datasource/loki/LanguageProvider.test.ts b/public/app/plugins/datasource/loki/LanguageProvider.test.ts index 02a365c7d9a..447911c70a5 100644 --- a/public/app/plugins/datasource/loki/LanguageProvider.test.ts +++ b/public/app/plugins/datasource/loki/LanguageProvider.test.ts @@ -2,6 +2,7 @@ import { AbstractLabelOperator, DataFrame, TimeRange, dateTime, ScopedVars } fro import { config } from '@grafana/runtime'; import LanguageProvider from './LanguageProvider'; +import { LokiQueryType } from './dataquery.gen'; import { DEFAULT_MAX_LINES_SAMPLE, LokiDatasource } from './datasource'; import { createDetectedFieldValuesMetadataRequest } from './mocks/createDetectedFieldValuesMetadataRequest'; import { createDetectedFieldsMetadataRequest } from './mocks/createDetectedFieldsMetadataRequest'; @@ -12,7 +13,7 @@ import { extractLabelKeysFromDataFrame, extractUnwrapLabelKeysFromDataFrame, } from './responseUtils'; -import { DetectedFieldsResult, LabelType, LokiQueryType } from './types'; +import { DetectedFieldsResult, LabelType } from './types'; jest.mock('./responseUtils'); diff --git a/public/app/plugins/datasource/loki/LanguageProvider.ts b/public/app/plugins/datasource/loki/LanguageProvider.ts index 9b86f01796d..a6851e474d4 100644 --- a/public/app/plugins/datasource/loki/LanguageProvider.ts +++ b/public/app/plugins/datasource/loki/LanguageProvider.ts @@ -4,6 +4,7 @@ import { LRUCache } from 'lru-cache'; import { AbstractQuery, getDefaultTimeRange, KeyValue, LanguageProvider, ScopedVars, TimeRange } from '@grafana/data'; import { BackendSrvRequest, config } from '@grafana/runtime'; +import { LokiQueryType } from './dataquery.gen'; import { DEFAULT_MAX_LINES_SAMPLE, LokiDatasource } from './datasource'; import { abstractQueryToExpr, mapAbstractOperatorsToOp, processLabels } from './languageUtils'; import { getStreamSelectorsFromQuery } from './queryUtils'; @@ -13,7 +14,7 @@ import { extractLogParserFromDataFrame, extractUnwrapLabelKeysFromDataFrame, } from './responseUtils'; -import { DetectedFieldsResult, LabelType, LokiQuery, LokiQueryType, ParserAndLabelKeysResult } from './types'; +import { DetectedFieldsResult, LabelType, LokiQuery, ParserAndLabelKeysResult } from './types'; const NS_IN_MS = 1000000; const EMPTY_SELECTOR = '{}'; diff --git a/public/app/plugins/datasource/loki/LogContextProvider.ts b/public/app/plugins/datasource/loki/LogContextProvider.ts index 3de58ba2e4a..83d22fa49fe 100644 --- a/public/app/plugins/datasource/loki/LogContextProvider.ts +++ b/public/app/plugins/datasource/loki/LogContextProvider.ts @@ -19,6 +19,7 @@ import { import { LabelParser, LabelFilter, LineFilters, PipelineStage, Logfmt, Json } from '@grafana/lezer-logql'; import { LokiContextUi } from './components/LokiContextUi'; +import { LokiQueryDirection, LokiQueryType } from './dataquery.gen'; import { LokiDatasource, makeRequest, REF_ID_STARTER_LOG_ROW_CONTEXT } from './datasource'; import { escapeLabelValueInExactSelector, getLabelTypeFromFrame } from './languageUtils'; import { addLabelToQuery, addParserToQuery } from './modifyQuery'; @@ -29,7 +30,7 @@ import { isQueryWithParser, } from './queryUtils'; import { sortDataFrameByTime, SortDirection } from './sortDataFrame'; -import { ContextFilter, LabelType, LokiQuery, LokiQueryDirection, LokiQueryType } from './types'; +import { ContextFilter, LabelType, LokiQuery } from './types'; export const LOKI_LOG_CONTEXT_PRESERVED_LABELS = 'lokiLogContextPreservedLabels'; export const SHOULD_INCLUDE_PIPELINE_OPERATIONS = 'lokiLogContextShouldIncludePipelineOperations'; diff --git a/public/app/plugins/datasource/loki/backendResultTransformer.ts b/public/app/plugins/datasource/loki/backendResultTransformer.ts index 1cc91c4c621..6ed0ee1d288 100644 --- a/public/app/plugins/datasource/loki/backendResultTransformer.ts +++ b/public/app/plugins/datasource/loki/backendResultTransformer.ts @@ -1,10 +1,11 @@ import { DataQueryResponse, DataFrame, isDataFrame, FieldType, QueryResultMeta, DataQueryError } from '@grafana/data'; +import { LokiQueryType } from './dataquery.gen'; import { getDerivedFields } from './getDerivedFields'; import { makeTableFrames } from './makeTableFrames'; import { getExpressionFromExecutedQuery, getHighlighterExpressionsFromQuery } from './queryUtils'; import { dataFrameHasLokiError } from './responseUtils'; -import { DerivedFieldConfig, LokiQuery, LokiQueryType } from './types'; +import { DerivedFieldConfig, LokiQuery } from './types'; function isMetricFrame(frame: DataFrame): boolean { return frame.fields.every((field) => field.type === FieldType.time || field.type === FieldType.number); diff --git a/public/app/plugins/datasource/loki/components/LokiOptionFields.tsx b/public/app/plugins/datasource/loki/components/LokiOptionFields.tsx index 01aeb2c0574..3e773722f88 100644 --- a/public/app/plugins/datasource/loki/components/LokiOptionFields.tsx +++ b/public/app/plugins/datasource/loki/components/LokiOptionFields.tsx @@ -5,7 +5,8 @@ import { SelectableValue } from '@grafana/data'; import { config, reportInteraction } from '@grafana/runtime'; import { InlineField, Input, Stack } from '@grafana/ui'; -import { LokiQuery, LokiQueryDirection, LokiQueryType } from '../types'; +import { LokiQueryType, LokiQueryDirection } from '../dataquery.gen'; +import { LokiQuery } from '../types'; export interface LokiOptionFieldsProps { lineLimitValue: string; diff --git a/public/app/plugins/datasource/loki/components/LokiQueryEditor.test.tsx b/public/app/plugins/datasource/loki/components/LokiQueryEditor.test.tsx index 5897d65018c..3d228199ac8 100644 --- a/public/app/plugins/datasource/loki/components/LokiQueryEditor.test.tsx +++ b/public/app/plugins/datasource/loki/components/LokiQueryEditor.test.tsx @@ -5,9 +5,10 @@ import { cloneDeep, defaultsDeep } from 'lodash'; import { CoreApp } from '@grafana/data'; import { QueryEditorMode } from '@grafana/plugin-ui'; +import { LokiQueryType } from '../dataquery.gen'; import { createLokiDatasource } from '../mocks/datasource'; import { EXPLAIN_LABEL_FILTER_CONTENT } from '../querybuilder/components/LokiQueryBuilderExplained'; -import { LokiQuery, LokiQueryType } from '../types'; +import { LokiQuery } from '../types'; import { LokiQueryEditor } from './LokiQueryEditor'; import { LokiQueryEditorProps } from './types'; diff --git a/public/app/plugins/datasource/loki/components/stats.test.ts b/public/app/plugins/datasource/loki/components/stats.test.ts index 89535558ef1..4fea9703117 100644 --- a/public/app/plugins/datasource/loki/components/stats.test.ts +++ b/public/app/plugins/datasource/loki/components/stats.test.ts @@ -1,6 +1,6 @@ import { dateTime, getDefaultTimeRange } from '@grafana/data'; -import { LokiQueryType } from '../types'; +import { LokiQueryType } from '../dataquery.gen'; import { shouldUpdateStats } from './stats'; diff --git a/public/app/plugins/datasource/loki/components/stats.ts b/public/app/plugins/datasource/loki/components/stats.ts index 1b35497c67f..3a3d3f9188e 100644 --- a/public/app/plugins/datasource/loki/components/stats.ts +++ b/public/app/plugins/datasource/loki/components/stats.ts @@ -1,6 +1,6 @@ import { DateTime, isDateTime, TimeRange } from '@grafana/data'; -import { LokiQueryType } from '../types'; +import { LokiQueryType } from '../dataquery.gen'; /** * This function compares two time values. If the first is absolute, it compares them using `DateTime.isSame`. diff --git a/public/app/plugins/datasource/loki/datasource.test.ts b/public/app/plugins/datasource/loki/datasource.test.ts index 359e1716055..533ce1ce23c 100644 --- a/public/app/plugins/datasource/loki/datasource.test.ts +++ b/public/app/plugins/datasource/loki/datasource.test.ts @@ -33,11 +33,12 @@ import { } from '@grafana/runtime'; import { LokiVariableSupport } from './LokiVariableSupport'; +import { LokiQueryType, SupportingQueryType } from './dataquery.gen'; import { LokiDatasource, REF_ID_DATA_SAMPLES } from './datasource'; import { createLokiDatasource } from './mocks/datasource'; import { createMetadataRequest } from './mocks/metadataRequest'; import { runSplitQuery } from './querySplitting'; -import { LokiOptions, LokiQuery, LokiQueryType, LokiVariableQueryType, SupportingQueryType } from './types'; +import { LokiOptions, LokiQuery, LokiVariableQueryType } from './types'; jest.mock('@grafana/runtime', () => { return { diff --git a/public/app/plugins/datasource/loki/datasource.ts b/public/app/plugins/datasource/loki/datasource.ts index c7b60f169a5..fa047772588 100644 --- a/public/app/plugins/datasource/loki/datasource.ts +++ b/public/app/plugins/datasource/loki/datasource.ts @@ -54,6 +54,7 @@ import { LokiVariableSupport } from './LokiVariableSupport'; import { transformBackendResult } from './backendResultTransformer'; import { LokiAnnotationsQueryEditor } from './components/AnnotationsQueryEditor'; import { placeHolderScopedVars } from './components/monaco-query-field/monaco-completion-provider/validation'; +import { LokiQueryType, SupportingQueryType } from './dataquery.gen'; import { escapeLabelValueInSelector, isRegexSelector, getLabelTypeFromFrame } from './languageUtils'; import { labelNamesRegex, labelValuesRegex } from './migrations/variableQueryMigrations'; import { @@ -88,15 +89,7 @@ import { replaceVariables, returnVariables } from './querybuilder/parsingUtils'; import { runShardSplitQuery } from './shardQuerySplitting'; import { convertToWebSocketUrl, doLokiChannelStream } from './streaming'; import { trackQuery } from './tracking'; -import { - LokiOptions, - LokiQuery, - LokiQueryType, - LokiVariableQuery, - LokiVariableQueryType, - QueryStats, - SupportingQueryType, -} from './types'; +import { LokiOptions, LokiQuery, LokiVariableQuery, LokiVariableQueryType, QueryStats } from './types'; export type RangeQueryOptions = DataQueryRequest | AnnotationQueryRequest; export const DEFAULT_MAX_LINES = 1000; diff --git a/public/app/plugins/datasource/loki/querySplitting.test.ts b/public/app/plugins/datasource/loki/querySplitting.test.ts index 2d04b447005..fdadf7c0965 100644 --- a/public/app/plugins/datasource/loki/querySplitting.test.ts +++ b/public/app/plugins/datasource/loki/querySplitting.test.ts @@ -3,13 +3,14 @@ import { of } from 'rxjs'; import { DataQueryError, DataQueryRequest, DataQueryResponse, dateTime, LoadingState } from '@grafana/data'; import { config } from '@grafana/runtime'; +import { LokiQueryType, LokiQueryDirection } from './dataquery.gen'; import { LokiDatasource } from './datasource'; import { createLokiDatasource } from './mocks/datasource'; import { getMockFrames } from './mocks/frames'; import { runSplitQuery } from './querySplitting'; import { LOKI_MAX_QUERY_BYTES_READ_ERROR_MSG_PREFIX, LOKI_TIMEOUT_ERROR_MSG } from './responseUtils'; import { trackGroupedQueries } from './tracking'; -import { LokiQuery, LokiQueryDirection, LokiQueryType } from './types'; +import { LokiQuery } from './types'; jest.mock('./tracking'); jest.mock('uuid', () => ({ diff --git a/public/app/plugins/datasource/loki/querySplitting.ts b/public/app/plugins/datasource/loki/querySplitting.ts index 89a466b21d0..4d383955b3f 100644 --- a/public/app/plugins/datasource/loki/querySplitting.ts +++ b/public/app/plugins/datasource/loki/querySplitting.ts @@ -15,6 +15,7 @@ import { } from '@grafana/data'; import { config } from '@grafana/runtime'; +import { LokiQueryType, LokiQueryDirection } from './dataquery.gen'; import { LokiDatasource } from './datasource'; import { splitTimeRange as splitLogsTimeRange } from './logsTimeSplitting'; import { combineResponses } from './mergeResponses'; @@ -22,7 +23,7 @@ import { splitTimeRange as splitMetricTimeRange } from './metricTimeSplitting'; import { addQueryLimitsContext, isLogsQuery, isQueryWithRangeVariable } from './queryUtils'; import { isRetriableError } from './responseUtils'; import { trackGroupedQueries } from './tracking'; -import { LokiGroupedRequest, LokiQuery, LokiQueryDirection, LokiQueryType } from './types'; +import { LokiGroupedRequest, LokiQuery } from './types'; export function partitionTimeRange( isLogsQuery: boolean, diff --git a/public/app/plugins/datasource/loki/queryUtils.test.ts b/public/app/plugins/datasource/loki/queryUtils.test.ts index e901b77c55b..9ff9a87e3d6 100644 --- a/public/app/plugins/datasource/loki/queryUtils.test.ts +++ b/public/app/plugins/datasource/loki/queryUtils.test.ts @@ -1,5 +1,6 @@ import { String } from '@grafana/lezer-logql'; +import { LokiQueryType, LokiQueryDirection } from './dataquery.gen'; import { getHighlighterExpressionsFromQuery, getLokiQueryType, @@ -20,7 +21,7 @@ import { interpolateShardingSelector, requestSupportsSharding, } from './queryUtils'; -import { LokiQuery, LokiQueryDirection, LokiQueryType } from './types'; +import { LokiQuery } from './types'; describe('getHighlighterExpressionsFromQuery', () => { it('returns no expressions for empty query', () => { diff --git a/public/app/plugins/datasource/loki/queryUtils.ts b/public/app/plugins/datasource/loki/queryUtils.ts index a4a895feae5..6b158edbe48 100644 --- a/public/app/plugins/datasource/loki/queryUtils.ts +++ b/public/app/plugins/datasource/loki/queryUtils.ts @@ -29,9 +29,10 @@ import { } from '@grafana/lezer-logql'; import { DataQuery } from '@grafana/schema'; +import { LokiQueryType, LokiQueryDirection } from './dataquery.gen'; import { addDropToQuery, addLabelToQuery, getStreamSelectorPositions, NodePosition } from './modifyQuery'; import { ErrorId } from './querybuilder/parsingUtils'; -import { LabelType, LokiQuery, LokiQueryDirection, LokiQueryType } from './types'; +import { LabelType, LokiQuery } from './types'; /** * Returns search terms from a LogQL query. diff --git a/public/app/plugins/datasource/loki/querybuilder/components/LokiQueryBuilderOptions.test.tsx b/public/app/plugins/datasource/loki/querybuilder/components/LokiQueryBuilderOptions.test.tsx index c03de3eb2e8..50a5c64f1a3 100644 --- a/public/app/plugins/datasource/loki/querybuilder/components/LokiQueryBuilderOptions.test.tsx +++ b/public/app/plugins/datasource/loki/querybuilder/components/LokiQueryBuilderOptions.test.tsx @@ -4,8 +4,9 @@ import userEvent from '@testing-library/user-event'; import { CoreApp, LogSortOrderChangeEvent, LogsSortOrder, store } from '@grafana/data'; import { config, getAppEvents } from '@grafana/runtime'; +import { LokiQueryType, LokiQueryDirection } from '../../dataquery.gen'; import { createLokiDatasource } from '../../mocks/datasource'; -import { LokiQuery, LokiQueryDirection, LokiQueryType } from '../../types'; +import { LokiQuery } from '../../types'; import { LokiQueryBuilderOptions, Props } from './LokiQueryBuilderOptions'; diff --git a/public/app/plugins/datasource/loki/querybuilder/components/LokiQueryBuilderOptions.tsx b/public/app/plugins/datasource/loki/querybuilder/components/LokiQueryBuilderOptions.tsx index 27d199cb8a5..27a6dbbe533 100644 --- a/public/app/plugins/datasource/loki/querybuilder/components/LokiQueryBuilderOptions.tsx +++ b/public/app/plugins/datasource/loki/querybuilder/components/LokiQueryBuilderOptions.tsx @@ -14,9 +14,10 @@ import { queryTypeOptions, } from '../../components/LokiOptionFields'; import { placeHolderScopedVars } from '../../components/monaco-query-field/monaco-completion-provider/validation'; +import { LokiQueryDirection, LokiQueryType } from '../../dataquery.gen'; import { LokiDatasource } from '../../datasource'; import { getLokiQueryType, isLogsQuery } from '../../queryUtils'; -import { LokiQuery, LokiQueryDirection, LokiQueryType, QueryStats } from '../../types'; +import { LokiQuery, QueryStats } from '../../types'; export interface Props { query: LokiQuery; diff --git a/public/app/plugins/datasource/loki/querybuilder/state.ts b/public/app/plugins/datasource/loki/querybuilder/state.ts index 5f8aaecad55..dcd70852465 100644 --- a/public/app/plugins/datasource/loki/querybuilder/state.ts +++ b/public/app/plugins/datasource/loki/querybuilder/state.ts @@ -1,6 +1,7 @@ import { QueryEditorMode } from '@grafana/plugin-ui'; -import { LokiQuery, LokiQueryType } from '../types'; +import { LokiQueryType } from '../dataquery.gen'; +import { LokiQuery } from '../types'; const queryEditorModeDefaultLocalStorageKey = 'LokiQueryEditorModeDefault'; diff --git a/public/app/plugins/datasource/loki/shardQuerySplitting.test.ts b/public/app/plugins/datasource/loki/shardQuerySplitting.test.ts index cebee5bee94..0196fd90d64 100644 --- a/public/app/plugins/datasource/loki/shardQuerySplitting.test.ts +++ b/public/app/plugins/datasource/loki/shardQuerySplitting.test.ts @@ -3,12 +3,13 @@ import { of } from 'rxjs'; import { DataQueryRequest, DataQueryResponse, dateTime, LoadingState } from '@grafana/data'; import { config } from '@grafana/runtime'; +import { LokiQueryDirection, LokiQueryType } from './dataquery.gen'; import { LokiDatasource } from './datasource'; import { createLokiDatasource } from './mocks/datasource'; import { getMockFrames } from './mocks/frames'; import { LOKI_MAX_QUERY_BYTES_READ_ERROR_MSG_PREFIX, LOKI_TIMEOUT_ERROR_MSG } from './responseUtils'; import { runShardSplitQuery } from './shardQuerySplitting'; -import { LokiQuery, LokiQueryDirection, LokiQueryType } from './types'; +import { LokiQuery } from './types'; jest.mock('uuid', () => ({ v4: jest.fn().mockReturnValue('uuid'), diff --git a/public/app/plugins/datasource/loki/tracking.ts b/public/app/plugins/datasource/loki/tracking.ts index 5714d8b4e5a..85d12446e6d 100644 --- a/public/app/plugins/datasource/loki/tracking.ts +++ b/public/app/plugins/datasource/loki/tracking.ts @@ -2,6 +2,7 @@ import { CoreApp, DashboardLoadedEvent, DataQueryRequest, DataQueryResponse } fr import { QueryEditorMode } from '@grafana/plugin-ui'; import { reportInteraction, config } from '@grafana/runtime'; +import { LokiQueryType } from './dataquery.gen'; import { REF_ID_STARTER_ANNOTATION, REF_ID_DATA_SAMPLES, @@ -12,7 +13,7 @@ import { import pluginJson from './plugin.json'; import { getNormalizedLokiQuery, isLogsQuery, obfuscate } from './queryUtils'; import { variableRegex } from './querybuilder/parsingUtils'; -import { LokiGroupedRequest, LokiQuery, LokiQueryType } from './types'; +import { LokiGroupedRequest, LokiQuery } from './types'; type LokiOnDashboardLoadedTrackingEvent = { grafana_version?: string; diff --git a/public/app/plugins/datasource/loki/types.ts b/public/app/plugins/datasource/loki/types.ts index ae650931390..6c2e0d2deea 100644 --- a/public/app/plugins/datasource/loki/types.ts +++ b/public/app/plugins/datasource/loki/types.ts @@ -7,8 +7,6 @@ import { LokiQueryDirection, } from './dataquery.gen'; -export { LokiQueryDirection, LokiQueryType, SupportingQueryType }; - export enum LokiResultType { Stream = 'streams', Vector = 'vector',