You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@superset.apache.org by ha...@apache.org on 2026/10/11 15:24:00 UTC
(superset) branch master updated: chore(deps): bump react-resize-detector from 7.1.2 to 12.3.0 in /superset-frontend (#45124)
This is an automated email from the ASF dual-hosted git repository.
hainenber pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/superset.git
The following commit(s) were added to refs/heads/master by this push:
new bae6d10cebc chore(deps): bump react-resize-detector from 7.1.2 to 12.3.0 in /superset-frontend (#45124)
bae6d10cebc is described below
commit bae6d10cebc71bb1cf8a38677b6e1da244e9268d
Author: dependabot[bot] <49...@users.noreply.github.com>
AuthorDate: Sun Oct 11 22:23:44 2026 +0700
chore(deps): bump react-resize-detector from 7.1.2 to 12.3.0 in /superset-frontend (#45124)
---
.github/dependabot.yml | 1 +
docs/package.json | 2 +-
docs/yarn.lock | 15 +++++---
superset-frontend/jest.config.js | 2 +-
superset-frontend/package-lock.json | 40 ++++++++++------------
superset-frontend/package.json | 2 +-
.../packages/superset-ui-core/package.json | 2 +-
.../components/MetadataBar/MetadataBar.test.tsx | 40 ++++++++++++++--------
.../src/components/MetadataBar/MetadataBar.tsx | 6 ++--
.../src/components/Table/VirtualTable.test.tsx | 10 +++---
.../src/components/Table/VirtualTable.tsx | 4 +--
11 files changed, 69 insertions(+), 55 deletions(-)
diff --git a/.github/dependabot.yml b/.github/dependabot.yml
index 67837927b3f..3ef82410e5e 100644
--- a/.github/dependabot.yml
+++ b/.github/dependabot.yml
@@ -122,6 +122,7 @@ updates:
- "oxfmt"
- "oxlint"
- "oxlint-tsgolint"
+ - "react-resize-detector"
open-pull-requests-limit: 10
versioning-strategy: increase
cooldown:
diff --git a/docs/package.json b/docs/package.json
index 710a68f39bf..fd214f24345 100644
--- a/docs/package.json
+++ b/docs/package.json
@@ -68,7 +68,7 @@
"react": "^18.3.1",
"react-dom": "^18.3.1",
"react-github-btn": "^1.4.0",
- "react-resize-detector": "^9.1.1",
+ "react-resize-detector": "^12.3.0",
"react-svg-pan-zoom": "^3.13.1",
"react-table": "^7.8.0",
"remark-import-partial": "^0.0.2",
diff --git a/docs/yarn.lock b/docs/yarn.lock
index c1fd7f203c3..b9b0e9795f4 100644
--- a/docs/yarn.lock
+++ b/docs/yarn.lock
@@ -8152,6 +8152,11 @@ es-set-tostringtag@^2.1.0:
has-tostringtag "^1.0.2"
hasown "^2.0.2"
+es-toolkit@^1.39.6:
+ version "1.52.0"
+ resolved "https://registry.yarnpkg.com/es-toolkit/-/es-toolkit-1.52.0.tgz#71eaf1a8b18834ef77637eccbb885ba4c03cd6dd"
+ integrity sha512-XTNEJQh1tY1ZJVcf6ayP/2n4ZPyaHlW2FWs7xvw5ddPuhUVjLD3olQVQS7kf58JbAB48iL0uL/jerTrjtV3lDA==
+
es-toolkit@^1.45.1:
version "1.49.0"
resolved "https://registry.yarnpkg.com/es-toolkit/-/es-toolkit-1.49.0.tgz#93c5b031865792fc03cbf5bd20c132a4f976a52a"
@@ -12833,12 +12838,12 @@ react-redux@^9.2.0, react-redux@^9.3.0:
"@types/use-sync-external-store" "^0.0.6"
use-sync-external-store "^1.4.0"
-react-resize-detector@^9.1.1:
- version "9.1.1"
- resolved "https://registry.yarnpkg.com/react-resize-detector/-/react-resize-detector-9.1.1.tgz#ce13cf55b9b09d9978fc51e0c87bb3639704921e"
- integrity sha512-siLzop7i4xIvZIACE/PHTvRegA8QRCEt0TfmvJ/qCIFQJ4U+3NuYcF8tNDmDWxfIn+X1eNCyY2rauH4KRxge8w==
+react-resize-detector@^12.3.0:
+ version "12.3.0"
+ resolved "https://registry.yarnpkg.com/react-resize-detector/-/react-resize-detector-12.3.0.tgz#f273586fccef9da5282909a160ce1ff44c7d5669"
+ integrity sha512-mIDOVrTHKGnKe6qEUWi8dFdfHM5CPyTOpqoHctdMQf89Ljm/0qqDIzkP3vTRZZJi9/raaMiRxDEOqO4you5x+A==
dependencies:
- lodash "^4.17.21"
+ es-toolkit "^1.39.6"
react-router-config@^5.1.1:
version "5.1.1"
diff --git a/superset-frontend/jest.config.js b/superset-frontend/jest.config.js
index 81011f6d233..b809682120c 100644
--- a/superset-frontend/jest.config.js
+++ b/superset-frontend/jest.config.js
@@ -108,7 +108,7 @@ export default {
// @deck.gl/maplibre@9.4.0 ships ESM-only (no dist/*.cjs), unlike every
// other @deck.gl/* package - allowed through so babel-jest can convert
// its import/export syntax (see the moduleNameMapper entry above).
- 'node_modules/(?!@ant-design/(colors|fast-color)|@formatjs/.*|d3-(array|interpolate|color|time|scale|time-format|format|selection)|internmap|@mapbox/tiny-sdf|@deck.gl/maplibre|remark-gfm|(?!@ngrx|(?!deck.gl)|d3-scale)|markdown-table|micromark-*.|decode-named-character-reference|character-entities|mdast-util-*.|unist-util-*.|ccount|escape-string-regexp|nanoid|uuid|@rjsf/*.|@x0k/.*|echarts|zrender|fetch-mock|pretty-ms|parse-ms|ol|@babel/runtime|@emotion|cheerio|cheerio/lib|parse5|dom-s [...]
+ 'node_modules/(?!@ant-design/(colors|fast-color)|@formatjs/.*|d3-(array|interpolate|color|time|scale|time-format|format|selection)|internmap|@mapbox/tiny-sdf|@deck.gl/maplibre|remark-gfm|(?!@ngrx|(?!deck.gl)|d3-scale)|markdown-table|micromark-*.|decode-named-character-reference|character-entities|mdast-util-*.|unist-util-*.|ccount|escape-string-regexp|nanoid|uuid|@rjsf/*.|@x0k/.*|echarts|zrender|fetch-mock|pretty-ms|parse-ms|ol|@babel/runtime|@emotion|cheerio|cheerio/lib|parse5|dom-s [...]
],
transform: {
'^.+\\.(js|jsx|ts|tsx)$': 'babel-jest',
diff --git a/superset-frontend/package-lock.json b/superset-frontend/package-lock.json
index 50df5a2231b..4bd9ec903fe 100644
--- a/superset-frontend/package-lock.json
+++ b/superset-frontend/package-lock.json
@@ -128,7 +128,7 @@
"react-intersection-observer": "^11.0.1",
"react-json-tree": "^0.20.0",
"react-redux": "^7.2.9",
- "react-resize-detector": "^9.1.1",
+ "react-resize-detector": "^12.3.0",
"react-reverse-portal": "^2.3.0",
"react-router-dom": "^5.3.4",
"react-search-input": "^0.11.3",
@@ -21716,6 +21716,18 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/es-toolkit": {
+ "version": "1.52.0",
+ "resolved": "https://registry.npmjs.org/es-toolkit/-/es-toolkit-1.52.0.tgz",
+ "integrity": "sha512-XTNEJQh1tY1ZJVcf6ayP/2n4ZPyaHlW2FWs7xvw5ddPuhUVjLD3olQVQS7kf58JbAB48iL0uL/jerTrjtV3lDA==",
+ "license": "MIT",
+ "workspaces": [
+ "docs",
+ "benchmarks",
+ "tests/types",
+ "tests/browser-compat"
+ ]
+ },
"node_modules/es6-error": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz",
@@ -39152,16 +39164,15 @@
}
},
"node_modules/react-resize-detector": {
- "version": "9.1.1",
- "resolved": "https://registry.npmjs.org/react-resize-detector/-/react-resize-detector-9.1.1.tgz",
- "integrity": "sha512-siLzop7i4xIvZIACE/PHTvRegA8QRCEt0TfmvJ/qCIFQJ4U+3NuYcF8tNDmDWxfIn+X1eNCyY2rauH4KRxge8w==",
+ "version": "12.3.0",
+ "resolved": "https://registry.npmjs.org/react-resize-detector/-/react-resize-detector-12.3.0.tgz",
+ "integrity": "sha512-mIDOVrTHKGnKe6qEUWi8dFdfHM5CPyTOpqoHctdMQf89Ljm/0qqDIzkP3vTRZZJi9/raaMiRxDEOqO4you5x+A==",
"license": "MIT",
"dependencies": {
- "lodash": "^4.17.21"
+ "es-toolkit": "^1.39.6"
},
"peerDependencies": {
- "react": "^16.0.0 || ^17.0.0 || ^18.0.0",
- "react-dom": "^16.0.0 || ^17.0.0 || ^18.0.0"
+ "react": "^18.0.0 || ^19.0.0"
}
},
"node_modules/react-reverse-portal": {
@@ -46966,7 +46977,7 @@
"react-error-boundary": "^6.1.6",
"react-js-cron": "^6.0.2",
"react-markdown": "^10.1.0",
- "react-resize-detector": "^7.1.2",
+ "react-resize-detector": "^12.3.0",
"react-syntax-highlighter": "^16.1.1",
"react-ultimate-pagination": "^1.3.2",
"regenerator-runtime": "^0.14.1",
@@ -47075,19 +47086,6 @@
"react-dom": "^0.13.0 || ^0.14.0 || ^15.0.1 || ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0"
}
},
- "packages/superset-ui-core/node_modules/react-resize-detector": {
- "version": "7.1.2",
- "resolved": "https://registry.npmjs.org/react-resize-detector/-/react-resize-detector-7.1.2.tgz",
- "integrity": "sha512-zXnPJ2m8+6oq9Nn8zsep/orts9vQv3elrpA+R8XTcW7DVVUJ9vwDwMXaBtykAYjMnkCIaOoK9vObyR7ZgFNlOw==",
- "license": "MIT",
- "dependencies": {
- "lodash": "^4.17.21"
- },
- "peerDependencies": {
- "react": "^16.0.0 || ^17.0.0 || ^18.0.0",
- "react-dom": "^16.0.0 || ^17.0.0 || ^18.0.0"
- }
- },
"packages/superset-ui-switchboard": {
"name": "@superset-ui/switchboard",
"version": "0.20.3",
diff --git a/superset-frontend/package.json b/superset-frontend/package.json
index d809c10200c..8806df0bd35 100644
--- a/superset-frontend/package.json
+++ b/superset-frontend/package.json
@@ -205,7 +205,7 @@
"react-intersection-observer": "^11.0.1",
"react-json-tree": "^0.20.0",
"react-redux": "^7.2.9",
- "react-resize-detector": "^9.1.1",
+ "react-resize-detector": "^12.3.0",
"react-reverse-portal": "^2.3.0",
"react-router-dom": "^5.3.4",
"react-search-input": "^0.11.3",
diff --git a/superset-frontend/packages/superset-ui-core/package.json b/superset-frontend/packages/superset-ui-core/package.json
index 200754751c1..e978a707614 100644
--- a/superset-frontend/packages/superset-ui-core/package.json
+++ b/superset-frontend/packages/superset-ui-core/package.json
@@ -83,7 +83,7 @@
"react-error-boundary": "^6.1.6",
"react-js-cron": "^6.0.2",
"react-markdown": "^10.1.0",
- "react-resize-detector": "^7.1.2",
+ "react-resize-detector": "^12.3.0",
"react-syntax-highlighter": "^16.1.1",
"react-ultimate-pagination": "^1.3.2",
"regenerator-runtime": "^0.14.1",
diff --git a/superset-frontend/packages/superset-ui-core/src/components/MetadataBar/MetadataBar.test.tsx b/superset-frontend/packages/superset-ui-core/src/components/MetadataBar/MetadataBar.test.tsx
index 700cb75e6a2..76d8e2e52ce 100644
--- a/superset-frontend/packages/superset-ui-core/src/components/MetadataBar/MetadataBar.test.tsx
+++ b/superset-frontend/packages/superset-ui-core/src/components/MetadataBar/MetadataBar.test.tsx
@@ -17,7 +17,6 @@
* under the License.
*/
import { render, screen, userEvent, within } from '@superset-ui/core/spec';
-import * as resizeDetector from 'react-resize-detector';
import { hexToRgb } from '@superset-ui/core';
import { supersetTheme } from '@apache-superset/core/theme';
import MetadataBar, {
@@ -26,6 +25,24 @@ import MetadataBar, {
ContentType,
MetadataType,
} from '.';
+import type { OnResizeCallback } from 'react-resize-detector';
+
+let mockResizeWidth = 1000;
+jest.mock('react-resize-detector', () => {
+ const { useEffect } = jest.requireActual('react');
+ return {
+ useResizeDetector: ({ onResize }: { onResize?: OnResizeCallback }) => {
+ useEffect(() => {
+ onResize?.({ width: mockResizeWidth } as any);
+ }, [onResize]);
+ return { ref: { current: undefined } };
+ },
+ };
+});
+
+afterEach(() => {
+ mockResizeWidth = 1000;
+});
const DASHBOARD_TITLE = 'Added to 452 dashboards';
const DASHBOARD_DESCRIPTION =
@@ -41,18 +58,13 @@ const TAGS = ['management', 'research', 'poc'];
const A_WEEK_AGO = 'a week ago';
const TWO_DAYS_AGO = '2 days ago';
-const runWithBarCollapsed = async (func: Function) => {
- const spy = jest.spyOn(resizeDetector, 'useResizeDetector');
- let width: number;
- spy.mockImplementation(props => {
- if (props?.onResize && !width) {
- width = 80;
- props.onResize(width);
- }
- return { ref: { current: undefined } };
- });
- await func();
- spy.mockRestore();
+const runWithBarCollapsed = async (func: () => void | Promise<void>) => {
+ mockResizeWidth = 80;
+ try {
+ await func();
+ } finally {
+ mockResizeWidth = 1000;
+ }
};
const ITEMS: ContentType[] = [
@@ -159,7 +171,7 @@ test('renders underlined text and emits event when clickable', async () => {
});
test('renders clickable items with blue icons when the bar is collapsed', async () => {
- await runWithBarCollapsed(async () => {
+ await runWithBarCollapsed(() => {
const onClick = jest.fn();
const items = [{ ...ITEMS[0], onClick }, ITEMS[1]];
render(<MetadataBar items={items} />);
diff --git a/superset-frontend/packages/superset-ui-core/src/components/MetadataBar/MetadataBar.tsx b/superset-frontend/packages/superset-ui-core/src/components/MetadataBar/MetadataBar.tsx
index b09e857974a..a6e3a4aac4d 100644
--- a/superset-frontend/packages/superset-ui-core/src/components/MetadataBar/MetadataBar.tsx
+++ b/superset-frontend/packages/superset-ui-core/src/components/MetadataBar/MetadataBar.tsx
@@ -17,7 +17,7 @@
* under the License.
*/
import { useCallback, useEffect, useRef, useState } from 'react';
-import { useResizeDetector } from 'react-resize-detector';
+import { type ResizePayload, useResizeDetector } from 'react-resize-detector';
import { uniqWith } from 'lodash-es';
import { styled } from '@apache-superset/core/theme';
import { Tooltip } from '../Tooltip';
@@ -195,14 +195,14 @@ const MetadataBar = ({ items, tooltipPlacement = 'top' }: MetadataBarProps) => {
}
const onResize = useCallback(
- (width: number | undefined) => {
+ ({ width }: ResizePayload) => {
// Calculates the breakpoint width to collapse the bar.
// The last item does not have a space, so we subtract SPACE_BETWEEN_ITEMS from the total.
const breakpoint =
(ICON_WIDTH + ICON_PADDING + TEXT_MIN_WIDTH + SPACE_BETWEEN_ITEMS) *
count -
SPACE_BETWEEN_ITEMS;
- setWidth(width);
+ setWidth(width ?? undefined);
setCollapsed(Boolean(width && width < breakpoint));
},
[count],
diff --git a/superset-frontend/packages/superset-ui-core/src/components/Table/VirtualTable.test.tsx b/superset-frontend/packages/superset-ui-core/src/components/Table/VirtualTable.test.tsx
index 1a984afd54f..f8a226401fc 100644
--- a/superset-frontend/packages/superset-ui-core/src/components/Table/VirtualTable.test.tsx
+++ b/superset-frontend/packages/superset-ui-core/src/components/Table/VirtualTable.test.tsx
@@ -19,19 +19,17 @@
import { render, screen, waitFor } from '@superset-ui/core/spec';
import type { ColumnsType } from 'antd/es/table';
import { Table } from './index';
+import { OnResizeCallback } from 'react-resize-detector';
// jsdom never measures the container, so tests that need a width set this one.
let mockTableWidth: number | undefined;
jest.mock('react-resize-detector', () => {
const { useEffect } = jest.requireActual('react');
return {
- useResizeDetector: ({
- onResize,
- }: {
- onResize?: (width?: number) => void;
- }) => {
+ useResizeDetector: ({ onResize }: { onResize?: OnResizeCallback }) => {
useEffect(() => {
- if (mockTableWidth !== undefined) onResize?.(mockTableWidth);
+ if (mockTableWidth !== undefined)
+ onResize?.({ width: mockTableWidth } as any);
}, [onResize]);
return { ref: () => undefined };
},
diff --git a/superset-frontend/packages/superset-ui-core/src/components/Table/VirtualTable.tsx b/superset-frontend/packages/superset-ui-core/src/components/Table/VirtualTable.tsx
index 585eda982a2..cf2b7e7c5af 100644
--- a/superset-frontend/packages/superset-ui-core/src/components/Table/VirtualTable.tsx
+++ b/superset-frontend/packages/superset-ui-core/src/components/Table/VirtualTable.tsx
@@ -23,7 +23,7 @@ import {
TableProps as AntTableProps,
} from 'antd/es/table';
import classNames from 'classnames';
-import { useResizeDetector } from 'react-resize-detector';
+import { type ResizePayload, useResizeDetector } from 'react-resize-detector';
import { useRef, useState, useCallback, type UIEvent } from 'react';
import {
Grid,
@@ -141,7 +141,7 @@ const VirtualTable = <RecordType extends object>(
allowHTML = false,
} = props;
const [tableWidth, setTableWidth] = useState<number>(0);
- const onResize = useCallback((width?: number) => {
+ const onResize = useCallback(({ width }: ResizePayload) => {
setTableWidth(width ?? 0);
}, []);
const { ref } = useResizeDetector({ onResize });