Merge branch 'main' into fix/redux-devtools-in-sizzy

This commit is contained in:
Fran Zekan 2022-08-24 11:29:05 +02:00 committed by GitHub
commit 0abf95987b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
67 changed files with 4293 additions and 3643 deletions

View File

@ -1,5 +1,11 @@
# remotedev-redux-devtools-extension # remotedev-redux-devtools-extension
## 3.0.14
### Patch Changes
- 24f60a7a: bump min popup window width to 760px #1126 #1129
## 3.0.13 ## 3.0.13
### Patch Changes ### Patch Changes

View File

@ -1,7 +1,7 @@
{ {
"private": true, "private": true,
"name": "remotedev-redux-devtools-extension", "name": "remotedev-redux-devtools-extension",
"version": "3.0.13", "version": "3.0.14",
"description": "Redux Developer Tools for debugging application state changes.", "description": "Redux Developer Tools for debugging application state changes.",
"homepage": "https://github.com/reduxjs/redux-devtools/tree/master/extension", "homepage": "https://github.com/reduxjs/redux-devtools/tree/master/extension",
"license": "MIT", "license": "MIT",
@ -52,33 +52,33 @@
"styled-components": "^5.3.5" "styled-components": "^5.3.5"
}, },
"devDependencies": { "devDependencies": {
"@babel/core": "^7.18.5", "@babel/core": "^7.18.10",
"@babel/preset-env": "^7.18.2", "@babel/preset-env": "^7.18.10",
"@babel/preset-react": "^7.17.12", "@babel/preset-react": "^7.18.6",
"@babel/preset-typescript": "^7.17.12", "@babel/preset-typescript": "^7.18.6",
"@babel/register": "^7.17.7", "@babel/register": "^7.18.9",
"@testing-library/jest-dom": "^5.16.4", "@testing-library/jest-dom": "^5.16.5",
"@testing-library/react": "^13.3.0", "@testing-library/react": "^13.3.0",
"@types/chrome": "^0.0.191", "@types/chrome": "^0.0.193",
"@types/lodash": "^4.14.182", "@types/lodash": "^4.14.182",
"@types/react": "^18.0.14", "@types/react": "^18.0.17",
"@types/react-dom": "^18.0.5", "@types/react-dom": "^18.0.6",
"@types/styled-components": "^5.1.25", "@types/styled-components": "^5.1.26",
"babel-loader": "^8.2.5", "babel-loader": "^8.2.5",
"bestzip": "^2.2.1", "bestzip": "^2.2.1",
"chromedriver": "^102.0.0", "chromedriver": "^104.0.0",
"copy-webpack-plugin": "^11.0.0", "copy-webpack-plugin": "^11.0.0",
"cross-env": "^7.0.3", "cross-env": "^7.0.3",
"css-loader": "^6.7.1", "css-loader": "^6.7.1",
"electron": "^19.0.6", "electron": "^20.0.2",
"eslint": "^8.18.0", "eslint": "^8.21.0",
"eslint-config-airbnb": "^19.0.4", "eslint-config-airbnb": "^19.0.4",
"eslint-plugin-import": "^2.26.0", "eslint-plugin-import": "^2.26.0",
"eslint-plugin-jsx-a11y": "^6.6.0", "eslint-plugin-jsx-a11y": "^6.6.1",
"eslint-plugin-react": "^7.30.1", "eslint-plugin-react": "^7.30.1",
"eslint-plugin-react-hooks": "^4.6.0", "eslint-plugin-react-hooks": "^4.6.0",
"file-loader": "^6.2.0", "file-loader": "^6.2.0",
"fork-ts-checker-webpack-plugin": "^7.2.11", "fork-ts-checker-webpack-plugin": "^7.2.13",
"immutable": "^4.1.0", "immutable": "^4.1.0",
"jest": "^27.5.1", "jest": "^27.5.1",
"path-browserify": "^1.0.1", "path-browserify": "^1.0.1",
@ -87,12 +87,12 @@
"react-transform-catch-errors": "^1.0.2", "react-transform-catch-errors": "^1.0.2",
"react-transform-hmr": "^1.0.4", "react-transform-hmr": "^1.0.4",
"rimraf": "^3.0.2", "rimraf": "^3.0.2",
"selenium-webdriver": "^4.3.0", "selenium-webdriver": "^4.4.0",
"sinon-chrome": "^3.0.1", "sinon-chrome": "^3.0.1",
"style-loader": "^3.3.1", "style-loader": "^3.3.1",
"ts-jest": "^27.1.5", "ts-jest": "^27.1.5",
"typescript": "~4.7.4", "typescript": "~4.7.4",
"webpack": "^5.73.0", "webpack": "^5.74.0",
"webpack-cli": "^4.10.0" "webpack-cli": "^4.10.0"
} }
} }

View File

@ -7,7 +7,7 @@ style.
overflow: hidden; overflow: hidden;
height: 100%; height: 100%;
width: 100%; width: 100%;
min-width: 350px; min-width: 760px;
min-height: 400px; min-height: 400px;
margin: 0; margin: 0;
padding: 0; padding: 0;
@ -17,6 +17,7 @@ style.
color: #fff; color: #fff;
} }
#root { #root {
min-width: 760px;
height: 100%; height: 100%;
} }
#root > div { #root > div {

View File

@ -1,21 +1,21 @@
{ {
"private": true, "private": true,
"devDependencies": { "devDependencies": {
"@babel/core": "^7.18.5", "@babel/core": "^7.18.10",
"@babel/eslint-parser": "^7.18.2", "@babel/eslint-parser": "^7.18.9",
"@changesets/cli": "^2.23.0", "@changesets/cli": "^2.24.2",
"@typescript-eslint/eslint-plugin": "^5.29.0", "@typescript-eslint/eslint-plugin": "^5.33.0",
"@typescript-eslint/parser": "^5.29.0", "@typescript-eslint/parser": "^5.33.0",
"eslint": "^8.18.0", "eslint": "^8.21.0",
"eslint-config-prettier": "^8.5.0", "eslint-config-prettier": "^8.5.0",
"eslint-plugin-jest": "^26.5.3", "eslint-plugin-jest": "^26.8.2",
"eslint-plugin-react": "^7.30.1", "eslint-plugin-react": "^7.30.1",
"eslint-plugin-react-hooks": "^4.6.0", "eslint-plugin-react-hooks": "^4.6.0",
"jest": "^27.5.1", "jest": "^27.5.1",
"prettier": "2.7.1", "prettier": "2.7.1",
"typescript": "~4.7.4", "typescript": "~4.7.4",
"nx": "^14.3.6", "nx": "^14.5.4",
"@nrwl/nx-cloud": "^14.1.2" "@nrwl/nx-cloud": "^14.3.0"
}, },
"scripts": { "scripts": {
"format": "prettier --write .", "format": "prettier --write .",
@ -38,7 +38,7 @@
"packages/redux-devtools-rtk-query-monitor/demo", "packages/redux-devtools-rtk-query-monitor/demo",
"packages/redux-devtools-slider-monitor/examples/todomvc" "packages/redux-devtools-slider-monitor/examples/todomvc"
], ],
"packageManager": "pnpm@7.3.0", "packageManager": "pnpm@7.9.0",
"pnpm": { "pnpm": {
"overrides": { "overrides": {
"@babel/highlight>chalk": "Methuselah96/chalk#v2-without-process" "@babel/highlight>chalk": "Methuselah96/chalk#v2-without-process"

View File

@ -29,22 +29,22 @@
"map2tree": "^2.1.0" "map2tree": "^2.1.0"
}, },
"devDependencies": { "devDependencies": {
"@babel/core": "^7.18.5", "@babel/core": "^7.18.10",
"@babel/preset-env": "^7.18.2", "@babel/preset-env": "^7.18.10",
"@babel/preset-typescript": "^7.17.12", "@babel/preset-typescript": "^7.18.6",
"@types/node": "^16.11.41", "@types/node": "^16.11.47",
"@typescript-eslint/eslint-plugin": "^5.29.0", "@typescript-eslint/eslint-plugin": "^5.33.0",
"@typescript-eslint/parser": "^5.29.0", "@typescript-eslint/parser": "^5.33.0",
"babel-loader": "^8.2.5", "babel-loader": "^8.2.5",
"cross-env": "^7.0.3", "cross-env": "^7.0.3",
"eslint": "^8.18.0", "eslint": "^8.21.0",
"eslint-config-prettier": "^8.5.0", "eslint-config-prettier": "^8.5.0",
"fork-ts-checker-webpack-plugin": "^7.2.11", "fork-ts-checker-webpack-plugin": "^7.2.13",
"html-webpack-plugin": "^5.5.0", "html-webpack-plugin": "^5.5.0",
"ts-node": "^10.8.1", "ts-node": "^10.9.1",
"typescript": "~4.7.4", "typescript": "~4.7.4",
"webpack": "^5.73.0", "webpack": "^5.74.0",
"webpack-cli": "^4.10.0", "webpack-cli": "^4.10.0",
"webpack-dev-server": "^4.9.2" "webpack-dev-server": "^4.10.0"
} }
} }

View File

@ -42,7 +42,7 @@
"prepublish": "pnpm run type-check && pnpm run lint" "prepublish": "pnpm run type-check && pnpm run lint"
}, },
"dependencies": { "dependencies": {
"@babel/runtime": "^7.18.3", "@babel/runtime": "^7.18.9",
"@types/d3": "^3.5.47", "@types/d3": "^3.5.47",
"d3": "^3.5.17", "d3": "^3.5.17",
"d3tooltip": "^2.1.0", "d3tooltip": "^2.1.0",
@ -51,23 +51,23 @@
"ramda": "^0.28.0" "ramda": "^0.28.0"
}, },
"devDependencies": { "devDependencies": {
"@babel/cli": "^7.17.10", "@babel/cli": "^7.18.10",
"@babel/core": "^7.18.5", "@babel/core": "^7.18.10",
"@babel/eslint-parser": "^7.18.2", "@babel/eslint-parser": "^7.18.9",
"@babel/plugin-transform-runtime": "^7.18.5", "@babel/plugin-transform-runtime": "^7.18.10",
"@babel/preset-env": "^7.18.2", "@babel/preset-env": "^7.18.10",
"@babel/preset-typescript": "^7.17.12", "@babel/preset-typescript": "^7.18.6",
"@rollup/plugin-babel": "^5.3.1", "@rollup/plugin-babel": "^5.3.1",
"@rollup/plugin-commonjs": "^22.0.1", "@rollup/plugin-commonjs": "^22.0.2",
"@rollup/plugin-node-resolve": "^13.3.0", "@rollup/plugin-node-resolve": "^13.3.0",
"@types/node": "^16.11.41", "@types/node": "^16.11.47",
"@types/ramda": "^0.28.14", "@types/ramda": "^0.28.15",
"@typescript-eslint/eslint-plugin": "^5.29.0", "@typescript-eslint/eslint-plugin": "^5.33.0",
"@typescript-eslint/parser": "^5.29.0", "@typescript-eslint/parser": "^5.33.0",
"eslint": "^8.18.0", "eslint": "^8.21.0",
"eslint-config-prettier": "^8.5.0", "eslint-config-prettier": "^8.5.0",
"rimraf": "^3.0.2", "rimraf": "^3.0.2",
"rollup": "^2.75.7", "rollup": "^2.77.3",
"rollup-plugin-terser": "^7.0.2", "rollup-plugin-terser": "^7.0.2",
"rollup-plugin-typescript2": "^0.32.1", "rollup-plugin-typescript2": "^0.32.1",
"tslib": "^2.4.0", "tslib": "^2.4.0",

View File

@ -38,29 +38,29 @@
"prepublish": "pnpm run type-check && pnpm run lint" "prepublish": "pnpm run type-check && pnpm run lint"
}, },
"dependencies": { "dependencies": {
"@babel/runtime": "^7.18.3", "@babel/runtime": "^7.18.9",
"ramda": "^0.28.0" "ramda": "^0.28.0"
}, },
"devDependencies": { "devDependencies": {
"@babel/cli": "^7.17.10", "@babel/cli": "^7.18.10",
"@babel/core": "^7.18.5", "@babel/core": "^7.18.10",
"@babel/eslint-parser": "^7.18.2", "@babel/eslint-parser": "^7.18.9",
"@babel/plugin-transform-runtime": "^7.18.5", "@babel/plugin-transform-runtime": "^7.18.10",
"@babel/preset-env": "^7.18.2", "@babel/preset-env": "^7.18.10",
"@babel/preset-typescript": "^7.17.12", "@babel/preset-typescript": "^7.18.6",
"@rollup/plugin-babel": "^5.3.1", "@rollup/plugin-babel": "^5.3.1",
"@rollup/plugin-commonjs": "^22.0.1", "@rollup/plugin-commonjs": "^22.0.2",
"@rollup/plugin-node-resolve": "^13.3.0", "@rollup/plugin-node-resolve": "^13.3.0",
"@types/d3": "^3.5.47", "@types/d3": "^3.5.47",
"@types/node": "^16.11.41", "@types/node": "^16.11.47",
"@types/ramda": "^0.28.14", "@types/ramda": "^0.28.15",
"@typescript-eslint/eslint-plugin": "^5.29.0", "@typescript-eslint/eslint-plugin": "^5.33.0",
"@typescript-eslint/parser": "^5.29.0", "@typescript-eslint/parser": "^5.33.0",
"d3": "^3.5.17", "d3": "^3.5.17",
"eslint": "^8.18.0", "eslint": "^8.21.0",
"eslint-config-prettier": "^8.5.0", "eslint-config-prettier": "^8.5.0",
"rimraf": "^3.0.2", "rimraf": "^3.0.2",
"rollup": "^2.75.7", "rollup": "^2.77.3",
"rollup-plugin-terser": "^7.0.2", "rollup-plugin-terser": "^7.0.2",
"rollup-plugin-typescript2": "^0.32.1", "rollup-plugin-typescript2": "^0.32.1",
"tslib": "^2.4.0", "tslib": "^2.4.0",

View File

@ -42,31 +42,31 @@
"prepublish": "pnpm run type-check && pnpm run lint && pnpm run test" "prepublish": "pnpm run type-check && pnpm run lint && pnpm run test"
}, },
"dependencies": { "dependencies": {
"@babel/runtime": "^7.18.3", "@babel/runtime": "^7.18.9",
"lodash": "^4.17.21" "lodash": "^4.17.21"
}, },
"devDependencies": { "devDependencies": {
"@babel/cli": "^7.17.10", "@babel/cli": "^7.18.10",
"@babel/core": "^7.18.5", "@babel/core": "^7.18.10",
"@babel/eslint-parser": "^7.18.2", "@babel/eslint-parser": "^7.18.9",
"@babel/plugin-transform-runtime": "^7.18.5", "@babel/plugin-transform-runtime": "^7.18.10",
"@babel/preset-env": "^7.18.2", "@babel/preset-env": "^7.18.10",
"@babel/preset-typescript": "^7.17.12", "@babel/preset-typescript": "^7.18.6",
"@rollup/plugin-babel": "^5.3.1", "@rollup/plugin-babel": "^5.3.1",
"@rollup/plugin-commonjs": "^22.0.1", "@rollup/plugin-commonjs": "^22.0.2",
"@rollup/plugin-node-resolve": "^13.3.0", "@rollup/plugin-node-resolve": "^13.3.0",
"@types/jest": "^27.5.2", "@types/jest": "^27.5.2",
"@types/lodash": "^4.14.182", "@types/lodash": "^4.14.182",
"@types/node": "^16.11.41", "@types/node": "^16.11.47",
"@typescript-eslint/eslint-plugin": "^5.29.0", "@typescript-eslint/eslint-plugin": "^5.33.0",
"@typescript-eslint/parser": "^5.29.0", "@typescript-eslint/parser": "^5.33.0",
"eslint": "^8.18.0", "eslint": "^8.21.0",
"eslint-config-prettier": "^8.5.0", "eslint-config-prettier": "^8.5.0",
"eslint-plugin-jest": "^26.5.3", "eslint-plugin-jest": "^26.8.2",
"immutable": "^4.1.0", "immutable": "^4.1.0",
"jest": "^27.5.1", "jest": "^27.5.1",
"rimraf": "^3.0.2", "rimraf": "^3.0.2",
"rollup": "^2.75.7", "rollup": "^2.77.3",
"rollup-plugin-terser": "^7.0.2", "rollup-plugin-terser": "^7.0.2",
"rollup-plugin-typescript2": "^0.32.1", "rollup-plugin-typescript2": "^0.32.1",
"ts-jest": "^27.1.5", "ts-jest": "^27.1.5",

View File

@ -39,7 +39,7 @@
"prepublish": "pnpm run type-check && pnpm run lint && pnpm run test" "prepublish": "pnpm run type-check && pnpm run lint && pnpm run test"
}, },
"dependencies": { "dependencies": {
"@babel/runtime": "^7.18.3", "@babel/runtime": "^7.18.9",
"@types/base16": "^1.0.2", "@types/base16": "^1.0.2",
"@types/lodash": "^4.14.182", "@types/lodash": "^4.14.182",
"base16": "^1.0.0", "base16": "^1.0.0",
@ -48,20 +48,20 @@
"lodash.curry": "^4.1.1" "lodash.curry": "^4.1.1"
}, },
"devDependencies": { "devDependencies": {
"@babel/cli": "^7.17.10", "@babel/cli": "^7.18.10",
"@babel/core": "^7.18.5", "@babel/core": "^7.18.10",
"@babel/eslint-parser": "^7.18.2", "@babel/eslint-parser": "^7.18.9",
"@babel/plugin-transform-runtime": "^7.18.5", "@babel/plugin-transform-runtime": "^7.18.10",
"@babel/preset-env": "^7.18.2", "@babel/preset-env": "^7.18.10",
"@babel/preset-typescript": "^7.17.12", "@babel/preset-typescript": "^7.18.6",
"@types/color": "^3.0.3", "@types/color": "^3.0.3",
"@types/jest": "^27.5.2", "@types/jest": "^27.5.2",
"@types/lodash.curry": "^4.1.7", "@types/lodash.curry": "^4.1.7",
"@typescript-eslint/eslint-plugin": "^5.29.0", "@typescript-eslint/eslint-plugin": "^5.33.0",
"@typescript-eslint/parser": "^5.29.0", "@typescript-eslint/parser": "^5.33.0",
"eslint": "^8.18.0", "eslint": "^8.21.0",
"eslint-config-prettier": "^8.5.0", "eslint-config-prettier": "^8.5.0",
"eslint-plugin-jest": "^26.5.3", "eslint-plugin-jest": "^26.8.2",
"jest": "^27.5.1", "jest": "^27.5.1",
"rimraf": "^3.0.2", "rimraf": "^3.0.2",
"ts-jest": "^27.1.5", "ts-jest": "^27.1.5",

View File

@ -11,7 +11,7 @@
}, },
"dependencies": { "dependencies": {
"react": "^18.2.0", "react": "^18.2.0",
"react-bootstrap": "^2.4.0", "react-bootstrap": "^2.5.0",
"react-dock": "^0.6.0", "react-dock": "^0.6.0",
"react-dom": "^18.2.0", "react-dom": "^18.2.0",
"react-icons": "^4.4.0", "react-icons": "^4.4.0",
@ -19,28 +19,28 @@
"styled-components": "^5.3.5" "styled-components": "^5.3.5"
}, },
"devDependencies": { "devDependencies": {
"@babel/core": "^7.18.5", "@babel/core": "^7.18.10",
"@babel/preset-env": "^7.18.2", "@babel/preset-env": "^7.18.10",
"@babel/preset-react": "^7.17.12", "@babel/preset-react": "^7.18.6",
"@babel/preset-typescript": "^7.17.12", "@babel/preset-typescript": "^7.18.6",
"@types/node": "^16.11.41", "@types/node": "^16.11.47",
"@types/react": "^18.0.14", "@types/react": "^18.0.17",
"@types/react-dom": "^18.0.5", "@types/react-dom": "^18.0.6",
"@types/styled-components": "^5.1.25", "@types/styled-components": "^5.1.26",
"@typescript-eslint/eslint-plugin": "^5.29.0", "@typescript-eslint/eslint-plugin": "^5.33.0",
"@typescript-eslint/parser": "^5.29.0", "@typescript-eslint/parser": "^5.33.0",
"babel-loader": "^8.2.5", "babel-loader": "^8.2.5",
"cross-env": "^7.0.3", "cross-env": "^7.0.3",
"eslint": "^8.18.0", "eslint": "^8.21.0",
"eslint-config-prettier": "^8.5.0", "eslint-config-prettier": "^8.5.0",
"eslint-plugin-react": "^7.30.1", "eslint-plugin-react": "^7.30.1",
"eslint-plugin-react-hooks": "^4.6.0", "eslint-plugin-react-hooks": "^4.6.0",
"fork-ts-checker-webpack-plugin": "^7.2.11", "fork-ts-checker-webpack-plugin": "^7.2.13",
"html-webpack-plugin": "^5.5.0", "html-webpack-plugin": "^5.5.0",
"ts-node": "^10.8.1", "ts-node": "^10.9.1",
"typescript": "~4.7.4", "typescript": "~4.7.4",
"webpack": "^5.73.0", "webpack": "^5.74.0",
"webpack-cli": "^4.10.0", "webpack-cli": "^4.10.0",
"webpack-dev-server": "^4.9.2" "webpack-dev-server": "^4.10.0"
} }
} }

