From 78184f37c444bd8c36437498bde365a6a81bb71d Mon Sep 17 00:00:00 2001 From: Erik Sundell Date: Thu, 19 Jan 2023 20:04:28 +0100 Subject: [PATCH] Cloudwatch: Restructure languages in plugin root (#61490) Co-authored-by: Isabella Siu --- .betterer.results | 14 +---- .../cloudwatch/__mocks__/monarch/Monaco.ts | 2 +- .../components/DynamicLabelsField.tsx | 8 +-- .../cloudwatch/components/LogsCheatSheet.tsx | 2 +- .../cloudwatch/components/LogsQueryField.tsx | 6 +- .../components/MathExpressionQueryField.tsx | 6 +- .../SQLBuilderEditor/SQLBuilderEditor.tsx | 2 +- .../SQLBuilderEditor/SQLBuilderSelectRow.tsx | 2 +- .../components/SQLBuilderEditor/SQLFilter.tsx | 2 +- .../SQLBuilderEditor/SQLOrderByGroup.tsx | 2 +- .../components/SQLBuilderEditor/utils.ts | 2 +- .../cloudwatch/components/SQLCodeEditor.tsx | 6 +- .../datasource/cloudwatch/datasource.ts | 10 +-- .../CloudWatchLogsLanguageProvider.test.ts} | 61 +++++++++++-------- .../CloudWatchLogsLanguageProvider.ts} | 9 +-- .../{ => language/cloudwatch-logs}/syntax.ts | 0 .../cloudwatch-sql/SQLGenerator.test.ts | 8 +-- .../cloudwatch-sql/SQLGenerator.ts | 4 +- .../completion/CompletionItemProvider.ts | 2 +- .../completion/statementPosition.test.ts | 6 +- .../completion/statementPosition.ts | 0 .../completion/suggestionKind.ts | 0 .../completion/tokenUtils.test.ts | 6 +- .../cloudwatch-sql/completion/tokenUtils.ts | 0 .../cloudwatch-sql/completion/types.ts | 0 .../cloudwatch-sql/definition.ts | 0 .../{ => language}/cloudwatch-sql/language.ts | 0 .../CompletionItemProvider.test.ts | 6 +- .../dynamic-labels/CompletionItemProvider.ts | 0 .../dynamic-labels/definition.ts | 0 .../{ => language}/dynamic-labels/language.ts | 0 .../completion/CompletionItemProvider.test.ts | 10 +-- .../completion/CompletionItemProvider.ts | 2 +- .../completion/statementPosition.test.ts | 6 +- .../completion/statementPosition.ts | 0 .../metric-math/completion/suggestionKind.ts | 0 .../metric-math/completion/types.ts | 0 .../{ => language}/metric-math/definition.ts | 0 .../{ => language}/metric-math/language.ts | 0 .../monarch/CompletionItemProvider.ts | 2 +- .../{ => language}/monarch/LinkedToken.ts | 0 .../{ => language}/monarch/commands.ts | 0 .../monarch/linkedTokenBuilder.test.ts | 6 +- .../monarch/linkedTokenBuilder.ts | 0 .../{ => language}/monarch/register.ts | 0 .../{ => language}/monarch/types.ts | 0 46 files changed, 94 insertions(+), 98 deletions(-) rename public/app/plugins/datasource/cloudwatch/{language_provider.test.ts => language/cloudwatch-logs/CloudWatchLogsLanguageProvider.test.ts} (66%) rename public/app/plugins/datasource/cloudwatch/{language_provider.ts => language/cloudwatch-logs/CloudWatchLogsLanguageProvider.ts} (98%) rename public/app/plugins/datasource/cloudwatch/{ => language/cloudwatch-logs}/syntax.ts (100%) rename public/app/plugins/datasource/cloudwatch/{ => language}/cloudwatch-sql/SQLGenerator.test.ts (98%) rename public/app/plugins/datasource/cloudwatch/{ => language}/cloudwatch-sql/SQLGenerator.ts (98%) rename public/app/plugins/datasource/cloudwatch/{ => language}/cloudwatch-sql/completion/CompletionItemProvider.ts (99%) rename public/app/plugins/datasource/cloudwatch/{ => language}/cloudwatch-sql/completion/statementPosition.test.ts (97%) rename public/app/plugins/datasource/cloudwatch/{ => language}/cloudwatch-sql/completion/statementPosition.ts (100%) rename public/app/plugins/datasource/cloudwatch/{ => language}/cloudwatch-sql/completion/suggestionKind.ts (100%) rename public/app/plugins/datasource/cloudwatch/{ => language}/cloudwatch-sql/completion/tokenUtils.test.ts (96%) rename public/app/plugins/datasource/cloudwatch/{ => language}/cloudwatch-sql/completion/tokenUtils.ts (100%) rename public/app/plugins/datasource/cloudwatch/{ => language}/cloudwatch-sql/completion/types.ts (100%) rename public/app/plugins/datasource/cloudwatch/{ => language}/cloudwatch-sql/definition.ts (100%) rename public/app/plugins/datasource/cloudwatch/{ => language}/cloudwatch-sql/language.ts (100%) rename public/app/plugins/datasource/cloudwatch/{ => language}/dynamic-labels/CompletionItemProvider.test.ts (90%) rename public/app/plugins/datasource/cloudwatch/{ => language}/dynamic-labels/CompletionItemProvider.ts (100%) rename public/app/plugins/datasource/cloudwatch/{ => language}/dynamic-labels/definition.ts (100%) rename public/app/plugins/datasource/cloudwatch/{ => language}/dynamic-labels/language.ts (100%) rename public/app/plugins/datasource/cloudwatch/{ => language}/metric-math/completion/CompletionItemProvider.test.ts (89%) rename public/app/plugins/datasource/cloudwatch/{ => language}/metric-math/completion/CompletionItemProvider.ts (98%) rename public/app/plugins/datasource/cloudwatch/{ => language}/metric-math/completion/statementPosition.test.ts (92%) rename public/app/plugins/datasource/cloudwatch/{ => language}/metric-math/completion/statementPosition.ts (100%) rename public/app/plugins/datasource/cloudwatch/{ => language}/metric-math/completion/suggestionKind.ts (100%) rename public/app/plugins/datasource/cloudwatch/{ => language}/metric-math/completion/types.ts (100%) rename public/app/plugins/datasource/cloudwatch/{ => language}/metric-math/definition.ts (100%) rename public/app/plugins/datasource/cloudwatch/{ => language}/metric-math/language.ts (100%) rename public/app/plugins/datasource/cloudwatch/{ => language}/monarch/CompletionItemProvider.ts (98%) rename public/app/plugins/datasource/cloudwatch/{ => language}/monarch/LinkedToken.ts (100%) rename public/app/plugins/datasource/cloudwatch/{ => language}/monarch/commands.ts (100%) rename public/app/plugins/datasource/cloudwatch/{ => language}/monarch/linkedTokenBuilder.test.ts (94%) rename public/app/plugins/datasource/cloudwatch/{ => language}/monarch/linkedTokenBuilder.ts (100%) rename public/app/plugins/datasource/cloudwatch/{ => language}/monarch/register.ts (100%) rename public/app/plugins/datasource/cloudwatch/{ => language}/monarch/types.ts (100%) diff --git a/.betterer.results b/.betterer.results index 7795b601770..8b11cd1ffe9 100644 --- a/.betterer.results +++ b/.betterer.results @@ -5321,8 +5321,7 @@ exports[`better eslint`] = { [0, 0, 0, "Do not use any type assertions.", "0"] ], "public/app/plugins/datasource/cloudwatch/components/LogsQueryField.tsx:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"], - [0, 0, 0, "Do not use any type assertions.", "1"] + [0, 0, 0, "Do not use any type assertions.", "0"] ], "public/app/plugins/datasource/cloudwatch/components/MetricsQueryEditor/Alias.tsx:5381": [ [0, 0, 0, "Unexpected any. Specify a different type.", "0"], @@ -5343,16 +5342,7 @@ exports[`better eslint`] = { "public/app/plugins/datasource/cloudwatch/guards.ts:5381": [ [0, 0, 0, "Do not use any type assertions.", "0"] ], - "public/app/plugins/datasource/cloudwatch/language_provider.test.ts:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"], - [0, 0, 0, "Unexpected any. Specify a different type.", "1"], - [0, 0, 0, "Unexpected any. Specify a different type.", "2"], - [0, 0, 0, "Unexpected any. Specify a different type.", "3"], - [0, 0, 0, "Unexpected any. Specify a different type.", "4"], - [0, 0, 0, "Unexpected any. Specify a different type.", "5"], - [0, 0, 0, "Unexpected any. Specify a different type.", "6"] - ], - "public/app/plugins/datasource/cloudwatch/language_provider.ts:5381": [ + "public/app/plugins/datasource/cloudwatch/language/cloudwatch-logs/CloudWatchLogsLanguageProvider.ts:5381": [ [0, 0, 0, "Unexpected any. Specify a different type.", "0"], [0, 0, 0, "Unexpected any. Specify a different type.", "1"], [0, 0, 0, "Unexpected any. Specify a different type.", "2"] diff --git a/public/app/plugins/datasource/cloudwatch/__mocks__/monarch/Monaco.ts b/public/app/plugins/datasource/cloudwatch/__mocks__/monarch/Monaco.ts index 400c3303213..599662d27dd 100644 --- a/public/app/plugins/datasource/cloudwatch/__mocks__/monarch/Monaco.ts +++ b/public/app/plugins/datasource/cloudwatch/__mocks__/monarch/Monaco.ts @@ -1,6 +1,6 @@ import { monacoTypes } from '@grafana/ui'; -import { Monaco } from '../../monarch/types'; +import { Monaco } from '../../language/monarch/types'; import * as SQLTestData from '../cloudwatch-sql-test-data'; import * as DynamicLabelTestData from '../dynamic-label-test-data'; import * as MetricMathTestData from '../metric-math-test-data'; diff --git a/public/app/plugins/datasource/cloudwatch/components/DynamicLabelsField.tsx b/public/app/plugins/datasource/cloudwatch/components/DynamicLabelsField.tsx index 0a69a062266..2c60cbbd7a1 100644 --- a/public/app/plugins/datasource/cloudwatch/components/DynamicLabelsField.tsx +++ b/public/app/plugins/datasource/cloudwatch/components/DynamicLabelsField.tsx @@ -4,10 +4,10 @@ import React, { useCallback, useRef } from 'react'; import { CodeEditor, getInputStyles, Monaco, useTheme2 } from '@grafana/ui'; -import { DynamicLabelsCompletionItemProvider } from '../dynamic-labels/CompletionItemProvider'; -import language from '../dynamic-labels/definition'; -import { TRIGGER_SUGGEST } from '../monarch/commands'; -import { registerLanguage } from '../monarch/register'; +import { DynamicLabelsCompletionItemProvider } from '../language/dynamic-labels/CompletionItemProvider'; +import language from '../language/dynamic-labels/definition'; +import { TRIGGER_SUGGEST } from '../language/monarch/commands'; +import { registerLanguage } from '../language/monarch/register'; const dynamicLabelsCompletionItemProvider = new DynamicLabelsCompletionItemProvider(); diff --git a/public/app/plugins/datasource/cloudwatch/components/LogsCheatSheet.tsx b/public/app/plugins/datasource/cloudwatch/components/LogsCheatSheet.tsx index 1e1a1cf4ba2..c520d8a2ea0 100644 --- a/public/app/plugins/datasource/cloudwatch/components/LogsCheatSheet.tsx +++ b/public/app/plugins/datasource/cloudwatch/components/LogsCheatSheet.tsx @@ -6,7 +6,7 @@ import React, { PureComponent } from 'react'; import { QueryEditorHelpProps } from '@grafana/data'; import { flattenTokens } from '@grafana/ui/src/slate-plugins/slate-prism'; -import tokenizer from '../syntax'; +import tokenizer from '../language/cloudwatch-logs/syntax'; import { CloudWatchQuery } from '../types'; interface QueryExample { diff --git a/public/app/plugins/datasource/cloudwatch/components/LogsQueryField.tsx b/public/app/plugins/datasource/cloudwatch/components/LogsQueryField.tsx index 42f71d3522a..077a5ca6b8a 100644 --- a/public/app/plugins/datasource/cloudwatch/components/LogsQueryField.tsx +++ b/public/app/plugins/datasource/cloudwatch/components/LogsQueryField.tsx @@ -18,8 +18,7 @@ import { ExploreId } from 'app/types'; // Utils & Services // dom also includes Element polyfills import { CloudWatchDatasource } from '../datasource'; -import { CloudWatchLanguageProvider } from '../language_provider'; -import syntax from '../syntax'; +import syntax from '../language/cloudwatch-logs/syntax'; import { CloudWatchJsonData, CloudWatchLogsQuery, CloudWatchQuery } from '../types'; import { getStatsGroups } from '../utils/query/getStatsGroups'; @@ -68,11 +67,10 @@ export const CloudWatchLogsQueryField = (props: CloudWatchLogsQueryFieldProps) = return { suggestions: [] }; } - const cloudwatchLanguageProvider = datasource.languageProvider as CloudWatchLanguageProvider; const { history, absoluteRange } = props; const { prefix, text, value, wrapperClasses, labelKey, editor } = typeahead; - return await cloudwatchLanguageProvider.provideCompletionItems( + return await datasource.languageProvider.provideCompletionItems( { text, value, prefix, wrapperClasses, labelKey, editor }, { history, diff --git a/public/app/plugins/datasource/cloudwatch/components/MathExpressionQueryField.tsx b/public/app/plugins/datasource/cloudwatch/components/MathExpressionQueryField.tsx index 956b66563f0..be9c0ffa7e0 100644 --- a/public/app/plugins/datasource/cloudwatch/components/MathExpressionQueryField.tsx +++ b/public/app/plugins/datasource/cloudwatch/components/MathExpressionQueryField.tsx @@ -4,9 +4,9 @@ import React, { useCallback, useRef } from 'react'; import { CodeEditor, Monaco } from '@grafana/ui'; import { CloudWatchDatasource } from '../datasource'; -import language from '../metric-math/definition'; -import { TRIGGER_SUGGEST } from '../monarch/commands'; -import { registerLanguage } from '../monarch/register'; +import language from '../language/metric-math/definition'; +import { TRIGGER_SUGGEST } from '../language/monarch/commands'; +import { registerLanguage } from '../language/monarch/register'; export interface Props { onChange: (query: string) => void; diff --git a/public/app/plugins/datasource/cloudwatch/components/SQLBuilderEditor/SQLBuilderEditor.tsx b/public/app/plugins/datasource/cloudwatch/components/SQLBuilderEditor/SQLBuilderEditor.tsx index f44d1c20146..44b086659c1 100644 --- a/public/app/plugins/datasource/cloudwatch/components/SQLBuilderEditor/SQLBuilderEditor.tsx +++ b/public/app/plugins/datasource/cloudwatch/components/SQLBuilderEditor/SQLBuilderEditor.tsx @@ -3,8 +3,8 @@ import React, { useCallback, useEffect, useState } from 'react'; import { EditorField, EditorRow, EditorRows } from '@grafana/experimental'; import { Input } from '@grafana/ui'; -import SQLGenerator from '../../cloudwatch-sql/SQLGenerator'; import { CloudWatchDatasource } from '../../datasource'; +import SQLGenerator from '../../language/cloudwatch-sql/SQLGenerator'; import { CloudWatchMetricsQuery } from '../../types'; import SQLBuilderSelectRow from './SQLBuilderSelectRow'; diff --git a/public/app/plugins/datasource/cloudwatch/components/SQLBuilderEditor/SQLBuilderSelectRow.tsx b/public/app/plugins/datasource/cloudwatch/components/SQLBuilderEditor/SQLBuilderSelectRow.tsx index 350d36e5cb2..82a4dd1fbee 100644 --- a/public/app/plugins/datasource/cloudwatch/components/SQLBuilderEditor/SQLBuilderSelectRow.tsx +++ b/public/app/plugins/datasource/cloudwatch/components/SQLBuilderEditor/SQLBuilderSelectRow.tsx @@ -4,9 +4,9 @@ import { SelectableValue, toOption } from '@grafana/data'; import { EditorField, EditorFieldGroup, EditorSwitch } from '@grafana/experimental'; import { Select } from '@grafana/ui'; -import { STATISTICS } from '../../cloudwatch-sql/language'; import { CloudWatchDatasource } from '../../datasource'; import { useDimensionKeys, useMetrics, useNamespaces } from '../../hooks'; +import { STATISTICS } from '../../language/cloudwatch-sql/language'; import { CloudWatchMetricsQuery } from '../../types'; import { appendTemplateVariables } from '../../utils/utils'; diff --git a/public/app/plugins/datasource/cloudwatch/components/SQLBuilderEditor/SQLFilter.tsx b/public/app/plugins/datasource/cloudwatch/components/SQLBuilderEditor/SQLFilter.tsx index 1bbea200ba5..20446ce7707 100644 --- a/public/app/plugins/datasource/cloudwatch/components/SQLBuilderEditor/SQLFilter.tsx +++ b/public/app/plugins/datasource/cloudwatch/components/SQLBuilderEditor/SQLFilter.tsx @@ -5,10 +5,10 @@ import { SelectableValue, toOption } from '@grafana/data'; import { AccessoryButton, EditorList, InputGroup } from '@grafana/experimental'; import { Select } from '@grafana/ui'; -import { COMPARISON_OPERATORS, EQUALS } from '../../cloudwatch-sql/language'; import { CloudWatchDatasource } from '../../datasource'; import { QueryEditorExpressionType, QueryEditorOperatorExpression, QueryEditorPropertyType } from '../../expressions'; import { useDimensionKeys } from '../../hooks'; +import { COMPARISON_OPERATORS, EQUALS } from '../../language/cloudwatch-sql/language'; import { CloudWatchMetricsQuery } from '../../types'; import { appendTemplateVariables } from '../../utils/utils'; diff --git a/public/app/plugins/datasource/cloudwatch/components/SQLBuilderEditor/SQLOrderByGroup.tsx b/public/app/plugins/datasource/cloudwatch/components/SQLBuilderEditor/SQLOrderByGroup.tsx index 0a590e72a32..ba2beb654c6 100644 --- a/public/app/plugins/datasource/cloudwatch/components/SQLBuilderEditor/SQLOrderByGroup.tsx +++ b/public/app/plugins/datasource/cloudwatch/components/SQLBuilderEditor/SQLOrderByGroup.tsx @@ -4,8 +4,8 @@ import { SelectableValue, toOption } from '@grafana/data'; import { AccessoryButton, EditorField, EditorFieldGroup, InputGroup } from '@grafana/experimental'; import { Select } from '@grafana/ui'; -import { ASC, DESC, STATISTICS } from '../../cloudwatch-sql/language'; import { CloudWatchDatasource } from '../../datasource'; +import { ASC, DESC, STATISTICS } from '../../language/cloudwatch-sql/language'; import { CloudWatchMetricsQuery } from '../../types'; import { appendTemplateVariables } from '../../utils/utils'; diff --git a/public/app/plugins/datasource/cloudwatch/components/SQLBuilderEditor/utils.ts b/public/app/plugins/datasource/cloudwatch/components/SQLBuilderEditor/utils.ts index 1a290d3c5cf..50585c684f2 100644 --- a/public/app/plugins/datasource/cloudwatch/components/SQLBuilderEditor/utils.ts +++ b/public/app/plugins/datasource/cloudwatch/components/SQLBuilderEditor/utils.ts @@ -1,6 +1,5 @@ import { SelectableValue } from '@grafana/data'; -import { SCHEMA } from '../../cloudwatch-sql/language'; import { QueryEditorExpressionType, QueryEditorPropertyType, @@ -9,6 +8,7 @@ import { QueryEditorOperatorExpression, QueryEditorGroupByExpression, } from '../../expressions'; +import { SCHEMA } from '../../language/cloudwatch-sql/language'; import { SQLExpression, CloudWatchMetricsQuery, Dimensions } from '../../types'; export function getMetricNameFromExpression(selectExpression: SQLExpression['select']): string | undefined { diff --git a/public/app/plugins/datasource/cloudwatch/components/SQLCodeEditor.tsx b/public/app/plugins/datasource/cloudwatch/components/SQLCodeEditor.tsx index aaef0cc651e..53b131bede4 100644 --- a/public/app/plugins/datasource/cloudwatch/components/SQLCodeEditor.tsx +++ b/public/app/plugins/datasource/cloudwatch/components/SQLCodeEditor.tsx @@ -3,10 +3,10 @@ import React, { FunctionComponent, useCallback, useEffect } from 'react'; import { CodeEditor, Monaco } from '@grafana/ui'; -import language from '../cloudwatch-sql/definition'; import { CloudWatchDatasource } from '../datasource'; -import { TRIGGER_SUGGEST } from '../monarch/commands'; -import { registerLanguage } from '../monarch/register'; +import language from '../language/cloudwatch-sql/definition'; +import { TRIGGER_SUGGEST } from '../language/monarch/commands'; +import { registerLanguage } from '../language/monarch/register'; export interface Props { region: string; diff --git a/public/app/plugins/datasource/cloudwatch/datasource.ts b/public/app/plugins/datasource/cloudwatch/datasource.ts index 9651a795da9..0332c147b95 100644 --- a/public/app/plugins/datasource/cloudwatch/datasource.ts +++ b/public/app/plugins/datasource/cloudwatch/datasource.ts @@ -19,11 +19,11 @@ import { getTemplateSrv, TemplateSrv } from 'app/features/templating/template_sr import { RowContextOptions } from '../../../features/logs/components/LogRowContextProvider'; import { CloudWatchAnnotationSupport } from './annotationSupport'; -import { SQLCompletionItemProvider } from './cloudwatch-sql/completion/CompletionItemProvider'; import { DEFAULT_METRICS_QUERY, getDefaultLogsQuery } from './defaultQueries'; import { isCloudWatchAnnotationQuery, isCloudWatchLogsQuery, isCloudWatchMetricsQuery } from './guards'; -import { CloudWatchLanguageProvider } from './language_provider'; -import { MetricMathCompletionItemProvider } from './metric-math/completion/CompletionItemProvider'; +import { CloudWatchLogsLanguageProvider } from './language/cloudwatch-logs/CloudWatchLogsLanguageProvider'; +import { SQLCompletionItemProvider } from './language/cloudwatch-sql/completion/CompletionItemProvider'; +import { MetricMathCompletionItemProvider } from './language/metric-math/completion/CompletionItemProvider'; import { CloudWatchAnnotationQueryRunner } from './query-runner/CloudWatchAnnotationQueryRunner'; import { CloudWatchLogsQueryRunner } from './query-runner/CloudWatchLogsQueryRunner'; import { CloudWatchMetricsQueryRunner } from './query-runner/CloudWatchMetricsQueryRunner'; @@ -42,7 +42,7 @@ export class CloudWatchDatasource implements DataSourceWithLogsContextSupport { defaultRegion?: string; - languageProvider: CloudWatchLanguageProvider; + languageProvider: CloudWatchLogsLanguageProvider; sqlCompletionItemProvider: SQLCompletionItemProvider; metricMathCompletionItemProvider: MetricMathCompletionItemProvider; defaultLogGroups?: string[]; @@ -62,7 +62,7 @@ export class CloudWatchDatasource super(instanceSettings); this.defaultRegion = instanceSettings.jsonData.defaultRegion; this.resources = new ResourcesAPI(instanceSettings, templateSrv); - this.languageProvider = new CloudWatchLanguageProvider(this); + this.languageProvider = new CloudWatchLogsLanguageProvider(this); this.sqlCompletionItemProvider = new SQLCompletionItemProvider(this.resources, this.templateSrv); this.metricMathCompletionItemProvider = new MetricMathCompletionItemProvider(this.resources, this.templateSrv); this.metricsQueryRunner = new CloudWatchMetricsQueryRunner(instanceSettings, templateSrv); diff --git a/public/app/plugins/datasource/cloudwatch/language_provider.test.ts b/public/app/plugins/datasource/cloudwatch/language/cloudwatch-logs/CloudWatchLogsLanguageProvider.test.ts similarity index 66% rename from public/app/plugins/datasource/cloudwatch/language_provider.test.ts rename to public/app/plugins/datasource/cloudwatch/language/cloudwatch-logs/CloudWatchLogsLanguageProvider.test.ts index d72ab5ed262..620ac3575e4 100644 --- a/public/app/plugins/datasource/cloudwatch/language_provider.test.ts +++ b/public/app/plugins/datasource/cloudwatch/language/cloudwatch-logs/CloudWatchLogsLanguageProvider.test.ts @@ -3,9 +3,11 @@ import { Value } from 'slate'; import { TypeaheadOutput } from '@grafana/ui'; -import { CloudWatchDatasource } from './datasource'; -import { CloudWatchLanguageProvider } from './language_provider'; -import { ResourceResponse } from './resources/types'; +import { CloudWatchDatasource } from '../../datasource'; +import { ResourceResponse } from '../../resources/types'; +import { LogGroupField } from '../../types'; + +import { CloudWatchLogsLanguageProvider } from './CloudWatchLogsLanguageProvider'; import { AGGREGATION_FUNCTIONS_STATS, BOOLEAN_FUNCTIONS, @@ -16,88 +18,87 @@ import { STRING_FUNCTIONS, FIELD_AND_FILTER_FUNCTIONS, } from './syntax'; -import { LogGroupField } from './types'; const fields = ['field1', '@message']; -describe('CloudWatchLanguageProvider', () => { +describe('CloudWatchLogsLanguageProvider', () => { it('should suggest ', async () => { - await runSuggestionTest('stats count(\\)', [fields]); + await runSuggestionTest('stats count(^)', [fields]); // Make sure having a field prefix does not brake anything - await runSuggestionTest('stats count(@mess\\)', [fields]); + await runSuggestionTest('stats count(@mess^)', [fields]); }); it('should suggest query commands on start of query', async () => { - await runSuggestionTest('\\', [QUERY_COMMANDS.map((v) => v.label)]); + await runSuggestionTest('^', [QUERY_COMMANDS.map((v) => v.label)]); }); it('should suggest query commands after pipe', async () => { - await runSuggestionTest('fields f | \\', [QUERY_COMMANDS.map((v) => v.label)]); + await runSuggestionTest('fields f | ^', [QUERY_COMMANDS.map((v) => v.label)]); }); it('should suggest fields and functions after field command', async () => { - await runSuggestionTest('fields \\', [fields, FIELD_AND_FILTER_FUNCTIONS.map((v) => v.label)]); + await runSuggestionTest('fields ^', [fields, FIELD_AND_FILTER_FUNCTIONS.map((v) => v.label)]); }); it('should suggest fields and functions after comma', async () => { - await runSuggestionTest('fields field1, \\', [fields, FIELD_AND_FILTER_FUNCTIONS.map((v) => v.label)]); + await runSuggestionTest('fields field1, ^', [fields, FIELD_AND_FILTER_FUNCTIONS.map((v) => v.label)]); }); it('should suggest fields and functions after comma with prefix', async () => { - await runSuggestionTest('fields field1, @mess\\', [fields, FIELD_AND_FILTER_FUNCTIONS.map((v) => v.label)]); + await runSuggestionTest('fields field1, @mess^', [fields, FIELD_AND_FILTER_FUNCTIONS.map((v) => v.label)]); }); it('should suggest fields and functions after display command', async () => { - await runSuggestionTest('display \\', [fields, FIELD_AND_FILTER_FUNCTIONS.map((v) => v.label)]); + await runSuggestionTest('display ^', [fields, FIELD_AND_FILTER_FUNCTIONS.map((v) => v.label)]); }); it('should suggest functions after stats command', async () => { - await runSuggestionTest('stats \\', [AGGREGATION_FUNCTIONS_STATS.map((v) => v.label)]); + await runSuggestionTest('stats ^', [AGGREGATION_FUNCTIONS_STATS.map((v) => v.label)]); }); it('should suggest fields and some functions after `by` command', async () => { - await runSuggestionTest('stats count(something) by \\', [ + await runSuggestionTest('stats count(something) by ^', [ fields, STRING_FUNCTIONS.concat(DATETIME_FUNCTIONS, IP_FUNCTIONS).map((v) => v.label), ]); }); it('should suggest fields and some functions after comparison operator', async () => { - await runSuggestionTest('filter field1 >= \\', [ + await runSuggestionTest('filter field1 >= ^', [ fields, [...NUMERIC_OPERATORS.map((v) => v.label), ...BOOLEAN_FUNCTIONS.map((v) => v.label)], ]); }); it('should suggest fields directly after sort', async () => { - await runSuggestionTest('sort \\', [fields]); + await runSuggestionTest('sort ^', [fields]); }); it('should suggest fields directly after sort after a pipe', async () => { - await runSuggestionTest('fields field1 | sort \\', [fields]); + await runSuggestionTest('fields field1 | sort ^', [fields]); }); it('should suggest sort order after sort command and field', async () => { - await runSuggestionTest('sort field1 \\', [['asc', 'desc']]); + await runSuggestionTest('sort field1 ^', [['asc', 'desc']]); }); it('should suggest fields directly after parse', async () => { - await runSuggestionTest('parse \\', [fields]); + await runSuggestionTest('parse ^', [fields]); }); it('should suggest fields and bool functions after filter', async () => { - await runSuggestionTest('filter \\', [fields, BOOLEAN_FUNCTIONS.map((v) => v.label)]); + await runSuggestionTest('filter ^', [fields, BOOLEAN_FUNCTIONS.map((v) => v.label)]); }); it('should suggest fields and functions after filter bin() function', async () => { - await runSuggestionTest('stats count(@message) by bin(30m), \\', [ + await runSuggestionTest('stats count(@message) by bin(30m), ^', [ fields, STRING_FUNCTIONS.concat(DATETIME_FUNCTIONS, IP_FUNCTIONS).map((v) => v.label), ]); }); it('should not suggest anything if not after comma in by expression', async () => { - await runSuggestionTest('stats count(@message) by bin(30m) \\', []); + await runSuggestionTest('stats count(@message) by bin(30m) ^', []); }); }); @@ -115,22 +116,24 @@ function makeDatasource(): CloudWatchDatasource { return Promise.resolve([{ value: { name: 'field1' } }, { value: { name: '@message' } }]); }, }, + /* eslint-disable @typescript-eslint/no-explicit-any */ } as any; } /** - * Get suggestion items based on query. Use `\\` to mark position of the cursor. + * Get suggestion items based on query. Use `^` to mark position of the cursor. */ function getProvideCompletionItems(query: string): Promise { - const provider = new CloudWatchLanguageProvider(makeDatasource()); - const cursorOffset = query.indexOf('\\'); - const queryWithoutCursor = query.replace('\\', ''); + const provider = new CloudWatchLogsLanguageProvider(makeDatasource()); + const cursorOffset = query.indexOf('^'); + const queryWithoutCursor = query.replace('^', ''); let tokens: Token[] = Prism.tokenize(queryWithoutCursor, provider.getSyntax()) as any; tokens = addTokenMetadata(tokens); const value = new ValueMock(tokens, cursorOffset); return provider.provideCompletionItems( { value, + /* eslint-disable @typescript-eslint/no-explicit-any */ } as any, { logGroups: [{ name: 'logGroup1', arn: 'logGroup1' }], region: 'custom' } ); @@ -145,12 +148,14 @@ class ValueMock { start: { offset: cursorOffset, }, + /* eslint-disable @typescript-eslint/no-explicit-any */ } as any; this.data = { get() { return tokens; }, + /* eslint-disable @typescript-eslint/no-explicit-any */ } as any; } } @@ -160,9 +165,11 @@ class ValueMock { * @param tokens */ function addTokenMetadata(tokens: Array): Token[] { + /* eslint-disable @typescript-eslint/no-explicit-any */ let prev = undefined as any; let offset = 0; return tokens.reduce((acc, token) => { + /* eslint-disable @typescript-eslint/no-explicit-any */ let newToken: any; if (typeof token === 'string') { newToken = { diff --git a/public/app/plugins/datasource/cloudwatch/language_provider.ts b/public/app/plugins/datasource/cloudwatch/language/cloudwatch-logs/CloudWatchLogsLanguageProvider.ts similarity index 98% rename from public/app/plugins/datasource/cloudwatch/language_provider.ts rename to public/app/plugins/datasource/cloudwatch/language/cloudwatch-logs/CloudWatchLogsLanguageProvider.ts index eca53233a6b..5d6c728f470 100644 --- a/public/app/plugins/datasource/cloudwatch/language_provider.ts +++ b/public/app/plugins/datasource/cloudwatch/language/cloudwatch-logs/CloudWatchLogsLanguageProvider.ts @@ -5,7 +5,10 @@ import { AbsoluteTimeRange, HistoryItem, LanguageProvider } from '@grafana/data' import { CompletionItemGroup, SearchFunctionType, Token, TypeaheadInput, TypeaheadOutput } from '@grafana/ui'; import { getTemplateSrv } from 'app/features/templating/template_srv'; -import { CloudWatchDatasource } from './datasource'; +import { CloudWatchDatasource } from '../../datasource'; +import { CloudWatchQuery, LogGroup, TSDBResponse } from '../../types'; +import { interpolateStringArrayUsingSingleOrMultiValuedVariable } from '../../utils/templateVariableUtils'; + import syntax, { AGGREGATION_FUNCTIONS_STATS, BOOLEAN_FUNCTIONS, @@ -16,8 +19,6 @@ import syntax, { QUERY_COMMANDS, STRING_FUNCTIONS, } from './syntax'; -import { CloudWatchQuery, LogGroup, TSDBResponse } from './types'; -import { interpolateStringArrayUsingSingleOrMultiValuedVariable } from './utils/templateVariableUtils'; export type CloudWatchHistoryItem = HistoryItem; @@ -28,7 +29,7 @@ type TypeaheadContext = { region: string; }; -export class CloudWatchLanguageProvider extends LanguageProvider { +export class CloudWatchLogsLanguageProvider extends LanguageProvider { started = false; declare initialRange: AbsoluteTimeRange; datasource: CloudWatchDatasource; diff --git a/public/app/plugins/datasource/cloudwatch/syntax.ts b/public/app/plugins/datasource/cloudwatch/language/cloudwatch-logs/syntax.ts similarity index 100% rename from public/app/plugins/datasource/cloudwatch/syntax.ts rename to public/app/plugins/datasource/cloudwatch/language/cloudwatch-logs/syntax.ts diff --git a/public/app/plugins/datasource/cloudwatch/cloudwatch-sql/SQLGenerator.test.ts b/public/app/plugins/datasource/cloudwatch/language/cloudwatch-sql/SQLGenerator.test.ts similarity index 98% rename from public/app/plugins/datasource/cloudwatch/cloudwatch-sql/SQLGenerator.test.ts rename to public/app/plugins/datasource/cloudwatch/language/cloudwatch-sql/SQLGenerator.test.ts index 765ed6f3abb..b256ea1399a 100644 --- a/public/app/plugins/datasource/cloudwatch/cloudwatch-sql/SQLGenerator.test.ts +++ b/public/app/plugins/datasource/cloudwatch/language/cloudwatch-sql/SQLGenerator.test.ts @@ -5,7 +5,7 @@ import { labelsVariable, metricVariable, namespaceVariable, -} from '../__mocks__/CloudWatchDataSource'; +} from '../../__mocks__/CloudWatchDataSource'; import { createFunctionWithParameter, createArray, @@ -13,9 +13,9 @@ import { createGroupBy, createFunction, createProperty, -} from '../__mocks__/sqlUtils'; -import { QueryEditorExpressionType } from '../expressions'; -import { SQLExpression } from '../types'; +} from '../../__mocks__/sqlUtils'; +import { QueryEditorExpressionType } from '../../expressions'; +import { SQLExpression } from '../../types'; import SQLGenerator from './SQLGenerator'; diff --git a/public/app/plugins/datasource/cloudwatch/cloudwatch-sql/SQLGenerator.ts b/public/app/plugins/datasource/cloudwatch/language/cloudwatch-sql/SQLGenerator.ts similarity index 98% rename from public/app/plugins/datasource/cloudwatch/cloudwatch-sql/SQLGenerator.ts rename to public/app/plugins/datasource/cloudwatch/language/cloudwatch-sql/SQLGenerator.ts index 3b04844200e..3858b13132e 100644 --- a/public/app/plugins/datasource/cloudwatch/cloudwatch-sql/SQLGenerator.ts +++ b/public/app/plugins/datasource/cloudwatch/language/cloudwatch-sql/SQLGenerator.ts @@ -7,8 +7,8 @@ import { QueryEditorFunctionExpression, QueryEditorOperatorExpression, QueryEditorPropertyExpression, -} from '../expressions'; -import { SQLExpression } from '../types'; +} from '../../expressions'; +import { SQLExpression } from '../../types'; export default class SQLGenerator { constructor(private templateSrv: TemplateSrv = getTemplateSrv()) {} diff --git a/public/app/plugins/datasource/cloudwatch/cloudwatch-sql/completion/CompletionItemProvider.ts b/public/app/plugins/datasource/cloudwatch/language/cloudwatch-sql/completion/CompletionItemProvider.ts similarity index 99% rename from public/app/plugins/datasource/cloudwatch/cloudwatch-sql/completion/CompletionItemProvider.ts rename to public/app/plugins/datasource/cloudwatch/language/cloudwatch-sql/completion/CompletionItemProvider.ts index 27e0670047d..80539dc4f57 100644 --- a/public/app/plugins/datasource/cloudwatch/cloudwatch-sql/completion/CompletionItemProvider.ts +++ b/public/app/plugins/datasource/cloudwatch/language/cloudwatch-sql/completion/CompletionItemProvider.ts @@ -3,11 +3,11 @@ import { uniq } from 'lodash'; import { getTemplateSrv, TemplateSrv } from '@grafana/runtime'; import type { Monaco, monacoTypes } from '@grafana/ui'; +import { ResourcesAPI } from '../../../resources/ResourcesAPI'; import { CompletionItemProvider } from '../../monarch/CompletionItemProvider'; import { LinkedToken } from '../../monarch/LinkedToken'; import { TRIGGER_SUGGEST } from '../../monarch/commands'; import { SuggestionKind, CompletionItemPriority, StatementPosition } from '../../monarch/types'; -import { ResourcesAPI } from '../../resources/ResourcesAPI'; import { BY, FROM, diff --git a/public/app/plugins/datasource/cloudwatch/cloudwatch-sql/completion/statementPosition.test.ts b/public/app/plugins/datasource/cloudwatch/language/cloudwatch-sql/completion/statementPosition.test.ts similarity index 97% rename from public/app/plugins/datasource/cloudwatch/cloudwatch-sql/completion/statementPosition.test.ts rename to public/app/plugins/datasource/cloudwatch/language/cloudwatch-sql/completion/statementPosition.test.ts index 40ed83ee21a..5e271e2f445 100644 --- a/public/app/plugins/datasource/cloudwatch/cloudwatch-sql/completion/statementPosition.test.ts +++ b/public/app/plugins/datasource/cloudwatch/language/cloudwatch-sql/completion/statementPosition.test.ts @@ -5,9 +5,9 @@ import { singleLineFullQuery, singleLineEmptyQuery, singleLineTwoQueries, -} from '../../__mocks__/cloudwatch-sql-test-data'; -import MonacoMock from '../../__mocks__/monarch/Monaco'; -import TextModel from '../../__mocks__/monarch/TextModel'; +} from '../../../__mocks__/cloudwatch-sql-test-data'; +import MonacoMock from '../../../__mocks__/monarch/Monaco'; +import TextModel from '../../../__mocks__/monarch/TextModel'; import { linkedTokenBuilder } from '../../monarch/linkedTokenBuilder'; import { StatementPosition } from '../../monarch/types'; import cloudWatchSqlLanguageDefinition from '../definition'; diff --git a/public/app/plugins/datasource/cloudwatch/cloudwatch-sql/completion/statementPosition.ts b/public/app/plugins/datasource/cloudwatch/language/cloudwatch-sql/completion/statementPosition.ts similarity index 100% rename from public/app/plugins/datasource/cloudwatch/cloudwatch-sql/completion/statementPosition.ts rename to public/app/plugins/datasource/cloudwatch/language/cloudwatch-sql/completion/statementPosition.ts diff --git a/public/app/plugins/datasource/cloudwatch/cloudwatch-sql/completion/suggestionKind.ts b/public/app/plugins/datasource/cloudwatch/language/cloudwatch-sql/completion/suggestionKind.ts similarity index 100% rename from public/app/plugins/datasource/cloudwatch/cloudwatch-sql/completion/suggestionKind.ts rename to public/app/plugins/datasource/cloudwatch/language/cloudwatch-sql/completion/suggestionKind.ts diff --git a/public/app/plugins/datasource/cloudwatch/cloudwatch-sql/completion/tokenUtils.test.ts b/public/app/plugins/datasource/cloudwatch/language/cloudwatch-sql/completion/tokenUtils.test.ts similarity index 96% rename from public/app/plugins/datasource/cloudwatch/cloudwatch-sql/completion/tokenUtils.test.ts rename to public/app/plugins/datasource/cloudwatch/language/cloudwatch-sql/completion/tokenUtils.test.ts index a1bab84f7a3..b64b2b98440 100644 --- a/public/app/plugins/datasource/cloudwatch/cloudwatch-sql/completion/tokenUtils.test.ts +++ b/public/app/plugins/datasource/cloudwatch/language/cloudwatch-sql/completion/tokenUtils.test.ts @@ -5,9 +5,9 @@ import { singleLineFullQuery, singleLineTwoQueries, multiLineIncompleteQueryWithoutNamespace, -} from '../../__mocks__/cloudwatch-sql-test-data'; -import MonacoMock from '../../__mocks__/monarch/Monaco'; -import TextModel from '../../__mocks__/monarch/TextModel'; +} from '../../../__mocks__/cloudwatch-sql-test-data'; +import MonacoMock from '../../../__mocks__/monarch/Monaco'; +import TextModel from '../../../__mocks__/monarch/TextModel'; import { LinkedToken } from '../../monarch/LinkedToken'; import { linkedTokenBuilder } from '../../monarch/linkedTokenBuilder'; import cloudWatchSqlLanguageDefinition from '../definition'; diff --git a/public/app/plugins/datasource/cloudwatch/cloudwatch-sql/completion/tokenUtils.ts b/public/app/plugins/datasource/cloudwatch/language/cloudwatch-sql/completion/tokenUtils.ts similarity index 100% rename from public/app/plugins/datasource/cloudwatch/cloudwatch-sql/completion/tokenUtils.ts rename to public/app/plugins/datasource/cloudwatch/language/cloudwatch-sql/completion/tokenUtils.ts diff --git a/public/app/plugins/datasource/cloudwatch/cloudwatch-sql/completion/types.ts b/public/app/plugins/datasource/cloudwatch/language/cloudwatch-sql/completion/types.ts similarity index 100% rename from public/app/plugins/datasource/cloudwatch/cloudwatch-sql/completion/types.ts rename to public/app/plugins/datasource/cloudwatch/language/cloudwatch-sql/completion/types.ts diff --git a/public/app/plugins/datasource/cloudwatch/cloudwatch-sql/definition.ts b/public/app/plugins/datasource/cloudwatch/language/cloudwatch-sql/definition.ts similarity index 100% rename from public/app/plugins/datasource/cloudwatch/cloudwatch-sql/definition.ts rename to public/app/plugins/datasource/cloudwatch/language/cloudwatch-sql/definition.ts diff --git a/public/app/plugins/datasource/cloudwatch/cloudwatch-sql/language.ts b/public/app/plugins/datasource/cloudwatch/language/cloudwatch-sql/language.ts similarity index 100% rename from public/app/plugins/datasource/cloudwatch/cloudwatch-sql/language.ts rename to public/app/plugins/datasource/cloudwatch/language/cloudwatch-sql/language.ts diff --git a/public/app/plugins/datasource/cloudwatch/dynamic-labels/CompletionItemProvider.test.ts b/public/app/plugins/datasource/cloudwatch/language/dynamic-labels/CompletionItemProvider.test.ts similarity index 90% rename from public/app/plugins/datasource/cloudwatch/dynamic-labels/CompletionItemProvider.test.ts rename to public/app/plugins/datasource/cloudwatch/language/dynamic-labels/CompletionItemProvider.test.ts index faad6652c1a..2ba3788920c 100644 --- a/public/app/plugins/datasource/cloudwatch/dynamic-labels/CompletionItemProvider.test.ts +++ b/public/app/plugins/datasource/cloudwatch/language/dynamic-labels/CompletionItemProvider.test.ts @@ -1,9 +1,9 @@ import { CompletionItemPriority } from '@grafana/experimental'; import { Monaco, monacoTypes } from '@grafana/ui'; -import { afterLabelValue, insideLabelValue } from '../__mocks__/dynamic-label-test-data'; -import MonacoMock from '../__mocks__/monarch/Monaco'; -import TextModel from '../__mocks__/monarch/TextModel'; +import { afterLabelValue, insideLabelValue } from '../../__mocks__/dynamic-label-test-data'; +import MonacoMock from '../../__mocks__/monarch/Monaco'; +import TextModel from '../../__mocks__/monarch/TextModel'; import { DynamicLabelsCompletionItemProvider } from './CompletionItemProvider'; import cloudWatchDynamicLabelsLanguageDefinition from './definition'; diff --git a/public/app/plugins/datasource/cloudwatch/dynamic-labels/CompletionItemProvider.ts b/public/app/plugins/datasource/cloudwatch/language/dynamic-labels/CompletionItemProvider.ts similarity index 100% rename from public/app/plugins/datasource/cloudwatch/dynamic-labels/CompletionItemProvider.ts rename to public/app/plugins/datasource/cloudwatch/language/dynamic-labels/CompletionItemProvider.ts diff --git a/public/app/plugins/datasource/cloudwatch/dynamic-labels/definition.ts b/public/app/plugins/datasource/cloudwatch/language/dynamic-labels/definition.ts similarity index 100% rename from public/app/plugins/datasource/cloudwatch/dynamic-labels/definition.ts rename to public/app/plugins/datasource/cloudwatch/language/dynamic-labels/definition.ts diff --git a/public/app/plugins/datasource/cloudwatch/dynamic-labels/language.ts b/public/app/plugins/datasource/cloudwatch/language/dynamic-labels/language.ts similarity index 100% rename from public/app/plugins/datasource/cloudwatch/dynamic-labels/language.ts rename to public/app/plugins/datasource/cloudwatch/language/dynamic-labels/language.ts diff --git a/public/app/plugins/datasource/cloudwatch/metric-math/completion/CompletionItemProvider.test.ts b/public/app/plugins/datasource/cloudwatch/language/metric-math/completion/CompletionItemProvider.test.ts similarity index 89% rename from public/app/plugins/datasource/cloudwatch/metric-math/completion/CompletionItemProvider.test.ts rename to public/app/plugins/datasource/cloudwatch/language/metric-math/completion/CompletionItemProvider.test.ts index 2fa961019f4..887d3dd940d 100644 --- a/public/app/plugins/datasource/cloudwatch/metric-math/completion/CompletionItemProvider.test.ts +++ b/public/app/plugins/datasource/cloudwatch/language/metric-math/completion/CompletionItemProvider.test.ts @@ -1,10 +1,10 @@ import { Monaco, monacoTypes } from '@grafana/ui'; -import { setupMockedTemplateService } from '../../__mocks__/CloudWatchDataSource'; -import * as MetricMathTestData from '../../__mocks__/metric-math-test-data'; -import MonacoMock from '../../__mocks__/monarch/Monaco'; -import TextModel from '../../__mocks__/monarch/TextModel'; -import { ResourcesAPI } from '../../resources/ResourcesAPI'; +import { setupMockedTemplateService } from '../../../__mocks__/CloudWatchDataSource'; +import * as MetricMathTestData from '../../../__mocks__/metric-math-test-data'; +import MonacoMock from '../../../__mocks__/monarch/Monaco'; +import TextModel from '../../../__mocks__/monarch/TextModel'; +import { ResourcesAPI } from '../../../resources/ResourcesAPI'; import cloudWatchMetricMathLanguageDefinition from '../definition'; import { METRIC_MATH_FNS, diff --git a/public/app/plugins/datasource/cloudwatch/metric-math/completion/CompletionItemProvider.ts b/public/app/plugins/datasource/cloudwatch/language/metric-math/completion/CompletionItemProvider.ts similarity index 98% rename from public/app/plugins/datasource/cloudwatch/metric-math/completion/CompletionItemProvider.ts rename to public/app/plugins/datasource/cloudwatch/language/metric-math/completion/CompletionItemProvider.ts index 17c061ac534..af0e7673e0f 100644 --- a/public/app/plugins/datasource/cloudwatch/metric-math/completion/CompletionItemProvider.ts +++ b/public/app/plugins/datasource/cloudwatch/language/metric-math/completion/CompletionItemProvider.ts @@ -1,11 +1,11 @@ import { getTemplateSrv, TemplateSrv } from '@grafana/runtime'; import type { Monaco, monacoTypes } from '@grafana/ui'; +import { ResourcesAPI } from '../../../resources/ResourcesAPI'; import { CompletionItemProvider } from '../../monarch/CompletionItemProvider'; import { LinkedToken } from '../../monarch/LinkedToken'; import { TRIGGER_SUGGEST } from '../../monarch/commands'; import { SuggestionKind, CompletionItemPriority, StatementPosition } from '../../monarch/types'; -import { ResourcesAPI } from '../../resources/ResourcesAPI'; import { METRIC_MATH_FNS, METRIC_MATH_KEYWORDS, diff --git a/public/app/plugins/datasource/cloudwatch/metric-math/completion/statementPosition.test.ts b/public/app/plugins/datasource/cloudwatch/language/metric-math/completion/statementPosition.test.ts similarity index 92% rename from public/app/plugins/datasource/cloudwatch/metric-math/completion/statementPosition.test.ts rename to public/app/plugins/datasource/cloudwatch/language/metric-math/completion/statementPosition.test.ts index ab7aa911e86..c786dfb5281 100644 --- a/public/app/plugins/datasource/cloudwatch/metric-math/completion/statementPosition.test.ts +++ b/public/app/plugins/datasource/cloudwatch/language/metric-math/completion/statementPosition.test.ts @@ -1,8 +1,8 @@ import { monacoTypes } from '@grafana/ui'; -import * as MetricMathTestQueries from '../../__mocks__/metric-math-test-data'; -import MonacoMock from '../../__mocks__/monarch/Monaco'; -import TextModel from '../../__mocks__/monarch/TextModel'; +import * as MetricMathTestQueries from '../../../__mocks__/metric-math-test-data'; +import MonacoMock from '../../../__mocks__/monarch/Monaco'; +import TextModel from '../../../__mocks__/monarch/TextModel'; import { linkedTokenBuilder } from '../../monarch/linkedTokenBuilder'; import { StatementPosition } from '../../monarch/types'; import cloudWatchSqlLanguageDefinition from '../definition'; diff --git a/public/app/plugins/datasource/cloudwatch/metric-math/completion/statementPosition.ts b/public/app/plugins/datasource/cloudwatch/language/metric-math/completion/statementPosition.ts similarity index 100% rename from public/app/plugins/datasource/cloudwatch/metric-math/completion/statementPosition.ts rename to public/app/plugins/datasource/cloudwatch/language/metric-math/completion/statementPosition.ts diff --git a/public/app/plugins/datasource/cloudwatch/metric-math/completion/suggestionKind.ts b/public/app/plugins/datasource/cloudwatch/language/metric-math/completion/suggestionKind.ts similarity index 100% rename from public/app/plugins/datasource/cloudwatch/metric-math/completion/suggestionKind.ts rename to public/app/plugins/datasource/cloudwatch/language/metric-math/completion/suggestionKind.ts diff --git a/public/app/plugins/datasource/cloudwatch/metric-math/completion/types.ts b/public/app/plugins/datasource/cloudwatch/language/metric-math/completion/types.ts similarity index 100% rename from public/app/plugins/datasource/cloudwatch/metric-math/completion/types.ts rename to public/app/plugins/datasource/cloudwatch/language/metric-math/completion/types.ts diff --git a/public/app/plugins/datasource/cloudwatch/metric-math/definition.ts b/public/app/plugins/datasource/cloudwatch/language/metric-math/definition.ts similarity index 100% rename from public/app/plugins/datasource/cloudwatch/metric-math/definition.ts rename to public/app/plugins/datasource/cloudwatch/language/metric-math/definition.ts diff --git a/public/app/plugins/datasource/cloudwatch/metric-math/language.ts b/public/app/plugins/datasource/cloudwatch/language/metric-math/language.ts similarity index 100% rename from public/app/plugins/datasource/cloudwatch/metric-math/language.ts rename to public/app/plugins/datasource/cloudwatch/language/metric-math/language.ts diff --git a/public/app/plugins/datasource/cloudwatch/monarch/CompletionItemProvider.ts b/public/app/plugins/datasource/cloudwatch/language/monarch/CompletionItemProvider.ts similarity index 98% rename from public/app/plugins/datasource/cloudwatch/monarch/CompletionItemProvider.ts rename to public/app/plugins/datasource/cloudwatch/language/monarch/CompletionItemProvider.ts index 0b74cd46bb2..6d024d0179b 100644 --- a/public/app/plugins/datasource/cloudwatch/monarch/CompletionItemProvider.ts +++ b/public/app/plugins/datasource/cloudwatch/language/monarch/CompletionItemProvider.ts @@ -1,7 +1,7 @@ import { getTemplateSrv, TemplateSrv } from '@grafana/runtime'; import type { Monaco, monacoTypes } from '@grafana/ui'; -import { ResourcesAPI } from '../resources/ResourcesAPI'; +import { ResourcesAPI } from '../../resources/ResourcesAPI'; import { LinkedToken } from './LinkedToken'; import { linkedTokenBuilder } from './linkedTokenBuilder'; diff --git a/public/app/plugins/datasource/cloudwatch/monarch/LinkedToken.ts b/public/app/plugins/datasource/cloudwatch/language/monarch/LinkedToken.ts similarity index 100% rename from public/app/plugins/datasource/cloudwatch/monarch/LinkedToken.ts rename to public/app/plugins/datasource/cloudwatch/language/monarch/LinkedToken.ts diff --git a/public/app/plugins/datasource/cloudwatch/monarch/commands.ts b/public/app/plugins/datasource/cloudwatch/language/monarch/commands.ts similarity index 100% rename from public/app/plugins/datasource/cloudwatch/monarch/commands.ts rename to public/app/plugins/datasource/cloudwatch/language/monarch/commands.ts diff --git a/public/app/plugins/datasource/cloudwatch/monarch/linkedTokenBuilder.test.ts b/public/app/plugins/datasource/cloudwatch/language/monarch/linkedTokenBuilder.test.ts similarity index 94% rename from public/app/plugins/datasource/cloudwatch/monarch/linkedTokenBuilder.test.ts rename to public/app/plugins/datasource/cloudwatch/language/monarch/linkedTokenBuilder.test.ts index 3025302bb05..575e94fa615 100644 --- a/public/app/plugins/datasource/cloudwatch/monarch/linkedTokenBuilder.test.ts +++ b/public/app/plugins/datasource/cloudwatch/language/monarch/linkedTokenBuilder.test.ts @@ -1,8 +1,8 @@ import { monacoTypes } from '@grafana/ui'; -import { multiLineFullQuery, singleLineFullQuery } from '../__mocks__/cloudwatch-sql-test-data'; -import MonacoMock from '../__mocks__/monarch/Monaco'; -import TextModel from '../__mocks__/monarch/TextModel'; +import { multiLineFullQuery, singleLineFullQuery } from '../../__mocks__/cloudwatch-sql-test-data'; +import MonacoMock from '../../__mocks__/monarch/Monaco'; +import TextModel from '../../__mocks__/monarch/TextModel'; import { SQLTokenTypes } from '../cloudwatch-sql/completion/types'; import cloudWatchSqlLanguageDefinition from '../cloudwatch-sql/definition'; import { DESC, SELECT } from '../cloudwatch-sql/language'; diff --git a/public/app/plugins/datasource/cloudwatch/monarch/linkedTokenBuilder.ts b/public/app/plugins/datasource/cloudwatch/language/monarch/linkedTokenBuilder.ts similarity index 100% rename from public/app/plugins/datasource/cloudwatch/monarch/linkedTokenBuilder.ts rename to public/app/plugins/datasource/cloudwatch/language/monarch/linkedTokenBuilder.ts diff --git a/public/app/plugins/datasource/cloudwatch/monarch/register.ts b/public/app/plugins/datasource/cloudwatch/language/monarch/register.ts similarity index 100% rename from public/app/plugins/datasource/cloudwatch/monarch/register.ts rename to public/app/plugins/datasource/cloudwatch/language/monarch/register.ts diff --git a/public/app/plugins/datasource/cloudwatch/monarch/types.ts b/public/app/plugins/datasource/cloudwatch/language/monarch/types.ts similarity index 100% rename from public/app/plugins/datasource/cloudwatch/monarch/types.ts rename to public/app/plugins/datasource/cloudwatch/language/monarch/types.ts