From 5f68e6233b7774c7f22cc3df1a79b447c82bdfe4 Mon Sep 17 00:00:00 2001 From: Lily Kuang Date: Thu, 26 Jan 2023 09:01:31 -0800 Subject: [PATCH] chore: migrate react-diff-viewer to react-diff-viewer-continued for react 18 upgrade (#22834) --- superset-frontend/package-lock.json | 91 +++++++++++++------ superset-frontend/package.json | 2 +- .../plugins/plugin-chart-table/package.json | 7 +- .../OverwriteConfirmModal.test.tsx | 2 +- .../OverwriteConfirmModal.tsx | 2 +- 5 files changed, 68 insertions(+), 36 deletions(-) diff --git a/superset-frontend/package-lock.json b/superset-frontend/package-lock.json index bd990f5473aaa..70c3539fa8a1b 100644 --- a/superset-frontend/package-lock.json +++ b/superset-frontend/package-lock.json @@ -100,7 +100,7 @@ "react-checkbox-tree": "^1.8.0", "react-color": "^2.13.8", "react-datetime": "^3.2.0", - "react-diff-viewer": "^3.1.1", + "react-diff-viewer-continued": "^3.2.5", "react-dnd": "^11.1.3", "react-dnd-html5-backend": "^11.1.3", "react-dom": "^16.13.0", @@ -25944,9 +25944,9 @@ } }, "node_modules/classnames": { - "version": "2.2.6", - "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.2.6.tgz", - "integrity": "sha512-JR/iSQOSt+LQIWwrwEzJ9uk0xfN3mTVYMwt1Ir5mUcSN6pU+V4zQFFaJsclJbPuAUQH+yfWef6tm7l1quW3C8Q==" + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.3.2.tgz", + "integrity": "sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw==" }, "node_modules/clean-css": { "version": "4.2.3", @@ -29983,6 +29983,7 @@ "version": "4.0.2", "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "dev": true, "engines": { "node": ">=0.3.1" } @@ -49023,26 +49024,38 @@ "react": "^16.5.0 || ^17.0.0 || ^18.0.0" } }, - "node_modules/react-diff-viewer": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/react-diff-viewer/-/react-diff-viewer-3.1.1.tgz", - "integrity": "sha512-rmvwNdcClp6ZWdS11m1m01UnBA4OwYaLG/li0dB781e/bQEzsGyj+qewVd6W5ztBwseQ72pO7nwaCcq5jnlzcw==", + "node_modules/react-diff-viewer-continued": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/react-diff-viewer-continued/-/react-diff-viewer-continued-3.2.5.tgz", + "integrity": "sha512-oqRzPl37ixHQNhARUCX782DT1Ae1Di4oNN2csq4WyFZLWGRR+sw7A5jcuhDEh6IyIEIRtWyd5BBfubSjur98tQ==", "dependencies": { - "classnames": "^2.2.6", - "create-emotion": "^10.0.14", - "diff": "^4.0.1", - "emotion": "^10.0.14", - "memoize-one": "^5.0.4", - "prop-types": "^15.6.2" + "classnames": "^2.3.1", + "diff": "^5.1.0", + "emotion": "^10.0.27", + "memoize-one": "^6.0.0", + "prop-types": "^15.8.1" }, "engines": { "node": ">= 8" }, "peerDependencies": { - "react": "^15.3.0 || ^16.0.0", - "react-dom": "^15.3.0 || ^16.0.0" + "react": "^15.3.0 || ^16.0.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^15.3.0 || ^16.0.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/react-diff-viewer-continued/node_modules/diff": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.1.0.tgz", + "integrity": "sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==", + "engines": { + "node": ">=0.3.1" } }, + "node_modules/react-diff-viewer-continued/node_modules/memoize-one": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-6.0.0.tgz", + "integrity": "sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==" + }, "node_modules/react-dnd": { "version": "11.1.3", "resolved": "https://registry.npmjs.org/react-dnd/-/react-dnd-11.1.3.tgz", @@ -60768,6 +60781,9 @@ "name": "@superset-ui/plugin-chart-pivot-table", "version": "0.18.25", "license": "Apache-2.0", + "dependencies": { + "classnames": "^2.3.2" + }, "devDependencies": { "@babel/types": "^7.13.12", "@types/jest": "^26.0.0", @@ -60792,6 +60808,7 @@ "@types/d3-array": "^2.9.0", "@types/enzyme": "^3.10.5", "@types/react-table": "^7.0.29", + "classnames": "^2.3.2", "d3-array": "^2.4.0", "match-sorter": "^6.3.0", "memoize-one": "^5.1.1", @@ -76660,6 +76677,7 @@ "requires": { "@babel/types": "^7.13.12", "@types/jest": "^26.0.0", + "classnames": "^2.3.2", "jest": "^26.0.1" } }, @@ -76671,6 +76689,7 @@ "@types/d3-array": "^2.9.0", "@types/enzyme": "^3.10.5", "@types/react-table": "^7.0.29", + "classnames": "*", "d3-array": "^2.4.0", "match-sorter": "^6.3.0", "memoize-one": "^5.1.1", @@ -81699,9 +81718,9 @@ } }, "classnames": { - "version": "2.2.6", - "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.2.6.tgz", - "integrity": "sha512-JR/iSQOSt+LQIWwrwEzJ9uk0xfN3mTVYMwt1Ir5mUcSN6pU+V4zQFFaJsclJbPuAUQH+yfWef6tm7l1quW3C8Q==" + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.3.2.tgz", + "integrity": "sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw==" }, "clean-css": { "version": "4.2.3", @@ -84827,7 +84846,8 @@ "diff": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==" + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "dev": true }, "diff-match-patch": { "version": "1.0.5", @@ -99444,17 +99464,28 @@ "prop-types": "^15.5.7" } }, - "react-diff-viewer": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/react-diff-viewer/-/react-diff-viewer-3.1.1.tgz", - "integrity": "sha512-rmvwNdcClp6ZWdS11m1m01UnBA4OwYaLG/li0dB781e/bQEzsGyj+qewVd6W5ztBwseQ72pO7nwaCcq5jnlzcw==", + "react-diff-viewer-continued": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/react-diff-viewer-continued/-/react-diff-viewer-continued-3.2.5.tgz", + "integrity": "sha512-oqRzPl37ixHQNhARUCX782DT1Ae1Di4oNN2csq4WyFZLWGRR+sw7A5jcuhDEh6IyIEIRtWyd5BBfubSjur98tQ==", "requires": { - "classnames": "^2.2.6", - "create-emotion": "^10.0.14", - "diff": "^4.0.1", - "emotion": "^10.0.14", - "memoize-one": "^5.0.4", - "prop-types": "^15.6.2" + "classnames": "^2.3.1", + "diff": "^5.1.0", + "emotion": "^10.0.27", + "memoize-one": "^6.0.0", + "prop-types": "^15.8.1" + }, + "dependencies": { + "diff": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.1.0.tgz", + "integrity": "sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==" + }, + "memoize-one": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-6.0.0.tgz", + "integrity": "sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==" + } } }, "react-dnd": { diff --git a/superset-frontend/package.json b/superset-frontend/package.json index 80116d4eb045e..0074d40060ddc 100644 --- a/superset-frontend/package.json +++ b/superset-frontend/package.json @@ -164,7 +164,7 @@ "react-checkbox-tree": "^1.8.0", "react-color": "^2.13.8", "react-datetime": "^3.2.0", - "react-diff-viewer": "^3.1.1", + "react-diff-viewer-continued": "^3.2.5", "react-dnd": "^11.1.3", "react-dnd-html5-backend": "^11.1.3", "react-dom": "^16.13.0", diff --git a/superset-frontend/plugins/plugin-chart-table/package.json b/superset-frontend/plugins/plugin-chart-table/package.json index 7ecfe622cb7c0..293413805d136 100644 --- a/superset-frontend/plugins/plugin-chart-table/package.json +++ b/superset-frontend/plugins/plugin-chart-table/package.json @@ -28,8 +28,9 @@ "dependencies": { "@react-icons/all-files": "^4.1.0", "@types/d3-array": "^2.9.0", - "@types/react-table": "^7.0.29", "@types/enzyme": "^3.10.5", + "@types/react-table": "^7.0.29", + "classnames": "^2.3.2", "d3-array": "^2.4.0", "match-sorter": "^6.3.0", "memoize-one": "^5.1.1", @@ -41,10 +42,10 @@ "@testing-library/react": "^11.2.0" }, "peerDependencies": { - "@types/react": "*", - "@types/classnames": "*", "@superset-ui/chart-controls": "*", "@superset-ui/core": "*", + "@types/classnames": "*", + "@types/react": "*", "react": "^16.13.1", "react-dom": "^16.13.1" } diff --git a/superset-frontend/src/dashboard/components/OverwriteConfirm/OverwriteConfirmModal.test.tsx b/superset-frontend/src/dashboard/components/OverwriteConfirm/OverwriteConfirmModal.test.tsx index 751def6ebb65b..c49977ce7a52d 100644 --- a/superset-frontend/src/dashboard/components/OverwriteConfirm/OverwriteConfirmModal.test.tsx +++ b/superset-frontend/src/dashboard/components/OverwriteConfirm/OverwriteConfirmModal.test.tsx @@ -29,7 +29,7 @@ import OverwriteConfirmModal from './OverwriteConfirmModal'; const middlewares = [thunk]; const mockStore = configureStore(middlewares); -jest.mock('react-diff-viewer', () => () => ( +jest.mock('react-diff-viewer-continued', () => () => (
)); diff --git a/superset-frontend/src/dashboard/components/OverwriteConfirm/OverwriteConfirmModal.tsx b/superset-frontend/src/dashboard/components/OverwriteConfirm/OverwriteConfirmModal.tsx index 32fea9b4fc140..134681731c078 100644 --- a/superset-frontend/src/dashboard/components/OverwriteConfirm/OverwriteConfirmModal.tsx +++ b/superset-frontend/src/dashboard/components/OverwriteConfirm/OverwriteConfirmModal.tsx @@ -19,7 +19,7 @@ import React, { useMemo, useCallback, RefObject, createRef } from 'react'; import moment from 'moment'; import { useDispatch } from 'react-redux'; -import ReactDiffViewer from 'react-diff-viewer'; +import ReactDiffViewer from 'react-diff-viewer-continued'; import { useInView } from 'react-intersection-observer'; import Modal from 'src/components/Modal'; import Button from 'src/components/Button';