View File

@ -39,29 +39,29 @@
"prepublish": "pnpm run type-check && pnpm run lint && pnpm run test" "prepublish": "pnpm run type-check && pnpm run lint && pnpm run test"
}, },
"dependencies": { "dependencies": {
"@babel/runtime": "^7.18.3", "@babel/runtime": "^7.18.9",
"@types/lodash": "^4.14.182", "@types/lodash": "^4.14.182",
"@types/prop-types": "^15.7.5", "@types/prop-types": "^15.7.5",
"lodash.debounce": "^4.0.8", "lodash.debounce": "^4.0.8",
"prop-types": "^15.8.1" "prop-types": "^15.8.1"
}, },
"devDependencies": { "devDependencies": {
"@babel/cli": "^7.17.10", "@babel/cli": "^7.18.10",
"@babel/core": "^7.18.5", "@babel/core": "^7.18.10",
"@babel/eslint-parser": "^7.18.2", "@babel/eslint-parser": "^7.18.9",
"@babel/plugin-transform-runtime": "^7.18.5", "@babel/plugin-transform-runtime": "^7.18.10",
"@babel/preset-env": "^7.18.2", "@babel/preset-env": "^7.18.10",
"@babel/preset-react": "^7.17.12", "@babel/preset-react": "^7.18.6",
"@babel/preset-typescript": "^7.17.12", "@babel/preset-typescript": "^7.18.6",
"@types/jest": "^27.5.2", "@types/jest": "^27.5.2",
"@types/lodash.debounce": "^4.0.7", "@types/lodash.debounce": "^4.0.7",
"@types/react": "^18.0.14", "@types/react": "^18.0.17",
"@types/react-test-renderer": "^18.0.0", "@types/react-test-renderer": "^18.0.0",
"@typescript-eslint/eslint-plugin": "^5.29.0", "@typescript-eslint/eslint-plugin": "^5.33.0",
"@typescript-eslint/parser": "^5.29.0", "@typescript-eslint/parser": "^5.33.0",
"eslint": "^8.18.0", "eslint": "^8.21.0",
"eslint-config-prettier": "^8.5.0", "eslint-config-prettier": "^8.5.0",
"eslint-plugin-jest": "^26.5.3", "eslint-plugin-jest": "^26.8.2",
"eslint-plugin-react": "^7.30.1", "eslint-plugin-react": "^7.30.1",
"eslint-plugin-react-hooks": "^4.6.0", "eslint-plugin-react-hooks": "^4.6.0",
"jest": "^27.5.1", "jest": "^27.5.1",

View File

@ -26,27 +26,27 @@
"react-json-tree": "^0.17.0" "react-json-tree": "^0.17.0"
}, },
"devDependencies": { "devDependencies": {
"@babel/core": "^7.18.5", "@babel/core": "^7.18.10",
"@babel/preset-env": "^7.18.2", "@babel/preset-env": "^7.18.10",
"@babel/preset-react": "^7.17.12", "@babel/preset-react": "^7.18.6",
"@babel/preset-typescript": "^7.17.12", "@babel/preset-typescript": "^7.18.6",
"@types/node": "^16.11.41", "@types/node": "^16.11.47",
"@types/react": "^18.0.14", "@types/react": "^18.0.17",
"@types/react-dom": "^18.0.5", "@types/react-dom": "^18.0.6",
"@typescript-eslint/eslint-plugin": "^5.29.0", "@typescript-eslint/eslint-plugin": "^5.33.0",
"@typescript-eslint/parser": "^5.29.0", "@typescript-eslint/parser": "^5.33.0",
"babel-loader": "^8.2.5", "babel-loader": "^8.2.5",
"cross-env": "^7.0.3", "cross-env": "^7.0.3",
"eslint": "^8.18.0", "eslint": "^8.21.0",
"eslint-config-prettier": "^8.5.0", "eslint-config-prettier": "^8.5.0",
"eslint-plugin-react": "^7.30.1", "eslint-plugin-react": "^7.30.1",
"eslint-plugin-react-hooks": "^4.6.0", "eslint-plugin-react-hooks": "^4.6.0",
"fork-ts-checker-webpack-plugin": "^7.2.11", "fork-ts-checker-webpack-plugin": "^7.2.13",
"html-webpack-plugin": "^5.5.0", "html-webpack-plugin": "^5.5.0",
"ts-node": "^10.8.1", "ts-node": "^10.9.1",
"typescript": "~4.7.4", "typescript": "~4.7.4",
"webpack": "^5.73.0", "webpack": "^5.74.0",
"webpack-cli": "^4.10.0", "webpack-cli": "^4.10.0",
"webpack-dev-server": "^4.9.2" "webpack-dev-server": "^4.10.0"
} }
} }

View File

@ -45,39 +45,39 @@
"prepublish": "pnpm run type-check && pnpm run lint && pnpm run test" "prepublish": "pnpm run type-check && pnpm run lint && pnpm run test"
}, },
"dependencies": { "dependencies": {
"@babel/runtime": "^7.18.3", "@babel/runtime": "^7.18.9",
"@types/lodash": "^4.14.182", "@types/lodash": "^4.14.182",
"@types/prop-types": "^15.7.5", "@types/prop-types": "^15.7.5",
"prop-types": "^15.8.1", "prop-types": "^15.8.1",
"react-base16-styling": "^0.9.1" "react-base16-styling": "^0.9.1"
}, },
"devDependencies": { "devDependencies": {
"@babel/cli": "^7.17.10", "@babel/cli": "^7.18.10",
"@babel/core": "^7.18.5", "@babel/core": "^7.18.10",
"@babel/eslint-parser": "^7.18.2", "@babel/eslint-parser": "^7.18.9",
"@babel/plugin-transform-runtime": "^7.18.5", "@babel/plugin-transform-runtime": "^7.18.10",
"@babel/preset-env": "^7.18.2", "@babel/preset-env": "^7.18.10",
"@babel/preset-react": "^7.17.12", "@babel/preset-react": "^7.18.6",
"@babel/preset-typescript": "^7.17.12", "@babel/preset-typescript": "^7.18.6",
"@rollup/plugin-babel": "^5.3.1", "@rollup/plugin-babel": "^5.3.1",
"@rollup/plugin-commonjs": "^22.0.1", "@rollup/plugin-commonjs": "^22.0.2",
"@rollup/plugin-node-resolve": "^13.3.0", "@rollup/plugin-node-resolve": "^13.3.0",
"@types/jest": "^27.5.2", "@types/jest": "^27.5.2",
"@types/node": "^16.11.41", "@types/node": "^16.11.47",
"@types/react": "^18.0.14", "@types/react": "^18.0.17",
"@types/react-test-renderer": "^18.0.0", "@types/react-test-renderer": "^18.0.0",
"@typescript-eslint/eslint-plugin": "^5.29.0", "@typescript-eslint/eslint-plugin": "^5.33.0",
"@typescript-eslint/parser": "^5.29.0", "@typescript-eslint/parser": "^5.33.0",
"eslint": "^8.18.0", "eslint": "^8.21.0",
"eslint-config-prettier": "^8.5.0", "eslint-config-prettier": "^8.5.0",
"eslint-plugin-jest": "^26.5.3", "eslint-plugin-jest": "^26.8.2",
"eslint-plugin-react": "^7.30.1", "eslint-plugin-react": "^7.30.1",
"eslint-plugin-react-hooks": "^4.6.0", "eslint-plugin-react-hooks": "^4.6.0",
"jest": "^27.5.1", "jest": "^27.5.1",
"react": "^18.2.0", "react": "^18.2.0",
"react-test-renderer": "^18.2.0", "react-test-renderer": "^18.2.0",
"rimraf": "^3.0.2", "rimraf": "^3.0.2",
"rollup": "^2.75.7", "rollup": "^2.77.3",
"rollup-plugin-terser": "^7.0.2", "rollup-plugin-terser": "^7.0.2",
"rollup-plugin-typescript2": "^0.32.1", "rollup-plugin-typescript2": "^0.32.1",
"ts-jest": "^27.1.5", "ts-jest": "^27.1.5",

View File

@ -40,7 +40,7 @@
"prepublish": "pnpm run type-check && pnpm run lint && pnpm run test" "prepublish": "pnpm run type-check && pnpm run lint && pnpm run test"
}, },
"dependencies": { "dependencies": {
"@babel/runtime": "^7.18.3", "@babel/runtime": "^7.18.9",
"@redux-devtools/chart-monitor": "^3.0.0", "@redux-devtools/chart-monitor": "^3.0.0",
"@redux-devtools/core": "^3.13.0", "@redux-devtools/core": "^3.13.0",
"@redux-devtools/inspector-monitor": "^3.0.0", "@redux-devtools/inspector-monitor": "^3.0.0",
@ -50,7 +50,7 @@
"@redux-devtools/rtk-query-monitor": "^3.0.0", "@redux-devtools/rtk-query-monitor": "^3.0.0",
"@redux-devtools/slider-monitor": "^4.0.0", "@redux-devtools/slider-monitor": "^4.0.0",
"@redux-devtools/ui": "^1.3.0", "@redux-devtools/ui": "^1.3.0",
"@reduxjs/toolkit": "^1.8.2", "@reduxjs/toolkit": "^1.8.4",
"@types/prop-types": "^15.7.5", "@types/prop-types": "^15.7.5",
"d3-state-visualizer": "^1.6.0", "d3-state-visualizer": "^1.6.0",
"javascript-stringify": "^2.1.0", "javascript-stringify": "^2.1.0",
@ -67,39 +67,39 @@
"socketcluster-client": "^16.1.1" "socketcluster-client": "^16.1.1"
}, },
"devDependencies": { "devDependencies": {
"@babel/cli": "^7.17.10", "@babel/cli": "^7.18.10",
"@babel/core": "^7.18.5", "@babel/core": "^7.18.10",
"@babel/eslint-parser": "^7.18.2", "@babel/eslint-parser": "^7.18.9",
"@babel/plugin-transform-runtime": "^7.18.5", "@babel/plugin-transform-runtime": "^7.18.10",
"@babel/preset-env": "^7.18.2", "@babel/preset-env": "^7.18.10",
"@babel/preset-react": "^7.17.12", "@babel/preset-react": "^7.18.6",
"@babel/preset-typescript": "^7.17.12", "@babel/preset-typescript": "^7.18.6",
"@rjsf/core": "^4.2.0", "@rjsf/core": "^4.2.3",
"@testing-library/jest-dom": "^5.16.4", "@testing-library/jest-dom": "^5.16.5",
"@testing-library/react": "^13.3.0", "@testing-library/react": "^13.3.0",
"@types/jest": "^27.5.2", "@types/jest": "^27.5.2",
"@types/jsan": "^3.1.2", "@types/jsan": "^3.1.2",
"@types/json-schema": "^7.0.11", "@types/json-schema": "^7.0.11",
"@types/lodash": "^4.14.182", "@types/lodash": "^4.14.182",
"@types/node": "^16.11.41", "@types/node": "^16.11.47",
"@types/react": "^18.0.14", "@types/react": "^18.0.17",
"@types/react-dom": "^18.0.5", "@types/react-dom": "^18.0.6",
"@types/socketcluster-client": "^16.0.0", "@types/socketcluster-client": "^16.0.0",
"@types/styled-components": "^5.1.25", "@types/styled-components": "^5.1.26",
"@types/testing-library__jest-dom": "^5.14.5", "@types/testing-library__jest-dom": "^5.14.5",
"@types/webpack-env": "^1.17.0", "@types/webpack-env": "^1.17.0",
"@typescript-eslint/eslint-plugin": "^5.29.0", "@typescript-eslint/eslint-plugin": "^5.33.0",
"@typescript-eslint/parser": "^5.29.0", "@typescript-eslint/parser": "^5.33.0",
"babel-loader": "^8.2.5", "babel-loader": "^8.2.5",
"cross-env": "^7.0.3", "cross-env": "^7.0.3",
"css-loader": "^6.7.1", "css-loader": "^6.7.1",
"eslint": "^8.18.0", "eslint": "^8.21.0",
"eslint-config-prettier": "^8.5.0", "eslint-config-prettier": "^8.5.0",
"eslint-plugin-jest": "^26.5.3", "eslint-plugin-jest": "^26.8.2",
"eslint-plugin-react": "^7.30.1", "eslint-plugin-react": "^7.30.1",
"eslint-plugin-react-hooks": "^4.6.0", "eslint-plugin-react-hooks": "^4.6.0",
"fork-ts-checker-webpack-plugin": "^7.2.11", "fork-ts-checker-webpack-plugin": "^7.2.13",
"html-loader": "^3.1.2", "html-loader": "^4.1.0",
"html-webpack-plugin": "^5.5.0", "html-webpack-plugin": "^5.5.0",
"jest": "^27.5.1", "jest": "^27.5.1",
"path-browserify": "^1.0.1", "path-browserify": "^1.0.1",
@ -109,15 +109,15 @@
"style-loader": "^3.3.1", "style-loader": "^3.3.1",
"styled-components": "^5.3.5", "styled-components": "^5.3.5",
"ts-jest": "^27.1.5", "ts-jest": "^27.1.5",
"ts-node": "^10.8.1", "ts-node": "^10.9.1",
"typescript": "~4.7.4", "typescript": "~4.7.4",
"webpack": "^5.73.0", "webpack": "^5.74.0",
"webpack-cli": "^4.10.0", "webpack-cli": "^4.10.0",
"webpack-dev-server": "^4.9.2" "webpack-dev-server": "^4.10.0"
}, },
"peerDependencies": { "peerDependencies": {
"@types/react": "^16.3.0 || ^17.0.0 || ^18.0.0", "@types/react": "^16.3.0 || ^17.0.0 || ^18.0.0",
"@types/styled-components": "^5.1.25", "@types/styled-components": "^5.1.26",
"react": "^16.3.0 || ^17.0.0 || ^18.0.0", "react": "^16.3.0 || ^17.0.0 || ^18.0.0",
"styled-components": "^5.3.5" "styled-components": "^5.3.5"
} }

