From 3aaead5bd81135075566c9976988c1b088d45489 Mon Sep 17 00:00:00 2001 From: Arya Emami Date: Fri, 5 Jan 2024 10:37:06 -0600 Subject: [PATCH 1/8] Rename `.eslintrc` to `.eslintrc.json` as it is deprecated --- .eslintrc => .eslintrc.json | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename .eslintrc => .eslintrc.json (100%) diff --git a/.eslintrc b/.eslintrc.json similarity index 100% rename from .eslintrc rename to .eslintrc.json From dc5dd852de617f724095b7ae8d562d5be42ffe79 Mon Sep 17 00:00:00 2001 From: Arya Emami Date: Fri, 5 Jan 2024 11:51:21 -0600 Subject: [PATCH 2/8] Bump ESLint related dependencies --- package.json | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/package.json b/package.json index abc50a854..3bebaf1b8 100644 --- a/package.json +++ b/package.json @@ -89,22 +89,22 @@ "@testing-library/react-native": "^7.1.0", "@types/react": "18.2.25", "@types/react-native": "^0.67.4", - "@typescript-eslint/eslint-plugin": "^4.28.0", - "@typescript-eslint/parser": "^4.28.0", + "@typescript-eslint/eslint-plugin": "^6.17.0", + "@typescript-eslint/parser": "^6.17.0", "babel-eslint": "^10.1.0", "babel-jest": "^29", "codecov": "^3.8.0", "cross-env": "^7.0.2", - "eslint": "^7.12.0", - "eslint-config-prettier": "^6.14.0", - "eslint-plugin-import": "^2.22.1", - "eslint-plugin-prettier": "^3.1.4", - "eslint-plugin-react": "^7.21.5", + "eslint": "^8.56.0", + "eslint-config-prettier": "^9.1.0", + "eslint-plugin-import": "^2.29.1", + "eslint-plugin-prettier": "^5.1.2", + "eslint-plugin-react": "^7.33.2", "glob": "^7.1.6", "jest": "^29", "jest-environment-jsdom": "^29.5.0", "metro-react-native-babel-preset": "^0.76.6", - "prettier": "^2.1.2", + "prettier": "^3.1.1", "react": "18.2.0", "react-dom": "18.2.0", "react-native": "^0.71.11", From 6c2353f2cca605eac077d2eb187c61aabc4bd88b Mon Sep 17 00:00:00 2001 From: Arya Emami Date: Fri, 5 Jan 2024 11:51:36 -0600 Subject: [PATCH 3/8] Fix lint command --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 3bebaf1b8..602d6df37 100644 --- a/package.json +++ b/package.json @@ -40,7 +40,7 @@ "clean": "rimraf lib dist es coverage", "api-types": "api-extractor run --local", "format": "prettier --write \"{src,test}/**/*.{js,ts,tsx}\" \"docs/**/*.md\"", - "lint": "eslint src --ext ts,tsx,js test/utils test/components test/hooks", + "lint": "eslint src test", "prepare": "yarn clean && yarn build", "pretest": "yarn lint", "test": "jest", From 2f05208c009d3d4318ebd845e061219ee2863478 Mon Sep 17 00:00:00 2001 From: Arya Emami Date: Fri, 5 Jan 2024 11:52:07 -0600 Subject: [PATCH 4/8] Modernize ESLint configuration --- .eslintrc.json | 112 ++- yarn.lock | 2051 ++++++++++++++++++++++++++++++++---------------- 2 files changed, 1425 insertions(+), 738 deletions(-) diff --git a/.eslintrc.json b/.eslintrc.json index 05bd4959c..c3b0a8723 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -1,69 +1,63 @@ { - "parser": "@typescript-eslint/parser", + "env": { + "browser": true, + "node": true + }, "extends": [ "eslint:recommended", + "plugin:@typescript-eslint/eslint-recommended", "plugin:import/recommended", "plugin:react/recommended", - "plugin:prettier/recommended" - // "plugin:@typescript-eslint/recommended" + "plugin:@typescript-eslint/recommended" ], - "settings": { - "react": { - "version": "detect" - }, - "import/ignore": [ - "react-native" - ], - "import/resolver": { - "node": { - "extensions": [ - ".js", - ".ts", - ".tsx" - ] - } - } - }, + "parser": "@typescript-eslint/parser", "parserOptions": { - "ecmaVersion": 6, - "sourceType": "module", - "ecmaFeatures": { - "jsx": true, - "experimentalObjectRestSpread": true - } - }, - "env": { - "browser": true, - "mocha": true, - "node": true + "ecmaFeatures": { "jsx": true }, + "ecmaVersion": 2015, + "project": true, + "sourceType": "module" }, + "plugins": ["@typescript-eslint", "import", "react"], "rules": { - "valid-jsdoc": 2, - "react/jsx-uses-react": 1, - "react/jsx-no-undef": 2, - "react/jsx-wrap-multilines": 2, - "react/no-string-refs": 0, - "no-unused-vars": "off", - "@typescript-eslint/no-unused-vars": [ - "error" - ], - "no-redeclare": "off", - "@typescript-eslint/no-redeclare": [ - "error" - ], - "@typescript-eslint/consistent-type-imports": [ - "error", - { - "prefer": "type-imports" - } - ] + "valid-jsdoc": [2] }, - "plugins": [ - "@typescript-eslint", - "import", - "react" - ], - "globals": { - "JSX": true - } -} \ No newline at end of file + "settings": { + "import/ignore": ["react-native"], + "import/resolver": { "node": { "extensions": [".js", ".ts", ".tsx"] } }, + "react": { "version": "detect" } + }, + "overrides": [ + { + "files": ["**/*.{ts,tsx,cts}"], + "extends": [ + "eslint:recommended", + "plugin:@typescript-eslint/eslint-recommended", + "plugin:import/recommended", + "plugin:react/recommended", + "plugin:@typescript-eslint/recommended" + ], + "rules": { + "@typescript-eslint/ban-ts-comment": [0], + "@typescript-eslint/no-redeclare": [2], + "@typescript-eslint/no-explicit-any": [0], + "@typescript-eslint/no-unused-vars": [0], + "@typescript-eslint/ban-types": [0], + "react/display-name": [0], + "react/jsx-no-undef": [2], + "react/jsx-uses-react": [1], + "react/jsx-wrap-multilines": [2], + "react/no-string-refs": [0], + "@typescript-eslint/consistent-type-imports": [ + 2, + { "fixStyle": "separate-type-imports" } + ], + "@typescript-eslint/consistent-type-exports": [2], + "valid-jsdoc": [2] + } + }, + { + "files": ["**/test/**/*.{ts,tsx}"], + "parserOptions": { "project": "./test/tsconfig.test.json" } + } + ] +} diff --git a/yarn.lock b/yarn.lock index 95405c1fc..e15d79338 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5,6 +5,13 @@ __metadata: version: 6 cacheKey: 8 +"@aashutoshrathi/word-wrap@npm:^1.2.3": + version: 1.2.6 + resolution: "@aashutoshrathi/word-wrap@npm:1.2.6" + checksum: ada901b9e7c680d190f1d012c84217ce0063d8f5c5a7725bb91ec3c5ed99bb7572680eb2d2938a531ccbaec39a95422fcd8a6b4a13110c7d98dd75402f66a0cd + languageName: node + linkType: hard + "@ampproject/remapping@npm:^2.2.0": version: 2.2.1 resolution: "@ampproject/remapping@npm:2.2.1" @@ -42,15 +49,6 @@ __metadata: languageName: node linkType: hard -"@babel/code-frame@npm:7.12.11": - version: 7.12.11 - resolution: "@babel/code-frame@npm:7.12.11" - dependencies: - "@babel/highlight": ^7.10.4 - checksum: 3963eff3ebfb0e091c7e6f99596ef4b258683e4ba8a134e4e95f77afe85be5c931e184fff6435fb4885d12eba04a5e25532f7fbc292ca13b48e7da943474e2f3 - languageName: node - linkType: hard - "@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.10.4, @babel/code-frame@npm:^7.12.13, @babel/code-frame@npm:^7.22.5": version: 7.22.5 resolution: "@babel/code-frame@npm:7.22.5" @@ -370,7 +368,7 @@ __metadata: languageName: node linkType: hard -"@babel/highlight@npm:^7.10.4, @babel/highlight@npm:^7.22.5": +"@babel/highlight@npm:^7.22.5": version: 7.22.5 resolution: "@babel/highlight@npm:7.22.5" dependencies: @@ -1682,20 +1680,45 @@ __metadata: languageName: node linkType: hard -"@eslint/eslintrc@npm:^0.4.3": - version: 0.4.3 - resolution: "@eslint/eslintrc@npm:0.4.3" +"@eslint-community/eslint-utils@npm:^4.2.0, @eslint-community/eslint-utils@npm:^4.4.0": + version: 4.4.0 + resolution: "@eslint-community/eslint-utils@npm:4.4.0" + dependencies: + eslint-visitor-keys: ^3.3.0 + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + checksum: cdfe3ae42b4f572cbfb46d20edafe6f36fc5fb52bf2d90875c58aefe226892b9677fef60820e2832caf864a326fe4fc225714c46e8389ccca04d5f9288aabd22 + languageName: node + linkType: hard + +"@eslint-community/regexpp@npm:^4.5.1, @eslint-community/regexpp@npm:^4.6.1": + version: 4.10.0 + resolution: "@eslint-community/regexpp@npm:4.10.0" + checksum: 2a6e345429ea8382aaaf3a61f865cae16ed44d31ca917910033c02dc00d505d939f10b81e079fa14d43b51499c640138e153b7e40743c4c094d9df97d4e56f7b + languageName: node + linkType: hard + +"@eslint/eslintrc@npm:^2.1.4": + version: 2.1.4 + resolution: "@eslint/eslintrc@npm:2.1.4" dependencies: ajv: ^6.12.4 - debug: ^4.1.1 - espree: ^7.3.0 - globals: ^13.9.0 - ignore: ^4.0.6 + debug: ^4.3.2 + espree: ^9.6.0 + globals: ^13.19.0 + ignore: ^5.2.0 import-fresh: ^3.2.1 - js-yaml: ^3.13.1 - minimatch: ^3.0.4 + js-yaml: ^4.1.0 + minimatch: ^3.1.2 strip-json-comments: ^3.1.1 - checksum: 03a7704150b868c318aab6a94d87a33d30dc2ec579d27374575014f06237ba1370ae11178db772f985ef680d469dc237e7b16a1c5d8edaaeb8c3733e7a95a6d3 + checksum: 10957c7592b20ca0089262d8c2a8accbad14b4f6507e35416c32ee6b4dbf9cad67dfb77096bbd405405e9ada2b107f3797fe94362e1c55e0b09d6e90dd149127 + languageName: node + linkType: hard + +"@eslint/js@npm:8.56.0": + version: 8.56.0 + resolution: "@eslint/js@npm:8.56.0" + checksum: 5804130574ef810207bdf321c265437814e7a26f4e6fac9b496de3206afd52f533e09ec002a3be06cd9adcc9da63e727f1883938e663c4e4751c007d5b58e539 languageName: node linkType: hard @@ -1715,21 +1738,28 @@ __metadata: languageName: node linkType: hard -"@humanwhocodes/config-array@npm:^0.5.0": - version: 0.5.0 - resolution: "@humanwhocodes/config-array@npm:0.5.0" +"@humanwhocodes/config-array@npm:^0.11.13": + version: 0.11.13 + resolution: "@humanwhocodes/config-array@npm:0.11.13" dependencies: - "@humanwhocodes/object-schema": ^1.2.0 + "@humanwhocodes/object-schema": ^2.0.1 debug: ^4.1.1 - minimatch: ^3.0.4 - checksum: 44ee6a9f05d93dd9d5935a006b17572328ba9caff8002442f601736cbda79c580cc0f5a49ce9eb88fbacc5c3a6b62098357c2e95326cd17bb9f1a6c61d6e95e7 + minimatch: ^3.0.5 + checksum: f8ea57b0d7ed7f2d64cd3944654976829d9da91c04d9c860e18804729a33f7681f78166ef4c761850b8c324d362f7d53f14c5c44907a6b38b32c703ff85e4805 languageName: node linkType: hard -"@humanwhocodes/object-schema@npm:^1.2.0": - version: 1.2.0 - resolution: "@humanwhocodes/object-schema@npm:1.2.0" - checksum: 40b75480376de8104d65f7c44a7dd76d30fb57823ca8ba3a3239b2b568323be894d93440578a72fd8e5e2cc3df3577ce0d2f0fe308b990dd51cf35392bf3c9a2 +"@humanwhocodes/module-importer@npm:^1.0.1": + version: 1.0.1 + resolution: "@humanwhocodes/module-importer@npm:1.0.1" + checksum: 0fd22007db8034a2cdf2c764b140d37d9020bbfce8a49d3ec5c05290e77d4b0263b1b972b752df8c89e5eaa94073408f2b7d977aed131faf6cf396ebb5d7fb61 + languageName: node + linkType: hard + +"@humanwhocodes/object-schema@npm:^2.0.1": + version: 2.0.1 + resolution: "@humanwhocodes/object-schema@npm:2.0.1" + checksum: 24929487b1ed48795d2f08346a0116cc5ee4634848bce64161fb947109352c562310fd159fc64dda0e8b853307f5794605191a9547f7341158559ca3c8262a45 languageName: node linkType: hard @@ -2176,7 +2206,7 @@ __metadata: languageName: node linkType: hard -"@nodelib/fs.walk@npm:^1.2.3": +"@nodelib/fs.walk@npm:^1.2.3, @nodelib/fs.walk@npm:^1.2.8": version: 1.2.8 resolution: "@nodelib/fs.walk@npm:1.2.8" dependencies: @@ -2196,6 +2226,13 @@ __metadata: languageName: node linkType: hard +"@pkgr/core@npm:^0.1.0": + version: 0.1.0 + resolution: "@pkgr/core@npm:0.1.0" + checksum: eeff0e0e517b1ed10eb4c1a8971413a8349bbfdab727dbe7d4085fd94eab95f0c3beb51b9245fef30562849d2a7a119e07ca48c343c8c4ec4e64ee289f50fe5e + languageName: node + linkType: hard + "@react-native-community/cli-clean@npm:^10.1.1": version: 10.1.1 resolution: "@react-native-community/cli-clean@npm:10.1.1" @@ -2764,10 +2801,17 @@ __metadata: languageName: node linkType: hard -"@types/json-schema@npm:^7.0.7": - version: 7.0.8 - resolution: "@types/json-schema@npm:7.0.8" - checksum: f1d0fe76ab1db93846f36a9179faa44b9b66f2f5f44597e46e65456a1c998f632c63b94ed347058ed1a230cbf95a9a164b4daf4d70aa3d651d5033f7856df83c +"@types/json-schema@npm:^7.0.12": + version: 7.0.15 + resolution: "@types/json-schema@npm:7.0.15" + checksum: 97ed0cb44d4070aecea772b7b2e2ed971e10c81ec87dd4ecc160322ffa55ff330dace1793489540e3e318d90942064bb697cc0f8989391797792d919737b3b98 + languageName: node + linkType: hard + +"@types/json5@npm:^0.0.29": + version: 0.0.29 + resolution: "@types/json5@npm:0.0.29" + checksum: e60b153664572116dfea673c5bda7778dbff150498f44f998e34b5886d8afc47f16799280e4b6e241c0472aef1bc36add771c569c68fc5125fc2ae519a3eb9ac languageName: node linkType: hard @@ -2855,6 +2899,13 @@ __metadata: languageName: node linkType: hard +"@types/semver@npm:^7.5.0": + version: 7.5.6 + resolution: "@types/semver@npm:7.5.6" + checksum: 563a0120ec0efcc326567db2ed920d5d98346f3638b6324ea6b50222b96f02a8add3c51a916b6897b51523aad8ac227d21d3dcf8913559f1bfc6c15b14d23037 + languageName: node + linkType: hard + "@types/stack-utils@npm:^2.0.0": version: 2.0.1 resolution: "@types/stack-utils@npm:2.0.1" @@ -2937,102 +2988,133 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/eslint-plugin@npm:^4.28.0": - version: 4.28.5 - resolution: "@typescript-eslint/eslint-plugin@npm:4.28.5" +"@typescript-eslint/eslint-plugin@npm:^6.17.0": + version: 6.17.0 + resolution: "@typescript-eslint/eslint-plugin@npm:6.17.0" dependencies: - "@typescript-eslint/experimental-utils": 4.28.5 - "@typescript-eslint/scope-manager": 4.28.5 - debug: ^4.3.1 - functional-red-black-tree: ^1.0.1 - regexpp: ^3.1.0 - semver: ^7.3.5 - tsutils: ^3.21.0 + "@eslint-community/regexpp": ^4.5.1 + "@typescript-eslint/scope-manager": 6.17.0 + "@typescript-eslint/type-utils": 6.17.0 + "@typescript-eslint/utils": 6.17.0 + "@typescript-eslint/visitor-keys": 6.17.0 + debug: ^4.3.4 + graphemer: ^1.4.0 + ignore: ^5.2.4 + natural-compare: ^1.4.0 + semver: ^7.5.4 + ts-api-utils: ^1.0.1 peerDependencies: - "@typescript-eslint/parser": ^4.0.0 - eslint: ^5.0.0 || ^6.0.0 || ^7.0.0 + "@typescript-eslint/parser": ^6.0.0 || ^6.0.0-alpha + eslint: ^7.0.0 || ^8.0.0 peerDependenciesMeta: typescript: optional: true - checksum: 8d9147ecca2978e5e0674e33ed20f8183db6932f7005169ef88075f8446efdfe47eef83cd5917bc59db22df794e495d65716fefa248d10fb2900c3135fceaed9 + checksum: 169646a705fdd1bc2a0d78678dbf3557ff3e534e9d4a11f7b5bba1d9f5cbec821f8c16b260413203efc8d6e0c0a3d7f9332bb1476e3dac80e60aa16eb9a0ad11 languageName: node linkType: hard -"@typescript-eslint/experimental-utils@npm:4.28.5": - version: 4.28.5 - resolution: "@typescript-eslint/experimental-utils@npm:4.28.5" +"@typescript-eslint/parser@npm:^6.17.0": + version: 6.17.0 + resolution: "@typescript-eslint/parser@npm:6.17.0" dependencies: - "@types/json-schema": ^7.0.7 - "@typescript-eslint/scope-manager": 4.28.5 - "@typescript-eslint/types": 4.28.5 - "@typescript-eslint/typescript-estree": 4.28.5 - eslint-scope: ^5.1.1 - eslint-utils: ^3.0.0 + "@typescript-eslint/scope-manager": 6.17.0 + "@typescript-eslint/types": 6.17.0 + "@typescript-eslint/typescript-estree": 6.17.0 + "@typescript-eslint/visitor-keys": 6.17.0 + debug: ^4.3.4 peerDependencies: - eslint: "*" - checksum: 91ea6f703a4eb1c36773a50aca61b63f05f5ed86a65f47f1a20c83027135e8e95b34953701132f8df039f1a75f23d9bce6a8062d531fdcf6d62f6192c9a58462 + eslint: ^7.0.0 || ^8.0.0 + peerDependenciesMeta: + typescript: + optional: true + checksum: c48864aebf364332540f520d84630a6bb3e2ddc84492d75c14a453964b669a37f1fd43b60469e3683e618e8e8d3d7747baffe92e408599d5df6869cae86ac9e1 languageName: node linkType: hard -"@typescript-eslint/parser@npm:^4.28.0": - version: 4.28.5 - resolution: "@typescript-eslint/parser@npm:4.28.5" +"@typescript-eslint/scope-manager@npm:6.17.0": + version: 6.17.0 + resolution: "@typescript-eslint/scope-manager@npm:6.17.0" dependencies: - "@typescript-eslint/scope-manager": 4.28.5 - "@typescript-eslint/types": 4.28.5 - "@typescript-eslint/typescript-estree": 4.28.5 - debug: ^4.3.1 - peerDependencies: - eslint: ^5.0.0 || ^6.0.0 || ^7.0.0 - peerDependenciesMeta: - typescript: - optional: true - checksum: badd2d294742c4640523134d5eb72157631073b6ba02fd165cbbd1d78394f4ccdfdb8a98be539d90b1739f4b3fcbfcc8d5cb00e89ad048e8738cd3c4d2b9b807 + "@typescript-eslint/types": 6.17.0 + "@typescript-eslint/visitor-keys": 6.17.0 + checksum: 6eabac1e52cd25714ab176c7bbf9919d065febf4580620eb067ab1b41607f5e592857bd831a2ab41daa873af4011217dbcae55ed248855e381127f1cabcd2d2c languageName: node linkType: hard -"@typescript-eslint/scope-manager@npm:4.28.5": - version: 4.28.5 - resolution: "@typescript-eslint/scope-manager@npm:4.28.5" +"@typescript-eslint/type-utils@npm:6.17.0": + version: 6.17.0 + resolution: "@typescript-eslint/type-utils@npm:6.17.0" dependencies: - "@typescript-eslint/types": 4.28.5 - "@typescript-eslint/visitor-keys": 4.28.5 - checksum: bde38033295c5e6c04f3c4852a7dd42758f7abdacb58eae2f3b8f7e4163bfc0960be985116caff179e3b0f0116a065007e3ccde8d159ca49710d21bab65e4e27 + "@typescript-eslint/typescript-estree": 6.17.0 + "@typescript-eslint/utils": 6.17.0 + debug: ^4.3.4 + ts-api-utils: ^1.0.1 + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 + peerDependenciesMeta: + typescript: + optional: true + checksum: bb6f824c1c7f8d25a21b7218a5bcb74e58c38121f85418eb1639f2931c6149285c2ede96dd677a3e7dc64886cc7640d74be6001d970c3ac9c9a4d889315c5d15 languageName: node linkType: hard -"@typescript-eslint/types@npm:4.28.5": - version: 4.28.5 - resolution: "@typescript-eslint/types@npm:4.28.5" - checksum: 54e75890b01949614c9bf11e30cc9da87189fe3d834b39e767202276d7d7a60891d31bb52576c64fa4df4846f61e67e73ac958f90127024fd9fa1709d3df3041 +"@typescript-eslint/types@npm:6.17.0": + version: 6.17.0 + resolution: "@typescript-eslint/types@npm:6.17.0" + checksum: a199516230b505f85de1b99cdf22c526cbae7604fa2dd0dd24e8bba5de45aeaee231263e7e59843af7b226cb91c4ba5447d06517a1a73b511a94c6b483af0d5b languageName: node linkType: hard -"@typescript-eslint/typescript-estree@npm:4.28.5": - version: 4.28.5 - resolution: "@typescript-eslint/typescript-estree@npm:4.28.5" +"@typescript-eslint/typescript-estree@npm:6.17.0": + version: 6.17.0 + resolution: "@typescript-eslint/typescript-estree@npm:6.17.0" dependencies: - "@typescript-eslint/types": 4.28.5 - "@typescript-eslint/visitor-keys": 4.28.5 - debug: ^4.3.1 - globby: ^11.0.3 - is-glob: ^4.0.1 - semver: ^7.3.5 - tsutils: ^3.21.0 + "@typescript-eslint/types": 6.17.0 + "@typescript-eslint/visitor-keys": 6.17.0 + debug: ^4.3.4 + globby: ^11.1.0 + is-glob: ^4.0.3 + minimatch: 9.0.3 + semver: ^7.5.4 + ts-api-utils: ^1.0.1 peerDependenciesMeta: typescript: optional: true - checksum: a63847b676c265b9cd1d5370f99ed9049940b42369815c20d768e655ebf7f1af3521e00f9c3e31133bd1848d0290468aa58b1822c0941af02243c3cff089dac1 + checksum: 4bf7811ddae66361cad55f7a6fcf9975eb77456ceb2eca5d7a6228387737845bdfe1b9eef4c76d5d6b7c7d6029a8f62bc67b509c0724cd37395ae16eb07dd7ab + languageName: node + linkType: hard + +"@typescript-eslint/utils@npm:6.17.0": + version: 6.17.0 + resolution: "@typescript-eslint/utils@npm:6.17.0" + dependencies: + "@eslint-community/eslint-utils": ^4.4.0 + "@types/json-schema": ^7.0.12 + "@types/semver": ^7.5.0 + "@typescript-eslint/scope-manager": 6.17.0 + "@typescript-eslint/types": 6.17.0 + "@typescript-eslint/typescript-estree": 6.17.0 + semver: ^7.5.4 + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 + checksum: 2eea8fd3763b2ab9d86503c68b4d61df81071fd38851b8ba920d53b055c352d13e192a3d15ca853f11aee818c61e8af65946e963aa0e9b18d19e3254881bded0 languageName: node linkType: hard -"@typescript-eslint/visitor-keys@npm:4.28.5": - version: 4.28.5 - resolution: "@typescript-eslint/visitor-keys@npm:4.28.5" +"@typescript-eslint/visitor-keys@npm:6.17.0": + version: 6.17.0 + resolution: "@typescript-eslint/visitor-keys@npm:6.17.0" dependencies: - "@typescript-eslint/types": 4.28.5 - eslint-visitor-keys: ^2.0.0 - checksum: 77fa439f4ae8fbdb4923e34c0aac9b567216becfa848490ae51d15b578431b8f54c083570dd6c8472d57a492d14aa6d426be34364195538ee1072d91a63616f4 + "@typescript-eslint/types": 6.17.0 + eslint-visitor-keys: ^3.4.1 + checksum: e98755087bd067388d9a9182375e53f590183ca656d02b3d05d9718bab2ac571832fd16691060c7c979fd941e9d4b7923d8975632923697de0691f50fc97c8ac + languageName: node + linkType: hard + +"@ungap/structured-clone@npm:^1.2.0": + version: 1.2.0 + resolution: "@ungap/structured-clone@npm:1.2.0" + checksum: 4f656b7b4672f2ce6e272f2427d8b0824ed11546a601d8d5412b9d7704e83db38a8d9f402ecdf2b9063fc164af842ad0ec4a55819f621ed7e7ea4d1efcc74524 languageName: node linkType: hard @@ -3086,7 +3168,7 @@ __metadata: languageName: node linkType: hard -"acorn-jsx@npm:^5.3.1": +"acorn-jsx@npm:^5.3.2": version: 5.3.2 resolution: "acorn-jsx@npm:5.3.2" peerDependencies: @@ -3102,21 +3184,21 @@ __metadata: languageName: node linkType: hard -"acorn@npm:^7.4.0": - version: 7.4.1 - resolution: "acorn@npm:7.4.1" +"acorn@npm:^8.1.0, acorn@npm:^8.8.1, acorn@npm:^8.8.2": + version: 8.9.0 + resolution: "acorn@npm:8.9.0" bin: acorn: bin/acorn - checksum: 1860f23c2107c910c6177b7b7be71be350db9e1080d814493fae143ae37605189504152d1ba8743ba3178d0b37269ce1ffc42b101547fdc1827078f82671e407 + checksum: 25dfb94952386ecfb847e61934de04a4e7c2dc21c2e700fc4e2ef27ce78cb717700c4c4f279cd630bb4774948633c3859fc16063ec8573bda4568e0a312e6744 languageName: node linkType: hard -"acorn@npm:^8.1.0, acorn@npm:^8.8.1, acorn@npm:^8.8.2": - version: 8.9.0 - resolution: "acorn@npm:8.9.0" +"acorn@npm:^8.9.0": + version: 8.11.3 + resolution: "acorn@npm:8.11.3" bin: acorn: bin/acorn - checksum: 25dfb94952386ecfb847e61934de04a4e7c2dc21c2e700fc4e2ef27ce78cb717700c4c4f279cd630bb4774948633c3859fc16063ec8573bda4568e0a312e6744 + checksum: 76d8e7d559512566b43ab4aadc374f11f563f0a9e21626dd59cb2888444e9445923ae9f3699972767f18af61df89cd89f5eaaf772d1327b055b45cb829b4a88c languageName: node linkType: hard @@ -3150,7 +3232,7 @@ __metadata: languageName: node linkType: hard -"ajv@npm:^6.10.0, ajv@npm:^6.12.4, ajv@npm:~6.12.6": +"ajv@npm:^6.12.4, ajv@npm:~6.12.6": version: 6.12.6 resolution: "ajv@npm:6.12.6" dependencies: @@ -3162,18 +3244,6 @@ __metadata: languageName: node linkType: hard -"ajv@npm:^8.0.1": - version: 8.6.2 - resolution: "ajv@npm:8.6.2" - dependencies: - fast-deep-equal: ^3.1.1 - json-schema-traverse: ^1.0.0 - require-from-string: ^2.0.2 - uri-js: ^4.2.2 - checksum: b86d6cb86c69abbd8ce71ab7d4ff272660bf6d34fa9fbe770f73e54da59d531b2546692e36e2b35bbcfb11d20db774b4c09189671335185b8c799d65194e5169 - languageName: node - linkType: hard - "anser@npm:^1.4.9": version: 1.4.10 resolution: "anser@npm:1.4.10" @@ -3181,13 +3251,6 @@ __metadata: languageName: node linkType: hard -"ansi-colors@npm:^4.1.1": - version: 4.1.1 - resolution: "ansi-colors@npm:4.1.1" - checksum: 138d04a51076cb085da0a7e2d000c5c0bb09f6e772ed5c65c53cb118d37f6c5f1637506d7155fb5f330f0abcf6f12fa2e489ac3f8cdab9da393bf1bb4f9a32b0 - languageName: node - linkType: hard - "ansi-escapes@npm:^4.2.1": version: 4.3.2 resolution: "ansi-escapes@npm:4.3.2" @@ -3321,6 +3384,13 @@ __metadata: languageName: node linkType: hard +"argparse@npm:^2.0.1": + version: 2.0.1 + resolution: "argparse@npm:2.0.1" + checksum: 83644b56493e89a254bae05702abf3a1101b4fa4d0ca31df1c9985275a5a5bd47b3c27b7fa0b71098d41114d8ca000e6ed90cad764b306f8a503665e4d517ced + languageName: node + linkType: hard + "argv@npm:0.0.2": version: 0.0.2 resolution: "argv@npm:0.0.2" @@ -3366,7 +3436,17 @@ __metadata: languageName: node linkType: hard -"array-includes@npm:^3.1.2, array-includes@npm:^3.1.3": +"array-buffer-byte-length@npm:^1.0.0": + version: 1.0.0 + resolution: "array-buffer-byte-length@npm:1.0.0" + dependencies: + call-bind: ^1.0.2 + is-array-buffer: ^3.0.1 + checksum: 044e101ce150f4804ad19c51d6c4d4cfa505c5b2577bd179256e4aa3f3f6a0a5e9874c78cd428ee566ac574c8a04d7ce21af9fe52e844abfdccb82b33035a7c3 + languageName: node + linkType: hard + +"array-includes@npm:^3.1.2": version: 3.1.3 resolution: "array-includes@npm:3.1.3" dependencies: @@ -3379,6 +3459,19 @@ __metadata: languageName: node linkType: hard +"array-includes@npm:^3.1.6, array-includes@npm:^3.1.7": + version: 3.1.7 + resolution: "array-includes@npm:3.1.7" + dependencies: + call-bind: ^1.0.2 + define-properties: ^1.2.0 + es-abstract: ^1.22.1 + get-intrinsic: ^1.2.1 + is-string: ^1.0.7 + checksum: 06f9e4598fac12a919f7c59a3f04f010ea07f0b7f0585465ed12ef528a60e45f374e79d1bddbb34cdd4338357d00023ddbd0ac18b0be36964f5e726e8965d7fc + languageName: node + linkType: hard + "array-union@npm:^2.1.0": version: 2.1.0 resolution: "array-union@npm:2.1.0" @@ -3393,26 +3486,68 @@ __metadata: languageName: node linkType: hard -"array.prototype.flat@npm:^1.2.4": - version: 1.2.4 - resolution: "array.prototype.flat@npm:1.2.4" +"array.prototype.findlastindex@npm:^1.2.3": + version: 1.2.3 + resolution: "array.prototype.findlastindex@npm:1.2.3" dependencies: - call-bind: ^1.0.0 - define-properties: ^1.1.3 - es-abstract: ^1.18.0-next.1 - checksum: 1ec5d9887ae45e70e4b993e801b440ae5ddcd0d2c6d1dbe214c311e91436152f510916bdac82b066693544b9801a3c510dfbec8a278ababf8de7eb0bde74636f + call-bind: ^1.0.2 + define-properties: ^1.2.0 + es-abstract: ^1.22.1 + es-shim-unscopables: ^1.0.0 + get-intrinsic: ^1.2.1 + checksum: 31f35d7b370c84db56484618132041a9af401b338f51899c2e78ef7690fbba5909ee7ca3c59a7192085b328cc0c68c6fd1f6d1553db01a689a589ae510f3966e languageName: node linkType: hard -"array.prototype.flatmap@npm:^1.2.4": - version: 1.2.4 - resolution: "array.prototype.flatmap@npm:1.2.4" +"array.prototype.flat@npm:^1.3.2": + version: 1.3.2 + resolution: "array.prototype.flat@npm:1.3.2" dependencies: - call-bind: ^1.0.0 - define-properties: ^1.1.3 - es-abstract: ^1.18.0-next.1 - function-bind: ^1.1.1 - checksum: 1d32ec6747611e88a5f55b49df0fb38d1d6a3824e451b760a1b7ca87d22874f638d784a6dbdd2b7eba01d7dea6e48e2cce4848bd2e8b48f1f53013605ddef08b + call-bind: ^1.0.2 + define-properties: ^1.2.0 + es-abstract: ^1.22.1 + es-shim-unscopables: ^1.0.0 + checksum: 5d6b4bf102065fb3f43764bfff6feb3295d372ce89591e6005df3d0ce388527a9f03c909af6f2a973969a4d178ab232ffc9236654149173e0e187ec3a1a6b87b + languageName: node + linkType: hard + +"array.prototype.flatmap@npm:^1.3.1, array.prototype.flatmap@npm:^1.3.2": + version: 1.3.2 + resolution: "array.prototype.flatmap@npm:1.3.2" + dependencies: + call-bind: ^1.0.2 + define-properties: ^1.2.0 + es-abstract: ^1.22.1 + es-shim-unscopables: ^1.0.0 + checksum: ce09fe21dc0bcd4f30271f8144083aa8c13d4639074d6c8dc82054b847c7fc9a0c97f857491f4da19d4003e507172a78f4bcd12903098adac8b9cd374f734be3 + languageName: node + linkType: hard + +"array.prototype.tosorted@npm:^1.1.1": + version: 1.1.2 + resolution: "array.prototype.tosorted@npm:1.1.2" + dependencies: + call-bind: ^1.0.2 + define-properties: ^1.2.0 + es-abstract: ^1.22.1 + es-shim-unscopables: ^1.0.0 + get-intrinsic: ^1.2.1 + checksum: 3607a7d6b117f0ffa6f4012457b7af0d47d38cf05e01d50e09682fd2fb782a66093a5e5fbbdbad77c8c824794a9d892a51844041641f719ad41e3a974f0764de + languageName: node + linkType: hard + +"arraybuffer.prototype.slice@npm:^1.0.2": + version: 1.0.2 + resolution: "arraybuffer.prototype.slice@npm:1.0.2" + dependencies: + array-buffer-byte-length: ^1.0.0 + call-bind: ^1.0.2 + define-properties: ^1.2.0 + es-abstract: ^1.22.1 + get-intrinsic: ^1.2.1 + is-array-buffer: ^3.0.2 + is-shared-array-buffer: ^1.0.2 + checksum: c200faf437786f5b2c80d4564ff5481c886a16dee642ef02abdc7306c7edd523d1f01d1dd12b769c7eb42ac9bc53874510db19a92a2c035c0f6696172aafa5d3 languageName: node linkType: hard @@ -3446,13 +3581,6 @@ __metadata: languageName: node linkType: hard -"astral-regex@npm:^2.0.0": - version: 2.0.0 - resolution: "astral-regex@npm:2.0.0" - checksum: 876231688c66400473ba505731df37ea436e574dd524520294cc3bbc54ea40334865e01fa0d074d74d036ee874ee7e62f486ea38bc421ee8e6a871c06f011766 - languageName: node - linkType: hard - "async-each@npm:^1.0.1": version: 1.0.3 resolution: "async-each@npm:1.0.3" @@ -3474,6 +3602,15 @@ __metadata: languageName: node linkType: hard +"asynciterator.prototype@npm:^1.0.0": + version: 1.0.0 + resolution: "asynciterator.prototype@npm:1.0.0" + dependencies: + has-symbols: ^1.0.3 + checksum: e8ebfd9493ac651cf9b4165e9d64030b3da1d17181bb1963627b59e240cdaf021d9b59d44b827dc1dde4e22387ec04c2d0f8720cf58a1c282e34e40cc12721b3 + languageName: node + linkType: hard + "asynckit@npm:^0.4.0": version: 0.4.0 resolution: "asynckit@npm:0.4.0" @@ -3490,6 +3627,13 @@ __metadata: languageName: node linkType: hard +"available-typed-arrays@npm:^1.0.5": + version: 1.0.5 + resolution: "available-typed-arrays@npm:1.0.5" + checksum: 20eb47b3cefd7db027b9bbb993c658abd36d4edd3fe1060e83699a03ee275b0c9b216cc076ff3f2db29073225fb70e7613987af14269ac1fe2a19803ccc97f1a + languageName: node + linkType: hard + "babel-core@npm:^7.0.0-bridge.0": version: 7.0.0-bridge.0 resolution: "babel-core@npm:7.0.0-bridge.0" @@ -3753,6 +3897,15 @@ __metadata: languageName: node linkType: hard +"brace-expansion@npm:^2.0.1": + version: 2.0.1 + resolution: "brace-expansion@npm:2.0.1" + dependencies: + balanced-match: ^1.0.0 + checksum: a61e7cd2e8a8505e9f0036b3b6108ba5e926b4b55089eeb5550cd04a471fe216c96d4fe7e4c7f995c728c554ae20ddfc4244cad10aef255e72b62930afd233d1 + languageName: node + linkType: hard + "braces@npm:^2.3.1, braces@npm:^2.3.2": version: 2.3.2 resolution: "braces@npm:2.3.2" @@ -3906,6 +4059,17 @@ __metadata: languageName: node linkType: hard +"call-bind@npm:^1.0.4, call-bind@npm:^1.0.5": + version: 1.0.5 + resolution: "call-bind@npm:1.0.5" + dependencies: + function-bind: ^1.1.2 + get-intrinsic: ^1.2.1 + set-function-length: ^1.1.1 + checksum: 449e83ecbd4ba48e7eaac5af26fea3b50f8f6072202c2dd7c5a6e7a6308f2421abe5e13a3bbd55221087f76320c5e09f25a8fdad1bab2b77c68ae74d92234ea5 + languageName: node + linkType: hard + "caller-callsite@npm:^2.0.0": version: 2.0.0 resolution: "caller-callsite@npm:2.0.0" @@ -4480,7 +4644,7 @@ __metadata: languageName: node linkType: hard -"debug@npm:2.6.9, debug@npm:^2.2.0, debug@npm:^2.3.3, debug@npm:^2.6.9": +"debug@npm:2.6.9, debug@npm:^2.2.0, debug@npm:^2.3.3": version: 2.6.9 resolution: "debug@npm:2.6.9" dependencies: @@ -4489,7 +4653,7 @@ __metadata: languageName: node linkType: hard -"debug@npm:4, debug@npm:^4.0.1, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.1": +"debug@npm:4, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.1": version: 4.3.2 resolution: "debug@npm:4.3.2" dependencies: @@ -4510,6 +4674,18 @@ __metadata: languageName: node linkType: hard +"debug@npm:^4.3.2, debug@npm:^4.3.4": + version: 4.3.4 + resolution: "debug@npm:4.3.4" + dependencies: + ms: 2.1.2 + peerDependenciesMeta: + supports-color: + optional: true + checksum: 3dbad3f94ea64f34431a9cbf0bafb61853eda57bff2880036153438f50fb5a84f27683ba0d8e5426bf41a8c6ff03879488120cf5b3a761e77953169c0600a708 + languageName: node + linkType: hard + "decamelize@npm:^1.2.0": version: 1.2.0 resolution: "decamelize@npm:1.2.0" @@ -4568,6 +4744,17 @@ __metadata: languageName: node linkType: hard +"define-data-property@npm:^1.0.1, define-data-property@npm:^1.1.1": + version: 1.1.1 + resolution: "define-data-property@npm:1.1.1" + dependencies: + get-intrinsic: ^1.2.1 + gopd: ^1.0.1 + has-property-descriptors: ^1.0.0 + checksum: a29855ad3f0630ea82e3c5012c812efa6ca3078d5c2aa8df06b5f597c1cde6f7254692df41945851d903e05a1668607b6d34e778f402b9ff9ffb38111f1a3f0d + languageName: node + linkType: hard + "define-properties@npm:^1.1.3": version: 1.1.3 resolution: "define-properties@npm:1.1.3" @@ -4577,6 +4764,17 @@ __metadata: languageName: node linkType: hard +"define-properties@npm:^1.2.0, define-properties@npm:^1.2.1": + version: 1.2.1 + resolution: "define-properties@npm:1.2.1" + dependencies: + define-data-property: ^1.0.1 + has-property-descriptors: ^1.0.0 + object-keys: ^1.1.1 + checksum: b4ccd00597dd46cb2d4a379398f5b19fca84a16f3374e2249201992f36b30f6835949a9429669ee6b41b6e837205a163eadd745e472069e70dfc10f03e5fcc12 + languageName: node + linkType: hard + "define-property@npm:^0.2.5": version: 0.2.5 resolution: "define-property@npm:0.2.5" @@ -4775,15 +4973,6 @@ __metadata: languageName: node linkType: hard -"enquirer@npm:^2.3.5": - version: 2.3.6 - resolution: "enquirer@npm:2.3.6" - dependencies: - ansi-colors: ^4.1.1 - checksum: 1c0911e14a6f8d26721c91e01db06092a5f7675159f0261d69c403396a385afd13dd76825e7678f66daffa930cfaa8d45f506fb35f818a2788463d022af1b884 - languageName: node - linkType: hard - "entities@npm:^4.4.0": version: 4.5.0 resolution: "entities@npm:4.5.0" @@ -4842,7 +5031,7 @@ __metadata: languageName: node linkType: hard -"es-abstract@npm:^1.18.0-next.1, es-abstract@npm:^1.18.0-next.2, es-abstract@npm:^1.18.2": +"es-abstract@npm:^1.18.0-next.2": version: 1.18.3 resolution: "es-abstract@npm:1.18.3" dependencies: @@ -4866,6 +5055,95 @@ __metadata: languageName: node linkType: hard +"es-abstract@npm:^1.22.1": + version: 1.22.3 + resolution: "es-abstract@npm:1.22.3" + dependencies: + array-buffer-byte-length: ^1.0.0 + arraybuffer.prototype.slice: ^1.0.2 + available-typed-arrays: ^1.0.5 + call-bind: ^1.0.5 + es-set-tostringtag: ^2.0.1 + es-to-primitive: ^1.2.1 + function.prototype.name: ^1.1.6 + get-intrinsic: ^1.2.2 + get-symbol-description: ^1.0.0 + globalthis: ^1.0.3 + gopd: ^1.0.1 + has-property-descriptors: ^1.0.0 + has-proto: ^1.0.1 + has-symbols: ^1.0.3 + hasown: ^2.0.0 + internal-slot: ^1.0.5 + is-array-buffer: ^3.0.2 + is-callable: ^1.2.7 + is-negative-zero: ^2.0.2 + is-regex: ^1.1.4 + is-shared-array-buffer: ^1.0.2 + is-string: ^1.0.7 + is-typed-array: ^1.1.12 + is-weakref: ^1.0.2 + object-inspect: ^1.13.1 + object-keys: ^1.1.1 + object.assign: ^4.1.4 + regexp.prototype.flags: ^1.5.1 + safe-array-concat: ^1.0.1 + safe-regex-test: ^1.0.0 + string.prototype.trim: ^1.2.8 + string.prototype.trimend: ^1.0.7 + string.prototype.trimstart: ^1.0.7 + typed-array-buffer: ^1.0.0 + typed-array-byte-length: ^1.0.0 + typed-array-byte-offset: ^1.0.0 + typed-array-length: ^1.0.4 + unbox-primitive: ^1.0.2 + which-typed-array: ^1.1.13 + checksum: b1bdc962856836f6e72be10b58dc128282bdf33771c7a38ae90419d920fc3b36cc5d2b70a222ad8016e3fc322c367bf4e9e89fc2bc79b7e933c05b218e83d79a + languageName: node + linkType: hard + +"es-iterator-helpers@npm:^1.0.12": + version: 1.0.15 + resolution: "es-iterator-helpers@npm:1.0.15" + dependencies: + asynciterator.prototype: ^1.0.0 + call-bind: ^1.0.2 + define-properties: ^1.2.1 + es-abstract: ^1.22.1 + es-set-tostringtag: ^2.0.1 + function-bind: ^1.1.1 + get-intrinsic: ^1.2.1 + globalthis: ^1.0.3 + has-property-descriptors: ^1.0.0 + has-proto: ^1.0.1 + has-symbols: ^1.0.3 + internal-slot: ^1.0.5 + iterator.prototype: ^1.1.2 + safe-array-concat: ^1.0.1 + checksum: 50081ae5c549efe62e5c1d244df0194b40b075f7897fc2116b7e1aa437eb3c41f946d2afda18c33f9b31266ec544765932542765af839f76fa6d7b7855d1e0e1 + languageName: node + linkType: hard + +"es-set-tostringtag@npm:^2.0.1": + version: 2.0.2 + resolution: "es-set-tostringtag@npm:2.0.2" + dependencies: + get-intrinsic: ^1.2.2 + has-tostringtag: ^1.0.0 + hasown: ^2.0.0 + checksum: afcec3a4c9890ae14d7ec606204858441c801ff84f312538e1d1ccf1e5493c8b17bd672235df785f803756472cb4f2d49b87bde5237aef33411e74c22f194e07 + languageName: node + linkType: hard + +"es-shim-unscopables@npm:^1.0.0": + version: 1.0.2 + resolution: "es-shim-unscopables@npm:1.0.2" + dependencies: + hasown: ^2.0.0 + checksum: 432bd527c62065da09ed1d37a3f8e623c423683285e6188108286f4a1e8e164a5bcbfbc0051557c7d14633cd2a41ce24c7048e6bbb66a985413fd32f1be72626 + languageName: node + linkType: hard + "es-to-primitive@npm:^1.2.1": version: 1.2.1 resolution: "es-to-primitive@npm:1.2.1" @@ -5008,203 +5286,193 @@ __metadata: languageName: node linkType: hard -"eslint-config-prettier@npm:^6.14.0": - version: 6.15.0 - resolution: "eslint-config-prettier@npm:6.15.0" - dependencies: - get-stdin: ^6.0.0 +"eslint-config-prettier@npm:^9.1.0": + version: 9.1.0 + resolution: "eslint-config-prettier@npm:9.1.0" peerDependencies: - eslint: ">=3.14.1" + eslint: ">=7.0.0" bin: - eslint-config-prettier-check: bin/cli.js - checksum: 02f461a5d7fbf06bd17077e76857eb7cf70def81762fb853094ae16e895231b2bf53c7ca83f535b943d7558fdd02ac41b33eb6d59523e60b1d8c6d1730d00f1e + eslint-config-prettier: bin/cli.js + checksum: 9229b768c879f500ee54ca05925f31b0c0bafff3d9f5521f98ff05127356de78c81deb9365c86a5ec4efa990cb72b74df8612ae15965b14136044c73e1f6a907 languageName: node linkType: hard -"eslint-import-resolver-node@npm:^0.3.4": - version: 0.3.4 - resolution: "eslint-import-resolver-node@npm:0.3.4" +"eslint-import-resolver-node@npm:^0.3.9": + version: 0.3.9 + resolution: "eslint-import-resolver-node@npm:0.3.9" dependencies: - debug: ^2.6.9 - resolve: ^1.13.1 - checksum: a0db55ec26c5bb385c8681af6b8d6dee16768d5f27dff72c3113407d0f028f28e56dcb1cc3a4689c79396a5f6a9c24bd0cac9a2c9c588c7d7357d24a42bec876 + debug: ^3.2.7 + is-core-module: ^2.13.0 + resolve: ^1.22.4 + checksum: 439b91271236b452d478d0522a44482e8c8540bf9df9bd744062ebb89ab45727a3acd03366a6ba2bdbcde8f9f718bab7fe8db64688aca75acf37e04eafd25e22 languageName: node linkType: hard -"eslint-module-utils@npm:^2.6.1": - version: 2.6.1 - resolution: "eslint-module-utils@npm:2.6.1" +"eslint-module-utils@npm:^2.8.0": + version: 2.8.0 + resolution: "eslint-module-utils@npm:2.8.0" dependencies: debug: ^3.2.7 - pkg-dir: ^2.0.0 - checksum: 3cc43a36a0075d300db6a3946203ec92249b6da1539694ef205a43b4ccfbc2eaf4961475d4b89c24b12c187d6bfd882c7c7d0b2ce02adb40c2dedb7fd022a7e2 + peerDependenciesMeta: + eslint: + optional: true + checksum: 74c6dfea7641ebcfe174be61168541a11a14aa8d72e515f5f09af55cd0d0862686104b0524aa4b8e0ce66418a44aa38a94d2588743db5fd07a6b49ffd16921d2 languageName: node linkType: hard -"eslint-plugin-import@npm:^2.22.1": - version: 2.23.4 - resolution: "eslint-plugin-import@npm:2.23.4" +"eslint-plugin-import@npm:^2.29.1": + version: 2.29.1 + resolution: "eslint-plugin-import@npm:2.29.1" dependencies: - array-includes: ^3.1.3 - array.prototype.flat: ^1.2.4 - debug: ^2.6.9 + array-includes: ^3.1.7 + array.prototype.findlastindex: ^1.2.3 + array.prototype.flat: ^1.3.2 + array.prototype.flatmap: ^1.3.2 + debug: ^3.2.7 doctrine: ^2.1.0 - eslint-import-resolver-node: ^0.3.4 - eslint-module-utils: ^2.6.1 - find-up: ^2.0.0 - has: ^1.0.3 - is-core-module: ^2.4.0 - minimatch: ^3.0.4 - object.values: ^1.1.3 - pkg-up: ^2.0.0 - read-pkg-up: ^3.0.0 - resolve: ^1.20.0 - tsconfig-paths: ^3.9.0 + eslint-import-resolver-node: ^0.3.9 + eslint-module-utils: ^2.8.0 + hasown: ^2.0.0 + is-core-module: ^2.13.1 + is-glob: ^4.0.3 + minimatch: ^3.1.2 + object.fromentries: ^2.0.7 + object.groupby: ^1.0.1 + object.values: ^1.1.7 + semver: ^6.3.1 + tsconfig-paths: ^3.15.0 peerDependencies: - eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 - checksum: 8c64bb96fa35607de3da1ddf5d127a5913aebde5677bc276c55fecb3e539a7287569dc697af4f5c523bd2b08bff8f5b525448df5aa7d6256c86436b615be5abc + eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 + checksum: e65159aef808136d26d029b71c8c6e4cb5c628e65e5de77f1eb4c13a379315ae55c9c3afa847f43f4ff9df7e54515c77ffc6489c6a6f81f7dd7359267577468c languageName: node linkType: hard -"eslint-plugin-prettier@npm:^3.1.4": - version: 3.4.0 - resolution: "eslint-plugin-prettier@npm:3.4.0" +"eslint-plugin-prettier@npm:^5.1.2": + version: 5.1.2 + resolution: "eslint-plugin-prettier@npm:5.1.2" dependencies: prettier-linter-helpers: ^1.0.0 + synckit: ^0.8.6 peerDependencies: - eslint: ">=5.0.0" - prettier: ">=1.13.0" + "@types/eslint": ">=8.0.0" + eslint: ">=8.0.0" + eslint-config-prettier: "*" + prettier: ">=3.0.0" peerDependenciesMeta: + "@types/eslint": + optional: true eslint-config-prettier: optional: true - checksum: 30a07e8d12637d2988e371f6a20ff4c86fd7fdc3596d1d18d62c0367804f38e06a65052d0281234aeb2552e4d1908dcb2de20543413e038251a2717a46400a9d + checksum: ee972ca16c1d05773abe370dcd43c71ffe729ad4eca86752e21be3d4afbc18f04184b4143e9d17869395d534eb8ad685b7589fcdc2706cb734fe17c3c3f4e6cd languageName: node linkType: hard -"eslint-plugin-react@npm:^7.21.5": - version: 7.24.0 - resolution: "eslint-plugin-react@npm:7.24.0" +"eslint-plugin-react@npm:^7.33.2": + version: 7.33.2 + resolution: "eslint-plugin-react@npm:7.33.2" dependencies: - array-includes: ^3.1.3 - array.prototype.flatmap: ^1.2.4 + array-includes: ^3.1.6 + array.prototype.flatmap: ^1.3.1 + array.prototype.tosorted: ^1.1.1 doctrine: ^2.1.0 - has: ^1.0.3 + es-iterator-helpers: ^1.0.12 + estraverse: ^5.3.0 jsx-ast-utils: ^2.4.1 || ^3.0.0 - minimatch: ^3.0.4 - object.entries: ^1.1.4 - object.fromentries: ^2.0.4 - object.values: ^1.1.4 - prop-types: ^15.7.2 - resolve: ^2.0.0-next.3 - string.prototype.matchall: ^4.0.5 + minimatch: ^3.1.2 + object.entries: ^1.1.6 + object.fromentries: ^2.0.6 + object.hasown: ^1.1.2 + object.values: ^1.1.6 + prop-types: ^15.8.1 + resolve: ^2.0.0-next.4 + semver: ^6.3.1 + string.prototype.matchall: ^4.0.8 peerDependencies: - eslint: ^3 || ^4 || ^5 || ^6 || ^7 - checksum: bf844f98d93f3617fbd03df4be4f4c9e8e49ea035678762b73a28df730e9518d5ac636293f6326b41b4a0678f9dfa059ce559f6652c7a2d914d477ec3a389619 + eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 + checksum: b4c3d76390b0ae6b6f9fed78170604cc2c04b48e6778a637db339e8e3911ec9ef22510b0ae77c429698151d0f1b245f282177f384105b6830e7b29b9c9b26610 languageName: node linkType: hard -"eslint-scope@npm:^5.1.1": - version: 5.1.1 - resolution: "eslint-scope@npm:5.1.1" +"eslint-scope@npm:^7.2.2": + version: 7.2.2 + resolution: "eslint-scope@npm:7.2.2" dependencies: esrecurse: ^4.3.0 - estraverse: ^4.1.1 - checksum: 47e4b6a3f0cc29c7feedee6c67b225a2da7e155802c6ea13bbef4ac6b9e10c66cd2dcb987867ef176292bf4e64eccc680a49e35e9e9c669f4a02bac17e86abdb - languageName: node - linkType: hard - -"eslint-utils@npm:^2.1.0": - version: 2.1.0 - resolution: "eslint-utils@npm:2.1.0" - dependencies: - eslint-visitor-keys: ^1.1.0 - checksum: 27500938f348da42100d9e6ad03ae29b3de19ba757ae1a7f4a087bdcf83ac60949bbb54286492ca61fac1f5f3ac8692dd21537ce6214240bf95ad0122f24d71d - languageName: node - linkType: hard - -"eslint-utils@npm:^3.0.0": - version: 3.0.0 - resolution: "eslint-utils@npm:3.0.0" - dependencies: - eslint-visitor-keys: ^2.0.0 - peerDependencies: - eslint: ">=5" - checksum: 0668fe02f5adab2e5a367eee5089f4c39033af20499df88fe4e6aba2015c20720404d8c3d6349b6f716b08fdf91b9da4e5d5481f265049278099c4c836ccb619 + estraverse: ^5.2.0 + checksum: ec97dbf5fb04b94e8f4c5a91a7f0a6dd3c55e46bfc7bbcd0e3138c3a76977570e02ed89a1810c778dcd72072ff0e9621ba1379b4babe53921d71e2e4486fda3e languageName: node linkType: hard -"eslint-visitor-keys@npm:^1.0.0, eslint-visitor-keys@npm:^1.1.0, eslint-visitor-keys@npm:^1.3.0": +"eslint-visitor-keys@npm:^1.0.0": version: 1.3.0 resolution: "eslint-visitor-keys@npm:1.3.0" checksum: 37a19b712f42f4c9027e8ba98c2b06031c17e0c0a4c696cd429bd9ee04eb43889c446f2cd545e1ff51bef9593fcec94ecd2c2ef89129fcbbf3adadbef520376a languageName: node linkType: hard -"eslint-visitor-keys@npm:^2.0.0": - version: 2.1.0 - resolution: "eslint-visitor-keys@npm:2.1.0" - checksum: e3081d7dd2611a35f0388bbdc2f5da60b3a3c5b8b6e928daffff7391146b434d691577aa95064c8b7faad0b8a680266bcda0a42439c18c717b80e6718d7e267d +"eslint-visitor-keys@npm:^3.3.0, eslint-visitor-keys@npm:^3.4.1, eslint-visitor-keys@npm:^3.4.3": + version: 3.4.3 + resolution: "eslint-visitor-keys@npm:3.4.3" + checksum: 36e9ef87fca698b6fd7ca5ca35d7b2b6eeaaf106572e2f7fd31c12d3bfdaccdb587bba6d3621067e5aece31c8c3a348b93922ab8f7b2cbc6aaab5e1d89040c60 languageName: node linkType: hard -"eslint@npm:^7.12.0": - version: 7.31.0 - resolution: "eslint@npm:7.31.0" +"eslint@npm:^8.56.0": + version: 8.56.0 + resolution: "eslint@npm:8.56.0" dependencies: - "@babel/code-frame": 7.12.11 - "@eslint/eslintrc": ^0.4.3 - "@humanwhocodes/config-array": ^0.5.0 - ajv: ^6.10.0 + "@eslint-community/eslint-utils": ^4.2.0 + "@eslint-community/regexpp": ^4.6.1 + "@eslint/eslintrc": ^2.1.4 + "@eslint/js": 8.56.0 + "@humanwhocodes/config-array": ^0.11.13 + "@humanwhocodes/module-importer": ^1.0.1 + "@nodelib/fs.walk": ^1.2.8 + "@ungap/structured-clone": ^1.2.0 + ajv: ^6.12.4 chalk: ^4.0.0 cross-spawn: ^7.0.2 - debug: ^4.0.1 + debug: ^4.3.2 doctrine: ^3.0.0 - enquirer: ^2.3.5 escape-string-regexp: ^4.0.0 - eslint-scope: ^5.1.1 - eslint-utils: ^2.1.0 - eslint-visitor-keys: ^2.0.0 - espree: ^7.3.1 - esquery: ^1.4.0 + eslint-scope: ^7.2.2 + eslint-visitor-keys: ^3.4.3 + espree: ^9.6.1 + esquery: ^1.4.2 esutils: ^2.0.2 fast-deep-equal: ^3.1.3 file-entry-cache: ^6.0.1 - functional-red-black-tree: ^1.0.1 - glob-parent: ^5.1.2 - globals: ^13.6.0 - ignore: ^4.0.6 - import-fresh: ^3.0.0 + find-up: ^5.0.0 + glob-parent: ^6.0.2 + globals: ^13.19.0 + graphemer: ^1.4.0 + ignore: ^5.2.0 imurmurhash: ^0.1.4 is-glob: ^4.0.0 - js-yaml: ^3.13.1 + is-path-inside: ^3.0.3 + js-yaml: ^4.1.0 json-stable-stringify-without-jsonify: ^1.0.1 levn: ^0.4.1 lodash.merge: ^4.6.2 - minimatch: ^3.0.4 + minimatch: ^3.1.2 natural-compare: ^1.4.0 - optionator: ^0.9.1 - progress: ^2.0.0 - regexpp: ^3.1.0 - semver: ^7.2.1 - strip-ansi: ^6.0.0 - strip-json-comments: ^3.1.0 - table: ^6.0.9 + optionator: ^0.9.3 + strip-ansi: ^6.0.1 text-table: ^0.2.0 - v8-compile-cache: ^2.0.3 bin: eslint: bin/eslint.js - checksum: fd73d07ce0b73e5ea950b295a6eaf8d45914b4e56cba4ef49e55a36dc7e965a4865f63f618c0a096a01d089752d9e44180b80ba8657039b8e631dd40e0af1663 + checksum: 883436d1e809b4a25d9eb03d42f584b84c408dbac28b0019f6ea07b5177940bf3cca86208f749a6a1e0039b63e085ee47aca1236c30721e91f0deef5cc5a5136 languageName: node linkType: hard -"espree@npm:^7.3.0, espree@npm:^7.3.1": - version: 7.3.1 - resolution: "espree@npm:7.3.1" +"espree@npm:^9.6.0, espree@npm:^9.6.1": + version: 9.6.1 + resolution: "espree@npm:9.6.1" dependencies: - acorn: ^7.4.0 - acorn-jsx: ^5.3.1 - eslint-visitor-keys: ^1.3.0 - checksum: aa9b50dcce883449af2e23bc2b8d9abb77118f96f4cb313935d6b220f77137eaef7724a83c3f6243b96bc0e4ab14766198e60818caad99f9519ae5a336a39b45 + acorn: ^8.9.0 + acorn-jsx: ^5.3.2 + eslint-visitor-keys: ^3.4.1 + checksum: eb8c149c7a2a77b3f33a5af80c10875c3abd65450f60b8af6db1bfcfa8f101e21c1e56a561c6dc13b848e18148d43469e7cd208506238554fb5395a9ea5a1ab9 languageName: node linkType: hard @@ -5218,12 +5486,12 @@ __metadata: languageName: node linkType: hard -"esquery@npm:^1.4.0": - version: 1.4.0 - resolution: "esquery@npm:1.4.0" +"esquery@npm:^1.4.2": + version: 1.5.0 + resolution: "esquery@npm:1.5.0" dependencies: estraverse: ^5.1.0 - checksum: a0807e17abd7fbe5fbd4fab673038d6d8a50675cdae6b04fbaa520c34581be0c5fa24582990e8acd8854f671dd291c78bb2efb9e0ed5b62f33bac4f9cf820210 + checksum: aefb0d2596c230118656cd4ec7532d447333a410a48834d80ea648b1e7b5c9bc9ed8b5e33a89cb04e487b60d622f44cf5713bf4abed7c97343edefdc84a35900 languageName: node linkType: hard @@ -5236,13 +5504,6 @@ __metadata: languageName: node linkType: hard -"estraverse@npm:^4.1.1": - version: 4.3.0 - resolution: "estraverse@npm:4.3.0" - checksum: a6299491f9940bb246124a8d44b7b7a413a8336f5436f9837aaa9330209bd9ee8af7e91a654a3545aee9c54b3308e78ee360cef1d777d37cfef77d2fa33b5827 - languageName: node - linkType: hard - "estraverse@npm:^5.1.0, estraverse@npm:^5.2.0": version: 5.2.0 resolution: "estraverse@npm:5.2.0" @@ -5250,6 +5511,13 @@ __metadata: languageName: node linkType: hard +"estraverse@npm:^5.3.0": + version: 5.3.0 + resolution: "estraverse@npm:5.3.0" + checksum: 072780882dc8416ad144f8fe199628d2b3e7bbc9989d9ed43795d2c90309a2047e6bc5979d7e2322a341163d22cfad9e21f4110597fe487519697389497e4e2b + languageName: node + linkType: hard + "esutils@npm:^2.0.2": version: 2.0.3 resolution: "esutils@npm:2.0.3" @@ -5400,6 +5668,19 @@ __metadata: languageName: node linkType: hard +"fast-glob@npm:^3.2.9": + version: 3.3.2 + resolution: "fast-glob@npm:3.3.2" + dependencies: + "@nodelib/fs.stat": ^2.0.2 + "@nodelib/fs.walk": ^1.2.3 + glob-parent: ^5.1.2 + merge2: ^1.3.0 + micromatch: ^4.0.4 + checksum: 900e4979f4dbc3313840078419245621259f349950411ca2fa445a2f9a1a6d98c3b5e7e0660c5ccd563aa61abe133a21765c6c0dec8e57da1ba71d8000b05ec1 + languageName: node + linkType: hard + "fast-json-stable-stringify@npm:2.x, fast-json-stable-stringify@npm:^2.0.0, fast-json-stable-stringify@npm:^2.1.0": version: 2.1.0 resolution: "fast-json-stable-stringify@npm:2.1.0" @@ -5508,18 +5789,9 @@ __metadata: languageName: node linkType: hard -"find-up@npm:^2.0.0, find-up@npm:^2.1.0": - version: 2.1.0 - resolution: "find-up@npm:2.1.0" - dependencies: - locate-path: ^2.0.0 - checksum: 43284fe4da09f89011f08e3c32cd38401e786b19226ea440b75386c1b12a4cb738c94969808d53a84f564ede22f732c8409e3cfc3f7fb5b5c32378ad0bbf28bd - languageName: node - linkType: hard - -"find-up@npm:^3.0.0": - version: 3.0.0 - resolution: "find-up@npm:3.0.0" +"find-up@npm:^3.0.0": + version: 3.0.0 + resolution: "find-up@npm:3.0.0" dependencies: locate-path: ^3.0.0 checksum: 38eba3fe7a66e4bc7f0f5a1366dc25508b7cfc349f852640e3678d26ad9a6d7e2c43eff0a472287de4a9753ef58f066a0ea892a256fa3636ad51b3fe1e17fae9 @@ -5570,6 +5842,15 @@ __metadata: languageName: node linkType: hard +"for-each@npm:^0.3.3": + version: 0.3.3 + resolution: "for-each@npm:0.3.3" + dependencies: + is-callable: ^1.1.3 + checksum: 6c48ff2bc63362319c65e2edca4a8e1e3483a2fabc72fbe7feaf8c73db94fc7861bd53bc02c8a66a0c1dd709da6b04eec42e0abdd6b40ce47305ae92a25e5d28 + languageName: node + linkType: hard + "for-in@npm:^1.0.2": version: 1.0.2 resolution: "for-in@npm:1.0.2" @@ -5665,10 +5946,29 @@ __metadata: languageName: node linkType: hard -"functional-red-black-tree@npm:^1.0.1": - version: 1.0.1 - resolution: "functional-red-black-tree@npm:1.0.1" - checksum: ca6c170f37640e2d94297da8bb4bf27a1d12bea3e00e6a3e007fd7aa32e37e000f5772acf941b4e4f3cf1c95c3752033d0c509af157ad8f526e7f00723b9eb9f +"function-bind@npm:^1.1.2": + version: 1.1.2 + resolution: "function-bind@npm:1.1.2" + checksum: 2b0ff4ce708d99715ad14a6d1f894e2a83242e4a52ccfcefaee5e40050562e5f6dafc1adbb4ce2d4ab47279a45dc736ab91ea5042d843c3c092820dfe032efb1 + languageName: node + linkType: hard + +"function.prototype.name@npm:^1.1.5, function.prototype.name@npm:^1.1.6": + version: 1.1.6 + resolution: "function.prototype.name@npm:1.1.6" + dependencies: + call-bind: ^1.0.2 + define-properties: ^1.2.0 + es-abstract: ^1.22.1 + functions-have-names: ^1.2.3 + checksum: 7a3f9bd98adab09a07f6e1f03da03d3f7c26abbdeaeee15223f6c04a9fb5674792bdf5e689dac19b97ac71de6aad2027ba3048a9b883aa1b3173eed6ab07f479 + languageName: node + linkType: hard + +"functions-have-names@npm:^1.2.3": + version: 1.2.3 + resolution: "functions-have-names@npm:1.2.3" + checksum: c3f1f5ba20f4e962efb71344ce0a40722163e85bee2101ce25f88214e78182d2d2476aa85ef37950c579eb6cf6ee811c17b3101bb84004bb75655f3e33f3fdb5 languageName: node linkType: hard @@ -5702,7 +6002,7 @@ __metadata: languageName: node linkType: hard -"get-intrinsic@npm:^1.0.2, get-intrinsic@npm:^1.1.0, get-intrinsic@npm:^1.1.1": +"get-intrinsic@npm:^1.0.2, get-intrinsic@npm:^1.1.1": version: 1.1.1 resolution: "get-intrinsic@npm:1.1.1" dependencies: @@ -5713,6 +6013,18 @@ __metadata: languageName: node linkType: hard +"get-intrinsic@npm:^1.1.3, get-intrinsic@npm:^1.2.0, get-intrinsic@npm:^1.2.1, get-intrinsic@npm:^1.2.2": + version: 1.2.2 + resolution: "get-intrinsic@npm:1.2.2" + dependencies: + function-bind: ^1.1.2 + has-proto: ^1.0.1 + has-symbols: ^1.0.3 + hasown: ^2.0.0 + checksum: 447ff0724df26829908dc033b62732359596fcf66027bc131ab37984afb33842d9cd458fd6cecadfe7eac22fd8a54b349799ed334cf2726025c921c7250e7417 + languageName: node + linkType: hard + "get-package-type@npm:^0.1.0": version: 0.1.0 resolution: "get-package-type@npm:0.1.0" @@ -5720,13 +6032,6 @@ __metadata: languageName: node linkType: hard -"get-stdin@npm:^6.0.0": - version: 6.0.0 - resolution: "get-stdin@npm:6.0.0" - checksum: 593f6fb4fff4c8d49ec93a07c430c1edc6bd4fe7e429d222b5da2f367276a98809af9e90467ad88a2d83722ff95b9b35bbaba02b56801421c5e3668173fe12b4 - languageName: node - linkType: hard - "get-stream@npm:^4.0.0": version: 4.1.0 resolution: "get-stream@npm:4.1.0" @@ -5743,6 +6048,16 @@ __metadata: languageName: node linkType: hard +"get-symbol-description@npm:^1.0.0": + version: 1.0.0 + resolution: "get-symbol-description@npm:1.0.0" + dependencies: + call-bind: ^1.0.2 + get-intrinsic: ^1.1.1 + checksum: 9ceff8fe968f9270a37a1f73bf3f1f7bda69ca80f4f80850670e0e7b9444ff99323f7ac52f96567f8b5f5fbe7ac717a0d81d3407c7313e82810c6199446a5247 + languageName: node + linkType: hard + "get-value@npm:^2.0.3, get-value@npm:^2.0.6": version: 2.0.6 resolution: "get-value@npm:2.0.6" @@ -5759,6 +6074,15 @@ __metadata: languageName: node linkType: hard +"glob-parent@npm:^6.0.2": + version: 6.0.2 + resolution: "glob-parent@npm:6.0.2" + dependencies: + is-glob: ^4.0.3 + checksum: c13ee97978bef4f55106b71e66428eb1512e71a7466ba49025fc2aec59a5bfb0954d5abd58fc5ee6c9b076eef4e1f6d3375c2e964b88466ca390da4419a786a8 + languageName: node + linkType: hard + "glob@npm:7.1.6": version: 7.1.6 resolution: "glob@npm:7.1.6" @@ -5794,12 +6118,21 @@ __metadata: languageName: node linkType: hard -"globals@npm:^13.6.0, globals@npm:^13.9.0": - version: 13.10.0 - resolution: "globals@npm:13.10.0" +"globals@npm:^13.19.0": + version: 13.24.0 + resolution: "globals@npm:13.24.0" dependencies: type-fest: ^0.20.2 - checksum: 64e45d96d634d2b047385eb5925de3abb5964cf4f3564eba493694f5ab1a8818b333f89d34b0f71f9b1d87391e6e25c5ca1a87094dd80a657d1d99b9321e1f4e + checksum: 56066ef058f6867c04ff203b8a44c15b038346a62efbc3060052a1016be9f56f4cf0b2cd45b74b22b81e521a889fc7786c73691b0549c2f3a6e825b3d394f43c + languageName: node + linkType: hard + +"globalthis@npm:^1.0.3": + version: 1.0.3 + resolution: "globalthis@npm:1.0.3" + dependencies: + define-properties: ^1.1.3 + checksum: fbd7d760dc464c886d0196166d92e5ffb4c84d0730846d6621a39fbbc068aeeb9c8d1421ad330e94b7bca4bb4ea092f5f21f3d36077812af5d098b4dc006c998 languageName: node linkType: hard @@ -5817,6 +6150,29 @@ __metadata: languageName: node linkType: hard +"globby@npm:^11.1.0": + version: 11.1.0 + resolution: "globby@npm:11.1.0" + dependencies: + array-union: ^2.1.0 + dir-glob: ^3.0.1 + fast-glob: ^3.2.9 + ignore: ^5.2.0 + merge2: ^1.4.1 + slash: ^3.0.0 + checksum: b4be8885e0cfa018fc783792942d53926c35c50b3aefd3fdcfb9d22c627639dc26bd2327a40a0b74b074100ce95bb7187bfeae2f236856aa3de183af7a02aea6 + languageName: node + linkType: hard + +"gopd@npm:^1.0.1": + version: 1.0.1 + resolution: "gopd@npm:1.0.1" + dependencies: + get-intrinsic: ^1.1.3 + checksum: a5ccfb8806e0917a94e0b3de2af2ea4979c1da920bc381667c260e00e7cafdbe844e2cb9c5bcfef4e5412e8bf73bab837285bc35c7ba73aaaf0134d4583393a6 + languageName: node + linkType: hard + "graceful-fs@npm:^4.1.11, graceful-fs@npm:^4.1.2, graceful-fs@npm:^4.1.3, graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.4, graceful-fs@npm:^4.2.6, graceful-fs@npm:^4.2.9": version: 4.2.11 resolution: "graceful-fs@npm:4.2.11" @@ -5824,6 +6180,13 @@ __metadata: languageName: node linkType: hard +"graphemer@npm:^1.4.0": + version: 1.4.0 + resolution: "graphemer@npm:1.4.0" + checksum: bab8f0be9b568857c7bec9fda95a89f87b783546d02951c40c33f84d05bb7da3fd10f863a9beb901463669b6583173a8c8cc6d6b306ea2b9b9d5d3d943c3a673 + languageName: node + linkType: hard + "has-bigints@npm:^1.0.1": version: 1.0.1 resolution: "has-bigints@npm:1.0.1" @@ -5831,6 +6194,13 @@ __metadata: languageName: node linkType: hard +"has-bigints@npm:^1.0.2": + version: 1.0.2 + resolution: "has-bigints@npm:1.0.2" + checksum: 390e31e7be7e5c6fe68b81babb73dfc35d413604d7ee5f56da101417027a4b4ce6a27e46eff97ad040c835b5d228676eae99a9b5c3bc0e23c8e81a49241ff45b + languageName: node + linkType: hard + "has-flag@npm:^3.0.0": version: 3.0.0 resolution: "has-flag@npm:3.0.0" @@ -5845,6 +6215,22 @@ __metadata: languageName: node linkType: hard +"has-property-descriptors@npm:^1.0.0": + version: 1.0.1 + resolution: "has-property-descriptors@npm:1.0.1" + dependencies: + get-intrinsic: ^1.2.2 + checksum: 2bcc6bf6ec6af375add4e4b4ef586e43674850a91ad4d46666d0b28ba8e1fd69e424c7677d24d60f69470ad0afaa2f3197f508b20b0bb7dd99a8ab77ffc4b7c4 + languageName: node + linkType: hard + +"has-proto@npm:^1.0.1": + version: 1.0.1 + resolution: "has-proto@npm:1.0.1" + checksum: febc5b5b531de8022806ad7407935e2135f1cc9e64636c3916c6842bd7995994ca3b29871ecd7954bd35f9e2986c17b3b227880484d22259e2f8e6ce63fd383e + languageName: node + linkType: hard + "has-symbols@npm:^1.0.1, has-symbols@npm:^1.0.2": version: 1.0.2 resolution: "has-symbols@npm:1.0.2" @@ -5852,6 +6238,22 @@ __metadata: languageName: node linkType: hard +"has-symbols@npm:^1.0.3": + version: 1.0.3 + resolution: "has-symbols@npm:1.0.3" + checksum: a054c40c631c0d5741a8285010a0777ea0c068f99ed43e5d6eb12972da223f8af553a455132fdb0801bdcfa0e0f443c0c03a68d8555aa529b3144b446c3f2410 + languageName: node + linkType: hard + +"has-tostringtag@npm:^1.0.0": + version: 1.0.0 + resolution: "has-tostringtag@npm:1.0.0" + dependencies: + has-symbols: ^1.0.2 + checksum: cc12eb28cb6ae22369ebaad3a8ab0799ed61270991be88f208d508076a1e99abe4198c965935ce85ea90b60c94ddda73693b0920b58e7ead048b4a391b502c1c + languageName: node + linkType: hard + "has-unicode@npm:^2.0.0": version: 2.0.1 resolution: "has-unicode@npm:2.0.1" @@ -5907,6 +6309,15 @@ __metadata: languageName: node linkType: hard +"hasown@npm:^2.0.0": + version: 2.0.0 + resolution: "hasown@npm:2.0.0" + dependencies: + function-bind: ^1.1.2 + checksum: 6151c75ca12554565098641c98a40f4cc86b85b0fd5b6fe92360967e4605a4f9610f7757260b4e8098dd1c2ce7f4b095f2006fe72a570e3b6d2d28de0298c176 + languageName: node + linkType: hard + "hermes-estree@npm:0.8.0": version: 0.8.0 resolution: "hermes-estree@npm:0.8.0" @@ -5932,13 +6343,6 @@ __metadata: languageName: node linkType: hard -"hosted-git-info@npm:^2.1.4": - version: 2.8.9 - resolution: "hosted-git-info@npm:2.8.9" - checksum: c955394bdab888a1e9bb10eb33029e0f7ce5a2ac7b3f158099dc8c486c99e73809dca609f5694b223920ca2174db33d32b12f9a2a47141dc59607c29da5a62dd - languageName: node - linkType: hard - "html-encoding-sniffer@npm:^3.0.0": version: 3.0.0 resolution: "html-encoding-sniffer@npm:3.0.0" @@ -6048,13 +6452,6 @@ __metadata: languageName: node linkType: hard -"ignore@npm:^4.0.6": - version: 4.0.6 - resolution: "ignore@npm:4.0.6" - checksum: 248f82e50a430906f9ee7f35e1158e3ec4c3971451dd9f99c9bc1548261b4db2b99709f60ac6c6cac9333494384176cc4cc9b07acbe42d52ac6a09cad734d800 - languageName: node - linkType: hard - "ignore@npm:^5.1.4": version: 5.1.8 resolution: "ignore@npm:5.1.8" @@ -6062,6 +6459,13 @@ __metadata: languageName: node linkType: hard +"ignore@npm:^5.2.0, ignore@npm:^5.2.4": + version: 5.3.0 + resolution: "ignore@npm:5.3.0" + checksum: 2736da6621f14ced652785cb05d86301a66d70248597537176612bd0c8630893564bd5f6421f8806b09e8472e75c591ef01672ab8059c07c6eb2c09cefe04bf9 + languageName: node + linkType: hard + "image-size@npm:^0.6.0": version: 0.6.3 resolution: "image-size@npm:0.6.3" @@ -6088,7 +6492,7 @@ __metadata: languageName: node linkType: hard -"import-fresh@npm:^3.0.0, import-fresh@npm:^3.2.1": +"import-fresh@npm:^3.2.1": version: 3.3.0 resolution: "import-fresh@npm:3.3.0" dependencies: @@ -6162,14 +6566,14 @@ __metadata: languageName: node linkType: hard -"internal-slot@npm:^1.0.3": - version: 1.0.3 - resolution: "internal-slot@npm:1.0.3" +"internal-slot@npm:^1.0.5": + version: 1.0.6 + resolution: "internal-slot@npm:1.0.6" dependencies: - get-intrinsic: ^1.1.0 - has: ^1.0.3 + get-intrinsic: ^1.2.2 + hasown: ^2.0.0 side-channel: ^1.0.4 - checksum: 1944f92e981e47aebc98a88ff0db579fd90543d937806104d0b96557b10c1f170c51fb777b97740a8b6ddeec585fca8c39ae99fd08a8e058dfc8ab70937238bf + checksum: 7872454888047553ce97a3fa1da7cc054a28ec5400a9c2e9f4dbe4fe7c1d041cb8e8301467614b80d4246d50377aad2fb58860b294ed74d6700cc346b6f89549 languageName: node linkType: hard @@ -6207,6 +6611,17 @@ __metadata: languageName: node linkType: hard +"is-array-buffer@npm:^3.0.1, is-array-buffer@npm:^3.0.2": + version: 3.0.2 + resolution: "is-array-buffer@npm:3.0.2" + dependencies: + call-bind: ^1.0.2 + get-intrinsic: ^1.2.0 + is-typed-array: ^1.1.10 + checksum: dcac9dda66ff17df9cabdc58214172bf41082f956eab30bb0d86bc0fab1e44b690fc8e1f855cf2481245caf4e8a5a006a982a71ddccec84032ed41f9d8da8c14 + languageName: node + linkType: hard + "is-arrayish@npm:^0.2.1": version: 0.2.1 resolution: "is-arrayish@npm:0.2.1" @@ -6214,6 +6629,15 @@ __metadata: languageName: node linkType: hard +"is-async-function@npm:^2.0.0": + version: 2.0.0 + resolution: "is-async-function@npm:2.0.0" + dependencies: + has-tostringtag: ^1.0.0 + checksum: e3471d95e6c014bf37cad8a93f2f4b6aac962178e0a5041e8903147166964fdc1c5c1d2ef87e86d77322c370ca18f2ea004fa7420581fa747bcaf7c223069dbd + languageName: node + linkType: hard + "is-bigint@npm:^1.0.1": version: 1.0.2 resolution: "is-bigint@npm:1.0.2" @@ -6255,6 +6679,13 @@ __metadata: languageName: node linkType: hard +"is-callable@npm:^1.1.3, is-callable@npm:^1.2.7": + version: 1.2.7 + resolution: "is-callable@npm:1.2.7" + checksum: 61fd57d03b0d984e2ed3720fb1c7a897827ea174bd44402878e059542ea8c4aeedee0ea0985998aa5cc2736b2fa6e271c08587addb5b3959ac52cf665173d1ac + languageName: node + linkType: hard + "is-callable@npm:^1.1.4, is-callable@npm:^1.2.3": version: 1.2.3 resolution: "is-callable@npm:1.2.3" @@ -6262,7 +6693,7 @@ __metadata: languageName: node linkType: hard -"is-core-module@npm:^2.1.0, is-core-module@npm:^2.2.0, is-core-module@npm:^2.4.0": +"is-core-module@npm:^2.1.0, is-core-module@npm:^2.2.0": version: 2.5.0 resolution: "is-core-module@npm:2.5.0" dependencies: @@ -6271,6 +6702,15 @@ __metadata: languageName: node linkType: hard +"is-core-module@npm:^2.13.0, is-core-module@npm:^2.13.1": + version: 2.13.1 + resolution: "is-core-module@npm:2.13.1" + dependencies: + hasown: ^2.0.0 + checksum: 256559ee8a9488af90e4bad16f5583c6d59e92f0742e9e8bb4331e758521ee86b810b93bae44f390766ffbc518a0488b18d9dab7da9a5ff997d499efc9403f7c + languageName: node + linkType: hard + "is-data-descriptor@npm:^0.1.4": version: 0.1.4 resolution: "is-data-descriptor@npm:0.1.4" @@ -6296,6 +6736,15 @@ __metadata: languageName: node linkType: hard +"is-date-object@npm:^1.0.5": + version: 1.0.5 + resolution: "is-date-object@npm:1.0.5" + dependencies: + has-tostringtag: ^1.0.0 + checksum: baa9077cdf15eb7b58c79398604ca57379b2fc4cf9aa7a9b9e295278648f628c9b201400c01c5e0f7afae56507d741185730307cbe7cad3b9f90a77e5ee342fc + languageName: node + linkType: hard + "is-descriptor@npm:^0.1.0": version: 0.1.6 resolution: "is-descriptor@npm:0.1.6" @@ -6348,6 +6797,15 @@ __metadata: languageName: node linkType: hard +"is-finalizationregistry@npm:^1.0.2": + version: 1.0.2 + resolution: "is-finalizationregistry@npm:1.0.2" + dependencies: + call-bind: ^1.0.2 + checksum: 4f243a8e06228cd45bdab8608d2cb7abfc20f6f0189c8ac21ea8d603f1f196eabd531ce0bb8e08cbab047e9845ef2c191a3761c9a17ad5cabf8b35499c4ad35d + languageName: node + linkType: hard + "is-fullwidth-code-point@npm:^1.0.0": version: 1.0.0 resolution: "is-fullwidth-code-point@npm:1.0.0" @@ -6378,6 +6836,15 @@ __metadata: languageName: node linkType: hard +"is-generator-function@npm:^1.0.10": + version: 1.0.10 + resolution: "is-generator-function@npm:1.0.10" + dependencies: + has-tostringtag: ^1.0.0 + checksum: d54644e7dbaccef15ceb1e5d91d680eb5068c9ee9f9eb0a9e04173eb5542c9b51b5ab52c5537f5703e48d5fddfd376817c1ca07a84a407b7115b769d4bdde72b + languageName: node + linkType: hard + "is-glob@npm:^4.0.0, is-glob@npm:^4.0.1, is-glob@npm:~4.0.1": version: 4.0.1 resolution: "is-glob@npm:4.0.1" @@ -6387,6 +6854,15 @@ __metadata: languageName: node linkType: hard +"is-glob@npm:^4.0.3": + version: 4.0.3 + resolution: "is-glob@npm:4.0.3" + dependencies: + is-extglob: ^2.1.1 + checksum: d381c1319fcb69d341cc6e6c7cd588e17cd94722d9a32dbd60660b993c4fb7d0f19438674e68dfec686d09b7c73139c9166b47597f846af387450224a8101ab4 + languageName: node + linkType: hard + "is-interactive@npm:^1.0.0": version: 1.0.0 resolution: "is-interactive@npm:1.0.0" @@ -6401,6 +6877,13 @@ __metadata: languageName: node linkType: hard +"is-map@npm:^2.0.1": + version: 2.0.2 + resolution: "is-map@npm:2.0.2" + checksum: ace3d0ecd667bbdefdb1852de601268f67f2db725624b1958f279316e13fecb8fa7df91fd60f690d7417b4ec180712f5a7ee967008e27c65cfd475cc84337728 + languageName: node + linkType: hard + "is-negative-zero@npm:^2.0.1": version: 2.0.1 resolution: "is-negative-zero@npm:2.0.1" @@ -6408,6 +6891,13 @@ __metadata: languageName: node linkType: hard +"is-negative-zero@npm:^2.0.2": + version: 2.0.2 + resolution: "is-negative-zero@npm:2.0.2" + checksum: f3232194c47a549da60c3d509c9a09be442507616b69454716692e37ae9f37c4dea264fb208ad0c9f3efd15a796a46b79df07c7e53c6227c32170608b809149a + languageName: node + linkType: hard + "is-number-object@npm:^1.0.4": version: 1.0.5 resolution: "is-number-object@npm:1.0.5" @@ -6431,6 +6921,13 @@ __metadata: languageName: node linkType: hard +"is-path-inside@npm:^3.0.3": + version: 3.0.3 + resolution: "is-path-inside@npm:3.0.3" + checksum: abd50f06186a052b349c15e55b182326f1936c89a78bf6c8f2b707412517c097ce04bc49a0ca221787bc44e1049f51f09a2ffb63d22899051988d3a618ba13e9 + languageName: node + linkType: hard + "is-plain-object@npm:^2.0.3, is-plain-object@npm:^2.0.4": version: 2.0.4 resolution: "is-plain-object@npm:2.0.4" @@ -6457,6 +6954,32 @@ __metadata: languageName: node linkType: hard +"is-regex@npm:^1.1.4": + version: 1.1.4 + resolution: "is-regex@npm:1.1.4" + dependencies: + call-bind: ^1.0.2 + has-tostringtag: ^1.0.0 + checksum: 362399b33535bc8f386d96c45c9feb04cf7f8b41c182f54174c1a45c9abbbe5e31290bbad09a458583ff6bf3b2048672cdb1881b13289569a7c548370856a652 + languageName: node + linkType: hard + +"is-set@npm:^2.0.1": + version: 2.0.2 + resolution: "is-set@npm:2.0.2" + checksum: b64343faf45e9387b97a6fd32be632ee7b269bd8183701f3b3f5b71a7cf00d04450ed8669d0bd08753e08b968beda96fca73a10fd0ff56a32603f64deba55a57 + languageName: node + linkType: hard + +"is-shared-array-buffer@npm:^1.0.2": + version: 1.0.2 + resolution: "is-shared-array-buffer@npm:1.0.2" + dependencies: + call-bind: ^1.0.2 + checksum: 9508929cf14fdc1afc9d61d723c6e8d34f5e117f0bffda4d97e7a5d88c3a8681f633a74f8e3ad1fe92d5113f9b921dc5ca44356492079612f9a247efbce7032a + languageName: node + linkType: hard + "is-stream@npm:^1.1.0": version: 1.1.0 resolution: "is-stream@npm:1.1.0" @@ -6478,6 +7001,15 @@ __metadata: languageName: node linkType: hard +"is-string@npm:^1.0.7": + version: 1.0.7 + resolution: "is-string@npm:1.0.7" + dependencies: + has-tostringtag: ^1.0.0 + checksum: 323b3d04622f78d45077cf89aab783b2f49d24dc641aa89b5ad1a72114cfeff2585efc8c12ef42466dff32bde93d839ad321b26884cf75e5a7892a938b089989 + languageName: node + linkType: hard + "is-symbol@npm:^1.0.2, is-symbol@npm:^1.0.3": version: 1.0.4 resolution: "is-symbol@npm:1.0.4" @@ -6487,6 +7019,15 @@ __metadata: languageName: node linkType: hard +"is-typed-array@npm:^1.1.10, is-typed-array@npm:^1.1.12, is-typed-array@npm:^1.1.9": + version: 1.1.12 + resolution: "is-typed-array@npm:1.1.12" + dependencies: + which-typed-array: ^1.1.11 + checksum: 4c89c4a3be07186caddadf92197b17fda663a9d259ea0d44a85f171558270d36059d1c386d34a12cba22dfade5aba497ce22778e866adc9406098c8fc4771796 + languageName: node + linkType: hard + "is-unicode-supported@npm:^0.1.0": version: 0.1.0 resolution: "is-unicode-supported@npm:0.1.0" @@ -6494,6 +7035,32 @@ __metadata: languageName: node linkType: hard +"is-weakmap@npm:^2.0.1": + version: 2.0.1 + resolution: "is-weakmap@npm:2.0.1" + checksum: 1222bb7e90c32bdb949226e66d26cb7bce12e1e28e3e1b40bfa6b390ba3e08192a8664a703dff2a00a84825f4e022f9cd58c4599ff9981ab72b1d69479f4f7f6 + languageName: node + linkType: hard + +"is-weakref@npm:^1.0.2": + version: 1.0.2 + resolution: "is-weakref@npm:1.0.2" + dependencies: + call-bind: ^1.0.2 + checksum: 95bd9a57cdcb58c63b1c401c60a474b0f45b94719c30f548c891860f051bc2231575c290a6b420c6bc6e7ed99459d424c652bd5bf9a1d5259505dc35b4bf83de + languageName: node + linkType: hard + +"is-weakset@npm:^2.0.1": + version: 2.0.2 + resolution: "is-weakset@npm:2.0.2" + dependencies: + call-bind: ^1.0.2 + get-intrinsic: ^1.1.1 + checksum: 5d8698d1fa599a0635d7ca85be9c26d547b317ed8fd83fc75f03efbe75d50001b5eececb1e9971de85fcde84f69ae6f8346bc92d20d55d46201d328e4c74a367 + languageName: node + linkType: hard + "is-windows@npm:^1.0.2": version: 1.0.2 resolution: "is-windows@npm:1.0.2" @@ -6515,6 +7082,13 @@ __metadata: languageName: node linkType: hard +"isarray@npm:^2.0.5": + version: 2.0.5 + resolution: "isarray@npm:2.0.5" + checksum: bd5bbe4104438c4196ba58a54650116007fa0262eccef13a4c55b2e09a5b36b59f1e75b9fcc49883dd9d4953892e6fc007eef9e9155648ceea036e184b0f930a + languageName: node + linkType: hard + "isexe@npm:^2.0.0": version: 2.0.0 resolution: "isexe@npm:2.0.0" @@ -6590,6 +7164,19 @@ __metadata: languageName: node linkType: hard +"iterator.prototype@npm:^1.1.2": + version: 1.1.2 + resolution: "iterator.prototype@npm:1.1.2" + dependencies: + define-properties: ^1.2.1 + get-intrinsic: ^1.2.1 + has-symbols: ^1.0.3 + reflect.getprototypeof: ^1.0.4 + set-function-name: ^2.0.1 + checksum: d8a507e2ccdc2ce762e8a1d3f4438c5669160ac72b88b648e59a688eec6bc4e64b22338e74000518418d9e693faf2a092d2af21b9ec7dbf7763b037a54701168 + languageName: node + linkType: hard + "jest-changed-files@npm:^29.5.0": version: 29.5.0 resolution: "jest-changed-files@npm:29.5.0" @@ -7205,6 +7792,17 @@ __metadata: languageName: node linkType: hard +"js-yaml@npm:^4.1.0": + version: 4.1.0 + resolution: "js-yaml@npm:4.1.0" + dependencies: + argparse: ^2.0.1 + bin: + js-yaml: bin/js-yaml.js + checksum: c7830dfd456c3ef2c6e355cc5a92e6700ceafa1d14bba54497b34a99f0376cecbb3e9ac14d3e5849b426d5a5140709a66237a8c991c675431271c4ce5504151a + languageName: node + linkType: hard + "jsc-android@npm:^250231.0.0": version: 250231.0.0 resolution: "jsc-android@npm:250231.0.0" @@ -7328,13 +7926,6 @@ __metadata: languageName: node linkType: hard -"json-schema-traverse@npm:^1.0.0": - version: 1.0.0 - resolution: "json-schema-traverse@npm:1.0.0" - checksum: 02f2f466cdb0362558b2f1fd5e15cce82ef55d60cd7f8fa828cf35ba74330f8d767fcae5c5c2adb7851fa811766c694b9405810879bc4e1ddd78a7c0e03658ad - languageName: node - linkType: hard - "json-stable-stringify-without-jsonify@npm:^1.0.1": version: 1.0.1 resolution: "json-stable-stringify-without-jsonify@npm:1.0.1" @@ -7342,7 +7933,18 @@ __metadata: languageName: node linkType: hard -"json5@npm:^2.2.0, json5@npm:^2.2.2, json5@npm:^2.2.3": +"json5@npm:^1.0.2": + version: 1.0.2 + resolution: "json5@npm:1.0.2" + dependencies: + minimist: ^1.2.0 + bin: + json5: lib/cli.js + checksum: 866458a8c58a95a49bef3adba929c625e82532bcff1fe93f01d29cb02cac7c3fe1f4b79951b7792c2da9de0b32871a8401a6e3c5b36778ad852bf5b8a61165d7 + languageName: node + linkType: hard + +"json5@npm:^2.2.2, json5@npm:^2.2.3": version: 2.2.3 resolution: "json5@npm:2.2.3" bin: @@ -7453,18 +8055,6 @@ __metadata: languageName: node linkType: hard -"load-json-file@npm:^4.0.0": - version: 4.0.0 - resolution: "load-json-file@npm:4.0.0" - dependencies: - graceful-fs: ^4.1.2 - parse-json: ^4.0.0 - pify: ^3.0.0 - strip-bom: ^3.0.0 - checksum: 8f5d6d93ba64a9620445ee9bde4d98b1eac32cf6c8c2d20d44abfa41a6945e7969456ab5f1ca2fb06ee32e206c9769a20eec7002fe290de462e8c884b6b8b356 - languageName: node - linkType: hard - "load-tsconfig@npm:^0.2.3": version: 0.2.5 resolution: "load-tsconfig@npm:0.2.5" @@ -7472,16 +8062,6 @@ __metadata: languageName: node linkType: hard -"locate-path@npm:^2.0.0": - version: 2.0.0 - resolution: "locate-path@npm:2.0.0" - dependencies: - p-locate: ^2.0.0 - path-exists: ^3.0.0 - checksum: 02d581edbbbb0fa292e28d96b7de36b5b62c2fa8b5a7e82638ebb33afa74284acf022d3b1e9ae10e3ffb7658fbc49163fcd5e76e7d1baaa7801c3e05a81da755 - languageName: node - linkType: hard - "locate-path@npm:^3.0.0": version: 3.0.0 resolution: "locate-path@npm:3.0.0" @@ -7510,13 +8090,6 @@ __metadata: languageName: node linkType: hard -"lodash.clonedeep@npm:^4.5.0": - version: 4.5.0 - resolution: "lodash.clonedeep@npm:4.5.0" - checksum: 92c46f094b064e876a23c97f57f81fbffd5d760bf2d8a1c61d85db6d1e488c66b0384c943abee4f6af7debf5ad4e4282e74ff83177c9e63d8ff081a4837c3489 - languageName: node - linkType: hard - "lodash.debounce@npm:^4.0.8": version: 4.0.8 resolution: "lodash.debounce@npm:4.0.8" @@ -7566,13 +8139,6 @@ __metadata: languageName: node linkType: hard -"lodash.truncate@npm:^4.4.2": - version: 4.4.2 - resolution: "lodash.truncate@npm:4.4.2" - checksum: b463d8a382cfb5f0e71c504dcb6f807a7bd379ff1ea216669aa42c52fc28c54e404bfbd96791aa09e6df0de2c1d7b8f1b7f4b1a61f324d38fe98bc535aeee4f5 - languageName: node - linkType: hard - "lodash@npm:^4.17.15, lodash@npm:~4.17.15": version: 4.17.21 resolution: "lodash@npm:4.17.21" @@ -7729,7 +8295,7 @@ __metadata: languageName: node linkType: hard -"merge2@npm:^1.3.0": +"merge2@npm:^1.3.0, merge2@npm:^1.4.1": version: 1.4.1 resolution: "merge2@npm:1.4.1" checksum: 7268db63ed5169466540b6fb947aec313200bcf6d40c5ab722c22e242f651994619bcd85601602972d3c85bd2cc45a358a4c61937e9f11a061919a1da569b0c2 @@ -8192,6 +8758,15 @@ __metadata: languageName: node linkType: hard +"minimatch@npm:9.0.3": + version: 9.0.3 + resolution: "minimatch@npm:9.0.3" + dependencies: + brace-expansion: ^2.0.1 + checksum: 253487976bf485b612f16bf57463520a14f512662e592e95c571afdab1442a6a6864b6c88f248ce6fc4ff0b6de04ac7aa6c8bb51e868e99d1d65eb0658a708b5 + languageName: node + linkType: hard + "minimatch@npm:^3.0.2, minimatch@npm:^3.0.4": version: 3.0.4 resolution: "minimatch@npm:3.0.4" @@ -8201,8 +8776,24 @@ __metadata: languageName: node linkType: hard -"minimist@npm:^1.2.0, minimist@npm:^1.2.5": - version: 1.2.5 +"minimatch@npm:^3.0.5, minimatch@npm:^3.1.2": + version: 3.1.2 + resolution: "minimatch@npm:3.1.2" + dependencies: + brace-expansion: ^1.1.7 + checksum: c154e566406683e7bcb746e000b84d74465b3a832c45d59912b9b55cd50dee66e5c4b1e5566dba26154040e51672f9aa450a9aef0c97cfc7336b78b7afb9540a + languageName: node + linkType: hard + +"minimist@npm:^1.2.0, minimist@npm:^1.2.6": + version: 1.2.8 + resolution: "minimist@npm:1.2.8" + checksum: 75a6d645fb122dad29c06a7597bddea977258957ed88d7a6df59b5cd3fe4a527e253e9bbf2e783e4b73657f9098b96a5fe96ab8a113655d4109108577ecf85b0 + languageName: node + linkType: hard + +"minimist@npm:^1.2.5": + version: 1.2.5 resolution: "minimist@npm:1.2.5" checksum: 86706ce5b36c16bfc35c5fe3dbb01d5acdc9a22f2b6cc810b6680656a1d2c0e44a0159c9a3ba51fb072bb5c203e49e10b51dcd0eec39c481f4c42086719bae52 languageName: node @@ -8469,18 +9060,6 @@ __metadata: languageName: node linkType: hard -"normalize-package-data@npm:^2.3.2": - version: 2.5.0 - resolution: "normalize-package-data@npm:2.5.0" - dependencies: - hosted-git-info: ^2.1.4 - resolve: ^1.10.0 - semver: 2 || 3 || 4 || 5 - validate-npm-package-license: ^3.0.1 - checksum: 7999112efc35a6259bc22db460540cae06564aa65d0271e3bdfa86876d08b0e578b7b5b0028ee61b23f1cae9fc0e7847e4edc0948d3068a39a2a82853efc8499 - languageName: node - linkType: hard - "normalize-path@npm:^2.1.1": version: 2.1.1 resolution: "normalize-path@npm:2.1.1" @@ -8580,6 +9159,13 @@ __metadata: languageName: node linkType: hard +"object-inspect@npm:^1.13.1": + version: 1.13.1 + resolution: "object-inspect@npm:1.13.1" + checksum: 7d9fa9221de3311dcb5c7c307ee5dc011cdd31dc43624b7c184b3840514e118e05ef0002be5388304c416c0eb592feb46e983db12577fc47e47d5752fbbfb61f + languageName: node + linkType: hard + "object-keys@npm:^1.0.12, object-keys@npm:^1.1.1": version: 1.1.1 resolution: "object-keys@npm:1.1.1" @@ -8608,26 +9194,59 @@ __metadata: languageName: node linkType: hard -"object.entries@npm:^1.1.4": - version: 1.1.4 - resolution: "object.entries@npm:1.1.4" +"object.assign@npm:^4.1.4": + version: 4.1.5 + resolution: "object.assign@npm:4.1.5" + dependencies: + call-bind: ^1.0.5 + define-properties: ^1.2.1 + has-symbols: ^1.0.3 + object-keys: ^1.1.1 + checksum: f9aeac0541661370a1fc86e6a8065eb1668d3e771f7dbb33ee54578201336c057b21ee61207a186dd42db0c62201d91aac703d20d12a79fc79c353eed44d4e25 + languageName: node + linkType: hard + +"object.entries@npm:^1.1.6": + version: 1.1.7 + resolution: "object.entries@npm:1.1.7" dependencies: call-bind: ^1.0.2 - define-properties: ^1.1.3 - es-abstract: ^1.18.2 - checksum: 1ddd2e28f5ecfe2369fe198439ec0457529f3eec85c7f43870be8de3ec3d98024b014ddb4a769ca48925e47ed76c69a51d8bf2c9886ed43174e3a1d33c2dbe38 + define-properties: ^1.2.0 + es-abstract: ^1.22.1 + checksum: da287d434e7e32989586cd734382364ba826a2527f2bc82e6acbf9f9bfafa35d51018b66ec02543ffdfa2a5ba4af2b6f1ca6e588c65030cb4fd9c67d6ced594c languageName: node linkType: hard -"object.fromentries@npm:^2.0.4": - version: 2.0.4 - resolution: "object.fromentries@npm:2.0.4" +"object.fromentries@npm:^2.0.6, object.fromentries@npm:^2.0.7": + version: 2.0.7 + resolution: "object.fromentries@npm:2.0.7" dependencies: call-bind: ^1.0.2 - define-properties: ^1.1.3 - es-abstract: ^1.18.0-next.2 - has: ^1.0.3 - checksum: 1e8e991c43a463a6389c6ee6935ef3843931fb012c5eed2ec30e3d5cf3760cb853f527723cdc98fb770d9c0cd068449448b03c303f527e7926a97d43daaa5c66 + define-properties: ^1.2.0 + es-abstract: ^1.22.1 + checksum: 7341ce246e248b39a431b87a9ddd331ff52a454deb79afebc95609f94b1f8238966cf21f52188f2a353f0fdf83294f32f1ebf1f7826aae915ebad21fd0678065 + languageName: node + linkType: hard + +"object.groupby@npm:^1.0.1": + version: 1.0.1 + resolution: "object.groupby@npm:1.0.1" + dependencies: + call-bind: ^1.0.2 + define-properties: ^1.2.0 + es-abstract: ^1.22.1 + get-intrinsic: ^1.2.1 + checksum: d7959d6eaaba358b1608066fc67ac97f23ce6f573dc8fc661f68c52be165266fcb02937076aedb0e42722fdda0bdc0bbf74778196ac04868178888e9fd3b78b5 + languageName: node + linkType: hard + +"object.hasown@npm:^1.1.2": + version: 1.1.3 + resolution: "object.hasown@npm:1.1.3" + dependencies: + define-properties: ^1.2.0 + es-abstract: ^1.22.1 + checksum: 76bc17356f6124542fb47e5d0e78d531eafa4bba3fc2d6fc4b1a8ce8b6878912366c0d99f37ce5c84ada8fd79df7aa6ea1214fddf721f43e093ad2df51f27da1 languageName: node linkType: hard @@ -8640,14 +9259,14 @@ __metadata: languageName: node linkType: hard -"object.values@npm:^1.1.3, object.values@npm:^1.1.4": - version: 1.1.4 - resolution: "object.values@npm:1.1.4" +"object.values@npm:^1.1.6, object.values@npm:^1.1.7": + version: 1.1.7 + resolution: "object.values@npm:1.1.7" dependencies: call-bind: ^1.0.2 - define-properties: ^1.1.3 - es-abstract: ^1.18.2 - checksum: 1a2f1e9d0bcfc299b8491170a50e6e7ca23392641d7781a8528e96c72f0013ba7ee731792ff8586c8eaec0328acda16c59622924c82c58bd0eb5c4ee67794856 + define-properties: ^1.2.0 + es-abstract: ^1.22.1 + checksum: f3e4ae4f21eb1cc7cebb6ce036d4c67b36e1c750428d7b7623c56a0db90edced63d08af8a316d81dfb7c41a3a5fa81b05b7cc9426e98d7da986b1682460f0777 languageName: node linkType: hard @@ -8708,17 +9327,17 @@ __metadata: languageName: node linkType: hard -"optionator@npm:^0.9.1": - version: 0.9.1 - resolution: "optionator@npm:0.9.1" +"optionator@npm:^0.9.3": + version: 0.9.3 + resolution: "optionator@npm:0.9.3" dependencies: + "@aashutoshrathi/word-wrap": ^1.2.3 deep-is: ^0.1.3 fast-levenshtein: ^2.0.6 levn: ^0.4.1 prelude-ls: ^1.2.1 type-check: ^0.4.0 - word-wrap: ^1.2.3 - checksum: dbc6fa065604b24ea57d734261914e697bd73b69eff7f18e967e8912aa2a40a19a9f599a507fa805be6c13c24c4eae8c71306c239d517d42d4c041c942f508a0 + checksum: 09281999441f2fe9c33a5eeab76700795365a061563d66b098923eb719251a42bdbe432790d35064d0816ead9296dbeb1ad51a733edf4167c96bd5d0882e428a languageName: node linkType: hard @@ -8753,15 +9372,6 @@ __metadata: languageName: node linkType: hard -"p-limit@npm:^1.1.0": - version: 1.3.0 - resolution: "p-limit@npm:1.3.0" - dependencies: - p-try: ^1.0.0 - checksum: 281c1c0b8c82e1ac9f81acd72a2e35d402bf572e09721ce5520164e9de07d8274451378a3470707179ad13240535558f4b277f02405ad752e08c7d5b0d54fbfd - languageName: node - linkType: hard - "p-limit@npm:^2.0.0, p-limit@npm:^2.2.0": version: 2.3.0 resolution: "p-limit@npm:2.3.0" @@ -8780,15 +9390,6 @@ __metadata: languageName: node linkType: hard -"p-locate@npm:^2.0.0": - version: 2.0.0 - resolution: "p-locate@npm:2.0.0" - dependencies: - p-limit: ^1.1.0 - checksum: e2dceb9b49b96d5513d90f715780f6f4972f46987dc32a0e18bc6c3fc74a1a5d73ec5f81b1398af5e58b99ea1ad03fd41e9181c01fa81b4af2833958696e3081 - languageName: node - linkType: hard - "p-locate@npm:^3.0.0": version: 3.0.0 resolution: "p-locate@npm:3.0.0" @@ -8825,13 +9426,6 @@ __metadata: languageName: node linkType: hard -"p-try@npm:^1.0.0": - version: 1.0.0 - resolution: "p-try@npm:1.0.0" - checksum: 3b5303f77eb7722144154288bfd96f799f8ff3e2b2b39330efe38db5dd359e4fb27012464cd85cb0a76e9b7edd1b443568cb3192c22e7cffc34989df0bafd605 - languageName: node - linkType: hard - "p-try@npm:^2.0.0": version: 2.2.0 resolution: "p-try@npm:2.2.0" @@ -8928,22 +9522,13 @@ __metadata: languageName: node linkType: hard -"path-parse@npm:^1.0.6": +"path-parse@npm:^1.0.6, path-parse@npm:^1.0.7": version: 1.0.7 resolution: "path-parse@npm:1.0.7" checksum: 49abf3d81115642938a8700ec580da6e830dde670be21893c62f4e10bd7dd4c3742ddc603fe24f898cba7eb0c6bc1777f8d9ac14185d34540c6d4d80cd9cae8a languageName: node linkType: hard -"path-type@npm:^3.0.0": - version: 3.0.0 - resolution: "path-type@npm:3.0.0" - dependencies: - pify: ^3.0.0 - checksum: 735b35e256bad181f38fa021033b1c33cfbe62ead42bb2222b56c210e42938eecb272ae1949f3b6db4ac39597a61b44edd8384623ec4d79bfdc9a9c0f12537a6 - languageName: node - linkType: hard - "path-type@npm:^4.0.0": version: 4.0.0 resolution: "path-type@npm:4.0.0" @@ -8965,13 +9550,6 @@ __metadata: languageName: node linkType: hard -"pify@npm:^3.0.0": - version: 3.0.0 - resolution: "pify@npm:3.0.0" - checksum: 6cdcbc3567d5c412450c53261a3f10991665d660961e06605decf4544a61a97a54fefe70a68d5c37080ff9d6f4cf51444c90198d1ba9f9309a6c0d6e9f5c4fde - languageName: node - linkType: hard - "pify@npm:^4.0.1": version: 4.0.1 resolution: "pify@npm:4.0.1" @@ -8986,15 +9564,6 @@ __metadata: languageName: node linkType: hard -"pkg-dir@npm:^2.0.0": - version: 2.0.0 - resolution: "pkg-dir@npm:2.0.0" - dependencies: - find-up: ^2.1.0 - checksum: 8c72b712305b51e1108f0ffda5ec1525a8307e54a5855db8fb1dcf77561a5ae98e2ba3b4814c9806a679f76b2f7e5dd98bde18d07e594ddd9fdd25e9cf242ea1 - languageName: node - linkType: hard - "pkg-dir@npm:^3.0.0": version: 3.0.0 resolution: "pkg-dir@npm:3.0.0" @@ -9013,15 +9582,6 @@ __metadata: languageName: node linkType: hard -"pkg-up@npm:^2.0.0": - version: 2.0.0 - resolution: "pkg-up@npm:2.0.0" - dependencies: - find-up: ^2.1.0 - checksum: de4b418175281a082e366ce1a919f032520ee53cf421578b35173f03816f6ec4c19e1552066840bb0988c3e1215859653948efd6ca3507a23f4f44229269500d - languageName: node - linkType: hard - "posix-character-classes@npm:^0.1.0": version: 0.1.1 resolution: "posix-character-classes@npm:0.1.1" @@ -9070,12 +9630,12 @@ __metadata: languageName: node linkType: hard -"prettier@npm:^2.1.2": - version: 2.3.2 - resolution: "prettier@npm:2.3.2" +"prettier@npm:^3.1.1": + version: 3.1.1 + resolution: "prettier@npm:3.1.1" bin: - prettier: bin-prettier.js - checksum: 17ce5784ac67621c292df58e2da60b2ee150c2d6aebea22a6ad9e52fcd6a5e66c349d0a8436ea3bd8ff9d778920a5f68000d7625b74f43558718a49755aa5259 + prettier: bin/prettier.cjs + checksum: e386855e3a1af86a748e16953f168be555ce66d6233f4ba54eb6449b88eb0c6b2ca79441b11eae6d28a7f9a5c96440ce50864b9d5f6356d331d39d6bb66c648e languageName: node linkType: hard @@ -9133,13 +9693,6 @@ __metadata: languageName: node linkType: hard -"progress@npm:^2.0.0": - version: 2.0.3 - resolution: "progress@npm:2.0.3" - checksum: f67403fe7b34912148d9252cb7481266a354bd99ce82c835f79070643bb3c6583d10dbcfda4d41e04bbc1d8437e9af0fb1e1f2135727878f5308682a579429b7 - languageName: node - linkType: hard - "promise-inflight@npm:^1.0.1": version: 1.0.1 resolution: "promise-inflight@npm:1.0.1" @@ -9176,7 +9729,7 @@ __metadata: languageName: node linkType: hard -"prop-types@npm:*, prop-types@npm:^15.7.2": +"prop-types@npm:*, prop-types@npm:^15.8.1": version: 15.8.1 resolution: "prop-types@npm:15.8.1" dependencies: @@ -9386,22 +9939,22 @@ __metadata: "@types/react": 18.2.25 "@types/react-native": ^0.67.4 "@types/use-sync-external-store": ^0.0.3 - "@typescript-eslint/eslint-plugin": ^4.28.0 - "@typescript-eslint/parser": ^4.28.0 + "@typescript-eslint/eslint-plugin": ^6.17.0 + "@typescript-eslint/parser": ^6.17.0 babel-eslint: ^10.1.0 babel-jest: ^29 codecov: ^3.8.0 cross-env: ^7.0.2 - eslint: ^7.12.0 - eslint-config-prettier: ^6.14.0 - eslint-plugin-import: ^2.22.1 - eslint-plugin-prettier: ^3.1.4 - eslint-plugin-react: ^7.21.5 + eslint: ^8.56.0 + eslint-config-prettier: ^9.1.0 + eslint-plugin-import: ^2.29.1 + eslint-plugin-prettier: ^5.1.2 + eslint-plugin-react: ^7.33.2 glob: ^7.1.6 jest: ^29 jest-environment-jsdom: ^29.5.0 metro-react-native-babel-preset: ^0.76.6 - prettier: ^2.1.2 + prettier: ^3.1.1 react: 18.2.0 react-dom: 18.2.0 react-native: ^0.71.11 @@ -9468,27 +10021,6 @@ __metadata: languageName: node linkType: hard -"read-pkg-up@npm:^3.0.0": - version: 3.0.0 - resolution: "read-pkg-up@npm:3.0.0" - dependencies: - find-up: ^2.0.0 - read-pkg: ^3.0.0 - checksum: 16175573f2914ab9788897bcbe2a62b5728d0075e62285b3680cebe97059e2911e0134a062cf6e51ebe3e3775312bc788ac2039ed6af38ec68d2c10c6f2b30fb - languageName: node - linkType: hard - -"read-pkg@npm:^3.0.0": - version: 3.0.0 - resolution: "read-pkg@npm:3.0.0" - dependencies: - load-json-file: ^4.0.0 - normalize-package-data: ^2.3.2 - path-type: ^3.0.0 - checksum: 398903ebae6c7e9965419a1062924436cc0b6f516c42c4679a90290d2f87448ed8f977e7aa2dbba4aa1ac09248628c43e493ac25b2bc76640e946035200e34c6 - languageName: node - linkType: hard - "readable-stream@npm:^2.0.2, readable-stream@npm:^2.0.6, readable-stream@npm:~2.3.6": version: 2.3.7 resolution: "readable-stream@npm:2.3.7" @@ -9597,6 +10129,20 @@ __metadata: languageName: node linkType: hard +"reflect.getprototypeof@npm:^1.0.4": + version: 1.0.4 + resolution: "reflect.getprototypeof@npm:1.0.4" + dependencies: + call-bind: ^1.0.2 + define-properties: ^1.2.0 + es-abstract: ^1.22.1 + get-intrinsic: ^1.2.1 + globalthis: ^1.0.3 + which-builtin-type: ^1.1.3 + checksum: 16e2361988dbdd23274b53fb2b1b9cefeab876c3941a2543b4cadac6f989e3db3957b07a44aac46cfceb3e06e2871785ec2aac992d824f76292f3b5ee87f66f2 + languageName: node + linkType: hard + "regenerate-unicode-properties@npm:^10.1.0": version: 10.1.0 resolution: "regenerate-unicode-properties@npm:10.1.0" @@ -9639,20 +10185,14 @@ __metadata: languageName: node linkType: hard -"regexp.prototype.flags@npm:^1.3.1": - version: 1.3.1 - resolution: "regexp.prototype.flags@npm:1.3.1" +"regexp.prototype.flags@npm:^1.5.0, regexp.prototype.flags@npm:^1.5.1": + version: 1.5.1 + resolution: "regexp.prototype.flags@npm:1.5.1" dependencies: call-bind: ^1.0.2 - define-properties: ^1.1.3 - checksum: 343595db5a6bbbb3bfbda881f9c74832cfa9fc0039e64a43843f6bb9158b78b921055266510800ed69d4997638890b17a46d55fd9f32961f53ae56ac3ec4dd05 - languageName: node - linkType: hard - -"regexpp@npm:^3.1.0": - version: 3.2.0 - resolution: "regexpp@npm:3.2.0" - checksum: a78dc5c7158ad9ddcfe01aa9144f46e192ddbfa7b263895a70a5c6c73edd9ce85faf7c0430e59ac38839e1734e275b9c3de5c57ee3ab6edc0e0b1bdebefccef8 + define-properties: ^1.2.0 + set-function-name: ^2.0.0 + checksum: 869edff00288442f8d7fa4c9327f91d85f3b3acf8cbbef9ea7a220345cf23e9241b6def9263d2c1ebcf3a316b0aa52ad26a43a84aa02baca3381717b3e307f47 languageName: node linkType: hard @@ -9709,13 +10249,6 @@ __metadata: languageName: node linkType: hard -"require-from-string@npm:^2.0.2": - version: 2.0.2 - resolution: "require-from-string@npm:2.0.2" - checksum: a03ef6895445f33a4015300c426699bc66b2b044ba7b670aa238610381b56d3f07c686251740d575e22f4c87531ba662d06937508f0f3c0f1ddc04db3130560b - languageName: node - linkType: hard - "require-main-filename@npm:^2.0.0": version: 2.0.0 resolution: "require-main-filename@npm:2.0.0" @@ -9781,7 +10314,7 @@ __metadata: languageName: node linkType: hard -"resolve@npm:^1.10.0, resolve@npm:^1.12.0, resolve@npm:^1.13.1, resolve@npm:^1.14.2, resolve@npm:^1.20.0": +"resolve@npm:^1.12.0, resolve@npm:^1.14.2, resolve@npm:^1.20.0": version: 1.20.0 resolution: "resolve@npm:1.20.0" dependencies: @@ -9791,13 +10324,29 @@ __metadata: languageName: node linkType: hard -"resolve@npm:^2.0.0-next.3": - version: 2.0.0-next.3 - resolution: "resolve@npm:2.0.0-next.3" +"resolve@npm:^1.22.4": + version: 1.22.8 + resolution: "resolve@npm:1.22.8" dependencies: - is-core-module: ^2.2.0 - path-parse: ^1.0.6 - checksum: f34b3b93ada77d64a6d590c06a83e198f3a827624c4ec972260905fa6c4d612164fbf0200d16d2beefea4ad1755b001f4a9a1293d8fc2322a8f7d6bf692c4ff5 + is-core-module: ^2.13.0 + path-parse: ^1.0.7 + supports-preserve-symlinks-flag: ^1.0.0 + bin: + resolve: bin/resolve + checksum: f8a26958aa572c9b064562750b52131a37c29d072478ea32e129063e2da7f83e31f7f11e7087a18225a8561cfe8d2f0df9dbea7c9d331a897571c0a2527dbb4c + languageName: node + linkType: hard + +"resolve@npm:^2.0.0-next.4": + version: 2.0.0-next.5 + resolution: "resolve@npm:2.0.0-next.5" + dependencies: + is-core-module: ^2.13.0 + path-parse: ^1.0.7 + supports-preserve-symlinks-flag: ^1.0.0 + bin: + resolve: bin/resolve + checksum: a73ac69a1c4bd34c56b213d91f5b17ce390688fdb4a1a96ed3025cc7e08e7bfb90b3a06fcce461780cb0b589c958afcb0080ab802c71c01a7ecc8c64feafc89f languageName: node linkType: hard @@ -9905,6 +10454,18 @@ __metadata: languageName: node linkType: hard +"safe-array-concat@npm:^1.0.1": + version: 1.0.1 + resolution: "safe-array-concat@npm:1.0.1" + dependencies: + call-bind: ^1.0.2 + get-intrinsic: ^1.2.1 + has-symbols: ^1.0.3 + isarray: ^2.0.5 + checksum: 001ecf1d8af398251cbfabaf30ed66e3855127fbceee178179524b24160b49d15442f94ed6c0db0b2e796da76bb05b73bf3cc241490ec9c2b741b41d33058581 + languageName: node + linkType: hard + "safe-buffer@npm:5.1.2, safe-buffer@npm:~5.1.0, safe-buffer@npm:~5.1.1": version: 5.1.2 resolution: "safe-buffer@npm:5.1.2" @@ -9919,6 +10480,17 @@ __metadata: languageName: node linkType: hard +"safe-regex-test@npm:^1.0.0": + version: 1.0.0 + resolution: "safe-regex-test@npm:1.0.0" + dependencies: + call-bind: ^1.0.2 + get-intrinsic: ^1.1.3 + is-regex: ^1.1.4 + checksum: bc566d8beb8b43c01b94e67de3f070fd2781685e835959bbbaaec91cc53381145ca91f69bd837ce6ec244817afa0a5e974fc4e40a2957f0aca68ac3add1ddd34 + languageName: node + linkType: hard + "safe-regex@npm:^1.1.0": version: 1.1.0 resolution: "safe-regex@npm:1.1.0" @@ -9962,15 +10534,6 @@ __metadata: languageName: node linkType: hard -"semver@npm:2 || 3 || 4 || 5, semver@npm:^5.5.0, semver@npm:^5.6.0": - version: 5.7.1 - resolution: "semver@npm:5.7.1" - bin: - semver: ./bin/semver - checksum: 57fd0acfd0bac382ee87cd52cd0aaa5af086a7dc8d60379dfe65fea491fb2489b6016400813930ecd61fd0952dae75c115287a1b16c234b1550887117744dfaf - languageName: node - linkType: hard - "semver@npm:7.0.0": version: 7.0.0 resolution: "semver@npm:7.0.0" @@ -9980,7 +10543,7 @@ __metadata: languageName: node linkType: hard -"semver@npm:7.x, semver@npm:^7.2.1, semver@npm:^7.3.5, semver@npm:~7.3.0": +"semver@npm:7.x, semver@npm:^7.3.5, semver@npm:~7.3.0": version: 7.3.5 resolution: "semver@npm:7.3.5" dependencies: @@ -9991,6 +10554,15 @@ __metadata: languageName: node linkType: hard +"semver@npm:^5.5.0, semver@npm:^5.6.0": + version: 5.7.1 + resolution: "semver@npm:5.7.1" + bin: + semver: ./bin/semver + checksum: 57fd0acfd0bac382ee87cd52cd0aaa5af086a7dc8d60379dfe65fea491fb2489b6016400813930ecd61fd0952dae75c115287a1b16c234b1550887117744dfaf + languageName: node + linkType: hard + "semver@npm:^6.0.0, semver@npm:^6.1.1, semver@npm:^6.1.2, semver@npm:^6.3.0": version: 6.3.0 resolution: "semver@npm:6.3.0" @@ -10000,6 +10572,26 @@ __metadata: languageName: node linkType: hard +"semver@npm:^6.3.1": + version: 6.3.1 + resolution: "semver@npm:6.3.1" + bin: + semver: bin/semver.js + checksum: ae47d06de28836adb9d3e25f22a92943477371292d9b665fb023fae278d345d508ca1958232af086d85e0155aee22e313e100971898bbb8d5d89b8b1d4054ca2 + languageName: node + linkType: hard + +"semver@npm:^7.5.4": + version: 7.5.4 + resolution: "semver@npm:7.5.4" + dependencies: + lru-cache: ^6.0.0 + bin: + semver: bin/semver.js + checksum: 12d8ad952fa353b0995bf180cdac205a4068b759a140e5d3c608317098b3575ac2f1e09182206bf2eb26120e1c0ed8fb92c48c592f6099680de56bb071423ca3 + languageName: node + linkType: hard + "send@npm:0.17.1": version: 0.17.1 resolution: "send@npm:0.17.1" @@ -10047,6 +10639,29 @@ __metadata: languageName: node linkType: hard +"set-function-length@npm:^1.1.1": + version: 1.1.1 + resolution: "set-function-length@npm:1.1.1" + dependencies: + define-data-property: ^1.1.1 + get-intrinsic: ^1.2.1 + gopd: ^1.0.1 + has-property-descriptors: ^1.0.0 + checksum: c131d7569cd7e110cafdfbfbb0557249b538477624dfac4fc18c376d879672fa52563b74029ca01f8f4583a8acb35bb1e873d573a24edb80d978a7ee607c6e06 + languageName: node + linkType: hard + +"set-function-name@npm:^2.0.0, set-function-name@npm:^2.0.1": + version: 2.0.1 + resolution: "set-function-name@npm:2.0.1" + dependencies: + define-data-property: ^1.0.1 + functions-have-names: ^1.2.3 + has-property-descriptors: ^1.0.0 + checksum: 4975d17d90c40168eee2c7c9c59d023429f0a1690a89d75656306481ece0c3c1fb1ebcc0150ea546d1913e35fbd037bace91372c69e543e51fc5d1f31a9fa126 + languageName: node + linkType: hard + "set-value@npm:^2.0.0, set-value@npm:^2.0.1": version: 2.0.1 resolution: "set-value@npm:2.0.1" @@ -10164,17 +10779,6 @@ __metadata: languageName: node linkType: hard -"slice-ansi@npm:^4.0.0": - version: 4.0.0 - resolution: "slice-ansi@npm:4.0.0" - dependencies: - ansi-styles: ^4.0.0 - astral-regex: ^2.0.0 - is-fullwidth-code-point: ^3.0.0 - checksum: 4a82d7f085b0e1b070e004941ada3c40d3818563ac44766cca4ceadd2080427d337554f9f99a13aaeb3b4a94d9964d9466c807b3d7b7541d1ec37ee32d308756 - languageName: node - linkType: hard - "smart-buffer@npm:^4.1.0": version: 4.1.0 resolution: "smart-buffer@npm:4.1.0" @@ -10319,40 +10923,6 @@ __metadata: languageName: node linkType: hard -"spdx-correct@npm:^3.0.0": - version: 3.1.1 - resolution: "spdx-correct@npm:3.1.1" - dependencies: - spdx-expression-parse: ^3.0.0 - spdx-license-ids: ^3.0.0 - checksum: 77ce438344a34f9930feffa61be0eddcda5b55fc592906ef75621d4b52c07400a97084d8701557b13f7d2aae0cb64f808431f469e566ef3fe0a3a131dcb775a6 - languageName: node - linkType: hard - -"spdx-exceptions@npm:^2.1.0": - version: 2.3.0 - resolution: "spdx-exceptions@npm:2.3.0" - checksum: cb69a26fa3b46305637123cd37c85f75610e8c477b6476fa7354eb67c08128d159f1d36715f19be6f9daf4b680337deb8c65acdcae7f2608ba51931540687ac0 - languageName: node - linkType: hard - -"spdx-expression-parse@npm:^3.0.0": - version: 3.0.1 - resolution: "spdx-expression-parse@npm:3.0.1" - dependencies: - spdx-exceptions: ^2.1.0 - spdx-license-ids: ^3.0.0 - checksum: a1c6e104a2cbada7a593eaa9f430bd5e148ef5290d4c0409899855ce8b1c39652bcc88a725259491a82601159d6dc790bedefc9016c7472f7de8de7361f8ccde - languageName: node - linkType: hard - -"spdx-license-ids@npm:^3.0.0": - version: 3.0.9 - resolution: "spdx-license-ids@npm:3.0.9" - checksum: 021c632a458b3f5144587350ee1e6d0da8e211c4acdeb511a89699ac7de5e9b84860aaea38b6b9b631b9fed8d3199a763b6baf96db4a2a77dc7c9c8ee6172288 - languageName: node - linkType: hard - "split-string@npm:^3.0.1, split-string@npm:^3.0.2": version: 3.1.0 resolution: "split-string@npm:3.1.0" @@ -10478,19 +11048,31 @@ __metadata: languageName: node linkType: hard -"string.prototype.matchall@npm:^4.0.5": - version: 4.0.5 - resolution: "string.prototype.matchall@npm:4.0.5" +"string.prototype.matchall@npm:^4.0.8": + version: 4.0.10 + resolution: "string.prototype.matchall@npm:4.0.10" dependencies: call-bind: ^1.0.2 - define-properties: ^1.1.3 - es-abstract: ^1.18.2 - get-intrinsic: ^1.1.1 - has-symbols: ^1.0.2 - internal-slot: ^1.0.3 - regexp.prototype.flags: ^1.3.1 + define-properties: ^1.2.0 + es-abstract: ^1.22.1 + get-intrinsic: ^1.2.1 + has-symbols: ^1.0.3 + internal-slot: ^1.0.5 + regexp.prototype.flags: ^1.5.0 + set-function-name: ^2.0.0 side-channel: ^1.0.4 - checksum: 0a9d64661ecf089e7712aed18a4b0d7e4093ae1dfc6d8134747a98271564065a2a667a3408fced4a77137528b3b2c0efe9d37868acae000ee13d0857a3d0f430 + checksum: 3c78bdeff39360c8e435d7c4c6ea19f454aa7a63eda95fa6fadc3a5b984446a2f9f2c02d5c94171ce22268a573524263fbd0c8edbe3ce2e9890d7cc036cdc3ed + languageName: node + linkType: hard + +"string.prototype.trim@npm:^1.2.8": + version: 1.2.8 + resolution: "string.prototype.trim@npm:1.2.8" + dependencies: + call-bind: ^1.0.2 + define-properties: ^1.2.0 + es-abstract: ^1.22.1 + checksum: 49eb1a862a53aba73c3fb6c2a53f5463173cb1f4512374b623bcd6b43ad49dd559a06fb5789bdec771a40fc4d2a564411c0a75d35fb27e76bbe738c211ecff07 languageName: node linkType: hard @@ -10504,6 +11086,17 @@ __metadata: languageName: node linkType: hard +"string.prototype.trimend@npm:^1.0.7": + version: 1.0.7 + resolution: "string.prototype.trimend@npm:1.0.7" + dependencies: + call-bind: ^1.0.2 + define-properties: ^1.2.0 + es-abstract: ^1.22.1 + checksum: 2375516272fd1ba75992f4c4aa88a7b5f3c7a9ca308d963bcd5645adf689eba6f8a04ebab80c33e30ec0aefc6554181a3a8416015c38da0aa118e60ec896310c + languageName: node + linkType: hard + "string.prototype.trimstart@npm:^1.0.4": version: 1.0.4 resolution: "string.prototype.trimstart@npm:1.0.4" @@ -10514,6 +11107,17 @@ __metadata: languageName: node linkType: hard +"string.prototype.trimstart@npm:^1.0.7": + version: 1.0.7 + resolution: "string.prototype.trimstart@npm:1.0.7" + dependencies: + call-bind: ^1.0.2 + define-properties: ^1.2.0 + es-abstract: ^1.22.1 + checksum: 13d0c2cb0d5ff9e926fa0bec559158b062eed2b68cd5be777ffba782c96b2b492944e47057274e064549b94dd27cf81f48b27a31fee8af5b574cff253e7eb613 + languageName: node + linkType: hard + "string_decoder@npm:^1.1.1": version: 1.3.0 resolution: "string_decoder@npm:1.3.0" @@ -10612,7 +11216,7 @@ __metadata: languageName: node linkType: hard -"strip-json-comments@npm:^3.1.0, strip-json-comments@npm:^3.1.1, strip-json-comments@npm:~3.1.1": +"strip-json-comments@npm:^3.1.1, strip-json-comments@npm:~3.1.1": version: 3.1.1 resolution: "strip-json-comments@npm:3.1.1" checksum: 492f73e27268f9b1c122733f28ecb0e7e8d8a531a6662efbd08e22cccb3f9475e90a1b82cab06a392f6afae6d2de636f977e231296400d0ec5304ba70f166443 @@ -10685,6 +11289,13 @@ __metadata: languageName: node linkType: hard +"supports-preserve-symlinks-flag@npm:^1.0.0": + version: 1.0.0 + resolution: "supports-preserve-symlinks-flag@npm:1.0.0" + checksum: 53b1e247e68e05db7b3808b99b892bd36fb096e6fba213a06da7fab22045e97597db425c724f2bbd6c99a3c295e1e73f3e4de78592289f38431049e1277ca0ae + languageName: node + linkType: hard + "symbol-tree@npm:^3.2.4": version: 3.2.4 resolution: "symbol-tree@npm:3.2.4" @@ -10692,17 +11303,13 @@ __metadata: languageName: node linkType: hard -"table@npm:^6.0.9": - version: 6.7.1 - resolution: "table@npm:6.7.1" +"synckit@npm:^0.8.6": + version: 0.8.8 + resolution: "synckit@npm:0.8.8" dependencies: - ajv: ^8.0.1 - lodash.clonedeep: ^4.5.0 - lodash.truncate: ^4.4.2 - slice-ansi: ^4.0.0 - string-width: ^4.2.0 - strip-ansi: ^6.0.0 - checksum: 053b61fa4e8f8396c65ff7a95da90e85620370932652d501ff7a0a3ed7317f1cc549702bd2abf2bd9ed01e20757b73a8b57374f8a8a2ac02fbe0550276263fb6 + "@pkgr/core": ^0.1.0 + tslib: ^2.6.2 + checksum: 9ed5d33abb785f5f24e2531efd53b2782ca77abf7912f734d170134552b99001915531be5a50297aa45c5701b5c9041e8762e6cd7a38e41e2461c1e7fccdedf8 languageName: node linkType: hard @@ -10926,6 +11533,15 @@ __metadata: languageName: node linkType: hard +"ts-api-utils@npm:^1.0.1": + version: 1.0.3 + resolution: "ts-api-utils@npm:1.0.3" + peerDependencies: + typescript: ">=4.2.0" + checksum: 441cc4489d65fd515ae6b0f4eb8690057add6f3b6a63a36073753547fb6ce0c9ea0e0530220a0b282b0eec535f52c4dfc315d35f8a4c9a91c0def0707a714ca6 + languageName: node + linkType: hard + "ts-interface-checker@npm:^0.1.9": version: 0.1.13 resolution: "ts-interface-checker@npm:0.1.13" @@ -10966,21 +11582,15 @@ __metadata: languageName: node linkType: hard -"tsconfig-paths@npm:^3.9.0": - version: 3.10.1 - resolution: "tsconfig-paths@npm:3.10.1" +"tsconfig-paths@npm:^3.15.0": + version: 3.15.0 + resolution: "tsconfig-paths@npm:3.15.0" dependencies: - json5: ^2.2.0 - minimist: ^1.2.0 + "@types/json5": ^0.0.29 + json5: ^1.0.2 + minimist: ^1.2.6 strip-bom: ^3.0.0 - checksum: 014ec869276114031d3bd6d2d9ce07c32c96ca6912f32285f46eeb4ca5270bd4c5e4de1353b838c66282157f089dedc8c3377c4e72e2f3d910e706c7b9ac5e6d - languageName: node - linkType: hard - -"tslib@npm:^1.8.1": - version: 1.14.1 - resolution: "tslib@npm:1.14.1" - checksum: dbe628ef87f66691d5d2959b3e41b9ca0045c3ee3c7c7b906cc1e328b39f199bb1ad9e671c39025bd56122ac57dfbf7385a94843b1cc07c60a4db74795829acd + checksum: 59f35407a390d9482b320451f52a411a256a130ff0e7543d18c6f20afab29ac19fbe55c360a93d6476213cc335a4d76ce90f67df54c4e9037f7d240920832201 languageName: node linkType: hard @@ -10991,6 +11601,13 @@ __metadata: languageName: node linkType: hard +"tslib@npm:^2.6.2": + version: 2.6.2 + resolution: "tslib@npm:2.6.2" + checksum: 329ea56123005922f39642318e3d1f0f8265d1e7fcb92c633e0809521da75eeaca28d2cf96d7248229deb40e5c19adf408259f4b9640afd20d13aecc1430f3ad + languageName: node + linkType: hard + "tsup@npm:^7.0.0": version: 7.0.0 resolution: "tsup@npm:7.0.0" @@ -11027,17 +11644,6 @@ __metadata: languageName: node linkType: hard -"tsutils@npm:^3.21.0": - version: 3.21.0 - resolution: "tsutils@npm:3.21.0" - dependencies: - tslib: ^1.8.1 - peerDependencies: - typescript: ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" - checksum: 1843f4c1b2e0f975e08c4c21caa4af4f7f65a12ac1b81b3b8489366826259323feb3fc7a243123453d2d1a02314205a7634e048d4a8009921da19f99755cdc48 - languageName: node - linkType: hard - "type-check@npm:^0.4.0, type-check@npm:~0.4.0": version: 0.4.0 resolution: "type-check@npm:0.4.0" @@ -11084,6 +11690,53 @@ __metadata: languageName: node linkType: hard +"typed-array-buffer@npm:^1.0.0": + version: 1.0.0 + resolution: "typed-array-buffer@npm:1.0.0" + dependencies: + call-bind: ^1.0.2 + get-intrinsic: ^1.2.1 + is-typed-array: ^1.1.10 + checksum: 3e0281c79b2a40cd97fe715db803884301993f4e8c18e8d79d75fd18f796e8cd203310fec8c7fdb5e6c09bedf0af4f6ab8b75eb3d3a85da69328f28a80456bd3 + languageName: node + linkType: hard + +"typed-array-byte-length@npm:^1.0.0": + version: 1.0.0 + resolution: "typed-array-byte-length@npm:1.0.0" + dependencies: + call-bind: ^1.0.2 + for-each: ^0.3.3 + has-proto: ^1.0.1 + is-typed-array: ^1.1.10 + checksum: b03db16458322b263d87a702ff25388293f1356326c8a678d7515767ef563ef80e1e67ce648b821ec13178dd628eb2afdc19f97001ceae7a31acf674c849af94 + languageName: node + linkType: hard + +"typed-array-byte-offset@npm:^1.0.0": + version: 1.0.0 + resolution: "typed-array-byte-offset@npm:1.0.0" + dependencies: + available-typed-arrays: ^1.0.5 + call-bind: ^1.0.2 + for-each: ^0.3.3 + has-proto: ^1.0.1 + is-typed-array: ^1.1.10 + checksum: 04f6f02d0e9a948a95fbfe0d5a70b002191fae0b8fe0fe3130a9b2336f043daf7a3dda56a31333c35a067a97e13f539949ab261ca0f3692c41603a46a94e960b + languageName: node + linkType: hard + +"typed-array-length@npm:^1.0.4": + version: 1.0.4 + resolution: "typed-array-length@npm:1.0.4" + dependencies: + call-bind: ^1.0.2 + for-each: ^0.3.3 + is-typed-array: ^1.1.9 + checksum: 2228febc93c7feff142b8c96a58d4a0d7623ecde6c7a24b2b98eb3170e99f7c7eff8c114f9b283085cd59dcd2bd43aadf20e25bba4b034a53c5bb292f71f8956 + languageName: node + linkType: hard + "typescript@npm:^5.0": version: 5.1.3 resolution: "typescript@npm:5.1.3" @@ -11128,6 +11781,18 @@ __metadata: languageName: node linkType: hard +"unbox-primitive@npm:^1.0.2": + version: 1.0.2 + resolution: "unbox-primitive@npm:1.0.2" + dependencies: + call-bind: ^1.0.2 + has-bigints: ^1.0.2 + has-symbols: ^1.0.3 + which-boxed-primitive: ^1.0.2 + checksum: b7a1cf5862b5e4b5deb091672ffa579aa274f648410009c81cca63fed3b62b610c4f3b773f912ce545bb4e31edc3138975b5bc777fc6e4817dca51affb6380e9 + languageName: node + linkType: hard + "unicode-canonical-property-names-ecmascript@npm:^2.0.0": version: 2.0.0 resolution: "unicode-canonical-property-names-ecmascript@npm:2.0.0" @@ -11315,13 +11980,6 @@ __metadata: languageName: node linkType: hard -"v8-compile-cache@npm:^2.0.3": - version: 2.3.0 - resolution: "v8-compile-cache@npm:2.3.0" - checksum: adb0a271eaa2297f2f4c536acbfee872d0dd26ec2d76f66921aa7fc437319132773483344207bdbeee169225f4739016d8d2dbf0553913a52bb34da6d0334f8e - languageName: node - linkType: hard - "v8-to-istanbul@npm:^9.0.1": version: 9.1.0 resolution: "v8-to-istanbul@npm:9.1.0" @@ -11333,16 +11991,6 @@ __metadata: languageName: node linkType: hard -"validate-npm-package-license@npm:^3.0.1": - version: 3.0.4 - resolution: "validate-npm-package-license@npm:3.0.4" - dependencies: - spdx-correct: ^3.0.0 - spdx-expression-parse: ^3.0.0 - checksum: 35703ac889d419cf2aceef63daeadbe4e77227c39ab6287eeb6c1b36a746b364f50ba22e88591f5d017bc54685d8137bc2d328d0a896e4d3fd22093c0f32a9ad - languageName: node - linkType: hard - "validator@npm:^8.0.0": version: 8.2.0 resolution: "validator@npm:8.2.0" @@ -11462,6 +12110,38 @@ __metadata: languageName: node linkType: hard +"which-builtin-type@npm:^1.1.3": + version: 1.1.3 + resolution: "which-builtin-type@npm:1.1.3" + dependencies: + function.prototype.name: ^1.1.5 + has-tostringtag: ^1.0.0 + is-async-function: ^2.0.0 + is-date-object: ^1.0.5 + is-finalizationregistry: ^1.0.2 + is-generator-function: ^1.0.10 + is-regex: ^1.1.4 + is-weakref: ^1.0.2 + isarray: ^2.0.5 + which-boxed-primitive: ^1.0.2 + which-collection: ^1.0.1 + which-typed-array: ^1.1.9 + checksum: 43730f7d8660ff9e33d1d3f9f9451c4784265ee7bf222babc35e61674a11a08e1c2925019d6c03154fcaaca4541df43abe35d2720843b9b4cbcebdcc31408f36 + languageName: node + linkType: hard + +"which-collection@npm:^1.0.1": + version: 1.0.1 + resolution: "which-collection@npm:1.0.1" + dependencies: + is-map: ^2.0.1 + is-set: ^2.0.1 + is-weakmap: ^2.0.1 + is-weakset: ^2.0.1 + checksum: c815bbd163107ef9cb84f135e6f34453eaf4cca994e7ba85ddb0d27cea724c623fae2a473ceccfd5549c53cc65a5d82692de418166df3f858e1e5dc60818581c + languageName: node + linkType: hard + "which-module@npm:^2.0.0": version: 2.0.0 resolution: "which-module@npm:2.0.0" @@ -11469,6 +12149,19 @@ __metadata: languageName: node linkType: hard +"which-typed-array@npm:^1.1.11, which-typed-array@npm:^1.1.13, which-typed-array@npm:^1.1.9": + version: 1.1.13 + resolution: "which-typed-array@npm:1.1.13" + dependencies: + available-typed-arrays: ^1.0.5 + call-bind: ^1.0.4 + for-each: ^0.3.3 + gopd: ^1.0.1 + has-tostringtag: ^1.0.0 + checksum: 3828a0d5d72c800e369d447e54c7620742a4cc0c9baf1b5e8c17e9b6ff90d8d861a3a6dd4800f1953dbf80e5e5cec954a289e5b4a223e3bee4aeb1f8c5f33309 + languageName: node + linkType: hard + "which@npm:^1.2.9": version: 1.3.1 resolution: "which@npm:1.3.1" @@ -11500,7 +12193,7 @@ __metadata: languageName: node linkType: hard -"word-wrap@npm:^1.2.3, word-wrap@npm:~1.2.3": +"word-wrap@npm:~1.2.3": version: 1.2.3 resolution: "word-wrap@npm:1.2.3" checksum: 30b48f91fcf12106ed3186ae4fa86a6a1842416df425be7b60485de14bec665a54a68e4b5156647dec3a70f25e84d270ca8bc8cd23182ed095f5c7206a938c1f From 8ca14d55de9df126361465ab602a01bae78b0d7d Mon Sep 17 00:00:00 2001 From: Arya Emami Date: Fri, 5 Jan 2024 11:52:32 -0600 Subject: [PATCH 5/8] Remove extra nested `.eslintrc` files --- test/.eslintrc | 8 -------- test/hooks/.eslintrc | 5 ----- 2 files changed, 13 deletions(-) delete mode 100644 test/.eslintrc delete mode 100644 test/hooks/.eslintrc diff --git a/test/.eslintrc b/test/.eslintrc deleted file mode 100644 index ddbb96f0c..000000000 --- a/test/.eslintrc +++ /dev/null @@ -1,8 +0,0 @@ -{ - "env": { - "jest": true - }, - "rules": { - "react/display-name": 0 - } -} diff --git a/test/hooks/.eslintrc b/test/hooks/.eslintrc deleted file mode 100644 index 1de5b1a79..000000000 --- a/test/hooks/.eslintrc +++ /dev/null @@ -1,5 +0,0 @@ -{ - "rules": { - "react/display-name": 0 - } -} From 82630d2bfe8d23b104e447bdff973e35053d9de6 Mon Sep 17 00:00:00 2001 From: Arya Emami Date: Fri, 5 Jan 2024 11:56:49 -0600 Subject: [PATCH 6/8] Add `lint:fix` command --- package.json | 1 + 1 file changed, 1 insertion(+) diff --git a/package.json b/package.json index 602d6df37..240dcc214 100644 --- a/package.json +++ b/package.json @@ -41,6 +41,7 @@ "api-types": "api-extractor run --local", "format": "prettier --write \"{src,test}/**/*.{js,ts,tsx}\" \"docs/**/*.md\"", "lint": "eslint src test", + "lint:fix": "eslint src test --fix", "prepare": "yarn clean && yarn build", "pretest": "yarn lint", "test": "jest", From d25511bce554c45ff7564be577683e25106d3908 Mon Sep 17 00:00:00 2001 From: Arya Emami Date: Fri, 5 Jan 2024 12:02:49 -0600 Subject: [PATCH 7/8] Lint and format all files --- src/components/Context.ts | 2 +- src/components/connect.tsx | 35 ++- src/connect/invalidArgFactory.ts | 4 +- src/connect/mapDispatchToProps.ts | 4 +- src/connect/mapStateToProps.ts | 2 +- src/connect/mergeProps.ts | 10 +- src/connect/selectorFactory.ts | 8 +- src/connect/verifySubselectors.ts | 4 +- src/connect/wrapMapToProps.ts | 10 +- src/hooks/useReduxContext.ts | 2 +- src/hooks/useSelector.ts | 22 +- src/index-rsc.ts | 2 +- src/utils/Subscription.ts | 4 +- src/utils/bindActionCreators.ts | 2 +- src/utils/isPlainObject.ts | 2 +- src/utils/verifyPlainObject.ts | 4 +- test/components/Provider.spec.tsx | 54 ++-- test/components/connect.spec.tsx | 294 +++++++++--------- test/components/hooks.spec.tsx | 8 +- test/hooks/useReduxContext.spec.tsx | 4 +- test/hooks/useSelector.spec.tsx | 76 ++--- test/integration/dynamic-reducers.spec.tsx | 4 +- test/integration/server-rendering.spec.tsx | 21 +- test/integration/ssr.spec.tsx | 28 +- test/react-native/batch-integration.tsx | 36 +-- test/typeTestHelpers.ts | 4 +- .../connect-mapstate-mapdispatch.tsx | 47 +-- test/typetests/connect-options-and-issues.tsx | 58 ++-- test/typetests/counterApp.ts | 13 +- test/typetests/hooks.tsx | 34 +- test/typetests/provider.tsx | 2 +- test/typetests/react-redux-types.typetest.tsx | 149 +++++---- test/utils/shallowEqual.spec.ts | 16 +- 33 files changed, 463 insertions(+), 502 deletions(-) diff --git a/src/components/Context.ts b/src/components/Context.ts index 66238ed5e..f33e4a16b 100644 --- a/src/components/Context.ts +++ b/src/components/Context.ts @@ -35,7 +35,7 @@ function getContext(): Context { let realContext = contextMap.get(React.createContext) if (!realContext) { realContext = React.createContext( - null as any + null as any, ) if (process.env.NODE_ENV !== 'production') { realContext.displayName = 'ReactRedux' diff --git a/src/components/connect.tsx b/src/components/connect.tsx index 769b18bac..29944b8cd 100644 --- a/src/components/connect.tsx +++ b/src/components/connect.tsx @@ -70,7 +70,7 @@ type EffectFunc = (...args: any[]) => void | ReturnType function useIsomorphicLayoutEffectWithArgs( effectFunc: EffectFunc, effectArgs: any[], - dependencies?: React.DependencyList + dependencies?: React.DependencyList, ) { useIsomorphicLayoutEffect(() => effectFunc(...effectArgs), dependencies) } @@ -83,7 +83,7 @@ function captureWrapperProps( wrapperProps: unknown, // actualChildProps: unknown, childPropsFromStoreUpdate: React.MutableRefObject, - notifyNestedSubs: () => void + notifyNestedSubs: () => void, ) { // We want to capture the wrapper props and child props we used for later comparisons lastWrapperProps.current = wrapperProps @@ -110,7 +110,7 @@ function subscribeUpdates( childPropsFromStoreUpdate: React.MutableRefObject, notifyNestedSubs: () => void, // forceComponentUpdateDispatch: React.Dispatch, - additionalSubscribeListener: () => void + additionalSubscribeListener: () => void, ) { // If we're not subscribed to the store, nothing to do here if (!shouldHandleStateChanges) return () => {} @@ -136,7 +136,7 @@ function subscribeUpdates( // to determine what the child props should be newChildProps = childPropsSelector( latestStoreState, - lastWrapperProps.current + lastWrapperProps.current, ) } catch (e) { error = e @@ -466,13 +466,13 @@ function connect< // the context consumer to use context = ReactReduxContext, - }: ConnectOptions = {} + }: ConnectOptions = {}, ): unknown { if (process.env.NODE_ENV !== 'production') { if (pure !== undefined && !hasWarnedAboutDeprecatedPureOption) { hasWarnedAboutDeprecatedPureOption = true warning( - 'The `pure` option has been removed. `connect` is now always a "pure/memoized" component' + 'The `pure` option has been removed. `connect` is now always a "pure/memoized" component', ) } } @@ -486,7 +486,7 @@ function connect< const shouldHandleStateChanges = Boolean(mapStateToProps) const wrapWithConnect = ( - WrappedComponent: ComponentType + WrappedComponent: ComponentType, ) => { type WrappedComponentProps = TProps & ConnectPropsMaybeWithoutContext @@ -496,8 +496,8 @@ function connect< if (!isValid) throw new Error( `You must pass a component to the function returned by connect. Instead received ${stringifyComponent( - WrappedComponent - )}` + WrappedComponent, + )}`, ) } @@ -529,7 +529,7 @@ function connect< } function ConnectFunction( - props: InternalConnectProps & TOwnProps + props: InternalConnectProps & TOwnProps, ) { const [propsContext, reactReduxForwardedRef, wrapperProps] = React.useMemo(() => { @@ -548,11 +548,11 @@ function connect< if (process.env.NODE_ENV !== 'production') { const isValid = /*#__PURE__*/ isContextConsumer( // @ts-ignore - + , ) if (!isValid) { throw new Error( - 'You must pass a valid React context consumer as `props.context`' + 'You must pass a valid React context consumer as `props.context`', ) } ResultContext = propsContext @@ -583,7 +583,7 @@ function connect< `Could not find "store" in the context of ` + `"${displayName}". Either wrap the root component in a , ` + `or pass a custom React context provider to and the corresponding ` + - `React context consumer to ${displayName} in connect options.` + `React context consumer to ${displayName} in connect options.`, ) } @@ -609,7 +609,7 @@ function connect< // connected to the store via props shouldn't use subscription from context, or vice versa. const subscription = createSubscription( store, - didStoreComeFromProps ? undefined : contextValue!.subscription + didStoreComeFromProps ? undefined : contextValue!.subscription, ) // `notifyNestedSubs` is duplicated to handle the case where the component is unmounted in @@ -703,7 +703,7 @@ function connect< isMounted, childPropsFromStoreUpdate, notifyNestedSubs, - reactListener + reactListener, ) } @@ -730,10 +730,11 @@ function connect< actualChildPropsSelector, getServerState ? () => childPropsSelector(getServerState(), wrapperProps) - : actualChildPropsSelector + : actualChildPropsSelector, ) } catch (err) { if (latestSubscriptionCallbackError.current) { + // eslint-disable-next-line no-extra-semi ;( err as Error ).message += `\nThe error may be correlated with this previous error:\n${latestSubscriptionCallbackError.current.stack}\n\n` @@ -797,7 +798,7 @@ function connect< if (forwardRef) { const _forwarded = React.forwardRef(function forwardConnectRef( props, - ref + ref, ) { // @ts-ignore return diff --git a/src/connect/invalidArgFactory.ts b/src/connect/invalidArgFactory.ts index 48eaafdcf..15b1ec5b0 100644 --- a/src/connect/invalidArgFactory.ts +++ b/src/connect/invalidArgFactory.ts @@ -3,12 +3,12 @@ import type { Action, Dispatch } from 'redux' export function createInvalidArgFactory(arg: unknown, name: string) { return ( dispatch: Dispatch>, - options: { readonly wrappedComponentName: string } + options: { readonly wrappedComponentName: string }, ) => { throw new Error( `Invalid value of type ${typeof arg} for ${name} argument when connecting component ${ options.wrappedComponentName - }.` + }.`, ) } } diff --git a/src/connect/mapDispatchToProps.ts b/src/connect/mapDispatchToProps.ts index 81a3f5242..a38ad45c2 100644 --- a/src/connect/mapDispatchToProps.ts +++ b/src/connect/mapDispatchToProps.ts @@ -7,12 +7,12 @@ import type { MapDispatchToPropsParam } from './selectorFactory' export function mapDispatchToPropsFactory( mapDispatchToProps: | MapDispatchToPropsParam - | undefined + | undefined, ) { return mapDispatchToProps && typeof mapDispatchToProps === 'object' ? wrapMapToPropsConstant((dispatch: Dispatch>) => // @ts-ignore - bindActionCreators(mapDispatchToProps, dispatch) + bindActionCreators(mapDispatchToProps, dispatch), ) : !mapDispatchToProps ? wrapMapToPropsConstant((dispatch: Dispatch>) => ({ diff --git a/src/connect/mapStateToProps.ts b/src/connect/mapStateToProps.ts index fbf8a3ec2..e23345a56 100644 --- a/src/connect/mapStateToProps.ts +++ b/src/connect/mapStateToProps.ts @@ -3,7 +3,7 @@ import { createInvalidArgFactory } from './invalidArgFactory' import type { MapStateToPropsParam } from './selectorFactory' export function mapStateToPropsFactory( - mapStateToProps: MapStateToPropsParam + mapStateToProps: MapStateToPropsParam, ) { return !mapStateToProps ? wrapMapToPropsConstant(() => ({})) diff --git a/src/connect/mergeProps.ts b/src/connect/mergeProps.ts index fa4d0baab..1b827480c 100644 --- a/src/connect/mergeProps.ts +++ b/src/connect/mergeProps.ts @@ -12,7 +12,7 @@ export function defaultMergeProps< >( stateProps: TStateProps, dispatchProps: TDispatchProps, - ownProps: TOwnProps + ownProps: TOwnProps, ): TMergedProps { // @ts-ignore return { ...ownProps, ...stateProps, ...dispatchProps } @@ -24,7 +24,7 @@ export function wrapMergePropsFunc< TOwnProps, TMergedProps >( - mergeProps: MergeProps + mergeProps: MergeProps, ): ( dispatch: Dispatch>, options: { @@ -34,7 +34,7 @@ export function wrapMergePropsFunc< ) => MergeProps { return function initMergePropsProxy( dispatch, - { displayName, areMergedPropsEqual } + { displayName, areMergedPropsEqual }, ) { let hasRunOnce = false let mergedProps: TMergedProps @@ -42,7 +42,7 @@ export function wrapMergePropsFunc< return function mergePropsProxy( stateProps: TStateProps, dispatchProps: TDispatchProps, - ownProps: TOwnProps + ownProps: TOwnProps, ) { const nextMergedProps = mergeProps(stateProps, dispatchProps, ownProps) @@ -68,7 +68,7 @@ export function mergePropsFactory< TOwnProps, TMergedProps >( - mergeProps?: MergeProps + mergeProps?: MergeProps, ) { return !mergeProps ? () => defaultMergeProps diff --git a/src/connect/selectorFactory.ts b/src/connect/selectorFactory.ts index 66a72a2cf..341461b42 100644 --- a/src/connect/selectorFactory.ts +++ b/src/connect/selectorFactory.ts @@ -79,7 +79,7 @@ export function pureFinalPropsSelectorFactory< areStatesEqual, areOwnPropsEqual, areStatePropsEqual, - }: PureSelectorFactoryComparisonOptions + }: PureSelectorFactoryComparisonOptions, ) { let hasRunAtLeastOnce = false let state: State @@ -136,7 +136,7 @@ export function pureFinalPropsSelectorFactory< nextState, state, nextOwnProps, - ownProps + ownProps, ) state = nextState ownProps = nextOwnProps @@ -149,7 +149,7 @@ export function pureFinalPropsSelectorFactory< return function pureFinalPropsSelector( nextState: State, - nextOwnProps: TOwnProps + nextOwnProps: TOwnProps, ) { return hasRunAtLeastOnce ? handleSubsequentCalls(nextState, nextOwnProps) @@ -222,7 +222,7 @@ export default function finalPropsSelectorFactory< TDispatchProps, TMergedProps, State - > + >, ) { const mapStateToProps = initMapStateToProps(dispatch, options) const mapDispatchToProps = initMapDispatchToProps(dispatch, options) diff --git a/src/connect/verifySubselectors.ts b/src/connect/verifySubselectors.ts index 487cdb197..1f59f9623 100644 --- a/src/connect/verifySubselectors.ts +++ b/src/connect/verifySubselectors.ts @@ -9,7 +9,7 @@ function verify(selector: unknown, methodName: string): void { ) { if (!Object.prototype.hasOwnProperty.call(selector, 'dependsOnOwnProps')) { warning( - `The selector for ${methodName} of connect did not specify a value for dependsOnOwnProps.` + `The selector for ${methodName} of connect did not specify a value for dependsOnOwnProps.`, ) } } @@ -18,7 +18,7 @@ function verify(selector: unknown, methodName: string): void { export default function verifySubselectors( mapStateToProps: unknown, mapDispatchToProps: unknown, - mergeProps: unknown + mergeProps: unknown, ): void { verify(mapStateToProps, 'mapStateToProps') verify(mapDispatchToProps, 'mapDispatchToProps') diff --git a/src/connect/wrapMapToProps.ts b/src/connect/wrapMapToProps.ts index 9dad1e74a..17155e875 100644 --- a/src/connect/wrapMapToProps.ts +++ b/src/connect/wrapMapToProps.ts @@ -26,7 +26,7 @@ export function wrapMapToPropsConstant( dependsOnOwnProps?: boolean } | ActionCreatorsMapObject - | ActionCreator + | ActionCreator, ) { return function initConstantSelector(dispatch: Dispatch) { const constant = getConstant(dispatch) @@ -67,15 +67,15 @@ export function getDependsOnOwnProps(mapToProps: MapToProps) { // export function wrapMapToPropsFunc

( mapToProps: MapToProps, - methodName: string + methodName: string, ) { return function initProxySelector( dispatch: Dispatch, - { displayName }: { displayName: string } + { displayName }: { displayName: string }, ) { const proxy = function mapToPropsProxy( stateOrDispatch: StateOrDispatch, - ownProps?: P + ownProps?: P, ): MapToProps { return proxy.dependsOnOwnProps ? proxy.mapToProps(stateOrDispatch, ownProps) @@ -87,7 +87,7 @@ export function wrapMapToPropsFunc

( proxy.mapToProps = function detectFactoryAndVerify( stateOrDispatch: StateOrDispatch, - ownProps?: P + ownProps?: P, ): MapToProps { proxy.mapToProps = mapToProps proxy.dependsOnOwnProps = getDependsOnOwnProps(mapToProps) diff --git a/src/hooks/useReduxContext.ts b/src/hooks/useReduxContext.ts index 86dae5954..fe103515e 100644 --- a/src/hooks/useReduxContext.ts +++ b/src/hooks/useReduxContext.ts @@ -15,7 +15,7 @@ export function createReduxContextHook(context = ReactReduxContext) { if (process.env.NODE_ENV !== 'production' && !contextValue) { throw new Error( - 'could not find react-redux context value; please ensure the component is wrapped in a ' + 'could not find react-redux context value; please ensure the component is wrapped in a ', ) } diff --git a/src/hooks/useSelector.ts b/src/hooks/useSelector.ts index 629ead80d..544ad84c6 100644 --- a/src/hooks/useSelector.ts +++ b/src/hooks/useSelector.ts @@ -69,11 +69,11 @@ export interface UseSelectorOptions { export interface UseSelector { ( selector: (state: TState) => Selected, - equalityFn?: EqualityFn + equalityFn?: EqualityFn, ): Selected ( selector: (state: TState) => Selected, - options?: UseSelectorOptions + options?: UseSelectorOptions, ): Selected } @@ -94,18 +94,18 @@ export function createSelectorHook( context: React.Context | null> = ReactReduxContext + > | null> = ReactReduxContext, ): UseSelector { const useReduxContext = context === ReactReduxContext ? useDefaultReduxContext : createReduxContextHook(context) - return function useSelector( + return function useSelector( selector: (state: TState) => Selected, equalityFnOrOptions: | EqualityFn> - | UseSelectorOptions> = {} + | UseSelectorOptions> = {}, ): Selected { const { equalityFn = refEquality, devModeChecks = {} } = typeof equalityFnOrOptions === 'function' @@ -120,7 +120,7 @@ export function createSelectorHook( } if (typeof equalityFn !== 'function') { throw new Error( - `You must pass a function as an equality function to useSelector` + `You must pass a function as an equality function to useSelector`, ) } } @@ -158,6 +158,7 @@ export function createSelectorHook( try { throw new Error() } catch (e) { + // eslint-disable-next-line no-extra-semi ;({ stack } = e as Error) } console.warn( @@ -170,7 +171,7 @@ export function createSelectorHook( selected, selected2: toCompare, stack, - } + }, ) } } @@ -184,6 +185,7 @@ export function createSelectorHook( try { throw new Error() } catch (e) { + // eslint-disable-next-line no-extra-semi ;({ stack } = e as Error) } console.warn( @@ -191,7 +193,7 @@ export function createSelectorHook( (selector.name || 'unknown') + ' returned the root state when called. This can lead to unnecessary rerenders.' + '\nSelectors that return the entire state are almost certainly a mistake, as they will cause a rerender whenever *anything* in state changes.', - { stack } + { stack }, ) } } @@ -200,7 +202,7 @@ export function createSelectorHook( return selected }, }[selector.name], - [selector, stabilityCheck, devModeChecks.stabilityCheck] + [selector, stabilityCheck, devModeChecks.stabilityCheck], ) const selectedState = useSyncExternalStoreWithSelector( @@ -208,7 +210,7 @@ export function createSelectorHook( store.getState, getServerState || store.getState, wrappedSelector, - equalityFn + equalityFn, ) React.useDebugValue(selectedState) diff --git a/src/index-rsc.ts b/src/index-rsc.ts index 625bff76e..73ccf50ee 100644 --- a/src/index-rsc.ts +++ b/src/index-rsc.ts @@ -15,7 +15,7 @@ function throwNotSupportedError( ...args: any[] ): any { throw new Error( - 'This function is not supported in React Server Components. Please only use this export in a Client Component.' + 'This function is not supported in React Server Components. Please only use this export in a Client Component.', ) } diff --git a/src/utils/Subscription.ts b/src/utils/Subscription.ts index 3bd4925cc..c9f8412a4 100644 --- a/src/utils/Subscription.ts +++ b/src/utils/Subscription.ts @@ -33,7 +33,7 @@ function createListenerCollection() { }, get() { - let listeners: Listener[] = [] + const listeners: Listener[] = [] let listener = first while (listener) { listeners.push(listener) @@ -45,7 +45,7 @@ function createListenerCollection() { subscribe(callback: () => void) { let isSubscribed = true - let listener: Listener = (last = { + const listener: Listener = (last = { callback, next: null, prev: last, diff --git a/src/utils/bindActionCreators.ts b/src/utils/bindActionCreators.ts index 0d5f3d8a7..79957430e 100644 --- a/src/utils/bindActionCreators.ts +++ b/src/utils/bindActionCreators.ts @@ -2,7 +2,7 @@ import type { ActionCreatorsMapObject, Dispatch } from 'redux' export default function bindActionCreators( actionCreators: ActionCreatorsMapObject, - dispatch: Dispatch + dispatch: Dispatch, ): ActionCreatorsMapObject { const boundActionCreators: ActionCreatorsMapObject = {} diff --git a/src/utils/isPlainObject.ts b/src/utils/isPlainObject.ts index 2157ea089..f069adc56 100644 --- a/src/utils/isPlainObject.ts +++ b/src/utils/isPlainObject.ts @@ -5,7 +5,7 @@ export default function isPlainObject(obj: unknown) { if (typeof obj !== 'object' || obj === null) return false - let proto = Object.getPrototypeOf(obj) + const proto = Object.getPrototypeOf(obj) if (proto === null) return true let baseProto = proto diff --git a/src/utils/verifyPlainObject.ts b/src/utils/verifyPlainObject.ts index 212d51164..e04a527e9 100644 --- a/src/utils/verifyPlainObject.ts +++ b/src/utils/verifyPlainObject.ts @@ -4,11 +4,11 @@ import warning from './warning' export default function verifyPlainObject( value: unknown, displayName: string, - methodName: string + methodName: string, ) { if (!isPlainObject(value)) { warning( - `${methodName}() in ${displayName} must return a plain object. Instead received ${value}.` + `${methodName}() in ${displayName} must return a plain object. Instead received ${value}.`, ) } } diff --git a/test/components/Provider.spec.tsx b/test/components/Provider.spec.tsx index 5bfddec3d..0dce37f6e 100644 --- a/test/components/Provider.spec.tsx +++ b/test/components/Provider.spec.tsx @@ -1,15 +1,15 @@ /*eslint-disable react/prop-types*/ +import * as rtl from '@testing-library/react' import type { Dispatch } from 'react' import React, { Component } from 'react' -import ReactDOM from 'react-dom' +import type { Store } from 'redux' import { createStore } from 'redux' -import { Provider, connect, ReactReduxContext } from '../../src/index' -import * as rtl from '@testing-library/react' import type { ReactReduxContextValue } from '../../src' -import type { Store } from 'redux' +import { Provider, ReactReduxContext, connect } from '../../src/index' import '@testing-library/jest-dom/extend-expect' +import * as ReactDOM from 'react-dom' const createExampleTextReducer = () => @@ -26,7 +26,7 @@ describe('React', () => { return ( {(props) => { - let { store } = props as ReactReduxContextValue + const { store } = props as ReactReduxContextValue let text = '' if (store) { @@ -57,12 +57,12 @@ describe('React', () => { rtl.render(

- - ) + , + ), ).not.toThrow() //@ts-expect-error expect(() => rtl.render()).not.toThrow( - /children with exactly one child/ + /children with exactly one child/, ) expect(() => @@ -70,8 +70,8 @@ describe('React', () => {
- - ) + , + ), ).not.toThrow(/a single React element child/) spy.mockRestore() }) @@ -83,13 +83,13 @@ describe('React', () => { const tester = rtl.render( - + , ) expect(spy).toHaveBeenCalledTimes(0) spy.mockRestore() expect(tester.getByTestId('store')).toHaveTextContent( - 'store - example text' + 'store - example text', ) }) @@ -180,7 +180,7 @@ describe('React', () => { } const WrapperInner = connect( - innerMapStateToProps + innerMapStateToProps, )(Inner) const outerStore = createStore(reducer) @@ -195,13 +195,13 @@ describe('React', () => { } const WrapperOuter = connect( - (state) => ({ count: state }) + (state) => ({ count: state }), )(Outer) rtl.render( - + , ) expect(innerMapStateToProps).toHaveBeenCalledTimes(1) @@ -270,13 +270,13 @@ describe('React', () => { } } const WrapperContainer = connect( - (state) => ({ state }) + (state) => ({ state }), )(Container) const tester = rtl.render( - + , ) expect(childMapStateInvokes).toBe(1) @@ -323,7 +323,7 @@ describe('React', () => {
- + , ) expect(spy).not.toHaveBeenCalled() @@ -343,16 +343,18 @@ describe('React', () => { } } - const div = document.createElement('div') + const container = document.createElement('div') + + // eslint-disable-next-line react/no-deprecated ReactDOM.render(
, - div + container, ) - expect(spy).toHaveBeenCalledTimes(0) - ReactDOM.unmountComponentAtNode(div) + // eslint-disable-next-line react/no-deprecated + ReactDOM.unmountComponentAtNode(container) expect(spy).toHaveBeenCalledTimes(1) }) @@ -379,7 +381,7 @@ describe('React', () => { const WrapperComponentA = connect( (state) => ({ value: state.nestedA.value, - }) + }), )(ComponentA) class ComponentB extends Component { @@ -389,13 +391,13 @@ describe('React', () => { } const WrapperComponentB = connect( - (state) => ({ value: state.nestedB.value }) + (state) => ({ value: state.nestedB.value }), )(ComponentB) const { getByTestId, rerender } = rtl.render( - + , ) expect(getByTestId('value')).toHaveTextContent('expectedA') @@ -403,7 +405,7 @@ describe('React', () => { rerender( - + , ) expect(getByTestId('value')).toHaveTextContent('expectedB') diff --git a/test/components/connect.spec.tsx b/test/components/connect.spec.tsx index 0e051da07..66c32c8f0 100644 --- a/test/components/connect.spec.tsx +++ b/test/components/connect.spec.tsx @@ -1,18 +1,20 @@ /*eslint-disable react/prop-types*/ -import React, { Component } from 'react' -import { createStore, applyMiddleware, UnknownAction, Action } from 'redux' -import { Provider as ProviderMock, connect } from '../../src/index' -import * as rtl from '@testing-library/react' import '@testing-library/jest-dom/extend-expect' -import type { ReactNode, Dispatch, ElementType, MouseEvent } from 'react' +import * as rtl from '@testing-library/react' +import type { Dispatch, ElementType, MouseEvent, ReactNode } from 'react' +import React, { Component } from 'react' import type { - Store, - Dispatch as ReduxDispatch, + Action, AnyAction, MiddlewareAPI, + Dispatch as ReduxDispatch, + Store, + UnknownAction, } from 'redux' +import { applyMiddleware, createStore } from 'redux' import type { ReactReduxContextValue } from '../../src/index' +import { Provider as ProviderMock, connect } from '../../src/index' const IS_REACT_18 = React.version.startsWith('18') @@ -96,7 +98,7 @@ describe('React', () => { const tester = rtl.render( - + , ) expect(tester.getByTestId('hi')).toHaveTextContent('there') @@ -138,7 +140,7 @@ describe('React', () => { const tester = rtl.render( - + , ) expect(tester.getByTestId('pass')).toHaveTextContent('through') @@ -156,13 +158,13 @@ describe('React', () => { } } const ConnectedContainer = connect((state) => ({ string: state }))( - Container + Container, ) const tester = rtl.render( - + , ) expect(tester.getByTestId('string')).toHaveTextContent('') @@ -202,7 +204,7 @@ describe('React', () => { const tester = rtl.render( - + , ) expect(spy).toHaveBeenCalledTimes(0) spy.mockRestore() @@ -245,7 +247,7 @@ describe('React', () => { const tester = rtl.render( - + , ) expect(spy).toHaveBeenCalledTimes(0) spy.mockRestore() @@ -271,7 +273,7 @@ describe('React', () => { const Decorated = decorator(Container) expect(() => rtl.render()).toThrow( - /Could not find "store"/ + /Could not find "store"/, ) spy.mockRestore() @@ -382,7 +384,7 @@ describe('React', () => { } const ConnectedInnerContainer = connect<{}, {}, OwnerPropsType, {}>( () => ({}), - () => ({}) + () => ({}), )(ConnectContainer) class HolderContainer extends Component { @@ -390,12 +392,12 @@ describe('React', () => { return } } - let container = React.createRef() + const container = React.createRef() const tester = rtl.render( - + , ) expect(tester.getByTestId('x')).toHaveTextContent('true') @@ -427,16 +429,16 @@ describe('React', () => { return } } - let container = React.createRef() + const container = React.createRef() const tester = rtl.render( - + , ) expect(tester.getAllByTitle('prop').length).toBe(2) expect(tester.getByTestId('dispatch')).toHaveTextContent( - '[function dispatch]' + '[function dispatch]', ) expect(tester.getByTestId('x')).toHaveTextContent('true') @@ -447,7 +449,7 @@ describe('React', () => { expect(tester.getAllByTitle('prop').length).toBe(1) expect(tester.getByTestId('dispatch')).toHaveTextContent( - '[function dispatch]' + '[function dispatch]', ) }) @@ -541,7 +543,7 @@ describe('React', () => { } return merged })(), - }) + }), )(Inner) class OuterContainer extends Component<{}, OuterContainerStateType> { @@ -582,7 +584,7 @@ describe('React', () => { }) expect(tester.getByTestId('stateThing')).toHaveTextContent( - 'HELLO azbzcZ' + 'HELLO azbzcZ', ) }) @@ -604,17 +606,17 @@ describe('React', () => { } const ConnectedContainer = connect( (state) => state, - () => ({ exampleActionCreator }) + () => ({ exampleActionCreator }), )(Container) const tester = rtl.render( - + , ) expect(tester.getByTestId('exampleActionCreator')).toHaveTextContent( - '[function exampleActionCreator]' + '[function exampleActionCreator]', ) expect(tester.getByTestId('foo')).toHaveTextContent('bar') }) @@ -625,7 +627,7 @@ describe('React', () => { function makeContainer( mapState: any, mapDispatch: any, - mergeProps: any + mergeProps: any, ) { class Container extends Component { render() { @@ -635,7 +637,7 @@ describe('React', () => { const ConnectedContainer = connect( mapState, mapDispatch, - mergeProps + mergeProps, )(Container) return React.createElement(ConnectedContainer) } @@ -647,13 +649,13 @@ describe('React', () => { {makeContainer( () => 1, () => ({}), - () => ({}) + () => ({}), )} - + , ) expect(spy).toHaveBeenCalledTimes(1) expect(spy.mock.calls[0][0]).toMatch( - /mapStateToProps\(\) in Connect\(Container\) must return a plain object/ + /mapStateToProps\(\) in Connect\(Container\) must return a plain object/, ) spy.mockRestore() rtl.cleanup() @@ -664,13 +666,13 @@ describe('React', () => { {makeContainer( () => 'hey', () => ({}), - () => ({}) + () => ({}), )} - + , ) expect(spy).toHaveBeenCalledTimes(1) expect(spy.mock.calls[0][0]).toMatch( - /mapStateToProps\(\) in Connect\(Container\) must return a plain object/ + /mapStateToProps\(\) in Connect\(Container\) must return a plain object/, ) spy.mockRestore() rtl.cleanup() @@ -681,13 +683,13 @@ describe('React', () => { {makeContainer( () => new AwesomeMap(), () => ({}), - () => ({}) + () => ({}), )} - + , ) expect(spy).toHaveBeenCalledTimes(1) expect(spy.mock.calls[0][0]).toMatch( - /mapStateToProps\(\) in Connect\(Container\) must return a plain object/ + /mapStateToProps\(\) in Connect\(Container\) must return a plain object/, ) spy.mockRestore() rtl.cleanup() @@ -698,13 +700,13 @@ describe('React', () => { {makeContainer( () => ({}), () => 1, - () => ({}) + () => ({}), )} - + , ) expect(spy).toHaveBeenCalledTimes(1) expect(spy.mock.calls[0][0]).toMatch( - /mapDispatchToProps\(\) in Connect\(Container\) must return a plain object/ + /mapDispatchToProps\(\) in Connect\(Container\) must return a plain object/, ) spy.mockRestore() rtl.cleanup() @@ -715,13 +717,13 @@ describe('React', () => { {makeContainer( () => ({}), () => 'hey', - () => ({}) + () => ({}), )} - + , ) expect(spy).toHaveBeenCalledTimes(1) expect(spy.mock.calls[0][0]).toMatch( - /mapDispatchToProps\(\) in Connect\(Container\) must return a plain object/ + /mapDispatchToProps\(\) in Connect\(Container\) must return a plain object/, ) spy.mockRestore() rtl.cleanup() @@ -732,13 +734,13 @@ describe('React', () => { {makeContainer( () => ({}), () => new AwesomeMap(), - () => ({}) + () => ({}), )} - + , ) expect(spy).toHaveBeenCalledTimes(1) expect(spy.mock.calls[0][0]).toMatch( - /mapDispatchToProps\(\) in Connect\(Container\) must return a plain object/ + /mapDispatchToProps\(\) in Connect\(Container\) must return a plain object/, ) spy.mockRestore() rtl.cleanup() @@ -749,13 +751,13 @@ describe('React', () => { {makeContainer( () => ({}), () => ({}), - () => 1 + () => 1, )} - + , ) expect(spy).toHaveBeenCalledTimes(1) expect(spy.mock.calls[0][0]).toMatch( - /mergeProps\(\) in Connect\(Container\) must return a plain object/ + /mergeProps\(\) in Connect\(Container\) must return a plain object/, ) spy.mockRestore() rtl.cleanup() @@ -766,13 +768,13 @@ describe('React', () => { {makeContainer( () => ({}), () => ({}), - () => 'hey' + () => 'hey', )} - + , ) expect(spy).toHaveBeenCalledTimes(1) expect(spy.mock.calls[0][0]).toMatch( - /mergeProps\(\) in Connect\(Container\) must return a plain object/ + /mergeProps\(\) in Connect\(Container\) must return a plain object/, ) spy.mockRestore() rtl.cleanup() @@ -783,13 +785,13 @@ describe('React', () => { {makeContainer( () => ({}), () => ({}), - () => new AwesomeMap() + () => new AwesomeMap(), )} - + , ) expect(spy).toHaveBeenCalledTimes(1) expect(spy.mock.calls[0][0]).toMatch( - /mergeProps\(\) in Connect\(Container\) must return a plain object/ + /mergeProps\(\) in Connect\(Container\) must return a plain object/, ) spy.mockRestore() }) @@ -837,11 +839,11 @@ describe('React', () => { } } - let outerComponent = React.createRef() + const outerComponent = React.createRef() rtl.render( - + , ) rtl.act(() => { outerComponent.current!.setFoo('BAR') @@ -885,11 +887,11 @@ describe('React', () => { } } - let outerComponent = React.createRef() + const outerComponent = React.createRef() rtl.render( - + , ) expect(invocationCount).toEqual(1) rtl.act(() => { @@ -939,11 +941,11 @@ describe('React', () => { } } - let outerComponent = React.createRef() + const outerComponent = React.createRef() rtl.render( - + , ) expect(invocationCount).toEqual(1) @@ -998,11 +1000,11 @@ describe('React', () => { } } - let outerComponent = React.createRef() + const outerComponent = React.createRef() rtl.render( - + , ) rtl.act(() => { @@ -1049,11 +1051,11 @@ describe('React', () => { } } - let outerComponent = React.createRef() + const outerComponent = React.createRef() rtl.render( - + , ) expect(invocationCount).toEqual(1) rtl.act(() => { @@ -1106,11 +1108,11 @@ describe('React', () => { } } - let outerComponent = React.createRef() + const outerComponent = React.createRef() rtl.render( - + , ) expect(invocationCount).toEqual(1) @@ -1147,12 +1149,12 @@ describe('React', () => { } } const ConnectedContainer = connect((state) => ({ string: state }))( - Container + Container, ) const tester = rtl.render( - + , ) expect(tester.getByTestId('string')).toHaveTextContent('a') }) @@ -1169,7 +1171,7 @@ describe('React', () => { } } const ConnectedApp = connect( - (state) => ({ hide: state === 'AB' }) + (state) => ({ hide: state === 'AB' }), )(App) class Container extends Component { @@ -1202,7 +1204,7 @@ describe('React', () => { const { unmount } = rtl.render( - + , ) try { @@ -1218,8 +1220,8 @@ describe('React', () => { const store = createStore(() => ({})) let mapStateToPropsCalls = 0 - let linkA = React.createRef() - let linkB = React.createRef() + const linkA = React.createRef() + const linkB = React.createRef() interface AppPropsType { children: ReactNode @@ -1292,7 +1294,7 @@ describe('React', () => { const { unmount } = rtl.render( - + , ) const spy = jest.spyOn(console, 'error').mockImplementation(() => {}) @@ -1333,13 +1335,13 @@ describe('React', () => { const Connected = connect( // eslint-disable-next-line @typescript-eslint/no-unused-vars (state) => ({ calls: mapStateToPropsCalls++ }), - (dispatch) => ({ dispatch }) + (dispatch) => ({ dispatch }), )(Container) const { unmount } = rtl.render( - + , ) expect(mapStateToPropsCalls).toBe(1) @@ -1361,7 +1363,7 @@ describe('React', () => { } const ConnectedInner = connect( () => ({ calls: ++mapStateToPropsCalls }), - (dispatch) => ({ dispatch }) + (dispatch) => ({ dispatch }), )(Inner) let unmount: ReturnType['unmount'] @@ -1373,7 +1375,7 @@ describe('React', () => { unmount = rtl.render( - + , ).unmount }) @@ -1399,7 +1401,7 @@ describe('React', () => { } function reducer( state: StateType = { data: null }, - action: ActionType + action: ActionType, ) { switch (action.type) { case 'fetch': @@ -1444,7 +1446,7 @@ describe('React', () => { const { unmount } = rtl.render( - + , ) unmount() @@ -1480,13 +1482,13 @@ describe('React', () => { string >( (state) => ({ string: state }), - (dispatch) => ({ dispatch }) + (dispatch) => ({ dispatch }), )(Container) const tester = rtl.render( - + , ) expect(spy).toHaveBeenCalledTimes(1) expect(tester.getByTestId('string')).toHaveTextContent('') @@ -1557,12 +1559,12 @@ describe('React', () => { ( stateProps: { string: string }, dispatchProps: { dispatch: ReduxDispatch }, - parentProps + parentProps, ) => ({ ...dispatchProps, ...stateProps, ...parentProps, - }) + }), )(Container) const tree: { setState?: Dispatch<{ pass: PassType }> } = {} @@ -1644,7 +1646,7 @@ describe('React', () => { expect(spy).toHaveBeenCalledTimes(5) expect(tester.getByTestId('string')).toHaveTextContent('a') expect(tester.getByTestId('pass')).toHaveTextContent( - '{"prop":"val","val":"otherval"}' + '{"prop":"val","val":"otherval"}', ) obj2.val = 'mutation' @@ -1655,7 +1657,7 @@ describe('React', () => { expect(spy).toHaveBeenCalledTimes(5) expect(tester.getByTestId('string')).toHaveTextContent('a') expect(tester.getByTestId('pass')).toHaveTextContent( - '{"prop":"val","val":"otherval"}' + '{"prop":"val","val":"otherval"}', ) }) @@ -1678,7 +1680,7 @@ describe('React', () => { rtl.render( - + , ) expect(renderCalls).toBe(1) @@ -1713,7 +1715,7 @@ describe('React', () => { rtl.render( - + , ) expect(renderCalls).toBe(1) @@ -1757,13 +1759,13 @@ describe('React', () => { null, () => ({ changed: false, - }) + }), )(Container) rtl.render( - + , ) expect(renderCalls).toBe(1) @@ -1792,7 +1794,7 @@ describe('React', () => { const Comp = React.forwardRef( function Comp(props: PropsType, ref) { return {props.count} - } + }, ) return Comp } @@ -1826,7 +1828,7 @@ describe('React', () => { const tester = rtl.render( - + , ) expect(tester.getByTestId('hi')).toHaveTextContent('there') @@ -1840,8 +1842,8 @@ describe('React', () => { render() { return
} - } - ).displayName + }, + ).displayName, ).toBe('Connect(Foo)') }) @@ -1887,7 +1889,7 @@ describe('React', () => { type ConnectArgsType = [ (null | boolean)?, (null | boolean)?, - (null | boolean)? + (null | boolean)?, ] function runCheck(...connectArgs: ConnectArgsType) { class Container extends Component { @@ -1912,10 +1914,10 @@ describe('React', () => { const tester = rtl.render( - + , ) expect(tester.getAllByTestId('dispatch')[0]).toHaveTextContent( - '[function dispatch]' + '[function dispatch]', ) expect(tester.queryByTestId('foo')).toBe(null) expect(tester.getAllByTestId('pass')[0]).toHaveTextContent('through') @@ -1982,12 +1984,12 @@ describe('React', () => { })(C) const store = createStore((state: RootState = 0, action: ActionType) => - action.type === 'INC' ? (state += 1) : state + action.type === 'INC' ? (state += 1) : state, ) rtl.render( - + , ) rtl.act(() => { @@ -2043,12 +2045,12 @@ describe('React', () => { const store = createStore( (state: RootStateType = 0, action: ActionType) => - action.type === 'INC' ? state + 1 : state + action.type === 'INC' ? state + 1 : state, ) rtl.render( - + , ) expect(mapStateToProps).toHaveBeenCalledTimes(1) @@ -2102,12 +2104,12 @@ describe('React', () => { const store = createStore( (state: RootStateType = 0, action: ActionType) => - action.type === 'INC' ? state + 1 : state + action.type === 'INC' ? state + 1 : state, ) rtl.render( - + , ) expect(mapStateToProps).toHaveBeenCalledTimes(0) @@ -2147,7 +2149,7 @@ describe('React', () => { }, undefined, undefined, - { context } + { context }, ) const Decorated = decorator(Container) @@ -2159,7 +2161,7 @@ describe('React', () => { - + , ) expect(actualState).toEqual(expectedState) @@ -2195,7 +2197,7 @@ describe('React', () => { - + , ) expect(actualState).toEqual(expectedState) @@ -2225,7 +2227,7 @@ describe('React', () => { {/*@ts-expect-error*/} - + , ) expect(actualState).toEqual(expectedState) @@ -2267,7 +2269,7 @@ describe('React', () => { {/*@ts-expect-error*/} - + , ) expect(rendered.getByTestId('store')).toHaveTextContent('42') @@ -2337,7 +2339,7 @@ describe('React', () => { const reducer1 = ( state: Store1State1Type = { first: '1' }, - action: ActionType + action: ActionType, ) => { switch (action.type) { case 'CHANGE': @@ -2349,7 +2351,7 @@ describe('React', () => { const reducer2 = ( state: Store2State1Type = { second: '3' }, - action: ActionType + action: ActionType, ) => { switch (action.type) { case 'CHANGE': @@ -2373,7 +2375,7 @@ describe('React', () => { - + , ) // Initial render: C1/C3 read from store 1, C2 reads from store 2, one render each @@ -2417,11 +2419,11 @@ describe('React', () => { type ActionType = UnknownAction const store1 = createStore( (state: RootStateType = 0, action: ActionType) => - action.type === 'INC' ? state + 1 : state + action.type === 'INC' ? state + 1 : state, ) const store2 = createStore( (state: RootStateType = 0, action: ActionType) => - action.type === 'INC' ? state + 1 : state + action.type === 'INC' ? state + 1 : state, ) const customContext = React.createContext(null) @@ -2437,7 +2439,7 @@ describe('React', () => { undefined, { context: customContext, - } + }, )(A) const mapStateToPropsB = jest.fn((state) => ({ count: state })) @@ -2483,7 +2485,7 @@ describe('React', () => { - + , ) expect(mapStateToPropsB).toHaveBeenCalledTimes(1) expect(mapStateToPropsC).toHaveBeenCalledTimes(1) @@ -2540,7 +2542,7 @@ describe('React', () => { const tester = rtl.render( - + , ) await tester.findByTestId('loaded') @@ -2583,7 +2585,7 @@ describe('React', () => { const tester = rtl.render( - + , ) expect(tester.getByTestId('a')).toHaveTextContent('42') @@ -2643,7 +2645,7 @@ describe('React', () => {
- + , ) rtl.act(() => { @@ -2670,6 +2672,7 @@ describe('React', () => { let secondaryOwnProps: OwnProps const mapStateFactory = function (factoryInitialState: RootStateType) { initialState = factoryInitialState + // eslint-disable-next-line prefer-rest-params initialOwnProps = arguments[1] return (state: RootStateType, props: OwnProps) => { secondaryOwnProps = props @@ -2695,7 +2698,7 @@ describe('React', () => {
- + , ) rtl.act(() => { @@ -2741,7 +2744,7 @@ describe('React', () => { function mergeParentDispatch( stateProps: PassTStateProps, dispatchProps: TDispatchPropsType, - parentProps: OwnPropsType + parentProps: OwnPropsType, ): TMergeProps { return { ...stateProps, ...dispatchProps, name: parentProps.name } } @@ -2762,7 +2765,7 @@ describe('React', () => { >( null, mapDispatchFactory, - mergeParentDispatch + mergeParentDispatch, )(Passthrough) type ContainerPropsType = {} @@ -2794,7 +2797,7 @@ describe('React', () => { rtl.render( - + , ) rtl.act(() => { @@ -2815,7 +2818,7 @@ describe('React', () => { rtl.render( - + , ) return null //@ts-ignore before typescript4.0, a catch could not have type annotations @@ -2891,7 +2894,7 @@ describe('React', () => { } } const ConnectedContainer = connect((state) => ({ string: state }))( - Container + Container, ) rtl.render( @@ -2899,14 +2902,14 @@ describe('React', () => { - + , ) if (IS_REACT_18) { expect(spy).not.toHaveBeenCalled() } else { expect(spy.mock.calls[0]?.[0]).toEqual( - expect.stringContaining('was not wrapped in act') + expect.stringContaining('was not wrapped in act'), ) } @@ -2929,7 +2932,7 @@ describe('React', () => { () => ({}), // The `pure` option has been removed // @ts-ignore - { pure: true } + { pure: true }, )(ContainerA) class ContainerB extends Component { @@ -2944,19 +2947,19 @@ describe('React', () => { () => ({}), // The `pure` option has been removed // @ts-ignore - { pure: true } + { pure: true }, )(ContainerB) rtl.render( - + , ) expect(spy).toHaveBeenCalledTimes(1) expect(spy).toHaveBeenCalledWith( - 'The `pure` option has been removed. `connect` is now always a "pure/memoized" component' + 'The `pure` option has been removed. `connect` is now always a "pure/memoized" component', ) spy.mockRestore() @@ -3026,7 +3029,7 @@ describe('React', () => { const tester = rtl.render( - + , ) expect(childMapStateInvokes).toBe(1) @@ -3103,11 +3106,11 @@ describe('React', () => { } } - let outerComponent = React.createRef() + const outerComponent = React.createRef() rtl.render( - + , ) rtl.act(() => { outerComponent.current!.setState(({ count }) => ({ @@ -3169,9 +3172,10 @@ describe('React', () => { const store = createStore( counter, - applyMiddleware - // @ts-ignore - (reactCallbackMiddleware) + applyMiddleware( + // @ts-ignore + reactCallbackMiddleware, + ), ) interface ChildrenTStatePropsType { @@ -3187,7 +3191,7 @@ describe('React', () => { ChildrenOwnProps, RootStateType >((count) => ({ count }))(function ( - props: ChildrenTStatePropsType & ChildrenOwnProps + props: ChildrenTStatePropsType & ChildrenOwnProps, ) { return (
{ } } - let parent = React.createRef() + const parent = React.createRef() const rendered = rtl.render() expect(rendered.getByTestId('child').dataset.count).toEqual('0') expect(rendered.getByTestId('child').dataset.prop).toEqual('a') @@ -3280,11 +3284,11 @@ describe('React', () => { } } - let outerComponent = React.createRef() + const outerComponent = React.createRef() rtl.render( - + , ) rtl.act(() => { @@ -3309,7 +3313,7 @@ describe('React', () => { const store = createStore(reducer) let executionOrder: string[] = [] - let expectedExecutionOrder = [ + const expectedExecutionOrder = [ 'parent map', 'parent render', 'child map', @@ -3339,7 +3343,7 @@ describe('React', () => { rtl.render( - + , ) executionOrder = [] @@ -3367,7 +3371,7 @@ describe('React', () => { const reducer = ( state: RootStateType = initialState, - action: ActionType + action: ActionType, ) => { switch (action.type) { case 'DELETE_B': { @@ -3398,7 +3402,7 @@ describe('React', () => { const listItemMapState = ( state: RootStateType, - ownProps: ListItemOwnerProps + ownProps: ListItemOwnerProps, ) => { try { const item = state[ownProps.id] @@ -3454,7 +3458,7 @@ describe('React', () => { rtl.render( - + , ) // This should execute without throwing an error by itself diff --git a/test/components/hooks.spec.tsx b/test/components/hooks.spec.tsx index 7776ed785..92b1654eb 100644 --- a/test/components/hooks.spec.tsx +++ b/test/components/hooks.spec.tsx @@ -39,7 +39,7 @@ describe('React', () => { break } return newState - } + }, ) const mapStateSpy1 = jest.fn() @@ -90,14 +90,14 @@ describe('React', () => { >( ( state: RootStateType, - ownProps: Omit + ownProps: Omit, ): Component2Tstate => { mapStateSpy2() return { mappedProp: ownProps.list.map((id) => state.byId[id]), } - } + }, ) interface Component2PropsType { list: number[] @@ -116,7 +116,7 @@ describe('React', () => { rtl.render( - + , ) // 1. Initial render diff --git a/test/hooks/useReduxContext.spec.tsx b/test/hooks/useReduxContext.spec.tsx index f36c4ed1e..5d69d8f61 100644 --- a/test/hooks/useReduxContext.spec.tsx +++ b/test/hooks/useReduxContext.spec.tsx @@ -15,7 +15,7 @@ describe('React', () => { const { result } = renderHook(() => useReduxContext()) expect(result.error.message).toMatch( - /could not find react-redux context value/ + /could not find react-redux context value/, ) spy.mockRestore() @@ -30,7 +30,7 @@ describe('React', () => { const { result } = renderHook(() => useCustomReduxContext()) expect(result.error.message).toMatch( - /could not find react-redux context value/ + /could not find react-redux context value/, ) spy.mockRestore() diff --git a/test/hooks/useSelector.spec.tsx b/test/hooks/useSelector.spec.tsx index 9108d18ff..14810838a 100644 --- a/test/hooks/useSelector.spec.tsx +++ b/test/hooks/useSelector.spec.tsx @@ -56,13 +56,13 @@ describe('React', () => { let normalStore: Store let renderedItems: any[] = [] type RootState = ReturnType - let useNormalSelector: TypedUseSelectorHook = useSelector + const useNormalSelector: TypedUseSelectorHook = useSelector beforeEach(() => { normalStore = createStore( ({ count }: NormalStateType = { count: -1 }): NormalStateType => ({ count: count + 1, - }) + }), ) renderedItems = [] }) @@ -84,7 +84,7 @@ describe('React', () => { rtl.render( - + , ) expect(result).toEqual(0) @@ -105,7 +105,7 @@ describe('React', () => { rtl.render( - + , ) expect(result).toEqual(0) @@ -134,7 +134,7 @@ describe('React', () => { rtl.render( - + , ) expect(renderedItems).toEqual([1]) @@ -164,7 +164,7 @@ describe('React', () => { rtl.render( - + , ) // Parent component only expect(appSubscription!.getListeners().get().length).toBe(1) @@ -195,7 +195,7 @@ describe('React', () => { rtl.render( - + , ) // Parent + 1 child component expect(appSubscription!.getListeners().get().length).toBe(2) @@ -241,7 +241,7 @@ describe('React', () => { rtl.render( - + , ) // With `useSyncExternalStore`, we get three renders of ``: @@ -277,7 +277,7 @@ describe('React', () => { rtl.render( - + , ) // The first render doesn't trigger dispatch @@ -305,7 +305,7 @@ describe('React', () => { rtl.render( - + , ) expect(renderedItems.length).toBe(1) @@ -326,13 +326,13 @@ describe('React', () => { ({ count, stable }: StateType = { count: -1, stable: {} }) => ({ count: count + 1, stable, - }) + }), ) const Comp = () => { const value = useSelector( (s: StateType) => Object.keys(s), - shallowEqual + shallowEqual, ) renderedItems.push(value) return
@@ -350,7 +350,7 @@ describe('React', () => { - + , ) expect(renderedItems.length).toBe(2) @@ -384,7 +384,7 @@ describe('React', () => { rtl.render( - + , ) expect(selector).toHaveBeenCalledTimes(1) @@ -435,7 +435,7 @@ describe('React', () => { rtl.render( - + , ) // Selector first called on Comp mount, and then re-invoked after mount due to useLayoutEffect dispatching event @@ -460,7 +460,7 @@ describe('React', () => { rtl.render( - + , ) expect(renderedItems).toEqual([0]) @@ -507,7 +507,7 @@ describe('React', () => { rtl.render( - + , ) const doDispatch = () => normalStore.dispatch({ type: '' }) @@ -576,7 +576,7 @@ describe('React', () => { rtl.render( - + , ) expect(() => { @@ -624,7 +624,7 @@ describe('React', () => { rtl.render( - + , ) normalStore.dispatch({ type: '' }) @@ -650,7 +650,7 @@ describe('React', () => { rtl.render( - + , ) expect(renderedItems.length).toBe(1) @@ -701,7 +701,7 @@ describe('React', () => { const { getByText } = rtl.render( - + , ) const timeBefore = Date.now() @@ -751,7 +751,7 @@ describe('React', () => { resolve({ default: OtherComp, }) - }) + }), ) let addOtherComponent: () => void = () => {} const Dispatcher = React.memo(() => { @@ -807,7 +807,7 @@ describe('React', () => { - + , ) // step 2: make sure the suspense is switched back to "Loading..." state by adding a component @@ -865,7 +865,7 @@ describe('React', () => { it('throws if equality function is not a function', () => { expect(() => //@ts-expect-error - useNormalSelector((s) => s.count, 1) + useNormalSelector((s) => s.count, 1), ).toThrow() }) }) @@ -902,7 +902,7 @@ describe('React', () => { rtl.render( - + , ) expect(selector).toHaveBeenCalledTimes(2) @@ -916,14 +916,14 @@ describe('React', () => { rtl.render( - + , ) expect(selector).toHaveBeenCalledTimes(2) expect(consoleSpy).toHaveBeenCalledWith( expect.stringContaining( - 'returned a different result when called with the same parameters' + 'returned a different result when called with the same parameters', ), expect.objectContaining({ state: expect.objectContaining({ @@ -932,7 +932,7 @@ describe('React', () => { selected: expect.any(Number), selected2: expect.any(Number), stack: expect.any(String), - }) + }), ) }) it('uses provided equalityFn', () => { @@ -946,7 +946,7 @@ describe('React', () => { selector={unstableSelector} options={{ equalityFn: shallowEqual }} /> - + , ) expect(unstableSelector).toHaveBeenCalledTimes(2) @@ -956,7 +956,7 @@ describe('React', () => { rtl.render( - + , ) expect(selector).toHaveBeenCalledTimes(2) @@ -971,7 +971,7 @@ describe('React', () => { rtl.render( - + , ) expect(selector).toHaveBeenCalledTimes(1) @@ -986,7 +986,7 @@ describe('React', () => { selector={selector} options={{ devModeChecks: { stabilityCheck: 'never' } }} /> - + , ) expect(selector).toHaveBeenCalledTimes(1) @@ -995,7 +995,7 @@ describe('React', () => { rtl.render( - + , ) expect(selector).toHaveBeenCalledTimes(2) @@ -1016,7 +1016,7 @@ describe('React', () => { selector={selector} options={{ devModeChecks: { stabilityCheck: 'always' } }} /> - + , ) expect(selector).toHaveBeenCalledTimes(2) @@ -1033,7 +1033,7 @@ describe('React', () => { rtl.render( state.count} /> - + , ) expect(consoleSpy).not.toHaveBeenCalled() @@ -1043,14 +1043,14 @@ describe('React', () => { rtl.render( state} /> - + , ) expect(consoleSpy).toHaveBeenCalledWith( expect.stringContaining('returned the root state when called.'), expect.objectContaining({ stack: expect.any(String), - }) + }), ) }) }) @@ -1103,7 +1103,7 @@ describe('React', () => { - + , ) expect(defaultCount).toBe(0) diff --git a/test/integration/dynamic-reducers.spec.tsx b/test/integration/dynamic-reducers.spec.tsx index 16045449d..beb47b84e 100644 --- a/test/integration/dynamic-reducers.spec.tsx +++ b/test/integration/dynamic-reducers.spec.tsx @@ -167,7 +167,7 @@ describe('React', () => { - + , ) getByText('Hello world') @@ -193,7 +193,7 @@ describe('React', () => { - + , ) expect(markup).toContain('Hello world') diff --git a/test/integration/server-rendering.spec.tsx b/test/integration/server-rendering.spec.tsx index 2c22b8398..9188e45a2 100644 --- a/test/integration/server-rendering.spec.tsx +++ b/test/integration/server-rendering.spec.tsx @@ -8,19 +8,20 @@ /*eslint-disable react/prop-types*/ -import React, { FunctionComponent } from 'react' +import type { PayloadAction } from '@reduxjs/toolkit' +import type { FunctionComponent } from 'react' +import React from 'react' import { renderToString } from 'react-dom/server' +import type { Dispatch, Store } from 'redux' import { createStore } from 'redux' -import type { PayloadAction } from '@reduxjs/toolkit' import { Provider, connect } from '../../src/index' -import type { Dispatch, Store } from 'redux' describe('React', () => { describe('server rendering', () => { type ActionType = PayloadAction<{ greeting: string }> function greetingReducer( state = { greeting: 'Hello' }, - action: ActionType + action: ActionType, ) { return action && action.payload ? action.payload : state } @@ -43,7 +44,7 @@ describe('React', () => { } const ConnectedGreeting = connect( - (state) => state + (state) => state, )(Greeting) const Greeter = (props: any) => ( @@ -88,7 +89,7 @@ describe('React', () => { const markup = renderToString( - + , ) expect(markup).toContain('Hello world') }) @@ -101,7 +102,7 @@ describe('React', () => { renderToString( - + , ) expect(spy).toHaveBeenCalledTimes(0) @@ -117,7 +118,7 @@ describe('React', () => { const markup = renderToString( - + , ) expect(markup).toContain('Hi world') @@ -154,7 +155,7 @@ describe('React', () => { greeted="world" /> - + , ) expect(markup).toContain('Hi world') @@ -191,7 +192,7 @@ describe('React', () => { greeted="world" /> - + , ) expect(markup).toContain('Hi world') diff --git a/test/integration/ssr.spec.tsx b/test/integration/ssr.spec.tsx index 42e7a2256..a78958b41 100644 --- a/test/integration/ssr.spec.tsx +++ b/test/integration/ssr.spec.tsx @@ -1,15 +1,11 @@ -import React, { Suspense, useState, useEffect } from 'react' +import type { PayloadAction } from '@reduxjs/toolkit' +import { createSlice, createStore } from '@reduxjs/toolkit' import * as rtl from '@testing-library/react' -import { renderToString } from 'react-dom/server' +import React, { Suspense, useEffect, useState } from 'react' import { hydrateRoot } from 'react-dom/client' -import { createStore, createSlice, PayloadAction } from '@reduxjs/toolkit' -import { - Provider, - connect, - useSelector, - useDispatch, - ConnectedProps, -} from '../../src/index' +import { renderToString } from 'react-dom/server' +import type { ConnectedProps } from '../../src/index' +import { Provider, connect, useDispatch, useSelector } from '../../src/index' const IS_REACT_18 = React.version.startsWith('18') @@ -99,7 +95,7 @@ describe('New v8 serverState behavior', () => { } const ConnectedGlobalCountButtonConnect = gcbConnector( - GlobalCountButtonConnect + GlobalCountButtonConnect, ) function App() { @@ -120,7 +116,7 @@ describe('New v8 serverState behavior', () => { return } - let consoleError = jest.spyOn(console, 'error').mockImplementation(() => {}) + const consoleError = jest.spyOn(console, 'error').mockImplementation(() => {}) afterEach(() => { jest.clearAllMocks() @@ -137,7 +133,7 @@ describe('New v8 serverState behavior', () => { const markup = renderToString( - + , ) // Pretend we have server-rendered HTML @@ -157,7 +153,7 @@ describe('New v8 serverState behavior', () => { rootDiv, - + , ) }) @@ -165,7 +161,7 @@ describe('New v8 serverState behavior', () => { const [errorArg] = lastCall expect(errorArg).toBeInstanceOf(Error) expect(/There was an error while hydrating/.test(errorArg.message)).toBe( - true + true, ) jest.resetAllMocks() @@ -187,7 +183,7 @@ describe('New v8 serverState behavior', () => { rootDiv2, - + , ) }) diff --git a/test/react-native/batch-integration.tsx b/test/react-native/batch-integration.tsx index 86aa50b00..21315151e 100644 --- a/test/react-native/batch-integration.tsx +++ b/test/react-native/batch-integration.tsx @@ -1,16 +1,16 @@ +import '@testing-library/jest-native/extend-expect' +import * as rtl from '@testing-library/react-native' import React, { Component, useLayoutEffect } from 'react' -import { View, Button, Text, unstable_batchedUpdates } from 'react-native' -import { createStore, applyMiddleware } from 'redux' +import { Button, Text, View, unstable_batchedUpdates } from 'react-native' +import { applyMiddleware, createStore } from 'redux' import { Provider as ProviderMock, - connect, batch, - useSelector, + connect, useDispatch, + useSelector, } from '../../src/index' import { useIsomorphicLayoutEffect } from '../../src/utils/useIsomorphicLayoutEffect' -import * as rtl from '@testing-library/react-native' -import '@testing-library/jest-native/extend-expect' import type { MiddlewareAPI, Dispatch as ReduxDispatch } from 'redux' @@ -128,7 +128,7 @@ describe('React Native', () => { const tester = rtl.render( - + , ) expect(childMapStateInvokes).toBe(1) @@ -206,11 +206,11 @@ describe('React Native', () => { } } - let outerComponent = React.createRef() + const outerComponent = React.createRef() rtl.render( - + , ) outerComponent.current!.setState(({ count }) => ({ count: count + 1 })) store.dispatch({ type: '' }) @@ -272,8 +272,8 @@ describe('React Native', () => { counter, applyMiddleware( // @ts-ignore - reactCallbackMiddleware - ) + reactCallbackMiddleware, + ), ) interface ChildrenTStatePropsType { @@ -290,7 +290,7 @@ describe('React Native', () => { OwnPropsType, RootStateType >((count) => ({ count }))(function ( - props: OwnPropsType & ChildrenTStatePropsType + props: OwnPropsType & ChildrenTStatePropsType, ) { return ( @@ -325,7 +325,7 @@ describe('React Native', () => { } } - let parent = React.createRef() + const parent = React.createRef() const rendered = rtl.render() expect(rendered.getByTestId('child-count').children).toEqual(['0']) expect(rendered.getByTestId('child-prop').children).toEqual(['a']) @@ -388,11 +388,11 @@ describe('React Native', () => { } } - let outerComponent = React.createRef() + const outerComponent = React.createRef() rtl.render( - + , ) store.dispatch({ type: '' }) @@ -415,7 +415,7 @@ describe('React Native', () => { const store = createStore(reducer) let executionOrder: string[] = [] - let expectedExecutionOrder = [ + const expectedExecutionOrder = [ 'parent map', 'parent render', 'child map', @@ -445,7 +445,7 @@ describe('React Native', () => { rtl.render( - + , ) executionOrder = [] @@ -480,7 +480,7 @@ describe('React Native', () => { const reducer = ( state: RootStateType = INIT_STATE, - action: ActionType + action: ActionType, ) => { switch (action.type) { case 'TOGGLE': diff --git a/test/typeTestHelpers.ts b/test/typeTestHelpers.ts index 08da24571..f31b16d99 100644 --- a/test/typeTestHelpers.ts +++ b/test/typeTestHelpers.ts @@ -31,12 +31,12 @@ export function expectExactType(t: T) { return >(u: U) => {} } -type EnsureUnknown = IsUnknown +type EnsureUnknown = IsUnknown export function expectUnknown>(t: T) { return t } -type EnsureAny = IsAny +type EnsureAny = IsAny export function expectExactAny>(t: T) { return t } diff --git a/test/typetests/connect-mapstate-mapdispatch.tsx b/test/typetests/connect-mapstate-mapdispatch.tsx index d2bb22c07..8f30cf355 100644 --- a/test/typetests/connect-mapstate-mapdispatch.tsx +++ b/test/typetests/connect-mapstate-mapdispatch.tsx @@ -1,40 +1,15 @@ /* eslint-disable @typescript-eslint/no-unused-vars, no-inner-declarations */ import * as React from 'react' -import * as ReactDOM from 'react-dom' -import type { Dispatch, ActionCreator } from 'redux' -import { - Store, - AnyAction, - createStore, - bindActionCreators, - ActionCreatorsMapObject, - Reducer, -} from 'redux' -import type { ReactReduxContext, MapDispatchToProps } from '../../src/index' -import { - connect, - ConnectedProps, - Provider, - DispatchProp, - MapStateToProps, - ReactReduxContextValue, - Selector, - shallowEqual, - useDispatch, - useSelector, - useStore, - createDispatchHook, - createSelectorHook, - createStoreHook, - TypedUseSelectorHook, -} from '../../src/index' +import type { ActionCreator, Dispatch } from 'redux' +import type { MapDispatchToProps, ReactReduxContext } from '../../src/index' +import { connect } from '../../src/index' // Test cases written in a way to isolate types and variables and verify the // output of `connect` to make sure the signature is what is expected const CustomContext = React.createContext( - null + null, ) as unknown as typeof ReactReduxContext function Empty() { @@ -295,7 +270,7 @@ function MapStateAndNullishDispatch() { const TestDispatchPropsUndefined = connect( mapStateToProps, - undefined + undefined, )(TestComponent) const verifyNonUn = @@ -321,7 +296,7 @@ function MapDispatchFactory() { const TestUndefined = connect( undefined, - mapDispatchToPropsFactory + mapDispatchToPropsFactory, )(TestComponent) const verifyUndefined = @@ -380,7 +355,7 @@ function MapStateFactoryAndDispatch() { const Test = connect( mapStateToPropsFactory, - mapDispatchToProps + mapDispatchToProps, )(TestComponent) const verify = @@ -411,7 +386,7 @@ function MapStateFactoryAndDispatchFactory() { const Test = connect( mapStateToPropsFactory, - mapDispatchToPropsFactory + mapDispatchToPropsFactory, )(TestComponent) const verify = @@ -442,13 +417,13 @@ function MapStateAndDispatchAndMerge() { const mergeProps = ( stateProps: StateProps, - dispatchProps: DispatchProps + dispatchProps: DispatchProps, ) => ({ ...stateProps, ...dispatchProps }) const Test = connect( mapStateToProps, mapDispatchToProps, - mergeProps + mergeProps, )(TestComponent) const verify = @@ -511,7 +486,7 @@ function MapStateAndOptions() { null, { areStatePropsEqual, - } + }, )(TestComponent) const verify = diff --git a/test/typetests/connect-options-and-issues.tsx b/test/typetests/connect-options-and-issues.tsx index 92d69116e..be23afc4b 100644 --- a/test/typetests/connect-options-and-issues.tsx +++ b/test/typetests/connect-options-and-issues.tsx @@ -1,32 +1,15 @@ /* eslint-disable @typescript-eslint/no-unused-vars, react/prop-types */ import * as PropTypes from 'prop-types' import * as React from 'react' -import * as ReactDOM from 'react-dom' -import type { Store, Dispatch, AnyAction, ActionCreator, Reducer } from 'redux' -import { createStore, bindActionCreators, ActionCreatorsMapObject } from 'redux' +import type { ActionCreator, AnyAction, Dispatch, Reducer, Store } from 'redux' +import { createStore } from 'redux' import type { Connect, ConnectedProps, DispatchProp, MapStateToProps, } from '../../src/index' -import { - connect, - Provider, - ReactReduxContext, - ReactReduxContextValue, - Selector, - shallowEqual, - MapDispatchToProps, - useDispatch, - useSelector, - useStore, - createDispatchHook, - createSelectorHook, - createStoreHook, - TypedUseSelectorHook, -} from '../../src/index' -import { ConnectPropsMaybeWithoutContext } from '../../src/types' +import { Provider, ReactReduxContext, connect } from '../../src/index' import { expectType } from '../typeTestHelpers' @@ -34,7 +17,7 @@ import { expectType } from '../typeTestHelpers' // output of `connect` to make sure the signature is what is expected const CustomContext = React.createContext( - null + null, ) as unknown as typeof ReactReduxContext // https://github.com/DefinitelyTyped/DefinitelyTyped/issues/16021 @@ -88,7 +71,7 @@ function TestMergedPropsInference() { mapDispatchToProps, (stateProps: undefined, dispatchProps: DispatchProps) => ({ merged: 'merged', - }) + }), )(MergedPropsComponent) const ConnectedWithOwn = connect( @@ -96,7 +79,7 @@ function TestMergedPropsInference() { undefined, () => ({ merged: 'merged', - }) + }), )(MergedPropsComponent) const ConnectedWithInferredDispatch = connect( @@ -104,7 +87,7 @@ function TestMergedPropsInference() { undefined, (stateProps, dispatchProps, ownProps) => { expectType>(dispatchProps) - } + }, )(MergedPropsComponent) } @@ -123,7 +106,7 @@ function Issue16652() { const mapStateToProps = ( state: any, - ownProps: PassedProps + ownProps: PassedProps, ): GeneratedStateProps => { return { comments: ownProps.commentIds.map((id) => ({ id })), @@ -131,7 +114,7 @@ function Issue16652() { } const ConnectedCommentList = connect( - mapStateToProps + mapStateToProps, )(CommentList) ; @@ -235,14 +218,14 @@ function TestInferredFunctionalComponentWithExplicitOwnProps() { const Header = connect( ( { app: { title } }: { app: { title: string } }, - { extraText }: { extraText: string } + { extraText }: { extraText: string }, ) => ({ title, extraText, }), (dispatch) => ({ onClick: () => dispatch({ type: 'test' }), - }) + }), )(({ title, extraText, onClick }: Props) => { return (

@@ -266,7 +249,7 @@ function TestInferredFunctionalComponentWithImplicitOwnProps() { }), (dispatch) => ({ onClick: () => dispatch({ type: 'test' }), - }) + }), )(({ title, extraText, onClick }: Props) => { return (

@@ -332,16 +315,16 @@ function TestWithoutTOwnPropsDecoratedInference() { // these decorations should compile, it is perfectly acceptable to receive props and ignore them const ConnectedWithOwnPropsClass = connect(mapStateToProps4)( - WithoutOwnPropsComponentClass + WithoutOwnPropsComponentClass, ) const ConnectedWithOwnPropsStateless = connect(mapStateToProps4)( - WithoutOwnPropsComponentStateless + WithoutOwnPropsComponentStateless, ) const ConnectedWithTypeHintClass = connect( - mapStateToProps4 + mapStateToProps4, )(WithoutOwnPropsComponentClass) const ConnectedWithTypeHintStateless = connect( - mapStateToProps4 + mapStateToProps4, )(WithoutOwnPropsComponentStateless) // This should compile @@ -400,7 +383,7 @@ function TestWithoutTOwnPropsDecoratedInference() { return { state: 'string' } } const ConnectedWithPickedOwnProps = connect(mapStateToPropsForPicked)( - AllPropsComponent + AllPropsComponent, ) ; } @@ -588,7 +571,7 @@ function TestLibraryManagedAttributes() { ; {}} /> const ConnectedComponent2 = connect( - mapStateToProps + mapStateToProps, )(Component) ; {}} /> } @@ -625,7 +608,7 @@ function TestPropTypes() { ; {}} bar={0} /> const ConnectedComponent2 = connect( - mapStateToProps + mapStateToProps, )(Component) ; {}} bar={0} /> } @@ -689,6 +672,7 @@ function TestProviderContext() { static contextType = ReactReduxContext } + // eslint-disable-next-line no-extra-semi ; @@ -779,7 +763,7 @@ function testRef() { const ConnectedFunctionalComponent = connect()(FunctionalComponent) const ConnectedForwardedFunctionalComponent = connect()( - ForwardedFunctionalComponent + ForwardedFunctionalComponent, ) const ConnectedClassComponent = connect()(ClassComponent) diff --git a/test/typetests/counterApp.ts b/test/typetests/counterApp.ts index 7b976d814..21c7d55af 100644 --- a/test/typetests/counterApp.ts +++ b/test/typetests/counterApp.ts @@ -1,10 +1,5 @@ -import { - createSlice, - createAsyncThunk, - configureStore, - ThunkAction, - Action, -} from '@reduxjs/toolkit' +import type { Action, ThunkAction } from '@reduxjs/toolkit' +import { configureStore, createAsyncThunk, createSlice } from '@reduxjs/toolkit' export interface CounterState { counter: number @@ -26,7 +21,7 @@ export const counterSlice = createSlice({ export function fetchCount(amount = 1) { return new Promise<{ data: number }>((resolve) => - setTimeout(() => resolve({ data: amount }), 500) + setTimeout(() => resolve({ data: amount }), 500), ) } @@ -36,7 +31,7 @@ export const incrementAsync = createAsyncThunk( const response = await fetchCount(amount) // The value we return becomes the `fulfilled` action payload return response.data - } + }, ) export const { increment } = counterSlice.actions diff --git a/test/typetests/hooks.tsx b/test/typetests/hooks.tsx index a553ed29e..99e00ce54 100644 --- a/test/typetests/hooks.tsx +++ b/test/typetests/hooks.tsx @@ -1,13 +1,13 @@ /* eslint-disable @typescript-eslint/no-unused-vars, no-inner-declarations */ -import type { AnyAction, Dispatch, Store } from '@reduxjs/toolkit' -import { configureStore } from '@reduxjs/toolkit' -import * as React from 'react' +import type { AnyAction, Dispatch, Store } from '@reduxjs/toolkit'; +import { configureStore } from '@reduxjs/toolkit'; +import * as React from 'react'; import type { ReactReduxContextValue, Selector, TypedUseSelectorHook, -} from '../../src/index' +} from '../../src/index'; import { createDispatchHook, createSelectorHook, @@ -16,12 +16,12 @@ import { useDispatch, useSelector, useStore, -} from '../../src/index' +} from '../../src/index'; -import type { AppDispatch, RootState } from './counterApp' -import { incrementAsync } from './counterApp' +import type { AppDispatch, RootState } from './counterApp'; +import { incrementAsync } from './counterApp'; -import { expectExactType, expectType } from '../typeTestHelpers' +import { expectExactType, expectType } from '../typeTestHelpers'; function preTypedHooksSetup() { // Standard hooks setup @@ -52,7 +52,7 @@ function TestSelector() { const simpleSelect: Selector = (state: State) => state.key const notSimpleSelect: Selector = ( state: State, - ownProps: OwnProps + ownProps: OwnProps, ) => ownProps.key || state.key const ownProps = {} @@ -80,7 +80,7 @@ function testShallowEqual() { // Additionally, it should infer its type from arguments and not become `any` const selected1 = useSelector( (state: TestState) => state.stateProp, - shallowEqual + shallowEqual, ) expectExactType(selected1) @@ -118,7 +118,7 @@ function testUseDispatch() { const useThunkDispatch = () => useDispatch() const thunkDispatch = useThunkDispatch() const result: ReturnType = thunkDispatch( - thunkActionCreator(true) + thunkActionCreator(true), ) } @@ -219,9 +219,11 @@ function testCreateHookFunctions() { // No context tests expectType<() => Dispatch>(createDispatchHook()) expectType< - ( + ( selector: (state: any) => Selected, - equalityFn?: ((previous: Selected, next: Selected) => boolean) | undefined + equalityFn?: + | ((previous: Selected, next: Selected) => boolean) + | undefined, ) => Selected >(createSelectorHook()) expectType<() => Store>(createStoreHook()) @@ -229,9 +231,11 @@ function testCreateHookFunctions() { // With context tests expectType<() => Dispatch>(createDispatchHook(Context)) expectType< - ( + ( selector: (state: RootState) => Selected, - equalityFn?: ((previous: Selected, next: Selected) => boolean) | undefined + equalityFn?: + | ((previous: Selected, next: Selected) => boolean) + | undefined, ) => Selected >(createSelectorHook(Context)) expectType<() => Store>(createStoreHook(Context)) diff --git a/test/typetests/provider.tsx b/test/typetests/provider.tsx index f6cbc263c..d2b771d25 100644 --- a/test/typetests/provider.tsx +++ b/test/typetests/provider.tsx @@ -1,8 +1,8 @@ /* eslint-disable @typescript-eslint/no-unused-vars */ import React from 'react' +import type { Store } from 'redux' import { Provider } from '../../src' -import { Store } from 'redux' declare const store: Store<{ foo: string }> diff --git a/test/typetests/react-redux-types.typetest.tsx b/test/typetests/react-redux-types.typetest.tsx index 18a1fc2d2..5ff820acb 100644 --- a/test/typetests/react-redux-types.typetest.tsx +++ b/test/typetests/react-redux-types.typetest.tsx @@ -1,40 +1,19 @@ /* eslint-disable @typescript-eslint/no-unused-vars, no-inner-declarations */ -import { Component, ReactElement } from 'react' -import React from 'react' -import ReactDOM from 'react-dom' -import { - configureStore, - createSlice, - createAsyncThunk, - Store, - Dispatch, - bindActionCreators, - AnyAction, - ThunkAction, - Action, -} from '@reduxjs/toolkit' -import { - MapStateToProps, - DispatchProp, - connect, - Provider, +import type { AnyAction, Dispatch, Store } from '@reduxjs/toolkit' +import { bindActionCreators } from '@reduxjs/toolkit' +import type { ReactElement } from 'react' +import React, { Component } from 'react' +import { createRoot } from 'react-dom/client' +import type { ConnectedProps, - useDispatch, - useSelector, - TypedUseSelectorHook, + DispatchProp, + MapStateToProps, } from '../../src/index' +import { Provider, connect } from '../../src/index' import { expectType } from '../typeTestHelpers' -import { - CounterState, - counterSlice, - increment, - incrementAsync, - AppDispatch, - AppThunk, - RootState, - fetchCount, -} from './counterApp' +import type { CounterState } from './counterApp' +import { increment } from './counterApp' const objectAssign = Object.assign @@ -71,23 +50,23 @@ interface ICounterDispatchProps { } connect( () => mapStateToProps, - () => mapDispatchToProps + () => mapDispatchToProps, )(Counter) // only first argument connect(() => mapStateToProps)( - Counter + Counter, ) // wrap only one argument connect( mapStateToProps, - () => mapDispatchToProps + () => mapDispatchToProps, )(Counter) // with extra arguments connect( () => mapStateToProps, () => mapDispatchToProps, (s: ICounterStateProps, d: ICounterDispatchProps) => objectAssign({}, s, d), - { forwardRef: true } + { forwardRef: true }, )(Counter) class App extends Component { @@ -97,16 +76,23 @@ class App extends Component { } } -const targetEl = document.getElementById('root') +const container = document.getElementById('root') -ReactDOM.render( - - - , - targetEl -) +if (container) { + const root = createRoot(container) + + root.render( + + + , + ) +} else { + throw new Error( + "Root element with ID 'root' was not found in the document. Ensure there is a corresponding HTML element with the ID 'root' in your HTML file.", + ) +} -declare var store: Store +declare let store: Store class MyRootComponent extends Component {} class TodoApp extends Component {} interface TodoState { @@ -126,15 +112,22 @@ const addTodo = (userId: number, text: string) => ({ }) const actionCreators = { addTodo } type AddTodoAction = ReturnType -declare var todoActionCreators: { [type: string]: (...args: any[]) => any } -declare var counterActionCreators: { [type: string]: (...args: any[]) => any } - -ReactDOM.render( - - - , - document.body -) +declare let todoActionCreators: { [type: string]: (...args: any[]) => any } +declare let counterActionCreators: { [type: string]: (...args: any[]) => any } + +if (container) { + const root = createRoot(container) + + root.render( + + + , + ) +} else { + throw new Error( + "Root element with ID 'root' was not found in the document. Ensure there is a corresponding HTML element with the ID 'root' in your HTML file.", + ) +} // Inject just dispatch and don't listen to store @@ -193,7 +186,7 @@ function mapDispatchToProps5(dispatch: Dispatch) { return { actions: bindActionCreators( objectAssign({}, todoActionCreators, counterActionCreators), - dispatch + dispatch, ), } } @@ -205,7 +198,7 @@ connect(mapStateToProps2, mapDispatchToProps5)(TodoApp) function mapDispatchToProps6(dispatch: Dispatch) { return bindActionCreators( objectAssign({}, todoActionCreators, counterActionCreators), - dispatch + dispatch, ) } @@ -224,7 +217,7 @@ connect(mapStateToProps3)(TodoApp) function mergeProps( stateProps: TodoState, dispatchProps: DispatchProps, - ownProps: TodoProps + ownProps: TodoProps, ): { addTodo: (userId: string) => void } & TodoState { return objectAssign({}, ownProps, { todos: stateProps.todos[ownProps.userId], @@ -270,18 +263,22 @@ interface HelloMessageProps { function HelloMessage(props: HelloMessageProps) { return
Hello {props.name}
} -let ConnectedHelloMessage = connect()(HelloMessage) -ReactDOM.render( - , - document.getElementById('content') -) -ReactDOM.render( - , - document.getElementById('content') -) +const ConnectedHelloMessage = connect()(HelloMessage) + +if (container) { + const root = createRoot(container) + + root.render() + + root.render() +} else { + throw new Error( + "Root element with ID 'root' was not found in the document. Ensure there is a corresponding HTML element with the ID 'root' in your HTML file.", + ) +} // stateless functions that uses mapStateToProps and mapDispatchToProps -namespace TestStatelessFunctionWithMapArguments { +function testStatelessFunctionWithMapArguments() { interface GreetingProps { name: string onClick: () => void @@ -299,7 +296,7 @@ namespace TestStatelessFunctionWithMapArguments { const mapDispatchToProps = ( dispatch: Dispatch, - ownProps: GreetingProps + ownProps: GreetingProps, ) => { return { onClick: () => { @@ -310,12 +307,12 @@ namespace TestStatelessFunctionWithMapArguments { const ConnectedGreeting = connect( mapStateToProps, - mapDispatchToProps + mapDispatchToProps, )(Greeting) } // https://github.com/DefinitelyTyped/DefinitelyTyped/issues/8787 -namespace TestTOwnPropsInference { +function testTOwnPropsInference() { interface OwnProps { own: string } @@ -336,19 +333,19 @@ namespace TestTOwnPropsInference { function mapStateToPropsWithOwnProps( state: any, - ownProps: OwnProps + ownProps: OwnProps, ): StateProps { return { state: 'string' } } const ConnectedWithoutOwnProps = connect(mapStateToPropsWithoutOwnProps)( - OwnPropsComponent + OwnPropsComponent, ) const ConnectedWithOwnProps = connect(mapStateToPropsWithOwnProps)( - OwnPropsComponent + OwnPropsComponent, ) const ConnectedWithTypeHint = connect( - mapStateToPropsWithoutOwnProps + mapStateToPropsWithoutOwnProps, )(OwnPropsComponent) // @ts-expect-error @@ -390,12 +387,12 @@ namespace TestTOwnPropsInference { return { state: 'string' } } const ConnectedWithPickedOwnProps = connect(mapStateToPropsForPicked)( - AllPropsComponent + AllPropsComponent, ) ; } -namespace ConnectedPropsTest { +function connectedPropsTest() { interface RootState { isOn: boolean } @@ -428,6 +425,6 @@ namespace ConnectedPropsTest { type PropsFromRedux2 = ConnectedProps expectType<{ exampleThunk: (id: number) => Promise }>( - {} as PropsFromRedux2 + {} as PropsFromRedux2, ) } diff --git a/test/utils/shallowEqual.spec.ts b/test/utils/shallowEqual.spec.ts index dc4b78191..afe95efb2 100644 --- a/test/utils/shallowEqual.spec.ts +++ b/test/utils/shallowEqual.spec.ts @@ -4,23 +4,23 @@ describe('Utils', () => { describe('shallowEqual', () => { it('should return true if arguments fields are equal', () => { expect( - shallowEqual({ a: 1, b: 2, c: undefined }, { a: 1, b: 2, c: undefined }) + shallowEqual({ a: 1, b: 2, c: undefined }, { a: 1, b: 2, c: undefined }), ).toBe(true) expect(shallowEqual({ a: 1, b: 2, c: 3 }, { a: 1, b: 2, c: 3 })).toBe( - true + true, ) const o = {} expect(shallowEqual({ a: 1, b: 2, c: o }, { a: 1, b: 2, c: o })).toBe( - true + true, ) const d = function () { return 1 } expect( - shallowEqual({ a: 1, b: 2, c: o, d }, { a: 1, b: 2, c: o, d }) + shallowEqual({ a: 1, b: 2, c: o, d }, { a: 1, b: 2, c: o, d }), ).toBe(true) }) @@ -40,8 +40,8 @@ describe('Utils', () => { d: function () { return 1 }, - } - ) + }, + ), ).toBe(false) }) @@ -57,8 +57,8 @@ describe('Utils', () => { expect( shallowEqual( { a: 1, b: 2, c: undefined }, - { a: 1, bb: 2, c: undefined } - ) + { a: 1, bb: 2, c: undefined }, + ), ).toBe(false) }) From b3c84985b0ce5ad3921fba79ca0a17abe9154b8d Mon Sep 17 00:00:00 2001 From: Arya Emami Date: Fri, 5 Jan 2024 14:15:57 -0600 Subject: [PATCH 8/8] Update `.eslintrc.json` to remove duplicate config Co-authored-by: Ben Durrant --- .eslintrc.json | 1 - 1 file changed, 1 deletion(-) diff --git a/.eslintrc.json b/.eslintrc.json index c3b0a8723..fd02d43a5 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -31,7 +31,6 @@ "files": ["**/*.{ts,tsx,cts}"], "extends": [ "eslint:recommended", - "plugin:@typescript-eslint/eslint-recommended", "plugin:import/recommended", "plugin:react/recommended", "plugin:@typescript-eslint/recommended"