Merge remote-tracking branch 'origin/main' into grafana-git-ui-sync

This commit is contained in:
Ryan McKinley committed 2025-01-31 17:50:58 +03:00
commit ab506bb017
33 files changed
+267 -215

No files matched your search

+5 -4
View File
@@ -96,8 +96,8 @@
"@swc/helpers": "0.5.15",
"@testing-library/dom": "10.4.0",
"@testing-library/jest-dom": "6.6.3",
"@testing-library/react": "16.1.0",
"@testing-library/user-event": "14.5.2",
"@testing-library/react": "16.2.0",
"@testing-library/user-event": "14.6.1",
"@types/angular": "1.8.9",
"@types/angular-route": "1.7.6",
"@types/babel__core": "^7",
@@ -153,8 +153,8 @@
"@types/webpack-assets-manifest": "^5",
"@types/webpack-env": "^1.18.4",
"@types/yargs": "17.0.33",
"@typescript-eslint/eslint-plugin": "8.18.1",
"@typescript-eslint/parser": "8.18.1",
"@typescript-eslint/eslint-plugin": "8.22.0",
"@typescript-eslint/parser": "8.22.0",
"autoprefixer": "10.4.20",
"babel-loader": "9.2.1",
"blob-polyfill": "9.0.20240710",
@@ -267,6 +267,7 @@
"@grafana/flamegraph": "workspace:*",
"@grafana/google-sdk": "0.1.2",
"@grafana/lezer-logql": "0.2.7",
"@grafana/llm": "0.12.0",
"@grafana/monaco-logql": "^0.0.8",
"@grafana/o11y-ds-frontend": "workspace:*",
"@grafana/plugin-ui": "0.10.1",
+2 -2
View File
@@ -63,8 +63,8 @@
"@rollup/plugin-node-resolve": "16.0.0",
"@testing-library/dom": "10.4.0",
"@testing-library/jest-dom": "^6.1.2",
"@testing-library/react": "16.1.0",
"@testing-library/user-event": "14.5.2",
"@testing-library/react": "16.2.0",
"@testing-library/user-event": "14.6.1",
"@types/d3": "^7",
"@types/jest": "^29.5.4",
"@types/lodash": "4.17.15",
@@ -33,8 +33,8 @@
"@grafana/tsconfig": "^2.0.0",
"@testing-library/dom": "10.4.0",
"@testing-library/jest-dom": "^6.1.2",
"@testing-library/react": "16.1.0",
"@testing-library/user-event": "14.5.2",
"@testing-library/react": "16.2.0",
"@testing-library/user-event": "14.6.1",
"@types/jest": "^29.5.4",
"@types/node": "22.12.0",
"@types/react": "18.3.18",
+4 -4
View File
@@ -85,8 +85,8 @@
"@swc/helpers": "0.5.15",
"@testing-library/dom": "10.4.0",
"@testing-library/jest-dom": "6.6.3",
"@testing-library/react": "16.1.0",
"@testing-library/user-event": "14.5.2",
"@testing-library/react": "16.2.0",
"@testing-library/user-event": "14.6.1",
"@types/d3": "7.4.3",
"@types/debounce-promise": "3.1.9",
"@types/eslint": "9.6.1",
@@ -102,8 +102,8 @@
"@types/react-window": "1.8.8",
"@types/semver": "7.5.8",
"@types/uuid": "10.0.0",
"@typescript-eslint/eslint-plugin": "8.18.1",
"@typescript-eslint/parser": "8.18.1",
"@typescript-eslint/eslint-plugin": "8.22.0",
"@typescript-eslint/parser": "8.22.0",
"copy-webpack-plugin": "12.0.2",
"css-loader": "7.1.2",
"esbuild": "0.24.2",
+2 -2
View File
@@ -53,8 +53,8 @@
"@rollup/plugin-node-resolve": "16.0.0",
"@rollup/plugin-terser": "0.4.4",
"@testing-library/dom": "10.4.0",
"@testing-library/react": "16.1.0",
"@testing-library/user-event": "14.5.2",
"@testing-library/react": "16.2.0",
"@testing-library/user-event": "14.6.1",
"@types/angular": "1.8.9",
"@types/history": "4.7.11",
"@types/jest": "29.5.14",
+2 -2
View File
@@ -37,8 +37,8 @@
"@grafana/tsconfig": "^2.0.0",
"@testing-library/dom": "10.4.0",
"@testing-library/jest-dom": "^6.1.2",
"@testing-library/react": "16.1.0",
"@testing-library/user-event": "14.5.2",
"@testing-library/react": "16.2.0",
"@testing-library/user-event": "14.6.1",
"@types/jest": "^29.5.4",
"@types/lodash": "4.17.15",
"@types/node": "22.12.0",
+2 -2
View File
@@ -136,8 +136,8 @@
"@storybook/theming": "^8.4.2",
"@testing-library/dom": "10.4.0",
"@testing-library/jest-dom": "6.6.3",
"@testing-library/react": "16.1.0",
"@testing-library/user-event": "14.5.2",
"@testing-library/react": "16.2.0",
"@testing-library/user-event": "14.6.1",
"@types/chance": "1.1.6",
"@types/common-tags": "^1.8.0",
"@types/d3": "7.4.3",
+6
View File
@@ -10,6 +10,7 @@ import (
"github.com/grafana/grafana/pkg/api/response"
"github.com/grafana/grafana/pkg/services/dashboards"
"github.com/grafana/grafana/pkg/services/folder"
"github.com/grafana/grafana/pkg/util"
)
@@ -43,6 +44,11 @@ func ToFolderErrorResponse(err error) response.Response {
return response.JSON(http.StatusPreconditionFailed, util.DynMap{"status": "version-mismatch", "message": dashboards.ErrFolderVersionMismatch.Error()})
}
// folder errors are wrapped in an error util, so this is the only way of comparing errors
if err.Error() == folder.ErrMaximumDepthReached.Error() {
return response.JSON(http.StatusBadRequest, util.DynMap{"messageId": "folder.maximum-depth-reached", "message": "Maximum nested folder depth reached"})
}
return response.ErrOrFallback(http.StatusInternalServerError, "Folder API error", err)
}
+83
View File
@@ -0,0 +1,83 @@
package apierrors
import (
"errors"
"net/http"
"testing"
"github.com/grafana/grafana/pkg/api/response"
"github.com/grafana/grafana/pkg/services/dashboards"
"github.com/grafana/grafana/pkg/services/folder"
"github.com/grafana/grafana/pkg/util"
"github.com/stretchr/testify/require"
)
func TestToFolderErrorResponse(t *testing.T) {
tests := []struct {
name string
input error
want response.Response
}{
{
name: "dashboard error",
input: dashboards.DashboardErr{StatusCode: 400, Reason: "Dashboard Error", Status: "error"},
want: response.Error(400, "Dashboard Error", dashboards.DashboardErr{StatusCode: 400, Reason: "Dashboard Error", Status: "error"}),
},
{
name: "folder title empty",
input: dashboards.ErrFolderTitleEmpty,
want: response.Error(400, "folder title cannot be empty", nil),
},
{
name: "dashboard type mismatch",
input: dashboards.ErrDashboardTypeMismatch,
want: response.Error(400, "Dashboard cannot be changed to a folder", dashboards.ErrDashboardTypeMismatch),
},
{
name: "dashboard invalid uid",
input: dashboards.ErrDashboardInvalidUid,
want: response.Error(400, "uid contains illegal characters", dashboards.ErrDashboardInvalidUid),
},
{
name: "dashboard uid too long",
input: dashboards.ErrDashboardUidTooLong,
want: response.Error(400, "uid too long, max 40 characters", dashboards.ErrDashboardUidTooLong),
},
{
name: "folder access denied",
input: dashboards.ErrFolderAccessDenied,
want: response.Error(http.StatusForbidden, "Access denied", dashboards.ErrFolderAccessDenied),
},
{
name: "folder not found",
input: dashboards.ErrFolderNotFound,
want: response.JSON(http.StatusNotFound, util.DynMap{"status": "not-found", "message": dashboards.ErrFolderNotFound.Error()}),
},
{
name: "folder with same uid exists",
input: dashboards.ErrFolderWithSameUIDExists,
want: response.Error(http.StatusConflict, dashboards.ErrFolderWithSameUIDExists.Error(), nil),
},
{
name: "folder version mismatch",
input: dashboards.ErrFolderVersionMismatch,
want: response.JSON(http.StatusPreconditionFailed, util.DynMap{"status": "version-mismatch", "message": dashboards.ErrFolderVersionMismatch.Error()}),
},
{
name: "folder max depth reached",
input: folder.ErrMaximumDepthReached,
want: response.JSON(http.StatusBadRequest, util.DynMap{"messageId": "folder.maximum-depth-reached", "message": "Maximum nested folder depth reached"}),
},
{
name: "fallback error",
input: errors.New("some error"),
want: response.ErrOrFallback(http.StatusInternalServerError, "Folder API error", errors.New("some error")),
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
resp := ToFolderErrorResponse(tt.input)
require.Equal(t, tt.want, resp)
})
}
}
@@ -2,8 +2,7 @@ import { css } from '@emotion/css';
import { useCallback, useState } from 'react';
import { useDebounce } from 'react-use';
import { Stack } from '@grafana/experimental';
import { Button, Field, Icon, Input, useStyles2 } from '@grafana/ui';
import { Button, Field, Icon, Input, Stack, useStyles2 } from '@grafana/ui';
import { useURLSearchParams } from '../../../hooks/useURLSearchParams';
@@ -1,4 +1,4 @@
import { RawQuery } from '@grafana/experimental';
import { RawQuery } from '@grafana/plugin-ui';
import lokiGrammar from 'app/plugins/datasource/loki/syntax';
interface Props {
@@ -1,4 +1,4 @@
import { RawQuery } from '@grafana/experimental';
import { RawQuery } from '@grafana/plugin-ui';
import { promqlGrammar } from '@grafana/prometheus';
interface Props {
@@ -64,7 +64,7 @@ export function useDashboardEditPageNav(dashboard: DashboardScene, currentEditVi
});
}
if (dashboard.state.id && dashboard.state.meta.canSave) {
if (dashboard.state.uid && dashboard.state.meta.canSave) {
pageNav.children!.push({
text: t('dashboard-settings.versions.title', 'Versions'),
url: locationUtil.getUrlForPartial(location, { editview: 'versions', editIndex: null }),
@@ -72,7 +72,7 @@ export function useDashboardEditPageNav(dashboard: DashboardScene, currentEditVi
});
}
if (dashboard.state.id && dashboard.state.meta.canAdmin) {
if (dashboard.state.uid && dashboard.state.meta.canAdmin) {
if (contextSrv.hasPermission(AccessControlAction.DashboardsPermissionsRead)) {
pageNav.children!.push({
text: t('dashboard-settings.permissions.title', 'Permissions'),
@@ -134,7 +134,7 @@ function getSettingsPages(dashboard: DashboardModel) {
});
}
if (dashboard.id && dashboard.meta.canSave) {
if (dashboard.uid && dashboard.meta.canSave) {
pages.push({
title: t('dashboard-settings.versions.title', 'Versions'),
id: 'versions',
@@ -145,7 +145,7 @@ function getSettingsPages(dashboard: DashboardModel) {
const permissionsTitle = t('dashboard-settings.permissions.title', 'Permissions');
if (dashboard.id && dashboard.meta.canAdmin) {
if (dashboard.uid && dashboard.meta.canAdmin) {
if (contextSrv.hasPermission(AccessControlAction.DashboardsPermissionsRead)) {
pages.push({
title: permissionsTitle,
@@ -2,7 +2,7 @@ import { Dispatch, SetStateAction, useCallback, useEffect, useState } from 'reac
import { useAsync } from 'react-use';
import { Subscription } from 'rxjs';
import { llms } from '@grafana/experimental';
import { openai } from '@grafana/llm';
import { createMonitoringLogger } from '@grafana/runtime';
import { useAppNotification } from 'app/core/copy/appNotification';
@@ -10,7 +10,7 @@ import { isLLMPluginEnabled, DEFAULT_OAI_MODEL } from './utils';
// Declared instead of imported from utils to make this hook modular
// Ideally we will want to move the hook itself to a different scope later.
type Message = llms.openai.Message;
type Message = openai.Message;
const genAILogger = createMonitoringLogger('features.dashboards.genai');
@@ -93,7 +93,7 @@ export function useOpenAIStream({ model, temperature, onResponse }: Options = de
setStreamStatus(StreamStatus.GENERATING);
setError(undefined);
// Stream the completions. Each element is the next stream chunk.
const stream = llms.openai
const stream = openai
.streamChatCompletions({
model,
temperature,
@@ -102,7 +102,7 @@ export function useOpenAIStream({ model, temperature, onResponse }: Options = de
.pipe(
// Accumulate the stream content into a stream of strings, where each
// element contains the accumulated message so far.
llms.openai.accumulateContent()
openai.accumulateContent()
// The stream is just a regular Observable, so we can use standard rxjs
// functionality to update state, e.g. recording when the stream
// has completed.
@@ -1,4 +1,4 @@
import { llms } from '@grafana/experimental';
import { openai } from '@grafana/llm';
import { DASHBOARD_SCHEMA_VERSION } from '../../state/DashboardMigrator';
import { createDashboardModelFixture, createPanelSaveModel } from '../../state/__fixtures__/dashboardFixtures';
@@ -6,15 +6,13 @@ import { NEW_PANEL_TITLE } from '../../utils/dashboard';
import { getDashboardChanges, getPanelStrings, isLLMPluginEnabled, sanitizeReply } from './utils';
// Mock the llms.openai module
jest.mock('@grafana/experimental', () => ({
...jest.requireActual('@grafana/experimental'),
llms: {
openai: {
streamChatCompletions: jest.fn(),
accumulateContent: jest.fn(),
health: jest.fn(),
},
// Mock the openai module
jest.mock('@grafana/llm', () => ({
...jest.requireActual('@grafana/llm'),
openai: {
streamChatCompletions: jest.fn(),
accumulateContent: jest.fn(),
health: jest.fn(),
},
}));
@@ -101,8 +99,8 @@ describe('getDashboardChanges', () => {
describe('isLLMPluginEnabled', () => {
it('should return false if LLM plugin is not enabled', async () => {
// Mock llms.openai.health to return false
jest.mocked(llms.openai.health).mockResolvedValue({ ok: false, configured: false });
// Mock openai.health to return false
jest.mocked(openai.health).mockResolvedValue({ ok: false, configured: false });
const enabled = await isLLMPluginEnabled();
@@ -110,8 +108,8 @@ describe('isLLMPluginEnabled', () => {
});
it('should return true if LLM plugin is enabled', async () => {
// Mock llms.openai.health to return true
jest.mocked(llms.openai.health).mockResolvedValue({ ok: true, configured: false });
// Mock openai.health to return true
jest.mocked(openai.health).mockResolvedValue({ ok: true, configured: false });
const enabled = await isLLMPluginEnabled();
@@ -1,6 +1,6 @@
import { pick } from 'lodash';
import { llms } from '@grafana/experimental';
import { openai } from '@grafana/llm';
import { config } from '@grafana/runtime';
import { Panel } from '@grafana/schema';
@@ -18,7 +18,7 @@ export enum Role {
'user' = 'user',
}
export type Message = llms.openai.Message;
export type Message = openai.Message;
export enum QuickFeedbackType {
Shorter = 'Even shorter',
@@ -80,7 +80,7 @@ export async function isLLMPluginEnabled(): Promise<boolean> {
// Check if the LLM plugin is enabled.
// If not, we won't be able to make requests, so return early.
llmHealthCheck = new Promise((resolve) => {
llms.openai.health().then((response) => {
openai.health().then((response) => {
if (!response.ok) {
// Health check fail clear cached promise so we can try again later
llmHealthCheck = undefined;
@@ -1,7 +1,7 @@
import { useMemo } from 'react';
import { SelectableValue } from '@grafana/data';
import { SQLEditor } from '@grafana/experimental';
import { SQLEditor } from '@grafana/plugin-ui';
import { ExpressionQuery } from '../types';
@@ -5,8 +5,7 @@ import * as React from 'react';
import { FormEvent, useEffect, useReducer } from 'react';
import { GrafanaTheme2, SelectableValue } from '@grafana/data';
import { Stack } from '@grafana/experimental';
import { InlineField, InlineFieldRow, InlineSwitch, Input, Select, useStyles2 } from '@grafana/ui';
import { InlineField, InlineFieldRow, InlineSwitch, Input, Select, useStyles2, Stack } from '@grafana/ui';
import { config } from 'app/core/config';
import { EvalFunction } from 'app/features/alerting/state/alertDef';
@@ -29,8 +29,8 @@
"@grafana/plugin-configs": "11.5.0-pre",
"@testing-library/dom": "10.4.0",
"@testing-library/jest-dom": "6.6.3",
"@testing-library/react": "16.1.0",
"@testing-library/user-event": "14.5.2",
"@testing-library/react": "16.2.0",
"@testing-library/user-event": "14.6.1",
"@types/jest": "29.5.14",
"@types/lodash": "4.17.15",
"@types/node": "22.12.0",
@@ -30,8 +30,8 @@
"@grafana/plugin-configs": "11.5.0-pre",
"@testing-library/dom": "10.4.0",
"@testing-library/jest-dom": "6.6.3",
"@testing-library/react": "16.1.0",
"@testing-library/user-event": "14.5.2",
"@testing-library/react": "16.2.0",
"@testing-library/user-event": "14.6.1",
"@types/debounce-promise": "3.1.9",
"@types/jest": "29.5.14",
"@types/lodash": "4.17.15",
@@ -5,7 +5,7 @@ import { useCallback, useMemo } from 'react';
import { useAsync } from 'react-use';
import { DataQuery, GrafanaTheme2, SelectableValue, DataTopic, QueryEditorProps } from '@grafana/data';
import { OperationsEditorRow } from '@grafana/experimental';
import { OperationsEditorRow } from '@grafana/plugin-ui';
import { Field, Select, useStyles2, Spinner, RadioButtonGroup, Stack, InlineSwitch } from '@grafana/ui';
import config from 'app/core/config';
import { getDashboardSrv } from 'app/features/dashboard/services/DashboardSrv';
@@ -19,8 +19,8 @@
"@grafana/e2e-selectors": "11.5.0-pre",
"@grafana/plugin-configs": "11.5.0-pre",
"@testing-library/dom": "10.4.0",
"@testing-library/react": "16.1.0",
"@testing-library/user-event": "14.5.2",
"@testing-library/react": "16.2.0",
"@testing-library/user-event": "14.6.1",
"@types/jest": "29.5.14",
"@types/lodash": "4.17.15",
"@types/node": "22.12.0",
@@ -23,8 +23,8 @@
"@grafana/plugin-configs": "11.5.0-pre",
"@testing-library/dom": "10.4.0",
"@testing-library/jest-dom": "6.6.3",
"@testing-library/react": "16.1.0",
"@testing-library/user-event": "14.5.2",
"@testing-library/react": "16.2.0",
"@testing-library/user-event": "14.6.1",
"@types/jest": "29.5.14",
"@types/lodash": "4.17.15",
"@types/node": "22.12.0",
@@ -6,7 +6,6 @@
"dependencies": {
"@emotion/css": "11.13.5",
"@grafana/data": "11.5.0-pre",
"@grafana/experimental": "2.1.6",
"@grafana/runtime": "11.5.0-pre",
"@grafana/schema": "11.5.0-pre",
"@grafana/ui": "11.5.0-pre",
@@ -25,8 +24,8 @@
"@grafana/e2e-selectors": "11.5.0-pre",
"@grafana/plugin-configs": "11.5.0-pre",
"@testing-library/dom": "10.4.0",
"@testing-library/react": "16.1.0",
"@testing-library/user-event": "14.5.2",
"@testing-library/react": "16.2.0",
"@testing-library/user-event": "14.6.1",
"@types/d3-random": "^3.0.2",
"@types/jest": "29.5.14",
"@types/lodash": "4.17.15",
@@ -26,8 +26,8 @@
"@grafana/plugin-configs": "workspace:*",
"@testing-library/dom": "10.4.0",
"@testing-library/jest-dom": "6.6.3",
"@testing-library/react": "16.1.0",
"@testing-library/user-event": "14.5.2",
"@testing-library/react": "16.2.0",
"@testing-library/user-event": "14.6.1",
"@types/jest": "29.5.14",
"@types/lodash": "4.17.15",
"@types/logfmt": "^1.2.3",
@@ -19,8 +19,8 @@
"@grafana/e2e-selectors": "11.5.0-pre",
"@grafana/plugin-configs": "11.5.0-pre",
"@testing-library/dom": "10.4.0",
"@testing-library/react": "16.1.0",
"@testing-library/user-event": "14.5.2",
"@testing-library/react": "16.2.0",
"@testing-library/user-event": "14.6.1",
"@types/jest": "29.5.14",
"@types/lodash": "4.17.15",
"@types/node": "22.12.0",
@@ -19,8 +19,8 @@
"@grafana/e2e-selectors": "11.5.0-pre",
"@grafana/plugin-configs": "11.5.0-pre",
"@testing-library/dom": "10.4.0",
"@testing-library/react": "16.1.0",
"@testing-library/user-event": "14.5.2",
"@testing-library/react": "16.2.0",
"@testing-library/user-event": "14.6.1",
"@types/jest": "29.5.14",
"@types/lodash": "4.17.15",
"@types/node": "22.12.0",
@@ -8,7 +8,7 @@ import {
ConnectionSettings,
DataSourceDescription,
convertLegacyAuthProps,
} from '@grafana/experimental';
} from '@grafana/plugin-ui';
import { config } from '@grafana/runtime';
import { Divider, SecureSocksProxySettings, Stack, useStyles2 } from '@grafana/ui';
@@ -20,8 +20,8 @@
"devDependencies": {
"@grafana/plugin-configs": "11.5.0-pre",
"@testing-library/dom": "10.4.0",
"@testing-library/react": "16.1.0",
"@testing-library/user-event": "14.5.2",
"@testing-library/react": "16.2.0",
"@testing-library/user-event": "14.6.1",
"@types/lodash": "4.17.15",
"@types/node": "22.12.0",
"@types/react": "18.3.18",
@@ -42,8 +42,8 @@
"@grafana/plugin-configs": "11.5.0-pre",
"@testing-library/dom": "10.4.0",
"@testing-library/jest-dom": "6.6.3",
"@testing-library/react": "16.1.0",
"@testing-library/user-event": "14.5.2",
"@testing-library/react": "16.2.0",
"@testing-library/user-event": "14.6.1",
"@types/jest": "29.5.14",
"@types/lodash": "4.17.15",
"@types/node": "22.12.0",
@@ -23,7 +23,7 @@
"@grafana/plugin-configs": "workspace:*",
"@testing-library/dom": "10.4.0",
"@testing-library/jest-dom": "6.6.3",
"@testing-library/react": "16.1.0",
"@testing-library/react": "16.2.0",
"@types/jest": "29.5.14",
"@types/lodash": "4.17.15",
"@types/node": "22.12.0",
+108 -141
View File
@@ -2714,8 +2714,8 @@ __metadata:
"@kusto/monaco-kusto": "npm:^10.0.0"
"@testing-library/dom": "npm:10.4.0"
"@testing-library/jest-dom": "npm:6.6.3"
"@testing-library/react": "npm:16.1.0"
"@testing-library/user-event": "npm:14.5.2"
"@testing-library/react": "npm:16.2.0"
"@testing-library/user-event": "npm:14.6.1"
"@types/jest": "npm:29.5.14"
"@types/lodash": "npm:4.17.15"
"@types/node": "npm:22.12.0"
@@ -2756,8 +2756,8 @@ __metadata:
"@grafana/sql": "npm:11.5.0-pre"
"@grafana/ui": "npm:11.5.0-pre"
"@testing-library/dom": "npm:10.4.0"
"@testing-library/react": "npm:16.1.0"
"@testing-library/user-event": "npm:14.5.2"
"@testing-library/react": "npm:16.2.0"
"@testing-library/user-event": "npm:14.6.1"
"@types/jest": "npm:29.5.14"
"@types/lodash": "npm:4.17.15"
"@types/node": "npm:22.12.0"
@@ -2786,8 +2786,8 @@ __metadata:
"@grafana/ui": "npm:11.5.0-pre"
"@testing-library/dom": "npm:10.4.0"
"@testing-library/jest-dom": "npm:6.6.3"
"@testing-library/react": "npm:16.1.0"
"@testing-library/user-event": "npm:14.5.2"
"@testing-library/react": "npm:16.2.0"
"@testing-library/user-event": "npm:14.6.1"
"@types/jest": "npm:29.5.14"
"@types/lodash": "npm:4.17.15"
"@types/node": "npm:22.12.0"
@@ -2821,14 +2821,13 @@ __metadata:
"@emotion/css": "npm:11.13.5"
"@grafana/data": "npm:11.5.0-pre"
"@grafana/e2e-selectors": "npm:11.5.0-pre"
"@grafana/experimental": "npm:2.1.6"
"@grafana/plugin-configs": "npm:11.5.0-pre"
"@grafana/runtime": "npm:11.5.0-pre"
"@grafana/schema": "npm:11.5.0-pre"
"@grafana/ui": "npm:11.5.0-pre"
"@testing-library/dom": "npm:10.4.0"
"@testing-library/react": "npm:16.1.0"
"@testing-library/user-event": "npm:14.5.2"
"@testing-library/react": "npm:16.2.0"
"@testing-library/user-event": "npm:14.6.1"
"@types/d3-random": "npm:^3.0.2"
"@types/jest": "npm:29.5.14"
"@types/lodash": "npm:4.17.15"
@@ -2868,8 +2867,8 @@ __metadata:
"@grafana/ui": "workspace:*"
"@testing-library/dom": "npm:10.4.0"
"@testing-library/jest-dom": "npm:6.6.3"
"@testing-library/react": "npm:16.1.0"
"@testing-library/user-event": "npm:14.5.2"
"@testing-library/react": "npm:16.2.0"
"@testing-library/user-event": "npm:14.6.1"
"@types/jest": "npm:29.5.14"
"@types/lodash": "npm:4.17.15"
"@types/logfmt": "npm:^1.2.3"
@@ -2909,8 +2908,8 @@ __metadata:
"@grafana/sql": "npm:11.5.0-pre"
"@grafana/ui": "npm:11.5.0-pre"
"@testing-library/dom": "npm:10.4.0"
"@testing-library/react": "npm:16.1.0"
"@testing-library/user-event": "npm:14.5.2"
"@testing-library/react": "npm:16.2.0"
"@testing-library/user-event": "npm:14.6.1"
"@types/jest": "npm:29.5.14"
"@types/lodash": "npm:4.17.15"
"@types/node": "npm:22.12.0"
@@ -2940,8 +2939,8 @@ __metadata:
"@grafana/sql": "npm:11.5.0-pre"
"@grafana/ui": "npm:11.5.0-pre"
"@testing-library/dom": "npm:10.4.0"
"@testing-library/react": "npm:16.1.0"
"@testing-library/user-event": "npm:14.5.2"
"@testing-library/react": "npm:16.2.0"
"@testing-library/user-event": "npm:14.6.1"
"@types/jest": "npm:29.5.14"
"@types/lodash": "npm:4.17.15"
"@types/node": "npm:22.12.0"
@@ -2969,8 +2968,8 @@ __metadata:
"@grafana/schema": "npm:11.5.0-pre"
"@grafana/ui": "npm:11.5.0-pre"
"@testing-library/dom": "npm:10.4.0"
"@testing-library/react": "npm:16.1.0"
"@testing-library/user-event": "npm:14.5.2"
"@testing-library/react": "npm:16.2.0"
"@testing-library/user-event": "npm:14.6.1"
"@types/lodash": "npm:4.17.15"
"@types/node": "npm:22.12.0"
"@types/react": "npm:18.3.18"
@@ -3005,8 +3004,8 @@ __metadata:
"@grafana/ui": "npm:11.5.0-pre"
"@testing-library/dom": "npm:10.4.0"
"@testing-library/jest-dom": "npm:6.6.3"
"@testing-library/react": "npm:16.1.0"
"@testing-library/user-event": "npm:14.5.2"
"@testing-library/react": "npm:16.2.0"
"@testing-library/user-event": "npm:14.6.1"
"@types/debounce-promise": "npm:3.1.9"
"@types/jest": "npm:29.5.14"
"@types/lodash": "npm:4.17.15"
@@ -3059,8 +3058,8 @@ __metadata:
"@opentelemetry/semantic-conventions": "npm:1.28.0"
"@testing-library/dom": "npm:10.4.0"
"@testing-library/jest-dom": "npm:6.6.3"
"@testing-library/react": "npm:16.1.0"
"@testing-library/user-event": "npm:14.5.2"
"@testing-library/react": "npm:16.2.0"
"@testing-library/user-event": "npm:14.6.1"
"@types/jest": "npm:29.5.14"
"@types/lodash": "npm:4.17.15"
"@types/node": "npm:22.12.0"
@@ -3110,7 +3109,7 @@ __metadata:
"@grafana/ui": "workspace:*"
"@testing-library/dom": "npm:10.4.0"
"@testing-library/jest-dom": "npm:6.6.3"
"@testing-library/react": "npm:16.1.0"
"@testing-library/react": "npm:16.2.0"
"@types/jest": "npm:29.5.14"
"@types/lodash": "npm:4.17.15"
"@types/node": "npm:22.12.0"
@@ -3312,32 +3311,6 @@ __metadata:
languageName: unknown
linkType: soft
"@grafana/experimental@npm:2.1.6":
version: 2.1.6
resolution: "@grafana/experimental@npm:2.1.6"
dependencies:
"@hello-pangea/dnd": "npm:^16.6.0"
"@types/uuid": "npm:^8.3.3"
lodash: "npm:^4.17.21"
prismjs: "npm:^1.29.0"
react-popper-tooltip: "npm:^4.4.2"
react-use: "npm:^17.4.2"
semver: "npm:^7.5.4"
uuid: "npm:^8.3.2"
peerDependencies:
"@emotion/css": ^11.11.2
"@grafana/data": ^10.4.0 || ^11.0.0
"@grafana/e2e-selectors": ^10.0.0 || ^11.0.0
"@grafana/runtime": ^10.4.0 || ^11.0.0
"@grafana/ui": ^10.4.0 || ^11.0.0
react: ^18.2.0
react-dom: ^18.2.0
react-select: ^5.8.0
rxjs: ^7.8.1
checksum: 10/3df81fef944e6dfdf843bf5954a586fe3eb90a1a2671088ae526b29fb9118793c05be96a3edd3d3babfdcbfa801fdfb328e87e6cbb1fd0de7f8f2d2e5c32f66f
languageName: node
linkType: hard
"@grafana/faro-core@npm:^1.12.3, @grafana/faro-core@npm:^1.3.6":
version: 1.12.3
resolution: "@grafana/faro-core@npm:1.12.3"
@@ -3394,8 +3367,8 @@ __metadata:
"@rollup/plugin-node-resolve": "npm:16.0.0"
"@testing-library/dom": "npm:10.4.0"
"@testing-library/jest-dom": "npm:^6.1.2"
"@testing-library/react": "npm:16.1.0"
"@testing-library/user-event": "npm:14.5.2"
"@testing-library/react": "npm:16.2.0"
"@testing-library/user-event": "npm:14.6.1"
"@types/d3": "npm:^7"
"@types/jest": "npm:^29.5.4"
"@types/lodash": "npm:4.17.15"
@@ -3504,8 +3477,8 @@ __metadata:
"@grafana/ui": "npm:11.5.0-pre"
"@testing-library/dom": "npm:10.4.0"
"@testing-library/jest-dom": "npm:^6.1.2"
"@testing-library/react": "npm:16.1.0"
"@testing-library/user-event": "npm:14.5.2"
"@testing-library/react": "npm:16.2.0"
"@testing-library/user-event": "npm:14.6.1"
"@types/jest": "npm:^29.5.4"
"@types/node": "npm:22.12.0"
"@types/react": "npm:18.3.18"
@@ -3648,8 +3621,8 @@ __metadata:
"@swc/helpers": "npm:0.5.15"
"@testing-library/dom": "npm:10.4.0"
"@testing-library/jest-dom": "npm:6.6.3"
"@testing-library/react": "npm:16.1.0"
"@testing-library/user-event": "npm:14.5.2"
"@testing-library/react": "npm:16.2.0"
"@testing-library/user-event": "npm:14.6.1"
"@types/d3": "npm:7.4.3"
"@types/debounce-promise": "npm:3.1.9"
"@types/eslint": "npm:9.6.1"
@@ -3665,8 +3638,8 @@ __metadata:
"@types/react-window": "npm:1.8.8"
"@types/semver": "npm:7.5.8"
"@types/uuid": "npm:10.0.0"
"@typescript-eslint/eslint-plugin": "npm:8.18.1"
"@typescript-eslint/parser": "npm:8.18.1"
"@typescript-eslint/eslint-plugin": "npm:8.22.0"
"@typescript-eslint/parser": "npm:8.22.0"
copy-webpack-plugin: "npm:12.0.2"
css-loader: "npm:7.1.2"
d3: "npm:7.9.0"
@@ -3742,8 +3715,8 @@ __metadata:
"@rollup/plugin-node-resolve": "npm:16.0.0"
"@rollup/plugin-terser": "npm:0.4.4"
"@testing-library/dom": "npm:10.4.0"
"@testing-library/react": "npm:16.1.0"
"@testing-library/user-event": "npm:14.5.2"
"@testing-library/react": "npm:16.2.0"
"@testing-library/user-event": "npm:14.6.1"
"@types/angular": "npm:1.8.9"
"@types/history": "npm:4.7.11"
"@types/jest": "npm:29.5.14"
@@ -3910,8 +3883,8 @@ __metadata:
"@react-awesome-query-builder/ui": "npm:6.6.4"
"@testing-library/dom": "npm:10.4.0"
"@testing-library/jest-dom": "npm:^6.1.2"
"@testing-library/react": "npm:16.1.0"
"@testing-library/user-event": "npm:14.5.2"
"@testing-library/react": "npm:16.2.0"
"@testing-library/user-event": "npm:14.6.1"
"@types/jest": "npm:^29.5.4"
"@types/lodash": "npm:4.17.15"
"@types/node": "npm:22.12.0"
@@ -4067,8 +4040,8 @@ __metadata:
"@tanstack/react-virtual": "npm:^3.5.1"
"@testing-library/dom": "npm:10.4.0"
"@testing-library/jest-dom": "npm:6.6.3"
"@testing-library/react": "npm:16.1.0"
"@testing-library/user-event": "npm:14.5.2"
"@testing-library/react": "npm:16.2.0"
"@testing-library/user-event": "npm:14.6.1"
"@types/chance": "npm:1.1.6"
"@types/common-tags": "npm:^1.8.0"
"@types/d3": "npm:7.4.3"
@@ -4179,7 +4152,7 @@ __metadata:
languageName: node
linkType: hard
"@hello-pangea/dnd@npm:16.6.0, @hello-pangea/dnd@npm:^16.6.0":
"@hello-pangea/dnd@npm:16.6.0":
version: 16.6.0
resolution: "@hello-pangea/dnd@npm:16.6.0"
dependencies:
@@ -8796,9 +8769,9 @@ __metadata:
languageName: node
linkType: hard
"@testing-library/react@npm:16.1.0":
version: 16.1.0
resolution: "@testing-library/react@npm:16.1.0"
"@testing-library/react@npm:16.2.0":
version: 16.2.0
resolution: "@testing-library/react@npm:16.2.0"
dependencies:
"@babel/runtime": "npm:^7.12.5"
peerDependencies:
@@ -8812,16 +8785,16 @@ __metadata:
optional: true
"@types/react-dom":
optional: true
checksum: 10/2a20e0dbfadbc93d45a84e82281ed47deed54a6a5fc1461a523172d7fbc0481e8502cf98a2080f38aba94290b3d745671a1c9e320e6f76ad6afcca67c580b963
checksum: 10/cf10bfa9a363384e6861417696fff4a464a64f98ec6f0bb7f1fa7cbb550d075d23a2f6a943b7df85dded7bde3234f6ea6b6e36f95211f4544b846ea72c288289
languageName: node
linkType: hard
"@testing-library/user-event@npm:14.5.2":
version: 14.5.2
resolution: "@testing-library/user-event@npm:14.5.2"
"@testing-library/user-event@npm:14.6.1":
version: 14.6.1
resolution: "@testing-library/user-event@npm:14.6.1"
peerDependencies:
"@testing-library/dom": ">=7.21.4"
checksum: 10/49821459d81c6bc435d97128d6386ca24f1e4b3ba8e46cb5a96fe3643efa6e002d88c1b02b7f2ec58da593e805c59b78d7fdf0db565c1f02ba782f63ee984040
checksum: 10/34b74fff56a0447731a94b40d4cf246deb8dbc1c1e3aec93acd1c3377a760bb062e979f1572bb34ec164ad28ee2a391744b42d0d6d6cc16c4ce527e5e09610e1
languageName: node
linkType: hard
@@ -10320,13 +10293,6 @@ __metadata:
languageName: node
linkType: hard
"@types/uuid@npm:^8.3.3":
version: 8.3.4
resolution: "@types/uuid@npm:8.3.4"
checksum: 10/6f11f3ff70f30210edaa8071422d405e9c1d4e53abbe50fdce365150d3c698fe7bbff65c1e71ae080cbfb8fded860dbb5e174da96fdbbdfcaa3fb3daa474d20f
languageName: node
linkType: hard
"@types/webpack-assets-manifest@npm:^5":
version: 5.1.4
resolution: "@types/webpack-assets-manifest@npm:5.1.4"
@@ -10390,40 +10356,40 @@ __metadata:
languageName: node
linkType: hard
"@typescript-eslint/eslint-plugin@npm:8.18.1":
version: 8.18.1
resolution: "@typescript-eslint/eslint-plugin@npm:8.18.1"
"@typescript-eslint/eslint-plugin@npm:8.22.0":
version: 8.22.0
resolution: "@typescript-eslint/eslint-plugin@npm:8.22.0"
dependencies:
"@eslint-community/regexpp": "npm:^4.10.0"
"@typescript-eslint/scope-manager": "npm:8.18.1"
"@typescript-eslint/type-utils": "npm:8.18.1"
"@typescript-eslint/utils": "npm:8.18.1"
"@typescript-eslint/visitor-keys": "npm:8.18.1"
"@typescript-eslint/scope-manager": "npm:8.22.0"
"@typescript-eslint/type-utils": "npm:8.22.0"
"@typescript-eslint/utils": "npm:8.22.0"
"@typescript-eslint/visitor-keys": "npm:8.22.0"
graphemer: "npm:^1.4.0"
ignore: "npm:^5.3.1"
natural-compare: "npm:^1.4.0"
ts-api-utils: "npm:^1.3.0"
ts-api-utils: "npm:^2.0.0"
peerDependencies:
"@typescript-eslint/parser": ^8.0.0 || ^8.0.0-alpha.0
eslint: ^8.57.0 || ^9.0.0
typescript: ">=4.8.4 <5.8.0"
checksum: 10/ec061a9c64477260d1ef0fc6283d8754838181e17aa90b3b8b9a70936a2ca4bae11607070917a7701e13f5301ced2b6da4b4b6e5cf525c484f97481e540b5111
checksum: 10/7211ad95f20a27182e2b55ef50102dfee4a7084c267c4e24cca24f0a28daa0360074a38bb71e407dad6d99db1165096b324b708cf35904b1d4f62fc9d5fd0f98
languageName: node
linkType: hard
"@typescript-eslint/parser@npm:8.18.1":
version: 8.18.1
resolution: "@typescript-eslint/parser@npm:8.18.1"
"@typescript-eslint/parser@npm:8.22.0":
version: 8.22.0
resolution: "@typescript-eslint/parser@npm:8.22.0"
dependencies:
"@typescript-eslint/scope-manager": "npm:8.18.1"
"@typescript-eslint/types": "npm:8.18.1"
"@typescript-eslint/typescript-estree": "npm:8.18.1"
"@typescript-eslint/visitor-keys": "npm:8.18.1"
"@typescript-eslint/scope-manager": "npm:8.22.0"
"@typescript-eslint/types": "npm:8.22.0"
"@typescript-eslint/typescript-estree": "npm:8.22.0"
"@typescript-eslint/visitor-keys": "npm:8.22.0"
debug: "npm:^4.3.4"
peerDependencies:
eslint: ^8.57.0 || ^9.0.0
typescript: ">=4.8.4 <5.8.0"
checksum: 10/09a601ef8b837962e5bb2687358520f337f9d0bbac5c6d5e159654faa5caaffb24d990e8d6bc4dc51ff5008dd9e182315c35bc5e9e3789090ccef8b8040e7659
checksum: 10/6b7fee52345e8a32d8cfea1ac4aeb563cb0c44ba46290686afde1cd541b787fcf61bec0e6960559f544e9ba3b72670a68f8eda860384aebb5744101f0f1a68c9
languageName: node
linkType: hard
@@ -10437,28 +10403,28 @@ __metadata:
languageName: node
linkType: hard
"@typescript-eslint/scope-manager@npm:8.18.1, @typescript-eslint/scope-manager@npm:^8.15.0":
version: 8.18.1
resolution: "@typescript-eslint/scope-manager@npm:8.18.1"
"@typescript-eslint/scope-manager@npm:8.22.0, @typescript-eslint/scope-manager@npm:^8.15.0":
version: 8.22.0
resolution: "@typescript-eslint/scope-manager@npm:8.22.0"
dependencies:
"@typescript-eslint/types": "npm:8.18.1"
"@typescript-eslint/visitor-keys": "npm:8.18.1"
checksum: 10/14f7c09924c3a006b20752e5204b33c2b6974fc00bea16c23f471e65f2fb089fcbd3fb5296bcfd6727ac95c32ba24ebb15ba84fbf1deadc17b4cc5ca7f41c72a
"@typescript-eslint/types": "npm:8.22.0"
"@typescript-eslint/visitor-keys": "npm:8.22.0"
checksum: 10/7fb4bae6d9f8b86a43405b24828cd36ba0751cce4346d86821a4827cded93227f92668044e5e6d802a32096b50cfcaf2ce9ab65322310fa68f5e3819bef70168
languageName: node
linkType: hard
"@typescript-eslint/type-utils@npm:8.18.1":
version: 8.18.1
resolution: "@typescript-eslint/type-utils@npm:8.18.1"
"@typescript-eslint/type-utils@npm:8.22.0":
version: 8.22.0
resolution: "@typescript-eslint/type-utils@npm:8.22.0"
dependencies:
"@typescript-eslint/typescript-estree": "npm:8.18.1"
"@typescript-eslint/utils": "npm:8.18.1"
"@typescript-eslint/typescript-estree": "npm:8.22.0"
"@typescript-eslint/utils": "npm:8.22.0"
debug: "npm:^4.3.4"
ts-api-utils: "npm:^1.3.0"
ts-api-utils: "npm:^2.0.0"
peerDependencies:
eslint: ^8.57.0 || ^9.0.0
typescript: ">=4.8.4 <5.8.0"
checksum: 10/cde53d05f4ca6e172239918cba2b560b9f837aa1fc7d5220784b1a6af9c8c525db020a5160822087e320305492fe359b7fb191420789b5f1e47a01e0cda21ac9
checksum: 10/1da2447ce12f09370082daeef88f8922842e39d2a7b0abe3def21442f85bf4250524c60cbb97276d5cd876783b976dcb0ed85aeb8c0b100d83b7f3a59cdfccbf
languageName: node
linkType: hard
@@ -10469,10 +10435,10 @@ __metadata:
languageName: node
linkType: hard
"@typescript-eslint/types@npm:8.18.1, @typescript-eslint/types@npm:^8.9.0":
version: 8.18.1
resolution: "@typescript-eslint/types@npm:8.18.1"
checksum: 10/57a6141ba17be929291a644991f3a76f94fce330376f6a079decb20fb53378d636ad6878f8f9b6fcb8244cf1ca8b118f9e8901ae04cf3de2aa9f9ff57791d97a
"@typescript-eslint/types@npm:8.22.0, @typescript-eslint/types@npm:^8.9.0":
version: 8.22.0
resolution: "@typescript-eslint/types@npm:8.22.0"
checksum: 10/b43ea5b05ed0b43dcee8d2fa98b2c3f79c604780cbd56e6ba7f89e3066798b7169848694f59523fd2003e8fa699ddc97f28b0860a4eb04eea26c96d5ac9346bd
languageName: node
linkType: hard
@@ -10494,36 +10460,36 @@ __metadata:
languageName: node
linkType: hard
"@typescript-eslint/typescript-estree@npm:8.18.1":
version: 8.18.1
resolution: "@typescript-eslint/typescript-estree@npm:8.18.1"
"@typescript-eslint/typescript-estree@npm:8.22.0":
version: 8.22.0
resolution: "@typescript-eslint/typescript-estree@npm:8.22.0"
dependencies:
"@typescript-eslint/types": "npm:8.18.1"
"@typescript-eslint/visitor-keys": "npm:8.18.1"
"@typescript-eslint/types": "npm:8.22.0"
"@typescript-eslint/visitor-keys": "npm:8.22.0"
debug: "npm:^4.3.4"
fast-glob: "npm:^3.3.2"
is-glob: "npm:^4.0.3"
minimatch: "npm:^9.0.4"
semver: "npm:^7.6.0"
ts-api-utils: "npm:^1.3.0"
ts-api-utils: "npm:^2.0.0"
peerDependencies:
typescript: ">=4.8.4 <5.8.0"
checksum: 10/8ecc1b50b9fc32116eee1b3b00f3fb29cf18026c0bbb50ab5f6e01db58ef62b8ac01824f2950f132479be6e1b82466a2bfd1e2cb4525aa8dbce4c27fc2494cfc
checksum: 10/e3c0b191e2a0f55101c3e3333904f3a255d635e4ea0d026981cc25e83b62660a3a8a7993ac4a3d0c8756afb7dc272099eec48fd93e100a2b8467a5b80ef0026c
languageName: node
linkType: hard
"@typescript-eslint/utils@npm:8.18.1, @typescript-eslint/utils@npm:^6.0.0 || ^7.0.0 || ^8.0.0, @typescript-eslint/utils@npm:^8.13.0, @typescript-eslint/utils@npm:^8.15.0, @typescript-eslint/utils@npm:^8.9.0":
version: 8.18.1
resolution: "@typescript-eslint/utils@npm:8.18.1"
"@typescript-eslint/utils@npm:8.22.0, @typescript-eslint/utils@npm:^6.0.0 || ^7.0.0 || ^8.0.0, @typescript-eslint/utils@npm:^8.13.0, @typescript-eslint/utils@npm:^8.15.0, @typescript-eslint/utils@npm:^8.9.0":
version: 8.22.0
resolution: "@typescript-eslint/utils@npm:8.22.0"
dependencies:
"@eslint-community/eslint-utils": "npm:^4.4.0"
"@typescript-eslint/scope-manager": "npm:8.18.1"
"@typescript-eslint/types": "npm:8.18.1"
"@typescript-eslint/typescript-estree": "npm:8.18.1"
"@typescript-eslint/scope-manager": "npm:8.22.0"
"@typescript-eslint/types": "npm:8.22.0"
"@typescript-eslint/typescript-estree": "npm:8.22.0"
peerDependencies:
eslint: ^8.57.0 || ^9.0.0
typescript: ">=4.8.4 <5.8.0"
checksum: 10/7b33d2ac273ad606a3dcb776bcf02c901812952550cdc93d4ece272b3b0e5d2a4e05fa92f9bd466f4a296ddd5992902d3b6623aa1c29d09e8e392897103e42a8
checksum: 10/92a5ae5d79a5988e88fdda8d5e88f73e7b9ce24b339098d72698dba766ded274c24d0e2857bcb799c0aa7a59257e54a273eabdaaab39a5cd20283669201eeb53
languageName: node
linkType: hard
@@ -10555,13 +10521,13 @@ __metadata:
languageName: node
linkType: hard
"@typescript-eslint/visitor-keys@npm:8.18.1":
version: 8.18.1
resolution: "@typescript-eslint/visitor-keys@npm:8.18.1"
"@typescript-eslint/visitor-keys@npm:8.22.0":
version: 8.22.0
resolution: "@typescript-eslint/visitor-keys@npm:8.22.0"
dependencies:
"@typescript-eslint/types": "npm:8.18.1"
"@typescript-eslint/types": "npm:8.22.0"
eslint-visitor-keys: "npm:^4.2.0"
checksum: 10/00e88b1640a68c3afea08731395eb09a8216892248fee819cb7526e99093256743239d6b9e880a499f1c0ddfe2ffa4d1ad895d9e778b5d42e702d5880db1a594
checksum: 10/1a172620d46e23362c5d1e1e7c8186856dff6b6f1c2697d67f9aac1b3dfd0de96c2c73487e4deed80fad3bfa5cf74cfed3519221657c6ede602b04ac091525a4
languageName: node
linkType: hard
@@ -17815,6 +17781,7 @@ __metadata:
"@grafana/flamegraph": "workspace:*"
"@grafana/google-sdk": "npm:0.1.2"
"@grafana/lezer-logql": "npm:0.2.7"
"@grafana/llm": "npm:0.12.0"
"@grafana/monaco-logql": "npm:^0.0.8"
"@grafana/o11y-ds-frontend": "workspace:*"
"@grafana/plugin-e2e": "npm:1.17.1"
@@ -17864,8 +17831,8 @@ __metadata:
"@swc/helpers": "npm:0.5.15"
"@testing-library/dom": "npm:10.4.0"
"@testing-library/jest-dom": "npm:6.6.3"
"@testing-library/react": "npm:16.1.0"
"@testing-library/user-event": "npm:14.5.2"
"@testing-library/react": "npm:16.2.0"
"@testing-library/user-event": "npm:14.6.1"
"@types/angular": "npm:1.8.9"
"@types/angular-route": "npm:1.7.6"
"@types/babel__core": "npm:^7"
@@ -17921,8 +17888,8 @@ __metadata:
"@types/webpack-assets-manifest": "npm:^5"
"@types/webpack-env": "npm:^1.18.4"
"@types/yargs": "npm:17.0.33"
"@typescript-eslint/eslint-plugin": "npm:8.18.1"
"@typescript-eslint/parser": "npm:8.18.1"
"@typescript-eslint/eslint-plugin": "npm:8.22.0"
"@typescript-eslint/parser": "npm:8.22.0"
"@visx/event": "npm:3.12.0"
"@visx/gradient": "npm:3.12.0"
"@visx/group": "npm:3.12.0"
@@ -26614,7 +26581,7 @@ __metadata:
languageName: node
linkType: hard
"react-use@npm:17.6.0, react-use@npm:^17.3.1, react-use@npm:^17.4.0, react-use@npm:^17.4.2, react-use@npm:^17.5.0":
"react-use@npm:17.6.0, react-use@npm:^17.3.1, react-use@npm:^17.4.0, react-use@npm:^17.5.0":
version: 17.6.0
resolution: "react-use@npm:17.6.0"
dependencies:
@@ -30057,12 +30024,12 @@ __metadata:
languageName: node
linkType: hard
"ts-api-utils@npm:^1.3.0":
version: 1.3.0
resolution: "ts-api-utils@npm:1.3.0"
"ts-api-utils@npm:^2.0.0":
version: 2.0.0
resolution: "ts-api-utils@npm:2.0.0"
peerDependencies:
typescript: ">=4.2.0"
checksum: 10/3ee44faa24410cd649b5c864e068d438aa437ef64e9e4a66a41646a6d3024d3097a695eeb3fb26ee364705d3cb9653a65756d009e6a53badb6066a5f447bf7ed
typescript: ">=4.8.4"
checksum: 10/485bdf8bbba98d58712243d958f4fd44742bbe49e559cd77882fb426d866eec6dd05c67ef91935dc4f8a3c776f235859735e1f05be399e4dc9e7ffd580120974
languageName: node
linkType: hard