Commit Graph

3242 Commits

Author SHA1 Message Date
Marc M. be734e970e CustomVariable: support values with multiple properties (json values format) (#113844)
* update Scenes libraries

---------

Co-authored-by: idastambuk <ida.stambuk@grafana.com>
2026-01-07 11:01:03 +01:00
vesalaakso-oura a9c2117aa7 Transformers: Add smoothing transformer (#111077)
* Transformers: Add smoothing transformer

Added a smoothing transformer to help clean up noisy time series data.
It uses the ASAP algorithm to pick the most important data points while
keeping the overall shape and trends intact.

The transformer always keeps the first and last points so you get the
complete time range. I also added a test for it.

* Change category

Change category from Reformat to CalculateNewFields

* Remove first/last point preservation

* Fix operator recreation

* Simplify ASAP code

Include performance optimization as well

* Refactor interpolateFromSmoothedCurve

Break function into smaller focused functions and lift functions to the
top level

* Add isApplicable Check

Make sure the transformer is applicable for timeseries data

* Add tests for isApplicable check

* UI/UX improvements: Display effective resolution when limited by data points

Show "Effective: X" indicator when resolution is capped by the 2x data
points multiplier. Includes tooltip explaining the limit.

Memoizes calculation to prevent unnecessary recalculation on re-renders.

Example: With 72 data points and resolution set to 150, displays
"Effective: 144" since the limit is 72 x 2 = 144.

Plus added tests

* Improve discoverability by adding tags

* Preserve Original Data

Let's preserve original data as well, makes the UX so much better.
Changed from appending (smoothed) to frame names to use Smoothed frame name. This should match the pattern used by other transformers (e.g,. regression)
Updated tests accordingly
Updated tooltip note

* Add asap tests

Basic functionality:
* returns valid DataPoint objects
* Maintain x-axis ordering

Edge cases:
* Empty array
* single data point
* filter NaN values
* all NaN values
* sort unsorted data
* negative values

* Update dark and light images

* Clear state cache

* Add feature toggle

* Conditionally add new transformation to the registry

* chore: update and regenerate feature toggles

* chore: update yarn.lock

* chore: fix transformers and imports
2026-01-05 17:53:45 +01:00
renovate-sh-app[bot] bc31a768f7 chore(deps): update dependency nodemailer to v7.0.11 [security] (#115182)
| datasource | package    | from  | to     |
| ---------- | ---------- | ----- | ------ |
| npm        | nodemailer | 7.0.7 | 7.0.11 |

Signed-off-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
Co-authored-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
2026-01-05 16:40:56 +00:00
Haris Rozajac 05fd304dbd Dashboards: AdHoc and GroupBy wrapper (#115124)
* wip; DrilldownControls

* use wrapper so that drilldown controls wrap inline

* keep labels on top when input expands vertically

* add clear all button

* add collapsible prop

* i18n

* Increase maxWidth for adhoc

* bump scenes for testing

* fix

* remove clear all button

* use new feature toggle; pass collapsible in v2

* update variable controls to use new feature flag

* cleanup

* wip (#115441)

* wip

* fix

* update wrapping on smaller screens

---------

Co-authored-by: Haris Rozajac <haris.rozajac12@gmail.com>

* Filter out variables that are not in inControlsMenu

* filter out inControlsMenu vars, not hidden ones

* canary scenes

* fix

* cleanup

* canary scenes

* pass wideInput to groupby based on ff

* update var name and bump scenes

* bump scenes

* yarn lock

---------

Co-authored-by: Victor Marin <victor.marin@grafana.com>
2025-12-18 11:58:21 -07:00
Marc M. 4fbcebac2c Deps: Upgrade Scenes to v6.51.0 (#115547)
Scenes: Upgrade to v6.51.0
2025-12-18 15:01:04 +01:00
Jack Westbrook 5bedcc7bd7 Frontend: use custom conditions for development and build (#111685)
* build(frontend): enable custom condition for resolving source files during dev and build

* feat(packages): apply conditional name to export properties

* chore(packages): add standard exports to flamegraph and prometheus

* chore(packages): resolve main, module, types to built files

* build(packages): clean up prepare-npm-package for custom condition changes

* refactor(packages): reduce repetition in conditional exports

* build(storybook): add @grafana-app/source to conditionNames

* test(frontend): add grafana-app/source customCondition for jest tests

* refactor(frontend): remove nested package import paths

* chore(jest): use customExportConditions for source files and browser

* chore(i18n): use src for ./eslint-plugin export

* chore(packages): set packages tsconfigs to moduleResolution bundler

* chore(packages): fix rollup builds

* build(packages): build cjs as multiple files

* chore(sql): reference MonitoringLogger for moduleresolution bundler to pass typecheck

* chore(ui): add type refs for moduleresolution bundler to pass typecheck

* feat(schema): add exports for cleaner import paths

* refactor(frontend): clean up schema paths to point to exports instead of nested file paths

* build(storybook): hack the builder-manager for custom conditions to resolve

* build(decoupled-plugins): fix broken builds due to missing conditionNames

* chore(e2e): pass condition to playwright to resolve local packages

* build(frontend): fix failing build

* chore(select): fix typings

* style(frontend): clean up eslint suppressions

* chore(packages): fix type errors due to incorrect tsconfig settings

* build(generate-apis): use swc with ts-node and moduleResolution bundler

* chore(cypress): add conditionNames to resolve monorepo packages

* build(npm): update prepare to work with latest exports changes

* build(packages): fix prepare-npm-package script

* fix(e2e-selectors): update debugoverlay for data-testid change

* build(packages): stop editing package.json at pack n publish time

* rerun ci

* chore(api-clients): use moduleResolution: bundler for customConditions support

* chore(api-clients): fix generation

* build(packages): remove aliasing exports, remove exports with only customConditions

* Revert "refactor(frontend): clean up schema paths to point to exports instead of nested file paths"

This reverts commit 7949b6ea0e60e51989d2a8149b7a24647cd68916.

* revert(schema): remove exports from package so builds work

* build(api-clients): fix up api-clients exports and rollup config

* build(api-clients): Update generated package exports for api clients

* build(schema): add overrides to cjsOutput and esmOutput so built directory structure is correct

* fix(packages): use rootDirs to prevent types/src directories in built d.ts file paths

* build(packages): prevent empty exports added to package.json during pack

* docs(packages): update readme with custom conditions information

---------

Co-authored-by: Tom Ratcliffe <tom.ratcliffe@grafana.com>
2025-12-18 11:47:38 +01:00
Victor Marin a1a665e26b Dashboards: Add values recommendations support for AdHocFilters and GroupBy variables (#114849)
* drilldown recommendations

* cleanup + tests

* refactor

* canary scenes

* update type

* canary scenes

* refactor types

* refactor

* do not pass userId

* canary scenes

* canary scenes

* bump scenes

* export recomendation type
2025-12-17 14:52:59 +02:00
Hugo Häggmark 0474c8f1d5 Chore: bump @grafana/plugin-e2e (#115466) 2025-12-17 07:46:02 +01:00
Ezequiel Victorero c7c052480d Chore: Bump grafana/llm 1.0.1 (#115175) 2025-12-12 11:22:37 +00:00
Ezequiel Victorero c35642b04d Chore: Bump nodemailer with forced resolution (#115172) 2025-12-11 16:40:23 -03:00
Ryan McKinley eef14d2cee Dependencies: update glob@npm for dependabot (#115146) 2025-12-11 12:33:34 +00:00
Kristina Demeshchik 533ee1f078 Dashboard : Allow applying variable regex to display text (#114426)
* Ability to apply regex to display text

* Frontend tests

* scenes-react version

* lock file

* adjust tests input

* adjust inputs

* unused variable

* change data type

* unit tests

* bump scenes

* bump scenes

* Update docs

* V2->V1 conversion

* re-generate files

* update openai snapshots
2025-12-09 10:55:51 -05:00
Hugo Häggmark 7c5457a75e e2e: update @grafana/plugin-e2e version (#114958) 2025-12-08 10:36:34 +00:00
Ashley Harrison 83d6eab66a Chore: Upgrade rc- libs (#114788)
* upgrade rc-drawer

* upgrade rc-slider

* update rc-tooltip

* update rc-picker

* update rc-tree

* upgrade rc-cascader

* for some reason this works

* Revert "for some reason this works"

This reverts commit 4f8cbc5a76.

* force react to 18

* add MessageChannel mock

* Revert "add MessageChannel mock"

This reverts commit 93c11d4060.

* Revert "force react to 18"

This reverts commit 6433204d4b.

* Revert "upgrade rc-cascader"

This reverts commit 16c36cd12e.
2025-12-04 16:25:22 +00:00
Ryan McKinley 612af5ef55 Search: improve openapi operation ids (#114754) 2025-12-03 10:28:59 +00:00
Josh Hunt 09883ab4ee Chore: Bump express and js-yaml (#114696)
* Bump express version

* Bump js-yaml version

* Force resolution of js-yaml 4.1.0 to 4.1.1
2025-12-02 13:03:46 +00:00
Luminessa Starlight 93362c9024 Chore: Bump i18next-cli to 1.24.22 (#114183)
* bump i18next-cli to latest

* make it 1.24.22 while we're here

* Update extracted phrases after i18n-extract update

* yarn dedupe

---------

Co-authored-by: joshhunt <josh.hunt@grafana.com>
2025-11-24 15:39:09 -05:00
Victor Marin 336aa06966 Dashboards: Add non-applicable filter pills per panel (#112507)
* wip non-applicable pills

* refactor

* fix

* tests

* locales

* canary version

* mods

* fix query fetching

* fix

* fix

* Add VizPanelSubHeader component

* lint

* extra check

* refactor

* wip

* refactor wipp

* refactor

* refactor

* use canary scenes

* prettier

* canary scenes

* interpolate ds uid for ds var case

* refactor

* refactor

* memoize values + tests + rename component

* refactor

* refactor

* refactor

* refactor

* canary scenes + fixes

* Fix infinite loop casused by unstable useEffect dependency

* lint

* helper functions

* bump scenes

* reduce applicability calls to only when filters or groupBy keys change, not any var state change

* refactor

* fix

* fix

* fixes

---------

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
2025-11-21 18:03:27 +02:00
renovate-sh-app[bot] db0b35f6df chore(deps): update dependency glob to v11.1.0 [security] (#114064)
| datasource | package | from   | to     |
| ---------- | ------- | ------ | ------ |
| npm        | glob    | 11.0.3 | 11.1.0 |

Signed-off-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
Co-authored-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
2025-11-18 10:43:10 +01:00
renovate-sh-app[bot] 100fb26d27 fix(deps): update dependency @reduxjs/toolkit to v2.10.1 (#113972)
| datasource | package          | from  | to     |
| ---------- | ---------------- | ----- | ------ |
| npm        | @reduxjs/toolkit | 2.9.0 | 2.10.1 |

Signed-off-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
Co-authored-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
2025-11-17 13:47:01 +00:00
renovate-sh-app[bot] f6df949bc3 chore(deps): update node.js to v24 (#114011)
| datasource   | package     | from     | to       |
| ------------ | ----------- | -------- | -------- |
| node-version | node        | v22.21.1 | v24.11.1 |
| npm          | @types/node | 24.9.2   | 24.10.1  |
| npm          | @types/node | 22.17.0  | 24.10.1  |

Signed-off-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
Co-authored-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
2025-11-17 13:46:26 +00:00
renovate-sh-app[bot] a5103784fe fix(deps): update dependency swagger-ui-react to v5.30.2 (#114010)
| datasource | package          | from   | to     |
| ---------- | ---------------- | ------ | ------ |
| npm        | swagger-ui-react | 5.28.1 | 5.30.2 |

Signed-off-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
Co-authored-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
2025-11-17 13:44:11 +00:00
renovate-sh-app[bot] e6b12f865f fix(deps): update dependency ol to v10.7.0 (#114009)
| datasource | package | from   | to     |
| ---------- | ------- | ------ | ------ |
| npm        | ol      | 10.6.1 | 10.7.0 |

Signed-off-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
Co-authored-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
2025-11-17 13:43:18 +00:00
renovate-sh-app[bot] 6f8b4032c2 fix(deps): update dependency immer to v10.2.0 (#113974)
| datasource | package | from   | to     |
| ---------- | ------- | ------ | ------ |
| npm        | immer   | 10.1.3 | 10.2.0 |

Signed-off-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
Co-authored-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
2025-11-17 12:02:14 +00:00
renovate-sh-app[bot] 6a047e8f95 fix(deps): update dependency @opentelemetry/semantic-conventions to v1.38.0 (#113970)
| datasource | package                             | from   | to     |
| ---------- | ----------------------------------- | ------ | ------ |
| npm        | @opentelemetry/semantic-conventions | 1.37.0 | 1.38.0 |

Signed-off-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
Co-authored-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
2025-11-17 12:00:46 +00:00
renovate-sh-app[bot] f50d513252 fix(deps): update dependency centrifuge to v5.5.2 (#113973)
| datasource | package    | from  | to    |
| ---------- | ---------- | ----- | ----- |
| npm        | centrifuge | 5.4.0 | 5.5.2 |

Signed-off-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
Co-authored-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
2025-11-17 10:24:48 +03:00
renovate-sh-app[bot] 66766fe729 fix(deps): update dependency @lezer/highlight to v1.2.3 (#113091)
| datasource | package          | from  | to    |
| ---------- | ---------------- | ----- | ----- |
| npm        | @lezer/highlight | 1.2.1 | 1.2.3 |

Signed-off-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
Co-authored-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
2025-11-14 15:36:09 +00:00
renovate-sh-app[bot] 77aac05b09 fix(deps): update dependency @lezer/common to v1.3.0 (#113924)
| datasource | package       | from  | to    |
| ---------- | ------------- | ----- | ----- |
| npm        | @lezer/common | 1.2.3 | 1.3.0 |

Signed-off-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
Co-authored-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
2025-11-14 15:36:04 +01:00
renovate-sh-app[bot] 9ad6507eef chore(deps): update yarn to v4.11.0 (#113884)
| datasource | package      | from   | to     |
| ---------- | ------------ | ------ | ------ |
| npm        | @yarnpkg/cli | 4.10.3 | 4.11.0 |
| npm        | @yarnpkg/cli | 4.9.4  | 4.11.0 |

Signed-off-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
Co-authored-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
2025-11-14 10:50:14 +01:00
Kevin Yu 1491607e8e CloudWatch: Add links to data source docs in the config editor (#113795)
* CloudWatch: Add links to data source docs in the config editor

* fix tests
2025-11-13 08:54:00 -08:00
Victor Marin a2150b0b79 Deps: Bump scenes version to v6.46.0 (#113823)
bump scenes
2025-11-13 14:33:43 +02:00
renovate-sh-app[bot] eaa1b62c01 fix(deps): update dependency @lezer/lr to v1.4.3 (#113787)
| datasource | package   | from  | to    |
| ---------- | --------- | ----- | ----- |
| npm        | @lezer/lr | 1.4.2 | 1.4.3 |

Signed-off-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
Co-authored-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
2025-11-13 05:30:10 +00:00
renovate-sh-app[bot] 7ee61a9277 fix(deps): update dependency @grafana/assistant to v0.1.4 (#113786)
| datasource | package            | from  | to    |
| ---------- | ------------------ | ----- | ----- |
| npm        | @grafana/assistant | 0.1.1 | 0.1.4 |

Signed-off-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
Co-authored-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
2025-11-13 05:29:42 +00:00
renovate-sh-app[bot] 55a29bd2d1 fix(deps): update dependency ol-ext to v4.0.36 (#113788)
| datasource | package | from   | to     |
| ---------- | ------- | ------ | ------ |
| npm        | ol-ext  | 4.0.35 | 4.0.36 |

Signed-off-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
Co-authored-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
2025-11-13 03:37:48 +00:00
Erik Sundell 06e1c83276 Chore: Bump plugin-e2e (#113578)
* bump plugin-e2e

* use plugin-e2e selector

* update lock file
2025-11-07 10:11:05 +01:00
grafana-delivery-bot[bot] 7236ba5fce Release: Bump version to 12.4.0-pre (#113480)
bump version 12.4.0-pre

Co-authored-by: grafana-delivery-bot[bot] <grafana-delivery-bot[bot]@users.noreply.github.com>
2025-11-05 23:54:05 +01:00
Ivana Huckova 1830e2ce9d CommanPalette: Add Assistant integration for empty state (#112601)
* CommanPalette: Add Assistant integration for empty state

* Update assistant package and use new onClick pop

* i18n

* Update public/locales/en-US/grafana.json

Co-authored-by: Sven Grossmann <sven.grossmann@grafana.com>

* Update public/app/features/commandPalette/CommandPalette.tsx

Co-authored-by: Sven Grossmann <sven.grossmann@grafana.com>

* Update test

---------

Co-authored-by: Sven Grossmann <sven.grossmann@grafana.com>
2025-11-05 16:13:47 +01:00
Levente Balogh 3c0409fe05 Dashboard Controls: Add annotations to the dashboard controls menu (#112816)
* feat: add a placement property to annotations model v2

* chore: update scenes to `v6.42.1`

* chore: run `make gen-apps`

* fix: cater for cases when there is no data layer

* chore: swagger clean

* chore: update api clients

* fix: correct type guard

* fix: display control labels in the default renderer as well for DashboardDataLayerSet
2025-11-03 11:33:44 +01:00
Drew Slobodnjak f5ee26540b Geomap: Add ol-mapbox-style to package.json (#113257) 2025-10-30 17:00:43 -07:00
Dominik Prokop 209aa13ff7 Dashboard performance analytics system with Scenes integration (#112137)
* Dashboard performance profiling architecture improvements

- Create shared performanceUtils.ts with type-safe performance.memory access
- Add standardized grouped logging utilities for structured console output
- Convert observer methods to arrow functions eliminating constructor bindings
- Implement DashboardAnalyticsAggregator for comprehensive panel metrics
- Add ScenePerformanceLogger for performance marks and measurements
- Create DashboardAnalyticsInitializerBehavior for automatic profiling setup
- Update dashboard scene integration to use improved profiling system
- Add numeric duration logging for better programmatic analysis
- Fix localStorage usage to use @grafana/data store for consistency
- Consolidate performance tracking logic into shared utilities

* canary scenes

* tests/lint

* docs

* performanceUtils namespace

* Review and sync scenes

* Only enable dashboard profiling when needed

* docs update

* update scenes

---------

Co-authored-by: Victor Marin <victor.marin@grafana.com>
2025-10-30 06:25:55 +00:00
Ryan McKinley 4c8c32a1d4 Chore: Update @playwright/test (#113179) 2025-10-30 04:25:59 +00:00
Ivan Ortega Alba 6a3e95913e Scenes: Fix timezone not being preserved in links (#112879)
* Scenes: Fix timezone not being preserved in links

* Update E2E
2025-10-29 17:15:16 +00:00
Laura Fernández af8d166b90 Chore: Update node to v24 (#112649) 2025-10-29 17:17:07 +01:00
Ryan McKinley c0b8fc6e6c Chore: update storybook/test-runner (#113154) 2025-10-29 11:06:35 +00:00
renovate-sh-app[bot] 19d88de3cf fix(deps): update dependency @grafana/azure-sdk to v0.0.8 (#113054)
| datasource | package            | from  | to    |
| ---------- | ------------------ | ----- | ----- |
| npm        | @grafana/azure-sdk | 0.0.7 | 0.0.8 |

Signed-off-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
Co-authored-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
2025-10-28 10:07:59 +00:00
Hugo Häggmark 4f2abe185c Chore: Replace deprecated i18next-parser (#112512)
* chore: replace deprecated i18next-parser

* chore: bump i18next-cli to 1.11.6

* chore: revert translation files

* chore: bumps to i18next-cli 1.11.9

* Trigger build

* chore: revert translations files

* chore: bump i18next-cli

* chore: changes after yarn i18n-extract

* chore: revert translation files

* chore: bump i18next-cli to 1.11.12

* chore: fix select space

* chore: add i18next to packages

* chore: add i18next-cli to plugin dev deps

* chore: fix yarn lock
2025-10-27 10:38:31 +01:00
Tom Ratcliffe 811ee99dac API clients: Extract into a package (#111810)
Co-authored-by: Tom Ratcliffe <tom.ratcliffe@grafana.com>
Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
2025-10-23 13:57:51 +00:00
renovate-sh-app[bot] 51ad754d1e chore(deps): update yarn to v4.10.3 (#112801)
| datasource | package      | from  | to     |
| ---------- | ------------ | ----- | ------ |
| npm        | @yarnpkg/cli | 4.9.4 | 4.10.3 |

Signed-off-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
Co-authored-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
2025-10-23 14:34:02 +01:00
Paul Marbach 123e46c33b Coverage: Add some DX improvements to by codeowner script (#112673)
* Coverage: Add some DX improvements to by codeowner script

* Potential fix for code scanning alert no. 3796: Shell command built from environment values

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>

* Potential fix for code scanning alert no. 3797: Shell command built from environment values

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>

* fix package.json and yarn lock

* reorder imports

* fix issue for frontend-platform: exclude files in any /test/ dir

* wip

* add ora spinner for codeowners manifest step

* cleanup

---------

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
2025-10-22 15:09:39 -04:00
Tom Ratcliffe a651fb1348 Chore: Add 'import/no-extraneous-dependencies' rule for packages (#111931) 2025-10-21 12:55:57 +01:00