diff --git a/.betterer.results b/.betterer.results index 1795f47d98b..06eeb130f0e 100644 --- a/.betterer.results +++ b/.betterer.results @@ -597,6 +597,28 @@ exports[`better eslint`] = { [0, 0, 0, "Do not use any type assertions.", "5"], [0, 0, 0, "Do not use any type assertions.", "6"] ], + "packages/grafana-sql/src/components/query-editor-raw/QueryToolbox.tsx:5381": [ + [0, 0, 0, "Styles should be written using objects.", "0"], + [0, 0, 0, "Styles should be written using objects.", "1"], + [0, 0, 0, "Styles should be written using objects.", "2"], + [0, 0, 0, "Styles should be written using objects.", "3"], + [0, 0, 0, "Styles should be written using objects.", "4"] + ], + "packages/grafana-sql/src/components/query-editor-raw/QueryValidator.tsx:5381": [ + [0, 0, 0, "Styles should be written using objects.", "0"], + [0, 0, 0, "Styles should be written using objects.", "1"], + [0, 0, 0, "Styles should be written using objects.", "2"] + ], + "packages/grafana-sql/src/components/query-editor-raw/RawEditor.tsx:5381": [ + [0, 0, 0, "Styles should be written using objects.", "0"], + [0, 0, 0, "Styles should be written using objects.", "1"] + ], + "packages/grafana-sql/src/components/visual-query-builder/AwesomeQueryBuilder.tsx:5381": [ + [0, 0, 0, "Unexpected any. Specify a different type.", "0"] + ], + "packages/grafana-sql/src/components/visual-query-builder/SQLWhereRow.tsx:5381": [ + [0, 0, 0, "Do not use any type assertions.", "0"] + ], "packages/grafana-ui/src/components/ColorPicker/ColorPicker.tsx:5381": [ [0, 0, 0, "Unexpected any. Specify a different type.", "0"], [0, 0, 0, "Unexpected any. Specify a different type.", "1"] @@ -3943,28 +3965,6 @@ exports[`better eslint`] = { [0, 0, 0, "Do not use any type assertions.", "1"], [0, 0, 0, "Do not use any type assertions.", "2"] ], - "public/app/features/plugins/sql/components/query-editor-raw/QueryToolbox.tsx:5381": [ - [0, 0, 0, "Styles should be written using objects.", "0"], - [0, 0, 0, "Styles should be written using objects.", "1"], - [0, 0, 0, "Styles should be written using objects.", "2"], - [0, 0, 0, "Styles should be written using objects.", "3"], - [0, 0, 0, "Styles should be written using objects.", "4"] - ], - "public/app/features/plugins/sql/components/query-editor-raw/QueryValidator.tsx:5381": [ - [0, 0, 0, "Styles should be written using objects.", "0"], - [0, 0, 0, "Styles should be written using objects.", "1"], - [0, 0, 0, "Styles should be written using objects.", "2"] - ], - "public/app/features/plugins/sql/components/query-editor-raw/RawEditor.tsx:5381": [ - [0, 0, 0, "Styles should be written using objects.", "0"], - [0, 0, 0, "Styles should be written using objects.", "1"] - ], - "public/app/features/plugins/sql/components/visual-query-builder/AwesomeQueryBuilder.tsx:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"] - ], - "public/app/features/plugins/sql/components/visual-query-builder/SQLWhereRow.tsx:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"] - ], "public/app/features/plugins/tests/datasource_srv.test.ts:5381": [ [0, 0, 0, "Unexpected any. Specify a different type.", "0"], [0, 0, 0, "Unexpected any. Specify a different type.", "1"], diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 1ec930b449d..02a56c82a58 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -341,6 +341,7 @@ /plugins-bundled/ @grafana/plugins-platform-frontend /packages/grafana-plugin-configs/ @grafana/plugins-platform-frontend /packages/grafana-o11y-ds-frontend/ @grafana/observability-logs @grafana/observability-traces-and-profiling +/packages/grafana-sql/ @grafana/partner-datasources @grafana/oss-big-tent # root files, mostly frontend .browserslistrc @grafana/frontend-ops @@ -409,7 +410,6 @@ cypress.config.js @grafana/grafana-frontend-platform /public/app/features/panel/ @grafana/dashboards-squad /public/app/features/playlist/ @grafana/dashboards-squad /public/app/features/plugins/ @grafana/plugins-platform-frontend -/public/app/features/plugins/sql/ @grafana/partner-datasources @grafana/oss-big-tent /public/app/features/profile/ @grafana/grafana-frontend-platform /public/app/features/runtime/ @ryantxu /public/app/features/query/ @grafana/dashboards-squad diff --git a/package.json b/package.json index 775cf87d9ac..4dd90bbe8b8 100644 --- a/package.json +++ b/package.json @@ -245,6 +245,7 @@ "@grafana/runtime": "workspace:*", "@grafana/scenes": "^2.0.0", "@grafana/schema": "workspace:*", + "@grafana/sql": "workspace:*", "@grafana/ui": "workspace:*", "@kusto/monaco-kusto": "^7.4.0", "@leeoniya/ufuzzy": "1.0.14", @@ -390,7 +391,6 @@ "slate": "0.47.9", "slate-plain-serializer": "0.7.13", "slate-react": "0.22.10", - "sql-formatter-plus": "^1.3.6", "symbol-observable": "4.0.0", "test": "link:./public/test", "tether-drop": "https://github.com/torkelo/drop", diff --git a/packages/grafana-sql/package.json b/packages/grafana-sql/package.json new file mode 100644 index 00000000000..2aab491d35e --- /dev/null +++ b/packages/grafana-sql/package.json @@ -0,0 +1,54 @@ +{ + "author": "Grafana Labs", + "license": "AGPL-3.0-only", + "private": true, + "name": "@grafana/sql", + "version": "10.4.0-pre", + "repository": { + "type": "git", + "url": "http://github.com/grafana/grafana.git", + "directory": "packages/grafana-sql" + }, + "main": "src/index.ts", + "scripts": { + "typecheck": "tsc --emitDeclarationOnly false --noEmit" + }, + "dependencies": { + "@emotion/css": "11.11.2", + "@grafana/data": "workspace:*", + "@grafana/experimental": "1.7.7", + "@grafana/runtime": "workspace:*", + "@grafana/ui": "workspace:*", + "@react-awesome-query-builder/ui": "6.4.2", + "@types/lodash": "4.14.202", + "@types/react-virtualized-auto-sizer": "1.0.4", + "@types/uuid": "9.0.7", + "immutable": "4.3.4", + "lodash": "4.17.21", + "react-use": "17.4.0", + "react-virtualized-auto-sizer": "1.0.21", + "rxjs": "7.8.1", + "sql-formatter-plus": "^1.3.6", + "tslib": "2.6.2", + "uuid": "9.0.1" + }, + "devDependencies": { + "@grafana/tsconfig": "^1.3.0-rc1", + "@testing-library/jest-dom": "^6.1.2", + "@testing-library/react": "14.1.2", + "@testing-library/react-hooks": "^8.0.1", + "@testing-library/user-event": "14.5.2", + "@types/jest": "^29.5.4", + "@types/react": "18.2.48", + "@types/systemjs": "6.13.5", + "@types/testing-library__jest-dom": "5.14.9", + "jest": "^29.6.4", + "react": "18.2.0", + "ts-jest": "29.1.2", + "ts-node": "10.9.2", + "typescript": "5.2.2" + }, + "peerDependencies": { + "@grafana/runtime": "workspace:*" + } +} diff --git a/public/app/features/plugins/sql/ResponseParser.test.ts b/packages/grafana-sql/src/ResponseParser.test.ts similarity index 100% rename from public/app/features/plugins/sql/ResponseParser.test.ts rename to packages/grafana-sql/src/ResponseParser.test.ts diff --git a/public/app/features/plugins/sql/ResponseParser.ts b/packages/grafana-sql/src/ResponseParser.ts similarity index 100% rename from public/app/features/plugins/sql/ResponseParser.ts rename to packages/grafana-sql/src/ResponseParser.ts diff --git a/public/app/features/plugins/sql/components/ConfirmModal.tsx b/packages/grafana-sql/src/components/ConfirmModal.tsx similarity index 100% rename from public/app/features/plugins/sql/components/ConfirmModal.tsx rename to packages/grafana-sql/src/components/ConfirmModal.tsx diff --git a/public/app/features/plugins/sql/components/DatasetSelector.tsx b/packages/grafana-sql/src/components/DatasetSelector.tsx similarity index 100% rename from public/app/features/plugins/sql/components/DatasetSelector.tsx rename to packages/grafana-sql/src/components/DatasetSelector.tsx diff --git a/public/app/features/plugins/sql/components/ErrorBoundary.tsx b/packages/grafana-sql/src/components/ErrorBoundary.tsx similarity index 100% rename from public/app/features/plugins/sql/components/ErrorBoundary.tsx rename to packages/grafana-sql/src/components/ErrorBoundary.tsx diff --git a/public/app/features/plugins/sql/components/QueryEditor.tsx b/packages/grafana-sql/src/components/QueryEditor.tsx similarity index 100% rename from public/app/features/plugins/sql/components/QueryEditor.tsx rename to packages/grafana-sql/src/components/QueryEditor.tsx diff --git a/public/app/features/plugins/sql/components/QueryEditorFeatureFlag.utils.ts b/packages/grafana-sql/src/components/QueryEditorFeatureFlag.utils.ts similarity index 100% rename from public/app/features/plugins/sql/components/QueryEditorFeatureFlag.utils.ts rename to packages/grafana-sql/src/components/QueryEditorFeatureFlag.utils.ts diff --git a/public/app/features/plugins/sql/components/QueryHeader.tsx b/packages/grafana-sql/src/components/QueryHeader.tsx similarity index 100% rename from public/app/features/plugins/sql/components/QueryHeader.tsx rename to packages/grafana-sql/src/components/QueryHeader.tsx diff --git a/public/app/features/plugins/sql/components/SqlComponents.test.tsx b/packages/grafana-sql/src/components/SqlComponents.test.tsx similarity index 100% rename from public/app/features/plugins/sql/components/SqlComponents.test.tsx rename to packages/grafana-sql/src/components/SqlComponents.test.tsx diff --git a/public/app/features/plugins/sql/components/SqlComponents.testHelpers.ts b/packages/grafana-sql/src/components/SqlComponents.testHelpers.ts similarity index 100% rename from public/app/features/plugins/sql/components/SqlComponents.testHelpers.ts rename to packages/grafana-sql/src/components/SqlComponents.testHelpers.ts diff --git a/public/app/features/plugins/sql/components/TableSelector.tsx b/packages/grafana-sql/src/components/TableSelector.tsx similarity index 100% rename from public/app/features/plugins/sql/components/TableSelector.tsx rename to packages/grafana-sql/src/components/TableSelector.tsx diff --git a/public/app/features/plugins/sql/components/configuration/ConnectionLimits.tsx b/packages/grafana-sql/src/components/configuration/ConnectionLimits.tsx similarity index 100% rename from public/app/features/plugins/sql/components/configuration/ConnectionLimits.tsx rename to packages/grafana-sql/src/components/configuration/ConnectionLimits.tsx diff --git a/public/app/features/plugins/sql/components/configuration/Divider.tsx b/packages/grafana-sql/src/components/configuration/Divider.tsx similarity index 100% rename from public/app/features/plugins/sql/components/configuration/Divider.tsx rename to packages/grafana-sql/src/components/configuration/Divider.tsx diff --git a/public/app/features/plugins/sql/components/configuration/TLSSecretsConfig.tsx b/packages/grafana-sql/src/components/configuration/TLSSecretsConfig.tsx similarity index 100% rename from public/app/features/plugins/sql/components/configuration/TLSSecretsConfig.tsx rename to packages/grafana-sql/src/components/configuration/TLSSecretsConfig.tsx diff --git a/public/app/features/plugins/sql/components/configuration/useMigrateDatabaseFields.test.ts b/packages/grafana-sql/src/components/configuration/useMigrateDatabaseFields.test.ts similarity index 100% rename from public/app/features/plugins/sql/components/configuration/useMigrateDatabaseFields.test.ts rename to packages/grafana-sql/src/components/configuration/useMigrateDatabaseFields.test.ts diff --git a/public/app/features/plugins/sql/components/configuration/useMigrateDatabaseFields.ts b/packages/grafana-sql/src/components/configuration/useMigrateDatabaseFields.ts similarity index 100% rename from public/app/features/plugins/sql/components/configuration/useMigrateDatabaseFields.ts rename to packages/grafana-sql/src/components/configuration/useMigrateDatabaseFields.ts diff --git a/public/app/features/plugins/sql/components/index.ts b/packages/grafana-sql/src/components/index.ts similarity index 100% rename from public/app/features/plugins/sql/components/index.ts rename to packages/grafana-sql/src/components/index.ts diff --git a/public/app/features/plugins/sql/components/query-editor-raw/QueryEditorRaw.tsx b/packages/grafana-sql/src/components/query-editor-raw/QueryEditorRaw.tsx similarity index 100% rename from public/app/features/plugins/sql/components/query-editor-raw/QueryEditorRaw.tsx rename to packages/grafana-sql/src/components/query-editor-raw/QueryEditorRaw.tsx diff --git a/public/app/features/plugins/sql/components/query-editor-raw/QueryToolbox.tsx b/packages/grafana-sql/src/components/query-editor-raw/QueryToolbox.tsx similarity index 100% rename from public/app/features/plugins/sql/components/query-editor-raw/QueryToolbox.tsx rename to packages/grafana-sql/src/components/query-editor-raw/QueryToolbox.tsx diff --git a/public/app/features/plugins/sql/components/query-editor-raw/QueryValidator.tsx b/packages/grafana-sql/src/components/query-editor-raw/QueryValidator.tsx similarity index 100% rename from public/app/features/plugins/sql/components/query-editor-raw/QueryValidator.tsx rename to packages/grafana-sql/src/components/query-editor-raw/QueryValidator.tsx diff --git a/public/app/features/plugins/sql/components/query-editor-raw/README.md b/packages/grafana-sql/src/components/query-editor-raw/README.md similarity index 100% rename from public/app/features/plugins/sql/components/query-editor-raw/README.md rename to packages/grafana-sql/src/components/query-editor-raw/README.md diff --git a/public/app/features/plugins/sql/components/query-editor-raw/RawEditor.tsx b/packages/grafana-sql/src/components/query-editor-raw/RawEditor.tsx similarity index 100% rename from public/app/features/plugins/sql/components/query-editor-raw/RawEditor.tsx rename to packages/grafana-sql/src/components/query-editor-raw/RawEditor.tsx diff --git a/public/app/features/plugins/sql/components/visual-query-builder/AwesomeQueryBuilder.tsx b/packages/grafana-sql/src/components/visual-query-builder/AwesomeQueryBuilder.tsx similarity index 100% rename from public/app/features/plugins/sql/components/visual-query-builder/AwesomeQueryBuilder.tsx rename to packages/grafana-sql/src/components/visual-query-builder/AwesomeQueryBuilder.tsx diff --git a/public/app/features/plugins/sql/components/visual-query-builder/GroupByRow.tsx b/packages/grafana-sql/src/components/visual-query-builder/GroupByRow.tsx similarity index 100% rename from public/app/features/plugins/sql/components/visual-query-builder/GroupByRow.tsx rename to packages/grafana-sql/src/components/visual-query-builder/GroupByRow.tsx diff --git a/public/app/features/plugins/sql/components/visual-query-builder/OrderByRow.tsx b/packages/grafana-sql/src/components/visual-query-builder/OrderByRow.tsx similarity index 100% rename from public/app/features/plugins/sql/components/visual-query-builder/OrderByRow.tsx rename to packages/grafana-sql/src/components/visual-query-builder/OrderByRow.tsx diff --git a/public/app/features/plugins/sql/components/visual-query-builder/Preview.tsx b/packages/grafana-sql/src/components/visual-query-builder/Preview.tsx similarity index 100% rename from public/app/features/plugins/sql/components/visual-query-builder/Preview.tsx rename to packages/grafana-sql/src/components/visual-query-builder/Preview.tsx diff --git a/public/app/features/plugins/sql/components/visual-query-builder/SQLGroupByRow.tsx b/packages/grafana-sql/src/components/visual-query-builder/SQLGroupByRow.tsx similarity index 100% rename from public/app/features/plugins/sql/components/visual-query-builder/SQLGroupByRow.tsx rename to packages/grafana-sql/src/components/visual-query-builder/SQLGroupByRow.tsx diff --git a/public/app/features/plugins/sql/components/visual-query-builder/SQLOrderByRow.tsx b/packages/grafana-sql/src/components/visual-query-builder/SQLOrderByRow.tsx similarity index 100% rename from public/app/features/plugins/sql/components/visual-query-builder/SQLOrderByRow.tsx rename to packages/grafana-sql/src/components/visual-query-builder/SQLOrderByRow.tsx diff --git a/public/app/features/plugins/sql/components/visual-query-builder/SQLSelectRow.tsx b/packages/grafana-sql/src/components/visual-query-builder/SQLSelectRow.tsx similarity index 100% rename from public/app/features/plugins/sql/components/visual-query-builder/SQLSelectRow.tsx rename to packages/grafana-sql/src/components/visual-query-builder/SQLSelectRow.tsx diff --git a/public/app/features/plugins/sql/components/visual-query-builder/SQLWhereRow.tsx b/packages/grafana-sql/src/components/visual-query-builder/SQLWhereRow.tsx similarity index 100% rename from public/app/features/plugins/sql/components/visual-query-builder/SQLWhereRow.tsx rename to packages/grafana-sql/src/components/visual-query-builder/SQLWhereRow.tsx diff --git a/public/app/features/plugins/sql/components/visual-query-builder/SelectRow.tsx b/packages/grafana-sql/src/components/visual-query-builder/SelectRow.tsx similarity index 100% rename from public/app/features/plugins/sql/components/visual-query-builder/SelectRow.tsx rename to packages/grafana-sql/src/components/visual-query-builder/SelectRow.tsx diff --git a/public/app/features/plugins/sql/components/visual-query-builder/VisualEditor.tsx b/packages/grafana-sql/src/components/visual-query-builder/VisualEditor.tsx similarity index 100% rename from public/app/features/plugins/sql/components/visual-query-builder/VisualEditor.tsx rename to packages/grafana-sql/src/components/visual-query-builder/VisualEditor.tsx diff --git a/public/app/features/plugins/sql/components/visual-query-builder/WhereRow.tsx b/packages/grafana-sql/src/components/visual-query-builder/WhereRow.tsx similarity index 100% rename from public/app/features/plugins/sql/components/visual-query-builder/WhereRow.tsx rename to packages/grafana-sql/src/components/visual-query-builder/WhereRow.tsx diff --git a/public/app/features/plugins/sql/components/visual-query-builder/index.ts b/packages/grafana-sql/src/components/visual-query-builder/index.ts similarity index 100% rename from public/app/features/plugins/sql/components/visual-query-builder/index.ts rename to packages/grafana-sql/src/components/visual-query-builder/index.ts diff --git a/public/app/features/plugins/sql/constants.ts b/packages/grafana-sql/src/constants.ts similarity index 100% rename from public/app/features/plugins/sql/constants.ts rename to packages/grafana-sql/src/constants.ts diff --git a/public/app/features/plugins/sql/datasource/SqlDatasource.ts b/packages/grafana-sql/src/datasource/SqlDatasource.ts similarity index 100% rename from public/app/features/plugins/sql/datasource/SqlDatasource.ts rename to packages/grafana-sql/src/datasource/SqlDatasource.ts diff --git a/public/app/features/plugins/sql/defaults.ts b/packages/grafana-sql/src/defaults.ts similarity index 100% rename from public/app/features/plugins/sql/defaults.ts rename to packages/grafana-sql/src/defaults.ts diff --git a/public/app/features/plugins/sql/expressions.ts b/packages/grafana-sql/src/expressions.ts similarity index 100% rename from public/app/features/plugins/sql/expressions.ts rename to packages/grafana-sql/src/expressions.ts diff --git a/packages/grafana-sql/src/index.ts b/packages/grafana-sql/src/index.ts new file mode 100644 index 00000000000..a88463c3775 --- /dev/null +++ b/packages/grafana-sql/src/index.ts @@ -0,0 +1,22 @@ +export type { + DB, + RAQBFieldTypes, + SQLExpression, + SQLOptions, + SQLQuery, + SqlQueryModel, + SQLSelectableValue, +} from './types'; +export { QueryFormat } from './types'; // this is an enum, we cannot export-type it +export { SqlDatasource } from './datasource/SqlDatasource'; +export { formatSQL } from './utils/formatSQL'; +export { ConnectionLimits } from './components/configuration/ConnectionLimits'; +export { Divider } from './components/configuration/Divider'; +export { TLSSecretsConfig } from './components/configuration/TLSSecretsConfig'; +export { useMigrateDatabaseFields } from './components/configuration/useMigrateDatabaseFields'; +export { SqlQueryEditor } from './components/QueryEditor'; +export type { QueryHeaderProps } from './components/QueryHeader'; +export { createSelectClause, haveColumns } from './utils/sql.utils'; +export { applyQueryDefaults } from './defaults'; +export { makeVariable } from './utils/testHelpers'; +export { QueryEditorExpressionType } from './expressions'; diff --git a/public/app/features/plugins/sql/types.ts b/packages/grafana-sql/src/types.ts similarity index 100% rename from public/app/features/plugins/sql/types.ts rename to packages/grafana-sql/src/types.ts diff --git a/public/app/features/plugins/sql/utils/formatSQL.ts b/packages/grafana-sql/src/utils/formatSQL.ts similarity index 100% rename from public/app/features/plugins/sql/utils/formatSQL.ts rename to packages/grafana-sql/src/utils/formatSQL.ts diff --git a/public/app/features/plugins/sql/utils/migration.test.ts b/packages/grafana-sql/src/utils/migration.test.ts similarity index 100% rename from public/app/features/plugins/sql/utils/migration.test.ts rename to packages/grafana-sql/src/utils/migration.test.ts diff --git a/public/app/features/plugins/sql/utils/migration.ts b/packages/grafana-sql/src/utils/migration.ts similarity index 100% rename from public/app/features/plugins/sql/utils/migration.ts rename to packages/grafana-sql/src/utils/migration.ts diff --git a/public/app/features/plugins/sql/utils/sql.utils.ts b/packages/grafana-sql/src/utils/sql.utils.ts similarity index 100% rename from public/app/features/plugins/sql/utils/sql.utils.ts rename to packages/grafana-sql/src/utils/sql.utils.ts diff --git a/public/app/features/plugins/sql/utils/testHelpers.ts b/packages/grafana-sql/src/utils/testHelpers.ts similarity index 100% rename from public/app/features/plugins/sql/utils/testHelpers.ts rename to packages/grafana-sql/src/utils/testHelpers.ts diff --git a/public/app/features/plugins/sql/utils/useSqlChange.ts b/packages/grafana-sql/src/utils/useSqlChange.ts similarity index 100% rename from public/app/features/plugins/sql/utils/useSqlChange.ts rename to packages/grafana-sql/src/utils/useSqlChange.ts diff --git a/packages/grafana-sql/tsconfig.json b/packages/grafana-sql/tsconfig.json new file mode 100644 index 00000000000..a2f6548df35 --- /dev/null +++ b/packages/grafana-sql/tsconfig.json @@ -0,0 +1,13 @@ +{ + "compilerOptions": { + "baseUrl": "./", + "declarationDir": "./compiled", + "emitDeclarationOnly": true, + "isolatedModules": true, + "strict": true, + "rootDirs": ["."] + }, + "exclude": ["dist/**/*"], + "extends": "@grafana/tsconfig", + "include": ["src/**/*.ts*", "../../public/app/types/*.d.ts", "../grafana-ui/src/types/*.d.ts"] +} diff --git a/public/app/features/plugins/sql/.eslintrc b/public/app/features/plugins/sql/.eslintrc deleted file mode 100644 index f0bce9b7b63..00000000000 --- a/public/app/features/plugins/sql/.eslintrc +++ /dev/null @@ -1,10 +0,0 @@ -{ - "rules": { - "no-restricted-imports": [ - "error", - { - "patterns": ["app/*"] - } - ] - } -} diff --git a/public/app/features/plugins/sql/index.ts b/public/app/features/plugins/sql/index.ts deleted file mode 100644 index 195d95f598d..00000000000 --- a/public/app/features/plugins/sql/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from './components'; -export * from './types'; diff --git a/public/app/plugins/datasource/grafana-postgresql-datasource/PostgresQueryEditor.tsx b/public/app/plugins/datasource/grafana-postgresql-datasource/PostgresQueryEditor.tsx index 24f173893ee..f1fa982ae93 100644 --- a/public/app/plugins/datasource/grafana-postgresql-datasource/PostgresQueryEditor.tsx +++ b/public/app/plugins/datasource/grafana-postgresql-datasource/PostgresQueryEditor.tsx @@ -1,10 +1,7 @@ import React from 'react'; import { QueryEditorProps } from '@grafana/data'; -import { SqlQueryEditor } from 'app/features/plugins/sql/components/QueryEditor'; -import { SQLOptions, SQLQuery } from 'app/features/plugins/sql/types'; - -import { QueryHeaderProps } from '../../../features/plugins/sql/components/QueryHeader'; +import { SqlQueryEditor, SQLOptions, SQLQuery, QueryHeaderProps } from '@grafana/sql'; import { PostgresDatasource } from './datasource'; diff --git a/public/app/plugins/datasource/grafana-postgresql-datasource/PostgresQueryModel.ts b/public/app/plugins/datasource/grafana-postgresql-datasource/PostgresQueryModel.ts index aa3c47f0a78..a572733f1ee 100644 --- a/public/app/plugins/datasource/grafana-postgresql-datasource/PostgresQueryModel.ts +++ b/public/app/plugins/datasource/grafana-postgresql-datasource/PostgresQueryModel.ts @@ -1,8 +1,7 @@ import { ScopedVars } from '@grafana/data'; import { TemplateSrv } from '@grafana/runtime'; import { VariableFormatID } from '@grafana/schema'; -import { applyQueryDefaults } from 'app/features/plugins/sql/defaults'; -import { SQLQuery, SqlQueryModel } from 'app/features/plugins/sql/types'; +import { SQLQuery, SqlQueryModel, applyQueryDefaults } from '@grafana/sql'; export class PostgresQueryModel implements SqlQueryModel { target: SQLQuery; diff --git a/public/app/plugins/datasource/grafana-postgresql-datasource/configuration/ConfigurationEditor.tsx b/public/app/plugins/datasource/grafana-postgresql-datasource/configuration/ConfigurationEditor.tsx index 7253d9f02cd..29ced54320c 100644 --- a/public/app/plugins/datasource/grafana-postgresql-datasource/configuration/ConfigurationEditor.tsx +++ b/public/app/plugins/datasource/grafana-postgresql-datasource/configuration/ConfigurationEditor.tsx @@ -10,6 +10,7 @@ import { } from '@grafana/data'; import { ConfigSection, ConfigSubSection, DataSourceDescription, Stack } from '@grafana/experimental'; import { config } from '@grafana/runtime'; +import { ConnectionLimits, Divider, TLSSecretsConfig, useMigrateDatabaseFields } from '@grafana/sql'; import { Input, Select, @@ -22,10 +23,6 @@ import { SecureSocksProxySettings, Collapse, } from '@grafana/ui'; -import { ConnectionLimits } from 'app/features/plugins/sql/components/configuration/ConnectionLimits'; -import { Divider } from 'app/features/plugins/sql/components/configuration/Divider'; -import { TLSSecretsConfig } from 'app/features/plugins/sql/components/configuration/TLSSecretsConfig'; -import { useMigrateDatabaseFields } from 'app/features/plugins/sql/components/configuration/useMigrateDatabaseFields'; import { PostgresOptions, PostgresTLSMethods, PostgresTLSModes, SecureJsonData } from '../types'; diff --git a/public/app/plugins/datasource/grafana-postgresql-datasource/datasource.test.ts b/public/app/plugins/datasource/grafana-postgresql-datasource/datasource.test.ts index f5379945829..0ef5b7e95e3 100644 --- a/public/app/plugins/datasource/grafana-postgresql-datasource/datasource.test.ts +++ b/public/app/plugins/datasource/grafana-postgresql-datasource/datasource.test.ts @@ -21,8 +21,7 @@ import { getDataSourceSrv, setDataSourceSrv, } from '@grafana/runtime'; -import { QueryFormat, SQLQuery } from 'app/features/plugins/sql/types'; -import { makeVariable } from 'app/features/plugins/sql/utils/testHelpers'; +import { QueryFormat, SQLQuery, makeVariable } from '@grafana/sql'; import { PostgresDatasource } from './datasource'; import { PostgresOptions } from './types'; diff --git a/public/app/plugins/datasource/grafana-postgresql-datasource/datasource.ts b/public/app/plugins/datasource/grafana-postgresql-datasource/datasource.ts index eca17ba04c5..cbaa49a8c46 100644 --- a/public/app/plugins/datasource/grafana-postgresql-datasource/datasource.ts +++ b/public/app/plugins/datasource/grafana-postgresql-datasource/datasource.ts @@ -1,9 +1,7 @@ import { DataSourceInstanceSettings, ScopedVars } from '@grafana/data'; import { LanguageDefinition } from '@grafana/experimental'; import { TemplateSrv } from '@grafana/runtime'; -import { SqlDatasource } from 'app/features/plugins/sql/datasource/SqlDatasource'; -import { DB, SQLQuery, SQLSelectableValue } from 'app/features/plugins/sql/types'; -import { formatSQL } from 'app/features/plugins/sql/utils/formatSQL'; +import { SqlDatasource, DB, SQLQuery, SQLSelectableValue, formatSQL } from '@grafana/sql'; import { PostgresQueryModel } from './PostgresQueryModel'; import { getSchema, getTimescaleDBVersion, getVersion, showTables } from './postgresMetaQuery'; diff --git a/public/app/plugins/datasource/grafana-postgresql-datasource/module.ts b/public/app/plugins/datasource/grafana-postgresql-datasource/module.ts index 6aa5667cfd0..e03aa2e4d0d 100644 --- a/public/app/plugins/datasource/grafana-postgresql-datasource/module.ts +++ b/public/app/plugins/datasource/grafana-postgresql-datasource/module.ts @@ -1,5 +1,5 @@ import { DataSourcePlugin } from '@grafana/data'; -import { SQLQuery } from 'app/features/plugins/sql/types'; +import { SQLQuery } from '@grafana/sql'; import { CheatSheet } from './CheatSheet'; import { PostgresQueryEditor } from './PostgresQueryEditor'; diff --git a/public/app/plugins/datasource/grafana-postgresql-datasource/sqlCompletionProvider.ts b/public/app/plugins/datasource/grafana-postgresql-datasource/sqlCompletionProvider.ts index 485e972582d..9c1c4f92205 100644 --- a/public/app/plugins/datasource/grafana-postgresql-datasource/sqlCompletionProvider.ts +++ b/public/app/plugins/datasource/grafana-postgresql-datasource/sqlCompletionProvider.ts @@ -5,7 +5,7 @@ import { TableDefinition, TableIdentifier, } from '@grafana/experimental'; -import { DB, SQLQuery } from 'app/features/plugins/sql/types'; +import { DB, SQLQuery } from '@grafana/sql'; interface CompletionProviderGetterArgs { getColumns: React.MutableRefObject<(t: SQLQuery) => Promise>; diff --git a/public/app/plugins/datasource/grafana-postgresql-datasource/sqlUtil.ts b/public/app/plugins/datasource/grafana-postgresql-datasource/sqlUtil.ts index 3c652fb2719..75e77f54882 100644 --- a/public/app/plugins/datasource/grafana-postgresql-datasource/sqlUtil.ts +++ b/public/app/plugins/datasource/grafana-postgresql-datasource/sqlUtil.ts @@ -1,7 +1,6 @@ import { isEmpty } from 'lodash'; -import { RAQBFieldTypes, SQLQuery } from 'app/features/plugins/sql/types'; -import { createSelectClause, haveColumns } from 'app/features/plugins/sql/utils/sql.utils'; +import { createSelectClause, haveColumns, RAQBFieldTypes, SQLQuery } from '@grafana/sql'; export function getFieldConfig(type: string): { raqbFieldType: RAQBFieldTypes; icon: string } { switch (type) { diff --git a/public/app/plugins/datasource/grafana-postgresql-datasource/types.ts b/public/app/plugins/datasource/grafana-postgresql-datasource/types.ts index bc744f6c9a6..a10a4354ad0 100644 --- a/public/app/plugins/datasource/grafana-postgresql-datasource/types.ts +++ b/public/app/plugins/datasource/grafana-postgresql-datasource/types.ts @@ -1,4 +1,4 @@ -import { SQLOptions } from 'app/features/plugins/sql/types'; +import { SQLOptions } from '@grafana/sql'; export enum PostgresTLSModes { disable = 'disable', diff --git a/public/app/plugins/datasource/influxdb/components/editor/query/fsql/FSQLEditor.tsx b/public/app/plugins/datasource/influxdb/components/editor/query/fsql/FSQLEditor.tsx index ab16fdccbb0..90c08ff26ab 100644 --- a/public/app/plugins/datasource/influxdb/components/editor/query/fsql/FSQLEditor.tsx +++ b/public/app/plugins/datasource/influxdb/components/editor/query/fsql/FSQLEditor.tsx @@ -2,11 +2,9 @@ import { css, cx } from '@emotion/css'; import React, { PureComponent } from 'react'; import { GrafanaTheme2 } from '@grafana/data/src'; +import { SQLQuery, SqlQueryEditor, applyQueryDefaults } from '@grafana/sql'; import { InlineFormLabel, LinkButton, Themeable2, withTheme2 } from '@grafana/ui/src'; -import { SQLQuery } from '../../../../../../../features/plugins/sql'; -import { SqlQueryEditor } from '../../../../../../../features/plugins/sql/components/QueryEditor'; -import { applyQueryDefaults } from '../../../../../../../features/plugins/sql/defaults'; import InfluxDatasource from '../../../../datasource'; import { FlightSQLDatasource } from '../../../../fsql/datasource.flightsql'; import { InfluxQuery } from '../../../../types'; diff --git a/public/app/plugins/datasource/influxdb/datasource.ts b/public/app/plugins/datasource/influxdb/datasource.ts index 3b80766e82c..a7ce73bebed 100644 --- a/public/app/plugins/datasource/influxdb/datasource.ts +++ b/public/app/plugins/datasource/influxdb/datasource.ts @@ -32,11 +32,10 @@ import { getBackendSrv, } from '@grafana/runtime'; import { CustomFormatterVariable } from '@grafana/scenes'; +import { QueryFormat, SQLQuery } from '@grafana/sql'; import config from 'app/core/config'; import { getTemplateSrv, TemplateSrv } from 'app/features/templating/template_srv'; -import { QueryFormat, SQLQuery } from '../../../features/plugins/sql'; - import { AnnotationEditor } from './components/editor/annotation/AnnotationEditor'; import { FluxQueryEditor } from './components/editor/query/flux/FluxQueryEditor'; import { BROWSER_MODE_DISABLED_MESSAGE } from './constants'; diff --git a/public/app/plugins/datasource/influxdb/datasource_sql.test.ts b/public/app/plugins/datasource/influxdb/datasource_sql.test.ts index fa0af1ed35d..705b370a264 100644 --- a/public/app/plugins/datasource/influxdb/datasource_sql.test.ts +++ b/public/app/plugins/datasource/influxdb/datasource_sql.test.ts @@ -1,9 +1,8 @@ import { lastValueFrom } from 'rxjs'; +import { SQLQuery } from '@grafana/sql'; import config from 'app/core/config'; -import { SQLQuery } from '../../../features/plugins/sql'; - import InfluxDatasource from './datasource'; import { getMockDSInstanceSettings, diff --git a/public/app/plugins/datasource/influxdb/fsql/datasource.flightsql.ts b/public/app/plugins/datasource/influxdb/fsql/datasource.flightsql.ts index ee9ee95c28e..476df864d0a 100644 --- a/public/app/plugins/datasource/influxdb/fsql/datasource.flightsql.ts +++ b/public/app/plugins/datasource/influxdb/fsql/datasource.flightsql.ts @@ -1,9 +1,7 @@ import { DataSourceInstanceSettings, TimeRange } from '@grafana/data'; import { CompletionItemKind, LanguageDefinition, TableIdentifier } from '@grafana/experimental'; import { getTemplateSrv, TemplateSrv } from '@grafana/runtime'; -import { SqlDatasource } from 'app/features/plugins/sql/datasource/SqlDatasource'; -import { DB, SQLQuery } from 'app/features/plugins/sql/types'; -import { formatSQL } from 'app/features/plugins/sql/utils/formatSQL'; +import { DB, SqlDatasource, SQLQuery, formatSQL } from '@grafana/sql'; import { mapFieldsToTypes } from './fields'; import { buildColumnQuery, buildTableQuery } from './flightsqlMetaQuery'; diff --git a/public/app/plugins/datasource/influxdb/fsql/fields.ts b/public/app/plugins/datasource/influxdb/fsql/fields.ts index 6177234a3db..1cc2609f676 100644 --- a/public/app/plugins/datasource/influxdb/fsql/fields.ts +++ b/public/app/plugins/datasource/influxdb/fsql/fields.ts @@ -1,4 +1,4 @@ -import { RAQBFieldTypes, SQLSelectableValue } from 'app/features/plugins/sql/types'; +import { RAQBFieldTypes, SQLSelectableValue } from '@grafana/sql'; export function mapFieldsToTypes(columns: SQLSelectableValue[]) { const fields: SQLSelectableValue[] = []; diff --git a/public/app/plugins/datasource/influxdb/fsql/sqlUtil.test.ts b/public/app/plugins/datasource/influxdb/fsql/sqlUtil.test.ts index d05aad13d4d..57fe15c6709 100644 --- a/public/app/plugins/datasource/influxdb/fsql/sqlUtil.test.ts +++ b/public/app/plugins/datasource/influxdb/fsql/sqlUtil.test.ts @@ -1,6 +1,4 @@ -import { SQLQuery } from 'app/features/plugins/sql/types'; - -import { QueryEditorExpressionType } from '../../../../features/plugins/sql/expressions'; +import { SQLQuery, QueryEditorExpressionType } from '@grafana/sql'; import { toRawSql } from './sqlUtil'; diff --git a/public/app/plugins/datasource/influxdb/fsql/sqlUtil.ts b/public/app/plugins/datasource/influxdb/fsql/sqlUtil.ts index f4b8eea30bb..81ad2673762 100644 --- a/public/app/plugins/datasource/influxdb/fsql/sqlUtil.ts +++ b/public/app/plugins/datasource/influxdb/fsql/sqlUtil.ts @@ -1,7 +1,6 @@ import { isEmpty } from 'lodash'; -import { SQLQuery } from 'app/features/plugins/sql/types'; -import { createSelectClause, haveColumns } from 'app/features/plugins/sql/utils/sql.utils'; +import { SQLQuery, createSelectClause, haveColumns } from '@grafana/sql'; // remove identifier quoting from identifier to use in metadata queries export function unquoteIdentifier(value: string) { diff --git a/public/app/plugins/datasource/influxdb/fsql/types.ts b/public/app/plugins/datasource/influxdb/fsql/types.ts index 805fa085eb3..787ed135bb0 100644 --- a/public/app/plugins/datasource/influxdb/fsql/types.ts +++ b/public/app/plugins/datasource/influxdb/fsql/types.ts @@ -1,4 +1,4 @@ -import { SQLOptions, SQLQuery } from 'app/features/plugins/sql/types'; +import { SQLOptions, SQLQuery } from '@grafana/sql'; export interface FlightSQLOptions extends SQLOptions { allowCleartextPasswords?: boolean; diff --git a/public/app/plugins/datasource/influxdb/mocks.ts b/public/app/plugins/datasource/influxdb/mocks.ts index 22b7b8be019..678c4ea283d 100644 --- a/public/app/plugins/datasource/influxdb/mocks.ts +++ b/public/app/plugins/datasource/influxdb/mocks.ts @@ -16,8 +16,8 @@ import { setBackendSrv, VariableInterpolation, } from '@grafana/runtime/src'; +import { SQLQuery } from '@grafana/sql'; -import { SQLQuery } from '../../../features/plugins/sql'; import { TemplateSrv } from '../../../features/templating/template_srv'; import InfluxDatasource from './datasource'; diff --git a/public/app/plugins/datasource/mssql/MSSqlQueryModel.ts b/public/app/plugins/datasource/mssql/MSSqlQueryModel.ts index 45754ed51c9..4d712428679 100644 --- a/public/app/plugins/datasource/mssql/MSSqlQueryModel.ts +++ b/public/app/plugins/datasource/mssql/MSSqlQueryModel.ts @@ -1,7 +1,6 @@ import { ScopedVars } from '@grafana/data'; import { TemplateSrv } from '@grafana/runtime'; -import { applyQueryDefaults } from 'app/features/plugins/sql/defaults'; -import { SQLQuery, SqlQueryModel } from 'app/features/plugins/sql/types'; +import { applyQueryDefaults, SQLQuery, SqlQueryModel } from '@grafana/sql'; export class MSSqlQueryModel implements SqlQueryModel { target: SQLQuery; diff --git a/public/app/plugins/datasource/mssql/configuration/ConfigurationEditor.tsx b/public/app/plugins/datasource/mssql/configuration/ConfigurationEditor.tsx index 19e1e8a42c8..b949fcbc4ca 100644 --- a/public/app/plugins/datasource/mssql/configuration/ConfigurationEditor.tsx +++ b/public/app/plugins/datasource/mssql/configuration/ConfigurationEditor.tsx @@ -11,6 +11,7 @@ import { updateDatasourcePluginResetOption, } from '@grafana/data'; import { ConfigSection, ConfigSubSection, DataSourceDescription } from '@grafana/experimental'; +import { ConnectionLimits, useMigrateDatabaseFields } from '@grafana/sql'; import { Alert, FieldSet, @@ -26,8 +27,6 @@ import { } from '@grafana/ui'; import { NumberInput } from 'app/core/components/OptionsUI/NumberInput'; import { config } from 'app/core/config'; -import { ConnectionLimits } from 'app/features/plugins/sql/components/configuration/ConnectionLimits'; -import { useMigrateDatabaseFields } from 'app/features/plugins/sql/components/configuration/useMigrateDatabaseFields'; import { AzureAuthSettings } from '../azureauth/AzureAuthSettings'; import { diff --git a/public/app/plugins/datasource/mssql/datasource.test.ts b/public/app/plugins/datasource/mssql/datasource.test.ts index bff446b08c1..8c3d8092d43 100644 --- a/public/app/plugins/datasource/mssql/datasource.test.ts +++ b/public/app/plugins/datasource/mssql/datasource.test.ts @@ -11,8 +11,8 @@ import { createDataFrame, TimeRange, } from '@grafana/data'; +import { SQLQuery } from '@grafana/sql'; import { backendSrv } from 'app/core/services/backend_srv'; -import { SQLQuery } from 'app/features/plugins/sql/types'; import { TemplateSrv } from 'app/features/templating/template_srv'; import { initialCustomVariableModelState } from '../../../features/variables/custom/reducer'; diff --git a/public/app/plugins/datasource/mssql/datasource.ts b/public/app/plugins/datasource/mssql/datasource.ts index 13e6781f0bf..f936ab72a5a 100644 --- a/public/app/plugins/datasource/mssql/datasource.ts +++ b/public/app/plugins/datasource/mssql/datasource.ts @@ -1,9 +1,7 @@ import { DataSourceInstanceSettings, ScopedVars } from '@grafana/data'; import { LanguageDefinition } from '@grafana/experimental'; import { TemplateSrv } from '@grafana/runtime'; -import { SqlDatasource } from 'app/features/plugins/sql/datasource/SqlDatasource'; -import { DB, SQLQuery, SQLSelectableValue } from 'app/features/plugins/sql/types'; -import { formatSQL } from 'app/features/plugins/sql/utils/formatSQL'; +import { DB, SQLQuery, SqlDatasource, SQLSelectableValue, formatSQL } from '@grafana/sql'; import { getSchema, showDatabases, getSchemaAndName } from './MSSqlMetaQuery'; import { MSSqlQueryModel } from './MSSqlQueryModel'; diff --git a/public/app/plugins/datasource/mssql/module.ts b/public/app/plugins/datasource/mssql/module.ts index 7af8a5a3f2f..230f2f89a41 100644 --- a/public/app/plugins/datasource/mssql/module.ts +++ b/public/app/plugins/datasource/mssql/module.ts @@ -1,6 +1,5 @@ import { DataSourcePlugin } from '@grafana/data'; -import { SqlQueryEditor } from 'app/features/plugins/sql/components/QueryEditor'; -import { SQLQuery } from 'app/features/plugins/sql/types'; +import { SQLQuery, SqlQueryEditor } from '@grafana/sql'; import { CheatSheet } from './CheatSheet'; import { ConfigurationEditor } from './configuration/ConfigurationEditor'; diff --git a/public/app/plugins/datasource/mssql/sqlCompletionProvider.ts b/public/app/plugins/datasource/mssql/sqlCompletionProvider.ts index e8fcfb4f25b..871c2172dfc 100644 --- a/public/app/plugins/datasource/mssql/sqlCompletionProvider.ts +++ b/public/app/plugins/datasource/mssql/sqlCompletionProvider.ts @@ -7,7 +7,7 @@ import { TableIdentifier, TokenType, } from '@grafana/experimental'; -import { DB, SQLQuery } from 'app/features/plugins/sql/types'; +import { DB, SQLQuery } from '@grafana/sql'; interface CompletionProviderGetterArgs { getColumns: React.MutableRefObject<(t: SQLQuery) => Promise>; diff --git a/public/app/plugins/datasource/mssql/sqlUtil.ts b/public/app/plugins/datasource/mssql/sqlUtil.ts index 49c631d5733..ba7347e77ae 100644 --- a/public/app/plugins/datasource/mssql/sqlUtil.ts +++ b/public/app/plugins/datasource/mssql/sqlUtil.ts @@ -1,7 +1,6 @@ import { isEmpty } from 'lodash'; -import { RAQBFieldTypes, SQLExpression, SQLQuery } from 'app/features/plugins/sql/types'; -import { haveColumns } from 'app/features/plugins/sql/utils/sql.utils'; +import { RAQBFieldTypes, SQLExpression, SQLQuery, haveColumns } from '@grafana/sql'; export function getIcon(type: string): string | undefined { switch (type) { diff --git a/public/app/plugins/datasource/mssql/types.ts b/public/app/plugins/datasource/mssql/types.ts index d950e4bef09..40c1914b34b 100644 --- a/public/app/plugins/datasource/mssql/types.ts +++ b/public/app/plugins/datasource/mssql/types.ts @@ -1,6 +1,6 @@ import { DataSourceJsonData } from '@grafana/data'; +import { SQLOptions } from '@grafana/sql'; import { HttpSettingsBaseProps } from '@grafana/ui/src/components/DataSourceSettings/types'; -import { SQLOptions } from 'app/features/plugins/sql/types'; export enum MSSQLAuthenticationType { sqlAuth = 'SQL Server Authentication', diff --git a/public/app/plugins/datasource/mysql/MySqlDatasource.ts b/public/app/plugins/datasource/mysql/MySqlDatasource.ts index 74bc814fb36..7a30358313c 100644 --- a/public/app/plugins/datasource/mysql/MySqlDatasource.ts +++ b/public/app/plugins/datasource/mysql/MySqlDatasource.ts @@ -1,8 +1,6 @@ import { DataSourceInstanceSettings, TimeRange } from '@grafana/data'; import { CompletionItemKind, LanguageDefinition, TableIdentifier } from '@grafana/experimental'; -import { SqlDatasource } from 'app/features/plugins/sql/datasource/SqlDatasource'; -import { DB, SQLQuery } from 'app/features/plugins/sql/types'; -import { formatSQL } from 'app/features/plugins/sql/utils/formatSQL'; +import { SqlDatasource, DB, SQLQuery, formatSQL } from '@grafana/sql'; import { mapFieldsToTypes } from './fields'; import { buildColumnQuery, buildTableQuery, showDatabases } from './mySqlMetaQuery'; diff --git a/public/app/plugins/datasource/mysql/configuration/ConfigurationEditor.tsx b/public/app/plugins/datasource/mysql/configuration/ConfigurationEditor.tsx index 6bd2640cec3..c0feed4629b 100644 --- a/public/app/plugins/datasource/mysql/configuration/ConfigurationEditor.tsx +++ b/public/app/plugins/datasource/mysql/configuration/ConfigurationEditor.tsx @@ -9,6 +9,7 @@ import { } from '@grafana/data'; import { ConfigSection, ConfigSubSection, DataSourceDescription, Stack } from '@grafana/experimental'; import { config } from '@grafana/runtime'; +import { ConnectionLimits, Divider, TLSSecretsConfig, useMigrateDatabaseFields } from '@grafana/sql'; import { Collapse, Field, @@ -20,10 +21,6 @@ import { Switch, Tooltip, } from '@grafana/ui'; -import { ConnectionLimits } from 'app/features/plugins/sql/components/configuration/ConnectionLimits'; -import { Divider } from 'app/features/plugins/sql/components/configuration/Divider'; -import { TLSSecretsConfig } from 'app/features/plugins/sql/components/configuration/TLSSecretsConfig'; -import { useMigrateDatabaseFields } from 'app/features/plugins/sql/components/configuration/useMigrateDatabaseFields'; import { MySQLOptions } from '../types'; diff --git a/public/app/plugins/datasource/mysql/fields.ts b/public/app/plugins/datasource/mysql/fields.ts index 96eb122c35e..4154da5873e 100644 --- a/public/app/plugins/datasource/mysql/fields.ts +++ b/public/app/plugins/datasource/mysql/fields.ts @@ -1,4 +1,4 @@ -import { RAQBFieldTypes, SQLSelectableValue } from 'app/features/plugins/sql/types'; +import { RAQBFieldTypes, SQLSelectableValue } from '@grafana/sql'; export function mapFieldsToTypes(columns: SQLSelectableValue[]) { const fields: SQLSelectableValue[] = []; diff --git a/public/app/plugins/datasource/mysql/module.ts b/public/app/plugins/datasource/mysql/module.ts index c47743252d6..c2c6616c492 100644 --- a/public/app/plugins/datasource/mysql/module.ts +++ b/public/app/plugins/datasource/mysql/module.ts @@ -1,6 +1,5 @@ import { DataSourcePlugin } from '@grafana/data'; -import { SqlQueryEditor } from 'app/features/plugins/sql/components/QueryEditor'; -import { SQLQuery } from 'app/features/plugins/sql/types'; +import { SQLQuery, SqlQueryEditor } from '@grafana/sql'; import { CheatSheet } from './CheatSheet'; import { MySqlDatasource } from './MySqlDatasource'; diff --git a/public/app/plugins/datasource/mysql/specs/datasource.test.ts b/public/app/plugins/datasource/mysql/specs/datasource.test.ts index aaee5eabf0b..1b9ced8b098 100644 --- a/public/app/plugins/datasource/mysql/specs/datasource.test.ts +++ b/public/app/plugins/datasource/mysql/specs/datasource.test.ts @@ -10,8 +10,7 @@ import { createDataFrame, } from '@grafana/data'; import { FetchResponse } from '@grafana/runtime'; -import { SQLQuery } from 'app/features/plugins/sql/types'; -import { makeVariable } from 'app/features/plugins/sql/utils/testHelpers'; +import { SQLQuery, makeVariable } from '@grafana/sql'; import { MySqlDatasource } from '../MySqlDatasource'; import { MySQLOptions } from '../types'; diff --git a/public/app/plugins/datasource/mysql/sqlUtil.ts b/public/app/plugins/datasource/mysql/sqlUtil.ts index 9116be17a93..c4e1587fddb 100644 --- a/public/app/plugins/datasource/mysql/sqlUtil.ts +++ b/public/app/plugins/datasource/mysql/sqlUtil.ts @@ -1,7 +1,6 @@ import { isEmpty } from 'lodash'; -import { SQLQuery } from 'app/features/plugins/sql/types'; -import { createSelectClause, haveColumns } from 'app/features/plugins/sql/utils/sql.utils'; +import { SQLQuery, createSelectClause, haveColumns } from '@grafana/sql'; export function toRawSql({ sql, dataset, table }: SQLQuery): string { let rawQuery = ''; diff --git a/public/app/plugins/datasource/mysql/types.ts b/public/app/plugins/datasource/mysql/types.ts index e142f35891a..cd47ae73ff2 100644 --- a/public/app/plugins/datasource/mysql/types.ts +++ b/public/app/plugins/datasource/mysql/types.ts @@ -1,4 +1,4 @@ -import { SQLOptions, SQLQuery } from 'app/features/plugins/sql/types'; +import { SQLOptions, SQLQuery } from '@grafana/sql'; export interface MySQLOptions extends SQLOptions { allowCleartextPasswords?: boolean; diff --git a/yarn.lock b/yarn.lock index 22db725ce72..9e83be69d4f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3629,6 +3629,46 @@ __metadata: languageName: unknown linkType: soft +"@grafana/sql@workspace:*, @grafana/sql@workspace:packages/grafana-sql": + version: 0.0.0-use.local + resolution: "@grafana/sql@workspace:packages/grafana-sql" + dependencies: + "@emotion/css": "npm:11.11.2" + "@grafana/data": "workspace:*" + "@grafana/experimental": "npm:1.7.7" + "@grafana/runtime": "workspace:*" + "@grafana/tsconfig": "npm:^1.3.0-rc1" + "@grafana/ui": "workspace:*" + "@react-awesome-query-builder/ui": "npm:6.4.2" + "@testing-library/jest-dom": "npm:^6.1.2" + "@testing-library/react": "npm:14.1.2" + "@testing-library/react-hooks": "npm:^8.0.1" + "@testing-library/user-event": "npm:14.5.2" + "@types/jest": "npm:^29.5.4" + "@types/lodash": "npm:4.14.202" + "@types/react": "npm:18.2.48" + "@types/react-virtualized-auto-sizer": "npm:1.0.4" + "@types/systemjs": "npm:6.13.5" + "@types/testing-library__jest-dom": "npm:5.14.9" + "@types/uuid": "npm:9.0.7" + immutable: "npm:4.3.4" + jest: "npm:^29.6.4" + lodash: "npm:4.17.21" + react: "npm:18.2.0" + react-use: "npm:17.4.0" + react-virtualized-auto-sizer: "npm:1.0.21" + rxjs: "npm:7.8.1" + sql-formatter-plus: "npm:^1.3.6" + ts-jest: "npm:29.1.2" + ts-node: "npm:10.9.2" + tslib: "npm:2.6.2" + typescript: "npm:5.2.2" + uuid: "npm:9.0.1" + peerDependencies: + "@grafana/runtime": "workspace:*" + languageName: unknown + linkType: soft + "@grafana/tsconfig@npm:^1.2.0-rc1": version: 1.2.0-rc1 resolution: "@grafana/tsconfig@npm:1.2.0-rc1" @@ -17300,6 +17340,7 @@ __metadata: "@grafana/runtime": "workspace:*" "@grafana/scenes": "npm:^2.0.0" "@grafana/schema": "workspace:*" + "@grafana/sql": "workspace:*" "@grafana/tsconfig": "npm:^1.3.0-rc1" "@grafana/ui": "workspace:*" "@kusto/monaco-kusto": "npm:^7.4.0" @@ -17572,7 +17613,6 @@ __metadata: slate: "npm:0.47.9" slate-plain-serializer: "npm:0.7.13" slate-react: "npm:0.22.10" - sql-formatter-plus: "npm:^1.3.6" style-loader: "npm:3.3.4" stylelint: "npm:15.11.0" stylelint-config-prettier: "npm:9.0.5"