Compare commits
8 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 41c4d8d4bc | |||
| 767edc47dc | |||
| 25252c0a02 | |||
| 23416272ef | |||
| 732aea954d | |||
| d5d73bb189 | |||
| 1cbbeee10b | |||
| 038fd626a1 |
@@ -18,7 +18,7 @@ weight: 300
|
||||
# Manage resources with Grafana CLI
|
||||
|
||||
{{< admonition type="note" >}}
|
||||
`grafanactl` is under active development. Command-line flags and subcommands described here may change. This document outlines the target workflows the tool is expected to support.
|
||||
`grafanactl` is under active development. Command-line flags and subcommands described here may change. This document outlines the target workflows the tool is expected to support. You can find a full list of supported commands [in this page](https://grafana.github.io/grafanactl/reference/cli/grafanactl/).
|
||||
{{< /admonition >}}
|
||||
|
||||
## Migrate resources between environments
|
||||
|
||||
@@ -74,6 +74,7 @@ Most [generally available](https://grafana.com/docs/release-life-cycle/#general-
|
||||
| `elasticsearchCrossClusterSearch` | Enables cross cluster search in the Elasticsearch data source | |
|
||||
| `lokiLabelNamesQueryApi` | Defaults to using the Loki `/labels` API instead of `/series` | Yes |
|
||||
| `improvedExternalSessionHandlingSAML` | Enables improved support for SAML external sessions. Ensure the NameID format is correctly configured in Grafana for SAML Single Logout to function properly. | Yes |
|
||||
| `newLogsPanel` | Enables the new logs panel | Yes |
|
||||
| `alertingMigrationUI` | Enables the alerting migration UI, to migrate data source-managed rules to Grafana-managed rules | Yes |
|
||||
| `alertingImportYAMLUI` | Enables a UI feature for importing rules from a Prometheus file to Grafana-managed rules | Yes |
|
||||
| `unifiedNavbars` | Enables unified navbars | |
|
||||
|
||||
+1
@@ -249,6 +249,7 @@ guaranteed because plugin developers can override this functionality. The follow
|
||||
- Dynatrace
|
||||
- Graphite
|
||||
- Google Sheets
|
||||
- Tempo
|
||||
|
||||
### Unconfirmed
|
||||
|
||||
|
||||
@@ -170,7 +170,6 @@ aliases:
|
||||
description: Learn about new and updated features in Grafana.
|
||||
labels:
|
||||
products:
|
||||
- cloud
|
||||
- enterprise
|
||||
- oss
|
||||
menuTitle: What's new
|
||||
@@ -180,7 +179,9 @@ weight: 1
|
||||
|
||||
# What's new in Grafana
|
||||
|
||||
For release highlights, deprecations, and breaking changes in Grafana releases, refer to these "What's new" pages for each version.
|
||||
For release highlights, deprecations, and breaking changes in self-managed Grafana releases, refer to these "What's new" pages for each version.
|
||||
|
||||
For information on new Grafana Cloud highlights, refer to [What's new from Grafana Labs](https://grafana.com/whats-new).
|
||||
|
||||
{{< admonition type="note" >}}
|
||||
For Grafana versions prior to v9.2, additional information might also be available in the archived release notes. To access archived release notes, use the documentation for the minor version you want to see.
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@test-plugins/extensions-test-app",
|
||||
"version": "12.3.0-pre",
|
||||
"version": "12.3.1",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"build": "NODE_OPTIONS='--experimental-strip-types --no-warnings=ExperimentalWarning' webpack -c ./webpack.config.ts --env production",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@test-plugins/grafana-e2etest-datasource",
|
||||
"version": "12.3.0-pre",
|
||||
"version": "12.3.1",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"build": "NODE_OPTIONS='--experimental-strip-types --no-warnings=ExperimentalWarning' webpack -c ./webpack.config.ts --env production",
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"$schema": "node_modules/lerna/schemas/lerna-schema.json",
|
||||
"npmClient": "yarn",
|
||||
"version": "12.3.0-pre"
|
||||
"version": "12.3.1"
|
||||
}
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@
|
||||
"license": "AGPL-3.0-only",
|
||||
"private": true,
|
||||
"name": "grafana",
|
||||
"version": "12.3.0-pre",
|
||||
"version": "12.3.1",
|
||||
"repository": "github:grafana/grafana",
|
||||
"scripts": {
|
||||
"check-frontend-dev": "./scripts/check-frontend-dev.sh",
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
"author": "Grafana Labs",
|
||||
"license": "Apache-2.0",
|
||||
"name": "@grafana/alerting",
|
||||
"version": "12.3.0-pre",
|
||||
"version": "12.3.1",
|
||||
"description": "Grafana Alerting Library – Build vertical integrations on top of the industry-leading alerting solution",
|
||||
"keywords": [
|
||||
"typescript",
|
||||
@@ -94,7 +94,7 @@
|
||||
"dependencies": {
|
||||
"@emotion/css": "11.13.5",
|
||||
"@faker-js/faker": "^9.8.0",
|
||||
"@grafana/i18n": "12.3.0-pre",
|
||||
"@grafana/i18n": "12.3.1",
|
||||
"@reduxjs/toolkit": "^2.9.0",
|
||||
"fishery": "^2.3.1",
|
||||
"lodash": "^4.17.21",
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
"license": "Apache-2.0",
|
||||
"private": true,
|
||||
"name": "@grafana/api-clients",
|
||||
"version": "12.3.0-pre",
|
||||
"version": "12.3.1",
|
||||
"description": "Grafana API client utilities",
|
||||
"keywords": [
|
||||
"grafana",
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
"author": "Grafana Labs",
|
||||
"license": "Apache-2.0",
|
||||
"name": "@grafana/data",
|
||||
"version": "12.3.0-pre",
|
||||
"version": "12.3.1",
|
||||
"description": "Grafana Data Library",
|
||||
"keywords": [
|
||||
"typescript"
|
||||
@@ -56,8 +56,8 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"@braintree/sanitize-url": "7.0.1",
|
||||
"@grafana/i18n": "12.3.0-pre",
|
||||
"@grafana/schema": "12.3.0-pre",
|
||||
"@grafana/i18n": "12.3.1",
|
||||
"@grafana/schema": "12.3.1",
|
||||
"@leeoniya/ufuzzy": "1.0.19",
|
||||
"@types/d3-interpolate": "^3.0.0",
|
||||
"@types/string-hash": "1.1.3",
|
||||
|
||||
@@ -883,7 +883,8 @@ export interface FeatureToggles {
|
||||
*/
|
||||
fetchRulesUsingPost?: boolean;
|
||||
/**
|
||||
* Enables the new logs panel in Explore
|
||||
* Enables the new logs panel
|
||||
* @default true
|
||||
*/
|
||||
newLogsPanel?: boolean;
|
||||
/**
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
"author": "Grafana Labs",
|
||||
"license": "Apache-2.0",
|
||||
"name": "@grafana/e2e-selectors",
|
||||
"version": "12.3.0-pre",
|
||||
"version": "12.3.1",
|
||||
"description": "Grafana End-to-End Test Selectors Library",
|
||||
"keywords": [
|
||||
"cli",
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@grafana/eslint-plugin",
|
||||
"description": "ESLint rules for use within the Grafana repo. Not suitable (or supported) for external use.",
|
||||
"version": "12.3.0-pre",
|
||||
"version": "12.3.1",
|
||||
"main": "./index.cjs",
|
||||
"author": "Grafana Labs",
|
||||
"license": "Apache-2.0",
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
"author": "Grafana Labs",
|
||||
"license": "Apache-2.0",
|
||||
"name": "@grafana/flamegraph",
|
||||
"version": "12.3.0-pre",
|
||||
"version": "12.3.1",
|
||||
"description": "Grafana flamegraph visualization component",
|
||||
"keywords": [
|
||||
"grafana",
|
||||
@@ -44,8 +44,8 @@
|
||||
],
|
||||
"dependencies": {
|
||||
"@emotion/css": "11.13.5",
|
||||
"@grafana/data": "12.3.0-pre",
|
||||
"@grafana/ui": "12.3.0-pre",
|
||||
"@grafana/data": "12.3.1",
|
||||
"@grafana/ui": "12.3.1",
|
||||
"@leeoniya/ufuzzy": "1.0.19",
|
||||
"d3": "^7.8.5",
|
||||
"lodash": "4.17.21",
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
"author": "Grafana Labs",
|
||||
"license": "Apache-2.0",
|
||||
"name": "@grafana/i18n",
|
||||
"version": "12.3.0-pre",
|
||||
"version": "12.3.1",
|
||||
"description": "Grafana Internationalization Library",
|
||||
"keywords": [
|
||||
"grafana",
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
"license": "AGPL-3.0-only",
|
||||
"name": "@grafana/o11y-ds-frontend",
|
||||
"private": true,
|
||||
"version": "12.3.0-pre",
|
||||
"version": "12.3.1",
|
||||
"description": "Library to manage traces in Grafana.",
|
||||
"sideEffects": false,
|
||||
"repository": {
|
||||
@@ -18,12 +18,12 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"@emotion/css": "11.13.5",
|
||||
"@grafana/data": "12.3.0-pre",
|
||||
"@grafana/e2e-selectors": "12.3.0-pre",
|
||||
"@grafana/data": "12.3.1",
|
||||
"@grafana/e2e-selectors": "12.3.1",
|
||||
"@grafana/plugin-ui": "^0.10.10",
|
||||
"@grafana/runtime": "12.3.0-pre",
|
||||
"@grafana/schema": "12.3.0-pre",
|
||||
"@grafana/ui": "12.3.0-pre",
|
||||
"@grafana/runtime": "12.3.1",
|
||||
"@grafana/schema": "12.3.1",
|
||||
"@grafana/ui": "12.3.1",
|
||||
"react-select": "5.10.2",
|
||||
"react-use": "17.6.0",
|
||||
"rxjs": "7.8.2",
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
"name": "@grafana/plugin-configs",
|
||||
"description": "Shared dependencies and files for core plugins",
|
||||
"private": true,
|
||||
"version": "12.3.0-pre",
|
||||
"version": "12.3.1",
|
||||
"dependencies": {
|
||||
"react": "18.3.1",
|
||||
"terser-webpack-plugin": "5.3.14",
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
"author": "Grafana Labs",
|
||||
"license": "AGPL-3.0-only",
|
||||
"name": "@grafana/prometheus",
|
||||
"version": "12.3.0-pre",
|
||||
"version": "12.3.1",
|
||||
"description": "Grafana Prometheus Library",
|
||||
"keywords": [
|
||||
"typescript",
|
||||
@@ -41,13 +41,13 @@
|
||||
"dependencies": {
|
||||
"@emotion/css": "11.13.5",
|
||||
"@floating-ui/react": "0.27.16",
|
||||
"@grafana/data": "12.3.0-pre",
|
||||
"@grafana/e2e-selectors": "12.3.0-pre",
|
||||
"@grafana/i18n": "12.3.0-pre",
|
||||
"@grafana/data": "12.3.1",
|
||||
"@grafana/e2e-selectors": "12.3.1",
|
||||
"@grafana/i18n": "12.3.1",
|
||||
"@grafana/plugin-ui": "^0.10.10",
|
||||
"@grafana/runtime": "12.3.0-pre",
|
||||
"@grafana/schema": "12.3.0-pre",
|
||||
"@grafana/ui": "12.3.0-pre",
|
||||
"@grafana/runtime": "12.3.1",
|
||||
"@grafana/schema": "12.3.1",
|
||||
"@grafana/ui": "12.3.1",
|
||||
"@hello-pangea/dnd": "18.0.1",
|
||||
"@leeoniya/ufuzzy": "1.0.19",
|
||||
"@lezer/common": "1.2.3",
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
"author": "Grafana Labs",
|
||||
"license": "Apache-2.0",
|
||||
"name": "@grafana/runtime",
|
||||
"version": "12.3.0-pre",
|
||||
"version": "12.3.1",
|
||||
"description": "Grafana Runtime Library",
|
||||
"keywords": [
|
||||
"grafana",
|
||||
@@ -53,11 +53,11 @@
|
||||
"postpack": "mv package.json.bak package.json && rimraf ./unstable"
|
||||
},
|
||||
"dependencies": {
|
||||
"@grafana/data": "12.3.0-pre",
|
||||
"@grafana/e2e-selectors": "12.3.0-pre",
|
||||
"@grafana/data": "12.3.1",
|
||||
"@grafana/e2e-selectors": "12.3.1",
|
||||
"@grafana/faro-web-sdk": "^1.13.2",
|
||||
"@grafana/schema": "12.3.0-pre",
|
||||
"@grafana/ui": "12.3.0-pre",
|
||||
"@grafana/schema": "12.3.1",
|
||||
"@grafana/ui": "12.3.1",
|
||||
"@openfeature/core": "^1.9.0",
|
||||
"@openfeature/ofrep-web-provider": "^0.3.3",
|
||||
"@openfeature/web-sdk": "^1.6.1",
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
"author": "Grafana Labs",
|
||||
"license": "Apache-2.0",
|
||||
"name": "@grafana/schema",
|
||||
"version": "12.3.0-pre",
|
||||
"version": "12.3.1",
|
||||
"description": "Grafana Schema Library",
|
||||
"keywords": [
|
||||
"typescript"
|
||||
|
||||
+1
-1
@@ -8,7 +8,7 @@
|
||||
//
|
||||
// Run 'make gen-cue' from repository root to regenerate.
|
||||
|
||||
export const pluginVersion = "12.3.0-pre";
|
||||
export const pluginVersion = "12.3.1";
|
||||
|
||||
export interface Options {
|
||||
limit: number;
|
||||
|
||||
+1
-1
@@ -10,7 +10,7 @@
|
||||
|
||||
import * as common from '@grafana/schema';
|
||||
|
||||
export const pluginVersion = "12.3.0-pre";
|
||||
export const pluginVersion = "12.3.1";
|
||||
|
||||
export interface Options extends common.OptionsWithLegend, common.OptionsWithTooltip, common.OptionsWithTextFormatting {
|
||||
/**
|
||||
|
||||
+1
-1
@@ -10,7 +10,7 @@
|
||||
|
||||
import * as common from '@grafana/schema';
|
||||
|
||||
export const pluginVersion = "12.3.0-pre";
|
||||
export const pluginVersion = "12.3.1";
|
||||
|
||||
export interface Options extends common.OptionsWithLegend, common.SingleStatBaseOptions {
|
||||
displayMode: common.BarGaugeDisplayMode;
|
||||
|
||||
+1
-1
@@ -10,7 +10,7 @@
|
||||
|
||||
import * as common from '@grafana/schema';
|
||||
|
||||
export const pluginVersion = "12.3.0-pre";
|
||||
export const pluginVersion = "12.3.1";
|
||||
|
||||
export enum VizDisplayMode {
|
||||
Candles = 'candles',
|
||||
|
||||
+1
-1
@@ -10,7 +10,7 @@
|
||||
|
||||
import * as ui from '@grafana/schema';
|
||||
|
||||
export const pluginVersion = "12.3.0-pre";
|
||||
export const pluginVersion = "12.3.1";
|
||||
|
||||
export enum HorizontalConstraint {
|
||||
Center = 'center',
|
||||
|
||||
+1
-1
@@ -10,7 +10,7 @@
|
||||
|
||||
import * as common from '@grafana/schema';
|
||||
|
||||
export const pluginVersion = "12.3.0-pre";
|
||||
export const pluginVersion = "12.3.1";
|
||||
|
||||
export interface MetricStat {
|
||||
/**
|
||||
|
||||
+1
-1
@@ -8,7 +8,7 @@
|
||||
//
|
||||
// Run 'make gen-cue' from repository root to regenerate.
|
||||
|
||||
export const pluginVersion = "12.3.0-pre";
|
||||
export const pluginVersion = "12.3.1";
|
||||
|
||||
export interface Options {
|
||||
/**
|
||||
|
||||
+1
-1
@@ -8,7 +8,7 @@
|
||||
//
|
||||
// Run 'make gen-cue' from repository root to regenerate.
|
||||
|
||||
export const pluginVersion = "12.3.0-pre";
|
||||
export const pluginVersion = "12.3.1";
|
||||
|
||||
export interface Options {
|
||||
selectedSeries: number;
|
||||
|
||||
+1
-1
@@ -8,7 +8,7 @@
|
||||
//
|
||||
// Run 'make gen-cue' from repository root to regenerate.
|
||||
|
||||
export const pluginVersion = "12.3.0-pre";
|
||||
export const pluginVersion = "12.3.1";
|
||||
|
||||
export type UpdateConfig = {
|
||||
render: boolean,
|
||||
|
||||
+1
-1
@@ -10,7 +10,7 @@
|
||||
|
||||
import * as common from '@grafana/schema';
|
||||
|
||||
export const pluginVersion = "12.3.0-pre";
|
||||
export const pluginVersion = "12.3.1";
|
||||
|
||||
export type BucketAggregation = (DateHistogram | Histogram | Terms | Filters | GeoHashGrid | Nested);
|
||||
|
||||
|
||||
+1
-1
@@ -10,7 +10,7 @@
|
||||
|
||||
import * as common from '@grafana/schema';
|
||||
|
||||
export const pluginVersion = "12.3.0-pre";
|
||||
export const pluginVersion = "12.3.1";
|
||||
|
||||
export interface Options extends common.SingleStatBaseOptions {
|
||||
minVizHeight: number;
|
||||
|
||||
+1
-1
@@ -10,7 +10,7 @@
|
||||
|
||||
import * as ui from '@grafana/schema';
|
||||
|
||||
export const pluginVersion = "12.3.0-pre";
|
||||
export const pluginVersion = "12.3.1";
|
||||
|
||||
export interface Options {
|
||||
basemap: ui.MapLayerOptions;
|
||||
|
||||
+1
-1
@@ -10,7 +10,7 @@
|
||||
|
||||
import * as ui from '@grafana/schema';
|
||||
|
||||
export const pluginVersion = "12.3.0-pre";
|
||||
export const pluginVersion = "12.3.1";
|
||||
|
||||
/**
|
||||
* Controls the color mode of the heatmap
|
||||
|
||||
+1
-1
@@ -10,7 +10,7 @@
|
||||
|
||||
import * as common from '@grafana/schema';
|
||||
|
||||
export const pluginVersion = "12.3.0-pre";
|
||||
export const pluginVersion = "12.3.1";
|
||||
|
||||
export interface Options extends common.OptionsWithLegend, common.OptionsWithTooltip {
|
||||
/**
|
||||
|
||||
+1
-1
@@ -10,7 +10,7 @@
|
||||
|
||||
import * as common from '@grafana/schema';
|
||||
|
||||
export const pluginVersion = "12.3.0-pre";
|
||||
export const pluginVersion = "12.3.1";
|
||||
|
||||
export interface Options {
|
||||
controlsStorageKey?: string;
|
||||
|
||||
+1
-1
@@ -10,7 +10,7 @@
|
||||
|
||||
import * as common from '@grafana/schema';
|
||||
|
||||
export const pluginVersion = "12.3.0-pre";
|
||||
export const pluginVersion = "12.3.1";
|
||||
|
||||
export interface GaugePanelEffects {
|
||||
barGlow?: boolean;
|
||||
|
||||
+1
-1
@@ -8,7 +8,7 @@
|
||||
//
|
||||
// Run 'make gen-cue' from repository root to regenerate.
|
||||
|
||||
export const pluginVersion = "12.3.0-pre";
|
||||
export const pluginVersion = "12.3.1";
|
||||
|
||||
export interface Options {
|
||||
/**
|
||||
|
||||
+1
-1
@@ -8,7 +8,7 @@
|
||||
//
|
||||
// Run 'make gen-cue' from repository root to regenerate.
|
||||
|
||||
export const pluginVersion = "12.3.0-pre";
|
||||
export const pluginVersion = "12.3.1";
|
||||
|
||||
export interface ArcOption {
|
||||
/**
|
||||
|
||||
+1
-1
@@ -10,7 +10,7 @@
|
||||
|
||||
import * as common from '@grafana/schema';
|
||||
|
||||
export const pluginVersion = "12.3.0-pre";
|
||||
export const pluginVersion = "12.3.1";
|
||||
|
||||
/**
|
||||
* Select the pie chart display style.
|
||||
|
||||
+1
-1
@@ -10,7 +10,7 @@
|
||||
|
||||
import * as common from '@grafana/schema';
|
||||
|
||||
export const pluginVersion = "12.3.0-pre";
|
||||
export const pluginVersion = "12.3.1";
|
||||
|
||||
export interface Options extends common.SingleStatBaseOptions {
|
||||
colorMode: common.BigValueColorMode;
|
||||
|
||||
+1
-1
@@ -10,7 +10,7 @@
|
||||
|
||||
import * as ui from '@grafana/schema';
|
||||
|
||||
export const pluginVersion = "12.3.0-pre";
|
||||
export const pluginVersion = "12.3.1";
|
||||
|
||||
export interface Options extends ui.OptionsWithLegend, ui.OptionsWithTooltip, ui.OptionsWithTimezones {
|
||||
/**
|
||||
|
||||
+1
-1
@@ -10,7 +10,7 @@
|
||||
|
||||
import * as ui from '@grafana/schema';
|
||||
|
||||
export const pluginVersion = "12.3.0-pre";
|
||||
export const pluginVersion = "12.3.1";
|
||||
|
||||
export interface Options extends ui.OptionsWithLegend, ui.OptionsWithTooltip, ui.OptionsWithTimezones {
|
||||
/**
|
||||
|
||||
+1
-1
@@ -10,7 +10,7 @@
|
||||
|
||||
import * as ui from '@grafana/schema';
|
||||
|
||||
export const pluginVersion = "12.3.0-pre";
|
||||
export const pluginVersion = "12.3.1";
|
||||
|
||||
export interface Options {
|
||||
/**
|
||||
|
||||
+1
-1
@@ -8,7 +8,7 @@
|
||||
//
|
||||
// Run 'make gen-cue' from repository root to regenerate.
|
||||
|
||||
export const pluginVersion = "12.3.0-pre";
|
||||
export const pluginVersion = "12.3.1";
|
||||
|
||||
export enum TextMode {
|
||||
Code = 'code',
|
||||
|
||||
+1
-1
@@ -10,7 +10,7 @@
|
||||
|
||||
import * as common from '@grafana/schema';
|
||||
|
||||
export const pluginVersion = "12.3.0-pre";
|
||||
export const pluginVersion = "12.3.1";
|
||||
|
||||
export interface Options extends common.OptionsWithTimezones {
|
||||
legend: common.VizLegendOptions;
|
||||
|
||||
+1
-1
@@ -10,7 +10,7 @@
|
||||
|
||||
import * as common from '@grafana/schema';
|
||||
|
||||
export const pluginVersion = "12.3.0-pre";
|
||||
export const pluginVersion = "12.3.1";
|
||||
|
||||
/**
|
||||
* Identical to timeseries... except it does not have timezone settings
|
||||
|
||||
+1
-1
@@ -10,7 +10,7 @@
|
||||
|
||||
import * as common from '@grafana/schema';
|
||||
|
||||
export const pluginVersion = "12.3.0-pre";
|
||||
export const pluginVersion = "12.3.1";
|
||||
|
||||
export enum PointShape {
|
||||
Circle = 'circle',
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
"license": "AGPL-3.0-only",
|
||||
"private": true,
|
||||
"name": "@grafana/sql",
|
||||
"version": "12.3.0-pre",
|
||||
"version": "12.3.1",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "http://github.com/grafana/grafana.git",
|
||||
@@ -16,12 +16,12 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"@emotion/css": "11.13.5",
|
||||
"@grafana/data": "12.3.0-pre",
|
||||
"@grafana/e2e-selectors": "12.3.0-pre",
|
||||
"@grafana/i18n": "12.3.0-pre",
|
||||
"@grafana/data": "12.3.1",
|
||||
"@grafana/e2e-selectors": "12.3.1",
|
||||
"@grafana/i18n": "12.3.1",
|
||||
"@grafana/plugin-ui": "^0.10.10",
|
||||
"@grafana/runtime": "12.3.0-pre",
|
||||
"@grafana/ui": "12.3.0-pre",
|
||||
"@grafana/runtime": "12.3.1",
|
||||
"@grafana/ui": "12.3.1",
|
||||
"@react-awesome-query-builder/ui": "6.6.15",
|
||||
"immutable": "5.1.4",
|
||||
"lodash": "4.17.21",
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
"author": "Grafana Labs",
|
||||
"license": "Apache-2.0",
|
||||
"name": "@grafana/test-utils",
|
||||
"version": "12.3.0-pre",
|
||||
"version": "12.3.1",
|
||||
"private": true,
|
||||
"description": "Grafana test utils & Mock API",
|
||||
"keywords": [
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
"author": "Grafana Labs",
|
||||
"license": "Apache-2.0",
|
||||
"name": "@grafana/ui",
|
||||
"version": "12.3.0-pre",
|
||||
"version": "12.3.1",
|
||||
"description": "Grafana Components Library",
|
||||
"keywords": [
|
||||
"grafana",
|
||||
@@ -67,11 +67,11 @@
|
||||
"@emotion/react": "11.14.0",
|
||||
"@emotion/serialize": "1.3.3",
|
||||
"@floating-ui/react": "0.27.16",
|
||||
"@grafana/data": "12.3.0-pre",
|
||||
"@grafana/e2e-selectors": "12.3.0-pre",
|
||||
"@grafana/data": "12.3.1",
|
||||
"@grafana/e2e-selectors": "12.3.1",
|
||||
"@grafana/faro-web-sdk": "^1.13.2",
|
||||
"@grafana/i18n": "12.3.0-pre",
|
||||
"@grafana/schema": "12.3.0-pre",
|
||||
"@grafana/i18n": "12.3.1",
|
||||
"@grafana/schema": "12.3.1",
|
||||
"@hello-pangea/dnd": "18.0.1",
|
||||
"@monaco-editor/react": "4.7.0",
|
||||
"@popperjs/core": "2.11.8",
|
||||
|
||||
@@ -1516,10 +1516,11 @@ var (
|
||||
},
|
||||
{
|
||||
Name: "newLogsPanel",
|
||||
Description: "Enables the new logs panel in Explore",
|
||||
Stage: FeatureStageExperimental,
|
||||
Description: "Enables the new logs panel",
|
||||
Stage: FeatureStageGeneralAvailability,
|
||||
FrontendOnly: true,
|
||||
Owner: grafanaObservabilityLogsSquad,
|
||||
Expression: "true",
|
||||
},
|
||||
{
|
||||
Name: "grafanaconThemes",
|
||||
|
||||
@@ -198,7 +198,7 @@ grafanaAdvisor,privatePreview,@grafana/plugins-platform-backend,false,false,fals
|
||||
elasticsearchImprovedParsing,experimental,@grafana/aws-datasources,false,false,false
|
||||
datasourceConnectionsTab,privatePreview,@grafana/plugins-platform-backend,false,false,true
|
||||
fetchRulesUsingPost,experimental,@grafana/alerting-squad,false,false,false
|
||||
newLogsPanel,experimental,@grafana/observability-logs,false,false,true
|
||||
newLogsPanel,GA,@grafana/observability-logs,false,false,true
|
||||
grafanaconThemes,GA,@grafana/grafana-frontend-platform,false,true,false
|
||||
alertingJiraIntegration,experimental,@grafana/alerting-squad,false,false,true
|
||||
alertingUseNewSimplifiedRoutingHashAlgorithm,preview,@grafana/alerting-squad,false,true,false
|
||||
|
||||
|
@@ -804,7 +804,7 @@ const (
|
||||
FlagFetchRulesUsingPost = "fetchRulesUsingPost"
|
||||
|
||||
// FlagNewLogsPanel
|
||||
// Enables the new logs panel in Explore
|
||||
// Enables the new logs panel
|
||||
FlagNewLogsPanel = "newLogsPanel"
|
||||
|
||||
// FlagGrafanaconThemes
|
||||
|
||||
@@ -2775,14 +2775,18 @@
|
||||
{
|
||||
"metadata": {
|
||||
"name": "newLogsPanel",
|
||||
"resourceVersion": "1753448760331",
|
||||
"creationTimestamp": "2025-02-04T17:40:17Z"
|
||||
"resourceVersion": "1762166984808",
|
||||
"creationTimestamp": "2025-02-04T17:40:17Z",
|
||||
"annotations": {
|
||||
"grafana.app/updatedTimestamp": "2025-11-03 10:49:44.808226 +0000 UTC"
|
||||
}
|
||||
},
|
||||
"spec": {
|
||||
"description": "Enables the new logs panel in Explore",
|
||||
"stage": "experimental",
|
||||
"description": "Enables the new logs panel",
|
||||
"stage": "GA",
|
||||
"codeowner": "@grafana/observability-logs",
|
||||
"frontend": true
|
||||
"frontend": true,
|
||||
"expression": "true"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
||||
@@ -473,17 +473,22 @@ func (l *LibraryElementService) getAllLibraryElements(c context.Context, signedI
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
// Every signed in user can see the general folder. The general folder might have "general" or the empty string as its UID.
|
||||
var folderUIDS = []string{"general", ""}
|
||||
folderMap := map[string]string{}
|
||||
// Using a map for O(1) lookup instead of O(n) slice iteration
|
||||
folderUIDSet := make(map[string]bool, len(fs)+2)
|
||||
folderUIDSet["general"] = true
|
||||
folderUIDSet[""] = true
|
||||
|
||||
folderMap := make(map[string]string, len(fs))
|
||||
for _, f := range fs {
|
||||
folderUIDS = append(folderUIDS, f.UID)
|
||||
folderUIDSet[f.UID] = true
|
||||
folderMap[f.UID] = f.Title
|
||||
}
|
||||
// if the user is not an admin, we need to filter out elements that are not in folders the user can see
|
||||
for _, element := range elements {
|
||||
if !signedInUser.HasRole(org.RoleAdmin) {
|
||||
if !contains(folderUIDS, element.FolderUID) {
|
||||
if !folderUIDSet[element.FolderUID] {
|
||||
continue
|
||||
}
|
||||
}
|
||||
@@ -522,10 +527,11 @@ func (l *LibraryElementService) getAllLibraryElements(c context.Context, signedI
|
||||
})
|
||||
}
|
||||
|
||||
var libraryElements []model.LibraryElement
|
||||
var libraryElements []model.LibraryElementWithMeta
|
||||
countBuilder := db.SQLBuilder{}
|
||||
if folderFilter.includeGeneralFolder {
|
||||
countBuilder.Write(selectLibraryElementDTOWithMeta)
|
||||
countBuilder.Write(", '' as folder_uid ")
|
||||
countBuilder.Write(getFromLibraryElementDTOWithMeta(l.SQLStore.GetDialect()))
|
||||
countBuilder.Write(` WHERE le.org_id=? AND le.folder_id=0`, signedInUser.GetOrgID())
|
||||
writeKindSQL(query, &countBuilder)
|
||||
@@ -537,6 +543,7 @@ func (l *LibraryElementService) getAllLibraryElements(c context.Context, signedI
|
||||
countBuilder.Write(" ")
|
||||
}
|
||||
countBuilder.Write(selectLibraryElementDTOWithMeta)
|
||||
countBuilder.Write(", le.folder_uid as folder_uid ")
|
||||
countBuilder.Write(getFromLibraryElementDTOWithMeta(l.SQLStore.GetDialect()))
|
||||
countBuilder.Write(` WHERE le.org_id=? AND le.folder_id<>0`, signedInUser.GetOrgID())
|
||||
writeKindSQL(query, &countBuilder)
|
||||
@@ -550,8 +557,19 @@ func (l *LibraryElementService) getAllLibraryElements(c context.Context, signedI
|
||||
return err
|
||||
}
|
||||
|
||||
// Apply the same folder permission filtering to the count for non-admin users
|
||||
totalCount := int64(len(libraryElements))
|
||||
if !signedInUser.HasRole(org.RoleAdmin) {
|
||||
totalCount = 0
|
||||
for _, element := range libraryElements {
|
||||
if folderUIDSet[element.FolderUID] {
|
||||
totalCount++
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
result = model.LibraryElementSearchResult{
|
||||
TotalCount: int64(len(libraryElements)),
|
||||
TotalCount: totalCount,
|
||||
Elements: retDTOs,
|
||||
Page: query.Page,
|
||||
PerPage: query.PerPage,
|
||||
@@ -878,15 +896,6 @@ func (l *LibraryElementService) deleteLibraryElementsInFolderUID(c context.Conte
|
||||
})
|
||||
}
|
||||
|
||||
func contains(slice []string, element string) bool {
|
||||
for _, item := range slice {
|
||||
if item == element {
|
||||
return true
|
||||
}
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
func getFoldersWithMatchingTitles(c context.Context, l *LibraryElementService, signedInUser identity.Requester, query model.SearchLibraryElementsQuery) ([]string, error) {
|
||||
if len(strings.TrimSpace(query.SearchString)) <= 0 {
|
||||
return nil, nil
|
||||
|
||||
@@ -1370,4 +1370,161 @@ func TestIntegration_GetAllLibraryElements(t *testing.T) {
|
||||
require.NotEmpty(t, element.UID, "Should have a UID")
|
||||
require.Equal(t, int64(0), element.Meta.ConnectedDashboards, "Should have no connected dashboards")
|
||||
})
|
||||
|
||||
// Non-admin user permission tests
|
||||
scenarioWithPanel(t, "When a non-admin user has folders but none of the library elements are in those folders, it should return empty result",
|
||||
func(t *testing.T, sc scenarioContext) {
|
||||
// Create library panels in the scenario folder
|
||||
// nolint:staticcheck
|
||||
command := getCreatePanelCommand(sc.folder.ID, sc.folder.UID, "Text - Library Panel2")
|
||||
sc.reqContext.Req.Body = mockRequestBody(command)
|
||||
resp := sc.service.createHandler(sc.reqContext)
|
||||
require.Equal(t, 200, resp.Status())
|
||||
|
||||
// Create a different folder that the non-admin user has access to (but has no panels)
|
||||
differentFolder := &folder.Folder{
|
||||
ID: 2,
|
||||
OrgID: 1,
|
||||
UID: "uid_for_DifferentFolder",
|
||||
Title: "DifferentFolder",
|
||||
}
|
||||
|
||||
// Change user to non-admin and set their accessible folders to only the different folder
|
||||
// This simulates a user who can see a folder but that folder doesn't contain any of the library elements
|
||||
sc.reqContext.OrgRole = org.RoleViewer
|
||||
sc.folderSvc.ExpectedFolders = []*folder.Folder{differentFolder}
|
||||
sc.folderSvc.AddFolder(differentFolder)
|
||||
|
||||
resp = sc.service.getAllHandler(sc.reqContext)
|
||||
require.Equal(t, 200, resp.Status())
|
||||
|
||||
var result libraryElementsSearch
|
||||
err := json.Unmarshal(resp.Body(), &result)
|
||||
require.NoError(t, err)
|
||||
|
||||
// TotalCount should be 0 for non-admin users since they can't access the folders with panels
|
||||
require.Equal(t, int64(0), result.Result.TotalCount, "TotalCount should be 0 since user has no access to folders with panels")
|
||||
require.Equal(t, 0, len(result.Result.Elements), "Elements should be empty since user has no access to folders with panels")
|
||||
require.Equal(t, 1, result.Result.Page, "Should be on page 1")
|
||||
require.Equal(t, 100, result.Result.PerPage, "Should have perPage 100")
|
||||
})
|
||||
|
||||
scenarioWithPanel(t, "When a non-admin user has folders and some library elements are in those folders, it should return only accessible elements",
|
||||
func(t *testing.T, sc scenarioContext) {
|
||||
// Create a second folder that the non-admin user will have access to
|
||||
accessibleFolder := &folder.Folder{
|
||||
ID: 2,
|
||||
OrgID: 1,
|
||||
UID: "uid_for_AccessibleFolder",
|
||||
Title: "AccessibleFolder",
|
||||
}
|
||||
|
||||
// Create a library panel in the accessible folder (need to add it to fake service first)
|
||||
sc.folderSvc.ExpectedFolder = accessibleFolder
|
||||
sc.folderSvc.AddFolder(accessibleFolder)
|
||||
// nolint:staticcheck
|
||||
command := getCreatePanelCommand(accessibleFolder.ID, accessibleFolder.UID, "Accessible Panel")
|
||||
sc.reqContext.Req.Body = mockRequestBody(command)
|
||||
resp := sc.service.createHandler(sc.reqContext)
|
||||
require.Equal(t, 200, resp.Status())
|
||||
|
||||
// Create another panel in a folder the user won't have access to
|
||||
inaccessibleFolder := &folder.Folder{
|
||||
ID: 3,
|
||||
OrgID: 1,
|
||||
UID: "uid_for_InaccessibleFolder",
|
||||
Title: "InaccessibleFolder",
|
||||
}
|
||||
sc.folderSvc.ExpectedFolder = inaccessibleFolder
|
||||
sc.folderSvc.AddFolder(inaccessibleFolder)
|
||||
// nolint:staticcheck
|
||||
command = getCreatePanelCommand(inaccessibleFolder.ID, inaccessibleFolder.UID, "Inaccessible Panel")
|
||||
sc.reqContext.Req.Body = mockRequestBody(command)
|
||||
resp = sc.service.createHandler(sc.reqContext)
|
||||
require.Equal(t, 200, resp.Status())
|
||||
|
||||
// Change user to non-admin and set their accessible folders to only the accessible folder and scenario folder
|
||||
// This will filter out the inaccessible folder
|
||||
sc.reqContext.OrgRole = org.RoleViewer
|
||||
sc.folderSvc.ExpectedFolders = []*folder.Folder{sc.folder, accessibleFolder}
|
||||
|
||||
resp = sc.service.getAllHandler(sc.reqContext)
|
||||
require.Equal(t, 200, resp.Status())
|
||||
|
||||
var result libraryElementsSearch
|
||||
err := json.Unmarshal(resp.Body(), &result)
|
||||
require.NoError(t, err)
|
||||
|
||||
// TotalCount should match the number of accessible elements (2) for non-admin users
|
||||
require.Equal(t, int64(2), result.Result.TotalCount, "TotalCount should be 2 (only accessible panels)")
|
||||
require.Equal(t, 2, len(result.Result.Elements), "Elements should contain only 2 accessible panels")
|
||||
require.Equal(t, 1, result.Result.Page, "Should be on page 1")
|
||||
require.Equal(t, 100, result.Result.PerPage, "Should have perPage 100")
|
||||
|
||||
// Verify the returned panels are from accessible folders only
|
||||
folderUIDs := make(map[string]bool)
|
||||
for _, element := range result.Result.Elements {
|
||||
folderUIDs[element.FolderUID] = true
|
||||
require.Contains(t, []string{sc.folder.UID, accessibleFolder.UID}, element.FolderUID, "Element should be in accessible folder")
|
||||
require.NotEqual(t, inaccessibleFolder.UID, element.FolderUID, "Element should not be from inaccessible folder")
|
||||
}
|
||||
require.True(t, folderUIDs[sc.folder.UID], "Should include panel from scenario folder")
|
||||
require.True(t, folderUIDs[accessibleFolder.UID], "Should include panel from accessible folder")
|
||||
})
|
||||
|
||||
scenarioWithPanel(t, "When a non-admin user has access to all folders containing library elements, it should return all elements",
|
||||
func(t *testing.T, sc scenarioContext) {
|
||||
// Create a second folder that the non-admin user will have access to
|
||||
folder2 := &folder.Folder{
|
||||
ID: 2,
|
||||
OrgID: 1,
|
||||
UID: "uid_for_Folder2",
|
||||
Title: "Folder2",
|
||||
}
|
||||
sc.folderSvc.ExpectedFolder = folder2
|
||||
sc.folderSvc.AddFolder(folder2)
|
||||
|
||||
// Create a library panel in folder2
|
||||
// nolint:staticcheck
|
||||
command := getCreatePanelCommand(folder2.ID, folder2.UID, "Panel in Folder2")
|
||||
sc.reqContext.Req.Body = mockRequestBody(command)
|
||||
resp := sc.service.createHandler(sc.reqContext)
|
||||
require.Equal(t, 200, resp.Status())
|
||||
|
||||
// Create another panel in the original scenario folder
|
||||
sc.folderSvc.ExpectedFolder = sc.folder
|
||||
// nolint:staticcheck
|
||||
command = getCreatePanelCommand(sc.folder.ID, sc.folder.UID, "Panel in ScenarioFolder")
|
||||
sc.reqContext.Req.Body = mockRequestBody(command)
|
||||
resp = sc.service.createHandler(sc.reqContext)
|
||||
require.Equal(t, 200, resp.Status())
|
||||
|
||||
// Change user to non-admin and set their accessible folders to include all folders with panels
|
||||
sc.reqContext.OrgRole = org.RoleViewer
|
||||
sc.folderSvc.ExpectedFolders = []*folder.Folder{sc.folder, folder2}
|
||||
|
||||
resp = sc.service.getAllHandler(sc.reqContext)
|
||||
require.Equal(t, 200, resp.Status())
|
||||
|
||||
var result libraryElementsSearch
|
||||
err := json.Unmarshal(resp.Body(), &result)
|
||||
require.NoError(t, err)
|
||||
|
||||
// Should return all 3 panels (1 from initial setup + 2 created in this test)
|
||||
require.Equal(t, int64(3), result.Result.TotalCount, "Should return all 3 panels")
|
||||
require.Equal(t, 3, len(result.Result.Elements), "Should have 3 elements")
|
||||
require.Equal(t, 1, result.Result.Page, "Should be on page 1")
|
||||
require.Equal(t, 100, result.Result.PerPage, "Should have perPage 100")
|
||||
|
||||
// Verify all panels are from the accessible folders
|
||||
folderUIDs := make(map[string]int)
|
||||
for _, element := range result.Result.Elements {
|
||||
folderUIDs[element.FolderUID]++
|
||||
require.Contains(t, []string{sc.folder.UID, folder2.UID}, element.FolderUID, "All elements should be in accessible folders")
|
||||
require.Equal(t, int64(model.PanelElement), element.Kind, "Should be a panel element")
|
||||
require.Equal(t, "text", element.Type, "Should be text panel")
|
||||
}
|
||||
require.Equal(t, 2, folderUIDs[sc.folder.UID], "Should have 2 panels in scenario folder")
|
||||
require.Equal(t, 1, folderUIDs[folder2.UID], "Should have 1 panel in folder2")
|
||||
})
|
||||
}
|
||||
|
||||
@@ -233,7 +233,7 @@ func (am *alertmanager) SaveAndApplyConfig(ctx context.Context, cfg *apimodels.P
|
||||
}
|
||||
|
||||
err = am.Store.SaveAlertmanagerConfigurationWithCallback(ctx, cmd, func() error {
|
||||
_, err = am.applyConfig(ctx, cfg, LogInvalidReceivers) // fail if the autogen config is invalid
|
||||
_, err = am.applyConfig(ctx, cfg, ErrorOnInvalidReceivers) // fail if the autogen config is invalid
|
||||
return err
|
||||
})
|
||||
if err != nil {
|
||||
@@ -259,7 +259,7 @@ func (am *alertmanager) ApplyConfig(ctx context.Context, dbCfg *ngmodels.AlertCo
|
||||
// Since we will now update last_applied when autogen changes even if the user-created config remains the same.
|
||||
// To fix this however, the local alertmanager needs to be able to tell the difference between user-created and
|
||||
// autogen config, which may introduce cross-cutting complexity.
|
||||
configChanged, err := am.applyConfig(ctx, cfg, ErrorOnInvalidReceivers)
|
||||
configChanged, err := am.applyConfig(ctx, cfg, LogInvalidReceivers)
|
||||
if err != nil {
|
||||
outerErr = fmt.Errorf("unable to apply configuration: %w", err)
|
||||
return
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { createDataFrame } from '@grafana/data';
|
||||
import { ResourceDimensionMode } from '@grafana/schema';
|
||||
|
||||
import { getResourceDimension } from './resource';
|
||||
import { getPublicOrAbsoluteUrl, getResourceDimension } from './resource';
|
||||
|
||||
describe('getResourceDimension', () => {
|
||||
const publicPath = 'https://grafana.fake/public/';
|
||||
@@ -63,5 +63,66 @@ describe('getResourceDimension', () => {
|
||||
expect(getResourceDimension(frame, config).value()).toEqual('https://3rdparty.fake/field.png');
|
||||
});
|
||||
|
||||
it('should return empty string for boolean field values', () => {
|
||||
const frame = createDataFrame({
|
||||
fields: [
|
||||
{
|
||||
name: 'image_field',
|
||||
values: [true],
|
||||
display: (v) => ({
|
||||
text: String(v),
|
||||
numeric: NaN,
|
||||
icon: undefined,
|
||||
}),
|
||||
},
|
||||
],
|
||||
});
|
||||
const config = { mode: ResourceDimensionMode.Field, field: 'image_field', fixed: '' };
|
||||
|
||||
expect(getResourceDimension(frame, config).get(0)).toEqual('');
|
||||
expect(getResourceDimension(frame, config).value()).toEqual('');
|
||||
});
|
||||
|
||||
it('should return empty string for numeric field values', () => {
|
||||
const frame = createDataFrame({
|
||||
fields: [
|
||||
{
|
||||
name: 'image_field',
|
||||
values: [123],
|
||||
display: (v) => ({
|
||||
text: String(v),
|
||||
numeric: Number(v),
|
||||
icon: undefined,
|
||||
}),
|
||||
},
|
||||
],
|
||||
});
|
||||
const config = { mode: ResourceDimensionMode.Field, field: 'image_field', fixed: '' };
|
||||
|
||||
expect(getResourceDimension(frame, config).get(0)).toEqual('');
|
||||
expect(getResourceDimension(frame, config).value()).toEqual('');
|
||||
});
|
||||
|
||||
// TODO: write tests for mapping modes
|
||||
});
|
||||
|
||||
describe('getPublicOrAbsoluteUrl', () => {
|
||||
const publicPath = 'https://grafana.fake/public/';
|
||||
beforeAll(() => {
|
||||
window.__grafana_public_path__ = publicPath;
|
||||
});
|
||||
|
||||
it('should handle string paths correctly', () => {
|
||||
expect(getPublicOrAbsoluteUrl('icon.png')).toEqual(`${publicPath}build/icon.png`);
|
||||
expect(getPublicOrAbsoluteUrl('https://example.com/icon.png')).toEqual('https://example.com/icon.png');
|
||||
});
|
||||
|
||||
it('should return empty string for non-string values', () => {
|
||||
expect(getPublicOrAbsoluteUrl(true)).toEqual('');
|
||||
expect(getPublicOrAbsoluteUrl(123)).toEqual('');
|
||||
expect(getPublicOrAbsoluteUrl(null)).toEqual('');
|
||||
expect(getPublicOrAbsoluteUrl(undefined)).toEqual('');
|
||||
expect(getPublicOrAbsoluteUrl({ path: 'icon.png' })).toEqual('');
|
||||
expect(getPublicOrAbsoluteUrl(['icon.png'])).toEqual('');
|
||||
});
|
||||
});
|
||||
|
||||
@@ -7,8 +7,8 @@ import { findField, getLastNotNullFieldValue } from './utils';
|
||||
//---------------------------------------------------------
|
||||
// Resource dimension
|
||||
//---------------------------------------------------------
|
||||
export function getPublicOrAbsoluteUrl(path: string): string {
|
||||
if (!path) {
|
||||
export function getPublicOrAbsoluteUrl(path: unknown): string {
|
||||
if (!path || typeof path !== 'string') {
|
||||
return '';
|
||||
}
|
||||
|
||||
@@ -55,7 +55,11 @@ export function getResourceDimension(
|
||||
}
|
||||
|
||||
// mode === ResourceDimensionMode.Field case
|
||||
const getImageOrIcon = (value: string): string => {
|
||||
const getImageOrIcon = (value: unknown): string => {
|
||||
if (typeof value !== 'string') {
|
||||
return '';
|
||||
}
|
||||
|
||||
let url = value;
|
||||
if (field && field.display) {
|
||||
const displayValue = field.display(value);
|
||||
|
||||
@@ -2,15 +2,15 @@
|
||||
"name": "@grafana-plugins/grafana-azure-monitor-datasource",
|
||||
"description": "Grafana data source for Azure Monitor",
|
||||
"private": true,
|
||||
"version": "12.3.0-pre",
|
||||
"version": "12.3.1",
|
||||
"dependencies": {
|
||||
"@emotion/css": "11.13.5",
|
||||
"@grafana/data": "12.3.0-pre",
|
||||
"@grafana/i18n": "12.3.0-pre",
|
||||
"@grafana/data": "12.3.1",
|
||||
"@grafana/i18n": "12.3.1",
|
||||
"@grafana/plugin-ui": "^0.10.10",
|
||||
"@grafana/runtime": "12.3.0-pre",
|
||||
"@grafana/schema": "12.3.0-pre",
|
||||
"@grafana/ui": "12.3.0-pre",
|
||||
"@grafana/runtime": "12.3.1",
|
||||
"@grafana/schema": "12.3.1",
|
||||
"@grafana/ui": "12.3.1",
|
||||
"@kusto/monaco-kusto": "^10.0.0",
|
||||
"fast-deep-equal": "^3.1.3",
|
||||
"i18next": "^25.0.0",
|
||||
@@ -26,8 +26,8 @@
|
||||
"tslib": "2.8.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@grafana/e2e-selectors": "12.3.0-pre",
|
||||
"@grafana/plugin-configs": "12.3.0-pre",
|
||||
"@grafana/e2e-selectors": "12.3.1",
|
||||
"@grafana/plugin-configs": "12.3.1",
|
||||
"@testing-library/dom": "10.4.1",
|
||||
"@testing-library/jest-dom": "6.6.4",
|
||||
"@testing-library/react": "16.3.0",
|
||||
|
||||
@@ -2,15 +2,15 @@
|
||||
"name": "@grafana-plugins/stackdriver",
|
||||
"description": "Grafana data source for Google Cloud Monitoring",
|
||||
"private": true,
|
||||
"version": "12.3.0-pre",
|
||||
"version": "12.3.1",
|
||||
"dependencies": {
|
||||
"@emotion/css": "11.13.5",
|
||||
"@grafana/data": "12.3.0-pre",
|
||||
"@grafana/data": "12.3.1",
|
||||
"@grafana/google-sdk": "0.3.5",
|
||||
"@grafana/plugin-ui": "^0.10.10",
|
||||
"@grafana/runtime": "12.3.0-pre",
|
||||
"@grafana/schema": "12.3.0-pre",
|
||||
"@grafana/ui": "12.3.0-pre",
|
||||
"@grafana/runtime": "12.3.1",
|
||||
"@grafana/schema": "12.3.1",
|
||||
"@grafana/ui": "12.3.1",
|
||||
"debounce-promise": "3.1.2",
|
||||
"fast-deep-equal": "^3.1.3",
|
||||
"i18next": "^25.0.0",
|
||||
@@ -26,8 +26,8 @@
|
||||
"tslib": "2.8.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@grafana/e2e-selectors": "12.3.0-pre",
|
||||
"@grafana/plugin-configs": "12.3.0-pre",
|
||||
"@grafana/e2e-selectors": "12.3.1",
|
||||
"@grafana/plugin-configs": "12.3.1",
|
||||
"@testing-library/dom": "10.4.1",
|
||||
"@testing-library/jest-dom": "6.6.4",
|
||||
"@testing-library/react": "16.3.0",
|
||||
|
||||
@@ -2,22 +2,22 @@
|
||||
"name": "@grafana-plugins/grafana-postgresql-datasource",
|
||||
"description": "PostgreSQL data source plugin",
|
||||
"private": true,
|
||||
"version": "12.3.0-pre",
|
||||
"version": "12.3.1",
|
||||
"dependencies": {
|
||||
"@emotion/css": "11.13.5",
|
||||
"@grafana/data": "12.3.0-pre",
|
||||
"@grafana/data": "12.3.1",
|
||||
"@grafana/plugin-ui": "^0.10.10",
|
||||
"@grafana/runtime": "12.3.0-pre",
|
||||
"@grafana/sql": "12.3.0-pre",
|
||||
"@grafana/ui": "12.3.0-pre",
|
||||
"@grafana/runtime": "12.3.1",
|
||||
"@grafana/sql": "12.3.1",
|
||||
"@grafana/ui": "12.3.1",
|
||||
"lodash": "4.17.21",
|
||||
"react": "18.3.1",
|
||||
"rxjs": "7.8.2",
|
||||
"tslib": "2.8.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@grafana/e2e-selectors": "12.3.0-pre",
|
||||
"@grafana/plugin-configs": "12.3.0-pre",
|
||||
"@grafana/e2e-selectors": "12.3.1",
|
||||
"@grafana/plugin-configs": "12.3.1",
|
||||
"@testing-library/dom": "10.4.1",
|
||||
"@testing-library/react": "16.3.0",
|
||||
"@testing-library/user-event": "14.6.1",
|
||||
|
||||
@@ -2,13 +2,13 @@
|
||||
"name": "@grafana-plugins/grafana-pyroscope-datasource",
|
||||
"description": "Continuous profiling for analysis of CPU and memory usage, down to the line number and throughout time. Saving infrastructure cost, improving performance, and increasing reliability.",
|
||||
"private": true,
|
||||
"version": "12.3.0-pre",
|
||||
"version": "12.3.1",
|
||||
"dependencies": {
|
||||
"@emotion/css": "11.13.5",
|
||||
"@grafana/data": "12.3.0-pre",
|
||||
"@grafana/runtime": "12.3.0-pre",
|
||||
"@grafana/schema": "12.3.0-pre",
|
||||
"@grafana/ui": "12.3.0-pre",
|
||||
"@grafana/data": "12.3.1",
|
||||
"@grafana/runtime": "12.3.1",
|
||||
"@grafana/schema": "12.3.1",
|
||||
"@grafana/ui": "12.3.1",
|
||||
"fast-deep-equal": "^3.1.3",
|
||||
"lodash": "4.17.21",
|
||||
"monaco-editor": "0.34.1",
|
||||
@@ -20,7 +20,7 @@
|
||||
"tslib": "2.8.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@grafana/plugin-configs": "12.3.0-pre",
|
||||
"@grafana/plugin-configs": "12.3.1",
|
||||
"@testing-library/dom": "10.4.1",
|
||||
"@testing-library/jest-dom": "6.6.4",
|
||||
"@testing-library/react": "16.3.0",
|
||||
|
||||
@@ -2,13 +2,13 @@
|
||||
"name": "@grafana-plugins/grafana-testdata-datasource",
|
||||
"description": "Generates test data in different forms",
|
||||
"private": true,
|
||||
"version": "12.3.0-pre",
|
||||
"version": "12.3.1",
|
||||
"dependencies": {
|
||||
"@emotion/css": "11.13.5",
|
||||
"@grafana/data": "12.3.0-pre",
|
||||
"@grafana/runtime": "12.3.0-pre",
|
||||
"@grafana/schema": "12.3.0-pre",
|
||||
"@grafana/ui": "12.3.0-pre",
|
||||
"@grafana/data": "12.3.1",
|
||||
"@grafana/runtime": "12.3.1",
|
||||
"@grafana/schema": "12.3.1",
|
||||
"@grafana/ui": "12.3.1",
|
||||
"d3-random": "^3.0.1",
|
||||
"lodash": "4.17.21",
|
||||
"micro-memoize": "^4.1.2",
|
||||
@@ -21,8 +21,8 @@
|
||||
"uuid": "11.1.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@grafana/e2e-selectors": "12.3.0-pre",
|
||||
"@grafana/plugin-configs": "12.3.0-pre",
|
||||
"@grafana/e2e-selectors": "12.3.1",
|
||||
"@grafana/plugin-configs": "12.3.1",
|
||||
"@testing-library/dom": "10.4.1",
|
||||
"@testing-library/jest-dom": "6.6.4",
|
||||
"@testing-library/react": "16.3.0",
|
||||
|
||||
@@ -2,14 +2,14 @@
|
||||
"name": "@grafana-plugins/graphite",
|
||||
"description": "Graphite data source plugin for Grafana",
|
||||
"private": true,
|
||||
"version": "12.3.0-pre",
|
||||
"version": "12.3.1",
|
||||
"dependencies": {
|
||||
"@emotion/css": "11.13.5",
|
||||
"@grafana/data": "12.3.0-pre",
|
||||
"@grafana/data": "12.3.1",
|
||||
"@grafana/plugin-ui": "^0.10.10",
|
||||
"@grafana/runtime": "12.3.0-pre",
|
||||
"@grafana/schema": "12.3.0-pre",
|
||||
"@grafana/ui": "12.3.0-pre",
|
||||
"@grafana/runtime": "12.3.1",
|
||||
"@grafana/schema": "12.3.1",
|
||||
"@grafana/ui": "12.3.1",
|
||||
"@reduxjs/toolkit": "2.9.0",
|
||||
"lodash": "4.17.21",
|
||||
"moment": "2.30.1",
|
||||
@@ -23,8 +23,8 @@
|
||||
"uuid": "11.1.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@grafana/e2e-selectors": "12.3.0-pre",
|
||||
"@grafana/plugin-configs": "12.3.0-pre",
|
||||
"@grafana/e2e-selectors": "12.3.1",
|
||||
"@grafana/plugin-configs": "12.3.1",
|
||||
"@testing-library/dom": "10.4.1",
|
||||
"@testing-library/jest-dom": "6.6.4",
|
||||
"@testing-library/react": "16.3.0",
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
"name": "@grafana-plugins/jaeger",
|
||||
"description": "Jaeger plugin for Grafana",
|
||||
"private": true,
|
||||
"version": "12.3.0-pre",
|
||||
"version": "12.3.1",
|
||||
"dependencies": {
|
||||
"@emotion/css": "11.13.5",
|
||||
"@grafana/data": "workspace:*",
|
||||
|
||||
@@ -2,16 +2,16 @@
|
||||
"name": "@grafana-plugins/loki",
|
||||
"description": "Loki data source plugin for Grafana",
|
||||
"private": true,
|
||||
"version": "12.3.0-pre",
|
||||
"version": "12.3.1",
|
||||
"dependencies": {
|
||||
"@emotion/css": "11.13.5",
|
||||
"@grafana/data": "12.3.0-pre",
|
||||
"@grafana/data": "12.3.1",
|
||||
"@grafana/lezer-logql": "0.2.9",
|
||||
"@grafana/llm": "0.22.1",
|
||||
"@grafana/monaco-logql": "^0.0.8",
|
||||
"@grafana/runtime": "12.3.0-pre",
|
||||
"@grafana/schema": "12.3.0-pre",
|
||||
"@grafana/ui": "12.3.0-pre",
|
||||
"@grafana/runtime": "12.3.1",
|
||||
"@grafana/schema": "12.3.1",
|
||||
"@grafana/ui": "12.3.1",
|
||||
"d3-random": "^3.0.1",
|
||||
"lodash": "4.17.21",
|
||||
"micro-memoize": "^4.1.2",
|
||||
@@ -24,8 +24,8 @@
|
||||
"uuid": "11.1.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@grafana/e2e-selectors": "12.3.0-pre",
|
||||
"@grafana/plugin-configs": "12.3.0-pre",
|
||||
"@grafana/e2e-selectors": "12.3.1",
|
||||
"@grafana/plugin-configs": "12.3.1",
|
||||
"@testing-library/dom": "10.4.1",
|
||||
"@testing-library/jest-dom": "6.6.4",
|
||||
"@testing-library/react": "16.3.0",
|
||||
|
||||
@@ -2,23 +2,23 @@
|
||||
"name": "@grafana-plugins/mssql",
|
||||
"description": "MSSQL data source plugin",
|
||||
"private": true,
|
||||
"version": "12.3.0-pre",
|
||||
"version": "12.3.1",
|
||||
"dependencies": {
|
||||
"@emotion/css": "11.13.5",
|
||||
"@grafana/data": "12.3.0-pre",
|
||||
"@grafana/i18n": "12.3.0-pre",
|
||||
"@grafana/data": "12.3.1",
|
||||
"@grafana/i18n": "12.3.1",
|
||||
"@grafana/plugin-ui": "^0.10.10",
|
||||
"@grafana/runtime": "12.3.0-pre",
|
||||
"@grafana/sql": "12.3.0-pre",
|
||||
"@grafana/ui": "12.3.0-pre",
|
||||
"@grafana/runtime": "12.3.1",
|
||||
"@grafana/sql": "12.3.1",
|
||||
"@grafana/ui": "12.3.1",
|
||||
"lodash": "4.17.21",
|
||||
"react": "18.3.1",
|
||||
"rxjs": "7.8.2",
|
||||
"tslib": "2.8.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@grafana/e2e-selectors": "12.3.0-pre",
|
||||
"@grafana/plugin-configs": "12.3.0-pre",
|
||||
"@grafana/e2e-selectors": "12.3.1",
|
||||
"@grafana/plugin-configs": "12.3.1",
|
||||
"@testing-library/dom": "10.4.1",
|
||||
"@testing-library/react": "16.3.0",
|
||||
"@testing-library/user-event": "14.6.1",
|
||||
|
||||
@@ -2,22 +2,22 @@
|
||||
"name": "@grafana-plugins/mysql",
|
||||
"description": "MySQL data source plugin",
|
||||
"private": true,
|
||||
"version": "12.3.0-pre",
|
||||
"version": "12.3.1",
|
||||
"dependencies": {
|
||||
"@emotion/css": "11.13.5",
|
||||
"@grafana/data": "12.3.0-pre",
|
||||
"@grafana/data": "12.3.1",
|
||||
"@grafana/plugin-ui": "^0.10.10",
|
||||
"@grafana/runtime": "12.3.0-pre",
|
||||
"@grafana/sql": "12.3.0-pre",
|
||||
"@grafana/ui": "12.3.0-pre",
|
||||
"@grafana/runtime": "12.3.1",
|
||||
"@grafana/sql": "12.3.1",
|
||||
"@grafana/ui": "12.3.1",
|
||||
"lodash": "4.17.21",
|
||||
"react": "18.3.1",
|
||||
"rxjs": "7.8.2",
|
||||
"tslib": "2.8.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@grafana/e2e-selectors": "12.3.0-pre",
|
||||
"@grafana/plugin-configs": "12.3.0-pre",
|
||||
"@grafana/e2e-selectors": "12.3.1",
|
||||
"@grafana/plugin-configs": "12.3.1",
|
||||
"@testing-library/dom": "10.4.1",
|
||||
"@testing-library/react": "16.3.0",
|
||||
"@testing-library/user-event": "14.6.1",
|
||||
|
||||
@@ -2,13 +2,13 @@
|
||||
"name": "@grafana-plugins/parca",
|
||||
"description": "Continuous profiling for analysis of CPU and memory usage, down to the line number and throughout time. Saving infrastructure cost, improving performance, and increasing reliability.",
|
||||
"private": true,
|
||||
"version": "12.3.0-pre",
|
||||
"version": "12.3.1",
|
||||
"dependencies": {
|
||||
"@emotion/css": "11.13.5",
|
||||
"@grafana/data": "12.3.0-pre",
|
||||
"@grafana/runtime": "12.3.0-pre",
|
||||
"@grafana/schema": "12.3.0-pre",
|
||||
"@grafana/ui": "12.3.0-pre",
|
||||
"@grafana/data": "12.3.1",
|
||||
"@grafana/runtime": "12.3.1",
|
||||
"@grafana/schema": "12.3.1",
|
||||
"@grafana/ui": "12.3.1",
|
||||
"lodash": "4.17.21",
|
||||
"monaco-editor": "0.34.1",
|
||||
"react": "18.3.1",
|
||||
@@ -18,7 +18,7 @@
|
||||
"tslib": "2.8.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@grafana/plugin-configs": "12.3.0-pre",
|
||||
"@grafana/plugin-configs": "12.3.1",
|
||||
"@testing-library/dom": "10.4.1",
|
||||
"@testing-library/react": "16.3.0",
|
||||
"@testing-library/user-event": "14.6.1",
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
"name": "@grafana-plugins/tempo",
|
||||
"description": "Grafana plugin for the Tempo data source.",
|
||||
"private": true,
|
||||
"version": "12.3.0-pre",
|
||||
"version": "12.3.1",
|
||||
"dependencies": {
|
||||
"@emotion/css": "11.13.5",
|
||||
"@grafana/data": "workspace:*",
|
||||
@@ -38,7 +38,7 @@
|
||||
"uuid": "11.1.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@grafana/plugin-configs": "12.3.0-pre",
|
||||
"@grafana/plugin-configs": "12.3.1",
|
||||
"@testing-library/dom": "10.4.1",
|
||||
"@testing-library/jest-dom": "6.6.4",
|
||||
"@testing-library/react": "16.3.0",
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
"name": "@grafana-plugins/zipkin",
|
||||
"description": "Zipkin plugin for Grafana",
|
||||
"private": true,
|
||||
"version": "12.3.0-pre",
|
||||
"version": "12.3.1",
|
||||
"dependencies": {
|
||||
"@emotion/css": "11.13.5",
|
||||
"@grafana/data": "workspace:*",
|
||||
|
||||
@@ -2433,14 +2433,14 @@ __metadata:
|
||||
resolution: "@grafana-plugins/grafana-azure-monitor-datasource@workspace:public/app/plugins/datasource/azuremonitor"
|
||||
dependencies:
|
||||
"@emotion/css": "npm:11.13.5"
|
||||
"@grafana/data": "npm:12.3.0-pre"
|
||||
"@grafana/e2e-selectors": "npm:12.3.0-pre"
|
||||
"@grafana/i18n": "npm:12.3.0-pre"
|
||||
"@grafana/plugin-configs": "npm:12.3.0-pre"
|
||||
"@grafana/data": "npm:12.3.1"
|
||||
"@grafana/e2e-selectors": "npm:12.3.1"
|
||||
"@grafana/i18n": "npm:12.3.1"
|
||||
"@grafana/plugin-configs": "npm:12.3.1"
|
||||
"@grafana/plugin-ui": "npm:^0.10.10"
|
||||
"@grafana/runtime": "npm:12.3.0-pre"
|
||||
"@grafana/schema": "npm:12.3.0-pre"
|
||||
"@grafana/ui": "npm:12.3.0-pre"
|
||||
"@grafana/runtime": "npm:12.3.1"
|
||||
"@grafana/schema": "npm:12.3.1"
|
||||
"@grafana/ui": "npm:12.3.1"
|
||||
"@kusto/monaco-kusto": "npm:^10.0.0"
|
||||
"@testing-library/dom": "npm:10.4.1"
|
||||
"@testing-library/jest-dom": "npm:6.6.4"
|
||||
@@ -2480,13 +2480,13 @@ __metadata:
|
||||
resolution: "@grafana-plugins/grafana-postgresql-datasource@workspace:public/app/plugins/datasource/grafana-postgresql-datasource"
|
||||
dependencies:
|
||||
"@emotion/css": "npm:11.13.5"
|
||||
"@grafana/data": "npm:12.3.0-pre"
|
||||
"@grafana/e2e-selectors": "npm:12.3.0-pre"
|
||||
"@grafana/plugin-configs": "npm:12.3.0-pre"
|
||||
"@grafana/data": "npm:12.3.1"
|
||||
"@grafana/e2e-selectors": "npm:12.3.1"
|
||||
"@grafana/plugin-configs": "npm:12.3.1"
|
||||
"@grafana/plugin-ui": "npm:^0.10.10"
|
||||
"@grafana/runtime": "npm:12.3.0-pre"
|
||||
"@grafana/sql": "npm:12.3.0-pre"
|
||||
"@grafana/ui": "npm:12.3.0-pre"
|
||||
"@grafana/runtime": "npm:12.3.1"
|
||||
"@grafana/sql": "npm:12.3.1"
|
||||
"@grafana/ui": "npm:12.3.1"
|
||||
"@testing-library/dom": "npm:10.4.1"
|
||||
"@testing-library/react": "npm:16.3.0"
|
||||
"@testing-library/user-event": "npm:14.6.1"
|
||||
@@ -2512,11 +2512,11 @@ __metadata:
|
||||
resolution: "@grafana-plugins/grafana-pyroscope-datasource@workspace:public/app/plugins/datasource/grafana-pyroscope-datasource"
|
||||
dependencies:
|
||||
"@emotion/css": "npm:11.13.5"
|
||||
"@grafana/data": "npm:12.3.0-pre"
|
||||
"@grafana/plugin-configs": "npm:12.3.0-pre"
|
||||
"@grafana/runtime": "npm:12.3.0-pre"
|
||||
"@grafana/schema": "npm:12.3.0-pre"
|
||||
"@grafana/ui": "npm:12.3.0-pre"
|
||||
"@grafana/data": "npm:12.3.1"
|
||||
"@grafana/plugin-configs": "npm:12.3.1"
|
||||
"@grafana/runtime": "npm:12.3.1"
|
||||
"@grafana/schema": "npm:12.3.1"
|
||||
"@grafana/ui": "npm:12.3.1"
|
||||
"@testing-library/dom": "npm:10.4.1"
|
||||
"@testing-library/jest-dom": "npm:6.6.4"
|
||||
"@testing-library/react": "npm:16.3.0"
|
||||
@@ -2553,12 +2553,12 @@ __metadata:
|
||||
resolution: "@grafana-plugins/grafana-testdata-datasource@workspace:public/app/plugins/datasource/grafana-testdata-datasource"
|
||||
dependencies:
|
||||
"@emotion/css": "npm:11.13.5"
|
||||
"@grafana/data": "npm:12.3.0-pre"
|
||||
"@grafana/e2e-selectors": "npm:12.3.0-pre"
|
||||
"@grafana/plugin-configs": "npm:12.3.0-pre"
|
||||
"@grafana/runtime": "npm:12.3.0-pre"
|
||||
"@grafana/schema": "npm:12.3.0-pre"
|
||||
"@grafana/ui": "npm:12.3.0-pre"
|
||||
"@grafana/data": "npm:12.3.1"
|
||||
"@grafana/e2e-selectors": "npm:12.3.1"
|
||||
"@grafana/plugin-configs": "npm:12.3.1"
|
||||
"@grafana/runtime": "npm:12.3.1"
|
||||
"@grafana/schema": "npm:12.3.1"
|
||||
"@grafana/ui": "npm:12.3.1"
|
||||
"@testing-library/dom": "npm:10.4.1"
|
||||
"@testing-library/jest-dom": "npm:6.6.4"
|
||||
"@testing-library/react": "npm:16.3.0"
|
||||
@@ -2594,13 +2594,13 @@ __metadata:
|
||||
resolution: "@grafana-plugins/graphite@workspace:public/app/plugins/datasource/graphite"
|
||||
dependencies:
|
||||
"@emotion/css": "npm:11.13.5"
|
||||
"@grafana/data": "npm:12.3.0-pre"
|
||||
"@grafana/e2e-selectors": "npm:12.3.0-pre"
|
||||
"@grafana/plugin-configs": "npm:12.3.0-pre"
|
||||
"@grafana/data": "npm:12.3.1"
|
||||
"@grafana/e2e-selectors": "npm:12.3.1"
|
||||
"@grafana/plugin-configs": "npm:12.3.1"
|
||||
"@grafana/plugin-ui": "npm:^0.10.10"
|
||||
"@grafana/runtime": "npm:12.3.0-pre"
|
||||
"@grafana/schema": "npm:12.3.0-pre"
|
||||
"@grafana/ui": "npm:12.3.0-pre"
|
||||
"@grafana/runtime": "npm:12.3.1"
|
||||
"@grafana/schema": "npm:12.3.1"
|
||||
"@grafana/ui": "npm:12.3.1"
|
||||
"@reduxjs/toolkit": "npm:2.9.0"
|
||||
"@testing-library/dom": "npm:10.4.1"
|
||||
"@testing-library/jest-dom": "npm:6.6.4"
|
||||
@@ -2680,15 +2680,15 @@ __metadata:
|
||||
resolution: "@grafana-plugins/loki@workspace:public/app/plugins/datasource/loki"
|
||||
dependencies:
|
||||
"@emotion/css": "npm:11.13.5"
|
||||
"@grafana/data": "npm:12.3.0-pre"
|
||||
"@grafana/e2e-selectors": "npm:12.3.0-pre"
|
||||
"@grafana/data": "npm:12.3.1"
|
||||
"@grafana/e2e-selectors": "npm:12.3.1"
|
||||
"@grafana/lezer-logql": "npm:0.2.9"
|
||||
"@grafana/llm": "npm:0.22.1"
|
||||
"@grafana/monaco-logql": "npm:^0.0.8"
|
||||
"@grafana/plugin-configs": "npm:12.3.0-pre"
|
||||
"@grafana/runtime": "npm:12.3.0-pre"
|
||||
"@grafana/schema": "npm:12.3.0-pre"
|
||||
"@grafana/ui": "npm:12.3.0-pre"
|
||||
"@grafana/plugin-configs": "npm:12.3.1"
|
||||
"@grafana/runtime": "npm:12.3.1"
|
||||
"@grafana/schema": "npm:12.3.1"
|
||||
"@grafana/ui": "npm:12.3.1"
|
||||
"@testing-library/dom": "npm:10.4.1"
|
||||
"@testing-library/jest-dom": "npm:6.6.4"
|
||||
"@testing-library/react": "npm:16.3.0"
|
||||
@@ -2724,14 +2724,14 @@ __metadata:
|
||||
resolution: "@grafana-plugins/mssql@workspace:public/app/plugins/datasource/mssql"
|
||||
dependencies:
|
||||
"@emotion/css": "npm:11.13.5"
|
||||
"@grafana/data": "npm:12.3.0-pre"
|
||||
"@grafana/e2e-selectors": "npm:12.3.0-pre"
|
||||
"@grafana/i18n": "npm:12.3.0-pre"
|
||||
"@grafana/plugin-configs": "npm:12.3.0-pre"
|
||||
"@grafana/data": "npm:12.3.1"
|
||||
"@grafana/e2e-selectors": "npm:12.3.1"
|
||||
"@grafana/i18n": "npm:12.3.1"
|
||||
"@grafana/plugin-configs": "npm:12.3.1"
|
||||
"@grafana/plugin-ui": "npm:^0.10.10"
|
||||
"@grafana/runtime": "npm:12.3.0-pre"
|
||||
"@grafana/sql": "npm:12.3.0-pre"
|
||||
"@grafana/ui": "npm:12.3.0-pre"
|
||||
"@grafana/runtime": "npm:12.3.1"
|
||||
"@grafana/sql": "npm:12.3.1"
|
||||
"@grafana/ui": "npm:12.3.1"
|
||||
"@testing-library/dom": "npm:10.4.1"
|
||||
"@testing-library/react": "npm:16.3.0"
|
||||
"@testing-library/user-event": "npm:14.6.1"
|
||||
@@ -2757,13 +2757,13 @@ __metadata:
|
||||
resolution: "@grafana-plugins/mysql@workspace:public/app/plugins/datasource/mysql"
|
||||
dependencies:
|
||||
"@emotion/css": "npm:11.13.5"
|
||||
"@grafana/data": "npm:12.3.0-pre"
|
||||
"@grafana/e2e-selectors": "npm:12.3.0-pre"
|
||||
"@grafana/plugin-configs": "npm:12.3.0-pre"
|
||||
"@grafana/data": "npm:12.3.1"
|
||||
"@grafana/e2e-selectors": "npm:12.3.1"
|
||||
"@grafana/plugin-configs": "npm:12.3.1"
|
||||
"@grafana/plugin-ui": "npm:^0.10.10"
|
||||
"@grafana/runtime": "npm:12.3.0-pre"
|
||||
"@grafana/sql": "npm:12.3.0-pre"
|
||||
"@grafana/ui": "npm:12.3.0-pre"
|
||||
"@grafana/runtime": "npm:12.3.1"
|
||||
"@grafana/sql": "npm:12.3.1"
|
||||
"@grafana/ui": "npm:12.3.1"
|
||||
"@testing-library/dom": "npm:10.4.1"
|
||||
"@testing-library/react": "npm:16.3.0"
|
||||
"@testing-library/user-event": "npm:14.6.1"
|
||||
@@ -2789,11 +2789,11 @@ __metadata:
|
||||
resolution: "@grafana-plugins/parca@workspace:public/app/plugins/datasource/parca"
|
||||
dependencies:
|
||||
"@emotion/css": "npm:11.13.5"
|
||||
"@grafana/data": "npm:12.3.0-pre"
|
||||
"@grafana/plugin-configs": "npm:12.3.0-pre"
|
||||
"@grafana/runtime": "npm:12.3.0-pre"
|
||||
"@grafana/schema": "npm:12.3.0-pre"
|
||||
"@grafana/ui": "npm:12.3.0-pre"
|
||||
"@grafana/data": "npm:12.3.1"
|
||||
"@grafana/plugin-configs": "npm:12.3.1"
|
||||
"@grafana/runtime": "npm:12.3.1"
|
||||
"@grafana/schema": "npm:12.3.1"
|
||||
"@grafana/ui": "npm:12.3.1"
|
||||
"@testing-library/dom": "npm:10.4.1"
|
||||
"@testing-library/react": "npm:16.3.0"
|
||||
"@testing-library/user-event": "npm:14.6.1"
|
||||
@@ -2822,14 +2822,14 @@ __metadata:
|
||||
resolution: "@grafana-plugins/stackdriver@workspace:public/app/plugins/datasource/cloud-monitoring"
|
||||
dependencies:
|
||||
"@emotion/css": "npm:11.13.5"
|
||||
"@grafana/data": "npm:12.3.0-pre"
|
||||
"@grafana/e2e-selectors": "npm:12.3.0-pre"
|
||||
"@grafana/data": "npm:12.3.1"
|
||||
"@grafana/e2e-selectors": "npm:12.3.1"
|
||||
"@grafana/google-sdk": "npm:0.3.5"
|
||||
"@grafana/plugin-configs": "npm:12.3.0-pre"
|
||||
"@grafana/plugin-configs": "npm:12.3.1"
|
||||
"@grafana/plugin-ui": "npm:^0.10.10"
|
||||
"@grafana/runtime": "npm:12.3.0-pre"
|
||||
"@grafana/schema": "npm:12.3.0-pre"
|
||||
"@grafana/ui": "npm:12.3.0-pre"
|
||||
"@grafana/runtime": "npm:12.3.1"
|
||||
"@grafana/schema": "npm:12.3.1"
|
||||
"@grafana/ui": "npm:12.3.1"
|
||||
"@testing-library/dom": "npm:10.4.1"
|
||||
"@testing-library/jest-dom": "npm:6.6.4"
|
||||
"@testing-library/react": "npm:16.3.0"
|
||||
@@ -2874,7 +2874,7 @@ __metadata:
|
||||
"@grafana/lezer-traceql": "npm:0.0.25"
|
||||
"@grafana/monaco-logql": "npm:^0.0.8"
|
||||
"@grafana/o11y-ds-frontend": "workspace:*"
|
||||
"@grafana/plugin-configs": "npm:12.3.0-pre"
|
||||
"@grafana/plugin-configs": "npm:12.3.1"
|
||||
"@grafana/plugin-ui": "npm:^0.10.10"
|
||||
"@grafana/runtime": "workspace:*"
|
||||
"@grafana/schema": "workspace:*"
|
||||
@@ -2966,7 +2966,7 @@ __metadata:
|
||||
dependencies:
|
||||
"@emotion/css": "npm:11.13.5"
|
||||
"@faker-js/faker": "npm:^9.8.0"
|
||||
"@grafana/i18n": "npm:12.3.0-pre"
|
||||
"@grafana/i18n": "npm:12.3.1"
|
||||
"@grafana/test-utils": "workspace:*"
|
||||
"@reduxjs/toolkit": "npm:^2.9.0"
|
||||
"@rtk-query/codegen-openapi": "npm:^2.0.0"
|
||||
@@ -3060,14 +3060,14 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@grafana/data@npm:12.3.0-pre, @grafana/data@workspace:*, @grafana/data@workspace:packages/grafana-data":
|
||||
"@grafana/data@npm:12.3.1, @grafana/data@workspace:*, @grafana/data@workspace:packages/grafana-data":
|
||||
version: 0.0.0-use.local
|
||||
resolution: "@grafana/data@workspace:packages/grafana-data"
|
||||
dependencies:
|
||||
"@braintree/sanitize-url": "npm:7.0.1"
|
||||
"@grafana/i18n": "npm:12.3.0-pre"
|
||||
"@grafana/i18n": "npm:12.3.1"
|
||||
"@grafana/scenes": "npm:6.38.0"
|
||||
"@grafana/schema": "npm:12.3.0-pre"
|
||||
"@grafana/schema": "npm:12.3.1"
|
||||
"@leeoniya/ufuzzy": "npm:1.0.19"
|
||||
"@rollup/plugin-node-resolve": "npm:16.0.1"
|
||||
"@testing-library/react": "npm:16.3.0"
|
||||
@@ -3115,7 +3115,7 @@ __metadata:
|
||||
languageName: unknown
|
||||
linkType: soft
|
||||
|
||||
"@grafana/e2e-selectors@npm:12.3.0-pre, @grafana/e2e-selectors@workspace:*, @grafana/e2e-selectors@workspace:packages/grafana-e2e-selectors":
|
||||
"@grafana/e2e-selectors@npm:12.3.1, @grafana/e2e-selectors@workspace:*, @grafana/e2e-selectors@workspace:packages/grafana-e2e-selectors":
|
||||
version: 0.0.0-use.local
|
||||
resolution: "@grafana/e2e-selectors@workspace:packages/grafana-e2e-selectors"
|
||||
dependencies:
|
||||
@@ -3215,8 +3215,8 @@ __metadata:
|
||||
"@babel/preset-env": "npm:7.28.0"
|
||||
"@babel/preset-react": "npm:7.27.1"
|
||||
"@emotion/css": "npm:11.13.5"
|
||||
"@grafana/data": "npm:12.3.0-pre"
|
||||
"@grafana/ui": "npm:12.3.0-pre"
|
||||
"@grafana/data": "npm:12.3.1"
|
||||
"@grafana/ui": "npm:12.3.1"
|
||||
"@leeoniya/ufuzzy": "npm:1.0.19"
|
||||
"@rollup/plugin-node-resolve": "npm:16.0.1"
|
||||
"@testing-library/dom": "npm:10.4.1"
|
||||
@@ -3266,7 +3266,7 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@grafana/i18n@npm:12.3.0-pre, @grafana/i18n@workspace:*, @grafana/i18n@workspace:packages/grafana-i18n":
|
||||
"@grafana/i18n@npm:12.3.1, @grafana/i18n@workspace:*, @grafana/i18n@workspace:packages/grafana-i18n":
|
||||
version: 0.0.0-use.local
|
||||
resolution: "@grafana/i18n@workspace:packages/grafana-i18n"
|
||||
dependencies:
|
||||
@@ -3336,12 +3336,12 @@ __metadata:
|
||||
resolution: "@grafana/o11y-ds-frontend@workspace:packages/grafana-o11y-ds-frontend"
|
||||
dependencies:
|
||||
"@emotion/css": "npm:11.13.5"
|
||||
"@grafana/data": "npm:12.3.0-pre"
|
||||
"@grafana/e2e-selectors": "npm:12.3.0-pre"
|
||||
"@grafana/data": "npm:12.3.1"
|
||||
"@grafana/e2e-selectors": "npm:12.3.1"
|
||||
"@grafana/plugin-ui": "npm:^0.10.10"
|
||||
"@grafana/runtime": "npm:12.3.0-pre"
|
||||
"@grafana/schema": "npm:12.3.0-pre"
|
||||
"@grafana/ui": "npm:12.3.0-pre"
|
||||
"@grafana/runtime": "npm:12.3.1"
|
||||
"@grafana/schema": "npm:12.3.1"
|
||||
"@grafana/ui": "npm:12.3.1"
|
||||
"@testing-library/dom": "npm:10.4.1"
|
||||
"@testing-library/jest-dom": "npm:^6.1.2"
|
||||
"@testing-library/react": "npm:16.3.0"
|
||||
@@ -3365,7 +3365,7 @@ __metadata:
|
||||
languageName: unknown
|
||||
linkType: soft
|
||||
|
||||
"@grafana/plugin-configs@npm:12.3.0-pre, @grafana/plugin-configs@workspace:*, @grafana/plugin-configs@workspace:packages/grafana-plugin-configs":
|
||||
"@grafana/plugin-configs@npm:12.3.1, @grafana/plugin-configs@workspace:*, @grafana/plugin-configs@workspace:packages/grafana-plugin-configs":
|
||||
version: 0.0.0-use.local
|
||||
resolution: "@grafana/plugin-configs@workspace:packages/grafana-plugin-configs"
|
||||
dependencies:
|
||||
@@ -3445,13 +3445,13 @@ __metadata:
|
||||
dependencies:
|
||||
"@emotion/css": "npm:11.13.5"
|
||||
"@floating-ui/react": "npm:0.27.16"
|
||||
"@grafana/data": "npm:12.3.0-pre"
|
||||
"@grafana/e2e-selectors": "npm:12.3.0-pre"
|
||||
"@grafana/i18n": "npm:12.3.0-pre"
|
||||
"@grafana/data": "npm:12.3.1"
|
||||
"@grafana/e2e-selectors": "npm:12.3.1"
|
||||
"@grafana/i18n": "npm:12.3.1"
|
||||
"@grafana/plugin-ui": "npm:^0.10.10"
|
||||
"@grafana/runtime": "npm:12.3.0-pre"
|
||||
"@grafana/schema": "npm:12.3.0-pre"
|
||||
"@grafana/ui": "npm:12.3.0-pre"
|
||||
"@grafana/runtime": "npm:12.3.1"
|
||||
"@grafana/schema": "npm:12.3.1"
|
||||
"@grafana/ui": "npm:12.3.1"
|
||||
"@hello-pangea/dnd": "npm:18.0.1"
|
||||
"@leeoniya/ufuzzy": "npm:1.0.19"
|
||||
"@lezer/common": "npm:1.2.3"
|
||||
@@ -3511,15 +3511,15 @@ __metadata:
|
||||
languageName: unknown
|
||||
linkType: soft
|
||||
|
||||
"@grafana/runtime@npm:12.3.0-pre, @grafana/runtime@workspace:*, @grafana/runtime@workspace:packages/grafana-runtime":
|
||||
"@grafana/runtime@npm:12.3.1, @grafana/runtime@workspace:*, @grafana/runtime@workspace:packages/grafana-runtime":
|
||||
version: 0.0.0-use.local
|
||||
resolution: "@grafana/runtime@workspace:packages/grafana-runtime"
|
||||
dependencies:
|
||||
"@grafana/data": "npm:12.3.0-pre"
|
||||
"@grafana/e2e-selectors": "npm:12.3.0-pre"
|
||||
"@grafana/data": "npm:12.3.1"
|
||||
"@grafana/e2e-selectors": "npm:12.3.1"
|
||||
"@grafana/faro-web-sdk": "npm:^1.13.2"
|
||||
"@grafana/schema": "npm:12.3.0-pre"
|
||||
"@grafana/ui": "npm:12.3.0-pre"
|
||||
"@grafana/schema": "npm:12.3.1"
|
||||
"@grafana/ui": "npm:12.3.1"
|
||||
"@openfeature/core": "npm:^1.9.0"
|
||||
"@openfeature/ofrep-web-provider": "npm:^0.3.3"
|
||||
"@openfeature/web-sdk": "npm:^1.6.1"
|
||||
@@ -3627,7 +3627,7 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@grafana/schema@npm:12.3.0-pre, @grafana/schema@workspace:*, @grafana/schema@workspace:packages/grafana-schema":
|
||||
"@grafana/schema@npm:12.3.1, @grafana/schema@workspace:*, @grafana/schema@workspace:packages/grafana-schema":
|
||||
version: 0.0.0-use.local
|
||||
resolution: "@grafana/schema@workspace:packages/grafana-schema"
|
||||
dependencies:
|
||||
@@ -3644,17 +3644,17 @@ __metadata:
|
||||
languageName: unknown
|
||||
linkType: soft
|
||||
|
||||
"@grafana/sql@npm:12.3.0-pre, @grafana/sql@workspace:*, @grafana/sql@workspace:packages/grafana-sql":
|
||||
"@grafana/sql@npm:12.3.1, @grafana/sql@workspace:*, @grafana/sql@workspace:packages/grafana-sql":
|
||||
version: 0.0.0-use.local
|
||||
resolution: "@grafana/sql@workspace:packages/grafana-sql"
|
||||
dependencies:
|
||||
"@emotion/css": "npm:11.13.5"
|
||||
"@grafana/data": "npm:12.3.0-pre"
|
||||
"@grafana/e2e-selectors": "npm:12.3.0-pre"
|
||||
"@grafana/i18n": "npm:12.3.0-pre"
|
||||
"@grafana/data": "npm:12.3.1"
|
||||
"@grafana/e2e-selectors": "npm:12.3.1"
|
||||
"@grafana/i18n": "npm:12.3.1"
|
||||
"@grafana/plugin-ui": "npm:^0.10.10"
|
||||
"@grafana/runtime": "npm:12.3.0-pre"
|
||||
"@grafana/ui": "npm:12.3.0-pre"
|
||||
"@grafana/runtime": "npm:12.3.1"
|
||||
"@grafana/ui": "npm:12.3.1"
|
||||
"@react-awesome-query-builder/ui": "npm:6.6.15"
|
||||
"@testing-library/dom": "npm:10.4.1"
|
||||
"@testing-library/jest-dom": "npm:^6.1.2"
|
||||
@@ -3716,7 +3716,7 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@grafana/ui@npm:12.3.0-pre, @grafana/ui@workspace:*, @grafana/ui@workspace:packages/grafana-ui":
|
||||
"@grafana/ui@npm:12.3.1, @grafana/ui@workspace:*, @grafana/ui@workspace:packages/grafana-ui":
|
||||
version: 0.0.0-use.local
|
||||
resolution: "@grafana/ui@workspace:packages/grafana-ui"
|
||||
dependencies:
|
||||
@@ -3726,11 +3726,11 @@ __metadata:
|
||||
"@emotion/serialize": "npm:1.3.3"
|
||||
"@faker-js/faker": "npm:^9.0.0"
|
||||
"@floating-ui/react": "npm:0.27.16"
|
||||
"@grafana/data": "npm:12.3.0-pre"
|
||||
"@grafana/e2e-selectors": "npm:12.3.0-pre"
|
||||
"@grafana/data": "npm:12.3.1"
|
||||
"@grafana/e2e-selectors": "npm:12.3.1"
|
||||
"@grafana/faro-web-sdk": "npm:^1.13.2"
|
||||
"@grafana/i18n": "npm:12.3.0-pre"
|
||||
"@grafana/schema": "npm:12.3.0-pre"
|
||||
"@grafana/i18n": "npm:12.3.1"
|
||||
"@grafana/schema": "npm:12.3.1"
|
||||
"@hello-pangea/dnd": "npm:18.0.1"
|
||||
"@monaco-editor/react": "npm:4.7.0"
|
||||
"@popperjs/core": "npm:2.11.8"
|
||||
|
||||
Reference in New Issue
Block a user