diff --git a/.config/.cprc.json b/.config/.cprc.json index c27ce80..1b079df 100644 --- a/.config/.cprc.json +++ b/.config/.cprc.json @@ -1,3 +1,3 @@ { - "version": "5.14.0" + "version": "5.18.3" } diff --git a/.config/Dockerfile b/.config/Dockerfile index 7f0b310..c55d9e1 100644 --- a/.config/Dockerfile +++ b/.config/Dockerfile @@ -1,6 +1,7 @@ ARG grafana_version=latest +ARG grafana_image=grafana-enterprise -FROM grafana/grafana:${grafana_version} +FROM grafana/${grafana_image}:${grafana_version} ARG anonymous_auth_enabled=true ARG development=false diff --git a/.config/docker-compose-base.yaml b/.config/docker-compose-base.yaml index 31234a3..b0b6edf 100644 --- a/.config/docker-compose-base.yaml +++ b/.config/docker-compose-base.yaml @@ -6,11 +6,12 @@ services: build: context: . args: - grafana_version: ${GRAFANA_VERSION:-9.2.5} + grafana_image: ${GRAFANA_IMAGE:-grafana-enterprise} + grafana_version: ${GRAFANA_VERSION:-11.5.2} development: ${DEVELOPMENT:-false} anonymous_auth_enabled: ${ANONYMOUS_AUTH_ENABLED:-true} ports: - - 3001:3000/tcp + - 3000:3000/tcp volumes: - ../dist:/var/lib/grafana/plugins/target-dashboardtabs-panel - ../provisioning:/etc/grafana/provisioning diff --git a/.config/webpack/webpack.config.ts b/.config/webpack/webpack.config.ts index 5f16513..e430fcb 100644 --- a/.config/webpack/webpack.config.ts +++ b/.config/webpack/webpack.config.ts @@ -11,15 +11,14 @@ import ForkTsCheckerWebpackPlugin from 'fork-ts-checker-webpack-plugin'; import path from 'path'; import ReplaceInFileWebpackPlugin from 'replace-in-file-webpack-plugin'; import TerserPlugin from 'terser-webpack-plugin'; -import {SubresourceIntegrityPlugin} from 'webpack-subresource-integrity'; -import {type Configuration, BannerPlugin} from 'webpack'; +import { SubresourceIntegrityPlugin } from 'webpack-subresource-integrity'; +import { type Configuration, BannerPlugin } from 'webpack'; import LiveReloadPlugin from 'webpack-livereload-plugin'; import VirtualModulesPlugin from 'webpack-virtual-modules'; -import {BuildModeWebpackPlugin} from './BuildModeWebpackPlugin'; -import {DIST_DIR, SOURCE_DIR} from './constants'; -import {getCPConfigVersion, getEntries, getPackageJson, getPluginJson, hasReadme, isWSL} from './utils'; -import {type} from "node:os"; +import { BuildModeWebpackPlugin } from './BuildModeWebpackPlugin'; +import { DIST_DIR, SOURCE_DIR } from './constants'; +import { getCPConfigVersion, getEntries, getPackageJson, getPluginJson, hasReadme, isWSL } from './utils'; const pluginJson = getPluginJson(); const cpVersion = getCPConfigVersion(); @@ -52,7 +51,7 @@ const config = async (env): Promise => { externals: [ // Required for dynamic publicPath resolution - {'amd-module': 'module'}, + { 'amd-module': 'module' }, 'lodash', 'jquery', 'moment', @@ -77,7 +76,7 @@ const config = async (env): Promise => { '@grafana/data', // Mark legacy SDK imports as external if their name starts with the "grafana/" prefix - ({request}, callback) => { + ({ request }, callback) => { const prefix = 'grafana/'; const hasPrefix = (request) => request.indexOf(prefix) === 0; const stripPrefix = (request) => request.substr(prefix.length); @@ -160,15 +159,14 @@ const config = async (env): Promise => { minimize: Boolean(env.production), minimizer: [ new TerserPlugin({ - minify: undefined, terserOptions: { format: { - comments: (_, {type, value}) => type === 'comment2' && value.trim().startsWith('[create-plugin]'), + comments: (_, { type, value }) => type === 'comment2' && value.trim().startsWith('[create-plugin]'), }, compress: { drop_console: ['log', 'info'], }, - } + }, }), ], }, @@ -201,18 +199,18 @@ const config = async (env): Promise => { patterns: [ // If src/README.md exists use it; otherwise the root README // To `compiler.options.output` - {from: hasReadme() ? 'README.md' : '../README.md', to: '.', force: true}, - {from: 'plugin.json', to: '.'}, - {from: '../LICENSE', to: '.'}, - {from: '../CHANGELOG.md', to: '.', force: true}, - {from: '**/*.json', to: '.'}, - {from: '**/*.svg', to: '.', noErrorOnMissing: true}, - {from: '**/*.png', to: '.', noErrorOnMissing: true}, - {from: '**/*.html', to: '.', noErrorOnMissing: true}, - {from: 'img/**/*', to: '.', noErrorOnMissing: true}, - {from: 'libs/**/*', to: '.', noErrorOnMissing: true}, - {from: 'static/**/*', to: '.', noErrorOnMissing: true}, - {from: '**/query_help.md', to: '.', noErrorOnMissing: true}, + { from: hasReadme() ? 'README.md' : '../README.md', to: '.', force: true }, + { from: 'plugin.json', to: '.' }, + { from: '../LICENSE', to: '.' }, + { from: '../CHANGELOG.md', to: '.', force: true }, + { from: '**/*.json', to: '.' }, + { from: '**/*.svg', to: '.', noErrorOnMissing: true }, + { from: '**/*.png', to: '.', noErrorOnMissing: true }, + { from: '**/*.html', to: '.', noErrorOnMissing: true }, + { from: 'img/**/*', to: '.', noErrorOnMissing: true }, + { from: 'libs/**/*', to: '.', noErrorOnMissing: true }, + { from: 'static/**/*', to: '.', noErrorOnMissing: true }, + { from: '**/query_help.md', to: '.', noErrorOnMissing: true }, ], }), // Replace certain template-variables in the README and plugin.json @@ -241,19 +239,19 @@ const config = async (env): Promise => { }), ...(env.development ? [ - new LiveReloadPlugin(), - new ForkTsCheckerWebpackPlugin({ - async: Boolean(env.development), - issue: { - include: [{file: '**/*.{ts,tsx}'}], - }, - typescript: {configFile: path.join(process.cwd(), 'tsconfig.json')}, - }), - new ESLintPlugin({ - extensions: ['.ts', '.tsx'], - lintDirtyModulesOnly: Boolean(env.development), // don't lint on start, only lint changed files - }), - ] + new LiveReloadPlugin(), + new ForkTsCheckerWebpackPlugin({ + async: Boolean(env.development), + issue: { + include: [{ file: '**/*.{ts,tsx}' }], + }, + typescript: { configFile: path.join(process.cwd(), 'tsconfig.json') }, + }), + new ESLintPlugin({ + extensions: ['.ts', '.tsx'], + lintDirtyModulesOnly: Boolean(env.development), // don't lint on start, only lint changed files + }), + ] : []), ], diff --git a/package-lock.json b/package-lock.json index bf3998c..7b675e2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,26 +1,26 @@ { "name": "dashboard-tabs", - "version": "1.0.0", + "version": "0.0.3", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "dashboard-tabs", - "version": "1.0.0", + "version": "0.0.3", "license": "Apache-2.0", "dependencies": { "@emotion/css": "11.10.6", - "@grafana/data": "^11.3.2", - "@grafana/runtime": "^11.3.2", - "@grafana/schema": "^11.3.2", - "@grafana/ui": "^11.3.2", + "@grafana/data": "^11.5.2", + "@grafana/runtime": "^11.5.2", + "@grafana/schema": "^11.5.2", + "@grafana/ui": "^11.5.2", "classnames": "^2.5.1", "react": "18.2.0", "react-dom": "18.2.0" }, "devDependencies": { "@grafana/eslint-config": "^8.0.0", - "@grafana/plugin-e2e": "^1.13.1", + "@grafana/plugin-e2e": "^1.17.1", "@grafana/tsconfig": "^2.0.0", "@playwright/test": "^1.41.2", "@stylistic/eslint-plugin-ts": "^2.9.0", @@ -1002,13 +1002,13 @@ "license": "MIT" }, "node_modules/@formatjs/ecma402-abstract": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-2.3.2.tgz", - "integrity": "sha512-6sE5nyvDloULiyOMbOTJEEgWL32w+VHkZQs8S02Lnn8Y/O5aQhjOEXwWzvR7SsBE/exxlSpY2EsWZgqHbtLatg==", + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-2.3.3.tgz", + "integrity": "sha512-pJT1OkhplSmvvr6i3CWTPvC/FGC06MbN5TNBfRO6Ox62AEz90eMq+dVvtX9Bl3jxCEkS0tATzDarRZuOLw7oFg==", "license": "MIT", "dependencies": { "@formatjs/fast-memoize": "2.2.6", - "@formatjs/intl-localematcher": "0.5.10", + "@formatjs/intl-localematcher": "0.6.0", "decimal.js": "10", "tslib": "2" } @@ -1023,43 +1023,43 @@ } }, "node_modules/@formatjs/icu-messageformat-parser": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.11.0.tgz", - "integrity": "sha512-Hp81uTjjdTk3FLh/dggU5NK7EIsVWc5/ZDWrIldmf2rBuPejuZ13CZ/wpVE2SToyi4EiroPTQ1XJcJuZFIxTtw==", + "version": "2.11.1", + "resolved": "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.11.1.tgz", + "integrity": "sha512-o0AhSNaOfKoic0Sn1GkFCK4MxdRsw7mPJ5/rBpIqdvcC7MIuyUSW8WChUEvrK78HhNpYOgqCQbINxCTumJLzZA==", "license": "MIT", "dependencies": { - "@formatjs/ecma402-abstract": "2.3.2", - "@formatjs/icu-skeleton-parser": "1.8.12", + "@formatjs/ecma402-abstract": "2.3.3", + "@formatjs/icu-skeleton-parser": "1.8.13", "tslib": "2" } }, "node_modules/@formatjs/icu-skeleton-parser": { - "version": "1.8.12", - "resolved": "https://registry.npmjs.org/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.8.12.tgz", - "integrity": "sha512-QRAY2jC1BomFQHYDMcZtClqHR55EEnB96V7Xbk/UiBodsuFc5kujybzt87+qj1KqmJozFhk6n4KiT1HKwAkcfg==", + "version": "1.8.13", + "resolved": "https://registry.npmjs.org/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.8.13.tgz", + "integrity": "sha512-N/LIdTvVc1TpJmMt2jVg0Fr1F7Q1qJPdZSCs19unMskCmVQ/sa0H9L8PWt13vq+gLdLg1+pPsvBLydL1Apahjg==", "license": "MIT", "dependencies": { - "@formatjs/ecma402-abstract": "2.3.2", + "@formatjs/ecma402-abstract": "2.3.3", "tslib": "2" } }, "node_modules/@formatjs/intl-localematcher": { - "version": "0.5.10", - "resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.5.10.tgz", - "integrity": "sha512-af3qATX+m4Rnd9+wHcjJ4w2ijq+rAVP3CCinJQvFv1kgSu1W6jypUmvleJxcewdxmutM8dmIRZFxO/IQBZmP2Q==", + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.6.0.tgz", + "integrity": "sha512-4rB4g+3hESy1bHSBG3tDFaMY2CH67iT7yne1e+0CLTsGLDcmoEWWpJjjpWVaYgYfYuohIRuo0E+N536gd2ZHZA==", "license": "MIT", "dependencies": { "tslib": "2" } }, "node_modules/@grafana/data": { - "version": "11.5.0", - "resolved": "https://registry.npmjs.org/@grafana/data/-/data-11.5.0.tgz", - "integrity": "sha512-cfQQoKF/g4PktEuzv0/Mt0Bc/l+Mi8qewus0mzINxerA/trE+lLZYK4HEEDJZnWNk4RT8lsPBaAW9IhbKkvjrg==", + "version": "11.5.2", + "resolved": "https://registry.npmjs.org/@grafana/data/-/data-11.5.2.tgz", + "integrity": "sha512-bNCLXVP+HV75/aHtY4u6Wg3i9uxJG6//EEdhRaDwxCJ1C695M2ShOuKxHzkRH+VNqS0zt1rFQbv5wD53n6MuPg==", "license": "Apache-2.0", "dependencies": { "@braintree/sanitize-url": "7.0.1", - "@grafana/schema": "11.5.0", + "@grafana/schema": "11.5.2", "@types/d3-interpolate": "^3.0.0", "@types/string-hash": "1.1.3", "d3-interpolate": "3.0.1", @@ -1089,33 +1089,23 @@ } }, "node_modules/@grafana/e2e-selectors": { - "version": "11.5.0", - "resolved": "https://registry.npmjs.org/@grafana/e2e-selectors/-/e2e-selectors-11.5.0.tgz", - "integrity": "sha512-PlCpnt1ivTwlwjA04juosWmOMq3487kxGsxNrBoceyH520ELPbgvnT7VO8eCXIDamHbpRdmFOAZgVK6STUut3A==", + "version": "11.6.0-227743", + "resolved": "https://registry.npmjs.org/@grafana/e2e-selectors/-/e2e-selectors-11.6.0-227743.tgz", + "integrity": "sha512-mfas7EjGO7tnFsHw/hvAxIDvmrrCjNJkHeW4SO75jdmOcb6rf4chAGBUibf3lYfHHz+aKkBcpQbUe218lgGjsg==", + "dev": true, "license": "Apache-2.0", "dependencies": { "@grafana/tsconfig": "^2.0.0", - "semver": "7.6.3", + "semver": "7.7.0", "tslib": "2.8.1", "typescript": "5.7.3" } }, - "node_modules/@grafana/e2e-selectors/node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/@grafana/e2e-selectors/node_modules/typescript": { "version": "5.7.3", "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.7.3.tgz", "integrity": "sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==", + "dev": true, "license": "Apache-2.0", "bin": { "tsc": "bin/tsc", @@ -1144,34 +1134,40 @@ } }, "node_modules/@grafana/faro-core": { - "version": "1.12.3", - "resolved": "https://registry.npmjs.org/@grafana/faro-core/-/faro-core-1.12.3.tgz", - "integrity": "sha512-rfFHlIq1xL4agIrz59Eaz7KpzVblv3CZeqx8d7Qyx1yNP3x4ZQ3l9NqqLqc1Y1bbzlJYPyP98fMg8F6rwe2sMw==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@grafana/faro-core/-/faro-core-1.14.1.tgz", + "integrity": "sha512-wPQEJ3Ow4s5m+scrHUHAbwCTMoXlXgwdjtO5PCKCimaI5q4nzFHp5D2FpFGDul2WfRVzwWvkhX6A7CGTui/myw==", "license": "Apache-2.0", "dependencies": { "@opentelemetry/api": "^1.9.0", "@opentelemetry/otlp-transformer": "^0.57.1" + }, + "engines": { + "node": ">=18.0.0" } }, "node_modules/@grafana/faro-web-sdk": { - "version": "1.12.3", - "resolved": "https://registry.npmjs.org/@grafana/faro-web-sdk/-/faro-web-sdk-1.12.3.tgz", - "integrity": "sha512-yXBP/rrxCI08wsb6mTVmHFGUAUiVT/9ti3tZ82/llC8IApNWj0NUaPcHD7zgNwYs9fq1L4dVWzWfLZnxF4BWqQ==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@grafana/faro-web-sdk/-/faro-web-sdk-1.14.1.tgz", + "integrity": "sha512-Ii1xdpYysBfHO7XbK05uCXGwskDzLH7CYSdXU2gC8loRDR5PiqPzEczzVFeNhzGRcQzcecYWMxOzeucXdhNilw==", "license": "Apache-2.0", "dependencies": { - "@grafana/faro-core": "^1.12.3", + "@grafana/faro-core": "^1.14.1", "ua-parser-js": "^1.0.32", "web-vitals": "^4.0.1" + }, + "engines": { + "node": ">=18.0.0" } }, "node_modules/@grafana/plugin-e2e": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/@grafana/plugin-e2e/-/plugin-e2e-1.17.0.tgz", - "integrity": "sha512-Xp8EoOV5zND86zpuSsPIiNezZo0ZMvqKOKrxSHt4UDb9PVBqERHoXXbqYErU06KrjrwBeMt+XbaAvJ46aA/Omg==", + "version": "1.18.3", + "resolved": "https://registry.npmjs.org/@grafana/plugin-e2e/-/plugin-e2e-1.18.3.tgz", + "integrity": "sha512-iWDcPrMivW31BITD29V+Iu/phZdQ0zpFOvuIvHbt5+eK5W4ojo1J0b3YMNpqGL9oJVx16eqQFmj/l/5WkgrppQ==", "dev": true, "license": "Apache-2.0", "dependencies": { - "@grafana/e2e-selectors": "^11.5.0-220285", + "@grafana/e2e-selectors": "^11.6.0-226761", "semver": "^7.5.4", "uuid": "^11.0.2", "yaml": "^2.3.4" @@ -1184,16 +1180,16 @@ } }, "node_modules/@grafana/runtime": { - "version": "11.5.0", - "resolved": "https://registry.npmjs.org/@grafana/runtime/-/runtime-11.5.0.tgz", - "integrity": "sha512-0w4rdcWO3/kfkIcNU05oWhknVyBk62plLDK8s6g6JZU0s9HTc48A0oyxbMK1M8rOmCqinlJzUkFm09M8f3OKnQ==", + "version": "11.5.2", + "resolved": "https://registry.npmjs.org/@grafana/runtime/-/runtime-11.5.2.tgz", + "integrity": "sha512-A0xi9x6jJc9zPsLzPgLlRJWboA7Sm4p7FwUFi7l79ID9ab11pzdviqlGr8nx/4CNBTbJqaVlY7QMjCJTCt/PKQ==", "license": "Apache-2.0", "dependencies": { - "@grafana/data": "11.5.0", - "@grafana/e2e-selectors": "11.5.0", + "@grafana/data": "11.5.2", + "@grafana/e2e-selectors": "11.5.2", "@grafana/faro-web-sdk": "^1.3.6", - "@grafana/schema": "11.5.0", - "@grafana/ui": "11.5.0", + "@grafana/schema": "11.5.2", + "@grafana/ui": "11.5.2", "history": "4.10.1", "lodash": "4.17.21", "react-use": "17.6.0", @@ -1205,10 +1201,47 @@ "react-dom": "^18.0.0" } }, + "node_modules/@grafana/runtime/node_modules/@grafana/e2e-selectors": { + "version": "11.5.2", + "resolved": "https://registry.npmjs.org/@grafana/e2e-selectors/-/e2e-selectors-11.5.2.tgz", + "integrity": "sha512-JOjHwyOyH/qWRrfrIM4zCQLDEtlLcWHCv+5brvuQPAXugUZUwYIPFKXB+AOAGh215flYE3Y3RjmesC/G/qvW/Q==", + "license": "Apache-2.0", + "dependencies": { + "@grafana/tsconfig": "^2.0.0", + "semver": "7.6.3", + "tslib": "2.8.1", + "typescript": "5.7.3" + } + }, + "node_modules/@grafana/runtime/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@grafana/runtime/node_modules/typescript": { + "version": "5.7.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.7.3.tgz", + "integrity": "sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==", + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, "node_modules/@grafana/schema": { - "version": "11.5.0", - "resolved": "https://registry.npmjs.org/@grafana/schema/-/schema-11.5.0.tgz", - "integrity": "sha512-LLyrZeTEDvggzgG+4aKELRE3fY/GVOaU+L9qnBU1jlqZTKo3KTJ5fpUswRz2D7Gxt9b6viPIXJspMtLT5yr3bA==", + "version": "11.5.2", + "resolved": "https://registry.npmjs.org/@grafana/schema/-/schema-11.5.2.tgz", + "integrity": "sha512-zXfFrIx+jKziVUq17I0D67Y+Ry+FOXCnQ+InMwl/fKmYqgQKV6kzn0P8QhsvudYg5ptAvBCxSGG+U4+N95KPVA==", "license": "Apache-2.0", "dependencies": { "tslib": "2.8.1" @@ -1221,19 +1254,19 @@ "license": "Apache-2.0" }, "node_modules/@grafana/ui": { - "version": "11.5.0", - "resolved": "https://registry.npmjs.org/@grafana/ui/-/ui-11.5.0.tgz", - "integrity": "sha512-wp2Wx8+qjEIgLQsVkgNUSHaY4J8PkpuTsrIM9fxlV6DtdIdZGNjpiGSy8z0XCguuT5PAnzIMKN5/2cVFisydQg==", + "version": "11.5.2", + "resolved": "https://registry.npmjs.org/@grafana/ui/-/ui-11.5.2.tgz", + "integrity": "sha512-aEsev2jVtGh0M5mrHgXmMiVTnnj3hResfU74rd3mOg0kyjw0iZ+EmwypPwCC1gRi5eXjoPQuCHHsKMmRlPs1pw==", "license": "Apache-2.0", "dependencies": { "@emotion/css": "11.13.5", "@emotion/react": "11.14.0", "@emotion/serialize": "1.3.3", "@floating-ui/react": "0.27.3", - "@grafana/data": "11.5.0", - "@grafana/e2e-selectors": "11.5.0", + "@grafana/data": "11.5.2", + "@grafana/e2e-selectors": "11.5.2", "@grafana/faro-web-sdk": "^1.3.6", - "@grafana/schema": "11.5.0", + "@grafana/schema": "11.5.2", "@hello-pangea/dnd": "17.0.0", "@leeoniya/ufuzzy": "1.0.18", "@monaco-editor/react": "4.6.0", @@ -1311,6 +1344,43 @@ "@emotion/utils": "^1.4.2" } }, + "node_modules/@grafana/ui/node_modules/@grafana/e2e-selectors": { + "version": "11.5.2", + "resolved": "https://registry.npmjs.org/@grafana/e2e-selectors/-/e2e-selectors-11.5.2.tgz", + "integrity": "sha512-JOjHwyOyH/qWRrfrIM4zCQLDEtlLcWHCv+5brvuQPAXugUZUwYIPFKXB+AOAGh215flYE3Y3RjmesC/G/qvW/Q==", + "license": "Apache-2.0", + "dependencies": { + "@grafana/tsconfig": "^2.0.0", + "semver": "7.6.3", + "tslib": "2.8.1", + "typescript": "5.7.3" + } + }, + "node_modules/@grafana/ui/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@grafana/ui/node_modules/typescript": { + "version": "5.7.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.7.3.tgz", + "integrity": "sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==", + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, "node_modules/@hello-pangea/dnd": { "version": "17.0.0", "resolved": "https://registry.npmjs.org/@hello-pangea/dnd/-/dnd-17.0.0.tgz", @@ -2087,15 +2157,12 @@ "license": "BSD-2-Clause" }, "node_modules/@monaco-editor/loader": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@monaco-editor/loader/-/loader-1.4.0.tgz", - "integrity": "sha512-00ioBig0x642hytVspPl7DbQyaSWRaolYie/UFNjoTdvoKPzo6xrXLhTk9ixgIKcLH5b5vDOjVNiGyY+uDCUlg==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@monaco-editor/loader/-/loader-1.5.0.tgz", + "integrity": "sha512-hKoGSM+7aAc7eRTRjpqAZucPmoNOC4UUbknb/VNoTkEIkCPhqV8LfbsgM1webRM7S/z21eHEx9Fkwx8Z/C/+Xw==", "license": "MIT", "dependencies": { "state-local": "^1.0.6" - }, - "peerDependencies": { - "monaco-editor": ">= 0.21.0 < 1" } }, "node_modules/@monaco-editor/react": { @@ -2160,9 +2227,9 @@ } }, "node_modules/@opentelemetry/api-logs": { - "version": "0.57.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/api-logs/-/api-logs-0.57.1.tgz", - "integrity": "sha512-I4PHczeujhQAQv6ZBzqHYEUiggZL4IdSMixtVD3EYqbdrjujE7kRfI5QohjlPoJm8BvenoW5YaTMWRrbpot6tg==", + "version": "0.57.2", + "resolved": "https://registry.npmjs.org/@opentelemetry/api-logs/-/api-logs-0.57.2.tgz", + "integrity": "sha512-uIX52NnTM0iBh84MShlpouI7UKqkZ7MrUszTmaypHBu4r7NofznSnQRfJ+uUeDtQDj6w8eFGg5KBLDAwAPz1+A==", "license": "Apache-2.0", "dependencies": { "@opentelemetry/api": "^1.3.0" @@ -2187,15 +2254,15 @@ } }, "node_modules/@opentelemetry/otlp-transformer": { - "version": "0.57.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-transformer/-/otlp-transformer-0.57.1.tgz", - "integrity": "sha512-EX67y+ukNNfFrOLyjYGw8AMy0JPIlEX1dW60SGUNZWW2hSQyyolX7EqFuHP5LtXLjJHNfzx5SMBVQ3owaQCNDw==", + "version": "0.57.2", + "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-transformer/-/otlp-transformer-0.57.2.tgz", + "integrity": "sha512-48IIRj49gbQVK52jYsw70+Jv+JbahT8BqT2Th7C4H7RCM9d0gZ5sgNPoMpWldmfjvIsSgiGJtjfk9MeZvjhoig==", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/api-logs": "0.57.1", + "@opentelemetry/api-logs": "0.57.2", "@opentelemetry/core": "1.30.1", "@opentelemetry/resources": "1.30.1", - "@opentelemetry/sdk-logs": "0.57.1", + "@opentelemetry/sdk-logs": "0.57.2", "@opentelemetry/sdk-metrics": "1.30.1", "@opentelemetry/sdk-trace-base": "1.30.1", "protobufjs": "^7.3.0" @@ -2224,12 +2291,12 @@ } }, "node_modules/@opentelemetry/sdk-logs": { - "version": "0.57.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-logs/-/sdk-logs-0.57.1.tgz", - "integrity": "sha512-jGdObb/BGWu6Peo3cL3skx/Rl1Ak/wDDO3vpPrrThGbqE7isvkCsX6uE+OAt8Ayjm9YC8UGkohWbLR09JmM0FA==", + "version": "0.57.2", + "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-logs/-/sdk-logs-0.57.2.tgz", + "integrity": "sha512-TXFHJ5c+BKggWbdEQ/inpgIzEmS2BGQowLE9UhsMd7YYlUfBQJ4uax0VF/B5NYigdM/75OoJGhAV3upEhK+3gg==", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/api-logs": "0.57.1", + "@opentelemetry/api-logs": "0.57.2", "@opentelemetry/core": "1.30.1", "@opentelemetry/resources": "1.30.1" }, @@ -2692,9 +2759,9 @@ } }, "node_modules/@remix-run/router": { - "version": "1.21.1", - "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.21.1.tgz", - "integrity": "sha512-KeBYSwohb8g4/wCcnksvKTYlg69O62sQeLynn2YE+5z7JWEj95if27kclW9QqbrlsQ2DINI8fjbV3zyuKfwjKg==", + "version": "1.23.0", + "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.23.0.tgz", + "integrity": "sha512-O3rHJzAQKamUz1fvE0Qaw0xSFqsA/yafi2iqeE0pvdFtCO1viYx8QL6f3Ln/aCCTLxs68SLf0KPM9eSeM8yBnA==", "license": "MIT", "engines": { "node": ">=14.0.0" @@ -2999,12 +3066,12 @@ } }, "node_modules/@tanstack/react-virtual": { - "version": "3.11.3", - "resolved": "https://registry.npmjs.org/@tanstack/react-virtual/-/react-virtual-3.11.3.tgz", - "integrity": "sha512-vCU+OTylXN3hdC8RKg68tPlBPjjxtzon7Ys46MgrSLE+JhSjSTPvoQifV6DQJeJmA8Q3KT6CphJbejupx85vFw==", + "version": "3.13.2", + "resolved": "https://registry.npmjs.org/@tanstack/react-virtual/-/react-virtual-3.13.2.tgz", + "integrity": "sha512-LceSUgABBKF6HSsHK2ZqHzQ37IKV/jlaWbHm+NyTa3/WNb/JZVcThDuTainf+PixltOOcFCYXwxbLpOX9sCx+g==", "license": "MIT", "dependencies": { - "@tanstack/virtual-core": "3.11.3" + "@tanstack/virtual-core": "3.13.2" }, "funding": { "type": "github", @@ -3016,9 +3083,9 @@ } }, "node_modules/@tanstack/virtual-core": { - "version": "3.11.3", - "resolved": "https://registry.npmjs.org/@tanstack/virtual-core/-/virtual-core-3.11.3.tgz", - "integrity": "sha512-v2mrNSnMwnPJtcVqNvV0c5roGCBqeogN8jDtgtuHCphdwBasOZ17x8UV8qpHUh+u0MLfX43c0uUHKje0s+Zb0w==", + "version": "3.13.2", + "resolved": "https://registry.npmjs.org/@tanstack/virtual-core/-/virtual-core-3.13.2.tgz", + "integrity": "sha512-Qzz4EgzMbO5gKrmqUondCjiHcuu4B1ftHb0pjCut661lXZdGoHeze9f/M8iwsK1t5LGR6aNuNGU7mxkowaW6RQ==", "license": "MIT", "funding": { "type": "github", @@ -8178,9 +8245,9 @@ } }, "node_modules/i18next-browser-languagedetector": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/i18next-browser-languagedetector/-/i18next-browser-languagedetector-8.0.2.tgz", - "integrity": "sha512-shBvPmnIyZeD2VU5jVGIOWP7u9qNG3Lj7mpaiPFpbJ3LVfHZJvVzKR4v1Cb91wAOFpNw442N+LGPzHOHsten2g==", + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/i18next-browser-languagedetector/-/i18next-browser-languagedetector-8.0.4.tgz", + "integrity": "sha512-f3frU3pIxD50/Tz20zx9TD9HobKYg47fmAETb117GKGPrhwcSSPJDoCposXlVycVebQ9GQohC3Efbpq7/nnJ5w==", "license": "MIT", "dependencies": { "@babel/runtime": "^7.23.2" @@ -8400,14 +8467,14 @@ } }, "node_modules/intl-messageformat": { - "version": "10.7.14", - "resolved": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-10.7.14.tgz", - "integrity": "sha512-mMGnE4E1otdEutV5vLUdCxRJygHB5ozUBxsPB5qhitewssrS/qGruq9bmvIRkkGsNeK5ZWLfYRld18UHGTIifQ==", + "version": "10.7.15", + "resolved": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-10.7.15.tgz", + "integrity": "sha512-LRyExsEsefQSBjU2p47oAheoKz+EOJxSLDdjOaEjdriajfHsMXOmV/EhMvYSg9bAgCUHasuAC+mcUBe/95PfIg==", "license": "BSD-3-Clause", "dependencies": { - "@formatjs/ecma402-abstract": "2.3.2", + "@formatjs/ecma402-abstract": "2.3.3", "@formatjs/fast-memoize": "2.2.6", - "@formatjs/icu-messageformat-parser": "2.11.0", + "@formatjs/icu-messageformat-parser": "2.11.1", "tslib": "2" } }, @@ -10331,9 +10398,9 @@ "license": "MIT" }, "node_modules/long": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/long/-/long-5.2.4.tgz", - "integrity": "sha512-qtzLbJE8hq7VabR3mISmVGtoXP8KGc2Z/AT8OuqlYD7JTR3oqrgwdjnk07wpj1twXxYmgDXgoKVWUG/fReSzHg==", + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/long/-/long-5.3.1.tgz", + "integrity": "sha512-ka87Jz3gcx/I7Hal94xaN2tZEOPoUOEVftkQqZx2EeQRN7LGdfLlI3FvZ+7WDplm+vK2Urx9ULrvSowtdCieng==", "license": "Apache-2.0" }, "node_modules/loose-envify": { @@ -12048,9 +12115,9 @@ "license": "MIT" }, "node_modules/rc-util": { - "version": "5.44.3", - "resolved": "https://registry.npmjs.org/rc-util/-/rc-util-5.44.3.tgz", - "integrity": "sha512-q6KCcOFk3rv/zD3MckhJteZxb0VjAIFuf622B7ElK4vfrZdAzs16XR5p3VTdy3+U5jfJU5ACz4QnhLSuAGe5dA==", + "version": "5.44.4", + "resolved": "https://registry.npmjs.org/rc-util/-/rc-util-5.44.4.tgz", + "integrity": "sha512-resueRJzmHG9Q6rI/DfK6Kdv9/Lfls05vzMs1Sk3M2P+3cJa+MakaZyWY8IPfehVuhPJFKrIY1IK4GqbiaiY5w==", "license": "MIT", "dependencies": { "@babel/runtime": "^7.18.3", @@ -12062,9 +12129,9 @@ } }, "node_modules/rc-virtual-list": { - "version": "3.18.1", - "resolved": "https://registry.npmjs.org/rc-virtual-list/-/rc-virtual-list-3.18.1.tgz", - "integrity": "sha512-ARSsD/dey/I4yNQHFYYUaKLUkD1wnD4lRZIvb3rCLMbTMmoFQJRVrWuSfbNt5P5MzMNooEBDvqrUPM4QN7BMNA==", + "version": "3.18.3", + "resolved": "https://registry.npmjs.org/rc-virtual-list/-/rc-virtual-list-3.18.3.tgz", + "integrity": "sha512-s1/bZQY2uwnmgXYeXxJkk2cSTz1cdUPDCrxAq/y1WQM115HilFFIvLi+JVFfkD4xCq3TZxGM17FQH4NLesWfwg==", "license": "MIT", "dependencies": { "@babel/runtime": "^7.20.0", @@ -12218,9 +12285,9 @@ } }, "node_modules/react-i18next": { - "version": "15.4.0", - "resolved": "https://registry.npmjs.org/react-i18next/-/react-i18next-15.4.0.tgz", - "integrity": "sha512-Py6UkX3zV08RTvL6ZANRoBh9sL/ne6rQq79XlkHEdd82cZr2H9usbWpUNVadJntIZP2pu3M2rL1CN+5rQYfYFw==", + "version": "15.4.1", + "resolved": "https://registry.npmjs.org/react-i18next/-/react-i18next-15.4.1.tgz", + "integrity": "sha512-ahGab+IaSgZmNPYXdV1n+OYky95TGpFwnKRflX/16dY04DsYYKHtVLjeny7sBSCREEcoMbAgSkFiGLF5g5Oofw==", "license": "MIT", "dependencies": { "@babel/runtime": "^7.25.0", @@ -12347,14 +12414,14 @@ } }, "node_modules/react-router-dom-v5-compat": { - "version": "6.28.2", - "resolved": "https://registry.npmjs.org/react-router-dom-v5-compat/-/react-router-dom-v5-compat-6.28.2.tgz", - "integrity": "sha512-moRcFUOKFVv4ymovRC+7locAZfyX4jF0lmAgTBIRa4WwlExEAeb7n36xmyZNCz6sE0W8/CobFfSGRdYrRunLhA==", + "version": "6.30.0", + "resolved": "https://registry.npmjs.org/react-router-dom-v5-compat/-/react-router-dom-v5-compat-6.30.0.tgz", + "integrity": "sha512-MAVRASbdQ3+ZOTPPjAa7jKcF0F9LkHWKB/iib3hf+jzzIazL4GEpMDDdTswCsqRQNU+zNnT3qD0WiNbzJ6ncPw==", "license": "MIT", "dependencies": { - "@remix-run/router": "1.21.1", + "@remix-run/router": "1.23.0", "history": "^5.3.0", - "react-router": "6.28.2" + "react-router": "6.30.0" }, "engines": { "node": ">=14.0.0" @@ -12375,12 +12442,12 @@ } }, "node_modules/react-router-dom-v5-compat/node_modules/react-router": { - "version": "6.28.2", - "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.28.2.tgz", - "integrity": "sha512-BgFY7+wEGVjHCiqaj2XiUBQ1kkzfg6UoKYwEe0wv+FF+HNPCxtS/MVPvLAPH++EsuCMReZl9RYVGqcHLk5ms3A==", + "version": "6.30.0", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.30.0.tgz", + "integrity": "sha512-D3X8FyH9nBcTSHGdEKurK7r8OYE1kKFn3d/CF+CoxbSHkxU7o37+Uh7eAHRXr6k2tSExXYO++07PeXJtA/dEhQ==", "license": "MIT", "dependencies": { - "@remix-run/router": "1.21.1" + "@remix-run/router": "1.23.0" }, "engines": { "node": ">=14.0.0" diff --git a/package.json b/package.json index e14e65a..cbcb519 100644 --- a/package.json +++ b/package.json @@ -17,7 +17,7 @@ "license": "Apache-2.0", "devDependencies": { "@grafana/eslint-config": "^8.0.0", - "@grafana/plugin-e2e": "^1.13.1", + "@grafana/plugin-e2e": "^1.17.1", "@grafana/tsconfig": "^2.0.0", "@playwright/test": "^1.41.2", "@stylistic/eslint-plugin-ts": "^2.9.0", @@ -67,10 +67,10 @@ }, "dependencies": { "@emotion/css": "11.10.6", - "@grafana/data": "^11.3.2", - "@grafana/runtime": "^11.3.2", - "@grafana/schema": "^11.3.2", - "@grafana/ui": "^11.3.2", + "@grafana/data": "^11.5.2", + "@grafana/runtime": "^11.5.2", + "@grafana/schema": "^11.5.2", + "@grafana/ui": "^11.5.2", "classnames": "^2.5.1", "react": "18.2.0", "react-dom": "18.2.0"