View File

@ -39,7 +39,7 @@
"prepublish": "pnpm run type-check && pnpm run lint" "prepublish": "pnpm run type-check && pnpm run lint"
}, },
"dependencies": { "dependencies": {
"@babel/runtime": "^7.18.3", "@babel/runtime": "^7.18.9",
"@types/prop-types": "^15.7.5", "@types/prop-types": "^15.7.5",
"@types/redux-devtools-themes": "^1.0.0", "@types/redux-devtools-themes": "^1.0.0",
"d3-state-visualizer": "^1.6.0", "d3-state-visualizer": "^1.6.0",
@ -48,18 +48,18 @@
"redux-devtools-themes": "^1.0.0" "redux-devtools-themes": "^1.0.0"
}, },
"devDependencies": { "devDependencies": {
"@babel/cli": "^7.17.10", "@babel/cli": "^7.18.10",
"@babel/core": "^7.18.5", "@babel/core": "^7.18.10",
"@babel/eslint-parser": "^7.18.2", "@babel/eslint-parser": "^7.18.9",
"@babel/plugin-transform-runtime": "^7.18.5", "@babel/plugin-transform-runtime": "^7.18.10",
"@babel/preset-env": "^7.18.2", "@babel/preset-env": "^7.18.10",
"@babel/preset-react": "^7.17.12", "@babel/preset-react": "^7.18.6",
"@babel/preset-typescript": "^7.17.12", "@babel/preset-typescript": "^7.18.6",
"@redux-devtools/core": "^3.13.1", "@redux-devtools/core": "^3.13.1",
"@types/react": "^18.0.14", "@types/react": "^18.0.17",
"@typescript-eslint/eslint-plugin": "^5.29.0", "@typescript-eslint/eslint-plugin": "^5.33.0",
"@typescript-eslint/parser": "^5.29.0", "@typescript-eslint/parser": "^5.33.0",
"eslint": "^8.18.0", "eslint": "^8.21.0",
"eslint-config-prettier": "^8.5.0", "eslint-config-prettier": "^8.5.0",
"eslint-plugin-react": "^7.30.1", "eslint-plugin-react": "^7.30.1",
"eslint-plugin-react-hooks": "^4.6.0", "eslint-plugin-react-hooks": "^4.6.0",

View File

@ -41,17 +41,17 @@
}, },
"dependencies": { "dependencies": {
"@redux-devtools/app": "^2.1.3", "@redux-devtools/app": "^2.1.3",
"@types/react": "^18.0.14", "@types/react": "^18.0.17",
"apollo-server-express": "^3.9.0", "apollo-server-express": "^3.10.1",
"body-parser": "^1.20.0", "body-parser": "^1.20.0",
"chalk": "^4.1.2", "chalk": "^4.1.2",
"cors": "^2.8.5", "cors": "^2.8.5",
"cross-spawn": "^7.0.3", "cross-spawn": "^7.0.3",
"electron": "^19.0.6", "electron": "^20.0.2",
"express": "^4.18.1", "express": "^4.18.1",
"getport": "^0.1.0", "getport": "^0.1.0",
"graphql": "^16.5.0", "graphql": "^16.5.0",
"knex": "^2.1.0", "knex": "^2.2.0",
"lodash": "^4.17.21", "lodash": "^4.17.21",
"minimist": "^1.2.6", "minimist": "^1.2.6",
"morgan": "^1.10.0", "morgan": "^1.10.0",
@ -61,7 +61,7 @@
"react-is": "^18.2.0", "react-is": "^18.2.0",
"semver": "^7.3.7", "semver": "^7.3.7",
"socketcluster-server": "^16.2.1", "socketcluster-server": "^16.2.1",
"sqlite3": "^5.0.8", "sqlite3": "^5.0.11",
"styled-components": "^5.3.5", "styled-components": "^5.3.5",
"uuid": "^8.3.2" "uuid": "^8.3.2"
}, },
@ -74,23 +74,23 @@
"@types/lodash": "^4.14.182", "@types/lodash": "^4.14.182",
"@types/minimist": "^1.2.2", "@types/minimist": "^1.2.2",
"@types/morgan": "^1.9.3", "@types/morgan": "^1.9.3",
"@types/node": "^16.11.41", "@types/node": "^16.11.47",
"@types/semver": "^7.3.10", "@types/semver": "^7.3.12",
"@types/socketcluster-client": "^16.0.0", "@types/socketcluster-client": "^16.0.0",
"@types/socketcluster-server": "^16.1.0", "@types/socketcluster-server": "^16.1.0",
"@types/styled-components": "^5.1.25", "@types/styled-components": "^5.1.26",
"@types/supertest": "^2.0.12", "@types/supertest": "^2.0.12",
"@types/uuid": "^8.3.4", "@types/uuid": "^8.3.4",
"@typescript-eslint/eslint-plugin": "^5.29.0", "@typescript-eslint/eslint-plugin": "^5.33.0",
"@typescript-eslint/parser": "^5.29.0", "@typescript-eslint/parser": "^5.33.0",
"eslint": "^8.18.0", "eslint": "^8.21.0",
"eslint-config-prettier": "^8.5.0", "eslint-config-prettier": "^8.5.0",
"eslint-plugin-jest": "^26.5.3", "eslint-plugin-jest": "^26.8.2",
"jest": "^27.5.1", "jest": "^27.5.1",
"ncp": "^2.0.0", "ncp": "^2.0.0",
"rimraf": "^3.0.2", "rimraf": "^3.0.2",
"socketcluster-client": "^16.1.1", "socketcluster-client": "^16.1.1",
"supertest": "^6.2.3", "supertest": "^6.2.4",
"ts-jest": "^27.1.5", "ts-jest": "^27.1.5",
"typescript": "~4.7.4" "typescript": "~4.7.4"
} }

View File

