diff --git a/.betterer.eslint.config.js b/.betterer.eslint.config.js deleted file mode 100644 index e37de7feeaf..00000000000 --- a/.betterer.eslint.config.js +++ /dev/null @@ -1,187 +0,0 @@ -// @ts-check -const emotionPlugin = require('@emotion/eslint-plugin'); -const importPlugin = require('eslint-plugin-import'); -const jestPlugin = require('eslint-plugin-jest'); -const jsxA11yPlugin = require('eslint-plugin-jsx-a11y'); -const lodashPlugin = require('eslint-plugin-lodash'); -const barrelPlugin = require('eslint-plugin-no-barrel-files'); -const reactPlugin = require('eslint-plugin-react'); -const testingLibraryPlugin = require('eslint-plugin-testing-library'); - -const grafanaConfig = require('@grafana/eslint-config/flat'); -const grafanaPlugin = require('@grafana/eslint-plugin'); -const grafanaI18nPlugin = require('@grafana/i18n/eslint-plugin'); - -// Include the base Grafana configs and remove the rules, -// as we just want to pull in all of the necessary configuration but not run the rules -// (this should only be concerned with checking rules that we want to improve, -// so there's no need to try and run the rules that will be linted properly anyway) -const mappedBaseConfigs = grafanaConfig.map((/** @type {import('eslint').Linter.Config} */ config) => { - const { rules, ...baseConfig } = config; - return baseConfig; -}); - -/** - * @type {Array} - */ -module.exports = [ - { - name: 'grafana/betterer-ignores', - ignores: [ - '.github', - '.yarn', - '**/.*', - '**/*.gen.ts', - '**/build/', - '**/compiled/', - '**/dist/', - 'data/', - 'deployment_tools_config.json', - 'devenv', - 'e2e-playwright/test-plugins', - 'e2e/tmp', - 'packages/grafana-ui/src/components/Icon/iconBundle.ts', - 'pkg', - 'playwright-report', - 'public/lib/monaco/', - 'public/locales/_build', - 'public/locales/**/*.js', - 'public/vendor/', - 'scripts/grafana-server/tmp', - '!.betterer.eslint.config.js', - ], - }, - { - name: 'react/jsx-runtime-rules', - rules: reactPlugin.configs.flat['jsx-runtime'].rules, - }, - ...mappedBaseConfigs, - { - files: ['**/*.{ts,tsx,js}'], - plugins: { - '@emotion': emotionPlugin, - lodash: lodashPlugin, - jest: jestPlugin, - import: importPlugin, - 'jsx-a11y': jsxA11yPlugin, - 'no-barrel-files': barrelPlugin, - '@grafana': grafanaPlugin, - 'testing-library': testingLibraryPlugin, - '@grafana/i18n': grafanaI18nPlugin, - }, - linterOptions: { - // This reports unused disable directives that we can clean up but - // it also conflicts with the betterer eslint rules so disabled - reportUnusedDisableDirectives: false, - }, - }, - { - files: ['**/*.{js,jsx,ts,tsx}'], - rules: { - 'react-hooks/rules-of-hooks': 'error', - '@typescript-eslint/no-explicit-any': 'error', - '@grafana/no-aria-label-selectors': 'error', - 'no-restricted-imports': [ - 'error', - { - patterns: [ - { - group: ['@grafana/ui/src/*', '@grafana/runtime/src/*', '@grafana/data/src/*'], - message: 'Import from the public export instead.', - }, - ], - }, - ], - }, - }, - { - files: ['**/*.{js,jsx,ts,tsx}'], - ignores: [ - '**/*.{test,spec}.{ts,tsx}', - '**/__mocks__/**', - '**/public/test/**', - '**/mocks.{ts,tsx}', - '**/mocks/**/*.{ts,tsx}', - '**/spec/**/*.{ts,tsx}', - ], - rules: { - '@typescript-eslint/consistent-type-assertions': ['error', { assertionStyle: 'never' }], - }, - }, - { - files: ['**/*.{js,jsx,ts,tsx}'], - ignores: [ - '**/*.{test,spec}.{ts,tsx}', - '**/__mocks__/**', - '**/public/test/**', - '**/mocks.{ts,tsx}', - '**/spec/**/*.{ts,tsx}', - ], - rules: { - 'no-restricted-syntax': [ - 'error', - { - selector: 'Identifier[name=localStorage]', - message: 'Direct usage of localStorage is not allowed. import store from @grafana/data instead', - }, - { - selector: 'MemberExpression[object.name=localStorage]', - message: 'Direct usage of localStorage is not allowed. import store from @grafana/data instead', - }, - { - selector: - 'Program:has(ImportDeclaration[source.value="@grafana/ui"] ImportSpecifier[imported.name="Card"]) JSXOpeningElement[name.name="Card"]:not(:has(JSXAttribute[name.name="noMargin"]))', - message: - 'Add noMargin prop to Card components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.', - }, - { - selector: - 'Program:has(ImportDeclaration[source.value="@grafana/ui"] ImportSpecifier[imported.name="Field"]) JSXOpeningElement[name.name="Field"]:not(:has(JSXAttribute[name.name="noMargin"]))', - message: - 'Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.', - }, - { - selector: 'CallExpression[callee.type="MemberExpression"][callee.property.name="localeCompare"]', - message: - 'Using localeCompare() can cause performance issues when sorting large datasets. Consider using Intl.Collator for better performance when sorting arrays, or add an eslint-disable comment if sorting a small, known dataset.', - }, - { - // eslint-disable-next-line no-restricted-syntax - selector: 'Literal[value=/gf-form/], TemplateElement[value.cooked=/gf-form/]', - // eslint-disable-next-line no-restricted-syntax - message: 'gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.', - }, - { - selector: - "Property[key.name='a11y'][value.type='ObjectExpression'] Property[key.name='test'][value.value='off']", - message: 'Skipping a11y tests is not allowed. Please fix the component or story instead.', - }, - ], - }, - }, - { - files: ['public/app/**/*.{ts,tsx}'], - rules: { - 'no-barrel-files/no-barrel-files': 'error', - }, - }, - { - // custom rule for Table to avoid performance regressions - files: ['packages/grafana-ui/src/components/Table/TableNG/Cells/**/*.{ts,tsx}'], - rules: { - 'no-restricted-imports': [ - 'error', - { - patterns: [ - { - group: ['**/themes/ThemeContext'], - importNames: ['useStyles2', 'useTheme2'], - message: - 'Do not use "useStyles2" or "useTheme2" in a cell directly. Instead, provide styles to cells via `getDefaultCellStyles` or `getCellSpecificStyles`.', - }, - ], - }, - ], - }, - }, -]; diff --git a/.betterer.results b/.betterer.results deleted file mode 100644 index 594f2a49e0c..00000000000 --- a/.betterer.results +++ /dev/null @@ -1,4440 +0,0 @@ -// BETTERER RESULTS V2. -// -// If this file contains merge conflicts, use `betterer merge` to automatically resolve them: -// https://phenomnomnominal.github.io/betterer/docs/results-file/#merge -// -exports[`better eslint`] = { - value: `{ - "apps/dashboard/tshack/v0alpha1_spec_gen.ts:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"] - ], - "apps/dashboard/tshack/v1alpha1_spec_gen.ts:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"] - ], - "e2e/old-arch/utils/support/localStorage.ts:5381": [ - [0, 0, 0, "Direct usage of localStorage is not allowed. import store from @grafana/data instead", "0"], - [0, 0, 0, "Direct usage of localStorage is not allowed. import store from @grafana/data instead", "1"] - ], - "e2e/old-arch/utils/support/types.ts:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"] - ], - "e2e/utils/support/localStorage.ts:5381": [ - [0, 0, 0, "Direct usage of localStorage is not allowed. import store from @grafana/data instead", "0"], - [0, 0, 0, "Direct usage of localStorage is not allowed. import store from @grafana/data instead", "1"] - ], - "e2e/utils/support/types.ts:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"] - ], - "packages/grafana-alerting/src/grafana/notificationPolicies/utils.ts:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"] - ], - "packages/grafana-data/src/dataframe/ArrayDataFrame.ts:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"] - ], - "packages/grafana-data/src/dataframe/CircularDataFrame.ts:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"] - ], - "packages/grafana-data/src/dataframe/DataFrameView.ts:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"], - [0, 0, 0, "Do not use any type assertions.", "1"], - [0, 0, 0, "Unexpected any. Specify a different type.", "2"], - [0, 0, 0, "Unexpected any. Specify a different type.", "3"] - ], - "packages/grafana-data/src/dataframe/MutableDataFrame.ts: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.", "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"], - [0, 0, 0, "Unexpected any. Specify a different type.", "7"], - [0, 0, 0, "Unexpected any. Specify a different type.", "8"], - [0, 0, 0, "Unexpected any. Specify a different type.", "9"], - [0, 0, 0, "Unexpected any. Specify a different type.", "10"], - [0, 0, 0, "Unexpected any. Specify a different type.", "11"] - ], - "packages/grafana-data/src/dataframe/StreamingDataFrame.ts: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.", "2"], - [0, 0, 0, "Do not use any type assertions.", "3"] - ], - "packages/grafana-data/src/dataframe/processDataFrame.test.ts:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"] - ], - "packages/grafana-data/src/dataframe/processDataFrame.ts: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.", "2"], - [0, 0, 0, "Do not use any type assertions.", "3"], - [0, 0, 0, "Do not use any type assertions.", "4"], - [0, 0, 0, "Do not use any type assertions.", "5"], - [0, 0, 0, "Do not use any type assertions.", "6"], - [0, 0, 0, "Do not use any type assertions.", "7"], - [0, 0, 0, "Do not use any type assertions.", "8"], - [0, 0, 0, "Do not use any type assertions.", "9"], - [0, 0, 0, "Do not use any type assertions.", "10"], - [0, 0, 0, "Do not use any type assertions.", "11"], - [0, 0, 0, "Do not use any type assertions.", "12"], - [0, 0, 0, "Do not use any type assertions.", "13"], - [0, 0, 0, "Do not use any type assertions.", "14"], - [0, 0, 0, "Unexpected any. Specify a different type.", "15"], - [0, 0, 0, "Unexpected any. Specify a different type.", "16"], - [0, 0, 0, "Unexpected any. Specify a different type.", "17"], - [0, 0, 0, "Unexpected any. Specify a different type.", "18"], - [0, 0, 0, "Unexpected any. Specify a different type.", "19"] - ], - "packages/grafana-data/src/datetime/moment_wrapper.ts: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.", "2"], - [0, 0, 0, "Do not use any type assertions.", "3"], - [0, 0, 0, "Do not use any type assertions.", "4"], - [0, 0, 0, "Do not use any type assertions.", "5"], - [0, 0, 0, "Do not use any type assertions.", "6"], - [0, 0, 0, "Do not use any type assertions.", "7"], - [0, 0, 0, "Unexpected any. Specify a different type.", "8"] - ], - "packages/grafana-data/src/events/types.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"] - ], - "packages/grafana-data/src/field/displayProcessor.ts: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.", "2"] - ], - "packages/grafana-data/src/field/overrides/processors.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"] - ], - "packages/grafana-data/src/field/standardFieldConfigEditorRegistry.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"] - ], - "packages/grafana-data/src/geo/layer.ts:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"] - ], - "packages/grafana-data/src/panel/PanelPlugin.ts:5381": [ - [0, 0, 0, "Do not use any type assertions.", "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"] - ], - "packages/grafana-data/src/panel/registryFactories.ts:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"] - ], - "packages/grafana-data/src/table/amendTimeSeries.ts: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.", "2"], - [0, 0, 0, "Do not use any type assertions.", "3"], - [0, 0, 0, "Do not use any type assertions.", "4"], - [0, 0, 0, "Unexpected any. Specify a different type.", "5"] - ], - "packages/grafana-data/src/themes/colorManipulator.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"] - ], - "packages/grafana-data/src/themes/createColors.ts:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"] - ], - "packages/grafana-data/src/themes/registry.ts:5381": [ - [0, 0, 0, "Using localeCompare() can cause performance issues when sorting large datasets. Consider using Intl.Collator for better performance when sorting arrays, or add an eslint-disable comment if sorting a small, known dataset.", "0"] - ], - "packages/grafana-data/src/transformations/matchers/valueMatchers/types.ts:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"], - [0, 0, 0, "Unexpected any. Specify a different type.", "1"] - ], - "packages/grafana-data/src/transformations/standardTransformersRegistry.ts:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"] - ], - "packages/grafana-data/src/transformations/transformDataFrame.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"] - ], - "packages/grafana-data/src/transformations/transformers/nulls/nullInsertThreshold.ts:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"], - [0, 0, 0, "Unexpected any. Specify a different type.", "1"] - ], - "packages/grafana-data/src/types/OptionsUIRegistryBuilder.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"] - ], - "packages/grafana-data/src/types/ScopedVars.ts:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"], - [0, 0, 0, "Unexpected any. Specify a different type.", "1"] - ], - "packages/grafana-data/src/types/action.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"] - ], - "packages/grafana-data/src/types/annotations.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"] - ], - "packages/grafana-data/src/types/app.ts: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.", "2"] - ], - "packages/grafana-data/src/types/dashboard.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"] - ], - "packages/grafana-data/src/types/data.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"] - ], - "packages/grafana-data/src/types/dataFrame.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"] - ], - "packages/grafana-data/src/types/dataLink.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"] - ], - "packages/grafana-data/src/types/datasource.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"], - [0, 0, 0, "Unexpected any. Specify a different type.", "7"], - [0, 0, 0, "Unexpected any. Specify a different type.", "8"], - [0, 0, 0, "Unexpected any. Specify a different type.", "9"], - [0, 0, 0, "Unexpected any. Specify a different type.", "10"], - [0, 0, 0, "Unexpected any. Specify a different type.", "11"], - [0, 0, 0, "Unexpected any. Specify a different type.", "12"], - [0, 0, 0, "Unexpected any. Specify a different type.", "13"], - [0, 0, 0, "Unexpected any. Specify a different type.", "14"], - [0, 0, 0, "Unexpected any. Specify a different type.", "15"], - [0, 0, 0, "Unexpected any. Specify a different type.", "16"], - [0, 0, 0, "Unexpected any. Specify a different type.", "17"], - [0, 0, 0, "Unexpected any. Specify a different type.", "18"], - [0, 0, 0, "Unexpected any. Specify a different type.", "19"], - [0, 0, 0, "Unexpected any. Specify a different type.", "20"], - [0, 0, 0, "Unexpected any. Specify a different type.", "21"], - [0, 0, 0, "Unexpected any. Specify a different type.", "22"], - [0, 0, 0, "Unexpected any. Specify a different type.", "23"] - ], - "packages/grafana-data/src/types/explore.ts:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"] - ], - "packages/grafana-data/src/types/fieldOverrides.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"], - [0, 0, 0, "Unexpected any. Specify a different type.", "7"], - [0, 0, 0, "Unexpected any. Specify a different type.", "8"] - ], - "packages/grafana-data/src/types/flot.ts:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"] - ], - "packages/grafana-data/src/types/graph.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"] - ], - "packages/grafana-data/src/types/legacyEvents.ts:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"], - [0, 0, 0, "Unexpected any. Specify a different type.", "1"] - ], - "packages/grafana-data/src/types/live.ts:5381": [ - [0, 0, 0, "Do not use any type assertions.", "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"], - [0, 0, 0, "Unexpected any. Specify a different type.", "7"] - ], - "packages/grafana-data/src/types/options.ts:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"], - [0, 0, 0, "Unexpected any. Specify a different type.", "1"] - ], - "packages/grafana-data/src/types/panel.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"], - [0, 0, 0, "Unexpected any. Specify a different type.", "7"], - [0, 0, 0, "Unexpected any. Specify a different type.", "8"], - [0, 0, 0, "Unexpected any. Specify a different type.", "9"], - [0, 0, 0, "Unexpected any. Specify a different type.", "10"], - [0, 0, 0, "Unexpected any. Specify a different type.", "11"], - [0, 0, 0, "Unexpected any. Specify a different type.", "12"] - ], - "packages/grafana-data/src/types/plugin.ts:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"], - [0, 0, 0, "Unexpected any. Specify a different type.", "1"] - ], - "packages/grafana-data/src/types/scopes.ts:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"] - ], - "packages/grafana-data/src/types/select.ts:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"], - [0, 0, 0, "Unexpected any. Specify a different type.", "1"] - ], - "packages/grafana-data/src/types/templateVars.ts:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"], - [0, 0, 0, "Unexpected any. Specify a different type.", "1"] - ], - "packages/grafana-data/src/types/trace.ts:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"] - ], - "packages/grafana-data/src/types/transformations.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"] - ], - "packages/grafana-data/src/types/variables.ts:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"] - ], - "packages/grafana-data/src/utils/OptionsUIBuilders.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"], - [0, 0, 0, "Unexpected any. Specify a different type.", "7"], - [0, 0, 0, "Unexpected any. Specify a different type.", "8"], - [0, 0, 0, "Unexpected any. Specify a different type.", "9"], - [0, 0, 0, "Unexpected any. Specify a different type.", "10"] - ], - "packages/grafana-data/src/utils/Registry.ts:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"] - ], - "packages/grafana-data/src/utils/arrayUtils.ts:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"], - [0, 0, 0, "Unexpected any. Specify a different type.", "1"] - ], - "packages/grafana-data/src/utils/csv.ts: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.", "2"], - [0, 0, 0, "Unexpected any. Specify a different type.", "3"], - [0, 0, 0, "Unexpected any. Specify a different type.", "4"] - ], - "packages/grafana-data/src/utils/datasource.ts:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"], - [0, 0, 0, "Do not use any type assertions.", "1"] - ], - "packages/grafana-data/src/utils/flotPairs.ts:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"] - ], - "packages/grafana-data/src/utils/location.ts:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"] - ], - "packages/grafana-data/src/utils/store.ts:5381": [ - [0, 0, 0, "Direct usage of localStorage is not allowed. import store from @grafana/data instead", "0"], - [0, 0, 0, "Direct usage of localStorage is not allowed. import store from @grafana/data instead", "1"], - [0, 0, 0, "Direct usage of localStorage is not allowed. import store from @grafana/data instead", "2"], - [0, 0, 0, "Direct usage of localStorage is not allowed. import store from @grafana/data instead", "3"], - [0, 0, 0, "Direct usage of localStorage is not allowed. import store from @grafana/data instead", "4"], - [0, 0, 0, "Direct usage of localStorage is not allowed. import store from @grafana/data instead", "5"] - ], - "packages/grafana-data/src/utils/url.ts:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"], - [0, 0, 0, "Do not use any type assertions.", "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"], - [0, 0, 0, "Unexpected any. Specify a different type.", "7"], - [0, 0, 0, "Unexpected any. Specify a different type.", "8"] - ], - "packages/grafana-data/src/utils/valueMappings.ts:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"], - [0, 0, 0, "Do not use any type assertions.", "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"] - ], - "packages/grafana-data/src/vector/CircularVector.ts:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"] - ], - "packages/grafana-data/src/vector/FunctionalVector.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"], - [0, 0, 0, "Unexpected any. Specify a different type.", "7"], - [0, 0, 0, "Unexpected any. Specify a different type.", "8"] - ], - "packages/grafana-data/test/helpers/pluginMocks.ts:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"] - ], - "packages/grafana-e2e-selectors/src/resolver.ts:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"] - ], - "packages/grafana-o11y-ds-frontend/src/createNodeGraphFrames.ts:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"] - ], - "packages/grafana-prometheus/src/components/PromExploreExtraField.tsx:5381": [ - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "0"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "1"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "2"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "3"] - ], - "packages/grafana-prometheus/src/components/PromQueryField.tsx:5381": [ - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "0"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "1"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "2"] - ], - "packages/grafana-prometheus/src/components/metrics-browser/useMetricsLabelsValues.ts:5381": [ - [0, 0, 0, "Direct usage of localStorage is not allowed. import store from @grafana/data instead", "0"], - [0, 0, 0, "Direct usage of localStorage is not allowed. import store from @grafana/data instead", "1"], - [0, 0, 0, "Direct usage of localStorage is not allowed. import store from @grafana/data instead", "2"], - [0, 0, 0, "Direct usage of localStorage is not allowed. import store from @grafana/data instead", "3"], - [0, 0, 0, "Direct usage of localStorage is not allowed. import store from @grafana/data instead", "4"], - [0, 0, 0, "Direct usage of localStorage is not allowed. import store from @grafana/data instead", "5"] - ], - "packages/grafana-prometheus/src/configuration/AlertingSettingsOverhaul.tsx:5381": [ - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "0"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "1"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "2"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "3"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "4"] - ], - "packages/grafana-prometheus/src/configuration/ExemplarSetting.tsx:5381": [ - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "0"] - ], - "packages/grafana-prometheus/src/configuration/PromSettings.tsx:5381": [ - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "0"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "1"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "2"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "3"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "4"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "6"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "7"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "8"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "9"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "10"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "11"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "12"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "13"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "14"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "15"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "16"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "17"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "18"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "19"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "20"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "21"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "22"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "23"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "24"] - ], - "packages/grafana-prometheus/src/datasource.ts:5381": [ - [0, 0, 0, "Do not use any type assertions.", "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"] - ], - "packages/grafana-prometheus/src/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"], - [0, 0, 0, "Unexpected any. Specify a different type.", "7"] - ], - "packages/grafana-prometheus/src/language_provider.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"] - ], - "packages/grafana-prometheus/src/language_utils.ts:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"] - ], - "packages/grafana-prometheus/src/querybuilder/QueryPattern.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Card components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"] - ], - "packages/grafana-prometheus/src/querybuilder/components/LabelFilterItem.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.", "2"], - [0, 0, 0, "Do not use any type assertions.", "3"] - ], - "packages/grafana-prometheus/src/querybuilder/components/LabelParamEditor.tsx:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"] - ], - "packages/grafana-prometheus/src/querybuilder/components/PromQueryCodeEditor.tsx:5381": [ - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "0"] - ], - "packages/grafana-prometheus/src/querybuilder/shared/OperationEditor.tsx:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"] - ], - "packages/grafana-prometheus/src/querybuilder/shared/OperationParamEditorRegistry.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.", "2"] - ], - "packages/grafana-prometheus/src/querybuilder/shared/types.ts:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"] - ], - "packages/grafana-prometheus/src/resource_clients.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"], - [0, 0, 0, "Unexpected any. Specify a different type.", "7"] - ], - "packages/grafana-prometheus/src/types.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"] - ], - "packages/grafana-runtime/src/analytics/types.ts:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"] - ], - "packages/grafana-runtime/src/config.ts:5381": [ - [0, 0, 0, "Direct usage of localStorage is not allowed. import store from @grafana/data instead", "0"], - [0, 0, 0, "Do not use any type assertions.", "1"], - [0, 0, 0, "Do not use any type assertions.", "2"], - [0, 0, 0, "Do not use any type assertions.", "3"], - [0, 0, 0, "Do not use any type assertions.", "4"], - [0, 0, 0, "Do not use any type assertions.", "5"] - ], - "packages/grafana-runtime/src/services/EchoSrv.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"] - ], - "packages/grafana-runtime/src/services/LocationService.tsx:5381": [ - [0, 0, 0, "Do not use any type assertions.", "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"] - ], - "packages/grafana-runtime/src/services/backendSrv.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"], - [0, 0, 0, "Unexpected any. Specify a different type.", "7"], - [0, 0, 0, "Unexpected any. Specify a different type.", "8"], - [0, 0, 0, "Unexpected any. Specify a different type.", "9"], - [0, 0, 0, "Unexpected any. Specify a different type.", "10"], - [0, 0, 0, "Unexpected any. Specify a different type.", "11"] - ], - "packages/grafana-runtime/src/services/pluginExtensions/usePluginComponent.ts:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"] - ], - "packages/grafana-runtime/src/services/pluginExtensions/usePluginComponents.ts:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"] - ], - "packages/grafana-runtime/src/services/pluginExtensions/usePluginFunctions.ts:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"] - ], - "packages/grafana-runtime/src/utils/DataSourceWithBackend.ts:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"] - ], - "packages/grafana-runtime/src/utils/queryResponse.ts:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"] - ], - "packages/grafana-runtime/src/utils/userStorage.tsx:5381": [ - [0, 0, 0, "Direct usage of localStorage is not allowed. import store from @grafana/data instead", "0"], - [0, 0, 0, "Direct usage of localStorage is not allowed. import store from @grafana/data instead", "1"], - [0, 0, 0, "Direct usage of localStorage is not allowed. import store from @grafana/data instead", "2"], - [0, 0, 0, "Direct usage of localStorage is not allowed. import store from @grafana/data instead", "3"], - [0, 0, 0, "Direct usage of localStorage is not allowed. import store from @grafana/data instead", "4"], - [0, 0, 0, "Direct usage of localStorage is not allowed. import store from @grafana/data instead", "5"], - [0, 0, 0, "Direct usage of localStorage is not allowed. import store from @grafana/data instead", "6"], - [0, 0, 0, "Direct usage of localStorage is not allowed. import store from @grafana/data instead", "7"], - [0, 0, 0, "Direct usage of localStorage is not allowed. import store from @grafana/data instead", "8"], - [0, 0, 0, "Direct usage of localStorage is not allowed. import store from @grafana/data instead", "9"], - [0, 0, 0, "Direct usage of localStorage is not allowed. import store from @grafana/data instead", "10"], - [0, 0, 0, "Direct usage of localStorage is not allowed. import store from @grafana/data instead", "11"] - ], - "packages/grafana-schema/src/veneer/common.types.ts:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"] - ], - "packages/grafana-schema/src/veneer/dashboard.types.ts: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.", "2"], - [0, 0, 0, "Do not use any type assertions.", "3"], - [0, 0, 0, "Do not use any type assertions.", "4"], - [0, 0, 0, "Unexpected any. Specify a different type.", "5"], - [0, 0, 0, "Unexpected any. Specify a different type.", "6"] - ], - "packages/grafana-sql/src/components/configuration/ConnectionLimits.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "1"] - ], - "packages/grafana-sql/src/components/configuration/MaxLifetimeField.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"] - ], - "packages/grafana-sql/src/components/configuration/MaxOpenConnectionsField.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"] - ], - "packages/grafana-sql/src/components/configuration/TLSSecretsConfig.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "1"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "2"] - ], - "packages/grafana-sql/src/components/visual-query-builder/Preview.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "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"] - ], - "packages/grafana-ui/src/components/Combobox/Combobox.story.tsx:5381": [ - [0, 0, 0, "React Hook \\"useArgs\\" is called in function \\"render\\" that is neither a React function component nor a custom React Hook function. React component names must start with an uppercase letter. React Hook names must start with the word \\"use\\".", "0"], - [0, 0, 0, "React Hook \\"useArgs\\" is called in function \\"render\\" that is neither a React function component nor a custom React Hook function. React component names must start with an uppercase letter. React Hook names must start with the word \\"use\\".", "1"], - [0, 0, 0, "React Hook \\"useArgs\\" is called in function \\"render\\" that is neither a React function component nor a custom React Hook function. React component names must start with an uppercase letter. React Hook names must start with the word \\"use\\".", "2"], - [0, 0, 0, "React Hook \\"useEffect\\" is called in function \\"render\\" that is neither a React function component nor a custom React Hook function. React component names must start with an uppercase letter. React Hook names must start with the word \\"use\\".", "3"], - [0, 0, 0, "React Hook \\"useState\\" is called in function \\"render\\" that is neither a React function component nor a custom React Hook function. React component names must start with an uppercase letter. React Hook names must start with the word \\"use\\".", "4"] - ], - "packages/grafana-ui/src/components/Combobox/MultiCombobox.story.tsx:5381": [ - [0, 0, 0, "React Hook \\"useArgs\\" is called in function \\"render\\" that is neither a React function component nor a custom React Hook function. React component names must start with an uppercase letter. React Hook names must start with the word \\"use\\".", "0"], - [0, 0, 0, "React Hook \\"useArgs\\" is called in function \\"render\\" that is neither a React function component nor a custom React Hook function. React component names must start with an uppercase letter. React Hook names must start with the word \\"use\\".", "1"], - [0, 0, 0, "React Hook \\"useArgs\\" is called in function \\"render\\" that is neither a React function component nor a custom React Hook function. React component names must start with an uppercase letter. React Hook names must start with the word \\"use\\".", "2"], - [0, 0, 0, "React Hook \\"useArgs\\" is called in function \\"render\\" that is neither a React function component nor a custom React Hook function. React component names must start with an uppercase letter. React Hook names must start with the word \\"use\\".", "3"], - [0, 0, 0, "React Hook \\"useArgs\\" is called in function \\"render\\" that is neither a React function component nor a custom React Hook function. React component names must start with an uppercase letter. React Hook names must start with the word \\"use\\".", "4"], - [0, 0, 0, "Skipping a11y tests is not allowed. Please fix the component or story instead.", "5"] - ], - "packages/grafana-ui/src/components/Combobox/MultiCombobox.tsx:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"] - ], - "packages/grafana-ui/src/components/Combobox/useOptions.ts:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"] - ], - "packages/grafana-ui/src/components/ConfirmModal/ConfirmContent.tsx:5381": [ - [0, 0, 0, "Using localeCompare() can cause performance issues when sorting large datasets. Consider using Intl.Collator for better performance when sorting arrays, or add an eslint-disable comment if sorting a small, known dataset.", "0"] - ], - "packages/grafana-ui/src/components/DataLinks/DataLinkInput.tsx:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"] - ], - "packages/grafana-ui/src/components/DataSourceSettings/AlertingSettings.tsx:5381": [ - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "0"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "1"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "2"] - ], - "packages/grafana-ui/src/components/DataSourceSettings/CustomHeadersSettings.tsx:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"], - [0, 0, 0, "Unexpected any. Specify a different type.", "1"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "2"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "3"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "4"] - ], - "packages/grafana-ui/src/components/DataSourceSettings/SecureSocksProxySettings.tsx:5381": [ - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "0"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "1"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "2"] - ], - "packages/grafana-ui/src/components/DataSourceSettings/TLSAuthSettings.tsx:5381": [ - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "0"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "1"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "2"] - ], - "packages/grafana-ui/src/components/DataSourceSettings/types.ts:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"], - [0, 0, 0, "Unexpected any. Specify a different type.", "1"] - ], - "packages/grafana-ui/src/components/ElementSelectionContext/ElementSelectionContext.tsx:5381": [ - [0, 0, 0, "React Hook \\"useCallback\\" is called conditionally. React Hooks must be called in the exact same order in every component render. Did you accidentally call a React Hook after an early return?", "0"], - [0, 0, 0, "React Hook \\"useCallback\\" is called conditionally. React Hooks must be called in the exact same order in every component render. Did you accidentally call a React Hook after an early return?", "1"], - [0, 0, 0, "React Hook \\"useContext\\" is called conditionally. React Hooks must be called in the exact same order in every component render.", "2"] - ], - "packages/grafana-ui/src/components/FileDropzone/FileDropzone.story.tsx:5381": [ - [0, 0, 0, "Skipping a11y tests is not allowed. Please fix the component or story instead.", "0"] - ], - "packages/grafana-ui/src/components/FormField/FormField.tsx:5381": [ - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "0"] - ], - "packages/grafana-ui/src/components/FormLabel/FormLabel.tsx:5381": [ - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "0"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "1"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "2"] - ], - "packages/grafana-ui/src/components/Forms/Checkbox.story.tsx:5381": [ - [0, 0, 0, "Skipping a11y tests is not allowed. Please fix the component or story instead.", "0"] - ], - "packages/grafana-ui/src/components/Forms/Form.story.tsx:5381": [ - [0, 0, 0, "React Hook \\"useId\\" is called in function \\"renderForm\\" that is neither a React function component nor a custom React Hook function. React component names must start with an uppercase letter. React Hook names must start with the word \\"use\\".", "0"], - [0, 0, 0, "React Hook \\"useId\\" is called in function \\"renderForm\\" that is neither a React function component nor a custom React Hook function. React component names must start with an uppercase letter. React Hook names must start with the word \\"use\\".", "1"], - [0, 0, 0, "React Hook \\"useId\\" is called in function \\"renderForm\\" that is neither a React function component nor a custom React Hook function. React component names must start with an uppercase letter. React Hook names must start with the word \\"use\\".", "2"], - [0, 0, 0, "React Hook \\"useId\\" is called in function \\"renderForm\\" that is neither a React function component nor a custom React Hook function. React component names must start with an uppercase letter. React Hook names must start with the word \\"use\\".", "3"], - [0, 0, 0, "React Hook \\"useId\\" is called in function \\"renderForm\\" that is neither a React function component nor a custom React Hook function. React component names must start with an uppercase letter. React Hook names must start with the word \\"use\\".", "4"], - [0, 0, 0, "React Hook \\"useId\\" is called in function \\"renderForm\\" that is neither a React function component nor a custom React Hook function. React component names must start with an uppercase letter. React Hook names must start with the word \\"use\\".", "5"], - [0, 0, 0, "React Hook \\"useId\\" is called in function \\"renderForm\\" that is neither a React function component nor a custom React Hook function. React component names must start with an uppercase letter. React Hook names must start with the word \\"use\\".", "6"], - [0, 0, 0, "React Hook \\"useId\\" is called in function \\"renderForm\\" that is neither a React function component nor a custom React Hook function. React component names must start with an uppercase letter. React Hook names must start with the word \\"use\\".", "7"], - [0, 0, 0, "React Hook \\"useId\\" is called in function \\"renderForm\\" that is neither a React function component nor a custom React Hook function. React component names must start with an uppercase letter. React Hook names must start with the word \\"use\\".", "8"] - ], - "packages/grafana-ui/src/components/Forms/InlineField.story.tsx:5381": [ - [0, 0, 0, "React Hook \\"useId\\" is called in function \\"basic: StoryFn\\" that is neither a React function component nor a custom React Hook function. React component names must start with an uppercase letter. React Hook names must start with the word \\"use\\".", "0"], - [0, 0, 0, "React Hook \\"useId\\" is called in function \\"error: StoryFn\\" that is neither a React function component nor a custom React Hook function. React component names must start with an uppercase letter. React Hook names must start with the word \\"use\\".", "1"], - [0, 0, 0, "React Hook \\"useId\\" is called in function \\"grow: StoryFn\\" that is neither a React function component nor a custom React Hook function. React component names must start with an uppercase letter. React Hook names must start with the word \\"use\\".", "2"], - [0, 0, 0, "React Hook \\"useId\\" is called in function \\"multiple: StoryFn\\" that is neither a React function component nor a custom React Hook function. React component names must start with an uppercase letter. React Hook names must start with the word \\"use\\".", "3"], - [0, 0, 0, "React Hook \\"useId\\" is called in function \\"multiple: StoryFn\\" that is neither a React function component nor a custom React Hook function. React component names must start with an uppercase letter. React Hook names must start with the word \\"use\\".", "4"], - [0, 0, 0, "React Hook \\"useId\\" is called in function \\"multiple: StoryFn\\" that is neither a React function component nor a custom React Hook function. React component names must start with an uppercase letter. React Hook names must start with the word \\"use\\".", "5"], - [0, 0, 0, "React Hook \\"useId\\" is called in function \\"withCombobox: StoryFn\\" that is neither a React function component nor a custom React Hook function. React component names must start with an uppercase letter. React Hook names must start with the word \\"use\\".", "6"], - [0, 0, 0, "React Hook \\"useId\\" is called in function \\"withTooltip: StoryFn\\" that is neither a React function component nor a custom React Hook function. React component names must start with an uppercase letter. React Hook names must start with the word \\"use\\".", "7"], - [0, 0, 0, "React Hook \\"useState\\" is called in function \\"withCombobox: StoryFn\\" that is neither a React function component nor a custom React Hook function. React component names must start with an uppercase letter. React Hook names must start with the word \\"use\\".", "8"] - ], - "packages/grafana-ui/src/components/Forms/Legacy/Input/Input.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, "Unexpected any. Specify a different type.", "2"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "3"] - ], - "packages/grafana-ui/src/components/Forms/Legacy/Select/NoOptionsMessage.tsx:5381": [ - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "0"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "1"] - ], - "packages/grafana-ui/src/components/Forms/Legacy/Select/Select.tsx:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "1"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "2"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "3"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "4"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "6"] - ], - "packages/grafana-ui/src/components/Forms/Legacy/Select/SelectOption.tsx:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"], - [0, 0, 0, "Unexpected any. Specify a different type.", "1"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "2"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "3"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "4"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5"] - ], - "packages/grafana-ui/src/components/Forms/Legacy/Select/SelectOptionGroup.tsx: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"] - ], - "packages/grafana-ui/src/components/Forms/Legacy/Switch/Switch.tsx:5381": [ - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "0"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "1"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "2"] - ], - "packages/grafana-ui/src/components/Icon/Icon.story.tsx:5381": [ - [0, 0, 0, "Using localeCompare() can cause performance issues when sorting large datasets. Consider using Intl.Collator for better performance when sorting arrays, or add an eslint-disable comment if sorting a small, known dataset.", "0"] - ], - "packages/grafana-ui/src/components/InteractiveTable/InteractiveTable.story.tsx:5381": [ - [0, 0, 0, "Skipping a11y tests is not allowed. Please fix the component or story instead.", "0"], - [0, 0, 0, "Using localeCompare() can cause performance issues when sorting large datasets. Consider using Intl.Collator for better performance when sorting arrays, or add an eslint-disable comment if sorting a small, known dataset.", "1"], - [0, 0, 0, "Using localeCompare() can cause performance issues when sorting large datasets. Consider using Intl.Collator for better performance when sorting arrays, or add an eslint-disable comment if sorting a small, known dataset.", "2"] - ], - "packages/grafana-ui/src/components/JSONFormatter/json_explorer/json_explorer.ts:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"], - [0, 0, 0, "Unexpected any. Specify a different type.", "1"] - ], - "packages/grafana-ui/src/components/Layout/Stack/Stack.story.tsx:5381": [ - [0, 0, 0, "Skipping a11y tests is not allowed. Please fix the component or story instead.", "0"] - ], - "packages/grafana-ui/src/components/MatchersUI/FieldValueMatcher.tsx:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"] - ], - "packages/grafana-ui/src/components/MatchersUI/fieldMatchersUI.ts:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"] - ], - "packages/grafana-ui/src/components/Menu/Menu.story.tsx:5381": [ - [0, 0, 0, "Skipping a11y tests is not allowed. Please fix the component or story instead.", "0"] - ], - "packages/grafana-ui/src/components/Modal/Modal.story.tsx:5381": [ - [0, 0, 0, "Skipping a11y tests is not allowed. Please fix the component or story instead.", "0"] - ], - "packages/grafana-ui/src/components/Modal/ModalsContext.tsx: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"] - ], - "packages/grafana-ui/src/components/PageLayout/PageToolbar.story.tsx:5381": [ - [0, 0, 0, "Skipping a11y tests is not allowed. Please fix the component or story instead.", "0"] - ], - "packages/grafana-ui/src/components/PanelChrome/PanelChrome.story.tsx:5381": [ - [0, 0, 0, "Skipping a11y tests is not allowed. Please fix the component or story instead.", "0"] - ], - "packages/grafana-ui/src/components/PanelChrome/PanelContext.ts:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"], - [0, 0, 0, "Unexpected any. Specify a different type.", "1"] - ], - "packages/grafana-ui/src/components/PanelChrome/index.ts:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"] - ], - "packages/grafana-ui/src/components/QueryField/QueryField.story.tsx:5381": [ - [0, 0, 0, "Skipping a11y tests is not allowed. Please fix the component or story instead.", "0"] - ], - "packages/grafana-ui/src/components/SecretFormField/SecretFormField.tsx:5381": [ - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "0"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "1"] - ], - "packages/grafana-ui/src/components/Segment/Segment.story.tsx:5381": [ - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "0"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "1"] - ], - "packages/grafana-ui/src/components/Segment/SegmentAsync.story.tsx:5381": [ - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "0"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "1"] - ], - "packages/grafana-ui/src/components/Segment/SegmentInput.story.tsx:5381": [ - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "0"] - ], - "packages/grafana-ui/src/components/Segment/SegmentInput.tsx:5381": [ - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "0"] - ], - "packages/grafana-ui/src/components/Segment/SegmentSelect.tsx:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"] - ], - "packages/grafana-ui/src/components/Select/SelectBase.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, "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"] - ], - "packages/grafana-ui/src/components/Select/resetSelectStyles.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"] - ], - "packages/grafana-ui/src/components/Select/types.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"] - ], - "packages/grafana-ui/src/components/SingleStatShared/SingleStatBaseOptions.ts: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.", "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"], - [0, 0, 0, "Unexpected any. Specify a different type.", "7"], - [0, 0, 0, "Unexpected any. Specify a different type.", "8"], - [0, 0, 0, "Unexpected any. Specify a different type.", "9"], - [0, 0, 0, "Unexpected any. Specify a different type.", "10"], - [0, 0, 0, "Unexpected any. Specify a different type.", "11"], - [0, 0, 0, "Unexpected any. Specify a different type.", "12"], - [0, 0, 0, "Unexpected any. Specify a different type.", "13"], - [0, 0, 0, "Unexpected any. Specify a different type.", "14"], - [0, 0, 0, "Unexpected any. Specify a different type.", "15"] - ], - "packages/grafana-ui/src/components/Slider/RangeSlider.story.tsx:5381": [ - [0, 0, 0, "Skipping a11y tests is not allowed. Please fix the component or story instead.", "0"] - ], - "packages/grafana-ui/src/components/Slider/Slider.story.tsx:5381": [ - [0, 0, 0, "Skipping a11y tests is not allowed. Please fix the component or story instead.", "0"] - ], - "packages/grafana-ui/src/components/Table/Cells/TableCell.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.", "2"], - [0, 0, 0, "Unexpected any. Specify a different type.", "3"] - ], - "packages/grafana-ui/src/components/Table/Table.story.tsx:5381": [ - [0, 0, 0, "Skipping a11y tests is not allowed. Please fix the component or story instead.", "0"] - ], - "packages/grafana-ui/src/components/Table/TableCellInspector.tsx:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"] - ], - "packages/grafana-ui/src/components/Table/TableNG/Filter/Filter.tsx:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"] - ], - "packages/grafana-ui/src/components/Table/TableNG/Filter/FilterPopup.tsx: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"] - ], - "packages/grafana-ui/src/components/Table/TableNG/Filter/utils.ts:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"] - ], - "packages/grafana-ui/src/components/Table/TableNG/TableNG.test.tsx:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"], - [0, 0, 0, "Unexpected any. Specify a different type.", "1"] - ], - "packages/grafana-ui/src/components/Table/TableNG/utils.ts:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"] - ], - "packages/grafana-ui/src/components/Table/TableRT/Filter.tsx:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"] - ], - "packages/grafana-ui/src/components/Table/TableRT/FilterPopup.tsx:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"] - ], - "packages/grafana-ui/src/components/Table/TableRT/FooterRow.tsx:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"], - [0, 0, 0, "Unexpected any. Specify a different type.", "1"] - ], - "packages/grafana-ui/src/components/Table/TableRT/HeaderRow.tsx:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"] - ], - "packages/grafana-ui/src/components/Table/TableRT/Table.tsx:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"], - [0, 0, 0, "Unexpected any. Specify a different type.", "1"], - [0, 0, 0, "Unexpected any. Specify a different type.", "2"] - ], - "packages/grafana-ui/src/components/Table/reducer.ts:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"], - [0, 0, 0, "Unexpected any. Specify a different type.", "1"] - ], - "packages/grafana-ui/src/components/Table/types.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"] - ], - "packages/grafana-ui/src/components/Table/utils.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, "Using localeCompare() can cause performance issues when sorting large datasets. Consider using Intl.Collator for better performance when sorting arrays, or add an eslint-disable comment if sorting a small, known dataset.", "6"] - ], - "packages/grafana-ui/src/components/Tags/Tag.tsx:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"] - ], - "packages/grafana-ui/src/components/ValuePicker/ValuePicker.tsx:5381": [ - [0, 0, 0, "Use data-testid for E2E selectors instead of aria-label", "0"] - ], - "packages/grafana-ui/src/components/VizLegend/VizLegend.story.tsx:5381": [ - [0, 0, 0, "Skipping a11y tests is not allowed. Please fix the component or story instead.", "0"] - ], - "packages/grafana-ui/src/components/VizLegend/types.ts:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"], - [0, 0, 0, "Unexpected any. Specify a different type.", "1"] - ], - "packages/grafana-ui/src/components/VizRepeater/VizRepeater.tsx:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"], - [0, 0, 0, "Do not use any type assertions.", "1"] - ], - "packages/grafana-ui/src/components/VizTooltip/VizTooltip.tsx:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"], - [0, 0, 0, "Unexpected any. Specify a different type.", "1"] - ], - "packages/grafana-ui/src/components/uPlot/Plot.tsx:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"], - [0, 0, 0, "Do not use any type assertions.", "1"] - ], - "packages/grafana-ui/src/components/uPlot/config/UPlotAxisBuilder.ts:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"], - [0, 0, 0, "Unexpected any. Specify a different type.", "1"], - [0, 0, 0, "Unexpected any. Specify a different type.", "2"] - ], - "packages/grafana-ui/src/components/uPlot/config/UPlotConfigBuilder.ts:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"], - [0, 0, 0, "Do not use any type assertions.", "1"] - ], - "packages/grafana-ui/src/components/uPlot/types.ts:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"] - ], - "packages/grafana-ui/src/components/uPlot/utils.ts:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"], - [0, 0, 0, "Unexpected any. Specify a different type.", "1"] - ], - "packages/grafana-ui/src/options/builder/hideSeries.tsx:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"] - ], - "packages/grafana-ui/src/slate-plugins/braces.ts:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"] - ], - "packages/grafana-ui/src/slate-plugins/slate-prism/index.ts:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"], - [0, 0, 0, "Do not use any type assertions.", "1"] - ], - "packages/grafana-ui/src/slate-plugins/slate-prism/options.tsx:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"], - [0, 0, 0, "Unexpected any. Specify a different type.", "1"] - ], - "packages/grafana-ui/src/slate-plugins/suggestions.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, "Unexpected any. Specify a different type.", "2"] - ], - "packages/grafana-ui/src/themes/GlobalStyles/forms.ts:5381": [ - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "0"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "1"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "2"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "3"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "4"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "6"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "7"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "8"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "9"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "10"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "11"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "12"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "13"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "14"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "15"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "16"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "17"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "18"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "19"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "20"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "21"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "22"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "23"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "24"] - ], - "packages/grafana-ui/src/themes/GlobalStyles/legacySelect.ts:5381": [ - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "0"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "1"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "2"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "3"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "4"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "6"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "7"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "8"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "9"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "10"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "11"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "12"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "13"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "14"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "15"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "16"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "17"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "18"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "19"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "20"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "21"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "22"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "23"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "24"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "25"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "26"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "27"] - ], - "packages/grafana-ui/src/themes/ThemeContext.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.", "2"] - ], - "packages/grafana-ui/src/themes/stylesFactory.ts:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"] - ], - "packages/grafana-ui/src/types/forms.ts:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"] - ], - "packages/grafana-ui/src/types/jquery.d.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"] - ], - "packages/grafana-ui/src/types/react-table-config.d.ts:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"], - [0, 0, 0, "Unexpected any. Specify a different type.", "1"] - ], - "packages/grafana-ui/src/utils/debug.ts:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"] - ], - "packages/grafana-ui/src/utils/dom.ts:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"] - ], - "packages/grafana-ui/src/utils/logger.ts:5381": [ - [0, 0, 0, "Direct usage of localStorage is not allowed. import store from @grafana/data instead", "0"] - ], - "packages/grafana-ui/src/utils/useAsyncDependency.ts:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"] - ], - "public/app/core/TableModel.ts:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"], - [0, 0, 0, "Unexpected any. Specify a different type.", "1"] - ], - "public/app/core/actions/index.ts:5381": [ - [0, 0, 0, "Do not re-export imported variable (\`hideAppNotification\`)", "0"], - [0, 0, 0, "Do not re-export imported variable (\`notifyApp\`)", "1"], - [0, 0, 0, "Do not re-export imported variable (\`updateConfigurationSubtitle\`)", "2"], - [0, 0, 0, "Do not re-export imported variable (\`updateNavIndex\`)", "3"] - ], - "public/app/core/components/AccessControl/PermissionList.tsx:5381": [ - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "0"] - ], - "public/app/core/components/AccessControl/index.ts:5381": [ - [0, 0, 0, "Do not use export all (\`export * from ...\`)", "0"] - ], - "public/app/core/components/AppChrome/History/HistoryWrapper.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Card components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"], - [0, 0, 0, "Add noMargin prop to Card components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "1"] - ], - "public/app/core/components/AppNotifications/StoredNotificationItem.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Card components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"] - ], - "public/app/core/components/DynamicImports/SafeDynamicImport.tsx:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"] - ], - "public/app/core/components/ForgottenPassword/ChangePassword.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "1"] - ], - "public/app/core/components/ForgottenPassword/ForgottenPassword.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"] - ], - "public/app/core/components/GraphNG/GraphNG.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.", "2"], - [0, 0, 0, "Do not use any type assertions.", "3"], - [0, 0, 0, "Unexpected any. Specify a different type.", "4"], - [0, 0, 0, "Unexpected any. Specify a different type.", "5"] - ], - "public/app/core/components/Login/LoginForm.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "1"] - ], - "public/app/core/components/Login/PasswordlessConfirmationForm.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "1"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "2"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "3"] - ], - "public/app/core/components/Login/PasswordlessLoginForm.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"] - ], - "public/app/core/components/NavLandingPage/NavLandingPageCard.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Card components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"] - ], - "public/app/core/components/OptionsUI/NumberInput.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"] - ], - "public/app/core/components/OptionsUI/fieldColor.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"] - ], - "public/app/core/components/Page/EditableTitle.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"] - ], - "public/app/core/components/PanelTypeFilter/PanelTypeFilter.tsx:5381": [ - [0, 0, 0, "Using localeCompare() can cause performance issues when sorting large datasets. Consider using Intl.Collator for better performance when sorting arrays, or add an eslint-disable comment if sorting a small, known dataset.", "0"] - ], - "public/app/core/components/RolePicker/RolePickerMenu.tsx:5381": [ - [0, 0, 0, "Using localeCompare() can cause performance issues when sorting large datasets. Consider using Intl.Collator for better performance when sorting arrays, or add an eslint-disable comment if sorting a small, known dataset.", "0"], - [0, 0, 0, "Using localeCompare() can cause performance issues when sorting large datasets. Consider using Intl.Collator for better performance when sorting arrays, or add an eslint-disable comment if sorting a small, known dataset.", "1"], - [0, 0, 0, "Using localeCompare() can cause performance issues when sorting large datasets. Consider using Intl.Collator for better performance when sorting arrays, or add an eslint-disable comment if sorting a small, known dataset.", "2"], - [0, 0, 0, "Using localeCompare() can cause performance issues when sorting large datasets. Consider using Intl.Collator for better performance when sorting arrays, or add an eslint-disable comment if sorting a small, known dataset.", "3"] - ], - "public/app/core/components/RolePickerDrawer/RolePickerDrawer.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"] - ], - "public/app/core/components/SharedPreferences/SharedPreferences.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "1"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "2"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "3"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "4"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "5"], - [0, 0, 0, "Using localeCompare() can cause performance issues when sorting large datasets. Consider using Intl.Collator for better performance when sorting arrays, or add an eslint-disable comment if sorting a small, known dataset.", "6"], - [0, 0, 0, "Using localeCompare() can cause performance issues when sorting large datasets. Consider using Intl.Collator for better performance when sorting arrays, or add an eslint-disable comment if sorting a small, known dataset.", "7"] - ], - "public/app/core/components/Signup/SignupPage.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "1"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "2"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "3"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "4"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "5"] - ], - "public/app/core/components/Signup/VerifyEmail.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"] - ], - "public/app/core/components/TagFilter/TagFilter.tsx:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"] - ], - "public/app/core/components/TimeSeries/utils.ts:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"], - [0, 0, 0, "Unexpected any. Specify a different type.", "1"], - [0, 0, 0, "Unexpected any. Specify a different type.", "2"] - ], - "public/app/core/config.ts:5381": [ - [0, 0, 0, "Do not re-export imported variable (\`Settings\`)", "0"], - [0, 0, 0, "Do not re-export imported variable (\`config\`)", "1"] - ], - "public/app/core/core.ts:5381": [ - [0, 0, 0, "Do not re-export imported variable (\`JsonExplorer\`)", "0"], - [0, 0, 0, "Do not re-export imported variable (\`TimeSeries\`)", "1"], - [0, 0, 0, "Do not re-export imported variable (\`appEvents\`)", "2"], - [0, 0, 0, "Do not re-export imported variable (\`colors\`)", "3"], - [0, 0, 0, "Do not re-export imported variable (\`contextSrv\`)", "4"], - [0, 0, 0, "Do not re-export imported variable (\`profiler\`)", "5"], - [0, 0, 0, "Do not re-export imported variable (\`updateLegendValues\`)", "6"] - ], - "public/app/core/navigation/types.ts:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"] - ], - "public/app/core/reducers/appNotification.ts:5381": [ - [0, 0, 0, "Direct usage of localStorage is not allowed. import store from @grafana/data instead", "0"], - [0, 0, 0, "Direct usage of localStorage is not allowed. import store from @grafana/data instead", "1"], - [0, 0, 0, "Direct usage of localStorage is not allowed. import store from @grafana/data instead", "2"] - ], - "public/app/core/reducers/navBarTree.ts:5381": [ - [0, 0, 0, "Using localeCompare() can cause performance issues when sorting large datasets. Consider using Intl.Collator for better performance when sorting arrays, or add an eslint-disable comment if sorting a small, known dataset.", "0"], - [0, 0, 0, "Using localeCompare() can cause performance issues when sorting large datasets. Consider using Intl.Collator for better performance when sorting arrays, or add an eslint-disable comment if sorting a small, known dataset.", "1"] - ], - "public/app/core/services/ResponseQueue.ts:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"] - ], - "public/app/core/services/backend_srv.ts:5381": [ - [0, 0, 0, "Do not use any type assertions.", "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"] - ], - "public/app/core/services/context_srv.ts:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"], - [0, 0, 0, "Unexpected any. Specify a different type.", "1"] - ], - "public/app/core/services/echo/backends/analytics/RudderstackBackend.ts:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"], - [0, 0, 0, "Do not use any type assertions.", "1"], - [0, 0, 0, "Unexpected any. Specify a different type.", "2"], - [0, 0, 0, "Unexpected any. Specify a different type.", "3"] - ], - "public/app/core/specs/backend_srv.test.ts:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"] - ], - "public/app/core/store.ts:5381": [ - [0, 0, 0, "Do not re-export imported variable (\`store\`)", "0"] - ], - "public/app/core/time_series2.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"], - [0, 0, 0, "Unexpected any. Specify a different type.", "7"], - [0, 0, 0, "Unexpected any. Specify a different type.", "8"], - [0, 0, 0, "Unexpected any. Specify a different type.", "9"], - [0, 0, 0, "Unexpected any. Specify a different type.", "10"], - [0, 0, 0, "Unexpected any. Specify a different type.", "11"], - [0, 0, 0, "Unexpected any. Specify a different type.", "12"], - [0, 0, 0, "Unexpected any. Specify a different type.", "13"], - [0, 0, 0, "Unexpected any. Specify a different type.", "14"], - [0, 0, 0, "Unexpected any. Specify a different type.", "15"], - [0, 0, 0, "Unexpected any. Specify a different type.", "16"], - [0, 0, 0, "Unexpected any. Specify a different type.", "17"], - [0, 0, 0, "Unexpected any. Specify a different type.", "18"] - ], - "public/app/core/utils/connectWithReduxStore.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, "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"], - [0, 0, 0, "Unexpected any. Specify a different type.", "7"], - [0, 0, 0, "Unexpected any. Specify a different type.", "8"], - [0, 0, 0, "Unexpected any. Specify a different type.", "9"] - ], - "public/app/core/utils/deferred.ts:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"] - ], - "public/app/core/utils/fetch.ts: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.", "2"], - [0, 0, 0, "Do not use any type assertions.", "3"], - [0, 0, 0, "Do not use any type assertions.", "4"] - ], - "public/app/core/utils/object.ts: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.", "2"], - [0, 0, 0, "Do not use any type assertions.", "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/core/utils/richHistory.test.ts:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"] - ], - "public/app/core/utils/richHistory.ts:5381": [ - [0, 0, 0, "Do not re-export imported variable (\`RichHistorySearchFilters\`)", "0"], - [0, 0, 0, "Do not re-export imported variable (\`RichHistorySettings\`)", "1"], - [0, 0, 0, "Do not re-export imported variable (\`SortOrder\`)", "2"] - ], - "public/app/core/utils/ticks.ts:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"], - [0, 0, 0, "Do not use any type assertions.", "1"] - ], - "public/app/features/actions/ActionEditor.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "1"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "2"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "3"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "4"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "5"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "6"] - ], - "public/app/features/actions/ActionVariablesEditor.tsx:5381": [ - [0, 0, 0, "Using localeCompare() can cause performance issues when sorting large datasets. Consider using Intl.Collator for better performance when sorting arrays, or add an eslint-disable comment if sorting a small, known dataset.", "0"] - ], - "public/app/features/actions/ParamsEditor.tsx:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"], - [0, 0, 0, "Using localeCompare() can cause performance issues when sorting large datasets. Consider using Intl.Collator for better performance when sorting arrays, or add an eslint-disable comment if sorting a small, known dataset.", "1"] - ], - "public/app/features/admin/AdminEditOrgPage.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"] - ], - "public/app/features/admin/AdminFeatureTogglesTable.tsx:5381": [ - [0, 0, 0, "Using localeCompare() can cause performance issues when sorting large datasets. Consider using Intl.Collator for better performance when sorting arrays, or add an eslint-disable comment if sorting a small, known dataset.", "0"], - [0, 0, 0, "Using localeCompare() can cause performance issues when sorting large datasets. Consider using Intl.Collator for better performance when sorting arrays, or add an eslint-disable comment if sorting a small, known dataset.", "1"], - [0, 0, 0, "Using localeCompare() can cause performance issues when sorting large datasets. Consider using Intl.Collator for better performance when sorting arrays, or add an eslint-disable comment if sorting a small, known dataset.", "2"] - ], - "public/app/features/admin/ServerStatsCard.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Card components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"] - ], - "public/app/features/admin/UserCreatePage.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "1"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "2"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "3"] - ], - "public/app/features/admin/UserLdapSyncInfo.tsx:5381": [ - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "0"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "1"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "2"] - ], - "public/app/features/admin/UserOrgs.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "1"] - ], - "public/app/features/admin/ldap/LdapDrawer.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "1"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "2"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "3"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "4"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "5"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "6"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "7"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "8"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "9"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "10"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "11"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "12"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "13"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "14"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "15"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "16"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "17"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "18"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "19"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "20"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "21"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "22"] - ], - "public/app/features/admin/ldap/LdapGroupMapping.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "1"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "2"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "3"] - ], - "public/app/features/admin/ldap/LdapPage.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"] - ], - "public/app/features/admin/ldap/LdapSettingsPage.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "1"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "2"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "3"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "4"] - ], - "public/app/features/alerting/routes.tsx:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"] - ], - "public/app/features/alerting/state/ThresholdMapper.ts:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"] - ], - "public/app/features/alerting/state/alertDef.ts:5381": [ - [0, 0, 0, "Do not use any type assertions.", "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"] - ], - "public/app/features/alerting/state/query_part.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"], - [0, 0, 0, "Unexpected any. Specify a different type.", "7"], - [0, 0, 0, "Unexpected any. Specify a different type.", "8"], - [0, 0, 0, "Unexpected any. Specify a different type.", "9"] - ], - "public/app/features/alerting/state/reducers.ts:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"], - [0, 0, 0, "Unexpected any. Specify a different type.", "1"] - ], - "public/app/features/alerting/unified/AlertsFolderView.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Card components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"] - ], - "public/app/features/alerting/unified/RedirectToRuleViewer.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Card components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"] - ], - "public/app/features/alerting/unified/components/AlertLabelDropdown.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"] - ], - "public/app/features/alerting/unified/components/AnnotationDetailsField.tsx:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"] - ], - "public/app/features/alerting/unified/components/Authorize.tsx:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"], - [0, 0, 0, "Do not use any type assertions.", "1"] - ], - "public/app/features/alerting/unified/components/alert-groups/AlertGroupFilter.tsx:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"] - ], - "public/app/features/alerting/unified/components/alert-groups/AlertGroupHeader.tsx:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"], - [0, 0, 0, "Do not use any type assertions.", "1"] - ], - "public/app/features/alerting/unified/components/alert-groups/GroupBy.tsx:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"] - ], - "public/app/features/alerting/unified/components/alert-groups/MatcherFilter.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"] - ], - "public/app/features/alerting/unified/components/contact-points/components/ContactPointsFilter.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"] - ], - "public/app/features/alerting/unified/components/contact-points/utils.ts:5381": [ - [0, 0, 0, "Using localeCompare() can cause performance issues when sorting large datasets. Consider using Intl.Collator for better performance when sorting arrays, or add an eslint-disable comment if sorting a small, known dataset.", "0"] - ], - "public/app/features/alerting/unified/components/create-folder/CreateNewFolder.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"] - ], - "public/app/features/alerting/unified/components/import-to-gma/NamespaceAndGroupFilter.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "1"] - ], - "public/app/features/alerting/unified/components/mute-timings/MuteTimingForm.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"] - ], - "public/app/features/alerting/unified/components/mute-timings/MuteTimingTimeInterval.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "1"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "2"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "3"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "4"] - ], - "public/app/features/alerting/unified/components/mute-timings/MuteTimingTimeRange.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"] - ], - "public/app/features/alerting/unified/components/notification-policies/EditDefaultPolicyForm.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "1"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "2"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "3"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "4"] - ], - "public/app/features/alerting/unified/components/notification-policies/EditNotificationPolicyForm.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "1"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "2"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "3"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "4"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "5"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "6"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "7"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "8"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "9"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "10"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "11"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "12"] - ], - "public/app/features/alerting/unified/components/notification-policies/Filters.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "1"] - ], - "public/app/features/alerting/unified/components/receivers/TemplatePreview.tsx:5381": [ - [0, 0, 0, "React Hook \\"useStyles2\\" is called in function \\"getPreviewResults\\" that is neither a React function component nor a custom React Hook function. React component names must start with an uppercase letter. React Hook names must start with the word \\"use\\".", "0"] - ], - "public/app/features/alerting/unified/components/receivers/form/ChannelOptions.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"], - [0, 0, 0, "Do not use any type assertions.", "1"], - [0, 0, 0, "Unexpected any. Specify a different type.", "2"], - [0, 0, 0, "Unexpected any. Specify a different type.", "3"] - ], - "public/app/features/alerting/unified/components/receivers/form/ChannelSubForm.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"] - ], - "public/app/features/alerting/unified/components/receivers/form/CloudCommonChannelSettings.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"] - ], - "public/app/features/alerting/unified/components/receivers/form/GenerateAlertDataModal.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Card components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"] - ], - "public/app/features/alerting/unified/components/receivers/form/GrafanaCommonChannelSettings.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"] - ], - "public/app/features/alerting/unified/components/receivers/form/ReceiverForm.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"], - [0, 0, 0, "Do not use any type assertions.", "1"], - [0, 0, 0, "Do not use any type assertions.", "2"], - [0, 0, 0, "Unexpected any. Specify a different type.", "3"] - ], - "public/app/features/alerting/unified/components/receivers/form/fields/OptionField.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"], - [0, 0, 0, "Do not use any type assertions.", "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"] - ], - "public/app/features/alerting/unified/components/receivers/form/fields/SubformArrayField.tsx:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"], - [0, 0, 0, "Unexpected any. Specify a different type.", "1"] - ], - "public/app/features/alerting/unified/components/receivers/form/fields/SubformField.tsx:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"], - [0, 0, 0, "Unexpected any. Specify a different type.", "1"] - ], - "public/app/features/alerting/unified/components/rule-editor/AlertRuleNameInput.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "1"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "2"] - ], - "public/app/features/alerting/unified/components/rule-editor/AnnotationKeyInput.tsx:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"] - ], - "public/app/features/alerting/unified/components/rule-editor/CloudEvaluationBehavior.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "1"] - ], - "public/app/features/alerting/unified/components/rule-editor/DashboardPicker.tsx:5381": [ - [0, 0, 0, "Using localeCompare() can cause performance issues when sorting large datasets. Consider using Intl.Collator for better performance when sorting arrays, or add an eslint-disable comment if sorting a small, known dataset.", "0"] - ], - "public/app/features/alerting/unified/components/rule-editor/ExpressionEditor.tsx:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"] - ], - "public/app/features/alerting/unified/components/rule-editor/FolderSelector.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"] - ], - "public/app/features/alerting/unified/components/rule-editor/GrafanaEvaluationBehavior.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "1"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "2"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "3"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "4"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "5"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "6"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "7"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "8"], - [0, 0, 0, "Using localeCompare() can cause performance issues when sorting large datasets. Consider using Intl.Collator for better performance when sorting arrays, or add an eslint-disable comment if sorting a small, known dataset.", "9"] - ], - "public/app/features/alerting/unified/components/rule-editor/GroupAndNamespaceFields.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "1"] - ], - "public/app/features/alerting/unified/components/rule-editor/PreviewRule.tsx:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"] - ], - "public/app/features/alerting/unified/components/rule-editor/QueryRows.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Card components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"], - [0, 0, 0, "Do not use any type assertions.", "1"] - ], - "public/app/features/alerting/unified/components/rule-editor/RuleInspector.tsx:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"] - ], - "public/app/features/alerting/unified/components/rule-editor/alert-rule-form/AlertRuleForm.tsx:5381": [ - [0, 0, 0, "Direct usage of localStorage is not allowed. import store from @grafana/data instead", "0"], - [0, 0, 0, "Direct usage of localStorage is not allowed. import store from @grafana/data instead", "1"], - [0, 0, 0, "Direct usage of localStorage is not allowed. import store from @grafana/data instead", "2"], - [0, 0, 0, "Direct usage of localStorage is not allowed. import store from @grafana/data instead", "3"], - [0, 0, 0, "Direct usage of localStorage is not allowed. import store from @grafana/data instead", "4"], - [0, 0, 0, "Direct usage of localStorage is not allowed. import store from @grafana/data instead", "5"], - [0, 0, 0, "Direct usage of localStorage is not allowed. import store from @grafana/data instead", "6"], - [0, 0, 0, "Direct usage of localStorage is not allowed. import store from @grafana/data instead", "7"] - ], - "public/app/features/alerting/unified/components/rule-editor/alert-rule-form/simplifiedRouting/contactPoint/ContactPointSelector.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"] - ], - "public/app/features/alerting/unified/components/rule-editor/alert-rule-form/simplifiedRouting/route-settings/ActiveTimingFields.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"] - ], - "public/app/features/alerting/unified/components/rule-editor/alert-rule-form/simplifiedRouting/route-settings/MuteTimingFields.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"] - ], - "public/app/features/alerting/unified/components/rule-editor/alert-rule-form/simplifiedRouting/route-settings/RouteSettings.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"] - ], - "public/app/features/alerting/unified/components/rule-editor/alert-rule-form/simplifiedRouting/route-settings/RouteTimings.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "1"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "2"] - ], - "public/app/features/alerting/unified/components/rule-editor/labels/LabelsField.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "1"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "2"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "3"] - ], - "public/app/features/alerting/unified/components/rule-editor/query-and-alert-condition/CloudDataSourceSelector.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"] - ], - "public/app/features/alerting/unified/components/rule-editor/query-and-alert-condition/QueryAndExpressionsStep.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "1"] - ], - "public/app/features/alerting/unified/components/rule-editor/rule-types/RuleType.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Card components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"] - ], - "public/app/features/alerting/unified/components/rule-viewer/RuleViewer.tsx:5381": [ - [0, 0, 0, "React Hook \\"useStyles2\\" is called in function \\"createMetadata\\" that is neither a React function component nor a custom React Hook function. React component names must start with an uppercase letter. React Hook names must start with the word \\"use\\".", "0"] - ], - "public/app/features/alerting/unified/components/rules/Filter/RulesFilter.v1.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "1"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "2"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "3"] - ], - "public/app/features/alerting/unified/components/rules/RuleListGroupView.tsx:5381": [ - [0, 0, 0, "Using localeCompare() can cause performance issues when sorting large datasets. Consider using Intl.Collator for better performance when sorting arrays, or add an eslint-disable comment if sorting a small, known dataset.", "0"], - [0, 0, 0, "Using localeCompare() can cause performance issues when sorting large datasets. Consider using Intl.Collator for better performance when sorting arrays, or add an eslint-disable comment if sorting a small, known dataset.", "1"] - ], - "public/app/features/alerting/unified/components/rules/RuleListStateView.tsx:5381": [ - [0, 0, 0, "Using localeCompare() can cause performance issues when sorting large datasets. Consider using Intl.Collator for better performance when sorting arrays, or add an eslint-disable comment if sorting a small, known dataset.", "0"] - ], - "public/app/features/alerting/unified/components/rules/state-history/LokiStateHistory.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"] - ], - "public/app/features/alerting/unified/components/rules/state-history/StateHistory.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"] - ], - "public/app/features/alerting/unified/components/settings/AlertmanagerCard.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Card components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"] - ], - "public/app/features/alerting/unified/components/silences/MatchersField.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "1"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "2"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "3"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "4"] - ], - "public/app/features/alerting/unified/components/silences/SilencePeriod.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"] - ], - "public/app/features/alerting/unified/components/silences/SilencesEditor.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "1"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "2"], - [0, 0, 0, "Do not use any type assertions.", "3"] - ], - "public/app/features/alerting/unified/components/silences/SilencesFilter.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"], - [0, 0, 0, "Do not use any type assertions.", "1"] - ], - "public/app/features/alerting/unified/group-details/GroupEditPage.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "1"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "2"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "3"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "4"] - ], - "public/app/features/alerting/unified/hooks/useAlertmanagerConfig.ts:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"] - ], - "public/app/features/alerting/unified/hooks/useCombinedRuleNamespaces.ts:5381": [ - [0, 0, 0, "Using localeCompare() can cause performance issues when sorting large datasets. Consider using Intl.Collator for better performance when sorting arrays, or add an eslint-disable comment if sorting a small, known dataset.", "0"] - ], - "public/app/features/alerting/unified/hooks/useControlledFieldArray.ts:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"] - ], - "public/app/features/alerting/unified/hooks/useFilteredRules.ts:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"] - ], - "public/app/features/alerting/unified/insights/InsightsMenuButton.tsx:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"] - ], - "public/app/features/alerting/unified/mocks.ts:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"] - ], - "public/app/features/alerting/unified/rule-editor/formDefaults.ts:5381": [ - [0, 0, 0, "Direct usage of localStorage is not allowed. import store from @grafana/data instead", "0"], - [0, 0, 0, "Direct usage of localStorage is not allowed. import store from @grafana/data instead", "1"], - [0, 0, 0, "Direct usage of localStorage is not allowed. import store from @grafana/data instead", "2"], - [0, 0, 0, "Direct usage of localStorage is not allowed. import store from @grafana/data instead", "3"], - [0, 0, 0, "Direct usage of localStorage is not allowed. import store from @grafana/data instead", "4"], - [0, 0, 0, "Direct usage of localStorage is not allowed. import store from @grafana/data instead", "5"] - ], - "public/app/features/alerting/unified/rule-list/FilterViewStatus.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Card components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"] - ], - "public/app/features/alerting/unified/rule-list/StateView.tsx:5381": [ - [0, 0, 0, "Using localeCompare() can cause performance issues when sorting large datasets. Consider using Intl.Collator for better performance when sorting arrays, or add an eslint-disable comment if sorting a small, known dataset.", "0"] - ], - "public/app/features/alerting/unified/types/alerting.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"] - ], - "public/app/features/alerting/unified/types/receiver-form.ts:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"] - ], - "public/app/features/alerting/unified/utils/datasource.ts:5381": [ - [0, 0, 0, "Using localeCompare() can cause performance issues when sorting large datasets. Consider using Intl.Collator for better performance when sorting arrays, or add an eslint-disable comment if sorting a small, known dataset.", "0"], - [0, 0, 0, "Using localeCompare() can cause performance issues when sorting large datasets. Consider using Intl.Collator for better performance when sorting arrays, or add an eslint-disable comment if sorting a small, known dataset.", "1"] - ], - "public/app/features/alerting/unified/utils/misc.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"] - ], - "public/app/features/alerting/unified/utils/receiver-form.ts: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.", "2"], - [0, 0, 0, "Unexpected any. Specify a different type.", "3"] - ], - "public/app/features/alerting/unified/utils/redux.ts: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.", "2"], - [0, 0, 0, "Do not use any type assertions.", "3"], - [0, 0, 0, "Do not use any type assertions.", "4"], - [0, 0, 0, "Do not use any type assertions.", "5"], - [0, 0, 0, "Unexpected any. Specify a different type.", "6"], - [0, 0, 0, "Unexpected any. Specify a different type.", "7"] - ], - "public/app/features/alerting/unified/utils/rule-id.ts:5381": [ - [0, 0, 0, "Using localeCompare() can cause performance issues when sorting large datasets. Consider using Intl.Collator for better performance when sorting arrays, or add an eslint-disable comment if sorting a small, known dataset.", "0"] - ], - "public/app/features/alerting/unified/utils/rules.ts: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.", "2"], - [0, 0, 0, "Unexpected any. Specify a different type.", "3"] - ], - "public/app/features/annotations/events_processing.ts:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"] - ], - "public/app/features/annotations/standardAnnotationSupport.ts:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"], - [0, 0, 0, "Unexpected any. Specify a different type.", "1"], - [0, 0, 0, "Unexpected any. Specify a different type.", "2"] - ], - "public/app/features/auth-config/FieldRenderer.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "1"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "2"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "3"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "4"] - ], - "public/app/features/auth-config/ProviderConfigForm.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"] - ], - "public/app/features/auth-config/components/ServerDiscoveryModal.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"] - ], - "public/app/features/auth-config/index.ts:5381": [ - [0, 0, 0, "Do not use export all (\`export * from ...\`)", "0"] - ], - "public/app/features/auth-config/utils/data.ts:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"] - ], - "public/app/features/browse-dashboards/components/BrowseActions/MoveModal.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"] - ], - "public/app/features/browse-dashboards/components/NewFolderForm.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"] - ], - "public/app/features/commandPalette/actions/recentScopesActions.ts:5381": [ - [0, 0, 0, "React Hook \\"useScopesServices\\" is called in function \\"getRecentScopesActions\\" that is neither a React function component nor a custom React Hook function. React component names must start with an uppercase letter. React Hook names must start with the word \\"use\\".", "0"] - ], - "public/app/features/commandPalette/actions/scopeActions.tsx:5381": [ - [0, 0, 0, "React Hook \\"useGlobalScopesSearch\\" is called conditionally. React Hooks must be called in the exact same order in every component render.", "0"], - [0, 0, 0, "React Hook \\"useRegisterActions\\" is called conditionally. React Hooks must be called in the exact same order in every component render. Did you accidentally call a React Hook after an early return?", "1"], - [0, 0, 0, "React Hook \\"useScopeTreeActions\\" is called conditionally. React Hooks must be called in the exact same order in every component render.", "2"], - [0, 0, 0, "React Hook \\"useScopesRow\\" is called conditionally. React Hooks must be called in the exact same order in every component render. Did you accidentally call a React Hook after an early return?", "3"] - ], - "public/app/features/commandPalette/actions/scopesUtils.ts:5381": [ - [0, 0, 0, "React Hook \\"useObservable\\" is called conditionally. React Hooks must be called in the exact same order in every component render.", "0"] - ], - "public/app/features/connections/components/ConnectionsRedirectNotice/index.ts:5381": [ - [0, 0, 0, "Do not use export all (\`export * from ...\`)", "0"] - ], - "public/app/features/connections/tabs/ConnectData/CardGrid/CardGrid.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Card components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"] - ], - "public/app/features/connections/tabs/ConnectData/CardGrid/index.tsx:5381": [ - [0, 0, 0, "Do not use export all (\`export * from ...\`)", "0"] - ], - "public/app/features/connections/tabs/ConnectData/CategoryHeader/index.tsx:5381": [ - [0, 0, 0, "Do not use export all (\`export * from ...\`)", "0"] - ], - "public/app/features/connections/tabs/ConnectData/ConnectData.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "1"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "2"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "3"], - [0, 0, 0, "Do not use any type assertions.", "4"] - ], - "public/app/features/connections/tabs/ConnectData/NoAccessModal/index.tsx:5381": [ - [0, 0, 0, "Do not use export all (\`export * from ...\`)", "0"] - ], - "public/app/features/connections/tabs/ConnectData/Search/index.tsx:5381": [ - [0, 0, 0, "Do not use export all (\`export * from ...\`)", "0"] - ], - "public/app/features/connections/tabs/ConnectData/index.tsx:5381": [ - [0, 0, 0, "Do not use export all (\`export * from ...\`)", "0"] - ], - "public/app/features/correlations/CorrelationsPage.tsx:5381": [ - [0, 0, 0, "Using localeCompare() can cause performance issues when sorting large datasets. Consider using Intl.Collator for better performance when sorting arrays, or add an eslint-disable comment if sorting a small, known dataset.", "0"] - ], - "public/app/features/correlations/Forms/ConfigureCorrelationBasicInfoForm.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "1"] - ], - "public/app/features/correlations/Forms/ConfigureCorrelationSourceForm.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Card components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "1"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "2"] - ], - "public/app/features/correlations/Forms/ConfigureCorrelationTargetForm.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "1"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "2"], - [0, 0, 0, "Do not use any type assertions.", "3"], - [0, 0, 0, "Do not use any type assertions.", "4"] - ], - "public/app/features/correlations/Forms/QueryEditorField.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"] - ], - "public/app/features/correlations/Forms/TransformationEditorRow.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "1"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "2"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "3"] - ], - "public/app/features/correlations/components/EmptyCorrelationsCTA.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Card components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"] - ], - "public/app/features/correlations/types.ts:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"], - [0, 0, 0, "Unexpected any. Specify a different type.", "1"] - ], - "public/app/features/dashboard-scene/addToDashboard/AddToDashboardForm.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "1"] - ], - "public/app/features/dashboard-scene/conditional-rendering/ConditionalRenderingGroupCondition.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"] - ], - "public/app/features/dashboard-scene/conditional-rendering/ConditionalRenderingGroupVisibility.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"] - ], - "public/app/features/dashboard-scene/conditional-rendering/ConditionalRenderingTimeRangeSize.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"] - ], - "public/app/features/dashboard-scene/edit-pane/DashboardEditPaneRenderer.tsx:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"] - ], - "public/app/features/dashboard-scene/edit-pane/DashboardEditPaneSplitter.tsx:5381": [ - [0, 0, 0, "React Hook \\"useEffect\\" is called conditionally. React Hooks must be called in the exact same order in every component render.", "0"], - [0, 0, 0, "React Hook \\"useEffect\\" is called conditionally. React Hooks must be called in the exact same order in every component render.", "1"], - [0, 0, 0, "React Hook \\"useSceneObjectState\\" is called conditionally. React Hooks must be called in the exact same order in every component render.", "2"], - [0, 0, 0, "React Hook \\"useSnappingSplitter\\" is called conditionally. React Hooks must be called in the exact same order in every component render.", "3"] - ], - "public/app/features/dashboard-scene/edit-pane/DashboardEditableElement.tsx:5381": [ - [0, 0, 0, "React Hook \\"useId\\" cannot be called in a class component. React Hooks must be called in a React function component or a custom React Hook function.", "0"], - [0, 0, 0, "React Hook \\"useId\\" cannot be called in a class component. React Hooks must be called in a React function component or a custom React Hook function.", "1"], - [0, 0, 0, "React Hook \\"useLayoutCategory\\" cannot be called in a class component. React Hooks must be called in a React function component or a custom React Hook function.", "2"], - [0, 0, 0, "React Hook \\"useMemo\\" cannot be called in a class component. React Hooks must be called in a React function component or a custom React Hook function.", "3"] - ], - "public/app/features/dashboard-scene/edit-pane/DashboardOutline.tsx:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"] - ], - "public/app/features/dashboard-scene/edit-pane/VizPanelEditableElement.tsx:5381": [ - [0, 0, 0, "React Hook \\"useId\\" cannot be called in a class component. React Hooks must be called in a React function component or a custom React Hook function.", "0"], - [0, 0, 0, "React Hook \\"useId\\" cannot be called in a class component. React Hooks must be called in a React function component or a custom React Hook function.", "1"], - [0, 0, 0, "React Hook \\"useId\\" cannot be called in a class component. React Hooks must be called in a React function component or a custom React Hook function.", "2"], - [0, 0, 0, "React Hook \\"useId\\" cannot be called in a class component. React Hooks must be called in a React function component or a custom React Hook function.", "3"], - [0, 0, 0, "React Hook \\"useMemo\\" cannot be called in a class component. React Hooks must be called in a React function component or a custom React Hook function.", "4"], - [0, 0, 0, "React Hook \\"useMemo\\" cannot be called in a class component. React Hooks must be called in a React function component or a custom React Hook function.", "5"] - ], - "public/app/features/dashboard-scene/inspect/HelpWizard/HelpWizard.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "1"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "2"] - ], - "public/app/features/dashboard-scene/inspect/HelpWizard/utils.ts:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"] - ], - "public/app/features/dashboard-scene/inspect/InspectJsonTab.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"] - ], - "public/app/features/dashboard-scene/pages/DashboardScenePage.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, "Unexpected any. Specify a different type.", "2"] - ], - "public/app/features/dashboard-scene/pages/DashboardScenePageStateManager.ts:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"] - ], - "public/app/features/dashboard-scene/panel-edit/PanelDataPane/PanelDataPane.tsx:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"] - ], - "public/app/features/dashboard-scene/panel-edit/PanelOptionsPane.test.tsx:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"] - ], - "public/app/features/dashboard-scene/panel-edit/PanelVizTypePicker.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"] - ], - "public/app/features/dashboard-scene/saving/SaveDashboardAsForm.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "1"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "2"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "3"] - ], - "public/app/features/dashboard-scene/saving/SaveDashboardForm.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"] - ], - "public/app/features/dashboard-scene/saving/getDashboardChanges.ts: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.", "2"], - [0, 0, 0, "Do not use any type assertions.", "3"], - [0, 0, 0, "Do not use any type assertions.", "4"], - [0, 0, 0, "Do not use any type assertions.", "5"], - [0, 0, 0, "Do not use any type assertions.", "6"], - [0, 0, 0, "Do not use any type assertions.", "7"], - [0, 0, 0, "Unexpected any. Specify a different type.", "8"] - ], - "public/app/features/dashboard-scene/scene/PanelMenuBehavior.tsx:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"] - ], - "public/app/features/dashboard-scene/scene/PanelSearchLayout.tsx:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"] - ], - "public/app/features/dashboard-scene/scene/export/exporters.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"] - ], - "public/app/features/dashboard-scene/scene/export/exporters.ts: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.", "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"], - [0, 0, 0, "Unexpected any. Specify a different type.", "7"], - [0, 0, 0, "Unexpected any. Specify a different type.", "8"], - [0, 0, 0, "Unexpected any. Specify a different type.", "9"], - [0, 0, 0, "Unexpected any. Specify a different type.", "10"] - ], - "public/app/features/dashboard-scene/scene/layout-auto-grid/AutoGridItemEditor.tsx:5381": [ - [0, 0, 0, "React Hook \\"useConditionalRenderingEditor\\" is called in function \\"getOptions\\" that is neither a React function component nor a custom React Hook function. React component names must start with an uppercase letter. React Hook names must start with the word \\"use\\".", "0"] - ], - "public/app/features/dashboard-scene/scene/layout-auto-grid/AutoGridLayoutManagerEditor.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "1"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "2"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "3"] - ], - "public/app/features/dashboard-scene/scene/layout-default/DashboardGridItemEditor.tsx:5381": [ - [0, 0, 0, "React Hook \\"useConditionalRenderingEditor\\" is called in function \\"getDashboardGridItemOptions\\" that is neither a React function component nor a custom React Hook function. React component names must start with an uppercase letter. React Hook names must start with the word \\"use\\".", "0"] - ], - "public/app/features/dashboard-scene/scene/layout-default/SceneGridRowEditableElement.tsx:5381": [ - [0, 0, 0, "React Hook \\"useMemo\\" cannot be called in a class component. React Hooks must be called in a React function component or a custom React Hook function.", "0"], - [0, 0, 0, "React Hook \\"useMemo\\" cannot be called in a class component. React Hooks must be called in a React function component or a custom React Hook function.", "1"] - ], - "public/app/features/dashboard-scene/scene/layout-default/row-actions/RowOptionsForm.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "1"] - ], - "public/app/features/dashboard-scene/scene/layout-rows/RowItem.tsx:5381": [ - [0, 0, 0, "React Hook \\"useEditOptions\\" cannot be called in a class component. React Hooks must be called in a React function component or a custom React Hook function.", "0"] - ], - "public/app/features/dashboard-scene/scene/layout-rows/RowItemEditor.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"], - [0, 0, 0, "React Hook \\"useConditionalRenderingEditor\\" cannot be called inside a callback. React Hooks must be called in a React function component or a custom React Hook function.", "1"] - ], - "public/app/features/dashboard-scene/scene/layout-tabs/TabItem.tsx:5381": [ - [0, 0, 0, "React Hook \\"useEditOptions\\" cannot be called in a class component. React Hooks must be called in a React function component or a custom React Hook function.", "0"] - ], - "public/app/features/dashboard-scene/scene/layout-tabs/TabItemEditor.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"], - [0, 0, 0, "React Hook \\"useConditionalRenderingEditor\\" cannot be called inside a callback. React Hooks must be called in a React function component or a custom React Hook function.", "1"] - ], - "public/app/features/dashboard-scene/serialization/angularMigration.test.ts:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"] - ], - "public/app/features/dashboard-scene/serialization/buildNewDashboardSaveModel.ts:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"] - ], - "public/app/features/dashboard-scene/serialization/transformSceneToSaveModel.test.ts:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"] - ], - "public/app/features/dashboard-scene/serialization/transformSceneToSaveModel.ts: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.", "2"], - [0, 0, 0, "Do not use any type assertions.", "3"], - [0, 0, 0, "Do not use any type assertions.", "4"], - [0, 0, 0, "Do not use any type assertions.", "5"], - [0, 0, 0, "Do not use any type assertions.", "6"], - [0, 0, 0, "Do not use any type assertions.", "7"], - [0, 0, 0, "Unexpected any. Specify a different type.", "8"] - ], - "public/app/features/dashboard-scene/serialization/transformToV1TypesUtils.ts:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"] - ], - "public/app/features/dashboard-scene/settings/annotations/AnnotationSettingsEdit.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "1"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "2"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "3"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "4"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "5"], - [0, 0, 0, "Using localeCompare() can cause performance issues when sorting large datasets. Consider using Intl.Collator for better performance when sorting arrays, or add an eslint-disable comment if sorting a small, known dataset.", "6"] - ], - "public/app/features/dashboard-scene/settings/links/DashboardLinkForm.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "1"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "2"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "3"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "4"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "5"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "6"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "7"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "8"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "9"] - ], - "public/app/features/dashboard-scene/settings/variables/LocalVariableEditableElement.tsx:5381": [ - [0, 0, 0, "React Hook \\"useId\\" cannot be called in a class component. React Hooks must be called in a React function component or a custom React Hook function.", "0"], - [0, 0, 0, "React Hook \\"useId\\" cannot be called in a class component. React Hooks must be called in a React function component or a custom React Hook function.", "1"], - [0, 0, 0, "React Hook \\"useMemo\\" cannot be called in a class component. React Hooks must be called in a React function component or a custom React Hook function.", "2"] - ], - "public/app/features/dashboard-scene/settings/variables/VariableEditableElement.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"], - [0, 0, 0, "React Hook \\"useId\\" cannot be called in a class component. React Hooks must be called in a React function component or a custom React Hook function.", "1"], - [0, 0, 0, "React Hook \\"useId\\" cannot be called in a class component. React Hooks must be called in a React function component or a custom React Hook function.", "2"], - [0, 0, 0, "React Hook \\"useId\\" cannot be called in a class component. React Hooks must be called in a React function component or a custom React Hook function.", "3"], - [0, 0, 0, "React Hook \\"useId\\" cannot be called in a class component. React Hooks must be called in a React function component or a custom React Hook function.", "4"], - [0, 0, 0, "React Hook \\"useId\\" cannot be called in a class component. React Hooks must be called in a React function component or a custom React Hook function.", "5"], - [0, 0, 0, "React Hook \\"useLocalVariableOptions\\" cannot be called in a class component. React Hooks must be called in a React function component or a custom React Hook function.", "6"], - [0, 0, 0, "React Hook \\"useMemo\\" cannot be called in a class component. React Hooks must be called in a React function component or a custom React Hook function.", "7"], - [0, 0, 0, "React Hook \\"useVariableSelectionOptionsCategory\\" cannot be called in a class component. React Hooks must be called in a React function component or a custom React Hook function.", "8"], - [0, 0, 0, "React Hook \\"useVariableTypeCategory\\" cannot be called in a class component. React Hooks must be called in a React function component or a custom React Hook function.", "9"] - ], - "public/app/features/dashboard-scene/settings/variables/VariableSetEditableElement.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Card components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"], - [0, 0, 0, "React Hook \\"useId\\" cannot be called in a class component. React Hooks must be called in a React function component or a custom React Hook function.", "1"], - [0, 0, 0, "React Hook \\"useMemo\\" cannot be called in a class component. React Hooks must be called in a React function component or a custom React Hook function.", "2"] - ], - "public/app/features/dashboard-scene/settings/variables/components/AdHocVariableForm.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"] - ], - "public/app/features/dashboard-scene/settings/variables/components/GroupByVariableForm.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"] - ], - "public/app/features/dashboard-scene/settings/variables/components/QueryVariableForm.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"] - ], - "public/app/features/dashboard-scene/settings/variables/components/VariableHideSelect.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"] - ], - "public/app/features/dashboard-scene/settings/variables/components/VariableSelectField.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"], - [0, 0, 0, "Unexpected any. Specify a different type.", "1"] - ], - "public/app/features/dashboard-scene/settings/variables/components/VariableTextAreaField.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"] - ], - "public/app/features/dashboard-scene/settings/variables/components/VariableTextField.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"] - ], - "public/app/features/dashboard-scene/settings/variables/editors/QueryVariableEditor.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"] - ], - "public/app/features/dashboard-scene/settings/variables/utils.ts:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"], - [0, 0, 0, "Unexpected any. Specify a different type.", "1"] - ], - "public/app/features/dashboard-scene/sharing/ShareButton/share-externally/EmailShare/ConfigEmailSharing/ConfigEmailSharing.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"] - ], - "public/app/features/dashboard-scene/sharing/ShareButton/share-externally/EmailShare/ConfigEmailSharing/EmailListConfiguration.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"] - ], - "public/app/features/dashboard-scene/sharing/ShareButton/share-snapshot/UpsertSnapshot.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "1"] - ], - "public/app/features/dashboard-scene/sharing/ShareExportTab.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"] - ], - "public/app/features/dashboard-scene/sharing/ShareLinkTab.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "1"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "2"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "3"] - ], - "public/app/features/dashboard-scene/sharing/ShareSnapshotTab.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "1"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "2"] - ], - "public/app/features/dashboard-scene/sharing/panel-share/SharePanelPreview.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "1"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "2"] - ], - "public/app/features/dashboard-scene/utils/DashboardModelCompatibilityWrapper.ts:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"] - ], - "public/app/features/dashboard-scene/utils/PanelModelCompatibilityWrapper.ts:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"] - ], - "public/app/features/dashboard-scene/v2schema/ImportDashboardFormV2.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "1"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "2"], - [0, 0, 0, "Do not use any type assertions.", "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/features/dashboard-scene/v2schema/ImportDashboardOverviewV2.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.", "2"], - [0, 0, 0, "Do not use any type assertions.", "3"], - [0, 0, 0, "Do not use any type assertions.", "4"], - [0, 0, 0, "Do not use any type assertions.", "5"], - [0, 0, 0, "Do not use any type assertions.", "6"], - [0, 0, 0, "Do not use any type assertions.", "7"], - [0, 0, 0, "Do not use any type assertions.", "8"], - [0, 0, 0, "Do not use any type assertions.", "9"], - [0, 0, 0, "Unexpected any. Specify a different type.", "10"] - ], - "public/app/features/dashboard-scene/v2schema/test-helpers.ts: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.", "2"] - ], - "public/app/features/dashboard/api/ResponseTransformers.ts: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.", "2"], - [0, 0, 0, "Do not use any type assertions.", "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/features/dashboard/components/AddLibraryPanelWidget/index.ts:5381": [ - [0, 0, 0, "Do not re-export imported variable (\`./AddLibraryPanelWidget\`)", "0"] - ], - "public/app/features/dashboard/components/AnnotationSettings/AnnotationSettingsEdit.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "1"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "2"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "3"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "4"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "5"], - [0, 0, 0, "Using localeCompare() can cause performance issues when sorting large datasets. Consider using Intl.Collator for better performance when sorting arrays, or add an eslint-disable comment if sorting a small, known dataset.", "6"] - ], - "public/app/features/dashboard/components/DashExportModal/DashboardExporter.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"] - ], - "public/app/features/dashboard/components/DashExportModal/DashboardExporter.ts: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.", "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"], - [0, 0, 0, "Unexpected any. Specify a different type.", "7"], - [0, 0, 0, "Unexpected any. Specify a different type.", "8"], - [0, 0, 0, "Unexpected any. Specify a different type.", "9"] - ], - "public/app/features/dashboard/components/DashExportModal/index.ts:5381": [ - [0, 0, 0, "Do not re-export imported variable (\`./DashboardExporter\`)", "0"] - ], - "public/app/features/dashboard/components/DashNav/index.ts:5381": [ - [0, 0, 0, "Do not re-export imported variable (\`DashNav\`)", "0"] - ], - "public/app/features/dashboard/components/DashboardPrompt/DashboardPrompt.test.tsx:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"] - ], - "public/app/features/dashboard/components/DashboardPrompt/DashboardPrompt.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.", "2"], - [0, 0, 0, "Do not use any type assertions.", "3"], - [0, 0, 0, "Do not use any type assertions.", "4"], - [0, 0, 0, "Do not use any type assertions.", "5"], - [0, 0, 0, "Do not use any type assertions.", "6"], - [0, 0, 0, "Unexpected any. Specify a different type.", "7"], - [0, 0, 0, "Unexpected any. Specify a different type.", "8"] - ], - "public/app/features/dashboard/components/DashboardRow/DashboardRow.test.tsx:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"] - ], - "public/app/features/dashboard/components/DashboardRow/index.ts:5381": [ - [0, 0, 0, "Do not re-export imported variable (\`./DashboardRow\`)", "0"] - ], - "public/app/features/dashboard/components/DashboardSettings/AutoRefreshIntervals.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"] - ], - "public/app/features/dashboard/components/DashboardSettings/GeneralSettings.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "1"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "2"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "3"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "4"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "5"] - ], - "public/app/features/dashboard/components/DashboardSettings/TimePickerSettings.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "1"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "2"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "3"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "4"] - ], - "public/app/features/dashboard/components/DashboardSettings/index.ts:5381": [ - [0, 0, 0, "Do not re-export imported variable (\`./DashboardSettings\`)", "0"] - ], - "public/app/features/dashboard/components/HelpWizard/HelpWizard.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "1"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "2"] - ], - "public/app/features/dashboard/components/Inspector/PanelInspector.tsx:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"] - ], - "public/app/features/dashboard/components/PanelEditor/DynamicConfigValueEditor.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"] - ], - "public/app/features/dashboard/components/PanelEditor/OptionsPaneItemDescriptor.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"], - [0, 0, 0, "Unexpected any. Specify a different type.", "1"], - [0, 0, 0, "Use data-testid for E2E selectors instead of aria-label", "2"] - ], - "public/app/features/dashboard/components/PanelEditor/PanelEditor.tsx:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"] - ], - "public/app/features/dashboard/components/PanelEditor/VisualizationSelectPane.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"], - [0, 0, 0, "Use data-testid for E2E selectors instead of aria-label", "1"] - ], - "public/app/features/dashboard/components/PanelEditor/getVisualizationOptions.tsx:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"], - [0, 0, 0, "Unexpected any. Specify a different type.", "1"] - ], - "public/app/features/dashboard/components/PanelEditor/utils.ts:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"], - [0, 0, 0, "Do not use any type assertions.", "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"] - ], - "public/app/features/dashboard/components/RowOptions/RowOptionsForm.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "1"] - ], - "public/app/features/dashboard/components/SaveDashboard/SaveDashboardButton.tsx:5381": [ - [0, 0, 0, "Use data-testid for E2E selectors instead of aria-label", "0"], - [0, 0, 0, "Use data-testid for E2E selectors instead of aria-label", "1"] - ], - "public/app/features/dashboard/components/SaveDashboard/forms/SaveDashboardAsForm.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "1"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "2"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "3"] - ], - "public/app/features/dashboard/components/SaveDashboard/forms/SaveDashboardForm.tsx:5381": [ - [0, 0, 0, "Use data-testid for E2E selectors instead of aria-label", "0"], - [0, 0, 0, "Use data-testid for E2E selectors instead of aria-label", "1"], - [0, 0, 0, "Use data-testid for E2E selectors instead of aria-label", "2"] - ], - "public/app/features/dashboard/components/SaveDashboard/useDashboardSave.tsx:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"] - ], - "public/app/features/dashboard/components/ShareModal/ShareEmbed.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "1"] - ], - "public/app/features/dashboard/components/ShareModal/ShareExport.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"], - [0, 0, 0, "Unexpected any. Specify a different type.", "1"] - ], - "public/app/features/dashboard/components/ShareModal/ShareLink.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "1"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "2"] - ], - "public/app/features/dashboard/components/ShareModal/SharePublicDashboard/ConfigPublicDashboard/ConfigPublicDashboard.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "1"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "2"] - ], - "public/app/features/dashboard/components/ShareModal/SharePublicDashboard/ConfigPublicDashboard/EmailSharingConfiguration.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "1"] - ], - "public/app/features/dashboard/components/ShareModal/ShareSnapshot.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "1"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "2"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "3"] - ], - "public/app/features/dashboard/components/ShareModal/ThemePicker.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"] - ], - "public/app/features/dashboard/components/SubMenu/AnnotationPicker.tsx:5381": [ - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "0"] - ], - "public/app/features/dashboard/components/SubMenu/DashboardLinksDashboard.tsx:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"], - [0, 0, 0, "Unexpected any. Specify a different type.", "1"] - ], - "public/app/features/dashboard/components/SubMenu/SubMenuItems.tsx:5381": [ - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "0"] - ], - "public/app/features/dashboard/components/TransformationsEditor/TransformationFilter.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"] - ], - "public/app/features/dashboard/components/TransformationsEditor/TransformationPicker.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Card components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"] - ], - "public/app/features/dashboard/components/TransformationsEditor/TransformationsEditor.tsx:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"], - [0, 0, 0, "Do not use any type assertions.", "1"] - ], - "public/app/features/dashboard/components/VersionHistory/useDashboardRestore.tsx:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"], - [0, 0, 0, "Unexpected any. Specify a different type.", "1"] - ], - "public/app/features/dashboard/containers/DashboardPage.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, "Unexpected any. Specify a different type.", "2"], - [0, 0, 0, "Unexpected any. Specify a different type.", "3"], - [0, 0, 0, "Use data-testid for E2E selectors instead of aria-label", "4"] - ], - "public/app/features/dashboard/containers/DashboardPageProxy.tsx:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"] - ], - "public/app/features/dashboard/containers/PublicDashboardPage.tsx:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"] - ], - "public/app/features/dashboard/dashgrid/SeriesVisibilityConfigFactory.ts:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"] - ], - "public/app/features/dashboard/services/DashboardLoaderSrv.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"] - ], - "public/app/features/dashboard/state/DashboardMigrator.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"], - [0, 0, 0, "Unexpected any. Specify a different type.", "7"], - [0, 0, 0, "Unexpected any. Specify a different type.", "8"], - [0, 0, 0, "Unexpected any. Specify a different type.", "9"] - ], - "public/app/features/dashboard/state/DashboardMigrator.ts: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.", "2"], - [0, 0, 0, "Do not use any type assertions.", "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"], - [0, 0, 0, "Unexpected any. Specify a different type.", "7"], - [0, 0, 0, "Unexpected any. Specify a different type.", "8"], - [0, 0, 0, "Unexpected any. Specify a different type.", "9"], - [0, 0, 0, "Unexpected any. Specify a different type.", "10"], - [0, 0, 0, "Unexpected any. Specify a different type.", "11"], - [0, 0, 0, "Unexpected any. Specify a different type.", "12"], - [0, 0, 0, "Unexpected any. Specify a different type.", "13"], - [0, 0, 0, "Unexpected any. Specify a different type.", "14"], - [0, 0, 0, "Unexpected any. Specify a different type.", "15"], - [0, 0, 0, "Unexpected any. Specify a different type.", "16"], - [0, 0, 0, "Unexpected any. Specify a different type.", "17"], - [0, 0, 0, "Unexpected any. Specify a different type.", "18"], - [0, 0, 0, "Unexpected any. Specify a different type.", "19"], - [0, 0, 0, "Unexpected any. Specify a different type.", "20"], - [0, 0, 0, "Unexpected any. Specify a different type.", "21"], - [0, 0, 0, "Unexpected any. Specify a different type.", "22"], - [0, 0, 0, "Unexpected any. Specify a different type.", "23"], - [0, 0, 0, "Unexpected any. Specify a different type.", "24"], - [0, 0, 0, "Unexpected any. Specify a different type.", "25"], - [0, 0, 0, "Unexpected any. Specify a different type.", "26"], - [0, 0, 0, "Unexpected any. Specify a different type.", "27"] - ], - "public/app/features/dashboard/state/DashboardMigratorToBackend.test.ts:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"] - ], - "public/app/features/dashboard/state/DashboardModel.repeat.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"] - ], - "public/app/features/dashboard/state/DashboardModel.test.ts:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"] - ], - "public/app/features/dashboard/state/DashboardModel.ts:5381": [ - [0, 0, 0, "Do not use any type assertions.", "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"], - [0, 0, 0, "Unexpected any. Specify a different type.", "7"], - [0, 0, 0, "Unexpected any. Specify a different type.", "8"], - [0, 0, 0, "Unexpected any. Specify a different type.", "9"], - [0, 0, 0, "Unexpected any. Specify a different type.", "10"], - [0, 0, 0, "Unexpected any. Specify a different type.", "11"], - [0, 0, 0, "Unexpected any. Specify a different type.", "12"], - [0, 0, 0, "Unexpected any. Specify a different type.", "13"], - [0, 0, 0, "Unexpected any. Specify a different type.", "14"], - [0, 0, 0, "Unexpected any. Specify a different type.", "15"], - [0, 0, 0, "Unexpected any. Specify a different type.", "16"], - [0, 0, 0, "Unexpected any. Specify a different type.", "17"], - [0, 0, 0, "Unexpected any. Specify a different type.", "18"], - [0, 0, 0, "Unexpected any. Specify a different type.", "19"], - [0, 0, 0, "Unexpected any. Specify a different type.", "20"], - [0, 0, 0, "Unexpected any. Specify a different type.", "21"], - [0, 0, 0, "Unexpected any. Specify a different type.", "22"], - [0, 0, 0, "Unexpected any. Specify a different type.", "23"] - ], - "public/app/features/dashboard/state/PanelModel.test.ts:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"] - ], - "public/app/features/dashboard/state/PanelModel.ts: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.", "2"], - [0, 0, 0, "Do not use any type assertions.", "3"], - [0, 0, 0, "Do not use any type assertions.", "4"], - [0, 0, 0, "Unexpected any. Specify a different type.", "5"], - [0, 0, 0, "Unexpected any. Specify a different type.", "6"], - [0, 0, 0, "Unexpected any. Specify a different type.", "7"], - [0, 0, 0, "Unexpected any. Specify a different type.", "8"], - [0, 0, 0, "Unexpected any. Specify a different type.", "9"], - [0, 0, 0, "Unexpected any. Specify a different type.", "10"], - [0, 0, 0, "Unexpected any. Specify a different type.", "11"], - [0, 0, 0, "Unexpected any. Specify a different type.", "12"], - [0, 0, 0, "Unexpected any. Specify a different type.", "13"], - [0, 0, 0, "Unexpected any. Specify a different type.", "14"], - [0, 0, 0, "Unexpected any. Specify a different type.", "15"], - [0, 0, 0, "Unexpected any. Specify a different type.", "16"], - [0, 0, 0, "Unexpected any. Specify a different type.", "17"], - [0, 0, 0, "Unexpected any. Specify a different type.", "18"], - [0, 0, 0, "Unexpected any. Specify a different type.", "19"], - [0, 0, 0, "Unexpected any. Specify a different type.", "20"], - [0, 0, 0, "Unexpected any. Specify a different type.", "21"] - ], - "public/app/features/dashboard/state/TimeModel.ts:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"], - [0, 0, 0, "Unexpected any. Specify a different type.", "1"] - ], - "public/app/features/dashboard/state/actions.ts:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"] - ], - "public/app/features/dashboard/state/getPanelPluginToMigrateTo.ts:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"] - ], - "public/app/features/dashboard/state/initDashboard.test.ts:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"] - ], - "public/app/features/dashboard/utils/getPanelMenu.test.ts:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"] - ], - "public/app/features/dashboard/utils/getPanelMenu.ts:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"], - [0, 0, 0, "Unexpected any. Specify a different type.", "1"] - ], - "public/app/features/dashboard/utils/panelMerge.ts:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"], - [0, 0, 0, "Do not use any type assertions.", "1"], - [0, 0, 0, "Unexpected any. Specify a different type.", "2"], - [0, 0, 0, "Unexpected any. Specify a different type.", "3"] - ], - "public/app/features/datasources/components/BasicSettings.tsx:5381": [ - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "0"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "1"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "2"] - ], - "public/app/features/datasources/components/ButtonRow.tsx:5381": [ - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "0"] - ], - "public/app/features/datasources/components/DataSourceLoadError.tsx:5381": [ - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "0"] - ], - "public/app/features/datasources/components/DataSourcePluginState.tsx:5381": [ - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "0"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "1"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "2"] - ], - "public/app/features/datasources/components/DataSourceTestingStatus.tsx:5381": [ - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "0"] - ], - "public/app/features/datasources/components/DataSourceTypeCard.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Card components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"], - [0, 0, 0, "Use data-testid for E2E selectors instead of aria-label", "1"] - ], - "public/app/features/datasources/components/DataSourcesListCard.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Card components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"], - [0, 0, 0, "Add noMargin prop to Card components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "1"] - ], - "public/app/features/datasources/components/picker/DataSourceCard.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Card components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"] - ], - "public/app/features/datasources/state/actions.test.ts:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"], - [0, 0, 0, "Unexpected any. Specify a different type.", "1"] - ], - "public/app/features/datasources/state/actions.ts:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"], - [0, 0, 0, "Unexpected any. Specify a different type.", "1"] - ], - "public/app/features/datasources/state/navModel.ts:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"], - [0, 0, 0, "Unexpected any. Specify a different type.", "1"] - ], - "public/app/features/datasources/state/reducers.ts:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"], - [0, 0, 0, "Do not use any type assertions.", "1"] - ], - "public/app/features/datasources/state/selectors.ts:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"], - [0, 0, 0, "Do not use any type assertions.", "1"], - [0, 0, 0, "Using localeCompare() can cause performance issues when sorting large datasets. Consider using Intl.Collator for better performance when sorting arrays, or add an eslint-disable comment if sorting a small, known dataset.", "2"], - [0, 0, 0, "Using localeCompare() can cause performance issues when sorting large datasets. Consider using Intl.Collator for better performance when sorting arrays, or add an eslint-disable comment if sorting a small, known dataset.", "3"] - ], - "public/app/features/dimensions/editors/FileUploader.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"] - ], - "public/app/features/dimensions/editors/FolderPickerTab.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "1"], - [0, 0, 0, "Do not use any type assertions.", "2"] - ], - "public/app/features/dimensions/editors/ResourceDimensionEditor.tsx:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"] - ], - "public/app/features/dimensions/editors/TextDimensionEditor.tsx:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"], - [0, 0, 0, "Do not use any type assertions.", "1"] - ], - "public/app/features/dimensions/editors/ThresholdsEditor/ThresholdsEditor.tsx:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"] - ], - "public/app/features/dimensions/editors/URLPickerTab.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "1"] - ], - "public/app/features/dimensions/scale.ts:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"] - ], - "public/app/features/dimensions/types.ts:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"] - ], - "public/app/features/dimensions/utils.ts:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"] - ], - "public/app/features/explore/CorrelationHelper.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Card components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "1"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "2"] - ], - "public/app/features/explore/CorrelationTransformationAddModal.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "1"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "2"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "3"] - ], - "public/app/features/explore/Logs/LogsColumnSearch.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"] - ], - "public/app/features/explore/PrometheusListView/RawListContainer.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"] - ], - "public/app/features/explore/RichHistory/RichHistorySettingsTab.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"] - ], - "public/app/features/explore/TraceView/TraceView.tsx:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"], - [0, 0, 0, "Do not use any type assertions.", "1"] - ], - "public/app/features/explore/TraceView/components/TracePageHeader/TracePageHeader.tsx:5381": [ - [0, 0, 0, "React Hook \\"useMemo\\" is called conditionally. React Hooks must be called in the exact same order in every component render.", "0"] - ], - "public/app/features/explore/TraceView/components/TracePageHeader/index.tsx:5381": [ - [0, 0, 0, "Do not re-export imported variable (\`./TracePageHeader\`)", "0"] - ], - "public/app/features/explore/TraceView/components/TraceTimelineViewer/SpanDetail/SpanDetailLinkButtons.tsx:5381": [ - [0, 0, 0, "React Hook \\"usePluginLinks\\" is called in function \\"getSpanDetailLinkButtons\\" that is neither a React function component nor a custom React Hook function. React component names must start with an uppercase letter. React Hook names must start with the word \\"use\\".", "0"] - ], - "public/app/features/explore/TraceView/components/TraceTimelineViewer/SpanLinks.tsx:5381": [ - [0, 0, 0, "Using localeCompare() can cause performance issues when sorting large datasets. Consider using Intl.Collator for better performance when sorting arrays, or add an eslint-disable comment if sorting a small, known dataset.", "0"] - ], - "public/app/features/explore/TraceView/components/TraceTimelineViewer/TimelineHeaderRow/index.tsx:5381": [ - [0, 0, 0, "Do not re-export imported variable (\`./TimelineHeaderRow\`)", "0"] - ], - "public/app/features/explore/TraceView/components/TraceTimelineViewer/utils.tsx:5381": [ - [0, 0, 0, "Do not re-export imported variable (\`../utils/date\`)", "0"] - ], - "public/app/features/explore/TraceView/components/demo/trace-generators.ts:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"] - ], - "public/app/features/explore/TraceView/components/model/ddg/types.tsx:5381": [ - [0, 0, 0, "Do not re-export imported variable (\`./PathElem\`)", "0"] - ], - "public/app/features/explore/TraceView/components/model/link-patterns.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, "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"], - [0, 0, 0, "Unexpected any. Specify a different type.", "7"], - [0, 0, 0, "Unexpected any. Specify a different type.", "8"], - [0, 0, 0, "Unexpected any. Specify a different type.", "9"], - [0, 0, 0, "Unexpected any. Specify a different type.", "10"], - [0, 0, 0, "Unexpected any. Specify a different type.", "11"] - ], - "public/app/features/explore/TraceView/components/model/transform-trace-data.tsx:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"] - ], - "public/app/features/explore/TraceView/components/utils/DraggableManager/demo/index.tsx:5381": [ - [0, 0, 0, "Do not re-export imported variable (\`./DraggableManagerDemo\`)", "0"] - ], - "public/app/features/explore/TraceView/components/utils/sort.ts:5381": [ - [0, 0, 0, "Using localeCompare() can cause performance issues when sorting large datasets. Consider using Intl.Collator for better performance when sorting arrays, or add an eslint-disable comment if sorting a small, known dataset.", "0"] - ], - "public/app/features/explore/TraceView/createSpanLink.tsx:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"], - [0, 0, 0, "Do not use any type assertions.", "1"] - ], - "public/app/features/explore/hooks/useStateSync/index.ts:5381": [ - [0, 0, 0, "Do not re-export imported variable (\`./external.utils\`)", "0"] - ], - "public/app/features/explore/spec/helper/setup.tsx:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"] - ], - "public/app/features/explore/state/time.test.ts:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"] - ], - "public/app/features/explore/state/utils.ts: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.", "2"], - [0, 0, 0, "Do not use any type assertions.", "3"], - [0, 0, 0, "Unexpected any. Specify a different type.", "4"], - [0, 0, 0, "Unexpected any. Specify a different type.", "5"] - ], - "public/app/features/expressions/ExpressionDatasource.ts:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"], - [0, 0, 0, "Do not use any type assertions.", "1"] - ], - "public/app/features/expressions/guards.ts:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"] - ], - "public/app/features/geo/gazetteer/gazetteer.ts:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"], - [0, 0, 0, "Unexpected any. Specify a different type.", "1"] - ], - "public/app/features/geo/utils/frameVectorSource.ts:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"] - ], - "public/app/features/inspector/InspectDataOptions.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "1"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "2"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "3"], - [0, 0, 0, "Do not use any type assertions.", "4"] - ], - "public/app/features/inspector/InspectDataTab.tsx:5381": [ - [0, 0, 0, "Use data-testid for E2E selectors instead of aria-label", "0"] - ], - "public/app/features/inspector/InspectJSONTab.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"] - ], - "public/app/features/inspector/InspectStatsTab.tsx:5381": [ - [0, 0, 0, "Use data-testid for E2E selectors instead of aria-label", "0"] - ], - "public/app/features/inspector/QueryInspector.tsx:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"], - [0, 0, 0, "Use data-testid for E2E selectors instead of aria-label", "1"], - [0, 0, 0, "Use data-testid for E2E selectors instead of aria-label", "2"] - ], - "public/app/features/invites/SignupInvited.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "1"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "2"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "3"] - ], - "public/app/features/library-panels/components/AddLibraryPanelModal/AddLibraryPanelModal.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "1"] - ], - "public/app/features/live/centrifuge/LiveDataStream.ts:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"] - ], - "public/app/features/live/centrifuge/channel.ts:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"] - ], - "public/app/features/logs/logsFrame.ts:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"] - ], - "public/app/features/logs/utils.ts:5381": [ - [0, 0, 0, "Direct usage of localStorage is not allowed. import store from @grafana/data instead", "0"], - [0, 0, 0, "Direct usage of localStorage is not allowed. import store from @grafana/data instead", "1"], - [0, 0, 0, "Direct usage of localStorage is not allowed. import store from @grafana/data instead", "2"], - [0, 0, 0, "Direct usage of localStorage is not allowed. import store from @grafana/data instead", "3"], - [0, 0, 0, "Direct usage of localStorage is not allowed. import store from @grafana/data instead", "4"], - [0, 0, 0, "Direct usage of localStorage is not allowed. import store from @grafana/data instead", "5"], - [0, 0, 0, "Do not use any type assertions.", "6"] - ], - "public/app/features/manage-dashboards/DashboardImportPage.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "1"] - ], - "public/app/features/manage-dashboards/components/ImportDashboardForm.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "1"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "2"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "3"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "4"] - ], - "public/app/features/manage-dashboards/components/ImportDashboardLibraryPanelsList.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"], - [0, 0, 0, "Do not use any type assertions.", "1"] - ], - "public/app/features/manage-dashboards/components/PublicDashboardListTable/PublicDashboardListTable.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Card components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"] - ], - "public/app/features/manage-dashboards/state/actions.ts:5381": [ - [0, 0, 0, "Do not use any type assertions.", "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/features/manage-dashboards/state/reducers.ts:5381": [ - [0, 0, 0, "Do not use any type assertions.", "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"] - ], - "public/app/features/migrate-to-cloud/api/index.ts:5381": [ - [0, 0, 0, "Do not use export all (\`export * from ...\`)", "0"] - ], - "public/app/features/migrate-to-cloud/cloud/MigrationTokenPane/CreateTokenModal.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"] - ], - "public/app/features/migrate-to-cloud/onprem/ConfigureSnapshot.tsx:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"], - [0, 0, 0, "Do not use any type assertions.", "1"] - ], - "public/app/features/migrate-to-cloud/onprem/EmptyState/CallToAction/ConnectModal.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"] - ], - "public/app/features/migrate-to-cloud/onprem/resourceDependency.ts:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"], - [0, 0, 0, "Do not use any type assertions.", "1"] - ], - "public/app/features/migrate-to-cloud/onprem/useNotifyOnSuccess.tsx:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"] - ], - "public/app/features/org/NewOrgPage.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"] - ], - "public/app/features/org/OrgProfile.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"] - ], - "public/app/features/org/UserInviteForm.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "1"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "2"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "3"] - ], - "public/app/features/org/state/reducers.ts:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"] - ], - "public/app/features/panel/components/VizTypePicker/PanelTypeCard.tsx:5381": [ - [0, 0, 0, "Use data-testid for E2E selectors instead of aria-label", "0"] - ], - "public/app/features/panel/panellinks/linkSuppliers.ts:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"] - ], - "public/app/features/playlist/PlaylistCard.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Card components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"], - [0, 0, 0, "Add noMargin prop to Card components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "1"] - ], - "public/app/features/playlist/PlaylistForm.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "1"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "2"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "3"], - [0, 0, 0, "Use data-testid for E2E selectors instead of aria-label", "4"], - [0, 0, 0, "Use data-testid for E2E selectors instead of aria-label", "5"] - ], - "public/app/features/playlist/ShareModal.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "1"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "2"] - ], - "public/app/features/playlist/StartModal.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "1"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "2"] - ], - "public/app/features/plugins/admin/components/GetStartedWithPlugin/GetStartedWithDataSource.tsx:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"] - ], - "public/app/features/plugins/admin/components/GetStartedWithPlugin/index.ts:5381": [ - [0, 0, 0, "Do not re-export imported variable (\`./GetStartedWithPlugin\`)", "0"] - ], - "public/app/features/plugins/admin/components/PluginDetailsPage.tsx:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"] - ], - "public/app/features/plugins/admin/helpers.ts:5381": [ - [0, 0, 0, "Using localeCompare() can cause performance issues when sorting large datasets. Consider using Intl.Collator for better performance when sorting arrays, or add an eslint-disable comment if sorting a small, known dataset.", "0"], - [0, 0, 0, "Using localeCompare() can cause performance issues when sorting large datasets. Consider using Intl.Collator for better performance when sorting arrays, or add an eslint-disable comment if sorting a small, known dataset.", "1"] - ], - "public/app/features/plugins/admin/pages/Browse.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "1"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "2"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "3"], - [0, 0, 0, "Do not use any type assertions.", "4"], - [0, 0, 0, "Do not use any type assertions.", "5"] - ], - "public/app/features/plugins/admin/state/actions.ts:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"] - ], - "public/app/features/plugins/admin/types.ts:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"] - ], - "public/app/features/plugins/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"], - [0, 0, 0, "Unexpected any. Specify a different type.", "2"] - ], - "public/app/features/plugins/datasource_srv.ts: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.", "2"], - [0, 0, 0, "Unexpected any. Specify a different type.", "3"] - ], - "public/app/features/plugins/extensions/usePluginComponents.tsx:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"] - ], - "public/app/features/plugins/extensions/usePluginFunctions.tsx:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"] - ], - "public/app/features/plugins/sandbox/distortions.ts:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"] - ], - "public/app/features/plugins/sandbox/sandboxPluginLoader.ts: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.", "2"] - ], - "public/app/features/plugins/utils.ts: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.", "2"], - [0, 0, 0, "Do not use any type assertions.", "3"] - ], - "public/app/features/profile/ChangePasswordForm.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "1"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "2"] - ], - "public/app/features/profile/UserProfileEditForm.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "1"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "2"] - ], - "public/app/features/provisioning/Config/ConfigFormGithubCollapse.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "1"] - ], - "public/app/features/provisioning/File/FileHistoryPage.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Card components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"] - ], - "public/app/features/provisioning/File/FileStatusPage.tsx:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"], - [0, 0, 0, "Do not use any type assertions.", "1"] - ], - "public/app/features/query/components/QueryEditorRow.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.", "2"], - [0, 0, 0, "React Hook \\"usePluginComponents\\" is called conditionally. React Hooks must be called in the exact same order in every component render.", "3"], - [0, 0, 0, "Use data-testid for E2E selectors instead of aria-label", "4"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5"] - ], - "public/app/features/query/components/QueryEditorRowHeader.tsx:5381": [ - [0, 0, 0, "Use data-testid for E2E selectors instead of aria-label", "0"] - ], - "public/app/features/query/components/QueryGroup.tsx:5381": [ - [0, 0, 0, "Use data-testid for E2E selectors instead of aria-label", "0"], - [0, 0, 0, "Use data-testid for E2E selectors instead of aria-label", "1"] - ], - "public/app/features/query/state/DashboardQueryRunner/AnnotationsQueryRunner.ts:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"] - ], - "public/app/features/query/state/DashboardQueryRunner/PublicAnnotationsDataSource.ts:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"] - ], - "public/app/features/query/state/DashboardQueryRunner/testHelpers.ts:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"], - [0, 0, 0, "Unexpected any. Specify a different type.", "1"], - [0, 0, 0, "Unexpected any. Specify a different type.", "2"] - ], - "public/app/features/query/state/DashboardQueryRunner/utils.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"] - ], - "public/app/features/query/state/PanelQueryRunner.ts:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"], - [0, 0, 0, "Do not use any type assertions.", "1"] - ], - "public/app/features/query/state/runRequest.ts:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"] - ], - "public/app/features/query/state/updateQueries.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"] - ], - "public/app/features/search/page/components/columns.tsx:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"] - ], - "public/app/features/search/service/bluge.ts:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"], - [0, 0, 0, "Do not use any type assertions.", "1"] - ], - "public/app/features/search/state/SearchStateManager.ts:5381": [ - [0, 0, 0, "Direct usage of localStorage is not allowed. import store from @grafana/data instead", "0"], - [0, 0, 0, "Direct usage of localStorage is not allowed. import store from @grafana/data instead", "1"], - [0, 0, 0, "Direct usage of localStorage is not allowed. import store from @grafana/data instead", "2"], - [0, 0, 0, "Direct usage of localStorage is not allowed. import store from @grafana/data instead", "3"], - [0, 0, 0, "Direct usage of localStorage is not allowed. import store from @grafana/data instead", "4"], - [0, 0, 0, "Direct usage of localStorage is not allowed. import store from @grafana/data instead", "5"], - [0, 0, 0, "Direct usage of localStorage is not allowed. import store from @grafana/data instead", "6"], - [0, 0, 0, "Direct usage of localStorage is not allowed. import store from @grafana/data instead", "7"], - [0, 0, 0, "Direct usage of localStorage is not allowed. import store from @grafana/data instead", "8"], - [0, 0, 0, "Direct usage of localStorage is not allowed. import store from @grafana/data instead", "9"], - [0, 0, 0, "Direct usage of localStorage is not allowed. import store from @grafana/data instead", "10"], - [0, 0, 0, "Direct usage of localStorage is not allowed. import store from @grafana/data instead", "11"], - [0, 0, 0, "Direct usage of localStorage is not allowed. import store from @grafana/data instead", "12"], - [0, 0, 0, "Direct usage of localStorage is not allowed. import store from @grafana/data instead", "13"], - [0, 0, 0, "Direct usage of localStorage is not allowed. import store from @grafana/data instead", "14"], - [0, 0, 0, "Direct usage of localStorage is not allowed. import store from @grafana/data instead", "15"], - [0, 0, 0, "Do not use any type assertions.", "16"] - ], - "public/app/features/search/types.ts:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"] - ], - "public/app/features/search/utils.ts:5381": [ - [0, 0, 0, "Direct usage of localStorage is not allowed. import store from @grafana/data instead", "0"], - [0, 0, 0, "Direct usage of localStorage is not allowed. import store from @grafana/data instead", "1"], - [0, 0, 0, "Direct usage of localStorage is not allowed. import store from @grafana/data instead", "2"], - [0, 0, 0, "Do not use any type assertions.", "3"] - ], - "public/app/features/serviceaccounts/ServiceAccountCreatePage.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "1"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "2"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "3"] - ], - "public/app/features/serviceaccounts/components/CreateTokenModal.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "1"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "2"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "3"] - ], - "public/app/features/serviceaccounts/state/reducers.ts:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"] - ], - "public/app/features/support-bundles/SupportBundlesCreate.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"], - [0, 0, 0, "Using localeCompare() can cause performance issues when sorting large datasets. Consider using Intl.Collator for better performance when sorting arrays, or add an eslint-disable comment if sorting a small, known dataset.", "1"] - ], - "public/app/features/teams/TeamSettings.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "1"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "2"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "3"] - ], - "public/app/features/teams/state/reducers.ts:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"] - ], - "public/app/features/templating/fieldAccessorCache.ts:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"] - ], - "public/app/features/templating/formatVariableValue.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"] - ], - "public/app/features/templating/templateProxies.ts:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"] - ], - "public/app/features/templating/template_srv.mock.ts: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.", "2"], - [0, 0, 0, "Do not use any type assertions.", "3"] - ], - "public/app/features/templating/template_srv.ts: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.", "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"], - [0, 0, 0, "Unexpected any. Specify a different type.", "7"], - [0, 0, 0, "Unexpected any. Specify a different type.", "8"], - [0, 0, 0, "Unexpected any. Specify a different type.", "9"], - [0, 0, 0, "Unexpected any. Specify a different type.", "10"], - [0, 0, 0, "Unexpected any. Specify a different type.", "11"] - ], - "public/app/features/transformers/FilterByValueTransformer/ValueMatchers/BasicMatcherEditor.tsx:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"] - ], - "public/app/features/transformers/FilterByValueTransformer/ValueMatchers/types.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"] - ], - "public/app/features/transformers/FilterByValueTransformer/ValueMatchers/utils.ts:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"] - ], - "public/app/features/transformers/FilterByValueTransformer/ValueMatchers/valueMatchersUI.ts:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"] - ], - "public/app/features/transformers/calculateHeatmap/editor/helper.ts:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"] - ], - "public/app/features/transformers/calculateHeatmap/heatmap.ts:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"], - [0, 0, 0, "Do not use any type assertions.", "1"] - ], - "public/app/features/transformers/editors/CalculateFieldTransformerEditor/CumulativeOptionsEditor.tsx:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"] - ], - "public/app/features/transformers/editors/CalculateFieldTransformerEditor/ReduceRowOptionsEditor.tsx:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"] - ], - "public/app/features/transformers/editors/CalculateFieldTransformerEditor/WindowOptionsEditor.tsx:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"] - ], - "public/app/features/transformers/editors/ConvertFieldTypeTransformerEditor.tsx:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"] - ], - "public/app/features/transformers/editors/GroupByTransformerEditor.tsx:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"] - ], - "public/app/features/transformers/editors/GroupToNestedTableTransformerEditor.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"] - ], - "public/app/features/transformers/editors/ReduceTransformerEditor.tsx:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"] - ], - "public/app/features/transformers/editors/SortByTransformerEditor.tsx:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"] - ], - "public/app/features/transformers/extractFields/ExtractFieldsTransformerEditor.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, "Unexpected any. Specify a different type.", "2"], - [0, 0, 0, "Unexpected any. Specify a different type.", "3"] - ], - "public/app/features/transformers/extractFields/fieldExtractors.ts:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"] - ], - "public/app/features/transformers/fieldToConfigMapping/FieldToConfigMappingEditor.tsx:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"], - [0, 0, 0, "Do not use any type assertions.", "1"] - ], - "public/app/features/transformers/fieldToConfigMapping/fieldToConfigMapping.ts:5381": [ - [0, 0, 0, "Do not use any type assertions.", "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"] - ], - "public/app/features/transformers/lookupGazetteer/FieldLookupTransformerEditor.tsx:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"] - ], - "public/app/features/transformers/spatial/optionsHelper.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.", "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"] - ], - "public/app/features/transformers/suggestionsInput/SuggestionsInput.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.", "2"], - [0, 0, 0, "Do not use any type assertions.", "3"] - ], - "public/app/features/variables/adapters.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"] - ], - "public/app/features/variables/adhoc/picker/AdHocFilter.tsx:5381": [ - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "0"] - ], - "public/app/features/variables/adhoc/picker/AdHocFilterKey.tsx:5381": [ - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "0"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "1"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "2"] - ], - "public/app/features/variables/adhoc/picker/AdHocFilterRenderer.tsx:5381": [ - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "0"] - ], - "public/app/features/variables/adhoc/picker/AdHocFilterValue.tsx:5381": [ - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "0"] - ], - "public/app/features/variables/adhoc/picker/ConditionSegment.tsx:5381": [ - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "0"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "1"] - ], - "public/app/features/variables/constant/reducer.ts:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"] - ], - "public/app/features/variables/custom/reducer.ts:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"] - ], - "public/app/features/variables/editor/VariableEditorContainer.tsx:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"], - [0, 0, 0, "Do not use any type assertions.", "1"] - ], - "public/app/features/variables/editor/VariableEditorList.tsx:5381": [ - [0, 0, 0, "Use data-testid for E2E selectors instead of aria-label", "0"], - [0, 0, 0, "Use data-testid for E2E selectors instead of aria-label", "1"] - ], - "public/app/features/variables/editor/VariableEditorListRow.tsx:5381": [ - [0, 0, 0, "Use data-testid for E2E selectors instead of aria-label", "0"], - [0, 0, 0, "Use data-testid for E2E selectors instead of aria-label", "1"], - [0, 0, 0, "Use data-testid for E2E selectors instead of aria-label", "2"], - [0, 0, 0, "Use data-testid for E2E selectors instead of aria-label", "3"] - ], - "public/app/features/variables/editor/getVariableQueryEditor.tsx:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"], - [0, 0, 0, "Unexpected any. Specify a different type.", "1"] - ], - "public/app/features/variables/inspect/NetworkGraph.tsx:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"], - [0, 0, 0, "Unexpected any. Specify a different type.", "1"] - ], - "public/app/features/variables/inspect/utils.ts:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"], - [0, 0, 0, "Do not use any type assertions.", "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"] - ], - "public/app/features/variables/pickers/OptionsPicker/actions.ts:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"], - [0, 0, 0, "Unexpected any. Specify a different type.", "1"] - ], - "public/app/features/variables/pickers/PickerRenderer.tsx:5381": [ - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "0"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "1"] - ], - "public/app/features/variables/pickers/index.ts:5381": [ - [0, 0, 0, "Do not re-export imported variable (\`./OptionsPicker/OptionsPicker\`)", "0"] - ], - "public/app/features/variables/pickers/shared/VariableInput.tsx:5381": [ - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "0"] - ], - "public/app/features/variables/pickers/shared/VariableOptions.tsx:5381": [ - [0, 0, 0, "Use data-testid for E2E selectors instead of aria-label", "0"] - ], - "public/app/features/variables/query/QueryVariableEditor.tsx:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"], - [0, 0, 0, "Unexpected any. Specify a different type.", "1"] - ], - "public/app/features/variables/query/QueryVariableRefreshSelect.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"] - ], - "public/app/features/variables/query/VariableQueryRunner.ts:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"], - [0, 0, 0, "Unexpected any. Specify a different type.", "1"] - ], - "public/app/features/variables/query/actions.test.tsx:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"] - ], - "public/app/features/variables/query/actions.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"] - ], - "public/app/features/variables/query/operators.ts:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"] - ], - "public/app/features/variables/query/queryRunners.ts:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"], - [0, 0, 0, "Unexpected any. Specify a different type.", "1"] - ], - "public/app/features/variables/query/reducer.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, "Using localeCompare() can cause performance issues when sorting large datasets. Consider using Intl.Collator for better performance when sorting arrays, or add an eslint-disable comment if sorting a small, known dataset.", "2"] - ], - "public/app/features/variables/shared/formatVariable.ts:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"], - [0, 0, 0, "Do not use any type assertions.", "1"] - ], - "public/app/features/variables/shared/testing/optionsVariableBuilder.ts:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"], - [0, 0, 0, "Do not use any type assertions.", "1"] - ], - "public/app/features/variables/shared/testing/variableBuilder.ts:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"] - ], - "public/app/features/variables/state/actions.ts: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.", "2"], - [0, 0, 0, "Do not use any type assertions.", "3"], - [0, 0, 0, "Do not use any type assertions.", "4"], - [0, 0, 0, "Do not use any type assertions.", "5"], - [0, 0, 0, "Do not use any type assertions.", "6"] - ], - "public/app/features/variables/state/keyedVariablesReducer.ts:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"], - [0, 0, 0, "Unexpected any. Specify a different type.", "1"] - ], - "public/app/features/variables/state/sharedReducer.ts:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"], - [0, 0, 0, "Unexpected any. Specify a different type.", "1"], - [0, 0, 0, "Unexpected any. Specify a different type.", "2"] - ], - "public/app/features/variables/state/upgradeLegacyQueries.test.ts:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"], - [0, 0, 0, "Unexpected any. Specify a different type.", "1"] - ], - "public/app/features/variables/system/adapter.ts: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.", "2"], - [0, 0, 0, "Do not use any type assertions.", "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"], - [0, 0, 0, "Unexpected any. Specify a different type.", "7"] - ], - "public/app/features/variables/types.ts:5381": [ - [0, 0, 0, "Do not re-export imported variable (\`@grafana/data\`)", "0"], - [0, 0, 0, "Do not re-export imported variable (\`VariableModel\`)", "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/features/variables/utils.ts:5381": [ - [0, 0, 0, "Do not use any type assertions.", "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"] - ], - "public/app/plugins/datasource/alertmanager/types.ts:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"], - [0, 0, 0, "Unexpected any. Specify a different type.", "1"] - ], - "public/app/plugins/datasource/azuremonitor/components/ArgQueryEditor/index.tsx:5381": [ - [0, 0, 0, "Do not re-export imported variable (\`./ArgQueryEditor\`)", "0"] - ], - "public/app/plugins/datasource/azuremonitor/components/ConfigEditor/AppRegistrationCredentials.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "1"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "2"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "3"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "4"] - ], - "public/app/plugins/datasource/azuremonitor/components/ConfigEditor/AzureCredentialsForm.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"] - ], - "public/app/plugins/datasource/azuremonitor/components/ConfigEditor/BasicLogsToggle.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"] - ], - "public/app/plugins/datasource/azuremonitor/components/ConfigEditor/CurrentUserFallbackCredentials.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "1"] - ], - "public/app/plugins/datasource/azuremonitor/components/ConfigEditor/DefaultSubscription.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"] - ], - "public/app/plugins/datasource/azuremonitor/components/LogsQueryEditor/AzureCheatSheet.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Card components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "1"] - ], - "public/app/plugins/datasource/azuremonitor/components/LogsQueryEditor/index.tsx:5381": [ - [0, 0, 0, "Do not re-export imported variable (\`./LogsQueryEditor\`)", "0"] - ], - "public/app/plugins/datasource/azuremonitor/components/QueryEditor/QueryEditor.tsx:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"] - ], - "public/app/plugins/datasource/azuremonitor/components/QueryEditor/index.tsx:5381": [ - [0, 0, 0, "Do not re-export imported variable (\`./QueryEditor\`)", "0"] - ], - "public/app/plugins/datasource/azuremonitor/components/ResourceField/index.tsx:5381": [ - [0, 0, 0, "Do not re-export imported variable (\`./ResourceField\`)", "0"] - ], - "public/app/plugins/datasource/azuremonitor/components/ResourcePicker/index.tsx:5381": [ - [0, 0, 0, "Do not re-export imported variable (\`./ResourcePicker\`)", "0"] - ], - "public/app/plugins/datasource/azuremonitor/components/TracesQueryEditor/Filters.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"] - ], - "public/app/plugins/datasource/azuremonitor/components/TracesQueryEditor/index.tsx:5381": [ - [0, 0, 0, "Do not re-export imported variable (\`./TracesQueryEditor\`)", "0"] - ], - "public/app/plugins/datasource/azuremonitor/components/VariableEditor/VariableEditor.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "1"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "2"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "3"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "4"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "5"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "6"] - ], - "public/app/plugins/datasource/azuremonitor/types/query.ts:5381": [ - [0, 0, 0, "Do not re-export imported variable (\`../dataquery.gen\`)", "0"], - [0, 0, 0, "Do not re-export imported variable (\`../dataquery.gen\`)", "1"], - [0, 0, 0, "Do not re-export imported variable (\`AzureQueryType\`)", "2"] - ], - "public/app/plugins/datasource/azuremonitor/types/templateVariables.ts:5381": [ - [0, 0, 0, "Do not re-export imported variable (\`../dataquery.gen\`)", "0"] - ], - "public/app/plugins/datasource/azuremonitor/utils/common.ts:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"] - ], - "public/app/plugins/datasource/azuremonitor/utils/messageFromError.ts:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"] - ], - "public/app/plugins/datasource/cloud-monitoring/CloudMonitoringMetricFindQuery.ts:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"], - [0, 0, 0, "Unexpected any. Specify a different type.", "1"] - ], - "public/app/plugins/datasource/cloud-monitoring/annotationSupport.ts:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"], - [0, 0, 0, "Do not use any type assertions.", "1"] - ], - "public/app/plugins/datasource/cloud-monitoring/components/Aggregation.tsx:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"] - ], - "public/app/plugins/datasource/cloud-monitoring/components/Fields.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"] - ], - "public/app/plugins/datasource/cloud-monitoring/components/VariableQueryEditor.tsx:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"] - ], - "public/app/plugins/datasource/cloud-monitoring/datasource.ts: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.", "2"], - [0, 0, 0, "Unexpected any. Specify a different type.", "3"], - [0, 0, 0, "Unexpected any. Specify a different type.", "4"] - ], - "public/app/plugins/datasource/cloud-monitoring/functions.ts:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"], - [0, 0, 0, "Do not use any type assertions.", "1"] - ], - "public/app/plugins/datasource/cloud-monitoring/types/query.ts:5381": [ - [0, 0, 0, "Do not re-export imported variable (\`../dataquery.gen\`)", "0"], - [0, 0, 0, "Do not re-export imported variable (\`../dataquery.gen\`)", "1"], - [0, 0, 0, "Do not re-export imported variable (\`QueryType\`)", "2"] - ], - "public/app/plugins/datasource/cloud-monitoring/types/types.ts:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"] - ], - "public/app/plugins/datasource/cloudwatch/components/ConfigEditor/ConfigEditor.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "1"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "2"] - ], - "public/app/plugins/datasource/cloudwatch/components/ConfigEditor/SecureSocksProxySettingsNewStyling.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"] - ], - "public/app/plugins/datasource/cloudwatch/components/ConfigEditor/XrayLinkConfig.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "1"] - ], - "public/app/plugins/datasource/cloudwatch/components/QueryEditor/MetricsQueryEditor/SQLBuilderEditor/index.tsx:5381": [ - [0, 0, 0, "Do not re-export imported variable (\`./SQLBuilderEditor\`)", "0"] - ], - "public/app/plugins/datasource/cloudwatch/components/QueryEditor/QueryEditor.test.tsx:5381": [ - [0, 0, 0, "Do not re-export imported variable (\`./MetricsQueryEditor/SQLCodeEditor\`)", "0"] - ], - "public/app/plugins/datasource/cloudwatch/components/shared/LogGroups/LegacyLogGroupNamesSelection.tsx:5381": [ - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "0"] - ], - "public/app/plugins/datasource/cloudwatch/components/shared/MetricStatEditor/index.ts:5381": [ - [0, 0, 0, "Do not re-export imported variable (\`./MetricStatEditor\`)", "0"] - ], - "public/app/plugins/datasource/cloudwatch/datasource.ts:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"] - ], - "public/app/plugins/datasource/cloudwatch/expressions.ts:5381": [ - [0, 0, 0, "Do not re-export imported variable (\`./dataquery.gen\`)", "0"] - ], - "public/app/plugins/datasource/cloudwatch/guards.ts:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"] - ], - "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"] - ], - "public/app/plugins/datasource/cloudwatch/types.ts:5381": [ - [0, 0, 0, "Do not use export all (\`export * from ...\`)", "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"], - [0, 0, 0, "Unexpected any. Specify a different type.", "7"] - ], - "public/app/plugins/datasource/cloudwatch/utils/datalinks.ts:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"], - [0, 0, 0, "Do not use any type assertions.", "1"] - ], - "public/app/plugins/datasource/dashboard/DashboardQueryEditor.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "1"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "2"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "3"] - ], - "public/app/plugins/datasource/dashboard/datasource.ts:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"] - ], - "public/app/plugins/datasource/dashboard/runSharedRequest.ts:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"], - [0, 0, 0, "Do not use any type assertions.", "1"] - ], - "public/app/plugins/datasource/elasticsearch/LanguageProvider.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"] - ], - "public/app/plugins/datasource/elasticsearch/QueryBuilder.ts:5381": [ - [0, 0, 0, "Do not use any type assertions.", "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"], - [0, 0, 0, "Unexpected any. Specify a different type.", "7"], - [0, 0, 0, "Unexpected any. Specify a different type.", "8"] - ], - "public/app/plugins/datasource/elasticsearch/components/QueryEditor/BucketAggregationsEditor/BucketAggregationEditor.tsx:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"] - ], - "public/app/plugins/datasource/elasticsearch/components/QueryEditor/BucketAggregationsEditor/SettingsEditor/DateHistogramSettingsEditor.tsx:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"] - ], - "public/app/plugins/datasource/elasticsearch/components/QueryEditor/BucketAggregationsEditor/SettingsEditor/TermsSettingsEditor.tsx:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"] - ], - "public/app/plugins/datasource/elasticsearch/components/QueryEditor/BucketAggregationsEditor/aggregations.ts:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"] - ], - "public/app/plugins/datasource/elasticsearch/components/QueryEditor/BucketAggregationsEditor/state/reducer.ts:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"] - ], - "public/app/plugins/datasource/elasticsearch/components/QueryEditor/MetricAggregationsEditor/MetricEditor.tsx:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"] - ], - "public/app/plugins/datasource/elasticsearch/components/QueryEditor/MetricAggregationsEditor/SettingsEditor/SettingField.tsx:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"], - [0, 0, 0, "Do not use any type assertions.", "1"] - ], - "public/app/plugins/datasource/elasticsearch/components/QueryEditor/MetricAggregationsEditor/aggregations.ts:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"] - ], - "public/app/plugins/datasource/elasticsearch/components/QueryEditor/MetricAggregationsEditor/state/reducer.ts:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"] - ], - "public/app/plugins/datasource/elasticsearch/configuration/DataLinks.tsx:5381": [ - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "0"] - ], - "public/app/plugins/datasource/elasticsearch/datasource.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"] - ], - "public/app/plugins/datasource/elasticsearch/hooks/useStatelessReducer.ts:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"] - ], - "public/app/plugins/datasource/elasticsearch/test-helpers/render.tsx:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"] - ], - "public/app/plugins/datasource/grafana-postgresql-datasource/configuration/ConfigurationEditor.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "1"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "2"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "3"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "4"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "5"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "6"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "7"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "8"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "9"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "10"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "11"] - ], - "public/app/plugins/datasource/grafana-pyroscope-datasource/QueryEditor/EditorField.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"] - ], - "public/app/plugins/datasource/grafana-pyroscope-datasource/utils.ts:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"] - ], - "public/app/plugins/datasource/grafana-testdata-datasource/QueryEditor.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.", "2"], - [0, 0, 0, "Unexpected any. Specify a different type.", "3"], - [0, 0, 0, "Unexpected any. Specify a different type.", "4"], - [0, 0, 0, "Using localeCompare() can cause performance issues when sorting large datasets. Consider using Intl.Collator for better performance when sorting arrays, or add an eslint-disable comment if sorting a small, known dataset.", "5"] - ], - "public/app/plugins/datasource/grafana-testdata-datasource/components/RandomWalkEditor.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, "Unexpected any. Specify a different type.", "2"] - ], - "public/app/plugins/datasource/grafana-testdata-datasource/components/SimulationQueryEditor.tsx:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"], - [0, 0, 0, "Unexpected any. Specify a different type.", "1"], - [0, 0, 0, "Unexpected any. Specify a different type.", "2"] - ], - "public/app/plugins/datasource/grafana-testdata-datasource/components/SimulationSchemaForm.tsx:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"] - ], - "public/app/plugins/datasource/grafana-testdata-datasource/datasource.ts:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"], - [0, 0, 0, "Unexpected any. Specify a different type.", "1"] - ], - "public/app/plugins/datasource/grafana/components/AnnotationQueryEditor.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "1"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "2"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "3"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "4"], - [0, 0, 0, "Do not use any type assertions.", "5"] - ], - "public/app/plugins/datasource/grafana/components/QueryEditor.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, "Unexpected any. Specify a different type.", "2"] - ], - "public/app/plugins/datasource/grafana/components/TimeRegionEditor.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "1"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "2"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "3"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "4"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "5"] - ], - "public/app/plugins/datasource/grafana/datasource.ts: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.", "2"], - [0, 0, 0, "Do not use any type assertions.", "3"], - [0, 0, 0, "Do not use any type assertions.", "4"], - [0, 0, 0, "Do not use any type assertions.", "5"], - [0, 0, 0, "Do not use any type assertions.", "6"], - [0, 0, 0, "Unexpected any. Specify a different type.", "7"] - ], - "public/app/plugins/datasource/graphite/configuration/ConfigEditor.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "1"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "2"] - ], - "public/app/plugins/datasource/graphite/datasource.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"] - ], - "public/app/plugins/datasource/graphite/datasource.ts: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.", "2"], - [0, 0, 0, "Do not use any type assertions.", "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"], - [0, 0, 0, "Unexpected any. Specify a different type.", "7"], - [0, 0, 0, "Unexpected any. Specify a different type.", "8"], - [0, 0, 0, "Unexpected any. Specify a different type.", "9"], - [0, 0, 0, "Unexpected any. Specify a different type.", "10"], - [0, 0, 0, "Unexpected any. Specify a different type.", "11"], - [0, 0, 0, "Unexpected any. Specify a different type.", "12"], - [0, 0, 0, "Unexpected any. Specify a different type.", "13"], - [0, 0, 0, "Unexpected any. Specify a different type.", "14"], - [0, 0, 0, "Unexpected any. Specify a different type.", "15"], - [0, 0, 0, "Unexpected any. Specify a different type.", "16"], - [0, 0, 0, "Unexpected any. Specify a different type.", "17"], - [0, 0, 0, "Unexpected any. Specify a different type.", "18"] - ], - "public/app/plugins/datasource/graphite/gfunc.ts:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"], - [0, 0, 0, "Do not use any type assertions.", "1"], - [0, 0, 0, "Unexpected any. Specify a different type.", "2"] - ], - "public/app/plugins/datasource/graphite/graphite_query.ts:5381": [ - [0, 0, 0, "Do not use any type assertions.", "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"], - [0, 0, 0, "Unexpected any. Specify a different type.", "7"], - [0, 0, 0, "Unexpected any. Specify a different type.", "8"], - [0, 0, 0, "Unexpected any. Specify a different type.", "9"], - [0, 0, 0, "Unexpected any. Specify a different type.", "10"] - ], - "public/app/plugins/datasource/graphite/lexer.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"] - ], - "public/app/plugins/datasource/graphite/migrations.ts:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"] - ], - "public/app/plugins/datasource/graphite/specs/graphite_query.test.ts:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"] - ], - "public/app/plugins/datasource/graphite/specs/store.test.ts:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"], - [0, 0, 0, "Unexpected any. Specify a different type.", "1"] - ], - "public/app/plugins/datasource/graphite/state/context.tsx:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"], - [0, 0, 0, "Do not use any type assertions.", "1"] - ], - "public/app/plugins/datasource/graphite/state/store.ts:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"], - [0, 0, 0, "Do not use any type assertions.", "1"] - ], - "public/app/plugins/datasource/graphite/types.ts:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"], - [0, 0, 0, "Unexpected any. Specify a different type.", "1"] - ], - "public/app/plugins/datasource/graphite/utils.ts:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"] - ], - "public/app/plugins/datasource/influxdb/components/editor/annotation/AnnotationEditor.tsx:5381": [ - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "0"] - ], - "public/app/plugins/datasource/influxdb/components/editor/config/ConfigEditor.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"], - [0, 0, 0, "Do not use any type assertions.", "1"] - ], - "public/app/plugins/datasource/influxdb/components/editor/config/InfluxSQLConfig.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "1"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "2"] - ], - "public/app/plugins/datasource/influxdb/components/editor/query/QueryEditor.tsx:5381": [ - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "0"] - ], - "public/app/plugins/datasource/influxdb/components/editor/query/flux/FluxQueryEditor.tsx:5381": [ - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "0"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "1"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "2"] - ], - "public/app/plugins/datasource/influxdb/components/editor/query/fsql/FSQLEditor.tsx:5381": [ - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "0"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "1"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "2"] - ], - "public/app/plugins/datasource/influxdb/components/editor/query/influxql/visual/PartListSection.tsx:5381": [ - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "0"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "1"] - ], - "public/app/plugins/datasource/influxdb/components/editor/query/influxql/visual/TagsSection.tsx:5381": [ - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "0"] - ], - "public/app/plugins/datasource/influxdb/datasource.ts:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"], - [0, 0, 0, "Do not use any type assertions.", "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"], - [0, 0, 0, "Unexpected any. Specify a different type.", "7"], - [0, 0, 0, "Unexpected any. Specify a different type.", "8"], - [0, 0, 0, "Unexpected any. Specify a different type.", "9"], - [0, 0, 0, "Unexpected any. Specify a different type.", "10"], - [0, 0, 0, "Unexpected any. Specify a different type.", "11"], - [0, 0, 0, "Unexpected any. Specify a different type.", "12"] - ], - "public/app/plugins/datasource/influxdb/influx_query_model.ts:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"] - ], - "public/app/plugins/datasource/influxdb/influx_series.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"], - [0, 0, 0, "Unexpected any. Specify a different type.", "7"], - [0, 0, 0, "Unexpected any. Specify a different type.", "8"] - ], - "public/app/plugins/datasource/influxdb/query_part.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"], - [0, 0, 0, "Unexpected any. Specify a different type.", "7"], - [0, 0, 0, "Unexpected any. Specify a different type.", "8"], - [0, 0, 0, "Unexpected any. Specify a different type.", "9"], - [0, 0, 0, "Unexpected any. Specify a different type.", "10"], - [0, 0, 0, "Unexpected any. Specify a different type.", "11"], - [0, 0, 0, "Unexpected any. Specify a different type.", "12"], - [0, 0, 0, "Unexpected any. Specify a different type.", "13"] - ], - "public/app/plugins/datasource/influxdb/response_parser.ts:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"] - ], - "public/app/plugins/datasource/jaeger/datasource.ts:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"] - ], - "public/app/plugins/datasource/loki/LanguageProvider.ts:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"] - ], - "public/app/plugins/datasource/loki/LogContextProvider.ts:5381": [ - [0, 0, 0, "Direct usage of localStorage is not allowed. import store from @grafana/data instead", "0"], - [0, 0, 0, "Direct usage of localStorage is not allowed. import store from @grafana/data instead", "1"] - ], - "public/app/plugins/datasource/loki/components/LokiContextUi.tsx:5381": [ - [0, 0, 0, "Direct usage of localStorage is not allowed. import store from @grafana/data instead", "0"], - [0, 0, 0, "Direct usage of localStorage is not allowed. import store from @grafana/data instead", "1"], - [0, 0, 0, "Direct usage of localStorage is not allowed. import store from @grafana/data instead", "2"], - [0, 0, 0, "Direct usage of localStorage is not allowed. import store from @grafana/data instead", "3"], - [0, 0, 0, "Direct usage of localStorage is not allowed. import store from @grafana/data instead", "4"], - [0, 0, 0, "Direct usage of localStorage is not allowed. import store from @grafana/data instead", "5"], - [0, 0, 0, "Direct usage of localStorage is not allowed. import store from @grafana/data instead", "6"] - ], - "public/app/plugins/datasource/loki/components/LokiQueryEditor.tsx:5381": [ - [0, 0, 0, "Direct usage of localStorage is not allowed. import store from @grafana/data instead", "0"], - [0, 0, 0, "Direct usage of localStorage is not allowed. import store from @grafana/data instead", "1"] - ], - "public/app/plugins/datasource/loki/components/LokiQueryField.tsx:5381": [ - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "0"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "1"] - ], - "public/app/plugins/datasource/loki/configuration/ConfigEditor.tsx:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"] - ], - "public/app/plugins/datasource/loki/configuration/DerivedField.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "1"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "2"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "3"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "4"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "5"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "6"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "7"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "8"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "9"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "10"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "11"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "12"] - ], - "public/app/plugins/datasource/loki/datasource.ts:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"], - [0, 0, 0, "Unexpected any. Specify a different type.", "1"] - ], - "public/app/plugins/datasource/loki/querybuilder/components/LokiQueryBuilder.tsx:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"] - ], - "public/app/plugins/datasource/loki/querybuilder/components/LokiQueryCodeEditor.tsx:5381": [ - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "0"] - ], - "public/app/plugins/datasource/loki/querybuilder/components/QueryPattern.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Card components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"] - ], - "public/app/plugins/datasource/loki/querybuilder/state.ts:5381": [ - [0, 0, 0, "Direct usage of localStorage is not allowed. import store from @grafana/data instead", "0"], - [0, 0, 0, "Direct usage of localStorage is not allowed. import store from @grafana/data instead", "1"] - ], - "public/app/plugins/datasource/loki/shardQuerySplitting.ts:5381": [ - [0, 0, 0, "Direct usage of localStorage is not allowed. import store from @grafana/data instead", "0"], - [0, 0, 0, "Direct usage of localStorage is not allowed. import store from @grafana/data instead", "1"] - ], - "public/app/plugins/datasource/loki/types.ts:5381": [ - [0, 0, 0, "Do not re-export imported variable (\`LokiQueryDirection\`)", "0"], - [0, 0, 0, "Do not re-export imported variable (\`LokiQueryType\`)", "1"], - [0, 0, 0, "Do not re-export imported variable (\`SupportingQueryType\`)", "2"] - ], - "public/app/plugins/datasource/mixed/module.ts:5381": [ - [0, 0, 0, "Do not re-export imported variable (\`Datasource\`)", "0"], - [0, 0, 0, "Do not re-export imported variable (\`MixedDatasource\`)", "1"] - ], - "public/app/plugins/datasource/mssql/azureauth/AzureCredentialsForm.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "1"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "2"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "3"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "4"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "5"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "6"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "7"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "8"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "9"] - ], - "public/app/plugins/datasource/mssql/configuration/ConfigurationEditor.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "1"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "2"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "3"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "4"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "5"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "6"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "7"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "8"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "9"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "10"] - ], - "public/app/plugins/datasource/mssql/configuration/Kerberos.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "1"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "2"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "3"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "4"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "5"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "6"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "7"] - ], - "public/app/plugins/datasource/mysql/configuration/ConfigurationEditor.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "1"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "2"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "3"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "4"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "5"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "6"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "7"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "8"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "9"] - ], - "public/app/plugins/datasource/opentsdb/components/AnnotationEditor.tsx:5381": [ - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "0"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "1"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "2"] - ], - "public/app/plugins/datasource/opentsdb/components/OpenTsdbDetails.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "1"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "2"] - ], - "public/app/plugins/datasource/opentsdb/datasource.d.ts:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"] - ], - "public/app/plugins/datasource/opentsdb/datasource.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"], - [0, 0, 0, "Unexpected any. Specify a different type.", "7"], - [0, 0, 0, "Unexpected any. Specify a different type.", "8"], - [0, 0, 0, "Unexpected any. Specify a different type.", "9"], - [0, 0, 0, "Unexpected any. Specify a different type.", "10"], - [0, 0, 0, "Unexpected any. Specify a different type.", "11"], - [0, 0, 0, "Unexpected any. Specify a different type.", "12"], - [0, 0, 0, "Unexpected any. Specify a different type.", "13"], - [0, 0, 0, "Unexpected any. Specify a different type.", "14"], - [0, 0, 0, "Unexpected any. Specify a different type.", "15"], - [0, 0, 0, "Unexpected any. Specify a different type.", "16"], - [0, 0, 0, "Unexpected any. Specify a different type.", "17"] - ], - "public/app/plugins/datasource/parca/QueryEditor/QueryOptions.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"] - ], - "public/app/plugins/datasource/parca/webpack.config.ts:5381": [ - [0, 0, 0, "Do not re-export imported variable (\`config\`)", "0"] - ], - "public/app/plugins/datasource/prometheus/configuration/AzureAuthSettings.tsx:5381": [ - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "0"] - ], - "public/app/plugins/datasource/prometheus/configuration/AzureCredentialsForm.tsx:5381": [ - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "0"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "1"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "2"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "3"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "4"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "6"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "7"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "8"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "9"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "10"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "11"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "12"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "13"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "14"] - ], - "public/app/plugins/datasource/tempo/ServiceGraphSection.tsx:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"] - ], - "public/app/plugins/datasource/tempo/_importedDependencies/components/AdHocFilter/AdHocFilter.tsx:5381": [ - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "0"] - ], - "public/app/plugins/datasource/tempo/_importedDependencies/components/AdHocFilter/AdHocFilterKey.tsx:5381": [ - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "0"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "1"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "2"] - ], - "public/app/plugins/datasource/tempo/_importedDependencies/components/AdHocFilter/AdHocFilterRenderer.tsx:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "1"] - ], - "public/app/plugins/datasource/tempo/_importedDependencies/components/AdHocFilter/AdHocFilterValue.tsx:5381": [ - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "0"] - ], - "public/app/plugins/datasource/tempo/_importedDependencies/components/AdHocFilter/ConditionSegment.tsx:5381": [ - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "0"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "1"] - ], - "public/app/plugins/datasource/tempo/_importedDependencies/datasources/prometheus/language_utils.ts:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"] - ], - "public/app/plugins/datasource/tempo/_importedDependencies/datasources/prometheus/types.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"] - ], - "public/app/plugins/datasource/tempo/configuration/TraceQLSearchSettings.tsx:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"] - ], - "public/app/plugins/datasource/tempo/datasource.ts:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"], - [0, 0, 0, "Unexpected any. Specify a different type.", "1"], - [0, 0, 0, "Unexpected any. Specify a different type.", "2"] - ], - "public/app/plugins/datasource/tempo/language_provider.ts:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"] - ], - "public/app/plugins/datasource/tempo/resultTransformer.ts:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"], - [0, 0, 0, "Do not use any type assertions.", "1"], - [0, 0, 0, "Unexpected any. Specify a different type.", "2"], - [0, 0, 0, "Unexpected any. Specify a different type.", "3"], - [0, 0, 0, "Using localeCompare() can cause performance issues when sorting large datasets. Consider using Intl.Collator for better performance when sorting arrays, or add an eslint-disable comment if sorting a small, known dataset.", "4"], - [0, 0, 0, "Using localeCompare() can cause performance issues when sorting large datasets. Consider using Intl.Collator for better performance when sorting arrays, or add an eslint-disable comment if sorting a small, known dataset.", "5"] - ], - "public/app/plugins/datasource/zipkin/QueryField.tsx:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"], - [0, 0, 0, "Unexpected any. Specify a different type.", "1"], - [0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "2"] - ], - "public/app/plugins/datasource/zipkin/datasource.ts:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"] - ], - "public/app/plugins/datasource/zipkin/utils/transforms.ts:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"] - ], - "public/app/plugins/panel/annolist/AnnoListPanel.tsx:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"] - ], - "public/app/plugins/panel/annolist/AnnotationListItem.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Card components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"] - ], - "public/app/plugins/panel/barchart/bars.ts:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"] - ], - "public/app/plugins/panel/barchart/quadtree.ts:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"] - ], - "public/app/plugins/panel/candlestick/CandlestickPanel.tsx:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"], - [0, 0, 0, "Unexpected any. Specify a different type.", "1"] - ], - "public/app/plugins/panel/candlestick/types.ts:5381": [ - [0, 0, 0, "Do not re-export imported variable (\`CandleStyle\`)", "0"], - [0, 0, 0, "Do not re-export imported variable (\`CandlestickColors\`)", "1"], - [0, 0, 0, "Do not re-export imported variable (\`CandlestickFieldMap\`)", "2"], - [0, 0, 0, "Do not re-export imported variable (\`ColorStrategy\`)", "3"], - [0, 0, 0, "Do not re-export imported variable (\`FieldConfig\`)", "4"], - [0, 0, 0, "Do not re-export imported variable (\`Options\`)", "5"], - [0, 0, 0, "Do not re-export imported variable (\`VizDisplayMode\`)", "6"], - [0, 0, 0, "Do not re-export imported variable (\`defaultCandlestickColors\`)", "7"] - ], - "public/app/plugins/panel/canvas/editor/LineStyleEditor.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"] - ], - "public/app/plugins/panel/canvas/editor/element/APIEditor.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "1"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "2"] - ], - "public/app/plugins/panel/canvas/editor/element/ParamsEditor.tsx:5381": [ - [0, 0, 0, "Using localeCompare() can cause performance issues when sorting large datasets. Consider using Intl.Collator for better performance when sorting arrays, or add an eslint-disable comment if sorting a small, known dataset.", "0"] - ], - "public/app/plugins/panel/canvas/editor/element/PlacementEditor.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "1"] - ], - "public/app/plugins/panel/dashlist/DashList.tsx:5381": [ - [0, 0, 0, "Using localeCompare() can cause performance issues when sorting large datasets. Consider using Intl.Collator for better performance when sorting arrays, or add an eslint-disable comment if sorting a small, known dataset.", "0"], - [0, 0, 0, "Using localeCompare() can cause performance issues when sorting large datasets. Consider using Intl.Collator for better performance when sorting arrays, or add an eslint-disable comment if sorting a small, known dataset.", "1"] - ], - "public/app/plugins/panel/debug/CursorView.tsx:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"], - [0, 0, 0, "Unexpected any. Specify a different type.", "1"] - ], - "public/app/plugins/panel/debug/EventBusLogger.tsx:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"], - [0, 0, 0, "Unexpected any. Specify a different type.", "1"] - ], - "public/app/plugins/panel/debug/StateView.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"] - ], - "public/app/plugins/panel/gauge/GaugeMigrations.ts:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"] - ], - "public/app/plugins/panel/geomap/components/MarkersLegend.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, "Unexpected any. Specify a different type.", "2"] - ], - "public/app/plugins/panel/geomap/editor/GeomapStyleRulesEditor.tsx:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"] - ], - "public/app/plugins/panel/geomap/editor/StyleEditor.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "1"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "2"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "3"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "4"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "5"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "6"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "7"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "8"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "9"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "10"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "11"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "12"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "13"], - [0, 0, 0, "Do not use any type assertions.", "14"], - [0, 0, 0, "Do not use any type assertions.", "15"], - [0, 0, 0, "Do not use any type assertions.", "16"], - [0, 0, 0, "Do not use any type assertions.", "17"], - [0, 0, 0, "Do not use any type assertions.", "18"], - [0, 0, 0, "Do not use any type assertions.", "19"], - [0, 0, 0, "Do not use any type assertions.", "20"], - [0, 0, 0, "Do not use any type assertions.", "21"], - [0, 0, 0, "Do not use any type assertions.", "22"], - [0, 0, 0, "Do not use any type assertions.", "23"], - [0, 0, 0, "Do not use any type assertions.", "24"], - [0, 0, 0, "Do not use any type assertions.", "25"] - ], - "public/app/plugins/panel/geomap/editor/StyleRuleEditor.tsx:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"] - ], - "public/app/plugins/panel/geomap/layers/basemaps/esri.ts:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"] - ], - "public/app/plugins/panel/geomap/layers/data/routeLayer.tsx:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"] - ], - "public/app/plugins/panel/geomap/layers/registry.ts:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"], - [0, 0, 0, "Unexpected any. Specify a different type.", "1"] - ], - "public/app/plugins/panel/geomap/migrations.ts:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"], - [0, 0, 0, "Unexpected any. Specify a different type.", "1"] - ], - "public/app/plugins/panel/geomap/types.ts:5381": [ - [0, 0, 0, "Do not re-export imported variable (\`./panelcfg.gen\`)", "0"] - ], - "public/app/plugins/panel/geomap/utils/tooltip.ts:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"], - [0, 0, 0, "Do not use any type assertions.", "1"] - ], - "public/app/plugins/panel/heatmap/HeatmapPanel.tsx:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"], - [0, 0, 0, "Unexpected any. Specify a different type.", "1"] - ], - "public/app/plugins/panel/heatmap/migrations.ts:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"] - ], - "public/app/plugins/panel/heatmap/palettes.ts:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"], - [0, 0, 0, "Unexpected any. Specify a different type.", "1"] - ], - "public/app/plugins/panel/heatmap/types.ts:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"], - [0, 0, 0, "Do not use export all (\`export * from ...\`)", "1"] - ], - "public/app/plugins/panel/heatmap/utils.ts: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.", "2"], - [0, 0, 0, "Do not use any type assertions.", "3"], - [0, 0, 0, "Do not use any type assertions.", "4"], - [0, 0, 0, "Do not use any type assertions.", "5"], - [0, 0, 0, "Do not use any type assertions.", "6"], - [0, 0, 0, "Do not use any type assertions.", "7"], - [0, 0, 0, "Do not use any type assertions.", "8"], - [0, 0, 0, "Do not use any type assertions.", "9"], - [0, 0, 0, "Do not use any type assertions.", "10"], - [0, 0, 0, "Do not use any type assertions.", "11"], - [0, 0, 0, "Do not use any type assertions.", "12"], - [0, 0, 0, "Do not use any type assertions.", "13"], - [0, 0, 0, "Do not use any type assertions.", "14"], - [0, 0, 0, "Do not use any type assertions.", "15"], - [0, 0, 0, "Do not use any type assertions.", "16"] - ], - "public/app/plugins/panel/live/LiveChannelEditor.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, "Unexpected any. Specify a different type.", "2"] - ], - "public/app/plugins/panel/live/LivePanel.tsx:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"] - ], - "public/app/plugins/panel/logs/types.ts:5381": [ - [0, 0, 0, "Do not re-export imported variable (\`./panelcfg.gen\`)", "0"] - ], - "public/app/plugins/panel/nodeGraph/Edge.tsx:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"] - ], - "public/app/plugins/panel/nodeGraph/NodeGraph.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.", "2"], - [0, 0, 0, "Do not use any type assertions.", "3"] - ], - "public/app/plugins/panel/nodeGraph/ViewControls.tsx:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"] - ], - "public/app/plugins/panel/nodeGraph/index.ts:5381": [ - [0, 0, 0, "Do not re-export imported variable (\`./NodeGraph\`)", "0"] - ], - "public/app/plugins/panel/nodeGraph/layout.ts:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"] - ], - "public/app/plugins/panel/nodeGraph/types.ts:5381": [ - [0, 0, 0, "Do not re-export imported variable (\`./panelcfg.gen\`)", "0"] - ], - "public/app/plugins/panel/piechart/migrations.ts:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"], - [0, 0, 0, "Unexpected any. Specify a different type.", "1"] - ], - "public/app/plugins/panel/stat/StatMigrations.ts:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"] - ], - "public/app/plugins/panel/state-timeline/migrations.ts:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"], - [0, 0, 0, "Unexpected any. Specify a different type.", "1"] - ], - "public/app/plugins/panel/table/TableCellOptionEditor.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"] - ], - "public/app/plugins/panel/table/cells/BarGaugeCellOptionsEditor.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "1"] - ], - "public/app/plugins/panel/table/cells/ColorBackgroundCellOptionsEditor.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "1"], - [0, 0, 0, "Use data-testid for E2E selectors instead of aria-label", "2"] - ], - "public/app/plugins/panel/table/cells/ImageCellOptionsEditor.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "1"] - ], - "public/app/plugins/panel/table/cells/MarkdownCellOptionsEditor.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"] - ], - "public/app/plugins/panel/table/cells/SparklineCellOptionsEditor.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"] - ], - "public/app/plugins/panel/table/migrations.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"] - ], - "public/app/plugins/panel/text/textPanelMigrationHandler.ts:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"] - ], - "public/app/plugins/panel/timeseries/migrations.ts: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.", "2"], - [0, 0, 0, "Do not use any type assertions.", "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"], - [0, 0, 0, "Unexpected any. Specify a different type.", "7"], - [0, 0, 0, "Unexpected any. Specify a different type.", "8"], - [0, 0, 0, "Unexpected any. Specify a different type.", "9"] - ], - "public/app/plugins/panel/timeseries/plugins/AnnotationsPlugin2.tsx:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"] - ], - "public/app/plugins/panel/timeseries/plugins/annotations2/AnnotationEditor2.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "1"], - [0, 0, 0, "Unexpected any. Specify a different type.", "2"] - ], - "public/app/plugins/panel/timeseries/plugins/annotations2/AnnotationMarker2.tsx:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"] - ], - "public/app/plugins/panel/timeseries/plugins/annotations2/AnnotationTooltip2.tsx:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"] - ], - "public/app/plugins/panel/xychart/SeriesEditor.tsx:5381": [ - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "1"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "2"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "3"], - [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "4"], - [0, 0, 0, "Do not use any type assertions.", "5"], - [0, 0, 0, "Do not use any type assertions.", "6"], - [0, 0, 0, "Do not use any type assertions.", "7"], - [0, 0, 0, "Do not use any type assertions.", "8"] - ], - "public/app/plugins/panel/xychart/migrations.ts:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"] - ], - "public/app/plugins/panel/xychart/scatter.ts: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.", "2"], - [0, 0, 0, "Do not use any type assertions.", "3"], - [0, 0, 0, "Do not use any type assertions.", "4"], - [0, 0, 0, "Do not use any type assertions.", "5"], - [0, 0, 0, "Do not use any type assertions.", "6"], - [0, 0, 0, "Do not use any type assertions.", "7"], - [0, 0, 0, "Do not use any type assertions.", "8"], - [0, 0, 0, "Do not use any type assertions.", "9"], - [0, 0, 0, "Do not use any type assertions.", "10"], - [0, 0, 0, "Do not use any type assertions.", "11"], - [0, 0, 0, "Do not use any type assertions.", "12"], - [0, 0, 0, "Do not use any type assertions.", "13"], - [0, 0, 0, "Unexpected any. Specify a different type.", "14"], - [0, 0, 0, "Unexpected any. Specify a different type.", "15"], - [0, 0, 0, "Unexpected any. Specify a different type.", "16"], - [0, 0, 0, "Unexpected any. Specify a different type.", "17"] - ], - "public/app/store/configureStore.ts:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"] - ], - "public/app/store/store.ts:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"], - [0, 0, 0, "Unexpected any. Specify a different type.", "1"] - ], - "public/app/types/dashboard.ts:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"] - ], - "public/app/types/events.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"], - [0, 0, 0, "Unexpected any. Specify a different type.", "7"], - [0, 0, 0, "Unexpected any. Specify a different type.", "8"] - ], - "public/app/types/jquery/jquery.d.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"], - [0, 0, 0, "Unexpected any. Specify a different type.", "7"] - ], - "public/app/types/store.ts:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"], - [0, 0, 0, "Unexpected any. Specify a different type.", "1"] - ], - "public/app/types/unified-alerting-dto.ts:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"] - ], - "public/swagger/SwaggerPage.tsx:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"] - ], - "public/swagger/index.tsx:5381": [ - [0, 0, 0, "Do not use any type assertions.", "0"], - [0, 0, 0, "Do not use any type assertions.", "1"] - ], - "public/swagger/plugins.tsx:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"], - [0, 0, 0, "Unexpected any. Specify a different type.", "1"] - ], - "public/test/core/redux/reduxTester.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"] - ], - "public/test/core/thunk/thunkTester.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"] - ], - "public/test/global-jquery-shim.ts:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"] - ], - "public/test/helpers/getDashboardModel.ts:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"] - ], - "public/test/helpers/initTemplateSrv.ts:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"] - ], - "public/test/jest-setup.ts:5381": [ - [0, 0, 0, "Unexpected any. Specify a different type.", "0"] - ], - "public/test/specs/helpers.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"] - ] - }` -}; diff --git a/.betterer.ts b/.betterer.ts index c57c9cec6f9..ff8b4c56321 100644 --- a/.betterer.ts +++ b/.betterer.ts @@ -1,44 +1 @@ -import { BettererFileTest } from '@betterer/betterer'; -import { ESLint } from 'eslint'; - -// Why are we ignoring these? -// They're all deprecated/being removed so doesn't make sense to fix types -const eslintPathsToIgnore = [ - 'packages/grafana-ui/src/graveyard', // will be removed alongside angular in Grafana 12 - 'public/app/angular', // will be removed in Grafana 12 - 'public/app/plugins/panel/graph', // will be removed alongside angular in Grafana 12 - 'public/app/plugins/panel/table-old', // will be removed alongside angular in Grafana 12 -]; - -// Avoid using functions that report the position of the issues, as this causes a lot of merge conflicts -export default { - 'better eslint': () => - countEslintErrors() - .include('**/*.{ts,tsx}') - .exclude(new RegExp(eslintPathsToIgnore.join('|'))), -}; - -function countEslintErrors() { - return new BettererFileTest(async (filePaths, fileTestResult) => { - // Just bail early if there's no files to test. Prevents trying to get the base config from failing - if (filePaths.length === 0) { - return; - } - - const runner = new ESLint({ - overrideConfigFile: './.betterer.eslint.config.js', - warnIgnored: false, - }); - - const lintResults = await runner.lintFiles(Array.from(filePaths)); - - lintResults.forEach(({ messages, filePath }) => { - const file = fileTestResult.addFile(filePath, ''); - messages - .sort((a, b) => (a.message > b.message ? 1 : -1)) - .forEach((message, index) => { - file.addIssue(0, 0, message.message, `${index}`); - }); - }); - }); -} +export default {}; diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index a2cdf0d15b8..359662bf0e9 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -730,7 +730,6 @@ /scripts/tsconfig.base.json @grafana/frontend-ops /.editorconfig @grafana/frontend-ops /eslint.config.js @grafana/frontend-ops -/.betterer.eslint.config.js @grafana/frontend-ops /.gitattributes @grafana/frontend-ops /.gitignore @grafana/frontend-ops /.ignore @grafana/frontend-ops @@ -1012,7 +1011,7 @@ playwright.storybook.config.ts @grafana/grafana-frontend-platform /scripts/circle-* @grafana/grafana-developer-enablement-squad /scripts/publish-npm-packages.sh @grafana/grafana-developer-enablement-squad @grafana/plugins-platform-frontend /scripts/validate-npm-packages.sh @grafana/grafana-developer-enablement-squad @grafana/plugins-platform-frontend -/scripts/ci-frontend-metrics.sh @grafana/grafana-frontend-platform @grafana/plugins-platform-frontend @grafana/dataviz-squad @grafana/datapro +/scripts/ci-frontend-metrics.sh @grafana/grafana-frontend-platform @grafana/frontend-ops /scripts/cli/ @grafana/grafana-frontend-platform /scripts/clean-git-or-error.sh @grafana/grafana-as-code /scripts/grafana-server/ @grafana/grafana-frontend-platform @@ -1041,8 +1040,8 @@ playwright.storybook.config.ts @grafana/grafana-frontend-platform /scripts/**/generate-transformations* @grafana/datapro /scripts/webpack/ @grafana/frontend-ops /scripts/generate-a11y-report.sh @grafana/grafana-frontend-platform -.betterer.results @grafanabot .betterer.ts @grafana/grafana-frontend-platform +eslint-suppressions.json @grafanabot # Design system /public/img/icons/unicons/ @grafana/design-system diff --git a/.prettierignore b/.prettierignore index e5b7bd9ca75..236ce47cf21 100644 --- a/.prettierignore +++ b/.prettierignore @@ -42,4 +42,6 @@ public/mockServiceWorker.js # Playwright results test-results -playwright-report \ No newline at end of file +playwright-report + +eslint-suppressions.json diff --git a/.vscode/launch.json b/.vscode/launch.json index 88a99c05737..c518395e486 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -120,6 +120,15 @@ "console": "integratedTerminal", "internalConsoleOptions": "neverOpen" }, + { + "name": "Debug ESLint with stats reporter", + "type": "node", + "request": "launch", + "runtimeExecutable": "yarn", + "runtimeArgs": ["run", "eslint", "${file}", "--format", "./scripts/cli/eslint-stats-reporter.mjs"], + "console": "integratedTerminal", + "internalConsoleOptions": "neverOpen" + }, { "name": "Debug Go test", "type": "go", diff --git a/conf/defaults.ini b/conf/defaults.ini index 2bc06325d6c..9a6fced90a8 100644 --- a/conf/defaults.ini +++ b/conf/defaults.ini @@ -2200,9 +2200,6 @@ secret_key = SW2YcwTIb9zpOOhoPsMm # Should UI tests fail when console log/warn/erroring? # Does not affect the result when running on CI - only for allowing devs to choose this behaviour locally fail_tests_on_console = true -# Whether to enable betterer eslint rules for local development -# Useful if you want to always see betterer rules that we're trying to fix so they're more prevalent -betterer_eslint_rules = false #################################### Plugin API Restrictions ########################################## # Configure which plugins can access specific restricted APIs. diff --git a/contribute/create-pull-request.md b/contribute/create-pull-request.md index 20cc2e11aa7..243df50d73a 100644 --- a/contribute/create-pull-request.md +++ b/contribute/create-pull-request.md @@ -60,16 +60,17 @@ Pull requests that create new UI components or modify existing ones must adhere Before submitting pull requests that introduce accessibility (a11y) errors, refer to the [accessibility guidelines](/contribute/style-guides/accessibility.md). -### Betterer +### ESLint & suppressions -We make use of a tool called [**Betterer**](https://phenomnomnominal.github.io/betterer/) in order to drive long-running code quality improvements. Our intention is for this requirement to be as unintrusive as possible; however, there are some things to be aware of: +We use [ESLint](https://eslint.org/) to enforce code style and best practices, along with [bulk suppressions](https://eslint.org/docs/latest/use/suppressions#suppressions-file) in order to incrementally improve our code quality and fix rule violations. -- **Betterer runs as a precommit hook**: - - You may see changes to the `.betterer.results` file automatically added to your commits. +- **ESLint runs as a precommit hook**: + - You may see changes to the `eslint-suppressions.json` file automatically added to your commits. - You may get an error when trying to commit something that decreases the overall code quality. You can either fix these errors or temporarily override the checks (for example, to commit something that's a work in progress). To do so, use `git commit --no-verify`. All errors will eventually have to be fixed before your code can be merged because... -- **Betterer also runs as part of our CI**: - - You may see the following error message in the CI: `Unexpected changes detected in these tests while running in CI mode`. To resolve the error, merge with the target branch (usually `main`). - - You may see merge conflicts for the `.betterer.results` file. To resolve, merge with the target branch (usually `main`), and then run `yarn betterer:merge` and commit. +- **ESLint also runs as part of our CI**: + - If you have fixed suppressed issues but not updated the suppressions file, you may see the following error message in the CI: `There are suppressions left that do not occur anymore.`. + To resolve the error, run the following command: `yarn lint:prune` and commit the changes. + - You may see merge conflicts for the `eslint-suppressions.json` file. To resolve, merge with the target branch (usually `main`) and resolve conflicts however you like, and then run `yarn lint:prune` to ensure the file is up to date and commit. ## Guidelines for backend development diff --git a/contribute/developer-guide.md b/contribute/developer-guide.md index fc5ae74287a..24a798aeb9f 100644 --- a/contribute/developer-guide.md +++ b/contribute/developer-guide.md @@ -61,7 +61,7 @@ To remove precommit hooks: make lefthook-uninstall ``` -> We strongly encourage contributors who work on the frontend to install the precommit hooks, even if your IDE formats on save. By doing so, the `.betterer.results` file is kept in sync. +> We strongly encourage contributors who work on the frontend to install the precommit hooks, even if your IDE formats on save. By doing so, the `eslint-suppressions.json` file is kept in sync. ## Build Grafana diff --git a/eslint-suppressions.json b/eslint-suppressions.json new file mode 100644 index 00000000000..096cff693dd --- /dev/null +++ b/eslint-suppressions.json @@ -0,0 +1,5012 @@ +{ + "apps/dashboard/tshack/v0alpha1_spec_gen.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "apps/dashboard/tshack/v1alpha1_spec_gen.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "e2e/cypress/support/commands.js": { + "no-restricted-syntax": { + "count": 1 + } + }, + "e2e/old-arch/utils/support/localStorage.ts": { + "no-restricted-syntax": { + "count": 2 + } + }, + "e2e/old-arch/utils/support/types.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + } + }, + "e2e/utils/support/localStorage.ts": { + "no-restricted-syntax": { + "count": 2 + } + }, + "e2e/utils/support/types.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + } + }, + "packages/grafana-alerting/src/grafana/notificationPolicies/utils.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + } + }, + "packages/grafana-data/src/dataframe/ArrayDataFrame.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "packages/grafana-data/src/dataframe/CircularDataFrame.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "packages/grafana-data/src/dataframe/DataFrameView.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 2 + }, + "@typescript-eslint/no-explicit-any": { + "count": 2 + } + }, + "packages/grafana-data/src/dataframe/MutableDataFrame.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 3 + }, + "@typescript-eslint/no-explicit-any": { + "count": 9 + } + }, + "packages/grafana-data/src/dataframe/StreamingDataFrame.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 4 + } + }, + "packages/grafana-data/src/dataframe/processDataFrame.test.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "packages/grafana-data/src/dataframe/processDataFrame.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 15 + }, + "@typescript-eslint/no-explicit-any": { + "count": 5 + } + }, + "packages/grafana-data/src/datetime/moment_wrapper.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 8 + }, + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "packages/grafana-data/src/events/types.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 3 + } + }, + "packages/grafana-data/src/field/displayProcessor.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 3 + } + }, + "packages/grafana-data/src/field/overrides/processors.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 5 + } + }, + "packages/grafana-data/src/field/standardFieldConfigEditorRegistry.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 7 + } + }, + "packages/grafana-data/src/geo/layer.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "packages/grafana-data/src/panel/PanelPlugin.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + }, + "@typescript-eslint/no-explicit-any": { + "count": 5 + } + }, + "packages/grafana-data/src/panel/registryFactories.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + } + }, + "packages/grafana-data/src/table/amendTimeSeries.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 5 + }, + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "packages/grafana-data/src/themes/colorManipulator.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 3 + } + }, + "packages/grafana-data/src/themes/createColors.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + } + }, + "packages/grafana-data/src/themes/registry.ts": { + "no-restricted-syntax": { + "count": 1 + } + }, + "packages/grafana-data/src/transformations/matchers/valueMatchers/types.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 2 + } + }, + "packages/grafana-data/src/transformations/standardTransformersRegistry.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "packages/grafana-data/src/transformations/transformDataFrame.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 6 + } + }, + "packages/grafana-data/src/transformations/transformers/nulls/nullInsertThreshold.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 2 + } + }, + "packages/grafana-data/src/types/OptionsUIRegistryBuilder.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 4 + } + }, + "packages/grafana-data/src/types/ScopedVars.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 2 + } + }, + "packages/grafana-data/src/types/action.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 3 + } + }, + "packages/grafana-data/src/types/annotations.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 6 + } + }, + "packages/grafana-data/src/types/app.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 3 + } + }, + "packages/grafana-data/src/types/dashboard.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 3 + } + }, + "packages/grafana-data/src/types/data.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 4 + } + }, + "packages/grafana-data/src/types/dataFrame.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 4 + } + }, + "packages/grafana-data/src/types/dataLink.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 7 + } + }, + "packages/grafana-data/src/types/datasource.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 24 + } + }, + "packages/grafana-data/src/types/explore.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "packages/grafana-data/src/types/fieldOverrides.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 9 + } + }, + "packages/grafana-data/src/types/flot.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "packages/grafana-data/src/types/graph.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 3 + } + }, + "packages/grafana-data/src/types/legacyEvents.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 2 + } + }, + "packages/grafana-data/src/types/live.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + }, + "@typescript-eslint/no-explicit-any": { + "count": 7 + } + }, + "packages/grafana-data/src/types/options.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 2 + } + }, + "packages/grafana-data/src/types/panel.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 13 + } + }, + "packages/grafana-data/src/types/plugin.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + }, + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "packages/grafana-data/src/types/scopes.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + } + }, + "packages/grafana-data/src/types/select.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 2 + } + }, + "packages/grafana-data/src/types/templateVars.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 2 + } + }, + "packages/grafana-data/src/types/trace.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "packages/grafana-data/src/types/transformations.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 5 + } + }, + "packages/grafana-data/src/types/variables.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "packages/grafana-data/src/utils/OptionsUIBuilders.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 11 + } + }, + "packages/grafana-data/src/utils/Registry.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "packages/grafana-data/src/utils/arrayUtils.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 2 + } + }, + "packages/grafana-data/src/utils/csv.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 3 + }, + "@typescript-eslint/no-explicit-any": { + "count": 2 + } + }, + "packages/grafana-data/src/utils/datasource.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 2 + } + }, + "packages/grafana-data/src/utils/flotPairs.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "packages/grafana-data/src/utils/location.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + } + }, + "packages/grafana-data/src/utils/store.ts": { + "no-restricted-syntax": { + "count": 6 + } + }, + "packages/grafana-data/src/utils/url.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 2 + }, + "@typescript-eslint/no-explicit-any": { + "count": 7 + } + }, + "packages/grafana-data/src/utils/valueMappings.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 2 + }, + "@typescript-eslint/no-explicit-any": { + "count": 3 + } + }, + "packages/grafana-data/src/vector/CircularVector.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "packages/grafana-data/src/vector/FunctionalVector.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 9 + } + }, + "packages/grafana-data/test/helpers/pluginMocks.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + } + }, + "packages/grafana-e2e-selectors/src/resolver.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + } + }, + "packages/grafana-o11y-ds-frontend/src/createNodeGraphFrames.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + } + }, + "packages/grafana-prometheus/src/components/PromExploreExtraField.tsx": { + "no-restricted-syntax": { + "count": 4 + } + }, + "packages/grafana-prometheus/src/components/PromQueryField.tsx": { + "no-restricted-syntax": { + "count": 3 + } + }, + "packages/grafana-prometheus/src/components/metrics-browser/useMetricsLabelsValues.ts": { + "no-restricted-syntax": { + "count": 6 + } + }, + "packages/grafana-prometheus/src/configuration/AlertingSettingsOverhaul.tsx": { + "no-restricted-syntax": { + "count": 5 + } + }, + "packages/grafana-prometheus/src/configuration/ExemplarSetting.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "packages/grafana-prometheus/src/configuration/PromSettings.tsx": { + "no-restricted-syntax": { + "count": 25 + } + }, + "packages/grafana-prometheus/src/datasource.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + }, + "@typescript-eslint/no-explicit-any": { + "count": 3 + } + }, + "packages/grafana-prometheus/src/language_provider.test.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 8 + } + }, + "packages/grafana-prometheus/src/language_provider.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 7 + } + }, + "packages/grafana-prometheus/src/language_utils.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + } + }, + "packages/grafana-prometheus/src/querybuilder/QueryPattern.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "packages/grafana-prometheus/src/querybuilder/components/LabelFilterItem.tsx": { + "@typescript-eslint/consistent-type-assertions": { + "count": 4 + } + }, + "packages/grafana-prometheus/src/querybuilder/components/LabelParamEditor.tsx": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + } + }, + "packages/grafana-prometheus/src/querybuilder/components/PromQueryCodeEditor.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "packages/grafana-prometheus/src/querybuilder/shared/OperationEditor.tsx": { + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "packages/grafana-prometheus/src/querybuilder/shared/OperationParamEditorRegistry.tsx": { + "@typescript-eslint/consistent-type-assertions": { + "count": 3 + } + }, + "packages/grafana-prometheus/src/querybuilder/shared/types.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "packages/grafana-prometheus/src/resource_clients.test.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 8 + } + }, + "packages/grafana-prometheus/src/types.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 3 + } + }, + "packages/grafana-runtime/src/analytics/types.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "packages/grafana-runtime/src/config.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 5 + }, + "no-restricted-syntax": { + "count": 1 + } + }, + "packages/grafana-runtime/src/services/EchoSrv.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 4 + } + }, + "packages/grafana-runtime/src/services/LocationService.tsx": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + }, + "@typescript-eslint/no-explicit-any": { + "count": 5 + } + }, + "packages/grafana-runtime/src/services/backendSrv.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 12 + } + }, + "packages/grafana-runtime/src/services/pluginExtensions/usePluginComponent.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + } + }, + "packages/grafana-runtime/src/services/pluginExtensions/usePluginComponents.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + } + }, + "packages/grafana-runtime/src/services/pluginExtensions/usePluginFunctions.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + } + }, + "packages/grafana-runtime/src/utils/DataSourceWithBackend.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "packages/grafana-runtime/src/utils/queryResponse.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + } + }, + "packages/grafana-runtime/src/utils/userStorage.tsx": { + "no-restricted-syntax": { + "count": 12 + } + }, + "packages/grafana-schema/src/veneer/common.types.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "packages/grafana-schema/src/veneer/dashboard.types.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 5 + }, + "@typescript-eslint/no-explicit-any": { + "count": 2 + } + }, + "packages/grafana-sql/src/components/configuration/ConnectionLimits.tsx": { + "no-restricted-syntax": { + "count": 2 + } + }, + "packages/grafana-sql/src/components/configuration/MaxLifetimeField.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "packages/grafana-sql/src/components/configuration/MaxOpenConnectionsField.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "packages/grafana-sql/src/components/configuration/TLSSecretsConfig.tsx": { + "no-restricted-syntax": { + "count": 3 + } + }, + "packages/grafana-sql/src/components/visual-query-builder/Preview.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "packages/grafana-ui/src/components/ColorPicker/ColorPicker.tsx": { + "@typescript-eslint/no-explicit-any": { + "count": 2 + } + }, + "packages/grafana-ui/src/components/Combobox/Combobox.story.tsx": { + "react-hooks/rules-of-hooks": { + "count": 5 + } + }, + "packages/grafana-ui/src/components/Combobox/MultiCombobox.story.tsx": { + "no-restricted-syntax": { + "count": 1 + }, + "react-hooks/rules-of-hooks": { + "count": 5 + } + }, + "packages/grafana-ui/src/components/Combobox/MultiCombobox.tsx": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + } + }, + "packages/grafana-ui/src/components/Combobox/useOptions.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + } + }, + "packages/grafana-ui/src/components/ConfirmModal/ConfirmContent.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "packages/grafana-ui/src/components/DataLinks/DataLinkInput.tsx": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + } + }, + "packages/grafana-ui/src/components/DataSourceSettings/AlertingSettings.tsx": { + "no-restricted-syntax": { + "count": 3 + } + }, + "packages/grafana-ui/src/components/DataSourceSettings/CustomHeadersSettings.tsx": { + "@typescript-eslint/no-explicit-any": { + "count": 2 + }, + "no-restricted-syntax": { + "count": 3 + } + }, + "packages/grafana-ui/src/components/DataSourceSettings/SecureSocksProxySettings.tsx": { + "no-restricted-syntax": { + "count": 3 + } + }, + "packages/grafana-ui/src/components/DataSourceSettings/TLSAuthSettings.tsx": { + "no-restricted-syntax": { + "count": 3 + } + }, + "packages/grafana-ui/src/components/DataSourceSettings/types.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 2 + } + }, + "packages/grafana-ui/src/components/ElementSelectionContext/ElementSelectionContext.tsx": { + "react-hooks/rules-of-hooks": { + "count": 3 + } + }, + "packages/grafana-ui/src/components/FileDropzone/FileDropzone.story.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "packages/grafana-ui/src/components/FormField/FormField.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "packages/grafana-ui/src/components/FormLabel/FormLabel.tsx": { + "no-restricted-syntax": { + "count": 3 + } + }, + "packages/grafana-ui/src/components/Forms/Checkbox.story.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "packages/grafana-ui/src/components/Forms/Form.story.tsx": { + "react-hooks/rules-of-hooks": { + "count": 9 + } + }, + "packages/grafana-ui/src/components/Forms/InlineField.story.tsx": { + "react-hooks/rules-of-hooks": { + "count": 9 + } + }, + "packages/grafana-ui/src/components/Forms/Legacy/Input/Input.tsx": { + "@typescript-eslint/consistent-type-assertions": { + "count": 2 + }, + "@typescript-eslint/no-explicit-any": { + "count": 1 + }, + "no-restricted-syntax": { + "count": 1 + } + }, + "packages/grafana-ui/src/components/Forms/Legacy/Select/NoOptionsMessage.tsx": { + "no-restricted-syntax": { + "count": 2 + } + }, + "packages/grafana-ui/src/components/Forms/Legacy/Select/Select.tsx": { + "@typescript-eslint/no-explicit-any": { + "count": 1 + }, + "no-restricted-syntax": { + "count": 6 + } + }, + "packages/grafana-ui/src/components/Forms/Legacy/Select/SelectOption.tsx": { + "@typescript-eslint/no-explicit-any": { + "count": 2 + }, + "no-restricted-syntax": { + "count": 4 + } + }, + "packages/grafana-ui/src/components/Forms/Legacy/Select/SelectOptionGroup.tsx": { + "@typescript-eslint/no-explicit-any": { + "count": 3 + } + }, + "packages/grafana-ui/src/components/Forms/Legacy/Switch/Switch.tsx": { + "no-restricted-syntax": { + "count": 3 + } + }, + "packages/grafana-ui/src/components/Icon/Icon.story.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "packages/grafana-ui/src/components/InteractiveTable/InteractiveTable.story.tsx": { + "no-restricted-syntax": { + "count": 3 + } + }, + "packages/grafana-ui/src/components/JSONFormatter/json_explorer/json_explorer.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 2 + } + }, + "packages/grafana-ui/src/components/Layout/Stack/Stack.story.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "packages/grafana-ui/src/components/MatchersUI/FieldValueMatcher.tsx": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + } + }, + "packages/grafana-ui/src/components/MatchersUI/fieldMatchersUI.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "packages/grafana-ui/src/components/Menu/Menu.story.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "packages/grafana-ui/src/components/Modal/Modal.story.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "packages/grafana-ui/src/components/Modal/ModalsContext.tsx": { + "@typescript-eslint/no-explicit-any": { + "count": 4 + } + }, + "packages/grafana-ui/src/components/PageLayout/PageToolbar.story.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "packages/grafana-ui/src/components/PanelChrome/PanelChrome.story.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "packages/grafana-ui/src/components/PanelChrome/PanelContext.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 2 + } + }, + "packages/grafana-ui/src/components/PanelChrome/index.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + } + }, + "packages/grafana-ui/src/components/QueryField/QueryField.story.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "packages/grafana-ui/src/components/SecretFormField/SecretFormField.tsx": { + "no-restricted-syntax": { + "count": 2 + } + }, + "packages/grafana-ui/src/components/Segment/Segment.story.tsx": { + "no-restricted-syntax": { + "count": 2 + } + }, + "packages/grafana-ui/src/components/Segment/SegmentAsync.story.tsx": { + "no-restricted-syntax": { + "count": 2 + } + }, + "packages/grafana-ui/src/components/Segment/SegmentInput.story.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "packages/grafana-ui/src/components/Segment/SegmentInput.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "packages/grafana-ui/src/components/Segment/SegmentSelect.tsx": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + } + }, + "packages/grafana-ui/src/components/Select/SelectBase.tsx": { + "@typescript-eslint/consistent-type-assertions": { + "count": 2 + }, + "@typescript-eslint/no-explicit-any": { + "count": 4 + } + }, + "packages/grafana-ui/src/components/Select/resetSelectStyles.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 4 + } + }, + "packages/grafana-ui/src/components/Select/types.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 6 + } + }, + "packages/grafana-ui/src/components/SingleStatShared/SingleStatBaseOptions.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 3 + }, + "@typescript-eslint/no-explicit-any": { + "count": 13 + } + }, + "packages/grafana-ui/src/components/Slider/RangeSlider.story.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "packages/grafana-ui/src/components/Slider/Slider.story.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "packages/grafana-ui/src/components/Table/Cells/TableCell.tsx": { + "@typescript-eslint/consistent-type-assertions": { + "count": 3 + }, + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "packages/grafana-ui/src/components/Table/Table.story.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "packages/grafana-ui/src/components/Table/TableCellInspector.tsx": { + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "packages/grafana-ui/src/components/Table/TableNG/Filter/Filter.tsx": { + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "packages/grafana-ui/src/components/Table/TableNG/Filter/FilterPopup.tsx": { + "@typescript-eslint/no-explicit-any": { + "count": 3 + } + }, + "packages/grafana-ui/src/components/Table/TableNG/Filter/utils.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "packages/grafana-ui/src/components/Table/TableNG/TableNG.test.tsx": { + "@typescript-eslint/no-explicit-any": { + "count": 2 + } + }, + "packages/grafana-ui/src/components/Table/TableNG/utils.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + } + }, + "packages/grafana-ui/src/components/Table/TableRT/Filter.tsx": { + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "packages/grafana-ui/src/components/Table/TableRT/FilterPopup.tsx": { + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "packages/grafana-ui/src/components/Table/TableRT/FooterRow.tsx": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + }, + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "packages/grafana-ui/src/components/Table/TableRT/HeaderRow.tsx": { + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "packages/grafana-ui/src/components/Table/TableRT/Table.tsx": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + }, + "@typescript-eslint/no-explicit-any": { + "count": 2 + } + }, + "packages/grafana-ui/src/components/Table/reducer.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + }, + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "packages/grafana-ui/src/components/Table/types.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 3 + } + }, + "packages/grafana-ui/src/components/Table/utils.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 6 + }, + "no-restricted-syntax": { + "count": 1 + } + }, + "packages/grafana-ui/src/components/Tags/Tag.tsx": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + } + }, + "packages/grafana-ui/src/components/ValuePicker/ValuePicker.tsx": { + "@grafana/no-aria-label-selectors": { + "count": 1 + } + }, + "packages/grafana-ui/src/components/VizLegend/VizLegend.story.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "packages/grafana-ui/src/components/VizLegend/types.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 2 + } + }, + "packages/grafana-ui/src/components/VizRepeater/VizRepeater.tsx": { + "@typescript-eslint/consistent-type-assertions": { + "count": 2 + } + }, + "packages/grafana-ui/src/components/VizTooltip/VizTooltip.tsx": { + "@typescript-eslint/no-explicit-any": { + "count": 2 + } + }, + "packages/grafana-ui/src/components/VizTooltip/VizTooltipFooter.tsx": { + "react/no-unescaped-entities": { + "count": 2 + } + }, + "packages/grafana-ui/src/components/uPlot/Plot.tsx": { + "@typescript-eslint/consistent-type-assertions": { + "count": 2 + } + }, + "packages/grafana-ui/src/components/uPlot/config/UPlotAxisBuilder.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + }, + "@typescript-eslint/no-explicit-any": { + "count": 2 + } + }, + "packages/grafana-ui/src/components/uPlot/config/UPlotConfigBuilder.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 2 + } + }, + "packages/grafana-ui/src/components/uPlot/types.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "packages/grafana-ui/src/components/uPlot/utils.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + }, + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "packages/grafana-ui/src/options/builder/hideSeries.tsx": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + } + }, + "packages/grafana-ui/src/slate-plugins/braces.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + } + }, + "packages/grafana-ui/src/slate-plugins/slate-prism/index.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 2 + } + }, + "packages/grafana-ui/src/slate-plugins/slate-prism/options.tsx": { + "@typescript-eslint/no-explicit-any": { + "count": 2 + } + }, + "packages/grafana-ui/src/slate-plugins/suggestions.tsx": { + "@typescript-eslint/consistent-type-assertions": { + "count": 2 + }, + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "packages/grafana-ui/src/themes/GlobalStyles/forms.ts": { + "no-restricted-syntax": { + "count": 25 + } + }, + "packages/grafana-ui/src/themes/GlobalStyles/legacySelect.ts": { + "no-restricted-syntax": { + "count": 28 + } + }, + "packages/grafana-ui/src/themes/ThemeContext.tsx": { + "@typescript-eslint/consistent-type-assertions": { + "count": 3 + } + }, + "packages/grafana-ui/src/themes/stylesFactory.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "packages/grafana-ui/src/types/forms.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "packages/grafana-ui/src/types/jquery.d.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 3 + } + }, + "packages/grafana-ui/src/types/react-table-config.d.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 2 + } + }, + "packages/grafana-ui/src/utils/debug.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "packages/grafana-ui/src/utils/dom.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "packages/grafana-ui/src/utils/logger.ts": { + "no-restricted-syntax": { + "count": 1 + } + }, + "packages/grafana-ui/src/utils/useAsyncDependency.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "public/app/core/TableModel.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 2 + } + }, + "public/app/core/actions/index.ts": { + "no-barrel-files/no-barrel-files": { + "count": 4 + } + }, + "public/app/core/components/AccessControl/PermissionList.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/core/components/AccessControl/index.ts": { + "no-barrel-files/no-barrel-files": { + "count": 1 + } + }, + "public/app/core/components/AppChrome/History/HistoryWrapper.tsx": { + "no-restricted-syntax": { + "count": 2 + } + }, + "public/app/core/components/AppNotifications/StoredNotificationItem.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/core/components/DynamicImports/SafeDynamicImport.tsx": { + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "public/app/core/components/ForgottenPassword/ChangePassword.tsx": { + "no-restricted-syntax": { + "count": 2 + } + }, + "public/app/core/components/ForgottenPassword/ForgottenPassword.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/core/components/GraphNG/GraphNG.tsx": { + "@typescript-eslint/consistent-type-assertions": { + "count": 4 + }, + "@typescript-eslint/no-explicit-any": { + "count": 2 + } + }, + "public/app/core/components/Login/LoginForm.tsx": { + "no-restricted-syntax": { + "count": 2 + } + }, + "public/app/core/components/Login/PasswordlessConfirmationForm.tsx": { + "no-restricted-syntax": { + "count": 4 + } + }, + "public/app/core/components/Login/PasswordlessLoginForm.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/core/components/NavLandingPage/NavLandingPageCard.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/core/components/OptionsUI/NumberInput.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/core/components/OptionsUI/fieldColor.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/core/components/Page/EditableTitle.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/core/components/PanelTypeFilter/PanelTypeFilter.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/core/components/RolePicker/RolePickerMenu.tsx": { + "no-restricted-syntax": { + "count": 4 + } + }, + "public/app/core/components/RolePickerDrawer/RolePickerDrawer.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/core/components/SharedPreferences/SharedPreferences.tsx": { + "no-restricted-syntax": { + "count": 8 + }, + "react/no-unescaped-entities": { + "count": 1 + } + }, + "public/app/core/components/Signup/SignupPage.tsx": { + "no-restricted-syntax": { + "count": 6 + } + }, + "public/app/core/components/Signup/VerifyEmail.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/core/components/TagFilter/TagFilter.tsx": { + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "public/app/core/components/ThemeSelector/ThemeSelectorDrawer.tsx": { + "react/no-unescaped-entities": { + "count": 1 + } + }, + "public/app/core/components/TimeSeries/utils.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + }, + "@typescript-eslint/no-explicit-any": { + "count": 2 + } + }, + "public/app/core/config.ts": { + "no-barrel-files/no-barrel-files": { + "count": 2 + } + }, + "public/app/core/core.ts": { + "no-barrel-files/no-barrel-files": { + "count": 7 + } + }, + "public/app/core/navigation/types.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "public/app/core/reducers/appNotification.ts": { + "no-restricted-syntax": { + "count": 3 + } + }, + "public/app/core/reducers/navBarTree.ts": { + "no-restricted-syntax": { + "count": 2 + } + }, + "public/app/core/services/ResponseQueue.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "public/app/core/services/backend_srv.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + }, + "@typescript-eslint/no-explicit-any": { + "count": 5 + } + }, + "public/app/core/services/context_srv.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + }, + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "public/app/core/services/echo/backends/analytics/RudderstackBackend.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 2 + }, + "@typescript-eslint/no-explicit-any": { + "count": 2 + } + }, + "public/app/core/specs/backend_srv.test.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "public/app/core/store.ts": { + "no-barrel-files/no-barrel-files": { + "count": 1 + } + }, + "public/app/core/time_series2.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 19 + } + }, + "public/app/core/utils/connectWithReduxStore.tsx": { + "@typescript-eslint/consistent-type-assertions": { + "count": 2 + }, + "@typescript-eslint/no-explicit-any": { + "count": 8 + } + }, + "public/app/core/utils/deferred.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "public/app/core/utils/fetch.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 5 + } + }, + "public/app/core/utils/object.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 4 + }, + "@typescript-eslint/no-explicit-any": { + "count": 3 + } + }, + "public/app/core/utils/richHistory.test.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "public/app/core/utils/richHistory.ts": { + "no-barrel-files/no-barrel-files": { + "count": 3 + } + }, + "public/app/core/utils/ticks.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 2 + } + }, + "public/app/features/actions/ActionEditor.tsx": { + "no-restricted-syntax": { + "count": 7 + } + }, + "public/app/features/actions/ActionVariablesEditor.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/features/actions/ParamsEditor.tsx": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + }, + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/features/admin/AdminEditOrgPage.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/features/admin/AdminFeatureTogglesTable.tsx": { + "no-restricted-syntax": { + "count": 3 + } + }, + "public/app/features/admin/ServerStatsCard.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/features/admin/UserCreatePage.tsx": { + "no-restricted-syntax": { + "count": 4 + } + }, + "public/app/features/admin/UserLdapSyncInfo.tsx": { + "no-restricted-syntax": { + "count": 3 + } + }, + "public/app/features/admin/UserOrgs.tsx": { + "no-restricted-syntax": { + "count": 2 + } + }, + "public/app/features/admin/ldap/LdapDrawer.tsx": { + "no-restricted-syntax": { + "count": 23 + } + }, + "public/app/features/admin/ldap/LdapGroupMapping.tsx": { + "no-restricted-syntax": { + "count": 4 + } + }, + "public/app/features/admin/ldap/LdapPage.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/features/admin/ldap/LdapSettingsPage.tsx": { + "no-restricted-syntax": { + "count": 5 + } + }, + "public/app/features/alerting/routes.tsx": { + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "public/app/features/alerting/state/ThresholdMapper.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "public/app/features/alerting/state/alertDef.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + }, + "@typescript-eslint/no-explicit-any": { + "count": 4 + } + }, + "public/app/features/alerting/state/query_part.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 10 + } + }, + "public/app/features/alerting/state/reducers.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 2 + } + }, + "public/app/features/alerting/unified/AlertsFolderView.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/features/alerting/unified/RedirectToRuleViewer.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/features/alerting/unified/components/AlertLabelDropdown.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/features/alerting/unified/components/AnnotationDetailsField.tsx": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + } + }, + "public/app/features/alerting/unified/components/Authorize.tsx": { + "@typescript-eslint/consistent-type-assertions": { + "count": 2 + } + }, + "public/app/features/alerting/unified/components/alert-groups/AlertGroupFilter.tsx": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + } + }, + "public/app/features/alerting/unified/components/alert-groups/AlertGroupHeader.tsx": { + "@typescript-eslint/consistent-type-assertions": { + "count": 2 + } + }, + "public/app/features/alerting/unified/components/alert-groups/GroupBy.tsx": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + } + }, + "public/app/features/alerting/unified/components/alert-groups/MatcherFilter.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/features/alerting/unified/components/contact-points/components/ContactPointsFilter.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/features/alerting/unified/components/contact-points/utils.ts": { + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/features/alerting/unified/components/create-folder/CreateNewFolder.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/features/alerting/unified/components/import-to-gma/NamespaceAndGroupFilter.tsx": { + "no-restricted-syntax": { + "count": 2 + } + }, + "public/app/features/alerting/unified/components/mute-timings/MuteTimingForm.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/features/alerting/unified/components/mute-timings/MuteTimingTimeInterval.tsx": { + "no-restricted-syntax": { + "count": 5 + } + }, + "public/app/features/alerting/unified/components/mute-timings/MuteTimingTimeRange.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/features/alerting/unified/components/notification-policies/EditDefaultPolicyForm.tsx": { + "no-restricted-syntax": { + "count": 5 + } + }, + "public/app/features/alerting/unified/components/notification-policies/EditNotificationPolicyForm.tsx": { + "no-restricted-syntax": { + "count": 13 + } + }, + "public/app/features/alerting/unified/components/notification-policies/Filters.tsx": { + "no-restricted-syntax": { + "count": 2 + } + }, + "public/app/features/alerting/unified/components/receivers/TemplatePreview.tsx": { + "react-hooks/rules-of-hooks": { + "count": 1 + } + }, + "public/app/features/alerting/unified/components/receivers/form/ChannelOptions.tsx": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + }, + "@typescript-eslint/no-explicit-any": { + "count": 2 + }, + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/features/alerting/unified/components/receivers/form/ChannelSubForm.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/features/alerting/unified/components/receivers/form/CloudCommonChannelSettings.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/features/alerting/unified/components/receivers/form/GenerateAlertDataModal.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/features/alerting/unified/components/receivers/form/GrafanaCommonChannelSettings.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/features/alerting/unified/components/receivers/form/ReceiverForm.tsx": { + "@typescript-eslint/consistent-type-assertions": { + "count": 2 + }, + "@typescript-eslint/no-explicit-any": { + "count": 1 + }, + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/features/alerting/unified/components/receivers/form/fields/OptionField.tsx": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + }, + "@typescript-eslint/no-explicit-any": { + "count": 3 + }, + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/features/alerting/unified/components/receivers/form/fields/SubformArrayField.tsx": { + "@typescript-eslint/no-explicit-any": { + "count": 2 + } + }, + "public/app/features/alerting/unified/components/receivers/form/fields/SubformField.tsx": { + "@typescript-eslint/no-explicit-any": { + "count": 2 + } + }, + "public/app/features/alerting/unified/components/rule-editor/AlertRuleNameInput.tsx": { + "no-restricted-syntax": { + "count": 3 + } + }, + "public/app/features/alerting/unified/components/rule-editor/AnnotationKeyInput.tsx": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + } + }, + "public/app/features/alerting/unified/components/rule-editor/CloudEvaluationBehavior.tsx": { + "no-restricted-syntax": { + "count": 2 + } + }, + "public/app/features/alerting/unified/components/rule-editor/DashboardPicker.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/features/alerting/unified/components/rule-editor/ExpressionEditor.tsx": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + } + }, + "public/app/features/alerting/unified/components/rule-editor/FolderSelector.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/features/alerting/unified/components/rule-editor/GrafanaEvaluationBehavior.tsx": { + "no-restricted-syntax": { + "count": 10 + } + }, + "public/app/features/alerting/unified/components/rule-editor/GroupAndNamespaceFields.tsx": { + "no-restricted-syntax": { + "count": 2 + } + }, + "public/app/features/alerting/unified/components/rule-editor/PreviewRule.tsx": { + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "public/app/features/alerting/unified/components/rule-editor/QueryRows.tsx": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + }, + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/features/alerting/unified/components/rule-editor/RuleInspector.tsx": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + } + }, + "public/app/features/alerting/unified/components/rule-editor/alert-rule-form/AlertRuleForm.tsx": { + "no-restricted-syntax": { + "count": 8 + } + }, + "public/app/features/alerting/unified/components/rule-editor/alert-rule-form/simplifiedRouting/contactPoint/ContactPointSelector.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/features/alerting/unified/components/rule-editor/alert-rule-form/simplifiedRouting/route-settings/ActiveTimingFields.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/features/alerting/unified/components/rule-editor/alert-rule-form/simplifiedRouting/route-settings/MuteTimingFields.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/features/alerting/unified/components/rule-editor/alert-rule-form/simplifiedRouting/route-settings/RouteSettings.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/features/alerting/unified/components/rule-editor/alert-rule-form/simplifiedRouting/route-settings/RouteTimings.tsx": { + "no-restricted-syntax": { + "count": 3 + } + }, + "public/app/features/alerting/unified/components/rule-editor/labels/LabelsField.tsx": { + "no-restricted-syntax": { + "count": 4 + } + }, + "public/app/features/alerting/unified/components/rule-editor/query-and-alert-condition/CloudDataSourceSelector.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/features/alerting/unified/components/rule-editor/query-and-alert-condition/QueryAndExpressionsStep.tsx": { + "no-restricted-syntax": { + "count": 2 + } + }, + "public/app/features/alerting/unified/components/rule-editor/rule-types/RuleType.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/features/alerting/unified/components/rule-viewer/RuleViewer.tsx": { + "react-hooks/rules-of-hooks": { + "count": 1 + } + }, + "public/app/features/alerting/unified/components/rules/Filter/RulesFilter.v1.tsx": { + "no-restricted-syntax": { + "count": 4 + } + }, + "public/app/features/alerting/unified/components/rules/RuleListGroupView.tsx": { + "no-restricted-syntax": { + "count": 2 + } + }, + "public/app/features/alerting/unified/components/rules/RuleListStateView.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/features/alerting/unified/components/rules/state-history/LokiStateHistory.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/features/alerting/unified/components/rules/state-history/StateHistory.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/features/alerting/unified/components/settings/AlertmanagerCard.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/features/alerting/unified/components/silences/MatchersField.tsx": { + "no-restricted-syntax": { + "count": 5 + } + }, + "public/app/features/alerting/unified/components/silences/SilencePeriod.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/features/alerting/unified/components/silences/SilencesEditor.tsx": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + }, + "no-restricted-syntax": { + "count": 3 + } + }, + "public/app/features/alerting/unified/components/silences/SilencesFilter.tsx": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + }, + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/features/alerting/unified/group-details/GroupEditPage.tsx": { + "no-restricted-syntax": { + "count": 5 + } + }, + "public/app/features/alerting/unified/hooks/useAlertmanagerConfig.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + } + }, + "public/app/features/alerting/unified/hooks/useCombinedRuleNamespaces.ts": { + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/features/alerting/unified/hooks/useControlledFieldArray.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "public/app/features/alerting/unified/hooks/useFilteredRules.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + } + }, + "public/app/features/alerting/unified/insights/InsightsMenuButton.tsx": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + } + }, + "public/app/features/alerting/unified/mocks.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "public/app/features/alerting/unified/rule-editor/formDefaults.ts": { + "no-restricted-syntax": { + "count": 6 + } + }, + "public/app/features/alerting/unified/rule-list/FilterViewStatus.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/features/alerting/unified/rule-list/StateView.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/features/alerting/unified/types/alerting.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 5 + } + }, + "public/app/features/alerting/unified/types/receiver-form.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "public/app/features/alerting/unified/utils/datasource.ts": { + "no-restricted-syntax": { + "count": 2 + } + }, + "public/app/features/alerting/unified/utils/misc.test.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 3 + } + }, + "public/app/features/alerting/unified/utils/receiver-form.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 3 + }, + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "public/app/features/alerting/unified/utils/redux.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 6 + }, + "@typescript-eslint/no-explicit-any": { + "count": 2 + } + }, + "public/app/features/alerting/unified/utils/rule-id.ts": { + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/features/alerting/unified/utils/rules.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 3 + }, + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "public/app/features/annotations/events_processing.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "public/app/features/annotations/standardAnnotationSupport.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + }, + "@typescript-eslint/no-explicit-any": { + "count": 2 + } + }, + "public/app/features/auth-config/FieldRenderer.tsx": { + "no-restricted-syntax": { + "count": 5 + } + }, + "public/app/features/auth-config/ProviderConfigForm.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/features/auth-config/components/ServerDiscoveryModal.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/features/auth-config/index.ts": { + "no-barrel-files/no-barrel-files": { + "count": 1 + } + }, + "public/app/features/auth-config/utils/data.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + } + }, + "public/app/features/browse-dashboards/components/BrowseActions/MoveModal.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/features/browse-dashboards/components/NewFolderForm.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/features/commandPalette/actions/recentScopesActions.ts": { + "react-hooks/rules-of-hooks": { + "count": 1 + } + }, + "public/app/features/commandPalette/actions/scopeActions.tsx": { + "react-hooks/rules-of-hooks": { + "count": 4 + } + }, + "public/app/features/commandPalette/actions/scopesUtils.ts": { + "react-hooks/rules-of-hooks": { + "count": 1 + } + }, + "public/app/features/connections/components/ConnectionsRedirectNotice/index.ts": { + "no-barrel-files/no-barrel-files": { + "count": 1 + } + }, + "public/app/features/connections/tabs/ConnectData/CardGrid/CardGrid.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/features/connections/tabs/ConnectData/CardGrid/index.tsx": { + "no-barrel-files/no-barrel-files": { + "count": 1 + } + }, + "public/app/features/connections/tabs/ConnectData/CategoryHeader/index.tsx": { + "no-barrel-files/no-barrel-files": { + "count": 1 + } + }, + "public/app/features/connections/tabs/ConnectData/ConnectData.tsx": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + }, + "no-restricted-syntax": { + "count": 4 + }, + "react/no-unescaped-entities": { + "count": 2 + } + }, + "public/app/features/connections/tabs/ConnectData/NoAccessModal/index.tsx": { + "no-barrel-files/no-barrel-files": { + "count": 1 + } + }, + "public/app/features/connections/tabs/ConnectData/Search/index.tsx": { + "no-barrel-files/no-barrel-files": { + "count": 1 + } + }, + "public/app/features/connections/tabs/ConnectData/index.tsx": { + "no-barrel-files/no-barrel-files": { + "count": 1 + } + }, + "public/app/features/correlations/CorrelationsPage.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/features/correlations/Forms/ConfigureCorrelationBasicInfoForm.tsx": { + "no-restricted-syntax": { + "count": 2 + } + }, + "public/app/features/correlations/Forms/ConfigureCorrelationSourceForm.tsx": { + "no-restricted-syntax": { + "count": 3 + } + }, + "public/app/features/correlations/Forms/ConfigureCorrelationTargetForm.tsx": { + "@typescript-eslint/consistent-type-assertions": { + "count": 2 + }, + "no-restricted-syntax": { + "count": 3 + } + }, + "public/app/features/correlations/Forms/QueryEditorField.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/features/correlations/Forms/TransformationEditorRow.tsx": { + "no-restricted-syntax": { + "count": 4 + } + }, + "public/app/features/correlations/components/EmptyCorrelationsCTA.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/features/correlations/types.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 2 + } + }, + "public/app/features/dashboard-scene/addToDashboard/AddToDashboardForm.tsx": { + "no-restricted-syntax": { + "count": 2 + } + }, + "public/app/features/dashboard-scene/conditional-rendering/ConditionalRenderingGroupCondition.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/features/dashboard-scene/conditional-rendering/ConditionalRenderingGroupVisibility.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/features/dashboard-scene/conditional-rendering/ConditionalRenderingTimeRangeSize.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/features/dashboard-scene/edit-pane/DashboardEditPaneRenderer.tsx": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + } + }, + "public/app/features/dashboard-scene/edit-pane/DashboardEditPaneSplitter.tsx": { + "react-hooks/rules-of-hooks": { + "count": 4 + } + }, + "public/app/features/dashboard-scene/edit-pane/DashboardEditableElement.tsx": { + "react-hooks/rules-of-hooks": { + "count": 4 + } + }, + "public/app/features/dashboard-scene/edit-pane/DashboardOutline.tsx": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + } + }, + "public/app/features/dashboard-scene/edit-pane/VizPanelEditableElement.tsx": { + "react-hooks/rules-of-hooks": { + "count": 6 + } + }, + "public/app/features/dashboard-scene/inspect/HelpWizard/HelpWizard.tsx": { + "no-restricted-syntax": { + "count": 3 + } + }, + "public/app/features/dashboard-scene/inspect/HelpWizard/utils.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + } + }, + "public/app/features/dashboard-scene/inspect/InspectJsonTab.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/features/dashboard-scene/pages/DashboardScenePage.tsx": { + "@typescript-eslint/consistent-type-assertions": { + "count": 2 + }, + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "public/app/features/dashboard-scene/pages/DashboardScenePageStateManager.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "public/app/features/dashboard-scene/panel-edit/PanelDataPane/PanelDataPane.tsx": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + } + }, + "public/app/features/dashboard-scene/panel-edit/PanelOptionsPane.test.tsx": { + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "public/app/features/dashboard-scene/panel-edit/PanelVizTypePicker.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/features/dashboard-scene/saving/SaveDashboardAsForm.tsx": { + "no-restricted-syntax": { + "count": 4 + } + }, + "public/app/features/dashboard-scene/saving/SaveDashboardForm.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/features/dashboard-scene/saving/getDashboardChanges.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 8 + }, + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "public/app/features/dashboard-scene/scene/PanelMenuBehavior.tsx": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + } + }, + "public/app/features/dashboard-scene/scene/PanelSearchLayout.tsx": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + } + }, + "public/app/features/dashboard-scene/scene/export/exporters.test.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 6 + } + }, + "public/app/features/dashboard-scene/scene/export/exporters.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 3 + }, + "@typescript-eslint/no-explicit-any": { + "count": 8 + } + }, + "public/app/features/dashboard-scene/scene/layout-auto-grid/AutoGridItemEditor.tsx": { + "react-hooks/rules-of-hooks": { + "count": 1 + } + }, + "public/app/features/dashboard-scene/scene/layout-auto-grid/AutoGridLayoutManagerEditor.tsx": { + "no-restricted-syntax": { + "count": 4 + } + }, + "public/app/features/dashboard-scene/scene/layout-default/DashboardGridItemEditor.tsx": { + "react-hooks/rules-of-hooks": { + "count": 1 + } + }, + "public/app/features/dashboard-scene/scene/layout-default/SceneGridRowEditableElement.tsx": { + "react-hooks/rules-of-hooks": { + "count": 2 + } + }, + "public/app/features/dashboard-scene/scene/layout-default/row-actions/RowOptionsForm.tsx": { + "no-restricted-syntax": { + "count": 2 + } + }, + "public/app/features/dashboard-scene/scene/layout-rows/RowItem.tsx": { + "react-hooks/rules-of-hooks": { + "count": 1 + } + }, + "public/app/features/dashboard-scene/scene/layout-rows/RowItemEditor.tsx": { + "no-restricted-syntax": { + "count": 1 + }, + "react-hooks/rules-of-hooks": { + "count": 1 + } + }, + "public/app/features/dashboard-scene/scene/layout-tabs/TabItem.tsx": { + "react-hooks/rules-of-hooks": { + "count": 1 + } + }, + "public/app/features/dashboard-scene/scene/layout-tabs/TabItemEditor.tsx": { + "no-restricted-syntax": { + "count": 1 + }, + "react-hooks/rules-of-hooks": { + "count": 1 + } + }, + "public/app/features/dashboard-scene/serialization/angularMigration.test.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "public/app/features/dashboard-scene/serialization/buildNewDashboardSaveModel.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + } + }, + "public/app/features/dashboard-scene/serialization/transformSceneToSaveModel.test.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "public/app/features/dashboard-scene/serialization/transformSceneToSaveModel.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 8 + }, + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "public/app/features/dashboard-scene/serialization/transformToV1TypesUtils.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "public/app/features/dashboard-scene/settings/JsonModelEditView.tsx": { + "react/no-unescaped-entities": { + "count": 2 + } + }, + "public/app/features/dashboard-scene/settings/annotations/AnnotationSettingsEdit.tsx": { + "no-restricted-syntax": { + "count": 7 + } + }, + "public/app/features/dashboard-scene/settings/links/DashboardLinkForm.tsx": { + "no-restricted-syntax": { + "count": 10 + } + }, + "public/app/features/dashboard-scene/settings/variables/LocalVariableEditableElement.tsx": { + "react-hooks/rules-of-hooks": { + "count": 3 + } + }, + "public/app/features/dashboard-scene/settings/variables/VariableEditableElement.tsx": { + "no-restricted-syntax": { + "count": 1 + }, + "react-hooks/rules-of-hooks": { + "count": 9 + } + }, + "public/app/features/dashboard-scene/settings/variables/VariableSetEditableElement.tsx": { + "no-restricted-syntax": { + "count": 1 + }, + "react-hooks/rules-of-hooks": { + "count": 2 + } + }, + "public/app/features/dashboard-scene/settings/variables/components/AdHocVariableForm.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/features/dashboard-scene/settings/variables/components/GroupByVariableForm.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/features/dashboard-scene/settings/variables/components/QueryVariableForm.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/features/dashboard-scene/settings/variables/components/VariableHideSelect.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/features/dashboard-scene/settings/variables/components/VariableSelectField.tsx": { + "@typescript-eslint/no-explicit-any": { + "count": 1 + }, + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/features/dashboard-scene/settings/variables/components/VariableTextAreaField.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/features/dashboard-scene/settings/variables/components/VariableTextField.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/features/dashboard-scene/settings/variables/editors/QueryVariableEditor.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/features/dashboard-scene/settings/variables/utils.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + }, + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "public/app/features/dashboard-scene/sharing/ShareButton/share-externally/EmailShare/ConfigEmailSharing/ConfigEmailSharing.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/features/dashboard-scene/sharing/ShareButton/share-externally/EmailShare/ConfigEmailSharing/EmailListConfiguration.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/features/dashboard-scene/sharing/ShareButton/share-snapshot/UpsertSnapshot.tsx": { + "no-restricted-syntax": { + "count": 2 + } + }, + "public/app/features/dashboard-scene/sharing/ShareExportTab.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/features/dashboard-scene/sharing/ShareLinkTab.tsx": { + "no-restricted-syntax": { + "count": 4 + } + }, + "public/app/features/dashboard-scene/sharing/ShareSnapshotTab.tsx": { + "no-restricted-syntax": { + "count": 3 + } + }, + "public/app/features/dashboard-scene/sharing/panel-share/SharePanelPreview.tsx": { + "no-restricted-syntax": { + "count": 3 + } + }, + "public/app/features/dashboard-scene/utils/DashboardModelCompatibilityWrapper.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + } + }, + "public/app/features/dashboard-scene/utils/PanelModelCompatibilityWrapper.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + } + }, + "public/app/features/dashboard-scene/v2schema/ImportDashboardFormV2.tsx": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + }, + "@typescript-eslint/no-explicit-any": { + "count": 3 + }, + "no-restricted-syntax": { + "count": 3 + } + }, + "public/app/features/dashboard-scene/v2schema/ImportDashboardOverviewV2.tsx": { + "@typescript-eslint/consistent-type-assertions": { + "count": 10 + }, + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "public/app/features/dashboard-scene/v2schema/test-helpers.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 3 + } + }, + "public/app/features/dashboard/api/ResponseTransformers.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 4 + }, + "@typescript-eslint/no-explicit-any": { + "count": 3 + } + }, + "public/app/features/dashboard/components/AddLibraryPanelWidget/index.ts": { + "no-barrel-files/no-barrel-files": { + "count": 1 + } + }, + "public/app/features/dashboard/components/AnnotationSettings/AnnotationSettingsEdit.tsx": { + "no-restricted-syntax": { + "count": 7 + } + }, + "public/app/features/dashboard/components/DashExportModal/DashboardExporter.test.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 6 + } + }, + "public/app/features/dashboard/components/DashExportModal/DashboardExporter.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 3 + }, + "@typescript-eslint/no-explicit-any": { + "count": 7 + } + }, + "public/app/features/dashboard/components/DashExportModal/index.ts": { + "no-barrel-files/no-barrel-files": { + "count": 1 + } + }, + "public/app/features/dashboard/components/DashNav/index.ts": { + "no-barrel-files/no-barrel-files": { + "count": 1 + } + }, + "public/app/features/dashboard/components/DashboardPrompt/DashboardPrompt.test.tsx": { + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "public/app/features/dashboard/components/DashboardPrompt/DashboardPrompt.tsx": { + "@typescript-eslint/consistent-type-assertions": { + "count": 7 + }, + "@typescript-eslint/no-explicit-any": { + "count": 2 + } + }, + "public/app/features/dashboard/components/DashboardRow/DashboardRow.test.tsx": { + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "public/app/features/dashboard/components/DashboardRow/index.ts": { + "no-barrel-files/no-barrel-files": { + "count": 1 + } + }, + "public/app/features/dashboard/components/DashboardSettings/AutoRefreshIntervals.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/features/dashboard/components/DashboardSettings/GeneralSettings.tsx": { + "no-restricted-syntax": { + "count": 6 + } + }, + "public/app/features/dashboard/components/DashboardSettings/TimePickerSettings.tsx": { + "no-restricted-syntax": { + "count": 5 + } + }, + "public/app/features/dashboard/components/DashboardSettings/index.ts": { + "no-barrel-files/no-barrel-files": { + "count": 1 + } + }, + "public/app/features/dashboard/components/HelpWizard/HelpWizard.tsx": { + "no-restricted-syntax": { + "count": 3 + } + }, + "public/app/features/dashboard/components/Inspector/PanelInspector.tsx": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + } + }, + "public/app/features/dashboard/components/PanelEditor/DynamicConfigValueEditor.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/features/dashboard/components/PanelEditor/OptionsPaneItemDescriptor.tsx": { + "@grafana/no-aria-label-selectors": { + "count": 1 + }, + "@typescript-eslint/no-explicit-any": { + "count": 1 + }, + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/features/dashboard/components/PanelEditor/PanelEditor.tsx": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + } + }, + "public/app/features/dashboard/components/PanelEditor/VisualizationSelectPane.tsx": { + "@grafana/no-aria-label-selectors": { + "count": 1 + }, + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/features/dashboard/components/PanelEditor/getVisualizationOptions.tsx": { + "@typescript-eslint/no-explicit-any": { + "count": 2 + } + }, + "public/app/features/dashboard/components/PanelEditor/utils.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 2 + }, + "@typescript-eslint/no-explicit-any": { + "count": 3 + } + }, + "public/app/features/dashboard/components/RowOptions/RowOptionsForm.tsx": { + "no-restricted-syntax": { + "count": 2 + } + }, + "public/app/features/dashboard/components/SaveDashboard/SaveDashboardButton.tsx": { + "@grafana/no-aria-label-selectors": { + "count": 2 + } + }, + "public/app/features/dashboard/components/SaveDashboard/forms/SaveDashboardAsForm.tsx": { + "no-restricted-syntax": { + "count": 4 + } + }, + "public/app/features/dashboard/components/SaveDashboard/forms/SaveDashboardForm.tsx": { + "@grafana/no-aria-label-selectors": { + "count": 3 + } + }, + "public/app/features/dashboard/components/SaveDashboard/useDashboardSave.tsx": { + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "public/app/features/dashboard/components/ShareModal/ShareEmbed.tsx": { + "no-restricted-syntax": { + "count": 2 + } + }, + "public/app/features/dashboard/components/ShareModal/ShareExport.tsx": { + "@typescript-eslint/no-explicit-any": { + "count": 1 + }, + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/features/dashboard/components/ShareModal/ShareLink.tsx": { + "no-restricted-syntax": { + "count": 3 + } + }, + "public/app/features/dashboard/components/ShareModal/SharePublicDashboard/ConfigPublicDashboard/ConfigPublicDashboard.tsx": { + "no-restricted-syntax": { + "count": 3 + } + }, + "public/app/features/dashboard/components/ShareModal/SharePublicDashboard/ConfigPublicDashboard/EmailSharingConfiguration.tsx": { + "no-restricted-syntax": { + "count": 2 + } + }, + "public/app/features/dashboard/components/ShareModal/ShareSnapshot.tsx": { + "no-restricted-syntax": { + "count": 4 + } + }, + "public/app/features/dashboard/components/ShareModal/ThemePicker.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/features/dashboard/components/SubMenu/AnnotationPicker.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/features/dashboard/components/SubMenu/DashboardLinksDashboard.tsx": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + }, + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "public/app/features/dashboard/components/SubMenu/SubMenuItems.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/features/dashboard/components/TransformationsEditor/TransformationFilter.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/features/dashboard/components/TransformationsEditor/TransformationPicker.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/features/dashboard/components/TransformationsEditor/TransformationsEditor.tsx": { + "@typescript-eslint/consistent-type-assertions": { + "count": 2 + } + }, + "public/app/features/dashboard/components/VersionHistory/useDashboardRestore.tsx": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + }, + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "public/app/features/dashboard/containers/DashboardPage.tsx": { + "@grafana/no-aria-label-selectors": { + "count": 1 + }, + "@typescript-eslint/consistent-type-assertions": { + "count": 2 + }, + "@typescript-eslint/no-explicit-any": { + "count": 2 + } + }, + "public/app/features/dashboard/containers/DashboardPageProxy.tsx": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + } + }, + "public/app/features/dashboard/containers/PublicDashboardPage.tsx": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + } + }, + "public/app/features/dashboard/dashgrid/SeriesVisibilityConfigFactory.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + } + }, + "public/app/features/dashboard/services/DashboardLoaderSrv.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 3 + } + }, + "public/app/features/dashboard/state/DashboardMigrator.test.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 10 + } + }, + "public/app/features/dashboard/state/DashboardMigrator.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 4 + }, + "@typescript-eslint/no-explicit-any": { + "count": 24 + } + }, + "public/app/features/dashboard/state/DashboardMigratorToBackend.test.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "public/app/features/dashboard/state/DashboardModel.repeat.test.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 4 + } + }, + "public/app/features/dashboard/state/DashboardModel.test.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "public/app/features/dashboard/state/DashboardModel.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + }, + "@typescript-eslint/no-explicit-any": { + "count": 23 + } + }, + "public/app/features/dashboard/state/PanelModel.test.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "public/app/features/dashboard/state/PanelModel.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 5 + }, + "@typescript-eslint/no-explicit-any": { + "count": 17 + } + }, + "public/app/features/dashboard/state/TimeModel.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 2 + } + }, + "public/app/features/dashboard/state/actions.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "public/app/features/dashboard/state/getPanelPluginToMigrateTo.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "public/app/features/dashboard/state/initDashboard.test.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "public/app/features/dashboard/utils/getPanelMenu.test.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "public/app/features/dashboard/utils/getPanelMenu.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + }, + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "public/app/features/dashboard/utils/panelMerge.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 2 + }, + "@typescript-eslint/no-explicit-any": { + "count": 2 + } + }, + "public/app/features/datasources/components/BasicSettings.tsx": { + "no-restricted-syntax": { + "count": 3 + } + }, + "public/app/features/datasources/components/ButtonRow.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/features/datasources/components/DataSourceLoadError.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/features/datasources/components/DataSourcePluginState.tsx": { + "no-restricted-syntax": { + "count": 3 + } + }, + "public/app/features/datasources/components/DataSourceTestingStatus.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/features/datasources/components/DataSourceTypeCard.tsx": { + "@grafana/no-aria-label-selectors": { + "count": 1 + }, + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/features/datasources/components/DataSourcesListCard.tsx": { + "no-restricted-syntax": { + "count": 2 + } + }, + "public/app/features/datasources/components/picker/DataSourceCard.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/features/datasources/state/actions.test.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 2 + } + }, + "public/app/features/datasources/state/actions.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + }, + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "public/app/features/datasources/state/navModel.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + }, + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "public/app/features/datasources/state/reducers.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 2 + } + }, + "public/app/features/datasources/state/selectors.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 2 + }, + "no-restricted-syntax": { + "count": 2 + } + }, + "public/app/features/dimensions/editors/FileUploader.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/features/dimensions/editors/FolderPickerTab.tsx": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + }, + "no-restricted-syntax": { + "count": 2 + } + }, + "public/app/features/dimensions/editors/ResourceDimensionEditor.tsx": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + } + }, + "public/app/features/dimensions/editors/TextDimensionEditor.tsx": { + "@typescript-eslint/consistent-type-assertions": { + "count": 2 + } + }, + "public/app/features/dimensions/editors/ThresholdsEditor/ThresholdsEditor.tsx": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + } + }, + "public/app/features/dimensions/editors/URLPickerTab.tsx": { + "no-restricted-syntax": { + "count": 2 + } + }, + "public/app/features/dimensions/scale.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + } + }, + "public/app/features/dimensions/types.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "public/app/features/dimensions/utils.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + } + }, + "public/app/features/explore/CorrelationHelper.tsx": { + "no-restricted-syntax": { + "count": 3 + } + }, + "public/app/features/explore/CorrelationTransformationAddModal.tsx": { + "no-restricted-syntax": { + "count": 4 + } + }, + "public/app/features/explore/Logs/LogsColumnSearch.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/features/explore/PrometheusListView/RawListContainer.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/features/explore/PrometheusListView/RawListItem.tsx": { + "react/no-unescaped-entities": { + "count": 2 + } + }, + "public/app/features/explore/RichHistory/RichHistorySettingsTab.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/features/explore/TraceView/TraceView.tsx": { + "@typescript-eslint/consistent-type-assertions": { + "count": 2 + } + }, + "public/app/features/explore/TraceView/components/TracePageHeader/TracePageHeader.tsx": { + "react-hooks/rules-of-hooks": { + "count": 1 + } + }, + "public/app/features/explore/TraceView/components/TracePageHeader/index.tsx": { + "no-barrel-files/no-barrel-files": { + "count": 1 + } + }, + "public/app/features/explore/TraceView/components/TraceTimelineViewer/SpanDetail/SpanDetailLinkButtons.tsx": { + "react-hooks/rules-of-hooks": { + "count": 1 + } + }, + "public/app/features/explore/TraceView/components/TraceTimelineViewer/SpanLinks.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/features/explore/TraceView/components/TraceTimelineViewer/TimelineHeaderRow/index.tsx": { + "no-barrel-files/no-barrel-files": { + "count": 1 + } + }, + "public/app/features/explore/TraceView/components/TraceTimelineViewer/utils.tsx": { + "no-barrel-files/no-barrel-files": { + "count": 1 + } + }, + "public/app/features/explore/TraceView/components/demo/trace-generators.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + } + }, + "public/app/features/explore/TraceView/components/model/ddg/types.tsx": { + "no-barrel-files/no-barrel-files": { + "count": 1 + } + }, + "public/app/features/explore/TraceView/components/model/link-patterns.tsx": { + "@typescript-eslint/consistent-type-assertions": { + "count": 2 + }, + "@typescript-eslint/no-explicit-any": { + "count": 10 + } + }, + "public/app/features/explore/TraceView/components/model/transform-trace-data.tsx": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + } + }, + "public/app/features/explore/TraceView/components/utils/DraggableManager/demo/index.tsx": { + "no-barrel-files/no-barrel-files": { + "count": 1 + } + }, + "public/app/features/explore/TraceView/components/utils/sort.ts": { + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/features/explore/TraceView/createSpanLink.tsx": { + "@typescript-eslint/consistent-type-assertions": { + "count": 2 + } + }, + "public/app/features/explore/hooks/useStateSync/index.ts": { + "no-barrel-files/no-barrel-files": { + "count": 1 + } + }, + "public/app/features/explore/spec/helper/setup.tsx": { + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "public/app/features/explore/state/time.test.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "public/app/features/explore/state/utils.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 4 + }, + "@typescript-eslint/no-explicit-any": { + "count": 2 + } + }, + "public/app/features/expressions/ExpressionDatasource.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 2 + } + }, + "public/app/features/expressions/ExpressionQueryEditor.tsx": { + "react/no-unescaped-entities": { + "count": 4 + } + }, + "public/app/features/expressions/guards.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + } + }, + "public/app/features/geo/gazetteer/gazetteer.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + }, + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "public/app/features/geo/utils/frameVectorSource.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + } + }, + "public/app/features/inspector/InspectDataOptions.tsx": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + }, + "no-restricted-syntax": { + "count": 4 + } + }, + "public/app/features/inspector/InspectDataTab.tsx": { + "@grafana/no-aria-label-selectors": { + "count": 1 + } + }, + "public/app/features/inspector/InspectJSONTab.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/features/inspector/InspectStatsTab.tsx": { + "@grafana/no-aria-label-selectors": { + "count": 1 + } + }, + "public/app/features/inspector/QueryInspector.tsx": { + "@grafana/no-aria-label-selectors": { + "count": 2 + }, + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "public/app/features/invites/SignupInvited.tsx": { + "no-restricted-syntax": { + "count": 4 + } + }, + "public/app/features/library-panels/components/AddLibraryPanelModal/AddLibraryPanelModal.tsx": { + "no-restricted-syntax": { + "count": 2 + } + }, + "public/app/features/live/centrifuge/LiveDataStream.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + } + }, + "public/app/features/live/centrifuge/channel.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "public/app/features/logs/logsFrame.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + } + }, + "public/app/features/logs/utils.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + }, + "no-restricted-syntax": { + "count": 6 + } + }, + "public/app/features/manage-dashboards/DashboardImportPage.tsx": { + "no-restricted-syntax": { + "count": 2 + } + }, + "public/app/features/manage-dashboards/components/ImportDashboardForm.tsx": { + "no-restricted-syntax": { + "count": 5 + } + }, + "public/app/features/manage-dashboards/components/ImportDashboardLibraryPanelsList.tsx": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + }, + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/features/manage-dashboards/components/PublicDashboardListTable/PublicDashboardListTable.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/features/manage-dashboards/state/actions.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + }, + "@typescript-eslint/no-explicit-any": { + "count": 6 + } + }, + "public/app/features/manage-dashboards/state/reducers.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + }, + "@typescript-eslint/no-explicit-any": { + "count": 4 + } + }, + "public/app/features/migrate-to-cloud/api/index.ts": { + "no-barrel-files/no-barrel-files": { + "count": 1 + } + }, + "public/app/features/migrate-to-cloud/cloud/MigrationTokenPane/CreateTokenModal.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/features/migrate-to-cloud/onprem/ConfigureSnapshot.tsx": { + "@typescript-eslint/consistent-type-assertions": { + "count": 2 + } + }, + "public/app/features/migrate-to-cloud/onprem/EmptyState/CallToAction/ConnectModal.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/features/migrate-to-cloud/onprem/resourceDependency.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 2 + } + }, + "public/app/features/migrate-to-cloud/onprem/useNotifyOnSuccess.tsx": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + } + }, + "public/app/features/org/NewOrgPage.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/features/org/OrgProfile.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/features/org/UserInviteForm.tsx": { + "no-restricted-syntax": { + "count": 4 + } + }, + "public/app/features/org/state/reducers.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + } + }, + "public/app/features/panel/components/VizTypePicker/PanelTypeCard.tsx": { + "@grafana/no-aria-label-selectors": { + "count": 1 + } + }, + "public/app/features/panel/panellinks/linkSuppliers.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "public/app/features/playlist/PlaylistCard.tsx": { + "no-restricted-syntax": { + "count": 2 + } + }, + "public/app/features/playlist/PlaylistForm.tsx": { + "@grafana/no-aria-label-selectors": { + "count": 2 + }, + "no-restricted-syntax": { + "count": 4 + } + }, + "public/app/features/playlist/ShareModal.tsx": { + "no-restricted-syntax": { + "count": 3 + } + }, + "public/app/features/playlist/StartModal.tsx": { + "no-restricted-syntax": { + "count": 3 + } + }, + "public/app/features/plugins/admin/components/GetStartedWithPlugin/GetStartedWithDataSource.tsx": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + } + }, + "public/app/features/plugins/admin/components/GetStartedWithPlugin/index.ts": { + "no-barrel-files/no-barrel-files": { + "count": 1 + } + }, + "public/app/features/plugins/admin/components/InstallControls/InstallControlsWarning.tsx": { + "react/no-unescaped-entities": { + "count": 1 + } + }, + "public/app/features/plugins/admin/components/PluginDetailsPage.tsx": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + } + }, + "public/app/features/plugins/admin/helpers.ts": { + "no-restricted-syntax": { + "count": 2 + } + }, + "public/app/features/plugins/admin/pages/Browse.tsx": { + "@typescript-eslint/consistent-type-assertions": { + "count": 2 + }, + "no-restricted-syntax": { + "count": 4 + } + }, + "public/app/features/plugins/admin/state/actions.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + } + }, + "public/app/features/plugins/admin/types.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "public/app/features/plugins/datasource_srv.test.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 3 + } + }, + "public/app/features/plugins/datasource_srv.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 3 + }, + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "public/app/features/plugins/extensions/usePluginComponents.tsx": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + } + }, + "public/app/features/plugins/extensions/usePluginFunctions.tsx": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + } + }, + "public/app/features/plugins/sandbox/distortions.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + } + }, + "public/app/features/plugins/sandbox/sandboxPluginLoader.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 3 + } + }, + "public/app/features/plugins/utils.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 4 + } + }, + "public/app/features/profile/ChangePasswordForm.tsx": { + "no-restricted-syntax": { + "count": 3 + } + }, + "public/app/features/profile/UserProfileEditForm.tsx": { + "no-restricted-syntax": { + "count": 3 + } + }, + "public/app/features/provisioning/Config/ConfigFormGithubCollapse.tsx": { + "no-restricted-syntax": { + "count": 2 + } + }, + "public/app/features/provisioning/File/FileHistoryPage.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/features/provisioning/File/FileStatusPage.tsx": { + "@typescript-eslint/consistent-type-assertions": { + "count": 2 + } + }, + "public/app/features/provisioning/Shared/BranchValidationError.tsx": { + "react/no-unescaped-entities": { + "count": 26 + } + }, + "public/app/features/provisioning/Shared/TokenPermissionsInfo.tsx": { + "react/no-unescaped-entities": { + "count": 2 + } + }, + "public/app/features/provisioning/Wizard/SynchronizeStep.tsx": { + "react/no-unescaped-entities": { + "count": 1 + } + }, + "public/app/features/query/components/QueryEditorRow.tsx": { + "@grafana/no-aria-label-selectors": { + "count": 1 + }, + "@typescript-eslint/consistent-type-assertions": { + "count": 3 + }, + "no-restricted-syntax": { + "count": 1 + }, + "react-hooks/rules-of-hooks": { + "count": 1 + } + }, + "public/app/features/query/components/QueryEditorRowHeader.tsx": { + "@grafana/no-aria-label-selectors": { + "count": 1 + } + }, + "public/app/features/query/components/QueryGroup.tsx": { + "@grafana/no-aria-label-selectors": { + "count": 2 + } + }, + "public/app/features/query/state/DashboardQueryRunner/AnnotationsQueryRunner.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + } + }, + "public/app/features/query/state/DashboardQueryRunner/PublicAnnotationsDataSource.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + } + }, + "public/app/features/query/state/DashboardQueryRunner/testHelpers.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + }, + "@typescript-eslint/no-explicit-any": { + "count": 2 + } + }, + "public/app/features/query/state/DashboardQueryRunner/utils.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 4 + } + }, + "public/app/features/query/state/PanelQueryRunner.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 2 + } + }, + "public/app/features/query/state/runRequest.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + } + }, + "public/app/features/query/state/updateQueries.test.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 3 + } + }, + "public/app/features/search/page/components/columns.tsx": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + } + }, + "public/app/features/search/service/bluge.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 2 + } + }, + "public/app/features/search/state/SearchStateManager.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + }, + "no-restricted-syntax": { + "count": 16 + } + }, + "public/app/features/search/types.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "public/app/features/search/utils.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + }, + "no-restricted-syntax": { + "count": 3 + } + }, + "public/app/features/serviceaccounts/ServiceAccountCreatePage.tsx": { + "no-restricted-syntax": { + "count": 4 + } + }, + "public/app/features/serviceaccounts/components/CreateTokenModal.tsx": { + "no-restricted-syntax": { + "count": 4 + } + }, + "public/app/features/serviceaccounts/state/reducers.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + } + }, + "public/app/features/support-bundles/SupportBundlesCreate.tsx": { + "no-restricted-syntax": { + "count": 2 + } + }, + "public/app/features/teams/TeamSettings.tsx": { + "no-restricted-syntax": { + "count": 4 + } + }, + "public/app/features/teams/state/reducers.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + } + }, + "public/app/features/templating/fieldAccessorCache.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "public/app/features/templating/formatVariableValue.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 3 + } + }, + "public/app/features/templating/templateProxies.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "public/app/features/templating/template_srv.mock.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 4 + } + }, + "public/app/features/templating/template_srv.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 3 + }, + "@typescript-eslint/no-explicit-any": { + "count": 9 + } + }, + "public/app/features/transformers/FilterByValueTransformer/ValueMatchers/BasicMatcherEditor.tsx": { + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "public/app/features/transformers/FilterByValueTransformer/ValueMatchers/types.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 3 + } + }, + "public/app/features/transformers/FilterByValueTransformer/ValueMatchers/utils.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "public/app/features/transformers/FilterByValueTransformer/ValueMatchers/valueMatchersUI.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "public/app/features/transformers/calculateHeatmap/editor/helper.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "public/app/features/transformers/calculateHeatmap/heatmap.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 2 + } + }, + "public/app/features/transformers/editors/CalculateFieldTransformerEditor/CumulativeOptionsEditor.tsx": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + } + }, + "public/app/features/transformers/editors/CalculateFieldTransformerEditor/ReduceRowOptionsEditor.tsx": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + } + }, + "public/app/features/transformers/editors/CalculateFieldTransformerEditor/WindowOptionsEditor.tsx": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + } + }, + "public/app/features/transformers/editors/ConvertFieldTypeTransformerEditor.tsx": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + } + }, + "public/app/features/transformers/editors/GroupByTransformerEditor.tsx": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + } + }, + "public/app/features/transformers/editors/GroupToNestedTableTransformerEditor.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/features/transformers/editors/ReduceTransformerEditor.tsx": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + } + }, + "public/app/features/transformers/editors/SortByTransformerEditor.tsx": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + } + }, + "public/app/features/transformers/extractFields/ExtractFieldsTransformerEditor.tsx": { + "@typescript-eslint/consistent-type-assertions": { + "count": 2 + }, + "@typescript-eslint/no-explicit-any": { + "count": 2 + } + }, + "public/app/features/transformers/extractFields/fieldExtractors.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "public/app/features/transformers/fieldToConfigMapping/FieldToConfigMappingEditor.tsx": { + "@typescript-eslint/consistent-type-assertions": { + "count": 2 + } + }, + "public/app/features/transformers/fieldToConfigMapping/fieldToConfigMapping.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + }, + "@typescript-eslint/no-explicit-any": { + "count": 4 + } + }, + "public/app/features/transformers/lookupGazetteer/FieldLookupTransformerEditor.tsx": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + } + }, + "public/app/features/transformers/spatial/optionsHelper.tsx": { + "@typescript-eslint/consistent-type-assertions": { + "count": 3 + }, + "@typescript-eslint/no-explicit-any": { + "count": 3 + } + }, + "public/app/features/transformers/suggestionsInput/SuggestionsInput.tsx": { + "@typescript-eslint/consistent-type-assertions": { + "count": 4 + } + }, + "public/app/features/variables/adapters.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 3 + } + }, + "public/app/features/variables/adhoc/picker/AdHocFilter.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/features/variables/adhoc/picker/AdHocFilterKey.tsx": { + "no-restricted-syntax": { + "count": 3 + } + }, + "public/app/features/variables/adhoc/picker/AdHocFilterRenderer.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/features/variables/adhoc/picker/AdHocFilterValue.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/features/variables/adhoc/picker/ConditionSegment.tsx": { + "no-restricted-syntax": { + "count": 2 + } + }, + "public/app/features/variables/constant/reducer.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + } + }, + "public/app/features/variables/custom/reducer.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + } + }, + "public/app/features/variables/editor/VariableEditorContainer.tsx": { + "@typescript-eslint/consistent-type-assertions": { + "count": 2 + } + }, + "public/app/features/variables/editor/VariableEditorList.tsx": { + "@grafana/no-aria-label-selectors": { + "count": 2 + } + }, + "public/app/features/variables/editor/VariableEditorListRow.tsx": { + "@grafana/no-aria-label-selectors": { + "count": 4 + } + }, + "public/app/features/variables/editor/getVariableQueryEditor.tsx": { + "@typescript-eslint/no-explicit-any": { + "count": 2 + } + }, + "public/app/features/variables/inspect/NetworkGraph.tsx": { + "@typescript-eslint/no-explicit-any": { + "count": 2 + } + }, + "public/app/features/variables/inspect/utils.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 2 + }, + "@typescript-eslint/no-explicit-any": { + "count": 4 + } + }, + "public/app/features/variables/pickers/OptionsPicker/actions.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 2 + } + }, + "public/app/features/variables/pickers/PickerRenderer.tsx": { + "no-restricted-syntax": { + "count": 2 + }, + "react/no-unescaped-entities": { + "count": 1 + } + }, + "public/app/features/variables/pickers/index.ts": { + "no-barrel-files/no-barrel-files": { + "count": 1 + } + }, + "public/app/features/variables/pickers/shared/VariableInput.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/features/variables/pickers/shared/VariableOptions.tsx": { + "@grafana/no-aria-label-selectors": { + "count": 1 + } + }, + "public/app/features/variables/query/QueryVariableEditor.tsx": { + "@typescript-eslint/no-explicit-any": { + "count": 2 + } + }, + "public/app/features/variables/query/QueryVariableRefreshSelect.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/features/variables/query/VariableQueryRunner.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + }, + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "public/app/features/variables/query/actions.test.tsx": { + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "public/app/features/variables/query/actions.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 4 + } + }, + "public/app/features/variables/query/operators.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "public/app/features/variables/query/queryRunners.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 2 + } + }, + "public/app/features/variables/query/reducer.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 2 + }, + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/features/variables/shared/formatVariable.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 2 + } + }, + "public/app/features/variables/shared/testing/optionsVariableBuilder.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 2 + } + }, + "public/app/features/variables/shared/testing/variableBuilder.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + } + }, + "public/app/features/variables/state/actions.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 7 + } + }, + "public/app/features/variables/state/keyedVariablesReducer.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 2 + } + }, + "public/app/features/variables/state/sharedReducer.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + }, + "@typescript-eslint/no-explicit-any": { + "count": 2 + } + }, + "public/app/features/variables/state/upgradeLegacyQueries.test.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 2 + } + }, + "public/app/features/variables/system/adapter.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 4 + }, + "@typescript-eslint/no-explicit-any": { + "count": 4 + } + }, + "public/app/features/variables/types.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 5 + }, + "no-barrel-files/no-barrel-files": { + "count": 2 + } + }, + "public/app/features/variables/utils.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + }, + "@typescript-eslint/no-explicit-any": { + "count": 3 + } + }, + "public/app/plugins/datasource/alertmanager/types.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 2 + } + }, + "public/app/plugins/datasource/azuremonitor/components/ArgQueryEditor/index.tsx": { + "no-barrel-files/no-barrel-files": { + "count": 1 + } + }, + "public/app/plugins/datasource/azuremonitor/components/ConfigEditor/AppRegistrationCredentials.tsx": { + "no-restricted-syntax": { + "count": 5 + } + }, + "public/app/plugins/datasource/azuremonitor/components/ConfigEditor/AzureCredentialsForm.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/plugins/datasource/azuremonitor/components/ConfigEditor/BasicLogsToggle.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/plugins/datasource/azuremonitor/components/ConfigEditor/CurrentUserFallbackCredentials.tsx": { + "no-restricted-syntax": { + "count": 2 + } + }, + "public/app/plugins/datasource/azuremonitor/components/ConfigEditor/DefaultSubscription.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/plugins/datasource/azuremonitor/components/LogsQueryEditor/AzureCheatSheet.tsx": { + "no-restricted-syntax": { + "count": 2 + } + }, + "public/app/plugins/datasource/azuremonitor/components/LogsQueryEditor/index.tsx": { + "no-barrel-files/no-barrel-files": { + "count": 1 + } + }, + "public/app/plugins/datasource/azuremonitor/components/QueryEditor/QueryEditor.tsx": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + } + }, + "public/app/plugins/datasource/azuremonitor/components/QueryEditor/index.tsx": { + "no-barrel-files/no-barrel-files": { + "count": 1 + } + }, + "public/app/plugins/datasource/azuremonitor/components/ResourceField/index.tsx": { + "no-barrel-files/no-barrel-files": { + "count": 1 + } + }, + "public/app/plugins/datasource/azuremonitor/components/ResourcePicker/index.tsx": { + "no-barrel-files/no-barrel-files": { + "count": 1 + } + }, + "public/app/plugins/datasource/azuremonitor/components/TracesQueryEditor/Filters.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/plugins/datasource/azuremonitor/components/TracesQueryEditor/index.tsx": { + "no-barrel-files/no-barrel-files": { + "count": 1 + } + }, + "public/app/plugins/datasource/azuremonitor/components/VariableEditor/VariableEditor.tsx": { + "no-restricted-syntax": { + "count": 7 + } + }, + "public/app/plugins/datasource/azuremonitor/types/query.ts": { + "no-barrel-files/no-barrel-files": { + "count": 3 + } + }, + "public/app/plugins/datasource/azuremonitor/types/templateVariables.ts": { + "no-barrel-files/no-barrel-files": { + "count": 1 + } + }, + "public/app/plugins/datasource/azuremonitor/utils/common.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + } + }, + "public/app/plugins/datasource/azuremonitor/utils/messageFromError.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "public/app/plugins/datasource/cloud-monitoring/CloudMonitoringMetricFindQuery.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + }, + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "public/app/plugins/datasource/cloud-monitoring/annotationSupport.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 2 + } + }, + "public/app/plugins/datasource/cloud-monitoring/components/Aggregation.tsx": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + } + }, + "public/app/plugins/datasource/cloud-monitoring/components/Fields.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/plugins/datasource/cloud-monitoring/components/VariableQueryEditor.tsx": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + } + }, + "public/app/plugins/datasource/cloud-monitoring/datasource.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 3 + }, + "@typescript-eslint/no-explicit-any": { + "count": 2 + } + }, + "public/app/plugins/datasource/cloud-monitoring/functions.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 2 + } + }, + "public/app/plugins/datasource/cloud-monitoring/types/query.ts": { + "no-barrel-files/no-barrel-files": { + "count": 3 + } + }, + "public/app/plugins/datasource/cloud-monitoring/types/types.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "public/app/plugins/datasource/cloudwatch/components/ConfigEditor/ConfigEditor.tsx": { + "no-restricted-syntax": { + "count": 3 + } + }, + "public/app/plugins/datasource/cloudwatch/components/ConfigEditor/SecureSocksProxySettingsNewStyling.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/plugins/datasource/cloudwatch/components/ConfigEditor/XrayLinkConfig.tsx": { + "no-restricted-syntax": { + "count": 2 + } + }, + "public/app/plugins/datasource/cloudwatch/components/QueryEditor/MetricsQueryEditor/SQLBuilderEditor/index.tsx": { + "no-barrel-files/no-barrel-files": { + "count": 1 + } + }, + "public/app/plugins/datasource/cloudwatch/components/shared/LogGroups/LegacyLogGroupNamesSelection.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/plugins/datasource/cloudwatch/components/shared/MetricStatEditor/index.ts": { + "no-barrel-files/no-barrel-files": { + "count": 1 + } + }, + "public/app/plugins/datasource/cloudwatch/datasource.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "public/app/plugins/datasource/cloudwatch/expressions.ts": { + "no-barrel-files/no-barrel-files": { + "count": 1 + } + }, + "public/app/plugins/datasource/cloudwatch/guards.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + } + }, + "public/app/plugins/datasource/cloudwatch/language/cloudwatch-logs/CloudWatchLogsLanguageProvider.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 3 + } + }, + "public/app/plugins/datasource/cloudwatch/types.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 7 + }, + "no-barrel-files/no-barrel-files": { + "count": 1 + } + }, + "public/app/plugins/datasource/cloudwatch/utils/datalinks.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 2 + } + }, + "public/app/plugins/datasource/dashboard/DashboardQueryEditor.tsx": { + "no-restricted-syntax": { + "count": 4 + } + }, + "public/app/plugins/datasource/dashboard/datasource.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + } + }, + "public/app/plugins/datasource/dashboard/runSharedRequest.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 2 + } + }, + "public/app/plugins/datasource/elasticsearch/LanguageProvider.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 4 + } + }, + "public/app/plugins/datasource/elasticsearch/QueryBuilder.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + }, + "@typescript-eslint/no-explicit-any": { + "count": 8 + } + }, + "public/app/plugins/datasource/elasticsearch/components/QueryEditor/BucketAggregationsEditor/BucketAggregationEditor.tsx": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + } + }, + "public/app/plugins/datasource/elasticsearch/components/QueryEditor/BucketAggregationsEditor/SettingsEditor/DateHistogramSettingsEditor.tsx": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + } + }, + "public/app/plugins/datasource/elasticsearch/components/QueryEditor/BucketAggregationsEditor/SettingsEditor/TermsSettingsEditor.tsx": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + } + }, + "public/app/plugins/datasource/elasticsearch/components/QueryEditor/BucketAggregationsEditor/aggregations.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + } + }, + "public/app/plugins/datasource/elasticsearch/components/QueryEditor/BucketAggregationsEditor/state/reducer.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + } + }, + "public/app/plugins/datasource/elasticsearch/components/QueryEditor/MetricAggregationsEditor/MetricEditor.tsx": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + } + }, + "public/app/plugins/datasource/elasticsearch/components/QueryEditor/MetricAggregationsEditor/SettingsEditor/SettingField.tsx": { + "@typescript-eslint/consistent-type-assertions": { + "count": 2 + } + }, + "public/app/plugins/datasource/elasticsearch/components/QueryEditor/MetricAggregationsEditor/aggregations.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + } + }, + "public/app/plugins/datasource/elasticsearch/components/QueryEditor/MetricAggregationsEditor/state/reducer.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + } + }, + "public/app/plugins/datasource/elasticsearch/configuration/DataLinks.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/plugins/datasource/elasticsearch/datasource.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 5 + } + }, + "public/app/plugins/datasource/elasticsearch/hooks/useStatelessReducer.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + } + }, + "public/app/plugins/datasource/elasticsearch/test-helpers/render.tsx": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + } + }, + "public/app/plugins/datasource/grafana-postgresql-datasource/configuration/ConfigurationEditor.tsx": { + "no-restricted-syntax": { + "count": 12 + } + }, + "public/app/plugins/datasource/grafana-pyroscope-datasource/QueryEditor/EditorField.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/plugins/datasource/grafana-pyroscope-datasource/utils.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + } + }, + "public/app/plugins/datasource/grafana-testdata-datasource/QueryEditor.tsx": { + "@typescript-eslint/consistent-type-assertions": { + "count": 3 + }, + "@typescript-eslint/no-explicit-any": { + "count": 2 + }, + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/plugins/datasource/grafana-testdata-datasource/components/RandomWalkEditor.tsx": { + "@typescript-eslint/consistent-type-assertions": { + "count": 2 + }, + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "public/app/plugins/datasource/grafana-testdata-datasource/components/SimulationQueryEditor.tsx": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + }, + "@typescript-eslint/no-explicit-any": { + "count": 2 + } + }, + "public/app/plugins/datasource/grafana-testdata-datasource/components/SimulationSchemaForm.tsx": { + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "public/app/plugins/datasource/grafana-testdata-datasource/datasource.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + }, + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "public/app/plugins/datasource/grafana/components/AnnotationQueryEditor.tsx": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + }, + "no-restricted-syntax": { + "count": 5 + } + }, + "public/app/plugins/datasource/grafana/components/QueryEditor.tsx": { + "@typescript-eslint/consistent-type-assertions": { + "count": 2 + }, + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "public/app/plugins/datasource/grafana/components/TimeRegionEditor.tsx": { + "no-restricted-syntax": { + "count": 6 + } + }, + "public/app/plugins/datasource/grafana/datasource.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 7 + }, + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "public/app/plugins/datasource/graphite/configuration/ConfigEditor.tsx": { + "no-restricted-syntax": { + "count": 3 + } + }, + "public/app/plugins/datasource/graphite/datasource.test.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 3 + } + }, + "public/app/plugins/datasource/graphite/datasource.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 4 + }, + "@typescript-eslint/no-explicit-any": { + "count": 15 + } + }, + "public/app/plugins/datasource/graphite/gfunc.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 2 + }, + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "public/app/plugins/datasource/graphite/graphite_query.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + }, + "@typescript-eslint/no-explicit-any": { + "count": 10 + } + }, + "public/app/plugins/datasource/graphite/lexer.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 3 + } + }, + "public/app/plugins/datasource/graphite/migrations.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "public/app/plugins/datasource/graphite/specs/graphite_query.test.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "public/app/plugins/datasource/graphite/specs/store.test.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 2 + } + }, + "public/app/plugins/datasource/graphite/state/context.tsx": { + "@typescript-eslint/consistent-type-assertions": { + "count": 2 + } + }, + "public/app/plugins/datasource/graphite/state/store.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 2 + } + }, + "public/app/plugins/datasource/graphite/types.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 2 + } + }, + "public/app/plugins/datasource/graphite/utils.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "public/app/plugins/datasource/influxdb/components/editor/annotation/AnnotationEditor.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/plugins/datasource/influxdb/components/editor/config/ConfigEditor.tsx": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + }, + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/plugins/datasource/influxdb/components/editor/config/InfluxSQLConfig.tsx": { + "no-restricted-syntax": { + "count": 3 + } + }, + "public/app/plugins/datasource/influxdb/components/editor/query/QueryEditor.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/plugins/datasource/influxdb/components/editor/query/flux/FluxQueryEditor.tsx": { + "no-restricted-syntax": { + "count": 3 + } + }, + "public/app/plugins/datasource/influxdb/components/editor/query/fsql/FSQLEditor.tsx": { + "no-restricted-syntax": { + "count": 3 + } + }, + "public/app/plugins/datasource/influxdb/components/editor/query/influxql/visual/PartListSection.tsx": { + "no-restricted-syntax": { + "count": 2 + } + }, + "public/app/plugins/datasource/influxdb/components/editor/query/influxql/visual/TagsSection.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/plugins/datasource/influxdb/datasource.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 2 + }, + "@typescript-eslint/no-explicit-any": { + "count": 11 + } + }, + "public/app/plugins/datasource/influxdb/influx_query_model.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "public/app/plugins/datasource/influxdb/influx_series.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 9 + } + }, + "public/app/plugins/datasource/influxdb/query_part.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 14 + } + }, + "public/app/plugins/datasource/influxdb/response_parser.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "public/app/plugins/datasource/jaeger/datasource.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + } + }, + "public/app/plugins/datasource/loki/LanguageProvider.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "public/app/plugins/datasource/loki/LogContextProvider.ts": { + "no-restricted-syntax": { + "count": 2 + } + }, + "public/app/plugins/datasource/loki/components/LokiContextUi.tsx": { + "no-restricted-syntax": { + "count": 7 + } + }, + "public/app/plugins/datasource/loki/components/LokiQueryEditor.tsx": { + "no-restricted-syntax": { + "count": 2 + } + }, + "public/app/plugins/datasource/loki/components/LokiQueryField.tsx": { + "no-restricted-syntax": { + "count": 2 + } + }, + "public/app/plugins/datasource/loki/configuration/ConfigEditor.tsx": { + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "public/app/plugins/datasource/loki/configuration/DerivedField.tsx": { + "no-restricted-syntax": { + "count": 13 + } + }, + "public/app/plugins/datasource/loki/datasource.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 2 + } + }, + "public/app/plugins/datasource/loki/querybuilder/components/LokiQueryBuilder.tsx": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + } + }, + "public/app/plugins/datasource/loki/querybuilder/components/LokiQueryCodeEditor.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/plugins/datasource/loki/querybuilder/components/QueryPattern.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/plugins/datasource/loki/querybuilder/state.ts": { + "no-restricted-syntax": { + "count": 2 + } + }, + "public/app/plugins/datasource/loki/shardQuerySplitting.ts": { + "no-restricted-syntax": { + "count": 2 + } + }, + "public/app/plugins/datasource/loki/types.ts": { + "no-barrel-files/no-barrel-files": { + "count": 3 + } + }, + "public/app/plugins/datasource/mixed/module.ts": { + "no-barrel-files/no-barrel-files": { + "count": 2 + } + }, + "public/app/plugins/datasource/mssql/azureauth/AzureCredentialsForm.tsx": { + "no-restricted-syntax": { + "count": 10 + } + }, + "public/app/plugins/datasource/mssql/configuration/ConfigurationEditor.tsx": { + "no-restricted-syntax": { + "count": 11 + } + }, + "public/app/plugins/datasource/mssql/configuration/Kerberos.tsx": { + "no-restricted-syntax": { + "count": 8 + } + }, + "public/app/plugins/datasource/mysql/configuration/ConfigurationEditor.tsx": { + "no-restricted-syntax": { + "count": 10 + } + }, + "public/app/plugins/datasource/opentsdb/components/AnnotationEditor.tsx": { + "no-restricted-syntax": { + "count": 3 + } + }, + "public/app/plugins/datasource/opentsdb/components/OpenTsdbDetails.tsx": { + "no-restricted-syntax": { + "count": 3 + } + }, + "public/app/plugins/datasource/opentsdb/datasource.d.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "public/app/plugins/datasource/opentsdb/datasource.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 18 + } + }, + "public/app/plugins/datasource/parca/QueryEditor/QueryOptions.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/plugins/datasource/parca/webpack.config.ts": { + "no-barrel-files/no-barrel-files": { + "count": 1 + } + }, + "public/app/plugins/datasource/prometheus/configuration/AzureAuthSettings.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/plugins/datasource/prometheus/configuration/AzureCredentialsForm.tsx": { + "no-restricted-syntax": { + "count": 15 + } + }, + "public/app/plugins/datasource/tempo/ServiceGraphSection.tsx": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + } + }, + "public/app/plugins/datasource/tempo/_importedDependencies/components/AdHocFilter/AdHocFilter.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/plugins/datasource/tempo/_importedDependencies/components/AdHocFilter/AdHocFilterKey.tsx": { + "no-restricted-syntax": { + "count": 3 + } + }, + "public/app/plugins/datasource/tempo/_importedDependencies/components/AdHocFilter/AdHocFilterRenderer.tsx": { + "@typescript-eslint/no-explicit-any": { + "count": 1 + }, + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/plugins/datasource/tempo/_importedDependencies/components/AdHocFilter/AdHocFilterValue.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/plugins/datasource/tempo/_importedDependencies/components/AdHocFilter/ConditionSegment.tsx": { + "no-restricted-syntax": { + "count": 2 + } + }, + "public/app/plugins/datasource/tempo/_importedDependencies/datasources/prometheus/language_utils.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + } + }, + "public/app/plugins/datasource/tempo/_importedDependencies/datasources/prometheus/types.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 3 + } + }, + "public/app/plugins/datasource/tempo/configuration/TraceQLSearchSettings.tsx": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + } + }, + "public/app/plugins/datasource/tempo/datasource.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + }, + "@typescript-eslint/no-explicit-any": { + "count": 2 + } + }, + "public/app/plugins/datasource/tempo/language_provider.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "public/app/plugins/datasource/tempo/resultTransformer.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 2 + }, + "@typescript-eslint/no-explicit-any": { + "count": 2 + }, + "no-restricted-syntax": { + "count": 2 + } + }, + "public/app/plugins/datasource/zipkin/QueryField.tsx": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + }, + "@typescript-eslint/no-explicit-any": { + "count": 1 + }, + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/plugins/datasource/zipkin/datasource.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + } + }, + "public/app/plugins/datasource/zipkin/utils/transforms.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "public/app/plugins/panel/annolist/AnnoListPanel.tsx": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + } + }, + "public/app/plugins/panel/annolist/AnnotationListItem.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/plugins/panel/barchart/bars.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + } + }, + "public/app/plugins/panel/barchart/quadtree.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "public/app/plugins/panel/candlestick/CandlestickPanel.tsx": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + }, + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "public/app/plugins/panel/candlestick/types.ts": { + "no-barrel-files/no-barrel-files": { + "count": 8 + } + }, + "public/app/plugins/panel/canvas/editor/LineStyleEditor.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/plugins/panel/canvas/editor/element/APIEditor.tsx": { + "no-restricted-syntax": { + "count": 3 + } + }, + "public/app/plugins/panel/canvas/editor/element/ParamsEditor.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/plugins/panel/canvas/editor/element/PlacementEditor.tsx": { + "no-restricted-syntax": { + "count": 2 + } + }, + "public/app/plugins/panel/dashlist/DashList.tsx": { + "no-restricted-syntax": { + "count": 2 + } + }, + "public/app/plugins/panel/debug/CursorView.tsx": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + }, + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "public/app/plugins/panel/debug/EventBusLogger.tsx": { + "@typescript-eslint/no-explicit-any": { + "count": 2 + } + }, + "public/app/plugins/panel/debug/StateView.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/plugins/panel/gauge/GaugeMigrations.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "public/app/plugins/panel/geomap/components/MarkersLegend.tsx": { + "@typescript-eslint/consistent-type-assertions": { + "count": 2 + }, + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "public/app/plugins/panel/geomap/editor/GeomapStyleRulesEditor.tsx": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + } + }, + "public/app/plugins/panel/geomap/editor/StyleEditor.tsx": { + "@typescript-eslint/consistent-type-assertions": { + "count": 12 + }, + "no-restricted-syntax": { + "count": 14 + } + }, + "public/app/plugins/panel/geomap/editor/StyleRuleEditor.tsx": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + } + }, + "public/app/plugins/panel/geomap/layers/basemaps/esri.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + } + }, + "public/app/plugins/panel/geomap/layers/data/routeLayer.tsx": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + } + }, + "public/app/plugins/panel/geomap/layers/registry.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 2 + } + }, + "public/app/plugins/panel/geomap/migrations.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 2 + } + }, + "public/app/plugins/panel/geomap/types.ts": { + "no-barrel-files/no-barrel-files": { + "count": 1 + } + }, + "public/app/plugins/panel/geomap/utils/tooltip.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 2 + } + }, + "public/app/plugins/panel/heatmap/HeatmapPanel.tsx": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + }, + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "public/app/plugins/panel/heatmap/migrations.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "public/app/plugins/panel/heatmap/palettes.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + }, + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "public/app/plugins/panel/heatmap/types.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + }, + "no-barrel-files/no-barrel-files": { + "count": 1 + } + }, + "public/app/plugins/panel/heatmap/utils.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 17 + } + }, + "public/app/plugins/panel/live/LiveChannelEditor.tsx": { + "@typescript-eslint/consistent-type-assertions": { + "count": 2 + }, + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "public/app/plugins/panel/live/LivePanel.tsx": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + } + }, + "public/app/plugins/panel/logs/types.ts": { + "no-barrel-files/no-barrel-files": { + "count": 1 + } + }, + "public/app/plugins/panel/nodeGraph/Edge.tsx": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + } + }, + "public/app/plugins/panel/nodeGraph/NodeGraph.tsx": { + "@typescript-eslint/consistent-type-assertions": { + "count": 4 + } + }, + "public/app/plugins/panel/nodeGraph/ViewControls.tsx": { + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "public/app/plugins/panel/nodeGraph/index.ts": { + "no-barrel-files/no-barrel-files": { + "count": 1 + } + }, + "public/app/plugins/panel/nodeGraph/layout.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + } + }, + "public/app/plugins/panel/nodeGraph/types.ts": { + "no-barrel-files/no-barrel-files": { + "count": 1 + } + }, + "public/app/plugins/panel/piechart/migrations.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 2 + } + }, + "public/app/plugins/panel/stat/StatMigrations.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "public/app/plugins/panel/state-timeline/migrations.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 2 + } + }, + "public/app/plugins/panel/table/TableCellOptionEditor.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/plugins/panel/table/cells/BarGaugeCellOptionsEditor.tsx": { + "no-restricted-syntax": { + "count": 2 + } + }, + "public/app/plugins/panel/table/cells/ColorBackgroundCellOptionsEditor.tsx": { + "@grafana/no-aria-label-selectors": { + "count": 1 + }, + "no-restricted-syntax": { + "count": 2 + } + }, + "public/app/plugins/panel/table/cells/ImageCellOptionsEditor.tsx": { + "no-restricted-syntax": { + "count": 2 + } + }, + "public/app/plugins/panel/table/cells/MarkdownCellOptionsEditor.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/plugins/panel/table/cells/SparklineCellOptionsEditor.tsx": { + "no-restricted-syntax": { + "count": 1 + } + }, + "public/app/plugins/panel/table/migrations.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 4 + } + }, + "public/app/plugins/panel/text/textPanelMigrationHandler.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "public/app/plugins/panel/timeseries/migrations.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 4 + }, + "@typescript-eslint/no-explicit-any": { + "count": 6 + } + }, + "public/app/plugins/panel/timeseries/plugins/AnnotationsPlugin2.tsx": { + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "public/app/plugins/panel/timeseries/plugins/annotations2/AnnotationEditor2.tsx": { + "@typescript-eslint/no-explicit-any": { + "count": 1 + }, + "no-restricted-syntax": { + "count": 2 + } + }, + "public/app/plugins/panel/timeseries/plugins/annotations2/AnnotationMarker2.tsx": { + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "public/app/plugins/panel/timeseries/plugins/annotations2/AnnotationTooltip2.tsx": { + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "public/app/plugins/panel/xychart/SeriesEditor.tsx": { + "@typescript-eslint/consistent-type-assertions": { + "count": 4 + }, + "no-restricted-syntax": { + "count": 5 + } + }, + "public/app/plugins/panel/xychart/migrations.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + } + }, + "public/app/plugins/panel/xychart/scatter.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 14 + }, + "@typescript-eslint/no-explicit-any": { + "count": 4 + } + }, + "public/app/store/configureStore.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "public/app/store/store.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + }, + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "public/app/types/dashboard.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "public/app/types/events.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 9 + } + }, + "public/app/types/jquery/jquery.d.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 8 + } + }, + "public/app/types/store.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + }, + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "public/app/types/unified-alerting-dto.ts": { + "@typescript-eslint/consistent-type-assertions": { + "count": 1 + } + }, + "public/swagger/SwaggerPage.tsx": { + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "public/swagger/index.tsx": { + "@typescript-eslint/consistent-type-assertions": { + "count": 2 + } + }, + "public/swagger/plugins.tsx": { + "@typescript-eslint/no-explicit-any": { + "count": 2 + } + }, + "public/test/core/redux/reduxTester.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 4 + } + }, + "public/test/core/thunk/thunkTester.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 6 + } + }, + "public/test/global-jquery-shim.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "public/test/helpers/getDashboardModel.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "public/test/helpers/initTemplateSrv.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "public/test/jest-setup.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "public/test/specs/helpers.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 5 + } + } +} \ No newline at end of file diff --git a/eslint.config.js b/eslint.config.js index 52766949795..8b68f7180f2 100644 --- a/eslint.config.js +++ b/eslint.config.js @@ -15,17 +15,23 @@ const grafanaConfig = require('@grafana/eslint-config/flat'); const grafanaPlugin = require('@grafana/eslint-plugin'); const grafanaI18nPlugin = require('@grafana/i18n/eslint-plugin'); -const bettererConfig = require('./.betterer.eslint.config'); -const getEnvConfig = require('./scripts/webpack/env-util'); - -const envConfig = getEnvConfig(); -const enableBettererRules = envConfig.frontend_dev_betterer_eslint_rules; const pluginsToTranslate = [ 'public/app/plugins/panel', 'public/app/plugins/datasource/azuremonitor', 'public/app/plugins/datasource/mssql', ]; +const commonTestIgnores = [ + '**/*.{test,spec}.{ts,tsx}', + '**/__mocks__/**', + '**/mocks/**/*.{ts,tsx}', + '**/public/test/**', + '**/mocks.{ts,tsx}', + '**/spec/**/*.{ts,tsx}', +]; + +const enterpriseIgnores = ['public/app/extensions/**/*', 'e2e/extensions/**/*']; + // [FIXME] add comment about this applying everywhere const baseImportConfig = { patterns: [ @@ -49,6 +55,10 @@ const baseImportConfig = { message: 'Do not import test files. If you require reuse of constants/mocks across files, create a separate file with no tests', }, + { + group: ['@grafana/ui/src/*', '@grafana/runtime/src/*', '@grafana/data/src/*'], + message: 'Import from the public export instead.', + }, ], paths: [ { @@ -69,7 +79,6 @@ function withBaseRestrictedImportsConfig(config = {}) { patterns: [...baseImportConfig.patterns, ...(config?.patterns ?? [])], paths: [...baseImportConfig.paths, ...(config?.paths ?? [])], }; - return finalConfig; } @@ -100,7 +109,6 @@ module.exports = [ 'public/locales/**/*.js', 'public/vendor/', 'scripts/grafana-server/tmp', - '!.betterer.eslint.config.js', 'packages/grafana-ui/src/graveyard', // deprecated UI components slated for removal 'public/build-swagger', // swagger build output ], @@ -181,10 +189,6 @@ module.exports = [ message: 'No bare anchor nodes containing only text. Use `TextLink` instead.', }, ], - // FIXME: Fix these in follow up PR - 'react/no-unescaped-entities': 'off', - // Turn off react-hooks/rules-of-hooks whilst present in betterer - 'react-hooks/rules-of-hooks': 'off', }, }, @@ -206,7 +210,6 @@ module.exports = [ ], }, }, - { name: 'grafana/uplot-overrides', files: ['packages/grafana-ui/src/components/uPlot/**/*.{ts,tsx}'], @@ -449,7 +452,99 @@ module.exports = [ }, }, - // Conditionally run the betterer rules if enabled in dev's config - // Should be last in the config so it can override any temporary disables in here - ...(enableBettererRules ? bettererConfig : []), + { + // custom rule for Table to avoid performance regressions + files: ['packages/grafana-ui/src/components/Table/TableNG/Cells/**/*.{ts,tsx}'], + rules: { + 'no-restricted-imports': [ + 'error', + withBaseRestrictedImportsConfig({ + patterns: [ + { + group: ['**/themes/ThemeContext'], + importNames: ['useStyles2', 'useTheme2'], + message: + 'Do not use "useStyles2" or "useTheme2" in a cell directly. Instead, provide styles to cells via `getDefaultCellStyles` or `getCellSpecificStyles`.', + }, + ], + }), + ], + }, + }, + + // Old betterer rules config: + { + files: ['**/*.{js,jsx,ts,tsx}'], + ignores: + // FIXME: Remove once all enterprise issues are fixed - + // we don't have a suppressions file/approach for enterprise code yet + enterpriseIgnores, + rules: { + '@typescript-eslint/no-explicit-any': 'error', + '@grafana/no-aria-label-selectors': 'error', + }, + }, + { + files: ['**/*.{js,jsx,ts,tsx}'], + ignores: [ + ...commonTestIgnores, + // FIXME: Remove once all enterprise issues are fixed - + // we don't have a suppressions file/approach for enterprise code yet + ...enterpriseIgnores, + ], + rules: { + '@typescript-eslint/consistent-type-assertions': ['error', { assertionStyle: 'never' }], + 'no-restricted-syntax': [ + 'error', + { + selector: 'Identifier[name=localStorage]', + message: 'Direct usage of localStorage is not allowed. import store from @grafana/data instead', + }, + { + selector: 'MemberExpression[object.name=localStorage]', + message: 'Direct usage of localStorage is not allowed. import store from @grafana/data instead', + }, + { + selector: + 'Program:has(ImportDeclaration[source.value="@grafana/ui"] ImportSpecifier[imported.name="Card"]) JSXOpeningElement[name.name="Card"]:not(:has(JSXAttribute[name.name="noMargin"]))', + message: + 'Add noMargin prop to Card components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.', + }, + { + selector: + 'Program:has(ImportDeclaration[source.value="@grafana/ui"] ImportSpecifier[imported.name="Field"]) JSXOpeningElement[name.name="Field"]:not(:has(JSXAttribute[name.name="noMargin"]))', + message: + 'Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.', + }, + { + selector: 'CallExpression[callee.type="MemberExpression"][callee.property.name="localeCompare"]', + message: + 'Using localeCompare() can cause performance issues when sorting large datasets. Consider using Intl.Collator for better performance when sorting arrays, or add an eslint-disable comment if sorting a small, known dataset.', + }, + { + // eslint-disable-next-line no-restricted-syntax + selector: 'Literal[value=/gf-form/], TemplateElement[value.cooked=/gf-form/]', + // eslint-disable-next-line no-restricted-syntax + message: 'gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.', + }, + { + selector: + "Property[key.name='a11y'][value.type='ObjectExpression'] Property[key.name='test'][value.value='off']", + message: 'Skipping a11y tests is not allowed. Please fix the component or story instead.', + }, + ], + }, + }, + { + files: ['public/app/**/*.{ts,tsx}'], + ignores: [ + ...commonTestIgnores, + // FIXME: Remove once all enterprise issues are fixed - + // we don't have a suppressions file/approach for enterprise code yet + ...enterpriseIgnores, + ], + rules: { + 'no-barrel-files/no-barrel-files': 'error', + }, + }, ]; diff --git a/lefthook.yml b/lefthook.yml index 6c696016c29..ec9b404b503 100644 --- a/lefthook.yml +++ b/lefthook.yml @@ -19,7 +19,8 @@ pre-commit: frontend-lint: glob: '*.{js,ts,tsx}' run: | - yarn eslint --ext .js,.tsx,.ts --cache --fix {staged_files} + yarn eslint --ext .js,.tsx,.ts --cache --prune-suppressions --fix {staged_files} && + git add eslint-suppressions.json && yarn prettier --write {staged_files} stage_fixed: true diff --git a/package.json b/package.json index 0666b2ffc88..623b21610bd 100644 --- a/package.json +++ b/package.json @@ -38,6 +38,7 @@ "lint:ts": "eslint ./ ./public/app/extensions/ --cache --no-error-on-unmatched-pattern", "lint:sass": "yarn stylelint '{public/sass,packages}/**/*.scss' --cache", "lint:fix": "yarn lint:ts --fix", + "lint:prune": "yarn lint:ts --prune-suppressions", "packages:build": "nx run-many -t build --projects='tag:scope:package'", "packages:clean": "rimraf ./npm-artifacts && nx run-many -t clean --projects='tag:scope:package' --maxParallel=100", "packages:i18n-extract": "nx run-many -t i18n-extract --projects='tag:scope:package'", diff --git a/scripts/ci-frontend-metrics.sh b/scripts/ci-frontend-metrics.sh index 7ffaa1eb75d..0cf015e8ea2 100755 --- a/scripts/ci-frontend-metrics.sh +++ b/scripts/ci-frontend-metrics.sh @@ -32,6 +32,17 @@ do BETTERER_STATS+="\"grafana.ci-code.betterer.${name}\": \"${value}\"," done <<< "$(yarn betterer:stats)" +ESLINT_STATS="" +yarn lint:ts --format ./scripts/cli/eslint-stats-reporter.mjs -o eslint-stats.txt +while read -r name value +do + ESLINT_STATS+=$'\n ' + # We still report these as "betterer" as the dashboards/other scripts will still look for it there + ESLINT_STATS+="\"grafana.ci-code.betterer.${name}\": \"${value}\"," +done <<< "$(cat eslint-stats.txt)" + +rm eslint-stats.txt + I18N_STATS="" while read -r name value do @@ -49,6 +60,7 @@ done <<< "$(yarn themes:usage | awk '$4 == "@grafana/theme-token-usage" {print $ echo "Metrics: { $THEME_TOKEN_USAGE $BETTERER_STATS + $ESLINT_STATS $I18N_STATS \"grafana.ci-code.strictErrors\": \"${ERROR_COUNT}\", \"grafana.ci-code.accessibilityErrors\": \"${ACCESSIBILITY_ERRORS}\", diff --git a/scripts/cli/eslint-stats-reporter.mjs b/scripts/cli/eslint-stats-reporter.mjs new file mode 100644 index 00000000000..2f75183e3fa --- /dev/null +++ b/scripts/cli/eslint-stats-reporter.mjs @@ -0,0 +1,56 @@ +//@ts-check +import lodash from 'lodash'; +const { camelCase } = lodash; + +/** + * Rule IDs that are overly verbose and that we want to combine so they report more cleanly + * + * i.e. so we can report `reactHooksRulesOfHooks` instead of `reactHookFooIsCalledConditionallyReactHooksMust...` + */ +const rulesToCombine = ['react-hooks/rules-of-hooks', 'react/no-unescaped-entities', 'no-barrel-files/no-barrel-files']; + +const legacyChecksToTransform = [ + { messageRegex: /gfFormUsage/i, prefix: 'noGfFormUsage' }, + { messageRegex: /skippingA11Y/i, prefix: 'noSkippingA11YTestsInStories' }, +]; + +/** + * Custom formatter that outputs suppressed rule violations in a format suitable for + * consuming on our CI code stats scripts + * + * Output in the format: + * @example + * betterEslint_reactHooksRulesOfHooks 123 + * betterEslint_noBarrelFilesNoBarrelFiles 123 + * + * @type {import('eslint').ESLint.FormatterFunction} + */ +export default function statsReporter(results) { + /** @type {Record} */ + const countByMessage = {}; + + for (const result of results) { + for (const message of result.suppressedMessages) { + // eslint disable directives count as suppressions + // we only want to report the case where everything is a file suppression + const everySuppressionIsFile = message.suppressions.every((suppression) => suppression.kind === 'file'); + + if (!everySuppressionIsFile) { + continue; + } + + const key = + message.ruleId && rulesToCombine.includes(message.ruleId) + ? camelCase(message.ruleId) + : camelCase(message.message); + countByMessage[key] = (countByMessage[key] || 0) + 1; + } + } + + return Object.entries(countByMessage) + .map(([key, value]) => { + const prefix = legacyChecksToTransform.find((v) => v.messageRegex.test(key))?.prefix || 'betterEslint'; + return `${prefix}_${key} ${value}`; + }) + .join('\n'); +} diff --git a/scripts/cli/tsconfig.json b/scripts/cli/tsconfig.json index 0d18e875c5e..468d9938751 100644 --- a/scripts/cli/tsconfig.json +++ b/scripts/cli/tsconfig.json @@ -10,5 +10,6 @@ "compilerOptions": { "module": "commonjs" } - } + }, + "include": ["./**/*.ts", "./**/*.mts", "./**/*.js", "./**/*.mjs"] }