@ -41,26 +41,26 @@
"prepublish": "pnpm run type-check && pnpm run lint" "prepublish": "pnpm run type-check && pnpm run lint"
}, },
"dependencies": { "dependencies": {
"@babel/runtime": "^7.18.3", "@babel/runtime": "^7.18.9",
"@types/prop-types": "^15.7.5", "@types/prop-types": "^15.7.5",
"parse-key": "^0.2.1", "parse-key": "^0.2.1",
"prop-types": "^15.8.1", "prop-types": "^15.8.1",
"react-dock": "^0.6.0" "react-dock": "^0.6.0"
}, },
"devDependencies": { "devDependencies": {
"@babel/cli": "^7.17.10", "@babel/cli": "^7.18.10",
"@babel/core": "^7.18.5", "@babel/core": "^7.18.10",
"@babel/eslint-parser": "^7.18.2", "@babel/eslint-parser": "^7.18.9",
"@babel/plugin-transform-runtime": "^7.18.5", "@babel/plugin-transform-runtime": "^7.18.10",
"@babel/preset-env": "^7.18.2", "@babel/preset-env": "^7.18.10",
"@babel/preset-react": "^7.17.12", "@babel/preset-react": "^7.18.6",
"@babel/preset-typescript": "^7.17.12", "@babel/preset-typescript": "^7.18.6",
"@redux-devtools/core": "^3.13.1", "@redux-devtools/core": "^3.13.1",
"@types/parse-key": "^0.2.0", "@types/parse-key": "^0.2.0",
"@types/react": "^18.0.14", "@types/react": "^18.0.17",
"@typescript-eslint/eslint-plugin": "^5.29.0", "@typescript-eslint/eslint-plugin": "^5.33.0",
"@typescript-eslint/parser": "^5.29.0", "@typescript-eslint/parser": "^5.33.0",
"eslint": "^8.18.0", "eslint": "^8.21.0",
"eslint-config-prettier": "^8.5.0", "eslint-config-prettier": "^8.5.0",
"eslint-plugin-react": "^7.30.1", "eslint-plugin-react": "^7.30.1",
"eslint-plugin-react-hooks": "^4.6.0", "eslint-plugin-react-hooks": "^4.6.0",

View File

@ -1,5 +1,11 @@
# Change Log # Change Log
## 3.2.3
### Patch Changes
- 6cf1865f: Fix type for serialize option
## 3.2.2 ## 3.2.2
### Patch Changes ### Patch Changes

View File

@ -1,6 +1,6 @@
{ {
"name": "@redux-devtools/extension", "name": "@redux-devtools/extension",
"version": "3.2.2", "version": "3.2.3",
"description": "Wrappers for Redux DevTools Extension.", "description": "Wrappers for Redux DevTools Extension.",
"homepage": "https://github.com/reduxjs/redux-devtools/tree/master/packages/redux-devtools-extension", "homepage": "https://github.com/reduxjs/redux-devtools/tree/master/packages/redux-devtools-extension",
"license": "MIT", "license": "MIT",
@ -29,18 +29,19 @@
"prepublish": "pnpm run type-check && pnpm run lint" "prepublish": "pnpm run type-check && pnpm run lint"
}, },
"dependencies": { "dependencies": {
"@babel/runtime": "^7.18.3" "@babel/runtime": "^7.18.9",
"immutable": "^4.1.0"
}, },
"devDependencies": { "devDependencies": {
"@babel/cli": "^7.17.10", "@babel/cli": "^7.18.10",
"@babel/core": "^7.18.5", "@babel/core": "^7.18.10",
"@babel/eslint-parser": "^7.18.2", "@babel/eslint-parser": "^7.18.9",
"@babel/plugin-transform-runtime": "^7.18.5", "@babel/plugin-transform-runtime": "^7.18.10",
"@babel/preset-env": "^7.18.2", "@babel/preset-env": "^7.18.10",
"@babel/preset-typescript": "^7.17.12", "@babel/preset-typescript": "^7.18.6",
"@typescript-eslint/eslint-plugin": "^5.29.0", "@typescript-eslint/eslint-plugin": "^5.33.0",
"@typescript-eslint/parser": "^5.29.0", "@typescript-eslint/parser": "^5.33.0",
"eslint": "^8.18.0", "eslint": "^8.21.0",
"eslint-config-prettier": "^8.5.0", "eslint-config-prettier": "^8.5.0",
"redux": "^4.2.0", "redux": "^4.2.0",
"rimraf": "^3.0.2", "rimraf": "^3.0.2",

View File

@ -1,3 +1,4 @@
import Immutable from 'immutable';
import { Action, ActionCreator, compose, StoreEnhancer } from 'redux'; import { Action, ActionCreator, compose, StoreEnhancer } from 'redux';
export interface EnhancerOptions { export interface EnhancerOptions {
@ -24,6 +25,14 @@ export interface EnhancerOptions {
* @default 50 * @default 50
*/ */
maxAge?: number; maxAge?: number;
/**
* Customizes how actions and state are serialized and deserialized. Can be a boolean or object. If given a boolean, the behavior is the same as if you
* were to pass an object and specify `options` as a boolean. Giving an object allows fine-grained customization using the `replacer` and `reviver`
* functions.
*/
serialize?:
| boolean
| {
/** /**
* - `undefined` - will use regular `JSON.stringify` to send data (it's the fast mode). * - `undefined` - will use regular `JSON.stringify` to send data (it's the fast mode).
* - `false` - will handle also circular references. * - `false` - will handle also circular references.
@ -33,18 +42,42 @@ export interface EnhancerOptions {
* For `function` key you can also specify a custom function which handles serialization. * For `function` key you can also specify a custom function which handles serialization.
* See [`jsan`](https://github.com/kolodny/jsan) for more details. * See [`jsan`](https://github.com/kolodny/jsan) for more details.
*/ */
serialize?: options?:
| undefined
| boolean | boolean
| { | {
date?: boolean; date?: true;
regex?: boolean; regex?: true;
undefined?: boolean; undefined?: true;
error?: boolean; error?: true;
symbol?: boolean; symbol?: true;
map?: boolean; map?: true;
set?: boolean; set?: true;
// eslint-disable-next-line @typescript-eslint/ban-types function?: true | ((fn: (...args: any[]) => any) => string);
function?: boolean | Function; };
/**
* [JSON replacer function](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify#The_replacer_parameter) used for both actions and states stringify.
* In addition, you can specify a data type by adding a [`__serializedType__`](https://github.com/zalmoxisus/remotedev-serialize/blob/master/helpers/index.js#L4)
* key. So you can deserialize it back while importing or persisting data.
* Moreover, it will also [show a nice preview showing the provided custom type](https://cloud.githubusercontent.com/assets/7957859/21814330/a17d556a-d761-11e6-85ef-159dd12f36c5.png):
*/
replacer?: (key: string, value: unknown) => any;
/**
* [JSON `reviver` function](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse#Using_the_reviver_parameter)
* used for parsing the imported actions and states. See [`remotedev-serialize`](https://github.com/zalmoxisus/remotedev-serialize/blob/master/immutable/serialize.js#L8-L41)
* as an example on how to serialize special data types and get them back.
*/
reviver?: (key: string, value: unknown) => any;
/**
* Automatically serialize/deserialize immutablejs via [remotedev-serialize](https://github.com/zalmoxisus/remotedev-serialize).
* Just pass the Immutable library. It will support all ImmutableJS structures. You can even export them into a file and get them back.
* The only exception is `Record` class, for which you should pass this in addition the references to your classes in `refs`.
*/
immutable?: typeof Immutable;
/**
* ImmutableJS `Record` classes used to make possible restore its instances back when importing, persisting...
*/
refs?: Immutable.Record.Factory<any>[];
}; };
/** /**
* function which takes `action` object and id number as arguments, and should return `action` object back. * function which takes `action` object and id number as arguments, and should return `action` object back.

View File

@ -8,7 +8,7 @@ const objectKeys =
return keys; return keys;
}; };
export default function assign<T, K extends keyof T>( export default function assign<T extends object, K extends keyof T>(
obj: T, obj: T,
newKey: K, newKey: K,
newValue: T[K] newValue: T[K]

View File

@ -27,33 +27,33 @@
"styled-components": "^5.3.5" "styled-components": "^5.3.5"
}, },
"devDependencies": { "devDependencies": {
"@babel/core": "^7.18.5", "@babel/core": "^7.18.10",
"@babel/preset-env": "^7.18.2", "@babel/preset-env": "^7.18.10",
"@babel/preset-react": "^7.17.12", "@babel/preset-react": "^7.18.6",
"@babel/preset-typescript": "^7.17.12", "@babel/preset-typescript": "^7.18.6",
"@types/lodash.shuffle": "^4.2.7", "@types/lodash.shuffle": "^4.2.7",
"@types/node": "^16.11.41", "@types/node": "^16.11.47",
"@types/react": "^18.0.14", "@types/react": "^18.0.17",
"@types/react-dom": "^18.0.5", "@types/react-dom": "^18.0.6",
"@types/redux-logger": "^3.0.9", "@types/redux-logger": "^3.0.9",
"@types/styled-components": "^5.1.25", "@types/styled-components": "^5.1.26",
"@types/webpack-env": "^1.17.0", "@types/webpack-env": "^1.17.0",
"@typescript-eslint/eslint-plugin": "^5.29.0", "@typescript-eslint/eslint-plugin": "^5.33.0",
"@typescript-eslint/parser": "^5.29.0", "@typescript-eslint/parser": "^5.33.0",
"babel-loader": "^8.2.5", "babel-loader": "^8.2.5",
"cross-env": "^7.0.3", "cross-env": "^7.0.3",
"css-loader": "^6.7.1", "css-loader": "^6.7.1",
"eslint": "^8.18.0", "eslint": "^8.21.0",
"eslint-config-prettier": "^8.5.0", "eslint-config-prettier": "^8.5.0",
"eslint-plugin-react": "^7.30.1", "eslint-plugin-react": "^7.30.1",
"eslint-plugin-react-hooks": "^4.6.0", "eslint-plugin-react-hooks": "^4.6.0",
"fork-ts-checker-webpack-plugin": "^7.2.11", "fork-ts-checker-webpack-plugin": "^7.2.13",
"html-webpack-plugin": "^5.5.0", "html-webpack-plugin": "^5.5.0",
"style-loader": "^3.3.1", "style-loader": "^3.3.1",
"ts-node": "^10.8.1", "ts-node": "^10.9.1",
"typescript": "~4.7.4", "typescript": "~4.7.4",
"webpack": "^5.73.0", "webpack": "^5.74.0",
"webpack-cli": "^4.10.0", "webpack-cli": "^4.10.0",
"webpack-dev-server": "^4.9.2" "webpack-dev-server": "^4.10.0"
} }
} }

View File

@ -43,7 +43,7 @@
"prepublish": "pnpm run type-check && pnpm run lint && pnpm run test" "prepublish": "pnpm run type-check && pnpm run lint && pnpm run test"
}, },
"dependencies": { "dependencies": {
"@babel/runtime": "^7.18.3", "@babel/runtime": "^7.18.9",
"@redux-devtools/ui": "^1.3.0", "@redux-devtools/ui": "^1.3.0",
"@types/prop-types": "^15.7.5", "@types/prop-types": "^15.7.5",
"es6template": "^1.0.5", "es6template": "^1.0.5",
@ -55,13 +55,13 @@
"simple-diff": "^1.6.0" "simple-diff": "^1.6.0"
}, },
"devDependencies": { "devDependencies": {
"@babel/cli": "^7.17.10", "@babel/cli": "^7.18.10",
"@babel/core": "^7.18.5", "@babel/core": "^7.18.10",
"@babel/eslint-parser": "^7.18.2", "@babel/eslint-parser": "^7.18.9",
"@babel/plugin-transform-runtime": "^7.18.5", "@babel/plugin-transform-runtime": "^7.18.10",
"@babel/preset-env": "^7.18.2", "@babel/preset-env": "^7.18.10",
"@babel/preset-react": "^7.17.12", "@babel/preset-react": "^7.18.6",
"@babel/preset-typescript": "^7.17.12", "@babel/preset-typescript": "^7.18.6",
"@redux-devtools/core": "^3.13.0", "@redux-devtools/core": "^3.13.0",
"@redux-devtools/inspector-monitor": "^3.0.0", "@redux-devtools/inspector-monitor": "^3.0.0",
"@testing-library/react": "^13.3.0", "@testing-library/react": "^13.3.0",
@ -69,13 +69,13 @@
"@types/jest": "^27.5.2", "@types/jest": "^27.5.2",
"@types/jsan": "^3.1.2", "@types/jsan": "^3.1.2",
"@types/object-path": "^0.11.1", "@types/object-path": "^0.11.1",
"@types/react": "^18.0.14", "@types/react": "^18.0.17",
"@types/simple-diff": "^1.6.1", "@types/simple-diff": "^1.6.1",
"@typescript-eslint/eslint-plugin": "^5.29.0", "@typescript-eslint/eslint-plugin": "^5.33.0",
"@typescript-eslint/parser": "^5.29.0", "@typescript-eslint/parser": "^5.33.0",
"eslint": "^8.18.0", "eslint": "^8.21.0",
"eslint-config-prettier": "^8.5.0", "eslint-config-prettier": "^8.5.0",
"eslint-plugin-jest": "^26.5.3", "eslint-plugin-jest": "^26.8.2",
"eslint-plugin-react": "^7.30.1", "eslint-plugin-react": "^7.30.1",
"eslint-plugin-react-hooks": "^4.6.0", "eslint-plugin-react-hooks": "^4.6.0",
"jest": "^27.5.1", "jest": "^27.5.1",
@ -89,7 +89,7 @@
"peerDependencies": { "peerDependencies": {
"@redux-devtools/inspector-monitor": "^3.0.0", "@redux-devtools/inspector-monitor": "^3.0.0",
"@types/react": "^16.3.0 || ^17.0.0 || ^18.0.0", "@types/react": "^16.3.0 || ^17.0.0 || ^18.0.0",
"@types/styled-components": "^5.1.25", "@types/styled-components": "^5.1.26",
"react": "^16.3.0 || ^17.0.0 || ^18.0.0", "react": "^16.3.0 || ^17.0.0 || ^18.0.0",
"redux": "^3.4.0 || ^4.0.0", "redux": "^3.4.0 || ^4.0.0",
"styled-components": "^5.3.5" "styled-components": "^5.3.5"

View File

@ -30,9 +30,9 @@
"prepublish": "pnpm run type-check && pnpm run lint && pnpm run test" "prepublish": "pnpm run type-check && pnpm run lint && pnpm run test"
}, },
"dependencies": { "dependencies": {
"@babel/code-frame": "^7.16.7", "@babel/code-frame": "^7.18.6",
"@babel/runtime": "^7.18.3", "@babel/runtime": "^7.18.9",
"@types/chrome": "^0.0.191", "@types/chrome": "^0.0.193",
"anser": "^2.1.1", "anser": "^2.1.1",
"html-entities": "^2.3.3", "html-entities": "^2.3.3",
"path-browserify": "^1.0.1", "path-browserify": "^1.0.1",
@ -40,29 +40,29 @@
"source-map": "^0.5.7" "source-map": "^0.5.7"
}, },
"devDependencies": { "devDependencies": {
"@babel/cli": "^7.17.10", "@babel/cli": "^7.18.10",
"@babel/core": "^7.18.5", "@babel/core": "^7.18.10",
"@babel/eslint-parser": "^7.18.2", "@babel/eslint-parser": "^7.18.9",
"@babel/plugin-transform-runtime": "^7.18.5", "@babel/plugin-transform-runtime": "^7.18.10",
"@babel/preset-env": "^7.18.2", "@babel/preset-env": "^7.18.10",
"@babel/preset-react": "^7.17.12", "@babel/preset-react": "^7.18.6",
"@babel/preset-typescript": "^7.17.12", "@babel/preset-typescript": "^7.18.6",
"@redux-devtools/core": "^3.13.0", "@redux-devtools/core": "^3.13.0",
"@redux-devtools/inspector-monitor": "^3.0.0", "@redux-devtools/inspector-monitor": "^3.0.0",
"@testing-library/react": "^13.3.0", "@testing-library/react": "^13.3.0",
"@types/babel__code-frame": "^7.0.3", "@types/babel__code-frame": "^7.0.3",
"@types/html-entities": "^1.3.4", "@types/html-entities": "^1.3.4",
"@types/jest": "^27.5.2", "@types/jest": "^27.5.2",
"@types/node": "^16.11.41", "@types/node": "^16.11.47",
"@types/path-browserify": "^1.0.0", "@types/path-browserify": "^1.0.0",
"@types/react": "^18.0.14", "@types/react": "^18.0.17",
"@types/redux-devtools-themes": "^1.0.0", "@types/redux-devtools-themes": "^1.0.0",
"@types/source-map": "0.5.2", "@types/source-map": "0.5.2",
"@typescript-eslint/eslint-plugin": "^5.29.0", "@typescript-eslint/eslint-plugin": "^5.33.0",
"@typescript-eslint/parser": "^5.29.0", "@typescript-eslint/parser": "^5.33.0",
"eslint": "^8.18.0", "eslint": "^8.21.0",
"eslint-config-prettier": "^8.5.0", "eslint-config-prettier": "^8.5.0",
"eslint-plugin-jest": "^26.5.3", "eslint-plugin-jest": "^26.8.2",
"eslint-plugin-react": "^7.30.1", "eslint-plugin-react": "^7.30.1",
"eslint-plugin-react-hooks": "^4.6.0", "eslint-plugin-react-hooks": "^4.6.0",
"jest": "^27.5.1", "jest": "^27.5.1",

View File

@ -17,7 +17,7 @@
"immutable": "^4.1.0", "immutable": "^4.1.0",
"lodash.shuffle": "^4.2.0", "lodash.shuffle": "^4.2.0",
"react": "^18.2.0", "react": "^18.2.0",
"react-bootstrap": "^2.4.0", "react-bootstrap": "^2.5.0",
"react-dom": "^18.2.0", "react-dom": "^18.2.0",
"react-redux": "^8.0.2", "react-redux": "^8.0.2",
"react-router-dom": "^6.3.0", "react-router-dom": "^6.3.0",
@ -25,31 +25,31 @@
"redux-logger": "^3.0.6" "redux-logger": "^3.0.6"
}, },
"devDependencies": { "devDependencies": {
"@babel/core": "^7.18.5", "@babel/core": "^7.18.10",
"@babel/preset-env": "^7.18.2", "@babel/preset-env": "^7.18.10",
"@babel/preset-react": "^7.17.12", "@babel/preset-react": "^7.18.6",
"@babel/preset-typescript": "^7.17.12", "@babel/preset-typescript": "^7.18.6",
"@types/base16": "^1.0.2", "@types/base16": "^1.0.2",
"@types/lodash.shuffle": "^4.2.7", "@types/lodash.shuffle": "^4.2.7",
"@types/node": "^16.11.41", "@types/node": "^16.11.47",
"@types/react": "^18.0.14", "@types/react": "^18.0.17",
"@types/react-dom": "^18.0.5", "@types/react-dom": "^18.0.6",
"@types/redux-logger": "^3.0.9", "@types/redux-logger": "^3.0.9",
"@types/webpack-env": "^1.17.0", "@types/webpack-env": "^1.17.0",
"@typescript-eslint/eslint-plugin": "^5.29.0", "@typescript-eslint/eslint-plugin": "^5.33.0",
"@typescript-eslint/parser": "^5.29.0", "@typescript-eslint/parser": "^5.33.0",
"babel-loader": "^8.2.5", "babel-loader": "^8.2.5",
"cross-env": "^7.0.3", "cross-env": "^7.0.3",
"eslint": "^8.18.0", "eslint": "^8.21.0",
"eslint-config-prettier": "^8.5.0", "eslint-config-prettier": "^8.5.0",
"eslint-plugin-react": "^7.30.1", "eslint-plugin-react": "^7.30.1",
"eslint-plugin-react-hooks": "^4.6.0", "eslint-plugin-react-hooks": "^4.6.0",
"fork-ts-checker-webpack-plugin": "^7.2.11", "fork-ts-checker-webpack-plugin": "^7.2.13",
"html-webpack-plugin": "^5.5.0", "html-webpack-plugin": "^5.5.0",
"ts-node": "^10.8.1", "ts-node": "^10.9.1",
"typescript": "~4.7.4", "typescript": "~4.7.4",
"webpack": "^5.73.0", "webpack": "^5.74.0",
"webpack-cli": "^4.10.0", "webpack-cli": "^4.10.0",
"webpack-dev-server": "^4.9.2" "webpack-dev-server": "^4.10.0"
} }
} }

View File

@ -35,7 +35,7 @@
"prepublish": "pnpm run type-check && pnpm run lint" "prepublish": "pnpm run type-check && pnpm run lint"
}, },
"dependencies": { "dependencies": {
"@babel/runtime": "^7.18.3", "@babel/runtime": "^7.18.9",
"@types/dragula": "^3.7.1", "@types/dragula": "^3.7.1",
"@types/lodash": "^4.14.182", "@types/lodash": "^4.14.182",
"@types/prop-types": "^15.7.5", "@types/prop-types": "^15.7.5",
@ -44,8 +44,8 @@
"immutable": "^4.1.0", "immutable": "^4.1.0",
"javascript-stringify": "^2.1.0", "javascript-stringify": "^2.1.0",
"jsondiffpatch": "^0.4.1", "jsondiffpatch": "^0.4.1",
"jss": "^10.9.0", "jss": "^10.9.2",
"jss-preset-default": "^10.9.0", "jss-preset-default": "^10.9.2",
"lodash.debounce": "^4.0.8", "lodash.debounce": "^4.0.8",
"prop-types": "^15.8.1", "prop-types": "^15.8.1",
"react-base16-styling": "^0.9.1", "react-base16-styling": "^0.9.1",
@ -54,24 +54,24 @@
"redux-devtools-themes": "^1.0.0" "redux-devtools-themes": "^1.0.0"
}, },
"devDependencies": { "devDependencies": {
"@babel/cli": "^7.17.10", "@babel/cli": "^7.18.10",
"@babel/core": "^7.18.5", "@babel/core": "^7.18.10",
"@babel/eslint-parser": "^7.18.2", "@babel/eslint-parser": "^7.18.9",
"@babel/plugin-transform-runtime": "^7.18.5", "@babel/plugin-transform-runtime": "^7.18.10",
"@babel/preset-env": "^7.18.2", "@babel/preset-env": "^7.18.10",
"@babel/preset-react": "^7.17.12", "@babel/preset-react": "^7.18.6",
"@babel/preset-typescript": "^7.17.12", "@babel/preset-typescript": "^7.18.6",
"@redux-devtools/core": "^3.13.1", "@redux-devtools/core": "^3.13.1",
"@types/dateformat": "^3.0.1", "@types/dateformat": "^3.0.1",
"@types/hex-rgba": "^1.0.1", "@types/hex-rgba": "^1.0.1",
"@types/history": "^4.7.11", "@types/history": "^4.7.11",
"@types/lodash.debounce": "^4.0.7", "@types/lodash.debounce": "^4.0.7",
"@types/react": "^18.0.14", "@types/react": "^18.0.17",
"@types/react-dragula": "^1.1.0", "@types/react-dragula": "^1.1.0",
"@types/redux-devtools-themes": "^1.0.0", "@types/redux-devtools-themes": "^1.0.0",
"@typescript-eslint/eslint-plugin": "^5.29.0", "@typescript-eslint/eslint-plugin": "^5.33.0",
"@typescript-eslint/parser": "^5.29.0", "@typescript-eslint/parser": "^5.33.0",
"eslint": "^8.18.0", "eslint": "^8.21.0",
"eslint-config-prettier": "^8.5.0", "eslint-config-prettier": "^8.5.0",
"eslint-plugin-react": "^7.30.1", "eslint-plugin-react": "^7.30.1",
"eslint-plugin-react-hooks": "^4.6.0", "eslint-plugin-react-hooks": "^4.6.0",

View File

@ -41,28 +41,28 @@
"prepublish": "pnpm run type-check && pnpm run lint && pnpm run test" "prepublish": "pnpm run type-check && pnpm run lint && pnpm run test"
}, },
"dependencies": { "dependencies": {
"@babel/runtime": "^7.18.3", "@babel/runtime": "^7.18.9",
"lodash": "^4.17.21" "lodash": "^4.17.21"
}, },
"devDependencies": { "devDependencies": {
"@babel/cli": "^7.17.10", "@babel/cli": "^7.18.10",
"@babel/core": "^7.18.5", "@babel/core": "^7.18.10",
"@babel/eslint-parser": "^7.18.2", "@babel/eslint-parser": "^7.18.9",
"@babel/plugin-transform-runtime": "^7.18.5", "@babel/plugin-transform-runtime": "^7.18.10",
"@babel/preset-env": "^7.18.2", "@babel/preset-env": "^7.18.10",
"@babel/preset-typescript": "^7.17.12", "@babel/preset-typescript": "^7.18.6",
"@types/jest": "^27.5.2", "@types/jest": "^27.5.2",
"@types/lodash": "^4.14.182", "@types/lodash": "^4.14.182",
"@types/node": "^16.11.41", "@types/node": "^16.11.47",
"@typescript-eslint/eslint-plugin": "^5.29.0", "@typescript-eslint/eslint-plugin": "^5.33.0",
"@typescript-eslint/parser": "^5.29.0", "@typescript-eslint/parser": "^5.33.0",
"eslint": "^8.18.0", "eslint": "^8.21.0",
"eslint-config-prettier": "^8.5.0", "eslint-config-prettier": "^8.5.0",
"eslint-plugin-jest": "^26.5.3", "eslint-plugin-jest": "^26.8.2",
"jest": "^27.5.1", "jest": "^27.5.1",
"redux": "^4.2.0", "redux": "^4.2.0",
"rimraf": "^3.0.2", "rimraf": "^3.0.2",
"rxjs": "^7.5.5", "rxjs": "^7.5.6",
"ts-jest": "^27.1.5", "ts-jest": "^27.1.5",
"typescript": "~4.7.4" "typescript": "~4.7.4"
}, },

View File

@ -41,7 +41,7 @@
"prepublish": "pnpm run type-check && pnpm run lint" "prepublish": "pnpm run type-check && pnpm run lint"
}, },
"dependencies": { "dependencies": {
"@babel/runtime": "^7.18.3", "@babel/runtime": "^7.18.9",
"@types/lodash.debounce": "^4.0.7", "@types/lodash.debounce": "^4.0.7",
"@types/prop-types": "^15.7.5", "@types/prop-types": "^15.7.5",
"@types/redux-devtools-themes": "^1.0.0", "@types/redux-devtools-themes": "^1.0.0",
@ -51,18 +51,18 @@
"redux-devtools-themes": "^1.0.0" "redux-devtools-themes": "^1.0.0"
}, },
"devDependencies": { "devDependencies": {
"@babel/cli": "^7.17.10", "@babel/cli": "^7.18.10",
"@babel/core": "^7.18.5", "@babel/core": "^7.18.10",
"@babel/eslint-parser": "^7.18.2", "@babel/eslint-parser": "^7.18.9",
"@babel/plugin-transform-runtime": "^7.18.5", "@babel/plugin-transform-runtime": "^7.18.10",
"@babel/preset-env": "^7.18.2", "@babel/preset-env": "^7.18.10",
"@babel/preset-react": "^7.17.12", "@babel/preset-react": "^7.18.6",
"@babel/preset-typescript": "^7.17.12", "@babel/preset-typescript": "^7.18.6",
"@redux-devtools/core": "^3.13.1", "@redux-devtools/core": "^3.13.1",
"@types/react": "^18.0.14", "@types/react": "^18.0.17",
"@typescript-eslint/eslint-plugin": "^5.29.0", "@typescript-eslint/eslint-plugin": "^5.33.0",
"@typescript-eslint/parser": "^5.29.0", "@typescript-eslint/parser": "^5.33.0",
"eslint": "^8.18.0", "eslint": "^8.21.0",
"eslint-config-prettier": "^8.5.0", "eslint-config-prettier": "^8.5.0",
"eslint-plugin-react": "^7.30.1", "eslint-plugin-react": "^7.30.1",
"eslint-plugin-react-hooks": "^4.6.0", "eslint-plugin-react-hooks": "^4.6.0",

View File

@ -41,7 +41,7 @@
"prepublish": "pnpm run type-check && pnpm run lint" "prepublish": "pnpm run type-check && pnpm run lint"
}, },
"dependencies": { "dependencies": {
"@babel/runtime": "^7.18.3", "@babel/runtime": "^7.18.9",
"@redux-devtools/instrument": "^2.1.0", "@redux-devtools/instrument": "^2.1.0",
"@redux-devtools/utils": "^2.0.0", "@redux-devtools/utils": "^2.0.0",
"jsan": "^3.1.14", "jsan": "^3.1.14",
@ -50,19 +50,19 @@
"socketcluster-client": "^16.1.1" "socketcluster-client": "^16.1.1"
}, },
"devDependencies": { "devDependencies": {
"@babel/cli": "^7.17.10", "@babel/cli": "^7.18.10",
"@babel/core": "^7.18.5", "@babel/core": "^7.18.10",
"@babel/eslint-parser": "^7.18.2", "@babel/eslint-parser": "^7.18.9",
"@babel/plugin-transform-runtime": "^7.18.5", "@babel/plugin-transform-runtime": "^7.18.10",
"@babel/preset-env": "^7.18.2", "@babel/preset-env": "^7.18.10",
"@babel/preset-typescript": "^7.17.12", "@babel/preset-typescript": "^7.18.6",
"@types/jsan": "^3.1.2", "@types/jsan": "^3.1.2",
"@types/node": "^16.11.41", "@types/node": "^16.11.47",
"@types/rn-host-detect": "^1.2.0", "@types/rn-host-detect": "^1.2.0",
"@types/socketcluster-client": "^16.0.0", "@types/socketcluster-client": "^16.0.0",
"@typescript-eslint/eslint-plugin": "^5.29.0", "@typescript-eslint/eslint-plugin": "^5.33.0",
"@typescript-eslint/parser": "^5.29.0", "@typescript-eslint/parser": "^5.33.0",
"eslint": "^8.18.0", "eslint": "^8.21.0",
"eslint-config-prettier": "^8.5.0", "eslint-config-prettier": "^8.5.0",
"redux": "^4.2.0", "redux": "^4.2.0",
"rimraf": "^3.0.2", "rimraf": "^3.0.2",

View File

@ -1,2 +1,3 @@
demo demo
lib lib
dist

View File

@ -9,5 +9,13 @@ module.exports = {
project: ['./tsconfig.json'], project: ['./tsconfig.json'],
}, },
}, },
{
files: ['test/**/*.ts', 'test/**/*.tsx'],
extends: '../../eslintrc.ts.react.jest.base.json',
parserOptions: {
tsconfigRootDir: __dirname,
project: ['./tsconfig.test.json'],
},
},
], ],
}; };

View File

@ -1,5 +1,11 @@
# Change Log # Change Log
## 3.1.0
### Minor Changes
- 24f60a7a: feat(rtk-query): add Data tab to rtk-query-monitor #1126 #1129
## 3.0.1 ## 3.0.1
### Patch Changes ### Patch Changes

View File

@ -1,5 +1,13 @@
# rtk-query-demo # rtk-query-demo
## 0.1.10
### Patch Changes
- 24f60a7a: fix: rtk-query-monitor demo not working #1126 #1129
- Updated dependencies [24f60a7a]
- @redux-devtools/rtk-query-monitor@3.1.0
## 0.1.9 ## 0.1.9
### Patch Changes ### Patch Changes

View File

@ -1,7 +1,7 @@
{ {
"private": true, "private": true,
"name": "rtk-query-demo", "name": "rtk-query-demo",
"version": "0.1.9", "version": "0.1.10",
"license": "MIT", "license": "MIT",
"scripts": { "scripts": {
"start": "cross-env TS_NODE_PROJECT=\"tsconfig.webpack.json\" webpack serve --open", "start": "cross-env TS_NODE_PROJECT=\"tsconfig.webpack.json\" webpack serve --open",
@ -10,17 +10,17 @@
"type-check": "tsc --noEmit" "type-check": "tsc --noEmit"
}, },
"dependencies": { "dependencies": {
"@babel/runtime": "^7.18.3", "@babel/runtime": "^7.18.9",
"@chakra-ui/react": "^2.2.1", "@chakra-ui/react": "^2.2.1",
"@emotion/react": "^11.9.3", "@emotion/react": "^11.10.0",
"@emotion/styled": "^11.9.3", "@emotion/styled": "^11.10.0",
"@mswjs/data": "^0.10.1", "@mswjs/data": "^0.10.1",
"@redux-devtools/core": "^3.13.0", "@redux-devtools/core": "^3.13.0",
"@redux-devtools/dock-monitor": "^3.0.0", "@redux-devtools/dock-monitor": "^3.0.0",
"@redux-devtools/rtk-query-monitor": "^3.0.0", "@redux-devtools/rtk-query-monitor": "^3.1.0",
"@reduxjs/toolkit": "^1.8.2", "@reduxjs/toolkit": "^1.8.4",
"framer-motion": "^6.3.15", "framer-motion": "^7.1.0",
"msw": "^0.42.3", "msw": "^0.44.2",
"react": "^18.2.0", "react": "^18.2.0",
"react-dom": "^18.2.0", "react-dom": "^18.2.0",
"react-icons": "^4.4.0", "react-icons": "^4.4.0",
@ -30,34 +30,34 @@
"styled-components": "^5.3.5" "styled-components": "^5.3.5"
}, },
"devDependencies": { "devDependencies": {
"@babel/core": "^7.18.5", "@babel/core": "^7.18.10",
"@babel/plugin-transform-runtime": "^7.18.5", "@babel/plugin-transform-runtime": "^7.18.10",
"@babel/preset-env": "^7.18.2", "@babel/preset-env": "^7.18.10",
"@babel/preset-react": "^7.17.12", "@babel/preset-react": "^7.18.6",
"@babel/preset-typescript": "^7.17.12", "@babel/preset-typescript": "^7.18.6",
"@types/copy-webpack-plugin": "^8.0.1", "@types/copy-webpack-plugin": "^8.0.1",
"@types/node": "^16.11.41", "@types/node": "^16.11.47",
"@types/react": "^18.0.14", "@types/react": "^18.0.17",
"@types/react-dom": "^18.0.5", "@types/react-dom": "^18.0.6",
"@types/styled-components": "^5.1.25", "@types/styled-components": "^5.1.26",
"@typescript-eslint/eslint-plugin": "^5.29.0", "@typescript-eslint/eslint-plugin": "^5.33.0",
"@typescript-eslint/parser": "^5.29.0", "@typescript-eslint/parser": "^5.33.0",
"babel-loader": "^8.2.5", "babel-loader": "^8.2.5",
"copy-webpack-plugin": "^11.0.0", "copy-webpack-plugin": "^11.0.0",
"cross-env": "^7.0.3", "cross-env": "^7.0.3",
"css-loader": "^6.7.1", "css-loader": "^6.7.1",
"eslint": "^8.18.0", "eslint": "^8.21.0",
"eslint-config-prettier": "^8.5.0", "eslint-config-prettier": "^8.5.0",
"eslint-plugin-react": "^7.30.1", "eslint-plugin-react": "^7.30.1",
"eslint-plugin-react-hooks": "^4.6.0", "eslint-plugin-react-hooks": "^4.6.0",
"fork-ts-checker-webpack-plugin": "^7.2.11", "fork-ts-checker-webpack-plugin": "^7.2.13",
"html-webpack-plugin": "^5.5.0", "html-webpack-plugin": "^5.5.0",
"style-loader": "^3.3.1", "style-loader": "^3.3.1",
"ts-node": "^10.8.1", "ts-node": "^10.9.1",
"typescript": "~4.7.4", "typescript": "~4.7.4",
"webpack": "^5.73.0", "webpack": "^5.74.0",
"webpack-cli": "^4.10.0", "webpack-cli": "^4.10.0",
"webpack-dev-server": "^4.9.2" "webpack-dev-server": "^4.10.0"
}, },
"msw": { "msw": {
"workerDirectory": "public" "workerDirectory": "public"

View File

@ -0,0 +1,12 @@
module.exports = {
preset: 'ts-jest',
testEnvironment: 'jsdom',
moduleNameMapper: {
'\\.css$': '<rootDir>/test/__mocks__/styleMock.ts',
},
globals: {
'ts-jest': {
tsconfig: 'tsconfig.test.json',
},
},
};

View File

@ -1,6 +1,6 @@
{ {
"name": "@redux-devtools/rtk-query-monitor", "name": "@redux-devtools/rtk-query-monitor",
"version": "3.0.1", "version": "3.1.0",
"description": "rtk-query monitor for Redux DevTools", "description": "rtk-query monitor for Redux DevTools",
"keywords": [ "keywords": [
"redux", "redux",
@ -37,21 +37,22 @@
"build:esm": "babel src --config-file ./babel.config.esm.json --extensions \".ts,.tsx\" --out-dir lib/esm", "build:esm": "babel src --config-file ./babel.config.esm.json --extensions \".ts,.tsx\" --out-dir lib/esm",
"build:types": "tsc --emitDeclarationOnly", "build:types": "tsc --emitDeclarationOnly",
"clean": "rimraf lib", "clean": "rimraf lib",
"test": "jest",
"lint": "eslint . --ext .ts,.tsx", "lint": "eslint . --ext .ts,.tsx",
"type-check": "tsc --noEmit", "type-check": "tsc --noEmit",
"prepack": "pnpm run clean && pnpm run build", "prepack": "pnpm run clean && pnpm run build",
"prepublish": "pnpm run type-check && pnpm run lint" "prepublish": "pnpm run type-check && pnpm run lint && pnpm run test"
}, },
"dependencies": { "dependencies": {
"@babel/runtime": "^7.18.3", "@babel/runtime": "^7.18.9",
"@redux-devtools/ui": "^1.3.0", "@redux-devtools/ui": "^1.3.0",
"@types/lodash": "^4.14.182", "@types/lodash": "^4.14.182",
"@types/prop-types": "^15.7.5", "@types/prop-types": "^15.7.5",
"@types/redux-devtools-themes": "^1.0.0", "@types/redux-devtools-themes": "^1.0.0",
"hex-rgba": "^1.0.2", "hex-rgba": "^1.0.2",
"immutable": "^4.1.0", "immutable": "^4.1.0",
"jss": "^10.9.0", "jss": "^10.9.2",
"jss-preset-default": "^10.9.0", "jss-preset-default": "^10.9.2",
"lodash.debounce": "^4.0.8", "lodash.debounce": "^4.0.8",
"prop-types": "^15.8.1", "prop-types": "^15.8.1",
"react-base16-styling": "^0.9.1", "react-base16-styling": "^0.9.1",
@ -59,34 +60,42 @@
"redux-devtools-themes": "^1.0.0" "redux-devtools-themes": "^1.0.0"
}, },
"devDependencies": { "devDependencies": {
"@babel/cli": "^7.17.10", "@babel/cli": "^7.18.10",
"@babel/core": "^7.18.5", "@babel/core": "^7.18.10",
"@babel/eslint-parser": "^7.18.2", "@babel/eslint-parser": "^7.18.9",
"@babel/plugin-transform-runtime": "^7.18.5", "@babel/plugin-transform-runtime": "^7.18.10",
"@babel/preset-env": "^7.18.2", "@babel/preset-env": "^7.18.10",
"@babel/preset-react": "^7.17.12", "@babel/preset-react": "^7.18.6",
"@babel/preset-typescript": "^7.17.12", "@babel/preset-typescript": "^7.18.6",
"@redux-devtools/core": "^3.13.1", "@redux-devtools/core": "^3.13.1",
"@reduxjs/toolkit": "^1.8.2", "@reduxjs/toolkit": "^1.8.4",
"@testing-library/jest-dom": "^5.16.5",
"@testing-library/react": "^13.3.0",
"@types/jest": "^27.5.2",
"@types/hex-rgba": "^1.0.1", "@types/hex-rgba": "^1.0.1",
"@types/lodash.debounce": "^4.0.7", "@types/lodash.debounce": "^4.0.7",
"@types/react": "^18.0.14", "@types/react": "^18.0.17",
"@typescript-eslint/eslint-plugin": "^5.29.0", "@typescript-eslint/eslint-plugin": "^5.33.0",
"@typescript-eslint/parser": "^5.29.0", "@typescript-eslint/parser": "^5.33.0",
"eslint": "^8.18.0", "eslint": "^8.21.0",
"eslint-config-prettier": "^8.5.0", "eslint-config-prettier": "^8.5.0",
"eslint-plugin-jest": "^26.8.2",
"eslint-plugin-react": "^7.30.1", "eslint-plugin-react": "^7.30.1",
"eslint-plugin-react-hooks": "^4.6.0", "eslint-plugin-react-hooks": "^4.6.0",
"jest": "^27.5.1",
"react": "^18.2.0", "react": "^18.2.0",
"react-dom": "^18.2.0",
"react-redux": "^8.0.2",
"redux": "^4.2.0", "redux": "^4.2.0",
"rimraf": "^3.0.2", "rimraf": "^3.0.2",
"ts-jest": "^27.1.5",
"typescript": "~4.7.4" "typescript": "~4.7.4"
}, },
"peerDependencies": { "peerDependencies": {
"@redux-devtools/core": "^3.13.1", "@redux-devtools/core": "^3.13.1",
"@reduxjs/toolkit": "^1.8.2", "@reduxjs/toolkit": "^1.8.4",
"@types/react": "^16.3.0 || ^17.0.0 || ^18.0.0", "@types/react": "^16.3.0 || ^17.0.0 || ^18.0.0",
"@types/styled-components": "^5.1.25", "@types/styled-components": "^5.1.26",
"react": "^16.3.0 || ^17.0.0 || ^18.0.0", "react": "^16.3.0 || ^17.0.0 || ^18.0.0",
"redux": "^3.4.0 || ^4.0.0", "redux": "^3.4.0 || ^4.0.0",
"styled-components": "^5.3.5" "styled-components": "^5.3.5"

View File

@ -128,6 +128,7 @@ export class QueryForm extends React.PureComponent<
{({ styling, base16Theme }) => { {({ styling, base16Theme }) => {
return ( return (
<form <form
id="rtk-query-monitor-query-selection-form"
action="#" action="#"
onSubmit={this.handleSubmit} onSubmit={this.handleSubmit}
{...styling('queryForm')} {...styling('queryForm')}

View File

@ -1,8 +1,10 @@
import { createSelector, Selector } from '@reduxjs/toolkit'; import { createSelector, Selector } from '@reduxjs/toolkit';
import React, { ReactNode, PureComponent } from 'react'; import React, { ReactNode, PureComponent } from 'react';
import { Action, AnyAction } from 'redux'; import { Action, AnyAction } from 'redux';
import { QueryPreviewTabs } from '../types';
import { renderTabPanelButtonId, renderTabPanelId } from '../utils/a11y';
import { emptyRecord, identity } from '../utils/object'; import { emptyRecord, identity } from '../utils/object';
import { TreeView } from './TreeView'; import { TreeView, TreeViewProps } from './TreeView';
export interface QueryPreviewActionsProps { export interface QueryPreviewActionsProps {
isWideLayout: boolean; isWideLayout: boolean;
@ -11,6 +13,12 @@ export interface QueryPreviewActionsProps {
const keySep = ' - '; const keySep = ' - ';
const rootProps: TreeViewProps['rootProps'] = {
'aria-labelledby': renderTabPanelButtonId(QueryPreviewTabs.actions),
id: renderTabPanelId(QueryPreviewTabs.actions),
role: 'tabpanel',
};
export class QueryPreviewActions extends PureComponent<QueryPreviewActionsProps> { export class QueryPreviewActions extends PureComponent<QueryPreviewActionsProps> {
selectFormattedActions: Selector< selectFormattedActions: Selector<
AnyAction[], AnyAction[],
@ -74,6 +82,7 @@ export class QueryPreviewActions extends PureComponent<QueryPreviewActionsProps>
return ( return (
<TreeView <TreeView
rootProps={rootProps}
data={this.selectFormattedActions(actionsOfQuery)} data={this.selectFormattedActions(actionsOfQuery)}
isWideLayout={isWideLayout} isWideLayout={isWideLayout}
shouldExpandNode={this.shouldExpandNode} shouldExpandNode={this.shouldExpandNode}

View File

@ -1,7 +1,8 @@
import React, { ReactNode, PureComponent } from 'react'; import React, { ReactNode, PureComponent } from 'react';
import { ApiStats, RtkQueryApiState } from '../types'; import { ApiStats, QueryPreviewTabs, RtkQueryApiState } from '../types';
import { StyleUtilsContext } from '../styles/createStylingFromTheme'; import { StyleUtilsContext } from '../styles/createStylingFromTheme';
import { TreeView } from './TreeView'; import { TreeView, TreeViewProps } from './TreeView';
import { renderTabPanelId, renderTabPanelButtonId } from '../utils/a11y';
export interface QueryPreviewApiProps { export interface QueryPreviewApiProps {
apiStats: ApiStats | null; apiStats: ApiStats | null;
@ -9,6 +10,12 @@ export interface QueryPreviewApiProps {
isWideLayout: boolean; isWideLayout: boolean;
} }
const rootProps: TreeViewProps['rootProps'] = {
'aria-labelledby': renderTabPanelButtonId(QueryPreviewTabs.apiConfig),
id: renderTabPanelId(QueryPreviewTabs.apiConfig),
role: 'tabpanel',
};
export class QueryPreviewApi extends PureComponent<QueryPreviewApiProps> { export class QueryPreviewApi extends PureComponent<QueryPreviewApiProps> {
shouldExpandApiStateNode = ( shouldExpandApiStateNode = (
keyPath: (string | number)[], keyPath: (string | number)[],
@ -33,7 +40,7 @@ export class QueryPreviewApi extends PureComponent<QueryPreviewApiProps> {
return ( return (
<StyleUtilsContext.Consumer> <StyleUtilsContext.Consumer>
{({ styling }) => ( {({ styling }) => (
<article {...styling('tabContent')}> <article {...rootProps} {...styling('tabContent')}>
<h2>{apiState.config.reducerPath}</h2> <h2>{apiState.config.reducerPath}</h2>
<TreeView <TreeView
before={<h3>State</h3>} before={<h3>State</h3>}

View File

@ -0,0 +1,38 @@
import React, { ReactNode, PureComponent } from 'react';
import { QueryPreviewTabs, RtkResourceInfo } from '../types';
import { renderTabPanelButtonId, renderTabPanelId } from '../utils/a11y';
import { TreeView, TreeViewProps } from './TreeView';
export interface QueryPreviewDataProps {
data: RtkResourceInfo['state']['data'];
isWideLayout: boolean;
}
const rootProps: TreeViewProps['rootProps'] = {
'aria-labelledby': renderTabPanelButtonId(QueryPreviewTabs.data),
id: renderTabPanelId(QueryPreviewTabs.data),
role: 'tabpanel',
};
export class QueryPreviewData extends PureComponent<QueryPreviewDataProps> {
shouldExpandNode = (
keyPath: (string | number)[],
value: unknown,
layer: number
): boolean => {
return layer <= 1;
};
render(): ReactNode {
const { data, isWideLayout } = this.props;
return (
<TreeView
rootProps={rootProps}
data={data}
isWideLayout={isWideLayout}
shouldExpandNode={this.shouldExpandNode}
/>
);
}
}

View File

@ -1,6 +1,7 @@
import React, { ReactNode } from 'react'; import React, { ReactNode } from 'react';
import { StyleUtilsContext } from '../styles/createStylingFromTheme'; import { StyleUtilsContext } from '../styles/createStylingFromTheme';
import { QueryPreviewTabs, TabOption } from '../types'; import { QueryPreviewTabs, TabOption } from '../types';
import { renderTabPanelButtonId } from '../utils/a11y';
import { emptyArray } from '../utils/object'; import { emptyArray } from '../utils/object';
export interface QueryPreviewHeaderProps { export interface QueryPreviewHeaderProps {
@ -28,7 +29,11 @@ export class QueryPreviewHeader extends React.Component<QueryPreviewHeaderProps>
<div {...styling('previewHeader')}> <div {...styling('previewHeader')}>
<div {...styling('tabSelector')}> <div {...styling('tabSelector')}>
{tabs.map((tab) => ( {tabs.map((tab) => (
<div <button
type="button"
id={renderTabPanelButtonId(tab.value)}
aria-selected={tab.value === selectedTab}
role={'tab'}
onClick={() => this.handleTabClick(tab)} onClick={() => this.handleTabClick(tab)}
key={tab.value} key={tab.value}
{...styling( {...styling(
@ -42,7 +47,7 @@ export class QueryPreviewHeader extends React.Component<QueryPreviewHeaderProps>
<span> <span>
{renderTabLabel ? renderTabLabel(tab) : tab.label} {renderTabLabel ? renderTabLabel(tab) : tab.label}
</span> </span>
</div> </button>
))} ))}
</div> </div>
</div> </div>

View File

@ -1,11 +1,12 @@
import { createSelector, Selector } from '@reduxjs/toolkit'; import { createSelector, Selector } from '@reduxjs/toolkit';
import { QueryStatus } from '@reduxjs/toolkit/dist/query'; import { QueryStatus } from '@reduxjs/toolkit/dist/query';
import React, { ReactNode, PureComponent } from 'react'; import React, { ReactNode, PureComponent } from 'react';
import { RtkResourceInfo, RTKStatusFlags } from '../types'; import { QueryPreviewTabs, RtkResourceInfo, RTKStatusFlags } from '../types';
import { renderTabPanelButtonId, renderTabPanelId } from '../utils/a11y';
import { formatMs } from '../utils/formatters'; import { formatMs } from '../utils/formatters';
import { identity } from '../utils/object'; import { identity } from '../utils/object';
import { getQueryStatusFlags } from '../utils/rtk-query'; import { getQueryStatusFlags } from '../utils/rtk-query';
import { TreeView } from './TreeView'; import { TreeView, TreeViewProps } from './TreeView';
type QueryTimings = { type QueryTimings = {
startedAt: string; startedAt: string;
@ -23,6 +24,12 @@ type FormattedQuery = {
| { query: RtkResourceInfo['state'] } | { query: RtkResourceInfo['state'] }
); );
const rootProps: TreeViewProps['rootProps'] = {
'aria-labelledby': renderTabPanelButtonId(QueryPreviewTabs.queryinfo),
id: renderTabPanelId(QueryPreviewTabs.queryinfo),
role: 'tabpanel',
};
export interface QueryPreviewInfoProps { export interface QueryPreviewInfoProps {
resInfo: RtkResourceInfo; resInfo: RtkResourceInfo;
isWideLayout: boolean; isWideLayout: boolean;
@ -97,6 +104,7 @@ export class QueryPreviewInfo extends PureComponent<QueryPreviewInfoProps> {
return ( return (
<TreeView <TreeView
rootProps={rootProps}
data={formattedQuery} data={formattedQuery}
isWideLayout={isWideLayout} isWideLayout={isWideLayout}
shouldExpandNode={this.shouldExpandNode} shouldExpandNode={this.shouldExpandNode}

View File

@ -1,6 +1,15 @@
import React, { ReactNode, PureComponent } from 'react'; import React, { ReactNode, PureComponent } from 'react';
import { RtkQueryApiState } from '../types'; import { QueryPreviewTabs, RtkQueryApiState } from '../types';
import { TreeView } from './TreeView'; import { renderTabPanelButtonId, renderTabPanelId } from '../utils/a11y';
import { TreeView, TreeViewProps } from './TreeView';
const rootProps: TreeViewProps['rootProps'] = {
'aria-labelledby': renderTabPanelButtonId(
QueryPreviewTabs.querySubscriptions
),
id: renderTabPanelId(QueryPreviewTabs.querySubscriptions),
role: 'tabpanel',
};
export interface QueryPreviewSubscriptionsProps { export interface QueryPreviewSubscriptionsProps {
subscriptions: RtkQueryApiState['subscriptions'][keyof RtkQueryApiState['subscriptions']]; subscriptions: RtkQueryApiState['subscriptions'][keyof RtkQueryApiState['subscriptions']];
@ -12,7 +21,11 @@ export class QueryPreviewSubscriptions extends PureComponent<QueryPreviewSubscri
const { subscriptions } = this.props; const { subscriptions } = this.props;
return ( return (
<TreeView data={subscriptions} isWideLayout={this.props.isWideLayout} /> <TreeView
rootProps={rootProps}
data={subscriptions}
isWideLayout={this.props.isWideLayout}
/>
); );
} }
} }

View File

@ -1,11 +1,18 @@
import React, { ReactNode, PureComponent } from 'react'; import React, { ReactNode, PureComponent } from 'react';
import { RtkQueryTag } from '../types'; import { QueryPreviewTabs, RtkQueryTag } from '../types';
import { TreeView } from './TreeView'; import { renderTabPanelButtonId, renderTabPanelId } from '../utils/a11y';
import { TreeView, TreeViewProps } from './TreeView';
interface QueryPreviewTagsState { interface QueryPreviewTagsState {
data: { tags: RtkQueryTag[] }; data: { tags: RtkQueryTag[] };
} }
const rootProps: TreeViewProps['rootProps'] = {
'aria-labelledby': renderTabPanelButtonId(QueryPreviewTabs.queryTags),
id: renderTabPanelId(QueryPreviewTabs.queryTags),
role: 'tabpanel',
};
export interface QueryPreviewTagsProps { export interface QueryPreviewTagsProps {
tags: RtkQueryTag[]; tags: RtkQueryTag[];
isWideLayout: boolean; isWideLayout: boolean;
@ -26,6 +33,8 @@ export class QueryPreviewTags extends PureComponent<
render(): ReactNode { render(): ReactNode {
const { isWideLayout, tags } = this.props; const { isWideLayout, tags } = this.props;
return <TreeView data={tags} isWideLayout={isWideLayout} />; return (
<TreeView rootProps={rootProps} data={tags} isWideLayout={isWideLayout} />
);
} }
} }

View File

@ -22,6 +22,9 @@ export interface TreeViewProps
before?: ReactNode; before?: ReactNode;
after?: ReactNode; after?: ReactNode;
children?: ReactNode; children?: ReactNode;
rootProps?: Partial<
Omit<React.HTMLAttributes<HTMLDivElement>, 'className' | 'style'>
>;
} }
export class TreeView extends React.PureComponent<TreeViewProps> { export class TreeView extends React.PureComponent<TreeViewProps> {
@ -80,13 +83,14 @@ export class TreeView extends React.PureComponent<TreeViewProps> {
keyPath, keyPath,
shouldExpandNode, shouldExpandNode,
hideRoot, hideRoot,
rootProps,
} = this.props; } = this.props;
return ( return (
<StyleUtilsContext.Consumer> <StyleUtilsContext.Consumer>
{({ styling, invertTheme, base16Theme }) => { {({ styling, invertTheme, base16Theme }) => {
return ( return (
<div {...styling('treeWrapper')}> <div {...rootProps} {...styling('treeWrapper')}>
{before} {before}
<JSONTree <JSONTree
keyPath={keyPath} keyPath={keyPath}

View File

@ -33,6 +33,10 @@ import {
QueryPreviewActionsProps, QueryPreviewActionsProps,
} from '../components/QueryPreviewActions'; } from '../components/QueryPreviewActions';
import { isTabVisible } from '../utils/tabs'; import { isTabVisible } from '../utils/tabs';
import {
QueryPreviewData,
QueryPreviewDataProps,
} from '../components/QueryPreviewData';
export interface QueryPreviewProps<S = unknown> { export interface QueryPreviewProps<S = unknown> {
readonly selectedTab: QueryPreviewTabs; readonly selectedTab: QueryPreviewTabs;
@ -66,6 +70,14 @@ const MappedQueryPreviewInfo = mapProps<
QueryPreviewInfoProps QueryPreviewInfoProps
>(({ resInfo, isWideLayout }) => ({ resInfo, isWideLayout }))(QueryPreviewInfo); >(({ resInfo, isWideLayout }) => ({ resInfo, isWideLayout }))(QueryPreviewInfo);
const MappedQueryPreviewData = mapProps<
QueryPreviewTabProps,
QueryPreviewDataProps
>(({ resInfo, isWideLayout }) => ({
data: resInfo?.state?.data,
isWideLayout,
}))(QueryPreviewData);
const MappedQuerySubscriptipns = mapProps< const MappedQuerySubscriptipns = mapProps<
QueryPreviewTabProps, QueryPreviewTabProps,
QueryPreviewSubscriptionsProps QueryPreviewSubscriptionsProps
@ -93,6 +105,16 @@ const MappedQueryPreviewActions = mapProps<
const tabs: ReadonlyArray< const tabs: ReadonlyArray<
TabOption<QueryPreviewTabs, QueryPreviewTabProps, RtkResourceInfo['type']> TabOption<QueryPreviewTabs, QueryPreviewTabProps, RtkResourceInfo['type']>
> = [ > = [
{
label: 'Data',
value: QueryPreviewTabs.data,
component: MappedQueryPreviewData,
visible: {
query: true,
mutation: true,
default: true,
},
},
{ {
label: 'Query', label: 'Query',
value: QueryPreviewTabs.queryinfo, value: QueryPreviewTabs.queryinfo,

View File

@ -258,6 +258,7 @@ export function createInspectorSelectors<S>(): InspectorSelectors<S> {
], ],
(subscriptions, actions, tags) => { (subscriptions, actions, tags) => {
return { return {
[QueryPreviewTabs.data]: 0,
[QueryPreviewTabs.queryTags]: tags.length, [QueryPreviewTabs.queryTags]: tags.length,
[QueryPreviewTabs.querySubscriptions]: Object.keys(subscriptions ?? {}) [QueryPreviewTabs.querySubscriptions]: Object.keys(subscriptions ?? {})
.length, .length,

View File

@ -220,6 +220,8 @@ const getSheetFromColorMap = (map: ColorMap) => {
padding: '0 8px', padding: '0 8px',
display: 'inline-flex', display: 'inline-flex',
alignItems: 'center', alignItems: 'center',
boxShadow: 'none',
outline: 'none',
color: map.TEXT_COLOR, color: map.TEXT_COLOR,
'border-style': 'solid', 'border-style': 'solid',
'border-width': '1px', 'border-width': '1px',

View File

@ -8,6 +8,7 @@ import type { QueryComparators } from './utils/comparators';
import type { QueryFilters } from './utils/filters'; import type { QueryFilters } from './utils/filters';
export enum QueryPreviewTabs { export enum QueryPreviewTabs {
data,
queryinfo, queryinfo,
apiConfig, apiConfig,
querySubscriptions, querySubscriptions,

View File

@ -0,0 +1,9 @@
import { QueryPreviewTabs } from '../types';
export function renderTabPanelId(value: QueryPreviewTabs): string {
return `rtk-query-monitor-tab-panel-${value}`;
}
export function renderTabPanelButtonId(value: QueryPreviewTabs): string {
return renderTabPanelId(value) + '-button';
}

View File

@ -0,0 +1 @@
export default {};

View File

@ -0,0 +1,7 @@
import * as React from 'react';
import { createDevTools } from '@redux-devtools/core';
import { RtkQueryMonitor } from '../src';
const MonitorAsAny = RtkQueryMonitor as any;
export const ReduxDevTools = createDevTools(<MonitorAsAny />);

View File

@ -0,0 +1,119 @@
import * as React from 'react';
import { Provider } from 'react-redux';
import { render, screen, fireEvent, waitFor } from '@testing-library/react';
import { ReduxDevTools } from './devtools.mocks';
import { BaseQueryJestMockFunction, setupStore } from './rtk-query.mocks';
function Providers({
store,
children,
}: {
store: ReturnType<typeof setupStore>['store'];
children?: React.ComponentProps<typeof Provider>['children'];
}) {
const AnyProvider = Provider as any;
return (
<div id="app-root">
<AnyProvider store={store}>
{children}
<ReduxDevTools />
</AnyProvider>
</div>
);
}
describe('rtk-query-monitor standalone integration', () => {
// Hushes symbol.observable warning
// @see https://github.com/reduxjs/redux-devtools/issues/1002
jest.spyOn(console, 'warn');
// eslint-disable-next-line @typescript-eslint/no-empty-function
(console.warn as jest.Mock<void>).mockImplementation(() => {});
const dataPanelDomId = '#rtk-query-monitor-tab-panel-0';
const childrenTextContent = 'Renders children';
const fetchBaseQueryMock: BaseQueryJestMockFunction<Record<string, unknown>> =
jest.fn((...fetchArgs) =>
Promise.resolve({
data: {
name: fetchArgs[0],
},
})
);
const { store, pokemonApi } = setupStore(fetchBaseQueryMock, ReduxDevTools);
beforeAll(() => {
// let's populate api
(store.dispatch as any)(
pokemonApi.endpoints.getPokemonByName.initiate('bulbasaur')
);
});
beforeEach(() => {
fetchBaseQueryMock.mockClear();
});
afterAll(() => {
(console.warn as jest.Mock<void>).mockRestore();
});
it('renders on a standalone app without crashing', () => {
const { container } = render(
<Providers store={store}>
<div data-testid="children">{childrenTextContent}</div>
</Providers>
);
expect(screen.getByTestId('children').textContent).toBe(
childrenTextContent
);
expect(
screen
.getByRole('tab', { name: /actions/i })
?.textContent?.toLowerCase()
.trim()
).toBe('actions');
expect(
screen
.getByRole('tab', { name: /data/i })
?.textContent?.toLowerCase()
.trim()
).toBe('data');
expect(
screen
.getByRole('tab', { name: /api/i })
?.textContent?.toLowerCase()
.trim()
).toBe('api');
expect(
container.querySelector(
'form[id="rtk-query-monitor-query-selection-form"]'
)
).toBeDefined();
});
it('displays query data tab content', async () => {
// `Promise.resolve()` hushes `@typescript-eslint/await-thenable`
await Promise.resolve(pokemonApi.util.getRunningOperationPromises());
const { container } = render(
<Providers store={store}>
<div data-testid="children">{childrenTextContent}</div>
</Providers>
);
// We need to select the query & the correct tab
fireEvent.click(screen.getByRole('tab', { name: /data/i }));
fireEvent.click(screen.getByText(/bulbasaur/i));
await waitFor(() =>
expect(container.querySelector(dataPanelDomId)).not.toBeNull()
);
expect(container.querySelector(dataPanelDomId)?.textContent).toMatch(
/name\W+pokemon\/bulbasaur/i
);
});
});

View File

@ -0,0 +1,84 @@
import {
combineReducers,
configureStore,
EnhancedStore,
Middleware,
} from '@reduxjs/toolkit';
import { createApi } from '@reduxjs/toolkit/query/react';
import type { BaseQueryFn, FetchArgs } from '@reduxjs/toolkit/query';
import type { ReduxDevTools } from './devtools.mocks';
export type MockBaseQuery<
Result,
Args = string | FetchArgs,
Meta = { status?: number }
> = BaseQueryFn<Args, Result, unknown, Meta>;
export type BaseQueryJestMockFunction<Result> = jest.Mock<
ReturnType<MockBaseQuery<Result>>,
Parameters<MockBaseQuery<Result>>
>;
export function createMockBaseQuery<Result>(
jestMockFn: BaseQueryJestMockFunction<Result>
): MockBaseQuery<Result> {
return async function mockBaseQuery(param, api, extra) {
try {
const output = await jestMockFn(param, api, extra);
return output;
} catch (error) {
return {
error,
};
}
};
}
export function createPokemonApi(
jestMockFn: BaseQueryJestMockFunction<Record<string, any>>
) {
return createApi({
reducerPath: 'pokemonApi',
keepUnusedDataFor: 9999,
baseQuery: createMockBaseQuery(jestMockFn),
tagTypes: ['pokemon'],
endpoints: (builder) => ({
getPokemonByName: builder.query<Record<string, any>, string>({
query: (name: string) => `pokemon/${name}`,
providesTags: (result, error, name: string) => [
{ type: 'pokemon' },
{ type: 'pokemon', id: name },
],
}),
}),
});
}
export function setupStore(
jestMockFn: BaseQueryJestMockFunction<Record<string, any>>,
devTools: typeof ReduxDevTools
) {
const pokemonApi = createPokemonApi(jestMockFn);
const reducer = combineReducers({
[pokemonApi.reducerPath]: pokemonApi.reducer,
});
const store: EnhancedStore<ReturnType<typeof reducer>> = configureStore({
reducer,
devTools: false,
// adding the api middleware enables caching, invalidation, polling and other features of `rtk-query`
middleware: (getDefaultMiddleware) =>
getDefaultMiddleware().concat([pokemonApi.middleware]) as Middleware[],
enhancers: [devTools.instrument()],
});
return {
jestMockFn,
devTools,
store,
reducer,
pokemonApi,
};
}

View File

@ -0,0 +1,8 @@
{
"extends": "../../tsconfig.react.base.json",
"compilerOptions": {
"types": ["jest"]
},
"include": ["src", "test"],
"exclude": ["dist"]
}

View File

@ -37,23 +37,23 @@
"prepublish": "pnpm run type-check && pnpm run lint && pnpm run test" "prepublish": "pnpm run type-check && pnpm run lint && pnpm run test"
}, },
"dependencies": { "dependencies": {
"@babel/runtime": "^7.18.3", "@babel/runtime": "^7.18.9",
"jsan": "^3.1.14" "jsan": "^3.1.14"
}, },
"devDependencies": { "devDependencies": {
"@babel/cli": "^7.17.10", "@babel/cli": "^7.18.10",
"@babel/core": "^7.18.5", "@babel/core": "^7.18.10",
"@babel/eslint-parser": "^7.18.2", "@babel/eslint-parser": "^7.18.9",
"@babel/plugin-transform-runtime": "^7.18.5", "@babel/plugin-transform-runtime": "^7.18.10",
"@babel/preset-env": "^7.18.2", "@babel/preset-env": "^7.18.10",
"@babel/preset-typescript": "^7.17.12", "@babel/preset-typescript": "^7.18.6",
"@types/jest": "^27.5.2", "@types/jest": "^27.5.2",
"@types/jsan": "^3.1.2", "@types/jsan": "^3.1.2",
"@typescript-eslint/eslint-plugin": "^5.29.0", "@typescript-eslint/eslint-plugin": "^5.33.0",
"@typescript-eslint/parser": "^5.29.0", "@typescript-eslint/parser": "^5.33.0",
"eslint": "^8.18.0", "eslint": "^8.21.0",
"eslint-config-prettier": "^8.5.0", "eslint-config-prettier": "^8.5.0",
"eslint-plugin-jest": "^26.5.3", "eslint-plugin-jest": "^26.8.2",
"immutable": "^4.1.0", "immutable": "^4.1.0",
"jest": "^27.5.1", "jest": "^27.5.1",
"rimraf": "^3.0.2", "rimraf": "^3.0.2",

View File

@ -30,33 +30,33 @@
"todomvc-app-css": "^2.4.2" "todomvc-app-css": "^2.4.2"
}, },
"devDependencies": { "devDependencies": {
"@babel/core": "^7.18.5", "@babel/core": "^7.18.10",
"@babel/preset-env": "^7.18.2", "@babel/preset-env": "^7.18.10",
"@babel/preset-react": "^7.17.12", "@babel/preset-react": "^7.18.6",
"@babel/preset-typescript": "^7.17.12", "@babel/preset-typescript": "^7.18.6",
"@types/classnames": "^2.3.1", "@types/classnames": "^2.3.1",
"@types/node": "^16.11.41", "@types/node": "^16.11.47",
"@types/prop-types": "^15.7.5", "@types/prop-types": "^15.7.5",
"@types/react": "^18.0.14", "@types/react": "^18.0.17",
"@types/react-dom": "^18.0.5", "@types/react-dom": "^18.0.6",
"@types/styled-components": "^5.1.25", "@types/styled-components": "^5.1.26",
"@types/webpack-env": "^1.17.0", "@types/webpack-env": "^1.17.0",
"@typescript-eslint/eslint-plugin": "^5.29.0", "@typescript-eslint/eslint-plugin": "^5.33.0",
"@typescript-eslint/parser": "^5.29.0", "@typescript-eslint/parser": "^5.33.0",
"babel-loader": "^8.2.5", "babel-loader": "^8.2.5",
"cross-env": "^7.0.3", "cross-env": "^7.0.3",
"css-loader": "^6.7.1", "css-loader": "^6.7.1",
"eslint": "^8.18.0", "eslint": "^8.21.0",
"eslint-config-prettier": "^8.5.0", "eslint-config-prettier": "^8.5.0",
"eslint-plugin-react": "^7.30.1", "eslint-plugin-react": "^7.30.1",
"eslint-plugin-react-hooks": "^4.6.0", "eslint-plugin-react-hooks": "^4.6.0",
"fork-ts-checker-webpack-plugin": "^7.2.11", "fork-ts-checker-webpack-plugin": "^7.2.13",
"html-webpack-plugin": "^5.5.0", "html-webpack-plugin": "^5.5.0",
"style-loader": "^3.3.1", "style-loader": "^3.3.1",
"ts-node": "^10.8.1", "ts-node": "^10.9.1",
"typescript": "~4.7.4", "typescript": "~4.7.4",
"webpack": "^5.73.0", "webpack": "^5.74.0",
"webpack-cli": "^4.10.0", "webpack-cli": "^4.10.0",
"webpack-dev-server": "^4.9.2" "webpack-dev-server": "^4.10.0"
} }
} }

View File

@ -32,7 +32,7 @@
"prepublish": "pnpm run type-check && pnpm run lint" "prepublish": "pnpm run type-check && pnpm run lint"
}, },
"dependencies": { "dependencies": {
"@babel/runtime": "^7.18.3", "@babel/runtime": "^7.18.9",
"@redux-devtools/ui": "^1.3.0", "@redux-devtools/ui": "^1.3.0",
"@types/prop-types": "^15.7.5", "@types/prop-types": "^15.7.5",
"@types/redux-devtools-themes": "^1.0.0", "@types/redux-devtools-themes": "^1.0.0",
@ -40,27 +40,27 @@
"redux-devtools-themes": "^1.0.0" "redux-devtools-themes": "^1.0.0"
}, },
"devDependencies": { "devDependencies": {
"@babel/cli": "^7.17.10", "@babel/cli": "^7.18.10",
"@babel/core": "^7.18.5", "@babel/core": "^7.18.10",
"@babel/eslint-parser": "^7.18.2", "@babel/eslint-parser": "^7.18.9",
"@babel/plugin-transform-runtime": "^7.18.5", "@babel/plugin-transform-runtime": "^7.18.10",
"@babel/preset-env": "^7.18.2", "@babel/preset-env": "^7.18.10",
"@babel/preset-react": "^7.17.12", "@babel/preset-react": "^7.18.6",
"@babel/preset-typescript": "^7.17.12", "@babel/preset-typescript": "^7.18.6",
"@redux-devtools/core": "^3.13.1", "@redux-devtools/core": "^3.13.1",
"@rollup/plugin-babel": "^5.3.1", "@rollup/plugin-babel": "^5.3.1",
"@types/node": "^16.11.41", "@types/node": "^16.11.47",
"@types/react": "^18.0.14", "@types/react": "^18.0.17",
"@typescript-eslint/eslint-plugin": "^5.29.0", "@typescript-eslint/eslint-plugin": "^5.33.0",
"@typescript-eslint/parser": "^5.29.0", "@typescript-eslint/parser": "^5.33.0",
"eslint": "^8.18.0", "eslint": "^8.21.0",
"eslint-config-prettier": "^8.5.0", "eslint-config-prettier": "^8.5.0",
"eslint-plugin-react": "^7.30.1", "eslint-plugin-react": "^7.30.1",
"eslint-plugin-react-hooks": "^4.6.0", "eslint-plugin-react-hooks": "^4.6.0",
"react": "^18.2.0", "react": "^18.2.0",
"redux": "^4.2.0", "redux": "^4.2.0",
"rimraf": "^3.0.2", "rimraf": "^3.0.2",
"rollup": "^2.75.7", "rollup": "^2.77.3",
"rollup-plugin-typescript2": "^0.32.1", "rollup-plugin-typescript2": "^0.32.1",
"tslib": "^2.4.0", "tslib": "^2.4.0",
"typescript": "~4.7.4" "typescript": "~4.7.4"
@ -68,7 +68,7 @@
"peerDependencies": { "peerDependencies": {
"@redux-devtools/core": "^3.13.1", "@redux-devtools/core": "^3.13.1",
"@types/react": "^16.3.0 || ^17.0.0 || ^18.0.0", "@types/react": "^16.3.0 || ^17.0.0 || ^18.0.0",
"@types/styled-components": "^5.1.25", "@types/styled-components": "^5.1.26",
"react": "^16.3.0 || ^17.0.0 || ^18.0.0", "react": "^16.3.0 || ^17.0.0 || ^18.0.0",
"redux": "^3.4.0 || ^4.0.0", "redux": "^3.4.0 || ^4.0.0",
"styled-components": "^5.3.5" "styled-components": "^5.3.5"

View File

@ -42,8 +42,8 @@
"prepublish": "pnpm run type-check && pnpm run lint && pnpm run test" "prepublish": "pnpm run type-check && pnpm run lint && pnpm run test"
}, },
"dependencies": { "dependencies": {
"@babel/runtime": "^7.18.3", "@babel/runtime": "^7.18.9",
"@rjsf/core": "^4.2.0", "@rjsf/core": "^4.2.3",
"@types/base16": "^1.0.2", "@types/base16": "^1.0.2",
"@types/codemirror": "^5.60.5", "@types/codemirror": "^5.60.5",
"@types/json-schema": "^7.0.11", "@types/json-schema": "^7.0.11",
@ -51,38 +51,38 @@
"@types/redux-devtools-themes": "^1.0.0", "@types/redux-devtools-themes": "^1.0.0",
"@types/simple-element-resize-detector": "^1.3.0", "@types/simple-element-resize-detector": "^1.3.0",
"base16": "^1.0.0", "base16": "^1.0.0",
"codemirror": "^5.65.6", "codemirror": "^5.65.7",
"color": "^4.2.3", "color": "^4.2.3",
"prop-types": "^15.8.1", "prop-types": "^15.8.1",
"react-icons": "^4.4.0", "react-icons": "^4.4.0",
"react-select": "^5.3.2", "react-select": "^5.4.0",
"redux-devtools-themes": "^1.0.0", "redux-devtools-themes": "^1.0.0",
"simple-element-resize-detector": "^1.3.0" "simple-element-resize-detector": "^1.3.0"
}, },
"devDependencies": { "devDependencies": {
"@babel/cli": "^7.17.10", "@babel/cli": "^7.18.10",
"@babel/core": "^7.18.5", "@babel/core": "^7.18.10",
"@babel/eslint-parser": "^7.18.2", "@babel/eslint-parser": "^7.18.9",
"@babel/plugin-transform-runtime": "^7.18.5", "@babel/plugin-transform-runtime": "^7.18.10",
"@babel/preset-env": "^7.18.2", "@babel/preset-env": "^7.18.10",
"@babel/preset-react": "^7.17.12", "@babel/preset-react": "^7.18.6",
"@babel/preset-typescript": "^7.17.12", "@babel/preset-typescript": "^7.18.6",
"@storybook/addon-essentials": "^6.5.9", "@storybook/addon-essentials": "^6.5.10",
"@storybook/react": "^6.5.9", "@storybook/react": "^6.5.10",
"@testing-library/dom": "^8.14.0", "@testing-library/dom": "^8.17.1",
"@testing-library/react": "^13.3.0", "@testing-library/react": "^13.3.0",
"@testing-library/user-event": "^14.2.1", "@testing-library/user-event": "^14.4.3",
"@types/color": "^3.0.3", "@types/color": "^3.0.3",
"@types/jest": "^27.5.2", "@types/jest": "^27.5.2",
"@types/react": "^18.0.14", "@types/react": "^18.0.17",
"@types/styled-components": "^5.1.25", "@types/styled-components": "^5.1.26",
"@typescript-eslint/eslint-plugin": "^5.29.0", "@typescript-eslint/eslint-plugin": "^5.33.0",
"@typescript-eslint/parser": "^5.29.0", "@typescript-eslint/parser": "^5.33.0",
"babel-loader": "^8.2.5", "babel-loader": "^8.2.5",
"csstype": "^3.1.0", "csstype": "^3.1.0",
"eslint": "^8.18.0", "eslint": "^8.21.0",
"eslint-config-prettier": "^8.5.0", "eslint-config-prettier": "^8.5.0",
"eslint-plugin-jest": "^26.5.3", "eslint-plugin-jest": "^26.8.2",
"eslint-plugin-react": "^7.30.1", "eslint-plugin-react": "^7.30.1",
"eslint-plugin-react-hooks": "^4.6.0", "eslint-plugin-react-hooks": "^4.6.0",
"jest": "^27.5.1", "jest": "^27.5.1",
@ -93,18 +93,18 @@
"require-from-string": "^2.0.2", "require-from-string": "^2.0.2",
"rimraf": "^3.0.2", "rimraf": "^3.0.2",
"styled-components": "^5.3.5", "styled-components": "^5.3.5",
"stylelint": "^14.9.1", "stylelint": "^14.10.0",
"stylelint-config-prettier": "^9.0.3", "stylelint-config-prettier": "^9.0.3",
"stylelint-config-standard": "^25.0.0", "stylelint-config-standard": "^25.0.0",
"stylelint-config-styled-components": "^0.1.1", "stylelint-config-styled-components": "^0.1.1",
"stylelint-processor-styled-components": "^1.10.0", "stylelint-processor-styled-components": "^1.10.0",
"ts-jest": "^27.1.5", "ts-jest": "^27.1.5",
"typescript": "~4.7.4", "typescript": "~4.7.4",
"webpack": "^5.73.0" "webpack": "^5.74.0"
}, },
"peerDependencies": { "peerDependencies": {
"@types/react": "^16.3.0 || ^17.0.0 || ^18.0.0", "@types/react": "^16.3.0 || ^17.0.0 || ^18.0.0",
"@types/styled-components": "^5.1.25", "@types/styled-components": "^5.1.26",
"react": "^16.3.0 || ^17.0.0 || ^18.0.0", "react": "^16.3.0 || ^17.0.0 || ^18.0.0",
"styled-components": "^5.3.5" "styled-components": "^5.3.5"
} }

View File

@ -18,7 +18,7 @@ export default {
component: Tabs, component: Tabs,
}; };
const Template: Story<TabsProps<unknown>> = (args) => ( const Template: Story<TabsProps<object>> = (args) => (
<Container> <Container>
<Tabs {...args} /> <Tabs {...args} />
</Container> </Container>

View File

@ -14,7 +14,7 @@ export interface TabsProps<P> {
position: Position; position: Position;
} }
export default class Tabs<P> extends Component<TabsProps<P>> { export default class Tabs<P extends object> extends Component<TabsProps<P>> {
SelectedComponent?: React.ComponentType<P>; SelectedComponent?: React.ComponentType<P>;
selector?: () => P; selector?: () => P;

View File

@ -32,7 +32,7 @@
"prepublish": "pnpm run type-check && pnpm run lint" "prepublish": "pnpm run type-check && pnpm run lint"
}, },
"dependencies": { "dependencies": {
"@babel/runtime": "^7.18.3", "@babel/runtime": "^7.18.9",
"@redux-devtools/core": "^3.13.1", "@redux-devtools/core": "^3.13.1",
"@redux-devtools/serialize": "^0.4.1", "@redux-devtools/serialize": "^0.4.1",
"@types/get-params": "^0.1.0", "@types/get-params": "^0.1.0",
@ -44,18 +44,18 @@
"redux": "^4.2.0" "redux": "^4.2.0"
}, },
"devDependencies": { "devDependencies": {
"@babel/cli": "^7.17.10", "@babel/cli": "^7.18.10",
"@babel/core": "^7.18.5", "@babel/core": "^7.18.10",
"@babel/eslint-parser": "^7.18.2", "@babel/eslint-parser": "^7.18.9",
"@babel/plugin-transform-runtime": "^7.18.5", "@babel/plugin-transform-runtime": "^7.18.10",
"@babel/preset-env": "^7.18.2", "@babel/preset-env": "^7.18.10",
"@babel/preset-typescript": "^7.17.12", "@babel/preset-typescript": "^7.18.6",
"@types/jsan": "^3.1.2", "@types/jsan": "^3.1.2",
"@types/lodash": "^4.14.182", "@types/lodash": "^4.14.182",
"@types/node": "^16.11.41", "@types/node": "^16.11.47",
"@typescript-eslint/eslint-plugin": "^5.29.0", "@typescript-eslint/eslint-plugin": "^5.33.0",
"@typescript-eslint/parser": "^5.29.0", "@typescript-eslint/parser": "^5.33.0",
"eslint": "^8.18.0", "eslint": "^8.21.0",
"eslint-config-prettier": "^8.5.0", "eslint-config-prettier": "^8.5.0",
"rimraf": "^3.0.2", "rimraf": "^3.0.2",
"typescript": "~4.7.4" "typescript": "~4.7.4"

View File

@ -30,29 +30,29 @@
"redux-thunk": "^2.4.1" "redux-thunk": "^2.4.1"
}, },
"devDependencies": { "devDependencies": {
"@babel/core": "^7.18.5", "@babel/core": "^7.18.10",
"@babel/preset-env": "^7.18.2", "@babel/preset-env": "^7.18.10",
"@babel/preset-react": "^7.17.12", "@babel/preset-react": "^7.18.6",
"@babel/preset-typescript": "^7.17.12", "@babel/preset-typescript": "^7.18.6",
"@types/node": "^16.11.41", "@types/node": "^16.11.47",
"@types/prop-types": "^15.7.5", "@types/prop-types": "^15.7.5",
"@types/react": "^18.0.14", "@types/react": "^18.0.17",
"@types/react-dom": "^18.0.5", "@types/react-dom": "^18.0.6",
"@types/webpack-env": "^1.17.0", "@types/webpack-env": "^1.17.0",
"@typescript-eslint/eslint-plugin": "^5.29.0", "@typescript-eslint/eslint-plugin": "^5.33.0",
"@typescript-eslint/parser": "^5.29.0", "@typescript-eslint/parser": "^5.33.0",
"babel-loader": "^8.2.5", "babel-loader": "^8.2.5",
"cross-env": "^7.0.3", "cross-env": "^7.0.3",
"eslint": "^8.18.0", "eslint": "^8.21.0",
"eslint-config-prettier": "^8.5.0", "eslint-config-prettier": "^8.5.0",
"eslint-plugin-react": "^7.30.1", "eslint-plugin-react": "^7.30.1",
"eslint-plugin-react-hooks": "^4.6.0", "eslint-plugin-react-hooks": "^4.6.0",
"fork-ts-checker-webpack-plugin": "^7.2.11", "fork-ts-checker-webpack-plugin": "^7.2.13",
"html-webpack-plugin": "^5.5.0", "html-webpack-plugin": "^5.5.0",
"ts-node": "^10.8.1", "ts-node": "^10.9.1",
"typescript": "~4.7.4", "typescript": "~4.7.4",
"webpack": "^5.73.0", "webpack": "^5.74.0",
"webpack-cli": "^4.10.0", "webpack-cli": "^4.10.0",
"webpack-dev-server": "^4.9.2" "webpack-dev-server": "^4.10.0"
} }
} }

View File

@ -43,32 +43,32 @@
"todomvc-app-css": "^2.4.2" "todomvc-app-css": "^2.4.2"
}, },
"devDependencies": { "devDependencies": {
"@babel/core": "^7.18.5", "@babel/core": "^7.18.10",
"@babel/preset-env": "^7.18.2", "@babel/preset-env": "^7.18.10",
"@babel/preset-react": "^7.17.12", "@babel/preset-react": "^7.18.6",
"@babel/preset-typescript": "^7.17.12", "@babel/preset-typescript": "^7.18.6",
"@types/classnames": "^2.3.1", "@types/classnames": "^2.3.1",
"@types/node": "^16.11.41", "@types/node": "^16.11.47",
"@types/prop-types": "^15.7.5", "@types/prop-types": "^15.7.5",
"@types/react": "^18.0.14", "@types/react": "^18.0.17",
"@types/react-dom": "^18.0.5", "@types/react-dom": "^18.0.6",
"@types/webpack-env": "^1.17.0", "@types/webpack-env": "^1.17.0",
"@typescript-eslint/eslint-plugin": "^5.29.0", "@typescript-eslint/eslint-plugin": "^5.33.0",
"@typescript-eslint/parser": "^5.29.0", "@typescript-eslint/parser": "^5.33.0",
"babel-loader": "^8.2.5", "babel-loader": "^8.2.5",
"cross-env": "^7.0.3", "cross-env": "^7.0.3",
"css-loader": "^6.7.1", "css-loader": "^6.7.1",
"eslint": "^8.18.0", "eslint": "^8.21.0",
"eslint-config-prettier": "^8.5.0", "eslint-config-prettier": "^8.5.0",
"eslint-plugin-react": "^7.30.1", "eslint-plugin-react": "^7.30.1",
"eslint-plugin-react-hooks": "^4.6.0", "eslint-plugin-react-hooks": "^4.6.0",
"fork-ts-checker-webpack-plugin": "^7.2.11", "fork-ts-checker-webpack-plugin": "^7.2.13",
"html-webpack-plugin": "^5.5.0", "html-webpack-plugin": "^5.5.0",
"style-loader": "^3.3.1", "style-loader": "^3.3.1",
"ts-node": "^10.8.1", "ts-node": "^10.9.1",
"typescript": "~4.7.4", "typescript": "~4.7.4",
"webpack": "^5.73.0", "webpack": "^5.74.0",
"webpack-cli": "^4.10.0", "webpack-cli": "^4.10.0",
"webpack-dev-server": "^4.9.2" "webpack-dev-server": "^4.10.0"
} }
} }

View File

@ -41,29 +41,29 @@
"prepublish": "pnpm run type-check && pnpm run lint && pnpm run test" "prepublish": "pnpm run type-check && pnpm run lint && pnpm run test"
}, },
"dependencies": { "dependencies": {
"@babel/runtime": "^7.18.3", "@babel/runtime": "^7.18.9",
"@redux-devtools/instrument": "^2.1.0", "@redux-devtools/instrument": "^2.1.0",
"@types/prop-types": "^15.7.5", "@types/prop-types": "^15.7.5",
"lodash": "^4.17.21", "lodash": "^4.17.21",
"prop-types": "^15.8.1" "prop-types": "^15.8.1"
}, },
"devDependencies": { "devDependencies": {
"@babel/cli": "^7.17.10", "@babel/cli": "^7.18.10",
"@babel/core": "^7.18.5", "@babel/core": "^7.18.10",
"@babel/eslint-parser": "^7.18.2", "@babel/eslint-parser": "^7.18.9",
"@babel/plugin-transform-runtime": "^7.18.5", "@babel/plugin-transform-runtime": "^7.18.10",
"@babel/preset-env": "^7.18.2", "@babel/preset-env": "^7.18.10",
"@babel/preset-react": "^7.17.12", "@babel/preset-react": "^7.18.6",
"@babel/preset-typescript": "^7.17.12", "@babel/preset-typescript": "^7.18.6",
"@types/jest": "^27.5.2", "@types/jest": "^27.5.2",
"@types/lodash": "^4.14.182", "@types/lodash": "^4.14.182",
"@types/node": "^16.11.41", "@types/node": "^16.11.47",
"@types/react": "^18.0.14", "@types/react": "^18.0.17",
"@typescript-eslint/eslint-plugin": "^5.29.0", "@typescript-eslint/eslint-plugin": "^5.33.0",
"@typescript-eslint/parser": "^5.29.0", "@typescript-eslint/parser": "^5.33.0",
"eslint": "^8.18.0", "eslint": "^8.21.0",
"eslint-config-prettier": "^8.5.0", "eslint-config-prettier": "^8.5.0",
"eslint-plugin-jest": "^26.5.3", "eslint-plugin-jest": "^26.8.2",
"eslint-plugin-react": "^7.30.1", "eslint-plugin-react": "^7.30.1",
"eslint-plugin-react-hooks": "^4.6.0", "eslint-plugin-react-hooks": "^4.6.0",
"jest": "^27.5.1", "jest": "^27.5.1",

File diff suppressed because it is too large Load Diff

View File

@ -23,30 +23,9 @@
"groupName": "source-map" "groupName": "source-map"
}, },
{ {
"matchPackageNames": [ "matchPackageNames": ["@chakra-ui/react"],
"react", "matchUpdateTypes": ["major", "minor", "patch"],
"react-dom", "groupName": "chakra-ui"
"react-is",
"react-test-renderer",
"@testing-library/react",
"@testing-library/user-event",
"@types/react",
"@types/react-dom",
"@types/react-test-renderer",
"@chakra-ui/react"
],
"matchUpdateTypes": ["major"],
"groupName": "react"
},
{
"matchPackageNames": [
"socketcluster-client",
"@types/socketcluster-client",
"socketcluster",
"@types/socketcluster-server"
],
"matchUpdateTypes": ["major"],
"groupName": "socketcluster"
} }
] ]
} }