From 4ac32312d34196f725ee27f4d6076915a63963f7 Mon Sep 17 00:00:00 2001 From: Sam Doran Date: Wed, 10 May 2023 17:23:30 -0400 Subject: [PATCH 01/24] Use new field for amortized cost --- src/routes/components/costType/costType.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/routes/components/costType/costType.tsx b/src/routes/components/costType/costType.tsx index 0be78621f..a5d52da41 100644 --- a/src/routes/components/costType/costType.tsx +++ b/src/routes/components/costType/costType.tsx @@ -43,7 +43,7 @@ type CostTypeProps = CostTypeOwnProps & CostTypeDispatchProps & CostTypeStatePro // eslint-disable-next-line no-shadow export const enum CostTypes { - amortized = 'savingsplan_effective_cost', + amortized = 'calculated_amortized_cost', blended = 'blended_cost', unblended = 'unblended_cost', } From 131655d926569016adaf839bc53b4de93d7017b3 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 12 Jun 2023 10:56:54 +0000 Subject: [PATCH 02/24] (chore): Bump eslint-plugin-formatjs from 4.10.2 to 4.10.3 Bumps [eslint-plugin-formatjs](https://github.com/formatjs/formatjs) from 4.10.2 to 4.10.3. - [Release notes](https://github.com/formatjs/formatjs/releases) - [Commits](https://github.com/formatjs/formatjs/compare/eslint-plugin-formatjs@4.10.2...eslint-plugin-formatjs@4.10.3) --- updated-dependencies: - dependency-name: eslint-plugin-formatjs dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- package-lock.json | 166 +++++++++++++++++++++++----------------------- package.json | 2 +- 2 files changed, 84 insertions(+), 84 deletions(-) diff --git a/package-lock.json b/package-lock.json index 101212e5f..1b1350ca6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -59,7 +59,7 @@ "aphrodite": "^2.4.0", "copy-webpack-plugin": "^11.0.0", "eslint": "^8.41.0", - "eslint-plugin-formatjs": "^4.10.2", + "eslint-plugin-formatjs": "^4.10.3", "eslint-plugin-jest-dom": "^5.0.1", "eslint-plugin-jsdoc": "^46.2.6", "eslint-plugin-markdown": "^3.0.0", @@ -932,12 +932,12 @@ } }, "node_modules/@formatjs/ts-transformer": { - "version": "3.13.2", - "resolved": "https://registry.npmjs.org/@formatjs/ts-transformer/-/ts-transformer-3.13.2.tgz", - "integrity": "sha512-d1Q+ZgIPQfXxAVZrZ+bmdGGibzz8T83mrPMftWwAMc2bcFjdKpA79b9/pZNhaEW5ZCtXkLhuadgDEoa4ZNxNEA==", + "version": "3.13.3", + "resolved": "https://registry.npmjs.org/@formatjs/ts-transformer/-/ts-transformer-3.13.3.tgz", + "integrity": "sha512-W6+huH4dLYx8eZfZue6fcreNzLZHoPboreqJSkickYCKIOicI35zC0Txb4xCT6kau/DXAKTpNEln3V2NgX6Igg==", "dev": true, "dependencies": { - "@formatjs/icu-messageformat-parser": "2.5.0", + "@formatjs/icu-messageformat-parser": "2.6.0", "@types/json-stable-stringify": "^1.0.32", "@types/node": "14 || 16 || 17", "chalk": "^4.0.0", @@ -955,40 +955,40 @@ } }, "node_modules/@formatjs/ts-transformer/node_modules/@formatjs/ecma402-abstract": { - "version": "1.16.0", - "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-1.16.0.tgz", - "integrity": "sha512-qIH2cmG/oHGrVdApbqDf6/YR+B2A4NdkBjKLeq369OMVkqMFsC5oPSP1xpiyL1cAn+PbNEZHxwOVMYD/C76c6g==", + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-1.17.0.tgz", + "integrity": "sha512-6ueQTeJZtwKjmh23bdkq/DMqH4l4bmfvtQH98blOSbiXv/OUiyijSW6jU22IT8BNM1ujCaEvJfTtyCYVH38EMQ==", "dev": true, "dependencies": { - "@formatjs/intl-localematcher": "0.3.0", + "@formatjs/intl-localematcher": "0.4.0", "tslib": "^2.4.0" } }, "node_modules/@formatjs/ts-transformer/node_modules/@formatjs/icu-messageformat-parser": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.5.0.tgz", - "integrity": "sha512-8AwKRkVIZzVlvZwio1TcLVvUbJw0up1joa8//JIxKVeflqKiZwfzCGAelZt/4hHCEQf9NECose//nODnmBEkNQ==", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.6.0.tgz", + "integrity": "sha512-yT6at0qc0DANw9qM/TU8RZaCtfDXtj4pZM/IC2WnVU80yAcliS3KVDiuUt4jSQAeFL9JS5bc2hARnFmjPdA6qw==", "dev": true, "dependencies": { - "@formatjs/ecma402-abstract": "1.16.0", - "@formatjs/icu-skeleton-parser": "1.5.0", + "@formatjs/ecma402-abstract": "1.17.0", + "@formatjs/icu-skeleton-parser": "1.6.0", "tslib": "^2.4.0" } }, "node_modules/@formatjs/ts-transformer/node_modules/@formatjs/icu-skeleton-parser": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.5.0.tgz", - "integrity": "sha512-R/wOg/hxh3JWNB4LHYfNtIe8PC39mkzplh6gtrqCY33EqYeUFEGOYTWJrkXNcoRXlZWQtfrH6REch5r57tAyMQ==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.6.0.tgz", + "integrity": "sha512-eMmxNpoX/J1IPUjPGSZwo0Wh+7CEvdEMddP2Jxg1gQJXfGfht/FdW2D5XDFj3VMbOTUQlDIdZJY7uC6O6gjPoA==", "dev": true, "dependencies": { - "@formatjs/ecma402-abstract": "1.16.0", + "@formatjs/ecma402-abstract": "1.17.0", "tslib": "^2.4.0" } }, "node_modules/@formatjs/ts-transformer/node_modules/@formatjs/intl-localematcher": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.3.0.tgz", - "integrity": "sha512-NFoxXX3dtZ6B53NlCErq181NxN/noMZOWKHfcEPQRNfV0a19THxyjxu2RTSNS3532wGm6fOdid5qsBQWg0Rhtw==", + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.4.0.tgz", + "integrity": "sha512-bRTd+rKomvfdS4QDlVJ6TA/Jx1F2h/TBVO5LjvhQ7QPPHp19oPNMIum7W2CMEReq/zPxpmCeB31F9+5gl/qtvw==", "dev": true, "dependencies": { "tslib": "^2.4.0" @@ -7790,13 +7790,13 @@ } }, "node_modules/eslint-plugin-formatjs": { - "version": "4.10.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-formatjs/-/eslint-plugin-formatjs-4.10.2.tgz", - "integrity": "sha512-wUwFdZKI1m9d+QGaYKLw7OYM+/Bh0y7TVZfI0XuTikPTYUSrHW+VV8hK2e6UJIjkjGfozZYikBPESKgAtOOlfA==", + "version": "4.10.3", + "resolved": "https://registry.npmjs.org/eslint-plugin-formatjs/-/eslint-plugin-formatjs-4.10.3.tgz", + "integrity": "sha512-EHKuEMCmWhAiMdCc8oZU8qBAvnvHPUiJuhGxPqA+GX2Nb7GBsGm2o616KYnSSffDisK+v0E9TDCrS8oJ0QLgcw==", "dev": true, "dependencies": { - "@formatjs/icu-messageformat-parser": "2.5.0", - "@formatjs/ts-transformer": "3.13.2", + "@formatjs/icu-messageformat-parser": "2.6.0", + "@formatjs/ts-transformer": "3.13.3", "@types/eslint": "7 || 8", "@types/picomatch": "^2.3.0", "@typescript-eslint/typescript-estree": "5.59.0", @@ -7812,40 +7812,40 @@ } }, "node_modules/eslint-plugin-formatjs/node_modules/@formatjs/ecma402-abstract": { - "version": "1.16.0", - "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-1.16.0.tgz", - "integrity": "sha512-qIH2cmG/oHGrVdApbqDf6/YR+B2A4NdkBjKLeq369OMVkqMFsC5oPSP1xpiyL1cAn+PbNEZHxwOVMYD/C76c6g==", + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-1.17.0.tgz", + "integrity": "sha512-6ueQTeJZtwKjmh23bdkq/DMqH4l4bmfvtQH98blOSbiXv/OUiyijSW6jU22IT8BNM1ujCaEvJfTtyCYVH38EMQ==", "dev": true, "dependencies": { - "@formatjs/intl-localematcher": "0.3.0", + "@formatjs/intl-localematcher": "0.4.0", "tslib": "^2.4.0" } }, "node_modules/eslint-plugin-formatjs/node_modules/@formatjs/icu-messageformat-parser": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.5.0.tgz", - "integrity": "sha512-8AwKRkVIZzVlvZwio1TcLVvUbJw0up1joa8//JIxKVeflqKiZwfzCGAelZt/4hHCEQf9NECose//nODnmBEkNQ==", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.6.0.tgz", + "integrity": "sha512-yT6at0qc0DANw9qM/TU8RZaCtfDXtj4pZM/IC2WnVU80yAcliS3KVDiuUt4jSQAeFL9JS5bc2hARnFmjPdA6qw==", "dev": true, "dependencies": { - "@formatjs/ecma402-abstract": "1.16.0", - "@formatjs/icu-skeleton-parser": "1.5.0", + "@formatjs/ecma402-abstract": "1.17.0", + "@formatjs/icu-skeleton-parser": "1.6.0", "tslib": "^2.4.0" } }, "node_modules/eslint-plugin-formatjs/node_modules/@formatjs/icu-skeleton-parser": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.5.0.tgz", - "integrity": "sha512-R/wOg/hxh3JWNB4LHYfNtIe8PC39mkzplh6gtrqCY33EqYeUFEGOYTWJrkXNcoRXlZWQtfrH6REch5r57tAyMQ==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.6.0.tgz", + "integrity": "sha512-eMmxNpoX/J1IPUjPGSZwo0Wh+7CEvdEMddP2Jxg1gQJXfGfht/FdW2D5XDFj3VMbOTUQlDIdZJY7uC6O6gjPoA==", "dev": true, "dependencies": { - "@formatjs/ecma402-abstract": "1.16.0", + "@formatjs/ecma402-abstract": "1.17.0", "tslib": "^2.4.0" } }, "node_modules/eslint-plugin-formatjs/node_modules/@formatjs/intl-localematcher": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.3.0.tgz", - "integrity": "sha512-NFoxXX3dtZ6B53NlCErq181NxN/noMZOWKHfcEPQRNfV0a19THxyjxu2RTSNS3532wGm6fOdid5qsBQWg0Rhtw==", + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.4.0.tgz", + "integrity": "sha512-bRTd+rKomvfdS4QDlVJ6TA/Jx1F2h/TBVO5LjvhQ7QPPHp19oPNMIum7W2CMEReq/zPxpmCeB31F9+5gl/qtvw==", "dev": true, "dependencies": { "tslib": "^2.4.0" @@ -20295,12 +20295,12 @@ } }, "@formatjs/ts-transformer": { - "version": "3.13.2", - "resolved": "https://registry.npmjs.org/@formatjs/ts-transformer/-/ts-transformer-3.13.2.tgz", - "integrity": "sha512-d1Q+ZgIPQfXxAVZrZ+bmdGGibzz8T83mrPMftWwAMc2bcFjdKpA79b9/pZNhaEW5ZCtXkLhuadgDEoa4ZNxNEA==", + "version": "3.13.3", + "resolved": "https://registry.npmjs.org/@formatjs/ts-transformer/-/ts-transformer-3.13.3.tgz", + "integrity": "sha512-W6+huH4dLYx8eZfZue6fcreNzLZHoPboreqJSkickYCKIOicI35zC0Txb4xCT6kau/DXAKTpNEln3V2NgX6Igg==", "dev": true, "requires": { - "@formatjs/icu-messageformat-parser": "2.5.0", + "@formatjs/icu-messageformat-parser": "2.6.0", "@types/json-stable-stringify": "^1.0.32", "@types/node": "14 || 16 || 17", "chalk": "^4.0.0", @@ -20310,40 +20310,40 @@ }, "dependencies": { "@formatjs/ecma402-abstract": { - "version": "1.16.0", - "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-1.16.0.tgz", - "integrity": "sha512-qIH2cmG/oHGrVdApbqDf6/YR+B2A4NdkBjKLeq369OMVkqMFsC5oPSP1xpiyL1cAn+PbNEZHxwOVMYD/C76c6g==", + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-1.17.0.tgz", + "integrity": "sha512-6ueQTeJZtwKjmh23bdkq/DMqH4l4bmfvtQH98blOSbiXv/OUiyijSW6jU22IT8BNM1ujCaEvJfTtyCYVH38EMQ==", "dev": true, "requires": { - "@formatjs/intl-localematcher": "0.3.0", + "@formatjs/intl-localematcher": "0.4.0", "tslib": "^2.4.0" } }, "@formatjs/icu-messageformat-parser": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.5.0.tgz", - "integrity": "sha512-8AwKRkVIZzVlvZwio1TcLVvUbJw0up1joa8//JIxKVeflqKiZwfzCGAelZt/4hHCEQf9NECose//nODnmBEkNQ==", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.6.0.tgz", + "integrity": "sha512-yT6at0qc0DANw9qM/TU8RZaCtfDXtj4pZM/IC2WnVU80yAcliS3KVDiuUt4jSQAeFL9JS5bc2hARnFmjPdA6qw==", "dev": true, "requires": { - "@formatjs/ecma402-abstract": "1.16.0", - "@formatjs/icu-skeleton-parser": "1.5.0", + "@formatjs/ecma402-abstract": "1.17.0", + "@formatjs/icu-skeleton-parser": "1.6.0", "tslib": "^2.4.0" } }, "@formatjs/icu-skeleton-parser": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.5.0.tgz", - "integrity": "sha512-R/wOg/hxh3JWNB4LHYfNtIe8PC39mkzplh6gtrqCY33EqYeUFEGOYTWJrkXNcoRXlZWQtfrH6REch5r57tAyMQ==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.6.0.tgz", + "integrity": "sha512-eMmxNpoX/J1IPUjPGSZwo0Wh+7CEvdEMddP2Jxg1gQJXfGfht/FdW2D5XDFj3VMbOTUQlDIdZJY7uC6O6gjPoA==", "dev": true, "requires": { - "@formatjs/ecma402-abstract": "1.16.0", + "@formatjs/ecma402-abstract": "1.17.0", "tslib": "^2.4.0" } }, "@formatjs/intl-localematcher": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.3.0.tgz", - "integrity": "sha512-NFoxXX3dtZ6B53NlCErq181NxN/noMZOWKHfcEPQRNfV0a19THxyjxu2RTSNS3532wGm6fOdid5qsBQWg0Rhtw==", + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.4.0.tgz", + "integrity": "sha512-bRTd+rKomvfdS4QDlVJ6TA/Jx1F2h/TBVO5LjvhQ7QPPHp19oPNMIum7W2CMEReq/zPxpmCeB31F9+5gl/qtvw==", "dev": true, "requires": { "tslib": "^2.4.0" @@ -25704,13 +25704,13 @@ } }, "eslint-plugin-formatjs": { - "version": "4.10.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-formatjs/-/eslint-plugin-formatjs-4.10.2.tgz", - "integrity": "sha512-wUwFdZKI1m9d+QGaYKLw7OYM+/Bh0y7TVZfI0XuTikPTYUSrHW+VV8hK2e6UJIjkjGfozZYikBPESKgAtOOlfA==", + "version": "4.10.3", + "resolved": "https://registry.npmjs.org/eslint-plugin-formatjs/-/eslint-plugin-formatjs-4.10.3.tgz", + "integrity": "sha512-EHKuEMCmWhAiMdCc8oZU8qBAvnvHPUiJuhGxPqA+GX2Nb7GBsGm2o616KYnSSffDisK+v0E9TDCrS8oJ0QLgcw==", "dev": true, "requires": { - "@formatjs/icu-messageformat-parser": "2.5.0", - "@formatjs/ts-transformer": "3.13.2", + "@formatjs/icu-messageformat-parser": "2.6.0", + "@formatjs/ts-transformer": "3.13.3", "@types/eslint": "7 || 8", "@types/picomatch": "^2.3.0", "@typescript-eslint/typescript-estree": "5.59.0", @@ -25723,40 +25723,40 @@ }, "dependencies": { "@formatjs/ecma402-abstract": { - "version": "1.16.0", - "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-1.16.0.tgz", - "integrity": "sha512-qIH2cmG/oHGrVdApbqDf6/YR+B2A4NdkBjKLeq369OMVkqMFsC5oPSP1xpiyL1cAn+PbNEZHxwOVMYD/C76c6g==", + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-1.17.0.tgz", + "integrity": "sha512-6ueQTeJZtwKjmh23bdkq/DMqH4l4bmfvtQH98blOSbiXv/OUiyijSW6jU22IT8BNM1ujCaEvJfTtyCYVH38EMQ==", "dev": true, "requires": { - "@formatjs/intl-localematcher": "0.3.0", + "@formatjs/intl-localematcher": "0.4.0", "tslib": "^2.4.0" } }, "@formatjs/icu-messageformat-parser": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.5.0.tgz", - "integrity": "sha512-8AwKRkVIZzVlvZwio1TcLVvUbJw0up1joa8//JIxKVeflqKiZwfzCGAelZt/4hHCEQf9NECose//nODnmBEkNQ==", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.6.0.tgz", + "integrity": "sha512-yT6at0qc0DANw9qM/TU8RZaCtfDXtj4pZM/IC2WnVU80yAcliS3KVDiuUt4jSQAeFL9JS5bc2hARnFmjPdA6qw==", "dev": true, "requires": { - "@formatjs/ecma402-abstract": "1.16.0", - "@formatjs/icu-skeleton-parser": "1.5.0", + "@formatjs/ecma402-abstract": "1.17.0", + "@formatjs/icu-skeleton-parser": "1.6.0", "tslib": "^2.4.0" } }, "@formatjs/icu-skeleton-parser": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.5.0.tgz", - "integrity": "sha512-R/wOg/hxh3JWNB4LHYfNtIe8PC39mkzplh6gtrqCY33EqYeUFEGOYTWJrkXNcoRXlZWQtfrH6REch5r57tAyMQ==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.6.0.tgz", + "integrity": "sha512-eMmxNpoX/J1IPUjPGSZwo0Wh+7CEvdEMddP2Jxg1gQJXfGfht/FdW2D5XDFj3VMbOTUQlDIdZJY7uC6O6gjPoA==", "dev": true, "requires": { - "@formatjs/ecma402-abstract": "1.16.0", + "@formatjs/ecma402-abstract": "1.17.0", "tslib": "^2.4.0" } }, "@formatjs/intl-localematcher": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.3.0.tgz", - "integrity": "sha512-NFoxXX3dtZ6B53NlCErq181NxN/noMZOWKHfcEPQRNfV0a19THxyjxu2RTSNS3532wGm6fOdid5qsBQWg0Rhtw==", + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.4.0.tgz", + "integrity": "sha512-bRTd+rKomvfdS4QDlVJ6TA/Jx1F2h/TBVO5LjvhQ7QPPHp19oPNMIum7W2CMEReq/zPxpmCeB31F9+5gl/qtvw==", "dev": true, "requires": { "tslib": "^2.4.0" diff --git a/package.json b/package.json index 5a5557ab4..f07f1b619 100644 --- a/package.json +++ b/package.json @@ -94,7 +94,7 @@ "aphrodite": "^2.4.0", "copy-webpack-plugin": "^11.0.0", "eslint": "^8.41.0", - "eslint-plugin-formatjs": "^4.10.2", + "eslint-plugin-formatjs": "^4.10.3", "eslint-plugin-jest-dom": "^5.0.1", "eslint-plugin-jsdoc": "^46.2.6", "eslint-plugin-markdown": "^3.0.0", From e0832a7ecde2d29e5550ae4317e0d06975497bc2 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 12 Jun 2023 10:57:32 +0000 Subject: [PATCH 03/24] (chore): Bump @formatjs/cli from 6.1.2 to 6.1.3 Bumps [@formatjs/cli](https://github.com/formatjs/formatjs) from 6.1.2 to 6.1.3. - [Release notes](https://github.com/formatjs/formatjs/releases) - [Commits](https://github.com/formatjs/formatjs/compare/@formatjs/cli@6.1.2...@formatjs/cli@6.1.3) --- updated-dependencies: - dependency-name: "@formatjs/cli" dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- package-lock.json | 14 +++++++------- package.json | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/package-lock.json b/package-lock.json index 101212e5f..0883bfd8b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -42,7 +42,7 @@ "xstate": "^4.37.2" }, "devDependencies": { - "@formatjs/cli": "^6.1.2", + "@formatjs/cli": "^6.1.3", "@redhat-cloud-services/eslint-config-redhat-cloud-services": "^1.3.0", "@redhat-cloud-services/frontend-components-config": "^5.0.1", "@testing-library/react": "^12.1.5", @@ -826,9 +826,9 @@ } }, "node_modules/@formatjs/cli": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/@formatjs/cli/-/cli-6.1.2.tgz", - "integrity": "sha512-npYK86T/6KAGloIRsX9jKjTkm9PIchGv5cPK9sE4+/kPfml0vFmLoVFxYkHu25FV5CMf0jnvodnLOIkhH46kvQ==", + "version": "6.1.3", + "resolved": "https://registry.npmjs.org/@formatjs/cli/-/cli-6.1.3.tgz", + "integrity": "sha512-PdTXZTY8LqxwmvFqdifn89gjXnPUpGtGyFs0BnoeLuOuxZFSnBfIs5WQCVMaJnr1+0vNNlXyT0VAIAwjRpf6BA==", "dev": true, "bin": { "formatjs": "bin/formatjs" @@ -20210,9 +20210,9 @@ "dev": true }, "@formatjs/cli": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/@formatjs/cli/-/cli-6.1.2.tgz", - "integrity": "sha512-npYK86T/6KAGloIRsX9jKjTkm9PIchGv5cPK9sE4+/kPfml0vFmLoVFxYkHu25FV5CMf0jnvodnLOIkhH46kvQ==", + "version": "6.1.3", + "resolved": "https://registry.npmjs.org/@formatjs/cli/-/cli-6.1.3.tgz", + "integrity": "sha512-PdTXZTY8LqxwmvFqdifn89gjXnPUpGtGyFs0BnoeLuOuxZFSnBfIs5WQCVMaJnr1+0vNNlXyT0VAIAwjRpf6BA==", "dev": true, "requires": {} }, diff --git a/package.json b/package.json index 5a5557ab4..63da07e2d 100644 --- a/package.json +++ b/package.json @@ -77,7 +77,7 @@ "xstate": "^4.37.2" }, "devDependencies": { - "@formatjs/cli": "^6.1.2", + "@formatjs/cli": "^6.1.3", "@redhat-cloud-services/eslint-config-redhat-cloud-services": "^1.3.0", "@redhat-cloud-services/frontend-components-config": "^5.0.1", "@testing-library/react": "^12.1.5", From a4cb846ce310cf1beaf92cc62544cb67fd90e239 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 12 Jun 2023 15:12:56 +0000 Subject: [PATCH 04/24] (chore): Bump @redhat-cloud-services/frontend-components-utilities Bumps [@redhat-cloud-services/frontend-components-utilities](https://github.com/RedHatInsights/frontend-components) from 3.5.1 to 3.6.0. - [Commits](https://github.com/RedHatInsights/frontend-components/commits) --- updated-dependencies: - dependency-name: "@redhat-cloud-services/frontend-components-utilities" dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- package-lock.json | 14 +++++++------- package.json | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/package-lock.json b/package-lock.json index 0883bfd8b..c92c0a66a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -20,7 +20,7 @@ "@redhat-cloud-services/frontend-components": "^3.9.37", "@redhat-cloud-services/frontend-components-notifications": "^3.2.14", "@redhat-cloud-services/frontend-components-translations": "^3.2.6", - "@redhat-cloud-services/frontend-components-utilities": "^3.5.1", + "@redhat-cloud-services/frontend-components-utilities": "^3.6.0", "@redhat-cloud-services/rbac-client": "^1.2.3", "@unleash/proxy-client-react": "^3.6.0", "axios": "^1.4.0", @@ -2651,9 +2651,9 @@ } }, "node_modules/@redhat-cloud-services/frontend-components-utilities": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/@redhat-cloud-services/frontend-components-utilities/-/frontend-components-utilities-3.5.1.tgz", - "integrity": "sha512-6Y4rTaEGLlDOPXH6Hmu0mGFCNLQXosHzpaaIHqYfs+tBJdwikjtnuMoJ8u0Wfz2UEpyTc9oeXxKanq1zGifuUQ==", + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@redhat-cloud-services/frontend-components-utilities/-/frontend-components-utilities-3.6.0.tgz", + "integrity": "sha512-aj8dZpps/eiWVYLWrORGqsAaVZi9K/BAD6u2SKm54yRUaGYEh3M7YmoUZ9QDZda47zXGD4fzLil0u0mAwdjyWw==", "dependencies": { "@redhat-cloud-services/types": "^0.0.24", "@sentry/browser": "^5.30.0", @@ -21579,9 +21579,9 @@ } }, "@redhat-cloud-services/frontend-components-utilities": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/@redhat-cloud-services/frontend-components-utilities/-/frontend-components-utilities-3.5.1.tgz", - "integrity": "sha512-6Y4rTaEGLlDOPXH6Hmu0mGFCNLQXosHzpaaIHqYfs+tBJdwikjtnuMoJ8u0Wfz2UEpyTc9oeXxKanq1zGifuUQ==", + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@redhat-cloud-services/frontend-components-utilities/-/frontend-components-utilities-3.6.0.tgz", + "integrity": "sha512-aj8dZpps/eiWVYLWrORGqsAaVZi9K/BAD6u2SKm54yRUaGYEh3M7YmoUZ9QDZda47zXGD4fzLil0u0mAwdjyWw==", "requires": { "@redhat-cloud-services/types": "^0.0.24", "@sentry/browser": "^5.30.0", diff --git a/package.json b/package.json index 63da07e2d..e00091ab8 100644 --- a/package.json +++ b/package.json @@ -55,7 +55,7 @@ "@redhat-cloud-services/frontend-components": "^3.9.37", "@redhat-cloud-services/frontend-components-notifications": "^3.2.14", "@redhat-cloud-services/frontend-components-translations": "^3.2.6", - "@redhat-cloud-services/frontend-components-utilities": "^3.5.1", + "@redhat-cloud-services/frontend-components-utilities": "^3.6.0", "@redhat-cloud-services/rbac-client": "^1.2.3", "@unleash/proxy-client-react": "^3.6.0", "axios": "^1.4.0", From b81cf20681b2df87b8c58dd8344fd503d92a82cd Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 12 Jun 2023 15:13:30 +0000 Subject: [PATCH 05/24] (chore): Bump @redhat-cloud-services/frontend-components Bumps [@redhat-cloud-services/frontend-components](https://github.com/RedHatInsights/frontend-components) from 3.9.37 to 3.10.0. - [Commits](https://github.com/RedHatInsights/frontend-components/commits) --- updated-dependencies: - dependency-name: "@redhat-cloud-services/frontend-components" dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- package-lock.json | 14 +++++++------- package.json | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/package-lock.json b/package-lock.json index 0883bfd8b..28da00dfd 100644 --- a/package-lock.json +++ b/package-lock.json @@ -17,7 +17,7 @@ "@patternfly/react-styles": "4.92.6", "@patternfly/react-table": "4.113.0", "@patternfly/react-tokens": "4.94.6", - "@redhat-cloud-services/frontend-components": "^3.9.37", + "@redhat-cloud-services/frontend-components": "^3.10.0", "@redhat-cloud-services/frontend-components-notifications": "^3.2.14", "@redhat-cloud-services/frontend-components-translations": "^3.2.6", "@redhat-cloud-services/frontend-components-utilities": "^3.5.1", @@ -2371,9 +2371,9 @@ } }, "node_modules/@redhat-cloud-services/frontend-components": { - "version": "3.9.37", - "resolved": "https://registry.npmjs.org/@redhat-cloud-services/frontend-components/-/frontend-components-3.9.37.tgz", - "integrity": "sha512-5r/upwYAeK6SgB0Yx4sYaA1WKW6/obp+trLQJW54xedVeklEzap7u0pymPnJfshMPFQPnQVWgzNYkEaDTtAuTA==", + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/@redhat-cloud-services/frontend-components/-/frontend-components-3.10.0.tgz", + "integrity": "sha512-xHE1Wm/bnEQ53supphFmGYa52g3y8aIcYUtpmbu0J9tHZ8DzM7gt25XXSXqTVygTa8oFdlyYNrM1NT+TByv8nw==", "dependencies": { "@redhat-cloud-services/frontend-components-utilities": "^3.2.25", "@redhat-cloud-services/types": "^0.0.24", @@ -21374,9 +21374,9 @@ } }, "@redhat-cloud-services/frontend-components": { - "version": "3.9.37", - "resolved": "https://registry.npmjs.org/@redhat-cloud-services/frontend-components/-/frontend-components-3.9.37.tgz", - "integrity": "sha512-5r/upwYAeK6SgB0Yx4sYaA1WKW6/obp+trLQJW54xedVeklEzap7u0pymPnJfshMPFQPnQVWgzNYkEaDTtAuTA==", + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/@redhat-cloud-services/frontend-components/-/frontend-components-3.10.0.tgz", + "integrity": "sha512-xHE1Wm/bnEQ53supphFmGYa52g3y8aIcYUtpmbu0J9tHZ8DzM7gt25XXSXqTVygTa8oFdlyYNrM1NT+TByv8nw==", "requires": { "@redhat-cloud-services/frontend-components-utilities": "^3.2.25", "@redhat-cloud-services/types": "^0.0.24", diff --git a/package.json b/package.json index 63da07e2d..f1625bdf6 100644 --- a/package.json +++ b/package.json @@ -52,7 +52,7 @@ "@patternfly/react-styles": "4.92.6", "@patternfly/react-table": "4.113.0", "@patternfly/react-tokens": "4.94.6", - "@redhat-cloud-services/frontend-components": "^3.9.37", + "@redhat-cloud-services/frontend-components": "^3.10.0", "@redhat-cloud-services/frontend-components-notifications": "^3.2.14", "@redhat-cloud-services/frontend-components-translations": "^3.2.6", "@redhat-cloud-services/frontend-components-utilities": "^3.5.1", From e57e9299b9ce587af452f966ea623507a481281f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 12 Jun 2023 23:31:08 +0000 Subject: [PATCH 06/24] (chore): Bump @typescript-eslint/parser from 5.59.9 to 5.59.11 Bumps [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) from 5.59.9 to 5.59.11. - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases) - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md) - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v5.59.11/packages/parser) --- updated-dependencies: - dependency-name: "@typescript-eslint/parser" dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- package-lock.json | 218 +++++++++++++++++++++++++++++++++++++++++++--- package.json | 2 +- 2 files changed, 206 insertions(+), 14 deletions(-) diff --git a/package-lock.json b/package-lock.json index f1cb71ac0..44a0cee85 100644 --- a/package-lock.json +++ b/package-lock.json @@ -54,7 +54,7 @@ "@types/react-redux": "^7.1.25", "@types/react-router-dom": "^5.3.3", "@typescript-eslint/eslint-plugin": "^5.59.9", - "@typescript-eslint/parser": "^5.59.9", + "@typescript-eslint/parser": "^5.59.11", "@xstate/test": "^0.5.1", "aphrodite": "^2.4.0", "copy-webpack-plugin": "^11.0.0", @@ -3838,14 +3838,14 @@ "dev": true }, "node_modules/@typescript-eslint/parser": { - "version": "5.59.9", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.59.9.tgz", - "integrity": "sha512-FsPkRvBtcLQ/eVK1ivDiNYBjn3TGJdXy2fhXX+rc7czWl4ARwnpArwbihSOHI2Peg9WbtGHrbThfBUkZZGTtvQ==", + "version": "5.59.11", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.59.11.tgz", + "integrity": "sha512-s9ZF3M+Nym6CAZEkJJeO2TFHHDsKAM3ecNkLuH4i4s8/RCPnF5JRip2GyviYkeEAcwGMJxkqG9h2dAsnA1nZpA==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "5.59.9", - "@typescript-eslint/types": "5.59.9", - "@typescript-eslint/typescript-estree": "5.59.9", + "@typescript-eslint/scope-manager": "5.59.11", + "@typescript-eslint/types": "5.59.11", + "@typescript-eslint/typescript-estree": "5.59.11", "debug": "^4.3.4" }, "engines": { @@ -3864,6 +3864,125 @@ } } }, + "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/scope-manager": { + "version": "5.59.11", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.59.11.tgz", + "integrity": "sha512-dHFOsxoLFtrIcSj5h0QoBT/89hxQONwmn3FOQ0GOQcLOOXm+MIrS8zEAhs4tWl5MraxCY3ZJpaXQQdFMc2Tu+Q==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.59.11", + "@typescript-eslint/visitor-keys": "5.59.11" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/types": { + "version": "5.59.11", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.59.11.tgz", + "integrity": "sha512-epoN6R6tkvBYSc+cllrz+c2sOFWkbisJZWkOE+y3xHtvYaOE6Wk6B8e114McRJwFRjGvYdJwLXQH5c9osME/AA==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/typescript-estree": { + "version": "5.59.11", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.11.tgz", + "integrity": "sha512-YupOpot5hJO0maupJXixi6l5ETdrITxeo5eBOeuV7RSKgYdU3G5cxO49/9WRnJq9EMrB7AuTSLH/bqOsXi7wPA==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.59.11", + "@typescript-eslint/visitor-keys": "5.59.11", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/visitor-keys": { + "version": "5.59.11", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.59.11.tgz", + "integrity": "sha512-KGYniTGG3AMTuKF9QBD7EIrvufkB6O6uX3knP73xbKLMpH+QRPcgnCxjWXSHjMRuOxFLovljqQgQpR0c7GvjoA==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.59.11", + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/parser/node_modules/eslint-visitor-keys": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz", + "integrity": "sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@typescript-eslint/parser/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/parser/node_modules/semver": { + "version": "7.5.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.1.tgz", + "integrity": "sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/parser/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, "node_modules/@typescript-eslint/scope-manager": { "version": "5.59.9", "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.59.9.tgz", @@ -22646,15 +22765,88 @@ } }, "@typescript-eslint/parser": { - "version": "5.59.9", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.59.9.tgz", - "integrity": "sha512-FsPkRvBtcLQ/eVK1ivDiNYBjn3TGJdXy2fhXX+rc7czWl4ARwnpArwbihSOHI2Peg9WbtGHrbThfBUkZZGTtvQ==", + "version": "5.59.11", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.59.11.tgz", + "integrity": "sha512-s9ZF3M+Nym6CAZEkJJeO2TFHHDsKAM3ecNkLuH4i4s8/RCPnF5JRip2GyviYkeEAcwGMJxkqG9h2dAsnA1nZpA==", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "5.59.9", - "@typescript-eslint/types": "5.59.9", - "@typescript-eslint/typescript-estree": "5.59.9", + "@typescript-eslint/scope-manager": "5.59.11", + "@typescript-eslint/types": "5.59.11", + "@typescript-eslint/typescript-estree": "5.59.11", "debug": "^4.3.4" + }, + "dependencies": { + "@typescript-eslint/scope-manager": { + "version": "5.59.11", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.59.11.tgz", + "integrity": "sha512-dHFOsxoLFtrIcSj5h0QoBT/89hxQONwmn3FOQ0GOQcLOOXm+MIrS8zEAhs4tWl5MraxCY3ZJpaXQQdFMc2Tu+Q==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.59.11", + "@typescript-eslint/visitor-keys": "5.59.11" + } + }, + "@typescript-eslint/types": { + "version": "5.59.11", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.59.11.tgz", + "integrity": "sha512-epoN6R6tkvBYSc+cllrz+c2sOFWkbisJZWkOE+y3xHtvYaOE6Wk6B8e114McRJwFRjGvYdJwLXQH5c9osME/AA==", + "dev": true + }, + "@typescript-eslint/typescript-estree": { + "version": "5.59.11", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.11.tgz", + "integrity": "sha512-YupOpot5hJO0maupJXixi6l5ETdrITxeo5eBOeuV7RSKgYdU3G5cxO49/9WRnJq9EMrB7AuTSLH/bqOsXi7wPA==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.59.11", + "@typescript-eslint/visitor-keys": "5.59.11", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/visitor-keys": { + "version": "5.59.11", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.59.11.tgz", + "integrity": "sha512-KGYniTGG3AMTuKF9QBD7EIrvufkB6O6uX3knP73xbKLMpH+QRPcgnCxjWXSHjMRuOxFLovljqQgQpR0c7GvjoA==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.59.11", + "eslint-visitor-keys": "^3.3.0" + } + }, + "eslint-visitor-keys": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz", + "integrity": "sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==", + "dev": true + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "semver": { + "version": "7.5.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.1.tgz", + "integrity": "sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } } }, "@typescript-eslint/scope-manager": { diff --git a/package.json b/package.json index 8477918d5..de17bc181 100644 --- a/package.json +++ b/package.json @@ -89,7 +89,7 @@ "@types/react-redux": "^7.1.25", "@types/react-router-dom": "^5.3.3", "@typescript-eslint/eslint-plugin": "^5.59.9", - "@typescript-eslint/parser": "^5.59.9", + "@typescript-eslint/parser": "^5.59.11", "@xstate/test": "^0.5.1", "aphrodite": "^2.4.0", "copy-webpack-plugin": "^11.0.0", From 88dd6ef16499c91c4c2c2a38fd7de78ec55fa858 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 13 Jun 2023 01:37:18 +0000 Subject: [PATCH 07/24] (chore): Bump @typescript-eslint/eslint-plugin from 5.59.9 to 5.59.11 Bumps [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) from 5.59.9 to 5.59.11. - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases) - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md) - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v5.59.11/packages/eslint-plugin) --- updated-dependencies: - dependency-name: "@typescript-eslint/eslint-plugin" dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- package-lock.json | 322 ++++++++++------------------------------------ package.json | 2 +- 2 files changed, 66 insertions(+), 258 deletions(-) diff --git a/package-lock.json b/package-lock.json index 51e290693..145cec108 100644 --- a/package-lock.json +++ b/package-lock.json @@ -53,7 +53,7 @@ "@types/react-dom": "^17.0.9", "@types/react-redux": "^7.1.25", "@types/react-router-dom": "^5.3.3", - "@typescript-eslint/eslint-plugin": "^5.59.9", + "@typescript-eslint/eslint-plugin": "^5.59.11", "@typescript-eslint/parser": "^5.59.11", "@xstate/test": "^0.5.1", "aphrodite": "^2.4.0", @@ -3771,15 +3771,15 @@ } }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "5.59.9", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.59.9.tgz", - "integrity": "sha512-4uQIBq1ffXd2YvF7MAvehWKW3zVv/w+mSfRAu+8cKbfj3nwzyqJLNcZJpQ/WZ1HLbJDiowwmQ6NO+63nCA+fqA==", + "version": "5.59.11", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.59.11.tgz", + "integrity": "sha512-XxuOfTkCUiOSyBWIvHlUraLw/JT/6Io1365RO6ZuI88STKMavJZPNMU0lFcUTeQXEhHiv64CbxYxBNoDVSmghg==", "dev": true, "dependencies": { "@eslint-community/regexpp": "^4.4.0", - "@typescript-eslint/scope-manager": "5.59.9", - "@typescript-eslint/type-utils": "5.59.9", - "@typescript-eslint/utils": "5.59.9", + "@typescript-eslint/scope-manager": "5.59.11", + "@typescript-eslint/type-utils": "5.59.11", + "@typescript-eslint/utils": "5.59.11", "debug": "^4.3.4", "grapheme-splitter": "^1.0.4", "ignore": "^5.2.0", @@ -3864,7 +3864,7 @@ } } }, - "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/scope-manager": { + "node_modules/@typescript-eslint/scope-manager": { "version": "5.59.11", "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.59.11.tgz", "integrity": "sha512-dHFOsxoLFtrIcSj5h0QoBT/89hxQONwmn3FOQ0GOQcLOOXm+MIrS8zEAhs4tWl5MraxCY3ZJpaXQQdFMc2Tu+Q==", @@ -3881,133 +3881,14 @@ "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/types": { - "version": "5.59.11", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.59.11.tgz", - "integrity": "sha512-epoN6R6tkvBYSc+cllrz+c2sOFWkbisJZWkOE+y3xHtvYaOE6Wk6B8e114McRJwFRjGvYdJwLXQH5c9osME/AA==", - "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/typescript-estree": { - "version": "5.59.11", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.11.tgz", - "integrity": "sha512-YupOpot5hJO0maupJXixi6l5ETdrITxeo5eBOeuV7RSKgYdU3G5cxO49/9WRnJq9EMrB7AuTSLH/bqOsXi7wPA==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "5.59.11", - "@typescript-eslint/visitor-keys": "5.59.11", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "semver": "^7.3.7", - "tsutils": "^3.21.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/visitor-keys": { - "version": "5.59.11", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.59.11.tgz", - "integrity": "sha512-KGYniTGG3AMTuKF9QBD7EIrvufkB6O6uX3knP73xbKLMpH+QRPcgnCxjWXSHjMRuOxFLovljqQgQpR0c7GvjoA==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "5.59.11", - "eslint-visitor-keys": "^3.3.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/parser/node_modules/eslint-visitor-keys": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz", - "integrity": "sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==", - "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@typescript-eslint/parser/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@typescript-eslint/parser/node_modules/semver": { - "version": "7.5.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.1.tgz", - "integrity": "sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@typescript-eslint/parser/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "node_modules/@typescript-eslint/scope-manager": { - "version": "5.59.9", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.59.9.tgz", - "integrity": "sha512-8RA+E+w78z1+2dzvK/tGZ2cpGigBZ58VMEHDZtpE1v+LLjzrYGc8mMaTONSxKyEkz3IuXFM0IqYiGHlCsmlZxQ==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "5.59.9", - "@typescript-eslint/visitor-keys": "5.59.9" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, "node_modules/@typescript-eslint/type-utils": { - "version": "5.59.9", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.59.9.tgz", - "integrity": "sha512-ksEsT0/mEHg9e3qZu98AlSrONAQtrSTljL3ow9CGej8eRo7pe+yaC/mvTjptp23Xo/xIf2mLZKC6KPv4Sji26Q==", + "version": "5.59.11", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.59.11.tgz", + "integrity": "sha512-LZqVY8hMiVRF2a7/swmkStMYSoXMFlzL6sXV6U/2gL5cwnLWQgLEG8tjWPpaE4rMIdZ6VKWwcffPlo1jPfk43g==", "dev": true, "dependencies": { - "@typescript-eslint/typescript-estree": "5.59.9", - "@typescript-eslint/utils": "5.59.9", + "@typescript-eslint/typescript-estree": "5.59.11", + "@typescript-eslint/utils": "5.59.11", "debug": "^4.3.4", "tsutils": "^3.21.0" }, @@ -4028,9 +3909,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "5.59.9", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.59.9.tgz", - "integrity": "sha512-uW8H5NRgTVneSVTfiCVffBb8AbwWSKg7qcA4Ot3JI3MPCJGsB4Db4BhvAODIIYE5mNj7Q+VJkK7JxmRhk2Lyjw==", + "version": "5.59.11", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.59.11.tgz", + "integrity": "sha512-epoN6R6tkvBYSc+cllrz+c2sOFWkbisJZWkOE+y3xHtvYaOE6Wk6B8e114McRJwFRjGvYdJwLXQH5c9osME/AA==", "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -4041,13 +3922,13 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "5.59.9", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.9.tgz", - "integrity": "sha512-pmM0/VQ7kUhd1QyIxgS+aRvMgw+ZljB3eDb+jYyp6d2bC0mQWLzUDF+DLwCTkQ3tlNyVsvZRXjFyV0LkU/aXjA==", + "version": "5.59.11", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.11.tgz", + "integrity": "sha512-YupOpot5hJO0maupJXixi6l5ETdrITxeo5eBOeuV7RSKgYdU3G5cxO49/9WRnJq9EMrB7AuTSLH/bqOsXi7wPA==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.59.9", - "@typescript-eslint/visitor-keys": "5.59.9", + "@typescript-eslint/types": "5.59.11", + "@typescript-eslint/visitor-keys": "5.59.11", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -4101,17 +3982,17 @@ "dev": true }, "node_modules/@typescript-eslint/utils": { - "version": "5.59.9", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.59.9.tgz", - "integrity": "sha512-1PuMYsju/38I5Ggblaeb98TOoUvjhRvLpLa1DoTOFaLWqaXl/1iQ1eGurTXgBY58NUdtfTXKP5xBq7q9NDaLKg==", + "version": "5.59.11", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.59.11.tgz", + "integrity": "sha512-didu2rHSOMUdJThLk4aZ1Or8IcO3HzCw/ZvEjTTIfjIrcdd5cvSIwwDy2AOlE7htSNp7QIZ10fLMyRCveesMLg==", "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@types/json-schema": "^7.0.9", "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.59.9", - "@typescript-eslint/types": "5.59.9", - "@typescript-eslint/typescript-estree": "5.59.9", + "@typescript-eslint/scope-manager": "5.59.11", + "@typescript-eslint/types": "5.59.11", + "@typescript-eslint/typescript-estree": "5.59.11", "eslint-scope": "^5.1.1", "semver": "^7.3.7" }, @@ -4160,12 +4041,12 @@ "dev": true }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "5.59.9", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.59.9.tgz", - "integrity": "sha512-bT7s0td97KMaLwpEBckbzj/YohnvXtqbe2XgqNvTl6RJVakY5mvENOTPvw5u66nljfZxthESpDozs86U+oLY8Q==", + "version": "5.59.11", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.59.11.tgz", + "integrity": "sha512-KGYniTGG3AMTuKF9QBD7EIrvufkB6O6uX3knP73xbKLMpH+QRPcgnCxjWXSHjMRuOxFLovljqQgQpR0c7GvjoA==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.59.9", + "@typescript-eslint/types": "5.59.11", "eslint-visitor-keys": "^3.3.0" }, "engines": { @@ -22721,15 +22602,15 @@ } }, "@typescript-eslint/eslint-plugin": { - "version": "5.59.9", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.59.9.tgz", - "integrity": "sha512-4uQIBq1ffXd2YvF7MAvehWKW3zVv/w+mSfRAu+8cKbfj3nwzyqJLNcZJpQ/WZ1HLbJDiowwmQ6NO+63nCA+fqA==", + "version": "5.59.11", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.59.11.tgz", + "integrity": "sha512-XxuOfTkCUiOSyBWIvHlUraLw/JT/6Io1365RO6ZuI88STKMavJZPNMU0lFcUTeQXEhHiv64CbxYxBNoDVSmghg==", "dev": true, "requires": { "@eslint-community/regexpp": "^4.4.0", - "@typescript-eslint/scope-manager": "5.59.9", - "@typescript-eslint/type-utils": "5.59.9", - "@typescript-eslint/utils": "5.59.9", + "@typescript-eslint/scope-manager": "5.59.11", + "@typescript-eslint/type-utils": "5.59.11", + "@typescript-eslint/utils": "5.59.11", "debug": "^4.3.4", "grapheme-splitter": "^1.0.4", "ignore": "^5.2.0", @@ -22774,117 +22655,44 @@ "@typescript-eslint/types": "5.59.11", "@typescript-eslint/typescript-estree": "5.59.11", "debug": "^4.3.4" - }, - "dependencies": { - "@typescript-eslint/scope-manager": { - "version": "5.59.11", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.59.11.tgz", - "integrity": "sha512-dHFOsxoLFtrIcSj5h0QoBT/89hxQONwmn3FOQ0GOQcLOOXm+MIrS8zEAhs4tWl5MraxCY3ZJpaXQQdFMc2Tu+Q==", - "dev": true, - "requires": { - "@typescript-eslint/types": "5.59.11", - "@typescript-eslint/visitor-keys": "5.59.11" - } - }, - "@typescript-eslint/types": { - "version": "5.59.11", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.59.11.tgz", - "integrity": "sha512-epoN6R6tkvBYSc+cllrz+c2sOFWkbisJZWkOE+y3xHtvYaOE6Wk6B8e114McRJwFRjGvYdJwLXQH5c9osME/AA==", - "dev": true - }, - "@typescript-eslint/typescript-estree": { - "version": "5.59.11", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.11.tgz", - "integrity": "sha512-YupOpot5hJO0maupJXixi6l5ETdrITxeo5eBOeuV7RSKgYdU3G5cxO49/9WRnJq9EMrB7AuTSLH/bqOsXi7wPA==", - "dev": true, - "requires": { - "@typescript-eslint/types": "5.59.11", - "@typescript-eslint/visitor-keys": "5.59.11", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "semver": "^7.3.7", - "tsutils": "^3.21.0" - } - }, - "@typescript-eslint/visitor-keys": { - "version": "5.59.11", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.59.11.tgz", - "integrity": "sha512-KGYniTGG3AMTuKF9QBD7EIrvufkB6O6uX3knP73xbKLMpH+QRPcgnCxjWXSHjMRuOxFLovljqQgQpR0c7GvjoA==", - "dev": true, - "requires": { - "@typescript-eslint/types": "5.59.11", - "eslint-visitor-keys": "^3.3.0" - } - }, - "eslint-visitor-keys": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz", - "integrity": "sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==", - "dev": true - }, - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "semver": { - "version": "7.5.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.1.tgz", - "integrity": "sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - } } }, "@typescript-eslint/scope-manager": { - "version": "5.59.9", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.59.9.tgz", - "integrity": "sha512-8RA+E+w78z1+2dzvK/tGZ2cpGigBZ58VMEHDZtpE1v+LLjzrYGc8mMaTONSxKyEkz3IuXFM0IqYiGHlCsmlZxQ==", + "version": "5.59.11", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.59.11.tgz", + "integrity": "sha512-dHFOsxoLFtrIcSj5h0QoBT/89hxQONwmn3FOQ0GOQcLOOXm+MIrS8zEAhs4tWl5MraxCY3ZJpaXQQdFMc2Tu+Q==", "dev": true, "requires": { - "@typescript-eslint/types": "5.59.9", - "@typescript-eslint/visitor-keys": "5.59.9" + "@typescript-eslint/types": "5.59.11", + "@typescript-eslint/visitor-keys": "5.59.11" } }, "@typescript-eslint/type-utils": { - "version": "5.59.9", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.59.9.tgz", - "integrity": "sha512-ksEsT0/mEHg9e3qZu98AlSrONAQtrSTljL3ow9CGej8eRo7pe+yaC/mvTjptp23Xo/xIf2mLZKC6KPv4Sji26Q==", + "version": "5.59.11", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.59.11.tgz", + "integrity": "sha512-LZqVY8hMiVRF2a7/swmkStMYSoXMFlzL6sXV6U/2gL5cwnLWQgLEG8tjWPpaE4rMIdZ6VKWwcffPlo1jPfk43g==", "dev": true, "requires": { - "@typescript-eslint/typescript-estree": "5.59.9", - "@typescript-eslint/utils": "5.59.9", + "@typescript-eslint/typescript-estree": "5.59.11", + "@typescript-eslint/utils": "5.59.11", "debug": "^4.3.4", "tsutils": "^3.21.0" } }, "@typescript-eslint/types": { - "version": "5.59.9", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.59.9.tgz", - "integrity": "sha512-uW8H5NRgTVneSVTfiCVffBb8AbwWSKg7qcA4Ot3JI3MPCJGsB4Db4BhvAODIIYE5mNj7Q+VJkK7JxmRhk2Lyjw==", + "version": "5.59.11", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.59.11.tgz", + "integrity": "sha512-epoN6R6tkvBYSc+cllrz+c2sOFWkbisJZWkOE+y3xHtvYaOE6Wk6B8e114McRJwFRjGvYdJwLXQH5c9osME/AA==", "dev": true }, "@typescript-eslint/typescript-estree": { - "version": "5.59.9", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.9.tgz", - "integrity": "sha512-pmM0/VQ7kUhd1QyIxgS+aRvMgw+ZljB3eDb+jYyp6d2bC0mQWLzUDF+DLwCTkQ3tlNyVsvZRXjFyV0LkU/aXjA==", + "version": "5.59.11", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.11.tgz", + "integrity": "sha512-YupOpot5hJO0maupJXixi6l5ETdrITxeo5eBOeuV7RSKgYdU3G5cxO49/9WRnJq9EMrB7AuTSLH/bqOsXi7wPA==", "dev": true, "requires": { - "@typescript-eslint/types": "5.59.9", - "@typescript-eslint/visitor-keys": "5.59.9", + "@typescript-eslint/types": "5.59.11", + "@typescript-eslint/visitor-keys": "5.59.11", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -22919,17 +22727,17 @@ } }, "@typescript-eslint/utils": { - "version": "5.59.9", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.59.9.tgz", - "integrity": "sha512-1PuMYsju/38I5Ggblaeb98TOoUvjhRvLpLa1DoTOFaLWqaXl/1iQ1eGurTXgBY58NUdtfTXKP5xBq7q9NDaLKg==", + "version": "5.59.11", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.59.11.tgz", + "integrity": "sha512-didu2rHSOMUdJThLk4aZ1Or8IcO3HzCw/ZvEjTTIfjIrcdd5cvSIwwDy2AOlE7htSNp7QIZ10fLMyRCveesMLg==", "dev": true, "requires": { "@eslint-community/eslint-utils": "^4.2.0", "@types/json-schema": "^7.0.9", "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.59.9", - "@typescript-eslint/types": "5.59.9", - "@typescript-eslint/typescript-estree": "5.59.9", + "@typescript-eslint/scope-manager": "5.59.11", + "@typescript-eslint/types": "5.59.11", + "@typescript-eslint/typescript-estree": "5.59.11", "eslint-scope": "^5.1.1", "semver": "^7.3.7" }, @@ -22961,12 +22769,12 @@ } }, "@typescript-eslint/visitor-keys": { - "version": "5.59.9", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.59.9.tgz", - "integrity": "sha512-bT7s0td97KMaLwpEBckbzj/YohnvXtqbe2XgqNvTl6RJVakY5mvENOTPvw5u66nljfZxthESpDozs86U+oLY8Q==", + "version": "5.59.11", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.59.11.tgz", + "integrity": "sha512-KGYniTGG3AMTuKF9QBD7EIrvufkB6O6uX3knP73xbKLMpH+QRPcgnCxjWXSHjMRuOxFLovljqQgQpR0c7GvjoA==", "dev": true, "requires": { - "@typescript-eslint/types": "5.59.9", + "@typescript-eslint/types": "5.59.11", "eslint-visitor-keys": "^3.3.0" }, "dependencies": { diff --git a/package.json b/package.json index ebe0c77a1..6b6953ad8 100644 --- a/package.json +++ b/package.json @@ -88,7 +88,7 @@ "@types/react-dom": "^17.0.9", "@types/react-redux": "^7.1.25", "@types/react-router-dom": "^5.3.3", - "@typescript-eslint/eslint-plugin": "^5.59.9", + "@typescript-eslint/eslint-plugin": "^5.59.11", "@typescript-eslint/parser": "^5.59.11", "@xstate/test": "^0.5.1", "aphrodite": "^2.4.0", From aabf9047407eb2e50ced577d18b054ec44a23b1b Mon Sep 17 00:00:00 2001 From: Dan Labrecque Date: Fri, 9 Jun 2023 09:26:07 -0400 Subject: [PATCH 08/24] Add new computed item properties for unused capacity and request https://issues.redhat.com/browse/COST-3822 --- .../computedReport/getComputedReportItems.ts | 164 +++++++++++------- 1 file changed, 99 insertions(+), 65 deletions(-) diff --git a/src/routes/utils/computedReport/getComputedReportItems.ts b/src/routes/utils/computedReport/getComputedReportItems.ts index c9a77cea4..c50ccafba 100644 --- a/src/routes/utils/computedReport/getComputedReportItems.ts +++ b/src/routes/utils/computedReport/getComputedReportItems.ts @@ -97,77 +97,111 @@ function getClusters(val, item?: any) { } function getCostData(val, key, item?: any) { + const defaultUnits = 'USD'; return { - distributed: { - value: - (item && item[key] && item[key].distributed ? item[key].distributed.value : 0) + - (val[key] && val[key].distributed ? val[key].distributed.value : 0), - units: val && val[key] && val[key].distributed ? val[key].distributed.units : 'USD', - }, - markup: { - value: - (item && item[key] && item[key].markup ? item[key].markup.value : 0) + - (val[key] && val[key].markup ? val[key].markup.value : 0), - units: val && val[key] && val[key].markup ? val[key].markup.units : 'USD', - }, - platformDistributed: { - value: - (item && item[key] && item[key].platform_distributed ? item[key].platform_distributed.value : 0) + - (val[key] && val[key].platform_distributed ? val[key].platform_distributed.value : 0), - units: val && val[key] && val[key].platform_distributed ? val[key].platform_distributed.units : 'USD', - }, - raw: { - value: - (item && item[key] && item[key].raw ? item[key].raw.value : 0) + - (val[key] && val[key].raw ? val[key].raw.value : 0), - units: val && val[key] && val[key].raw ? val[key].raw.units : 'USD', - }, - total: { - value: - (item && item[key] && item[key].total ? item[key].total.value : 0) + - (val[key] && val[key].total ? Number(val[key].total.value) : 0), - units: val && val[key] && val[key].total ? val[key].total.units : null, - }, - usage: { - value: - (item && item[key] && item[key].usage ? item[key].usage.value : 0) + - (val[key] && val[key].usage ? Number(val[key].usage.value) : 0), - units: val && val[key] && val[key].usage ? val[key].usage.units : null, - }, - workerUnallocatedDistributed: { - value: - (item && item[key] && item[key].worker_unallocated_distributed - ? item[key].worker_unallocated_distributed.value - : 0) + - (val[key] && val[key].worker_unallocated_distributed - ? Number(val[key].worker_unallocated_distributed.value) - : 0), - units: - val && val[key] && val[key].worker_unallocated_distributed - ? val[key].worker_unallocated_distributed.units - : null, - }, + ...(val[key] && + val[key].distributed && { + distributed: { + value: val[key].distributed.value + (item && item[key]?.distributed ? item[key].distributed.value : 0), + units: val[key].distributed.units ? val[key].distributed.units : defaultUnits, + }, + }), + ...(val[key] && + val[key].markup && { + markup: { + value: val[key].markup.value + (item && item[key]?.markup ? item[key].markup.value : 0), + units: val[key].markup.units ? val[key].markup.units : defaultUnits, + }, + }), + ...(val[key] && + val[key].platform_distributed && { + platformDistributed: { + value: + val[key].platform_distributed.value + + (item && item[key]?.platform_distributed ? item[key].platform_distributed.value : 0), + units: val[key].platform_distributed.units ? val[key].platform_distributed.units : defaultUnits, + }, + }), + ...(val[key] && + val[key].total && { + raw: { + value: val[key].raw.value + (item && item[key]?.raw ? item[key].raw.value : 0), + units: val[key].raw.units ? val[key].raw.units : defaultUnits, + }, + }), + ...(val[key] && + val[key].total && { + total: { + value: val[key].total.value + (item && item[key]?.total ? item[key].total.value : 0), + units: val[key].total.units ? val[key].total.units : defaultUnits, + }, + }), + ...(val[key] && + val[key].usage && { + usage: { + value: val[key].usage.value + (item && item[key]?.usage ? item[key].usage.value : 0), + units: val[key].usage.units ? val[key].usage.units : defaultUnits, + }, + }), + ...(val[key] && + val[key].worker_unallocated_distributed && { + workerUnallocatedDistributed: { + value: + val[key].worker_unallocated_distributed.value + + (item && item[key]?.worker_unallocated_distributed ? item[key].worker_unallocated_distributed.value : 0), + units: val[key].worker_unallocated_distributed.units + ? val[key].worker_unallocated_distributed.units + : defaultUnits, + }, + }), }; } function getUsageData(val, item?: any) { + const defaultUnits = 'Core-Hours'; return { - capacity: { - value: (item && item.capacity ? item.capacity.value : 0) + (val.capacity ? val.capacity.value : 0), - units: val && val.capacity ? val.capacity.units : 'Core-Hours', - }, - limit: { - value: (item && item.limit ? item.limit.value : 0) + (val.limit ? val.limit.value : 0), - units: val && val.limit ? val.limit.units : 'Core-Hours', - }, - request: { - value: (item && item.request ? item.request.value : 0) + (val.request ? val.request.value : 0), - units: val && val.request ? val.request.units : 'Core-Hours', - }, - usage: { - value: (item && item.usage ? item.usage.value : 0) + (val.usage ? val.usage.value : 0), - units: val && val.usage ? val.usage.units : 'Core-Hours', - }, + ...(val.capacity && { + capacity: { + value: val.capacity.value + (item?.capacity ? item.capacity.value : 0), + units: val.capacity.units ? val.capacity.units : defaultUnits, + ...(val.capacity.count !== undefined && { + count: val.capacity.count + (item?.capacity ? item.capacity.count : 0), + }), + ...(val.capacity.count_units && { + count_units: val.capacity.count_units, + }), + ...(val.capacity.unused !== undefined && { + unused: val.capacity.unused + (item?.capacity ? item.capacity.unused : 0), + }), + ...(val.capacity.unused_percent !== undefined && { + unused_percent: val.capacity.unused_percent + (item?.capacity ? item.capacity.unused_percent : 0), + }), + }, + }), + ...(val.limit && { + limit: { + value: val.limit.value + (item?.limit ? item.limit.value : 0), + units: val.limit.units ? val.limit.units : defaultUnits, + }, + }), + ...(val.request && { + request: { + value: val.request.value + (item?.request ? item.request.value : 0), + units: val.request.units ? val.request.units : defaultUnits, + ...(val.request.unused !== undefined && { + unused: val.request.unused + (item?.request ? item.request.unused : 0), + }), + ...(val.request.unused_percent !== undefined && { + unused_percent: val.request.unused_percent + (item?.request ? item.request.unused_percent : 0), + }), + }, + }), + ...(val.usage && { + usage: { + value: val.usage.value + (item?.usage ? item.usage.value : 0), + units: val.usage.units ? val.usage.units : defaultUnits, + }, + }), }; } From 37c9e867806858097b0da3c2b21fba443619b6ed Mon Sep 17 00:00:00 2001 From: Dan Labrecque Date: Mon, 12 Jun 2023 17:08:58 -0400 Subject: [PATCH 09/24] OCP details breakdown vCPU count, RAM and storage capacity https://issues.redhat.com/browse/COST-3822 --- locales/data.json | 38 +++- locales/translations.json | 5 +- src/locales/messages.ts | 16 +- .../components/charts/common/chartDatum.ts | 14 +- .../historicalUsageChart.test.tsx.snap | 32 ++- .../historicalUsageChart.test.tsx | 2 +- .../__snapshots__/usageChart.test.tsx.snap | 10 +- .../reportSummary/reportSummaryItem.test.tsx | 2 +- .../components/costOverview/costOverview.scss | 9 + .../costOverview/costOverviewBase.tsx | 14 +- .../usageChart/usageChart.styles.ts | 6 + .../components/usageChart/usageChart.tsx | 207 +++++++++++++----- src/utils/format.ts | 1 + 13 files changed, 248 insertions(+), 108 deletions(-) create mode 100644 src/routes/details/components/costOverview/costOverview.scss diff --git a/locales/data.json b/locales/data.json index 95ddb2291..d8ec70c40 100644 --- a/locales/data.json +++ b/locales/data.json @@ -3071,6 +3071,12 @@ "value": "groupBy" } ], + "detailsUnusedCapacityLabel": [ + { + "type": 0, + "value": "Unused capacity" + } + ], "detailsUnusedRequestsLabel": [ { "type": 0, @@ -3095,12 +3101,6 @@ "value": "% of capacity)" } ], - "detailsUnusedUsageLabel": [ - { - "type": 0, - "value": "Unused capacity" - } - ], "detailsUsageCapacity": [ { "type": 0, @@ -11826,6 +11826,14 @@ } ] }, + "core": { + "value": [ + { + "type": 0, + "value": "core" + } + ] + }, "core_hours": { "value": [ { @@ -11932,6 +11940,24 @@ "value": "Usage cost" } ], + "usageSubtitle": [ + { + "type": 1, + "value": "count" + }, + { + "type": 0, + "value": " " + }, + { + "type": 1, + "value": "countUnits" + }, + { + "type": 0, + "value": " maximum" + } + ], "various": [ { "type": 0, diff --git a/locales/translations.json b/locales/translations.json index 252a7e590..edf80df01 100644 --- a/locales/translations.json +++ b/locales/translations.json @@ -213,9 +213,9 @@ "detailsMoreClusters": ", {value} more...", "detailsResourceNames": "{value, select, account {Account names} aws_category {Cost category names} cluster {Cluster names} gcp_project {GCP project names} group {Group} name {Name} node {Node names} org_unit_id {Organizational unit names} payer_tenant_id {Account names} product_service {Service names} project {Project names} region {Region names} resource_location {Region names} service {Service names} service_name {Service names} status {Status} subscription_guid {Account names} source_type {Source type} tag {Tag names} other {}}", "detailsSummaryModalTitle": "{groupBy, select, account {{name} accounts} aws_category {{name} cost categories} cluster {{name} clusters} gcp_project {{name} GCP projects} node {{name} nodes} org_unit_id {{name} organizational units} payer_tenant_id {{name} accounts} product_service {{name} services} project {{name} projects} region {{name} regions} resource_location {{name} regions} service {{name} services} service_name {{name} services} subscription_guid {{name} accounts} tag {{name} tags} other {}}", + "detailsUnusedCapacityLabel": "Unused capacity", "detailsUnusedRequestsLabel": "Unrequested capacity", "detailsUnusedUnits": "{units} ({percentage}% of capacity)", - "detailsUnusedUsageLabel": "Unused capacity", "detailsUsageCapacity": "Capacity - {value} {units}", "detailsUsageLimit": "Limit - {value} {units}", "detailsUsageRequests": "Requests - {value} {units}", @@ -543,10 +543,11 @@ "toolBarPriceListMeasurementPlaceHolder": "Filter by measurements", "toolBarPriceListMetricPlaceHolder": "Filter by metrics", "unitTooltips": "{units, select, byte_ms {{value} Byte-ms} core_hours {{value} core-hours} gb {{value} GB} gb_hours {{value} GB-hours} gb_mo {{value} GB-month} gb_ms {{value} GB-ms} gibibyte_month {{value} GiB-month} hour {{value} hours} hrs {{value} hours} ms {{value} milliseconds} vm_hours {{value} VM-hours} other {{value}}}", - "units": "{units, select, byte_ms {Byte-ms} core_hours {core-hours} gb {GB} gb_hours {GB-hours} gb_mo {GB-month} gb_ms {GB-ms} gibibyte_month {GiB-month} hour {hours} hrs {hours} ms {milliseconds} vm_hours {VM-hours} other {}}", + "units": "{units, select, byte_ms {Byte-ms} core {core} core_hours {core-hours} gb {GB} gb_hours {GB-hours} gb_mo {GB-month} gb_ms {GB-ms} gibibyte_month {GiB-month} hour {hours} hrs {hours} ms {milliseconds} vm_hours {VM-hours} other {}}", "usage": "Usage", "usageCostDesc": "The portion of cost calculated by applying hourly and/or monthly price list rates to metrics.", "usageCostTitle": "Usage cost", + "usageSubtitle": "{count} {countUnits} maximum", "various": "Various", "volumeTitle": "Volume", "workerUnallocated": "Worker unallocated", diff --git a/src/locales/messages.ts b/src/locales/messages.ts index 030c115a1..30a33919a 100644 --- a/src/locales/messages.ts +++ b/src/locales/messages.ts @@ -1255,6 +1255,11 @@ export default defineMessages({ description: ', {value} more...', id: 'detailsSummaryModalTitle', }, + detailsUnusedCapacityLabel: { + defaultMessage: 'Unused capacity', + description: 'Unused capacity', + id: 'detailsUnusedCapacityLabel', + }, detailsUnusedRequestsLabel: { defaultMessage: 'Unrequested capacity', description: 'Unrequested capacity', @@ -1265,11 +1270,6 @@ export default defineMessages({ description: '{units} ({percentage}% of capacity)', id: 'detailsUnusedUnits', }, - detailsUnusedUsageLabel: { - defaultMessage: 'Unused capacity', - description: 'Unused capacity', - id: 'detailsUnusedUsageLabel', - }, detailsUsageCapacity: { defaultMessage: 'Capacity - {value} {units}', description: 'Capacity - {value} {units}', @@ -3329,6 +3329,7 @@ export default defineMessages({ defaultMessage: '{units, select, ' + 'byte_ms {Byte-ms} ' + + 'core {core} ' + 'core_hours {core-hours} ' + 'gb {GB} ' + 'gb_hours {GB-hours} ' + @@ -3358,6 +3359,11 @@ export default defineMessages({ description: 'Usage cost', id: 'usageCostTitle', }, + usageSubtitle: { + defaultMessage: '{count} {countUnits} maximum', + description: '{count} {countUnits} maximum', + id: 'usageSubtitle', + }, various: { defaultMessage: 'Various', description: 'Various', diff --git a/src/routes/components/charts/common/chartDatum.ts b/src/routes/components/charts/common/chartDatum.ts index 69e0389d2..98f007662 100644 --- a/src/routes/components/charts/common/chartDatum.ts +++ b/src/routes/components/charts/common/chartDatum.ts @@ -77,8 +77,10 @@ export function transformReport( }, []); } else { chartDatums = computedItems.map(i => { - const val = i[reportItem][reportItemValue] ? i[reportItem][reportItemValue].value : i[reportItem].value; - return createReportDatum(val, i, idKey, reportItem, reportItemValue); + if (i[reportItem]) { + const val = i[reportItem][reportItemValue] ? i[reportItem][reportItemValue].value : i[reportItem].value; + return createReportDatum(val, i, idKey, reportItem, reportItemValue); + } }); } return idKey === 'date' ? padChartDatums(chartDatums, datumType) : chartDatums; @@ -112,8 +114,8 @@ export function fillChartDatums(datums: ChartDatum[], datumType): ChartDatum[] { if (!datums || datums.length === 0) { return result; } - const firstDate = new Date(datums[0].key + 'T00:00:00'); - const lastDate = new Date(datums[datums.length - 1].key + 'T00:00:00'); + const firstDate = new Date(datums[0] ? datums[0].key + 'T00:00:00' : undefined); + const lastDate = new Date(datums[datums.length - 1] ? datums[datums.length - 1].key + 'T00:00:00' : undefined); const padDate = startOfMonth(firstDate); let prevChartDatum; @@ -156,8 +158,8 @@ export function padChartDatums(datums: ChartDatum[], datumType): ChartDatum[] { if (!datums || datums.length === 0) { return result; } - const firstDate = new Date(datums[0].key + 'T00:00:00'); - const lastDate = new Date(datums[datums.length - 1].key + 'T00:00:00'); + const firstDate = new Date(datums[0] ? datums[0].key + 'T00:00:00' : undefined); + const lastDate = new Date(datums[datums.length - 1] ? datums[datums.length - 1].key + 'T00:00:00' : undefined); // Pad start for missing data let padDate = startOfMonth(firstDate); diff --git a/src/routes/components/charts/historicalUsageChart/__snapshots__/historicalUsageChart.test.tsx.snap b/src/routes/components/charts/historicalUsageChart/__snapshots__/historicalUsageChart.test.tsx.snap index d2f9c23c8..697ac94d7 100644 --- a/src/routes/components/charts/historicalUsageChart/__snapshots__/historicalUsageChart.test.tsx.snap +++ b/src/routes/components/charts/historicalUsageChart/__snapshots__/historicalUsageChart.test.tsx.snap @@ -114,13 +114,11 @@ exports[`reports are formatted to datums 1`] = ` @@ -420,7 +416,7 @@ exports[`reports are formatted to datums 1`] = ` style="fill: #8bc1f7;" /> Usage ({dateRange}){"dateRange":""} @@ -537,14 +533,14 @@ exports[`reports are formatted to datums 1`] = ` text-anchor="start" x="30.8" > - Requests ({dateRange}){"dateRange":""} + Requests (no data) - Requests ({dateRange}){"dateRange":""} + Requests (no data) Limit (no data) diff --git a/src/routes/components/charts/historicalUsageChart/historicalUsageChart.test.tsx b/src/routes/components/charts/historicalUsageChart/historicalUsageChart.test.tsx index 8d2c3c72c..ce91d6972 100644 --- a/src/routes/components/charts/historicalUsageChart/historicalUsageChart.test.tsx +++ b/src/routes/components/charts/historicalUsageChart/historicalUsageChart.test.tsx @@ -31,7 +31,7 @@ test('reports are formatted to datums', () => { render(); /* eslint-disable-next-line testing-library/no-node-access */ expect(screen.getByText(props.title).parentElement).toMatchSnapshot(); - expect(screen.getAllByText(/no data/i).length).toBe(2); + expect(screen.getAllByText(/no data/i).length).toBe(4); }); test('null previous and current reports are handled', () => { diff --git a/src/routes/components/charts/usageChart/__snapshots__/usageChart.test.tsx.snap b/src/routes/components/charts/usageChart/__snapshots__/usageChart.test.tsx.snap index 9d93a0db3..ae846c570 100644 --- a/src/routes/components/charts/usageChart/__snapshots__/usageChart.test.tsx.snap +++ b/src/routes/components/charts/usageChart/__snapshots__/usageChart.test.tsx.snap @@ -105,13 +105,11 @@ exports[`reports are formatted to datums 1`] = ` @@ -444,7 +440,7 @@ exports[`reports are formatted to datums 1`] = ` text-anchor="start" x="30.8" > - Requests ({dateRange}){"dateRange":""} + Requests (no data) - Requests ({dateRange}){"dateRange":""} + Requests (no data) diff --git a/src/routes/components/reports/reportSummary/reportSummaryItem.test.tsx b/src/routes/components/reports/reportSummary/reportSummaryItem.test.tsx index 7f89e880a..e635b6404 100644 --- a/src/routes/components/reports/reportSummary/reportSummaryItem.test.tsx +++ b/src/routes/components/reports/reportSummary/reportSummaryItem.test.tsx @@ -19,7 +19,7 @@ test('formats value', () => { expect(screen.getByText(/label/i)).not.toBeNull(); expect( screen.getByText( - '{value} {units} ({percent} %){"percent":"10","units":"{units, select, byte_ms {Byte-ms} core_hours {core-hours} gb {GB} gb_hours {GB-hours} gb_mo {GB-month} gb_ms {GB-ms} gibibyte_month {GiB-month} hour {hours} hrs {hours} ms {milliseconds} vm_hours {VM-hours} other {}}{}","value":100}' + '{value} {units} ({percent} %){"percent":"10","units":"{units, select, byte_ms {Byte-ms} core {core} core_hours {core-hours} gb {GB} gb_hours {GB-hours} gb_mo {GB-month} gb_ms {GB-ms} gibibyte_month {GiB-month} hour {hours} hrs {hours} ms {milliseconds} vm_hours {VM-hours} other {}}{}","value":100}' ) ).not.toBeNull(); expect(screen.getByRole('progressbar').getAttribute('aria-valuenow')).toBe('10'); diff --git a/src/routes/details/components/costOverview/costOverview.scss b/src/routes/details/components/costOverview/costOverview.scss new file mode 100644 index 000000000..ae52ca72e --- /dev/null +++ b/src/routes/details/components/costOverview/costOverview.scss @@ -0,0 +1,9 @@ +@import url("~@patternfly/patternfly/base/patternfly-variables.css"); + +.pf-c-card { + &.cardOverride { + .pf-c-card__title { + padding-bottom: 0; + } + } +} diff --git a/src/routes/details/components/costOverview/costOverviewBase.tsx b/src/routes/details/components/costOverview/costOverviewBase.tsx index ca368b677..730396f9e 100644 --- a/src/routes/details/components/costOverview/costOverviewBase.tsx +++ b/src/routes/details/components/costOverview/costOverviewBase.tsx @@ -1,3 +1,5 @@ +import './costOverview.scss'; + import { Button, ButtonVariant, @@ -169,10 +171,10 @@ class CostOverviewsBase extends React.Component { // Returns CPU usage chart private getCpuUsageChart = (widget: CostOverviewWidget) => { - const { intl } = this.props; + const { groupBy, intl } = this.props; return ( - + {intl.formatMessage(messages.cpuTitle)} @@ -187,10 +189,10 @@ class CostOverviewsBase extends React.Component<CostOverviewProps, any> { // Returns memory usage chart private getMemoryUsageChart = (widget: CostOverviewWidget) => { - const { intl } = this.props; + const { groupBy, intl } = this.props; return ( - <Card> + <Card className={groupBy === 'node' ? 'cardOverride' : undefined}> <CardTitle> <Title headingLevel="h2" size={TitleSizes.lg}> {intl.formatMessage(messages.memoryTitle)} @@ -248,10 +250,10 @@ class CostOverviewsBase extends React.Component<CostOverviewProps, any> { // Returns volume usage chart private getVolumeUsageChart = (widget: CostOverviewWidget) => { - const { intl } = this.props; + const { groupBy, intl } = this.props; return ( - <Card> + <Card className={groupBy === 'node' ? 'cardOverride' : undefined}> <CardTitle> <Title headingLevel="h2" size={TitleSizes.lg}> {intl.formatMessage(messages.volumeTitle)} diff --git a/src/routes/details/components/usageChart/usageChart.styles.ts b/src/routes/details/components/usageChart/usageChart.styles.ts index 74205a7bb..33eebc5a6 100644 --- a/src/routes/details/components/usageChart/usageChart.styles.ts +++ b/src/routes/details/components/usageChart/usageChart.styles.ts @@ -3,6 +3,9 @@ import global_spacer_md from '@patternfly/react-tokens/dist/js/global_spacer_md' import type React from 'react'; export const styles = { + chartContainer: { + marginTop: global_spacer_md.value, + }, chartSkeleton: { marginBottom: global_spacer_md.value, }, @@ -12,4 +15,7 @@ export const styles = { legendSkeleton: { marginTop: global_spacer_md.value, }, + subtitle: { + marginBottom: global_spacer_md.value, + }, } as { [className: string]: React.CSSProperties }; diff --git a/src/routes/details/components/usageChart/usageChart.tsx b/src/routes/details/components/usageChart/usageChart.tsx index b4fca6650..c3ee73481 100644 --- a/src/routes/details/components/usageChart/usageChart.tsx +++ b/src/routes/details/components/usageChart/usageChart.tsx @@ -14,7 +14,8 @@ import type { WrappedComponentProps } from 'react-intl'; import { injectIntl } from 'react-intl'; import { connect } from 'react-redux'; import { getResizeObserver } from 'routes/components/charts/common/chartUtils'; -import { getGroupById, getGroupByValue } from 'routes/utils/groupBy'; +import { getUnsortedComputedReportItems } from 'routes/utils/computedReport/getComputedReportItems'; +import { getGroupById, getGroupByTagKey, getGroupByValue } from 'routes/utils/groupBy'; import { noop } from 'routes/utils/noop'; import { skeletonWidth } from 'routes/utils/skeleton'; import { createMapStateToProps, FetchStatus } from 'store/common'; @@ -40,6 +41,7 @@ interface UsageChartOwnProps extends RouterComponentProps, WrappedComponentProps interface UsageChartStateProps { groupBy?: string; + groupByValue?: string; query?: Query; report?: Report; reportFetchStatus?: FetchStatus; @@ -90,21 +92,29 @@ class UsageChartBase extends React.Component<UsageChartProps, UsageChartState> { } }; - private getChartDatum(): ChartDatum { - const { groupBy, report, intl, reportType } = this.props; + private getChartDatum(computedItem): ChartDatum { + const { groupBy, intl, reportType } = this.props; const datum: ChartDatum = { limit: {}, ranges: [], usage: [], }; - // Always show bullet chart legends https://github.com/project-koku/koku-ui/issues/963 - const hasTotal = report && report.meta && report.meta.total; + const { + hasCapacityUnits, + hasCapacityValue, + hasLimitUnits, + hasLimitValue, + hasRequestUnits, + hasRequestValue, + hasUsageUnits, + hasUsageValue, + } = this.getHasData(computedItem); - const hasLimit = hasTotal && report.meta.total.limit && report.meta.total.limit !== null; - const limit = Math.trunc(hasLimit ? report.meta.total.limit.value : 0); + // Always show bullet chart legends https://github.com/project-koku/koku-ui/issues/963 + const limit = Math.trunc(hasLimitValue ? computedItem.limit.value : 0); const limitUnits = intl.formatMessage(messages.units, { - units: unitsLookupKey(hasLimit ? report.meta.total.limit.units : undefined), + units: unitsLookupKey(hasLimitUnits ? computedItem.limit.units : undefined), }); datum.limit = { legend: intl.formatMessage(messages.detailsUsageLimit, { @@ -120,10 +130,9 @@ class UsageChartBase extends React.Component<UsageChartProps, UsageChartState> { // Qualitative range included when grouped by cluster and volume usage if (groupBy === 'cluster' || reportType === ReportType.volume) { - const hasCapacity = hasTotal && report.meta.total.capacity && report.meta.total.capacity !== null; - const capacity = Math.trunc(hasCapacity ? report.meta.total.capacity.value : 0); + const capacity = Math.trunc(hasCapacityValue ? computedItem.capacity.value : 0); const capacityUnits = intl.formatMessage(messages.units, { - units: unitsLookupKey(hasCapacity ? report.meta.total.capacity.units : undefined), + units: unitsLookupKey(hasCapacityUnits ? computedItem.capacity.units : undefined), }); datum.ranges = [ { @@ -140,15 +149,13 @@ class UsageChartBase extends React.Component<UsageChartProps, UsageChartState> { ]; } - const hasRequest = hasTotal && report.meta.total.request && report.meta.total.request !== null; - const hasUsage = hasTotal && report.meta.total.usage && report.meta.total.usage !== null; - const request = Math.trunc(hasRequest ? report.meta.total.request.value : 0); + const request = Math.trunc(hasRequestValue ? computedItem.request.value : 0); const requestUnits = intl.formatMessage(messages.units, { - units: unitsLookupKey(hasRequest ? report.meta.total.request.units : undefined), + units: unitsLookupKey(hasRequestUnits ? computedItem.request.units : undefined), }); - const usage = Math.trunc(hasUsage ? report.meta.total.usage.value : 0); + const usage = Math.trunc(hasUsageValue ? computedItem.usage.value : 0); const usageUnits = intl.formatMessage(messages.units, { - units: unitsLookupKey(hasUsage ? report.meta.total.usage.units : undefined), + units: unitsLookupKey(hasUsageUnits ? computedItem.usage.units : undefined), }); datum.usage = [ { @@ -177,23 +184,22 @@ class UsageChartBase extends React.Component<UsageChartProps, UsageChartState> { return datum; } - private getChart = () => { - const { groupBy, name, reportFetchStatus, report } = this.props; + private getChart = computedItem => { + const { name, reportFetchStatus } = this.props; const { width } = this.state; - const chartDatum = this.getChartDatum(); - - if (!report || chartDatum.usage.length === 0) { + const chartDatum = this.getChartDatum(computedItem); + if (chartDatum.usage.length === 0) { return null; } return ( - <div className="chartOverride"> + <> {reportFetchStatus === FetchStatus.inProgress ? ( this.getSkeleton() ) : ( <> - {groupBy === 'cluster' && this.getFreeSpace()} + {this.getFreeSpace(computedItem)} <ChartBullet comparativeErrorMeasureData={ chartDatum.limit.value @@ -253,61 +259,81 @@ class UsageChartBase extends React.Component<UsageChartProps, UsageChartState> { /> </> )} - </div> + </> ); }; - private getFreeSpace() { - const { report, intl } = this.props; - const hasTotal = report && report.meta && report.meta.total; - const hasCapacity = hasTotal && report.meta.total.capacity && report.meta.total.capacity !== null; - const hasRequest = hasTotal && report.meta.total.request && report.meta.total.request !== null; - const hasUsage = hasTotal && report.meta.total.usage && report.meta.total.usage !== null; + private getComputedItems = () => { + const { query, report } = this.props; - const capacity = Math.trunc(hasCapacity ? report.meta.total.capacity.value : 0); - const request = Math.trunc(hasRequest ? report.meta.total.request.value : 0); - const requestUnits = intl.formatMessage(messages.units, { - units: unitsLookupKey(hasRequest ? report.meta.total.request.units : undefined), - }); - const usage = Math.trunc(hasUsage ? report.meta.total.usage.value : 0); - const usageUnits = intl.formatMessage(messages.units, { - units: unitsLookupKey(hasUsage ? report.meta.total.usage.units : undefined), + const groupById = getGroupById(query); + const groupByTagKey = getGroupByTagKey(query); + + return getUnsortedComputedReportItems({ + report, + idKey: (groupByTagKey as any) || groupById, }); + }; - // Show negative values https://github.com/project-koku/koku-ui/issues/1214 - const unusedRequestCapacity = capacity - request; - const unusedUsageCapacity = capacity - usage; + private getFreeSpace(computedItem) { + const { groupBy, intl } = this.props; - let unusedRequestCapacityPercentage = request > 0 ? (request / capacity) * 100 : 0; - if (unusedRequestCapacityPercentage > 100) { - unusedRequestCapacityPercentage = 100 - unusedRequestCapacityPercentage; + if (!computedItem || !(groupBy === 'cluster' || groupBy === 'node')) { + return null; } - let unusedUsageCapacityPercentage = capacity > usage ? (usage / capacity) * 100 : 0; - if (unusedUsageCapacityPercentage > 100) { - unusedUsageCapacityPercentage = 100 - unusedUsageCapacityPercentage; + + const { + hasCapacityCount, + hasCapacityCountUnits, + hasCapacityUnits, + hasCapacityUnused, + hasCapacityUnusedPercent, + hasRequestUnits, + hasRequestUnused, + hasRequestUnusedPercent, + } = this.getHasData(computedItem); + + if (!(hasCapacityUnused && hasRequestUnused)) { + return null; } + // Show negative values https://github.com/project-koku/koku-ui/issues/1214 + const capacityUnits = intl.formatMessage(messages.units, { + units: unitsLookupKey(hasCapacityUnits ? computedItem.capacity.units : undefined), + }); + const capacityUnused = Math.trunc(hasCapacityUnused ? computedItem.capacity.unused : 0); + const capacityUnusedPercent = Math.trunc(hasCapacityUnusedPercent ? computedItem.capacity.unused_percent : 0); + + const requestUnits = intl.formatMessage(messages.units, { + units: unitsLookupKey(hasRequestUnits ? computedItem.request.units : undefined), + }); + const requestUnused = Math.trunc(hasRequestUnused ? computedItem.request.unused : 0); + const requestUnusedPercent = Math.trunc(hasRequestUnusedPercent ? computedItem.request.unused_percent : 0); + + const chartContainer = + groupBy === 'node' && !(hasCapacityCount && hasCapacityCountUnits) ? styles.chartContainer : undefined; + return ( - <Grid hasGutter> + <Grid hasGutter style={chartContainer}> <GridItem md={12} lg={6}> - <div>{intl.formatMessage(messages.detailsUnusedUsageLabel)}</div> - <div style={styles.capacity}>{formatUnits(unusedUsageCapacity, usageUnits)}</div> + <div>{intl.formatMessage(messages.detailsUnusedCapacityLabel)}</div> + <div style={styles.capacity}>{formatUnits(capacityUnused, capacityUnits)}</div> <div> {intl.formatMessage(messages.detailsUnusedUnits, { - percentage: formatPercentage(unusedUsageCapacityPercentage, { + percentage: formatPercentage(capacityUnusedPercent, { minimumFractionDigits: 0, maximumFractionDigits: 0, }), - units: usageUnits, + units: capacityUnits, })} </div> </GridItem> <GridItem md={12} lg={6}> <div>{intl.formatMessage(messages.detailsUnusedRequestsLabel)}</div> - <div style={styles.capacity}>{formatUnits(unusedRequestCapacity, requestUnits)}</div> + <div style={styles.capacity}>{formatUnits(requestUnused, requestUnits)}</div> <div> {intl.formatMessage(messages.detailsUnusedUnits, { - percentage: formatPercentage(unusedRequestCapacityPercentage, { + percentage: formatPercentage(requestUnusedPercent, { minimumFractionDigits: 0, maximumFractionDigits: 0, }), @@ -330,6 +356,48 @@ class UsageChartBase extends React.Component<UsageChartProps, UsageChartState> { } }; + private getHasData = computedItem => { + const hasCapacity = computedItem && computedItem.capacity !== undefined; + const hasCapacityCount = hasCapacity && computedItem.capacity.count !== undefined; + const hasCapacityCountUnits = hasCapacity && computedItem.capacity.count_units !== undefined; + const hasCapacityUnits = hasCapacity && computedItem.units !== undefined; + const hasCapacityUnused = hasCapacity && computedItem.capacity.unused !== undefined; + const hasCapacityUnusedPercent = hasCapacity && computedItem.unused_percent !== undefined; + const hasCapacityValue = hasCapacity && computedItem.capacity.value !== undefined; + const hasLimit = computedItem && computedItem.limit; + const hasLimitUnits = hasLimit && computedItem.limit.value !== undefined; + const hasLimitValue = hasLimit && computedItem.limit.units !== undefined; + const hasRequest = computedItem && computedItem.request !== undefined; + const hasRequestUnits = hasRequest && computedItem.request.units !== undefined; + const hasRequestUnused = hasRequest && computedItem.request.unused !== undefined; + const hasRequestUnusedPercent = hasRequest && computedItem.request.unused_percent !== undefined; + const hasRequestValue = hasRequest && computedItem.request.value !== undefined; + const hasUsage = computedItem && computedItem.usage !== undefined; + const hasUsageUnits = hasUsage && computedItem.usage.units !== undefined; + const hasUsageValue = hasUsage && computedItem.usage.value !== undefined; + + return { + hasCapacity, + hasCapacityCount, + hasCapacityCountUnits, + hasCapacityUnits, + hasCapacityUnused, + hasCapacityUnusedPercent, + hasCapacityValue, + hasLimit, + hasLimitUnits, + hasLimitValue, + hasRequest, + hasRequestUnits, + hasRequestUnused, + hasRequestUnusedPercent, + hasRequestValue, + hasUsage, + hasUsageUnits, + hasUsageValue, + }; + }; + private getItemsPerRow = () => { const { width } = this.state; return width > 950 ? 4 : width > 700 ? 3 : width > 450 ? 2 : 1; @@ -344,6 +412,26 @@ class UsageChartBase extends React.Component<UsageChartProps, UsageChartState> { ); }; + private getSubTitle(computedItem) { + const { intl } = this.props; + + if (!computedItem) { + return null; + } + + const { hasCapacityCount, hasCapacityCountUnits } = this.getHasData(computedItem); + + const count = hasCapacityCount ? computedItem.capacity.count : 0; + const countUnits = intl.formatMessage(messages.units, { + units: unitsLookupKey(hasCapacityCountUnits ? computedItem.capacity.count_units : undefined), + }); + + if (hasCapacityCount && hasCapacityCountUnits) { + return <div style={styles.subtitle}>{intl.formatMessage(messages.usageSubtitle, { count, countUnits })}</div>; + } + return null; + } + private isDatumEmpty = (datum: ChartDatum) => { let hasRange = false; for (const range of datum.ranges) { @@ -368,9 +456,15 @@ class UsageChartBase extends React.Component<UsageChartProps, UsageChartState> { }; public render() { + const { groupByValue } = this.props; + + const computedItems = this.getComputedItems().filter(item => item.id === groupByValue); + const computedItem = computedItems && computedItems.length > 0 ? computedItems[0] : undefined; + return ( <div className="chartOverride" ref={this.containerRef}> - {this.getChart()} + {this.getSubTitle(computedItem)} + {this.getChart(computedItem)} </div> ); } @@ -417,6 +511,7 @@ const mapStateToProps = createMapStateToProps<UsageChartOwnProps, UsageChartStat return { groupBy, + groupByValue, query, report, reportFetchStatus, diff --git a/src/utils/format.ts b/src/utils/format.ts index fd900b540..b43d34ed9 100644 --- a/src/utils/format.ts +++ b/src/utils/format.ts @@ -228,6 +228,7 @@ export const unitsLookupKey = (units): string => { switch (lookup) { case 'byte_ms': + case 'core': case 'core_hours': case 'gb': case 'gb_hours': From ead9d15815c6b8821480968e068a0c372025f331 Mon Sep 17 00:00:00 2001 From: Dan Labrecque <dlabrecq@redhat.com> Date: Tue, 13 Jun 2023 10:58:23 -0400 Subject: [PATCH 10/24] Optimizations decimal places https://issues.redhat.com/browse/COST-3918 --- src/components/drawers/optimzations/optimizationsContent.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/components/drawers/optimzations/optimizationsContent.tsx b/src/components/drawers/optimzations/optimizationsContent.tsx index 3c1f5059b..93540da72 100644 --- a/src/components/drawers/optimzations/optimizationsContent.tsx +++ b/src/components/drawers/optimzations/optimizationsContent.tsx @@ -256,11 +256,11 @@ class OptimizationsContentBase extends React.Component<OptimizationsContentProps }; private getFormattedValue = value => { - return value ? value.toFixed(1) : <EmptyValueState />; + return value !== undefined ? value : <EmptyValueState />; }; private getOriginalValue = (amount, variation) => { - return amount && variation ? (amount - variation).toFixed(1) : <EmptyValueState />; + return amount !== undefined && variation !== undefined ? amount - variation : <EmptyValueState />; }; private getRecommendationTerm = (): RecommendationItem => { From 2ef4868de73d1f2083c252148b8b4330e123e3a6 Mon Sep 17 00:00:00 2001 From: Dan Labrecque <dlabrecq@redhat.com> Date: Wed, 14 Jun 2023 10:01:47 -0400 Subject: [PATCH 11/24] Fix missing capacity --- src/routes/details/components/usageChart/usageChart.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/routes/details/components/usageChart/usageChart.tsx b/src/routes/details/components/usageChart/usageChart.tsx index c3ee73481..497469cb6 100644 --- a/src/routes/details/components/usageChart/usageChart.tsx +++ b/src/routes/details/components/usageChart/usageChart.tsx @@ -360,9 +360,9 @@ class UsageChartBase extends React.Component<UsageChartProps, UsageChartState> { const hasCapacity = computedItem && computedItem.capacity !== undefined; const hasCapacityCount = hasCapacity && computedItem.capacity.count !== undefined; const hasCapacityCountUnits = hasCapacity && computedItem.capacity.count_units !== undefined; - const hasCapacityUnits = hasCapacity && computedItem.units !== undefined; + const hasCapacityUnits = hasCapacity && computedItem.capacity.units !== undefined; const hasCapacityUnused = hasCapacity && computedItem.capacity.unused !== undefined; - const hasCapacityUnusedPercent = hasCapacity && computedItem.unused_percent !== undefined; + const hasCapacityUnusedPercent = hasCapacity && computedItem.capacity.unused_percent !== undefined; const hasCapacityValue = hasCapacity && computedItem.capacity.value !== undefined; const hasLimit = computedItem && computedItem.limit; const hasLimitUnits = hasLimit && computedItem.limit.value !== undefined; From 056c1328b1f85aa73ffee4fe7db6aebf7d0314d1 Mon Sep 17 00:00:00 2001 From: Dan Labrecque <dlabrecq@redhat.com> Date: Wed, 14 Jun 2023 10:19:05 -0400 Subject: [PATCH 12/24] Include capacity in usage charts for OCP node breakdown --- src/routes/details/components/usageChart/usageChart.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/routes/details/components/usageChart/usageChart.tsx b/src/routes/details/components/usageChart/usageChart.tsx index 497469cb6..4b331bdb1 100644 --- a/src/routes/details/components/usageChart/usageChart.tsx +++ b/src/routes/details/components/usageChart/usageChart.tsx @@ -129,7 +129,7 @@ class UsageChartBase extends React.Component<UsageChartProps, UsageChartState> { }; // Qualitative range included when grouped by cluster and volume usage - if (groupBy === 'cluster' || reportType === ReportType.volume) { + if (groupBy === 'cluster' || groupBy === 'node' || reportType === ReportType.volume) { const capacity = Math.trunc(hasCapacityValue ? computedItem.capacity.value : 0); const capacityUnits = intl.formatMessage(messages.units, { units: unitsLookupKey(hasCapacityUnits ? computedItem.capacity.units : undefined), @@ -349,7 +349,7 @@ class UsageChartBase extends React.Component<UsageChartProps, UsageChartState> { const { groupBy } = this.props; const { width } = this.state; - if (groupBy === 'cluster') { + if (groupBy === 'cluster' || groupBy === 'node') { return width > 950 ? 115 : width > 450 ? 150 : 210; } else { return width > 700 ? 115 : width > 450 ? 150 : 180; From 303a573d4bf0b279046221536762d02d68686d75 Mon Sep 17 00:00:00 2001 From: Dan Labrecque <dlabrecq@redhat.com> Date: Thu, 15 Jun 2023 13:23:10 -0400 Subject: [PATCH 13/24] Use meta data instead of data array https://issues.redhat.com/browse/COST-3822 --- src/api/reports/report.ts | 4 + .../components/usageChart/usageChart.tsx | 139 ++++++++---------- 2 files changed, 69 insertions(+), 74 deletions(-) diff --git a/src/api/reports/report.ts b/src/api/reports/report.ts index 4e5266660..2b81d41a6 100644 --- a/src/api/reports/report.ts +++ b/src/api/reports/report.ts @@ -1,7 +1,11 @@ import type { PagedMetaData, PagedResponse } from 'api/api'; export interface ReportValue { + count?: number; + count_units?: string; units?: string; + unused?: number; + unused_percent?: number; value?: number; } diff --git a/src/routes/details/components/usageChart/usageChart.tsx b/src/routes/details/components/usageChart/usageChart.tsx index 4b331bdb1..3e58d8f52 100644 --- a/src/routes/details/components/usageChart/usageChart.tsx +++ b/src/routes/details/components/usageChart/usageChart.tsx @@ -14,8 +14,7 @@ import type { WrappedComponentProps } from 'react-intl'; import { injectIntl } from 'react-intl'; import { connect } from 'react-redux'; import { getResizeObserver } from 'routes/components/charts/common/chartUtils'; -import { getUnsortedComputedReportItems } from 'routes/utils/computedReport/getComputedReportItems'; -import { getGroupById, getGroupByTagKey, getGroupByValue } from 'routes/utils/groupBy'; +import { getGroupById, getGroupByValue } from 'routes/utils/groupBy'; import { noop } from 'routes/utils/noop'; import { skeletonWidth } from 'routes/utils/skeleton'; import { createMapStateToProps, FetchStatus } from 'store/common'; @@ -41,7 +40,6 @@ interface UsageChartOwnProps extends RouterComponentProps, WrappedComponentProps interface UsageChartStateProps { groupBy?: string; - groupByValue?: string; query?: Query; report?: Report; reportFetchStatus?: FetchStatus; @@ -92,8 +90,8 @@ class UsageChartBase extends React.Component<UsageChartProps, UsageChartState> { } }; - private getChartDatum(computedItem): ChartDatum { - const { groupBy, intl, reportType } = this.props; + private getChartDatum(): ChartDatum { + const { groupBy, intl, report, reportType } = this.props; const datum: ChartDatum = { limit: {}, ranges: [], @@ -109,12 +107,12 @@ class UsageChartBase extends React.Component<UsageChartProps, UsageChartState> { hasRequestValue, hasUsageUnits, hasUsageValue, - } = this.getHasData(computedItem); + } = this.getHasData(); // Always show bullet chart legends https://github.com/project-koku/koku-ui/issues/963 - const limit = Math.trunc(hasLimitValue ? computedItem.limit.value : 0); + const limit = Math.trunc(hasLimitValue ? report.meta.total.limit.value : 0); const limitUnits = intl.formatMessage(messages.units, { - units: unitsLookupKey(hasLimitUnits ? computedItem.limit.units : undefined), + units: unitsLookupKey(hasLimitUnits ? report.meta.total.limit.units : undefined), }); datum.limit = { legend: intl.formatMessage(messages.detailsUsageLimit, { @@ -130,9 +128,9 @@ class UsageChartBase extends React.Component<UsageChartProps, UsageChartState> { // Qualitative range included when grouped by cluster and volume usage if (groupBy === 'cluster' || groupBy === 'node' || reportType === ReportType.volume) { - const capacity = Math.trunc(hasCapacityValue ? computedItem.capacity.value : 0); + const capacity = Math.trunc(hasCapacityValue ? report.meta.total.capacity.value : 0); const capacityUnits = intl.formatMessage(messages.units, { - units: unitsLookupKey(hasCapacityUnits ? computedItem.capacity.units : undefined), + units: unitsLookupKey(hasCapacityUnits ? report.meta.total.capacity.units : undefined), }); datum.ranges = [ { @@ -149,13 +147,13 @@ class UsageChartBase extends React.Component<UsageChartProps, UsageChartState> { ]; } - const request = Math.trunc(hasRequestValue ? computedItem.request.value : 0); + const request = Math.trunc(hasRequestValue ? report.meta.total.request.value : 0); const requestUnits = intl.formatMessage(messages.units, { - units: unitsLookupKey(hasRequestUnits ? computedItem.request.units : undefined), + units: unitsLookupKey(hasRequestUnits ? report.meta.total.request.units : undefined), }); - const usage = Math.trunc(hasUsageValue ? computedItem.usage.value : 0); + const usage = Math.trunc(hasUsageValue ? report.meta.total.usage.value : 0); const usageUnits = intl.formatMessage(messages.units, { - units: unitsLookupKey(hasUsageUnits ? computedItem.usage.units : undefined), + units: unitsLookupKey(hasUsageUnits ? report.meta.total.usage.units : undefined), }); datum.usage = [ { @@ -184,12 +182,12 @@ class UsageChartBase extends React.Component<UsageChartProps, UsageChartState> { return datum; } - private getChart = computedItem => { - const { name, reportFetchStatus } = this.props; + private getChart = () => { + const { name, reportFetchStatus, report } = this.props; const { width } = this.state; - const chartDatum = this.getChartDatum(computedItem); - if (chartDatum.usage.length === 0) { + const chartDatum = this.getChartDatum(); + if (!report || chartDatum.usage.length === 0) { return null; } @@ -199,7 +197,7 @@ class UsageChartBase extends React.Component<UsageChartProps, UsageChartState> { this.getSkeleton() ) : ( <> - {this.getFreeSpace(computedItem)} + {this.getFreeSpace()} <ChartBullet comparativeErrorMeasureData={ chartDatum.limit.value @@ -263,22 +261,10 @@ class UsageChartBase extends React.Component<UsageChartProps, UsageChartState> { ); }; - private getComputedItems = () => { - const { query, report } = this.props; + private getFreeSpace() { + const { groupBy, intl, report } = this.props; - const groupById = getGroupById(query); - const groupByTagKey = getGroupByTagKey(query); - - return getUnsortedComputedReportItems({ - report, - idKey: (groupByTagKey as any) || groupById, - }); - }; - - private getFreeSpace(computedItem) { - const { groupBy, intl } = this.props; - - if (!computedItem || !(groupBy === 'cluster' || groupBy === 'node')) { + if (!report || !(groupBy === 'cluster' || groupBy === 'node')) { return null; } @@ -291,7 +277,7 @@ class UsageChartBase extends React.Component<UsageChartProps, UsageChartState> { hasRequestUnits, hasRequestUnused, hasRequestUnusedPercent, - } = this.getHasData(computedItem); + } = this.getHasData(); if (!(hasCapacityUnused && hasRequestUnused)) { return null; @@ -299,16 +285,16 @@ class UsageChartBase extends React.Component<UsageChartProps, UsageChartState> { // Show negative values https://github.com/project-koku/koku-ui/issues/1214 const capacityUnits = intl.formatMessage(messages.units, { - units: unitsLookupKey(hasCapacityUnits ? computedItem.capacity.units : undefined), + units: unitsLookupKey(hasCapacityUnits ? report.meta.total.capacity.units : undefined), }); - const capacityUnused = Math.trunc(hasCapacityUnused ? computedItem.capacity.unused : 0); - const capacityUnusedPercent = Math.trunc(hasCapacityUnusedPercent ? computedItem.capacity.unused_percent : 0); + const capacityUnused = Math.trunc(hasCapacityUnused ? report.meta.total.capacity.unused : 0); + const capacityUnusedPercent = Math.trunc(hasCapacityUnusedPercent ? report.meta.total.capacity.unused_percent : 0); const requestUnits = intl.formatMessage(messages.units, { - units: unitsLookupKey(hasRequestUnits ? computedItem.request.units : undefined), + units: unitsLookupKey(hasRequestUnits ? report.meta.total.request.units : undefined), }); - const requestUnused = Math.trunc(hasRequestUnused ? computedItem.request.unused : 0); - const requestUnusedPercent = Math.trunc(hasRequestUnusedPercent ? computedItem.request.unused_percent : 0); + const requestUnused = Math.trunc(hasRequestUnused ? report.meta.total.request.unused : 0); + const requestUnusedPercent = Math.trunc(hasRequestUnusedPercent ? report.meta.total.request.unused_percent : 0); const chartContainer = groupBy === 'node' && !(hasCapacityCount && hasCapacityCountUnits) ? styles.chartContainer : undefined; @@ -356,25 +342,34 @@ class UsageChartBase extends React.Component<UsageChartProps, UsageChartState> { } }; - private getHasData = computedItem => { - const hasCapacity = computedItem && computedItem.capacity !== undefined; - const hasCapacityCount = hasCapacity && computedItem.capacity.count !== undefined; - const hasCapacityCountUnits = hasCapacity && computedItem.capacity.count_units !== undefined; - const hasCapacityUnits = hasCapacity && computedItem.capacity.units !== undefined; - const hasCapacityUnused = hasCapacity && computedItem.capacity.unused !== undefined; - const hasCapacityUnusedPercent = hasCapacity && computedItem.capacity.unused_percent !== undefined; - const hasCapacityValue = hasCapacity && computedItem.capacity.value !== undefined; - const hasLimit = computedItem && computedItem.limit; - const hasLimitUnits = hasLimit && computedItem.limit.value !== undefined; - const hasLimitValue = hasLimit && computedItem.limit.units !== undefined; - const hasRequest = computedItem && computedItem.request !== undefined; - const hasRequestUnits = hasRequest && computedItem.request.units !== undefined; - const hasRequestUnused = hasRequest && computedItem.request.unused !== undefined; - const hasRequestUnusedPercent = hasRequest && computedItem.request.unused_percent !== undefined; - const hasRequestValue = hasRequest && computedItem.request.value !== undefined; - const hasUsage = computedItem && computedItem.usage !== undefined; - const hasUsageUnits = hasUsage && computedItem.usage.units !== undefined; - const hasUsageValue = hasUsage && computedItem.usage.value !== undefined; + private getHasData = () => { + const { report } = this.props; + + // Note that we're using values from meta.total instead of data array values for the following reasons. + // + // 1. When "platform costs" is applied, there is no "platform" project. + // 2. The volumes API may return an empty data array, so the legend units are unknown + + const hasMeta = report && report.meta !== undefined; + const hasTotal = hasMeta && report.meta.total !== undefined; + const hasCapacity = hasTotal && report.meta.total.capacity !== undefined; + const hasCapacityCount = hasCapacity && report.meta.total.capacity.count !== undefined; + const hasCapacityCountUnits = hasCapacity && report.meta.total.capacity.count_units !== undefined; + const hasCapacityUnits = hasCapacity && report.meta.total.capacity.units !== undefined; + const hasCapacityUnused = hasCapacity && report.meta.total.capacity.unused !== undefined; + const hasCapacityUnusedPercent = hasCapacity && report.meta.total.capacity.unused_percent !== undefined; + const hasCapacityValue = hasCapacity && report.meta.total.capacity.value !== undefined; + const hasLimit = hasTotal && report.meta.total.limit; + const hasLimitUnits = hasLimit && report.meta.total.limit.value !== undefined; + const hasLimitValue = hasLimit && report.meta.total.limit.units !== undefined; + const hasRequest = hasTotal && report.meta.total.request !== undefined; + const hasRequestUnits = hasRequest && report.meta.total.request.units !== undefined; + const hasRequestUnused = hasRequest && report.meta.total.request.unused !== undefined; + const hasRequestUnusedPercent = hasRequest && report.meta.total.request.unused_percent !== undefined; + const hasRequestValue = hasRequest && report.meta.total.request.value !== undefined; + const hasUsage = hasTotal && report.meta.total.usage !== undefined; + const hasUsageUnits = hasUsage && report.meta.total.usage.units !== undefined; + const hasUsageValue = hasUsage && report.meta.total.usage.value !== undefined; return { hasCapacity, @@ -387,11 +382,13 @@ class UsageChartBase extends React.Component<UsageChartProps, UsageChartState> { hasLimit, hasLimitUnits, hasLimitValue, + hasMeta, hasRequest, hasRequestUnits, hasRequestUnused, hasRequestUnusedPercent, hasRequestValue, + hasTotal, hasUsage, hasUsageUnits, hasUsageValue, @@ -412,18 +409,18 @@ class UsageChartBase extends React.Component<UsageChartProps, UsageChartState> { ); }; - private getSubTitle(computedItem) { - const { intl } = this.props; + private getSubTitle() { + const { groupBy, intl, report } = this.props; - if (!computedItem) { + if (!report || !(groupBy === 'cluster' || groupBy === 'node')) { return null; } - const { hasCapacityCount, hasCapacityCountUnits } = this.getHasData(computedItem); + const { hasCapacityCount, hasCapacityCountUnits } = this.getHasData(); - const count = hasCapacityCount ? computedItem.capacity.count : 0; + const count = hasCapacityCount ? report.meta.total.capacity.count : 0; const countUnits = intl.formatMessage(messages.units, { - units: unitsLookupKey(hasCapacityCountUnits ? computedItem.capacity.count_units : undefined), + units: unitsLookupKey(hasCapacityCountUnits ? report.meta.total.capacity.count_units : undefined), }); if (hasCapacityCount && hasCapacityCountUnits) { @@ -456,15 +453,10 @@ class UsageChartBase extends React.Component<UsageChartProps, UsageChartState> { }; public render() { - const { groupByValue } = this.props; - - const computedItems = this.getComputedItems().filter(item => item.id === groupByValue); - const computedItem = computedItems && computedItems.length > 0 ? computedItems[0] : undefined; - return ( <div className="chartOverride" ref={this.containerRef}> - {this.getSubTitle(computedItem)} - {this.getChart(computedItem)} + {this.getSubTitle()} + {this.getChart()} </div> ); } @@ -511,7 +503,6 @@ const mapStateToProps = createMapStateToProps<UsageChartOwnProps, UsageChartStat return { groupBy, - groupByValue, query, report, reportFetchStatus, From 5c67c998f274295b520dfea8d6a50e0218d5a17f Mon Sep 17 00:00:00 2001 From: Dan Labrecque <dlabrecq@redhat.com> Date: Thu, 15 Jun 2023 13:28:23 -0400 Subject: [PATCH 14/24] Update meta data comment --- src/routes/details/components/usageChart/usageChart.tsx | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/routes/details/components/usageChart/usageChart.tsx b/src/routes/details/components/usageChart/usageChart.tsx index 3e58d8f52..b68d64cc2 100644 --- a/src/routes/details/components/usageChart/usageChart.tsx +++ b/src/routes/details/components/usageChart/usageChart.tsx @@ -345,10 +345,8 @@ class UsageChartBase extends React.Component<UsageChartProps, UsageChartState> { private getHasData = () => { const { report } = this.props; - // Note that we're using values from meta.total instead of data array values for the following reasons. - // - // 1. When "platform costs" is applied, there is no "platform" project. - // 2. The volumes API may return an empty data array, so the legend units are unknown + // Note: When APIs return an empty data array, units are unknown. Likewise, when "platform projects" are applied, + // there is no "platform" project. As a workaround, we obtain values from the meta data. const hasMeta = report && report.meta !== undefined; const hasTotal = hasMeta && report.meta.total !== undefined; From bd6974537145c84a49c87bceec8eef888e7b9677 Mon Sep 17 00:00:00 2001 From: Dan Labrecque <dlabrecq@redhat.com> Date: Thu, 15 Jun 2023 13:41:47 -0400 Subject: [PATCH 15/24] Update package dependencies --- package-lock.json | 1035 ++++++++------------------------------------- package.json | 14 +- 2 files changed, 188 insertions(+), 861 deletions(-) diff --git a/package-lock.json b/package-lock.json index 145cec108..b8bc05c3f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -31,14 +31,14 @@ "react": "^17.0.2", "react-bootstrap": "^2.7.4", "react-dom": "^17.0.2", - "react-intl": "^6.4.2", - "react-redux": "^8.0.7", - "react-router-dom": "^6.11.2", + "react-intl": "^6.4.4", + "react-redux": "^8.1.0", + "react-router-dom": "^6.13.0", "redux": "^4.2.1", "redux-thunk": "^2.4.2", "typesafe-actions": "^5.1.0", "unleash-proxy-client": "^2.5.0", - "victory-core": "36.6.7", + "victory-core": "^36.6.11", "xstate": "^4.37.2" }, "devDependencies": { @@ -58,7 +58,7 @@ "@xstate/test": "^0.5.1", "aphrodite": "^2.4.0", "copy-webpack-plugin": "^11.0.0", - "eslint": "^8.41.0", + "eslint": "^8.42.0", "eslint-plugin-formatjs": "^4.10.3", "eslint-plugin-jest-dom": "^5.0.1", "eslint-plugin-jsdoc": "^46.2.6", @@ -817,9 +817,9 @@ } }, "node_modules/@eslint/js": { - "version": "8.41.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.41.0.tgz", - "integrity": "sha512-LxcyMGxwmTh2lY9FwHPGWOHmYFCZvbrFCBZL4FzSSsxsRPuhrYUg/49/0KDfW8tnIEaEHtfmn6+NPN+1DqaNmA==", + "version": "8.42.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.42.0.tgz", + "integrity": "sha512-6SWlXpWU5AvId8Ac7zjzmIOqMOba/JWY8XZ4A7q7Gn1Vlfg/SFFIlrtHXt9nPn4op9ZPAkl91Jao+QQv3r/ukw==", "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -846,52 +846,52 @@ } }, "node_modules/@formatjs/ecma402-abstract": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-1.15.0.tgz", - "integrity": "sha512-7bAYAv0w4AIao9DNg0avfOLTCPE9woAgs6SpXuMq11IN3A+l+cq8ghczwqSZBM11myvPSJA7vLn72q0rJ0QK6Q==", + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-1.17.0.tgz", + "integrity": "sha512-6ueQTeJZtwKjmh23bdkq/DMqH4l4bmfvtQH98blOSbiXv/OUiyijSW6jU22IT8BNM1ujCaEvJfTtyCYVH38EMQ==", "dependencies": { - "@formatjs/intl-localematcher": "0.2.32", + "@formatjs/intl-localematcher": "0.4.0", "tslib": "^2.4.0" } }, "node_modules/@formatjs/fast-memoize": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@formatjs/fast-memoize/-/fast-memoize-2.0.1.tgz", - "integrity": "sha512-M2GgV+qJn5WJQAYewz7q2Cdl6fobQa69S1AzSM2y0P68ZDbK5cWrJIcPCO395Of1ksftGZoOt4LYCO/j9BKBSA==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@formatjs/fast-memoize/-/fast-memoize-2.2.0.tgz", + "integrity": "sha512-hnk/nY8FyrL5YxwP9e4r9dqeM6cAbo8PeU9UjyXojZMNvVad2Z06FAVHyR3Ecw6fza+0GH7vdJgiKIVXTMbSBA==", "dependencies": { "tslib": "^2.4.0" } }, "node_modules/@formatjs/icu-messageformat-parser": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.4.0.tgz", - "integrity": "sha512-6Dh5Z/gp4F/HovXXu/vmd0If5NbYLB5dZrmhWVNb+BOGOEU3wt7Z/83KY1dtd7IDhAnYHasbmKE1RbTE0J+3hw==", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.6.0.tgz", + "integrity": "sha512-yT6at0qc0DANw9qM/TU8RZaCtfDXtj4pZM/IC2WnVU80yAcliS3KVDiuUt4jSQAeFL9JS5bc2hARnFmjPdA6qw==", "dependencies": { - "@formatjs/ecma402-abstract": "1.15.0", - "@formatjs/icu-skeleton-parser": "1.4.0", + "@formatjs/ecma402-abstract": "1.17.0", + "@formatjs/icu-skeleton-parser": "1.6.0", "tslib": "^2.4.0" } }, "node_modules/@formatjs/icu-skeleton-parser": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.4.0.tgz", - "integrity": "sha512-Qq347VM616rVLkvN6QsKJELazRyNlbCiN47LdH0Mc5U7E2xV0vatiVhGqd3KFgbc055BvtnUXR7XX60dCGFuWg==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.6.0.tgz", + "integrity": "sha512-eMmxNpoX/J1IPUjPGSZwo0Wh+7CEvdEMddP2Jxg1gQJXfGfht/FdW2D5XDFj3VMbOTUQlDIdZJY7uC6O6gjPoA==", "dependencies": { - "@formatjs/ecma402-abstract": "1.15.0", + "@formatjs/ecma402-abstract": "1.17.0", "tslib": "^2.4.0" } }, "node_modules/@formatjs/intl": { - "version": "2.7.2", - "resolved": "https://registry.npmjs.org/@formatjs/intl/-/intl-2.7.2.tgz", - "integrity": "sha512-ziiQfnXwY0/rXhtohSAmYMqDjRsihoMKdl8H2aA+FvxG9638E0XrvfBFCb+1HhimNiuqRz5fTY7F/bZtsJxsjA==", - "dependencies": { - "@formatjs/ecma402-abstract": "1.15.0", - "@formatjs/fast-memoize": "2.0.1", - "@formatjs/icu-messageformat-parser": "2.4.0", - "@formatjs/intl-displaynames": "6.3.2", - "@formatjs/intl-listformat": "7.2.2", - "intl-messageformat": "10.3.5", + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/@formatjs/intl/-/intl-2.9.0.tgz", + "integrity": "sha512-Ym0trUoC/VO6wQu4YHa0H1VR2tEixFRmwZgADkDLm7nD+vv1Ob+/88mUAoT0pwvirFqYKgUKEwp1tFepqyqvVA==", + "dependencies": { + "@formatjs/ecma402-abstract": "1.17.0", + "@formatjs/fast-memoize": "2.2.0", + "@formatjs/icu-messageformat-parser": "2.6.0", + "@formatjs/intl-displaynames": "6.5.0", + "@formatjs/intl-listformat": "7.4.0", + "intl-messageformat": "10.5.0", "tslib": "^2.4.0" }, "peerDependencies": { @@ -904,29 +904,29 @@ } }, "node_modules/@formatjs/intl-displaynames": { - "version": "6.3.2", - "resolved": "https://registry.npmjs.org/@formatjs/intl-displaynames/-/intl-displaynames-6.3.2.tgz", - "integrity": "sha512-kBOh0O7QYKLUqaZujLSEF2+au017plPp63R6Hrokl+oDtLyTt9y9pEuCTbOKh/P8CC9THnDLKRKgeVWZw5Ek8A==", + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/@formatjs/intl-displaynames/-/intl-displaynames-6.5.0.tgz", + "integrity": "sha512-sg/nR8ILEdUl+2sWu6jc1nQ5s04yucGlH1RVfatW8TSJ5uG3Yy3vgigi8NNC/BuhcncUNPWqSpTCSI1hA+rhiw==", "dependencies": { - "@formatjs/ecma402-abstract": "1.15.0", - "@formatjs/intl-localematcher": "0.2.32", + "@formatjs/ecma402-abstract": "1.17.0", + "@formatjs/intl-localematcher": "0.4.0", "tslib": "^2.4.0" } }, "node_modules/@formatjs/intl-listformat": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/@formatjs/intl-listformat/-/intl-listformat-7.2.2.tgz", - "integrity": "sha512-YIruRGwUrmgVOXjWi6VbwPcRNBkEfgK2DFjyyqopCmpfJ+39vnl46oLpVchErnuXs6kkARy5GcGaGV7xRsH4lw==", + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/@formatjs/intl-listformat/-/intl-listformat-7.4.0.tgz", + "integrity": "sha512-ifupb+balZUAF/Oh3QyGRqPRWGSKwWoMPR0cYZEG7r61SimD+m38oFQqVx/3Fp7LfQFF11m7IS+MlxOo2sKINA==", "dependencies": { - "@formatjs/ecma402-abstract": "1.15.0", - "@formatjs/intl-localematcher": "0.2.32", + "@formatjs/ecma402-abstract": "1.17.0", + "@formatjs/intl-localematcher": "0.4.0", "tslib": "^2.4.0" } }, "node_modules/@formatjs/intl-localematcher": { - "version": "0.2.32", - "resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.2.32.tgz", - "integrity": "sha512-k/MEBstff4sttohyEpXxCmC3MqbUn9VvHGlZ8fauLzkbwXmVrEeyzS+4uhrvAk9DWU9/7otYWxyDox4nT/KVLQ==", + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.4.0.tgz", + "integrity": "sha512-bRTd+rKomvfdS4QDlVJ6TA/Jx1F2h/TBVO5LjvhQ7QPPHp19oPNMIum7W2CMEReq/zPxpmCeB31F9+5gl/qtvw==", "dependencies": { "tslib": "^2.4.0" } @@ -954,46 +954,6 @@ } } }, - "node_modules/@formatjs/ts-transformer/node_modules/@formatjs/ecma402-abstract": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-1.17.0.tgz", - "integrity": "sha512-6ueQTeJZtwKjmh23bdkq/DMqH4l4bmfvtQH98blOSbiXv/OUiyijSW6jU22IT8BNM1ujCaEvJfTtyCYVH38EMQ==", - "dev": true, - "dependencies": { - "@formatjs/intl-localematcher": "0.4.0", - "tslib": "^2.4.0" - } - }, - "node_modules/@formatjs/ts-transformer/node_modules/@formatjs/icu-messageformat-parser": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.6.0.tgz", - "integrity": "sha512-yT6at0qc0DANw9qM/TU8RZaCtfDXtj4pZM/IC2WnVU80yAcliS3KVDiuUt4jSQAeFL9JS5bc2hARnFmjPdA6qw==", - "dev": true, - "dependencies": { - "@formatjs/ecma402-abstract": "1.17.0", - "@formatjs/icu-skeleton-parser": "1.6.0", - "tslib": "^2.4.0" - } - }, - "node_modules/@formatjs/ts-transformer/node_modules/@formatjs/icu-skeleton-parser": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.6.0.tgz", - "integrity": "sha512-eMmxNpoX/J1IPUjPGSZwo0Wh+7CEvdEMddP2Jxg1gQJXfGfht/FdW2D5XDFj3VMbOTUQlDIdZJY7uC6O6gjPoA==", - "dev": true, - "dependencies": { - "@formatjs/ecma402-abstract": "1.17.0", - "tslib": "^2.4.0" - } - }, - "node_modules/@formatjs/ts-transformer/node_modules/@formatjs/intl-localematcher": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.4.0.tgz", - "integrity": "sha512-bRTd+rKomvfdS4QDlVJ6TA/Jx1F2h/TBVO5LjvhQ7QPPHp19oPNMIum7W2CMEReq/zPxpmCeB31F9+5gl/qtvw==", - "dev": true, - "dependencies": { - "tslib": "^2.4.0" - } - }, "node_modules/@formatjs/ts-transformer/node_modules/@types/node": { "version": "17.0.45", "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.45.tgz", @@ -1071,9 +1031,9 @@ } }, "node_modules/@humanwhocodes/config-array": { - "version": "0.11.8", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz", - "integrity": "sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==", + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.10.tgz", + "integrity": "sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==", "dev": true, "dependencies": { "@humanwhocodes/object-schema": "^1.2.1", @@ -2706,9 +2666,9 @@ "integrity": "sha512-P50stc+mnWLycID46/AKmD/760r5N1eoam//O6MUVriqVorUdht7xkUL78aJZU1vw8WW6xlrDHwz3F6BM148qg==" }, "node_modules/@remix-run/router": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.6.2.tgz", - "integrity": "sha512-LzqpSrMK/3JBAVBI9u3NWtOhWNw5AMQfrUFYB0+bDHTSw17z++WJLsPsxAuK+oSddsxk4d7F/JcdDPM1M5YAhA==", + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.6.3.tgz", + "integrity": "sha512-EXJysQ7J3veRECd0kZFQwYYd5sJMcq2O/m60zu1W2l3oVQ9xtub8jTOtYRE0+M2iomyG/W3Ps7+vp2kna0C27Q==", "engines": { "node": ">=14" } @@ -7606,16 +7566,16 @@ } }, "node_modules/eslint": { - "version": "8.41.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.41.0.tgz", - "integrity": "sha512-WQDQpzGBOP5IrXPo4Hc0814r4/v2rrIsB0rhT7jtunIalgg6gYXWhRMOejVO8yH21T/FGaxjmFjBMNqcIlmH1Q==", + "version": "8.42.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.42.0.tgz", + "integrity": "sha512-ulg9Ms6E1WPf67PHaEY4/6E2tEn5/f7FXGzr3t9cBMugOmf1INYvuUwwh1aXQN4MfJ6a5K2iNwP3w4AColvI9A==", "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.4.0", "@eslint/eslintrc": "^2.0.3", - "@eslint/js": "8.41.0", - "@humanwhocodes/config-array": "^0.11.8", + "@eslint/js": "8.42.0", + "@humanwhocodes/config-array": "^0.11.10", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", "ajv": "^6.10.0", @@ -7811,46 +7771,6 @@ "eslint": "7 || 8" } }, - "node_modules/eslint-plugin-formatjs/node_modules/@formatjs/ecma402-abstract": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-1.17.0.tgz", - "integrity": "sha512-6ueQTeJZtwKjmh23bdkq/DMqH4l4bmfvtQH98blOSbiXv/OUiyijSW6jU22IT8BNM1ujCaEvJfTtyCYVH38EMQ==", - "dev": true, - "dependencies": { - "@formatjs/intl-localematcher": "0.4.0", - "tslib": "^2.4.0" - } - }, - "node_modules/eslint-plugin-formatjs/node_modules/@formatjs/icu-messageformat-parser": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.6.0.tgz", - "integrity": "sha512-yT6at0qc0DANw9qM/TU8RZaCtfDXtj4pZM/IC2WnVU80yAcliS3KVDiuUt4jSQAeFL9JS5bc2hARnFmjPdA6qw==", - "dev": true, - "dependencies": { - "@formatjs/ecma402-abstract": "1.17.0", - "@formatjs/icu-skeleton-parser": "1.6.0", - "tslib": "^2.4.0" - } - }, - "node_modules/eslint-plugin-formatjs/node_modules/@formatjs/icu-skeleton-parser": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.6.0.tgz", - "integrity": "sha512-eMmxNpoX/J1IPUjPGSZwo0Wh+7CEvdEMddP2Jxg1gQJXfGfht/FdW2D5XDFj3VMbOTUQlDIdZJY7uC6O6gjPoA==", - "dev": true, - "dependencies": { - "@formatjs/ecma402-abstract": "1.17.0", - "tslib": "^2.4.0" - } - }, - "node_modules/eslint-plugin-formatjs/node_modules/@formatjs/intl-localematcher": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.4.0.tgz", - "integrity": "sha512-bRTd+rKomvfdS4QDlVJ6TA/Jx1F2h/TBVO5LjvhQ7QPPHp19oPNMIum7W2CMEReq/zPxpmCeB31F9+5gl/qtvw==", - "dev": true, - "dependencies": { - "tslib": "^2.4.0" - } - }, "node_modules/eslint-plugin-formatjs/node_modules/@typescript-eslint/types": { "version": "5.59.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.59.0.tgz", @@ -10524,13 +10444,13 @@ } }, "node_modules/intl-messageformat": { - "version": "10.3.5", - "resolved": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-10.3.5.tgz", - "integrity": "sha512-6kPkftF8Jg3XJCkGKa5OD+nYQ+qcSxF4ZkuDdXZ6KGG0VXn+iblJqRFyDdm9VvKcMyC0Km2+JlVQffFM52D0YA==", + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-10.5.0.tgz", + "integrity": "sha512-AvojYuOaRb6r2veOKfTVpxH9TrmjSdc5iR9R5RgBwrDZYSmAAFVT+QLbW3C4V7Qsg0OguMp67Q/EoUkxZzXRGw==", "dependencies": { - "@formatjs/ecma402-abstract": "1.15.0", - "@formatjs/fast-memoize": "2.0.1", - "@formatjs/icu-messageformat-parser": "2.4.0", + "@formatjs/ecma402-abstract": "1.17.0", + "@formatjs/fast-memoize": "2.2.0", + "@formatjs/icu-messageformat-parser": "2.6.0", "tslib": "^2.4.0" } }, @@ -15794,19 +15714,19 @@ "integrity": "sha512-xTYf9zFim2pEif/Fw16dBiXpe0hoy5PxcD8+OwBnTtNLfIm3g6WxhKNurY+6OmdH1u6Ta/W/Vl6vjbYP1MFnDg==" }, "node_modules/react-intl": { - "version": "6.4.2", - "resolved": "https://registry.npmjs.org/react-intl/-/react-intl-6.4.2.tgz", - "integrity": "sha512-q8QyLZfbyqV3Ifa7vtjRrgfSQPGTR6Fi+u9tP/CuzhUPl9DJEPIrvUFhlBryKtRW2qNASqchaP/79Obip+h6oA==", - "dependencies": { - "@formatjs/ecma402-abstract": "1.15.0", - "@formatjs/icu-messageformat-parser": "2.4.0", - "@formatjs/intl": "2.7.2", - "@formatjs/intl-displaynames": "6.3.2", - "@formatjs/intl-listformat": "7.2.2", + "version": "6.4.4", + "resolved": "https://registry.npmjs.org/react-intl/-/react-intl-6.4.4.tgz", + "integrity": "sha512-/C9Sl/5//ohfkNG6AWlJuf4BhTXsbzyk93K62A4zRhSPANyOGpKZ+fWhN+TLfFd5YjDUHy+exU/09y0w1bO4Xw==", + "dependencies": { + "@formatjs/ecma402-abstract": "1.17.0", + "@formatjs/icu-messageformat-parser": "2.6.0", + "@formatjs/intl": "2.9.0", + "@formatjs/intl-displaynames": "6.5.0", + "@formatjs/intl-listformat": "7.4.0", "@types/hoist-non-react-statics": "^3.3.1", "@types/react": "16 || 17 || 18", "hoist-non-react-statics": "^3.3.2", - "intl-messageformat": "10.3.5", + "intl-messageformat": "10.5.0", "tslib": "^2.4.0" }, "peerDependencies": { @@ -15830,9 +15750,9 @@ "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==" }, "node_modules/react-redux": { - "version": "8.0.7", - "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-8.0.7.tgz", - "integrity": "sha512-1vRQuCQI5Y2uNmrMXg81RXKiBHY3jBzvCvNmZF437O/Z9/pZ+ba2uYHbemYXb3g8rjsacBGo+/wmfrQKzMhJsg==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-8.1.0.tgz", + "integrity": "sha512-CtHZzAOxi7GQvTph4dVLWwZHAWUjV2kMEQtk50OrN8z3gKxpWg3Tz7JfDw32N3Rpd7fh02z73cF6yZkK467gbQ==", "dependencies": { "@babel/runtime": "^7.12.1", "@types/hoist-non-react-statics": "^3.3.1", @@ -15886,11 +15806,11 @@ } }, "node_modules/react-router": { - "version": "6.11.2", - "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.11.2.tgz", - "integrity": "sha512-74z9xUSaSX07t3LM+pS6Un0T55ibUE/79CzfZpy5wsPDZaea1F8QkrsiyRnA2YQ7LwE/umaydzXZV80iDCPkMg==", + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.13.0.tgz", + "integrity": "sha512-Si6KnfEnJw7gUQkNa70dlpI1bul46FuSxX5t5WwlUBxE25DAz2BjVkwaK8Y2s242bQrZPXCpmwLPtIO5pv4tXg==", "dependencies": { - "@remix-run/router": "1.6.2" + "@remix-run/router": "1.6.3" }, "engines": { "node": ">=14" @@ -15900,12 +15820,12 @@ } }, "node_modules/react-router-dom": { - "version": "6.11.2", - "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.11.2.tgz", - "integrity": "sha512-JNbKtAeh1VSJQnH6RvBDNhxNwemRj7KxCzc5jb7zvDSKRnPWIFj9pO+eXqjM69gQJ0r46hSz1x4l9y0651DKWw==", + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.13.0.tgz", + "integrity": "sha512-6Nqoqd7fgwxxVGdbiMHTpDHCYPq62d7Wk1Of7B82vH7ZPwwsRaIa22zRZKPPg413R5REVNiyuQPKDG1bubcOFA==", "dependencies": { - "@remix-run/router": "1.6.2", - "react-router": "6.11.2" + "@remix-run/router": "1.6.3", + "react-router": "6.13.0" }, "engines": { "node": ">=14" @@ -18154,20 +18074,6 @@ "react": ">=16.6.0" } }, - "node_modules/victory-area/node_modules/victory-core": { - "version": "36.6.8", - "resolved": "https://registry.npmjs.org/victory-core/-/victory-core-36.6.8.tgz", - "integrity": "sha512-SkyEszZKGyxjqfptfFWYdI22CvCuE9LhkaDpikzIhT2gcE3SuOBO5fk/740XMYE2ZUsJ4Fu/Vy4+8jZi17y44A==", - "dependencies": { - "lodash": "^4.17.21", - "prop-types": "^15.8.1", - "react-fast-compare": "^3.2.0", - "victory-vendor": "^36.6.8" - }, - "peerDependencies": { - "react": ">=16.6.0" - } - }, "node_modules/victory-axis": { "version": "36.6.8", "resolved": "https://registry.npmjs.org/victory-axis/-/victory-axis-36.6.8.tgz", @@ -18181,20 +18087,6 @@ "react": ">=16.6.0" } }, - "node_modules/victory-axis/node_modules/victory-core": { - "version": "36.6.8", - "resolved": "https://registry.npmjs.org/victory-core/-/victory-core-36.6.8.tgz", - "integrity": "sha512-SkyEszZKGyxjqfptfFWYdI22CvCuE9LhkaDpikzIhT2gcE3SuOBO5fk/740XMYE2ZUsJ4Fu/Vy4+8jZi17y44A==", - "dependencies": { - "lodash": "^4.17.21", - "prop-types": "^15.8.1", - "react-fast-compare": "^3.2.0", - "victory-vendor": "^36.6.8" - }, - "peerDependencies": { - "react": ">=16.6.0" - } - }, "node_modules/victory-bar": { "version": "36.6.8", "resolved": "https://registry.npmjs.org/victory-bar/-/victory-bar-36.6.8.tgz", @@ -18209,20 +18101,6 @@ "react": ">=16.6.0" } }, - "node_modules/victory-bar/node_modules/victory-core": { - "version": "36.6.8", - "resolved": "https://registry.npmjs.org/victory-core/-/victory-core-36.6.8.tgz", - "integrity": "sha512-SkyEszZKGyxjqfptfFWYdI22CvCuE9LhkaDpikzIhT2gcE3SuOBO5fk/740XMYE2ZUsJ4Fu/Vy4+8jZi17y44A==", - "dependencies": { - "lodash": "^4.17.21", - "prop-types": "^15.8.1", - "react-fast-compare": "^3.2.0", - "victory-vendor": "^36.6.8" - }, - "peerDependencies": { - "react": ">=16.6.0" - } - }, "node_modules/victory-brush-container": { "version": "36.6.8", "resolved": "https://registry.npmjs.org/victory-brush-container/-/victory-brush-container-36.6.8.tgz", @@ -18237,20 +18115,6 @@ "react": ">=16.6.0" } }, - "node_modules/victory-brush-container/node_modules/victory-core": { - "version": "36.6.8", - "resolved": "https://registry.npmjs.org/victory-core/-/victory-core-36.6.8.tgz", - "integrity": "sha512-SkyEszZKGyxjqfptfFWYdI22CvCuE9LhkaDpikzIhT2gcE3SuOBO5fk/740XMYE2ZUsJ4Fu/Vy4+8jZi17y44A==", - "dependencies": { - "lodash": "^4.17.21", - "prop-types": "^15.8.1", - "react-fast-compare": "^3.2.0", - "victory-vendor": "^36.6.8" - }, - "peerDependencies": { - "react": ">=16.6.0" - } - }, "node_modules/victory-chart": { "version": "36.6.8", "resolved": "https://registry.npmjs.org/victory-chart/-/victory-chart-36.6.8.tgz", @@ -18268,29 +18132,15 @@ "react": ">=16.6.0" } }, - "node_modules/victory-chart/node_modules/victory-core": { - "version": "36.6.8", - "resolved": "https://registry.npmjs.org/victory-core/-/victory-core-36.6.8.tgz", - "integrity": "sha512-SkyEszZKGyxjqfptfFWYdI22CvCuE9LhkaDpikzIhT2gcE3SuOBO5fk/740XMYE2ZUsJ4Fu/Vy4+8jZi17y44A==", - "dependencies": { - "lodash": "^4.17.21", - "prop-types": "^15.8.1", - "react-fast-compare": "^3.2.0", - "victory-vendor": "^36.6.8" - }, - "peerDependencies": { - "react": ">=16.6.0" - } - }, "node_modules/victory-core": { - "version": "36.6.7", - "resolved": "https://registry.npmjs.org/victory-core/-/victory-core-36.6.7.tgz", - "integrity": "sha512-cpqjpVKk0DDCtCyT+LPaDqk+CxXL6lemRnarUn1DUYWcaUTHAYkdG8Gk2ExrPsKNw2mfpMCwlrvKSD6Bh/XXOA==", + "version": "36.6.11", + "resolved": "https://registry.npmjs.org/victory-core/-/victory-core-36.6.11.tgz", + "integrity": "sha512-aYhFIRu8NQMwW/JbgqoAG7w0lUYbTB1Achx4mmBc6aL8RMkv6LhD/PFwjT3TLpH0AoEs3Rpty2g0UQ+7ulE7dA==", "dependencies": { "lodash": "^4.17.21", "prop-types": "^15.8.1", "react-fast-compare": "^3.2.0", - "victory-vendor": "^36.6.7" + "victory-vendor": "^36.6.11" }, "peerDependencies": { "react": ">=16.6.0" @@ -18313,20 +18163,6 @@ "react": ">=16.6.0" } }, - "node_modules/victory-create-container/node_modules/victory-core": { - "version": "36.6.8", - "resolved": "https://registry.npmjs.org/victory-core/-/victory-core-36.6.8.tgz", - "integrity": "sha512-SkyEszZKGyxjqfptfFWYdI22CvCuE9LhkaDpikzIhT2gcE3SuOBO5fk/740XMYE2ZUsJ4Fu/Vy4+8jZi17y44A==", - "dependencies": { - "lodash": "^4.17.21", - "prop-types": "^15.8.1", - "react-fast-compare": "^3.2.0", - "victory-vendor": "^36.6.8" - }, - "peerDependencies": { - "react": ">=16.6.0" - } - }, "node_modules/victory-cursor-container": { "version": "36.6.8", "resolved": "https://registry.npmjs.org/victory-cursor-container/-/victory-cursor-container-36.6.8.tgz", @@ -18340,20 +18176,6 @@ "react": ">=16.6.0" } }, - "node_modules/victory-cursor-container/node_modules/victory-core": { - "version": "36.6.8", - "resolved": "https://registry.npmjs.org/victory-core/-/victory-core-36.6.8.tgz", - "integrity": "sha512-SkyEszZKGyxjqfptfFWYdI22CvCuE9LhkaDpikzIhT2gcE3SuOBO5fk/740XMYE2ZUsJ4Fu/Vy4+8jZi17y44A==", - "dependencies": { - "lodash": "^4.17.21", - "prop-types": "^15.8.1", - "react-fast-compare": "^3.2.0", - "victory-vendor": "^36.6.8" - }, - "peerDependencies": { - "react": ">=16.6.0" - } - }, "node_modules/victory-group": { "version": "36.6.8", "resolved": "https://registry.npmjs.org/victory-group/-/victory-group-36.6.8.tgz", @@ -18369,20 +18191,6 @@ "react": ">=16.6.0" } }, - "node_modules/victory-group/node_modules/victory-core": { - "version": "36.6.8", - "resolved": "https://registry.npmjs.org/victory-core/-/victory-core-36.6.8.tgz", - "integrity": "sha512-SkyEszZKGyxjqfptfFWYdI22CvCuE9LhkaDpikzIhT2gcE3SuOBO5fk/740XMYE2ZUsJ4Fu/Vy4+8jZi17y44A==", - "dependencies": { - "lodash": "^4.17.21", - "prop-types": "^15.8.1", - "react-fast-compare": "^3.2.0", - "victory-vendor": "^36.6.8" - }, - "peerDependencies": { - "react": ">=16.6.0" - } - }, "node_modules/victory-legend": { "version": "36.6.8", "resolved": "https://registry.npmjs.org/victory-legend/-/victory-legend-36.6.8.tgz", @@ -18396,20 +18204,6 @@ "react": ">=16.6.0" } }, - "node_modules/victory-legend/node_modules/victory-core": { - "version": "36.6.8", - "resolved": "https://registry.npmjs.org/victory-core/-/victory-core-36.6.8.tgz", - "integrity": "sha512-SkyEszZKGyxjqfptfFWYdI22CvCuE9LhkaDpikzIhT2gcE3SuOBO5fk/740XMYE2ZUsJ4Fu/Vy4+8jZi17y44A==", - "dependencies": { - "lodash": "^4.17.21", - "prop-types": "^15.8.1", - "react-fast-compare": "^3.2.0", - "victory-vendor": "^36.6.8" - }, - "peerDependencies": { - "react": ">=16.6.0" - } - }, "node_modules/victory-line": { "version": "36.6.8", "resolved": "https://registry.npmjs.org/victory-line/-/victory-line-36.6.8.tgz", @@ -18424,20 +18218,6 @@ "react": ">=16.6.0" } }, - "node_modules/victory-line/node_modules/victory-core": { - "version": "36.6.8", - "resolved": "https://registry.npmjs.org/victory-core/-/victory-core-36.6.8.tgz", - "integrity": "sha512-SkyEszZKGyxjqfptfFWYdI22CvCuE9LhkaDpikzIhT2gcE3SuOBO5fk/740XMYE2ZUsJ4Fu/Vy4+8jZi17y44A==", - "dependencies": { - "lodash": "^4.17.21", - "prop-types": "^15.8.1", - "react-fast-compare": "^3.2.0", - "victory-vendor": "^36.6.8" - }, - "peerDependencies": { - "react": ">=16.6.0" - } - }, "node_modules/victory-pie": { "version": "36.6.8", "resolved": "https://registry.npmjs.org/victory-pie/-/victory-pie-36.6.8.tgz", @@ -18452,20 +18232,6 @@ "react": ">=16.6.0" } }, - "node_modules/victory-pie/node_modules/victory-core": { - "version": "36.6.8", - "resolved": "https://registry.npmjs.org/victory-core/-/victory-core-36.6.8.tgz", - "integrity": "sha512-SkyEszZKGyxjqfptfFWYdI22CvCuE9LhkaDpikzIhT2gcE3SuOBO5fk/740XMYE2ZUsJ4Fu/Vy4+8jZi17y44A==", - "dependencies": { - "lodash": "^4.17.21", - "prop-types": "^15.8.1", - "react-fast-compare": "^3.2.0", - "victory-vendor": "^36.6.8" - }, - "peerDependencies": { - "react": ">=16.6.0" - } - }, "node_modules/victory-polar-axis": { "version": "36.6.8", "resolved": "https://registry.npmjs.org/victory-polar-axis/-/victory-polar-axis-36.6.8.tgz", @@ -18479,20 +18245,6 @@ "react": ">=16.6.0" } }, - "node_modules/victory-polar-axis/node_modules/victory-core": { - "version": "36.6.8", - "resolved": "https://registry.npmjs.org/victory-core/-/victory-core-36.6.8.tgz", - "integrity": "sha512-SkyEszZKGyxjqfptfFWYdI22CvCuE9LhkaDpikzIhT2gcE3SuOBO5fk/740XMYE2ZUsJ4Fu/Vy4+8jZi17y44A==", - "dependencies": { - "lodash": "^4.17.21", - "prop-types": "^15.8.1", - "react-fast-compare": "^3.2.0", - "victory-vendor": "^36.6.8" - }, - "peerDependencies": { - "react": ">=16.6.0" - } - }, "node_modules/victory-scatter": { "version": "36.6.8", "resolved": "https://registry.npmjs.org/victory-scatter/-/victory-scatter-36.6.8.tgz", @@ -18506,20 +18258,6 @@ "react": ">=16.6.0" } }, - "node_modules/victory-scatter/node_modules/victory-core": { - "version": "36.6.8", - "resolved": "https://registry.npmjs.org/victory-core/-/victory-core-36.6.8.tgz", - "integrity": "sha512-SkyEszZKGyxjqfptfFWYdI22CvCuE9LhkaDpikzIhT2gcE3SuOBO5fk/740XMYE2ZUsJ4Fu/Vy4+8jZi17y44A==", - "dependencies": { - "lodash": "^4.17.21", - "prop-types": "^15.8.1", - "react-fast-compare": "^3.2.0", - "victory-vendor": "^36.6.8" - }, - "peerDependencies": { - "react": ">=16.6.0" - } - }, "node_modules/victory-selection-container": { "version": "36.6.8", "resolved": "https://registry.npmjs.org/victory-selection-container/-/victory-selection-container-36.6.8.tgz", @@ -18533,20 +18271,6 @@ "react": ">=16.6.0" } }, - "node_modules/victory-selection-container/node_modules/victory-core": { - "version": "36.6.8", - "resolved": "https://registry.npmjs.org/victory-core/-/victory-core-36.6.8.tgz", - "integrity": "sha512-SkyEszZKGyxjqfptfFWYdI22CvCuE9LhkaDpikzIhT2gcE3SuOBO5fk/740XMYE2ZUsJ4Fu/Vy4+8jZi17y44A==", - "dependencies": { - "lodash": "^4.17.21", - "prop-types": "^15.8.1", - "react-fast-compare": "^3.2.0", - "victory-vendor": "^36.6.8" - }, - "peerDependencies": { - "react": ">=16.6.0" - } - }, "node_modules/victory-shared-events": { "version": "36.6.8", "resolved": "https://registry.npmjs.org/victory-shared-events/-/victory-shared-events-36.6.8.tgz", @@ -18562,20 +18286,6 @@ "react": ">=16.6.0" } }, - "node_modules/victory-shared-events/node_modules/victory-core": { - "version": "36.6.8", - "resolved": "https://registry.npmjs.org/victory-core/-/victory-core-36.6.8.tgz", - "integrity": "sha512-SkyEszZKGyxjqfptfFWYdI22CvCuE9LhkaDpikzIhT2gcE3SuOBO5fk/740XMYE2ZUsJ4Fu/Vy4+8jZi17y44A==", - "dependencies": { - "lodash": "^4.17.21", - "prop-types": "^15.8.1", - "react-fast-compare": "^3.2.0", - "victory-vendor": "^36.6.8" - }, - "peerDependencies": { - "react": ">=16.6.0" - } - }, "node_modules/victory-stack": { "version": "36.6.8", "resolved": "https://registry.npmjs.org/victory-stack/-/victory-stack-36.6.8.tgz", @@ -18591,20 +18301,6 @@ "react": ">=16.6.0" } }, - "node_modules/victory-stack/node_modules/victory-core": { - "version": "36.6.8", - "resolved": "https://registry.npmjs.org/victory-core/-/victory-core-36.6.8.tgz", - "integrity": "sha512-SkyEszZKGyxjqfptfFWYdI22CvCuE9LhkaDpikzIhT2gcE3SuOBO5fk/740XMYE2ZUsJ4Fu/Vy4+8jZi17y44A==", - "dependencies": { - "lodash": "^4.17.21", - "prop-types": "^15.8.1", - "react-fast-compare": "^3.2.0", - "victory-vendor": "^36.6.8" - }, - "peerDependencies": { - "react": ">=16.6.0" - } - }, "node_modules/victory-tooltip": { "version": "36.6.8", "resolved": "https://registry.npmjs.org/victory-tooltip/-/victory-tooltip-36.6.8.tgz", @@ -18618,24 +18314,10 @@ "react": ">=16.6.0" } }, - "node_modules/victory-tooltip/node_modules/victory-core": { - "version": "36.6.8", - "resolved": "https://registry.npmjs.org/victory-core/-/victory-core-36.6.8.tgz", - "integrity": "sha512-SkyEszZKGyxjqfptfFWYdI22CvCuE9LhkaDpikzIhT2gcE3SuOBO5fk/740XMYE2ZUsJ4Fu/Vy4+8jZi17y44A==", - "dependencies": { - "lodash": "^4.17.21", - "prop-types": "^15.8.1", - "react-fast-compare": "^3.2.0", - "victory-vendor": "^36.6.8" - }, - "peerDependencies": { - "react": ">=16.6.0" - } - }, "node_modules/victory-vendor": { - "version": "36.6.8", - "resolved": "https://registry.npmjs.org/victory-vendor/-/victory-vendor-36.6.8.tgz", - "integrity": "sha512-H3kyQ+2zgjMPvbPqAl7Vwm2FD5dU7/4bCTQakFQnpIsfDljeOMDojRsrmJfwh4oAlNnWhpAf+mbAoLh8u7dwyQ==", + "version": "36.6.11", + "resolved": "https://registry.npmjs.org/victory-vendor/-/victory-vendor-36.6.11.tgz", + "integrity": "sha512-nT8kCiJp8dQh8g991J/R5w5eE2KnO8EAIP0xocWlh9l2okngMWglOPoMZzJvek8Q1KUc4XE/mJxTZnvOB1sTYg==", "dependencies": { "@types/d3-array": "^3.0.3", "@types/d3-ease": "^3.0.0", @@ -18669,20 +18351,6 @@ "react": ">=16.6.0" } }, - "node_modules/victory-voronoi-container/node_modules/victory-core": { - "version": "36.6.8", - "resolved": "https://registry.npmjs.org/victory-core/-/victory-core-36.6.8.tgz", - "integrity": "sha512-SkyEszZKGyxjqfptfFWYdI22CvCuE9LhkaDpikzIhT2gcE3SuOBO5fk/740XMYE2ZUsJ4Fu/Vy4+8jZi17y44A==", - "dependencies": { - "lodash": "^4.17.21", - "prop-types": "^15.8.1", - "react-fast-compare": "^3.2.0", - "victory-vendor": "^36.6.8" - }, - "peerDependencies": { - "react": ">=16.6.0" - } - }, "node_modules/victory-zoom-container": { "version": "36.6.8", "resolved": "https://registry.npmjs.org/victory-zoom-container/-/victory-zoom-container-36.6.8.tgz", @@ -18696,20 +18364,6 @@ "react": ">=16.6.0" } }, - "node_modules/victory-zoom-container/node_modules/victory-core": { - "version": "36.6.8", - "resolved": "https://registry.npmjs.org/victory-core/-/victory-core-36.6.8.tgz", - "integrity": "sha512-SkyEszZKGyxjqfptfFWYdI22CvCuE9LhkaDpikzIhT2gcE3SuOBO5fk/740XMYE2ZUsJ4Fu/Vy4+8jZi17y44A==", - "dependencies": { - "lodash": "^4.17.21", - "prop-types": "^15.8.1", - "react-fast-compare": "^3.2.0", - "victory-vendor": "^36.6.8" - }, - "peerDependencies": { - "react": ">=16.6.0" - } - }, "node_modules/w3c-xmlserializer": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-4.0.0.tgz", @@ -20204,9 +19858,9 @@ } }, "@eslint/js": { - "version": "8.41.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.41.0.tgz", - "integrity": "sha512-LxcyMGxwmTh2lY9FwHPGWOHmYFCZvbrFCBZL4FzSSsxsRPuhrYUg/49/0KDfW8tnIEaEHtfmn6+NPN+1DqaNmA==", + "version": "8.42.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.42.0.tgz", + "integrity": "sha512-6SWlXpWU5AvId8Ac7zjzmIOqMOba/JWY8XZ4A7q7Gn1Vlfg/SFFIlrtHXt9nPn4op9ZPAkl91Jao+QQv3r/ukw==", "dev": true }, "@formatjs/cli": { @@ -20217,79 +19871,79 @@ "requires": {} }, "@formatjs/ecma402-abstract": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-1.15.0.tgz", - "integrity": "sha512-7bAYAv0w4AIao9DNg0avfOLTCPE9woAgs6SpXuMq11IN3A+l+cq8ghczwqSZBM11myvPSJA7vLn72q0rJ0QK6Q==", + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-1.17.0.tgz", + "integrity": "sha512-6ueQTeJZtwKjmh23bdkq/DMqH4l4bmfvtQH98blOSbiXv/OUiyijSW6jU22IT8BNM1ujCaEvJfTtyCYVH38EMQ==", "requires": { - "@formatjs/intl-localematcher": "0.2.32", + "@formatjs/intl-localematcher": "0.4.0", "tslib": "^2.4.0" } }, "@formatjs/fast-memoize": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@formatjs/fast-memoize/-/fast-memoize-2.0.1.tgz", - "integrity": "sha512-M2GgV+qJn5WJQAYewz7q2Cdl6fobQa69S1AzSM2y0P68ZDbK5cWrJIcPCO395Of1ksftGZoOt4LYCO/j9BKBSA==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@formatjs/fast-memoize/-/fast-memoize-2.2.0.tgz", + "integrity": "sha512-hnk/nY8FyrL5YxwP9e4r9dqeM6cAbo8PeU9UjyXojZMNvVad2Z06FAVHyR3Ecw6fza+0GH7vdJgiKIVXTMbSBA==", "requires": { "tslib": "^2.4.0" } }, "@formatjs/icu-messageformat-parser": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.4.0.tgz", - "integrity": "sha512-6Dh5Z/gp4F/HovXXu/vmd0If5NbYLB5dZrmhWVNb+BOGOEU3wt7Z/83KY1dtd7IDhAnYHasbmKE1RbTE0J+3hw==", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.6.0.tgz", + "integrity": "sha512-yT6at0qc0DANw9qM/TU8RZaCtfDXtj4pZM/IC2WnVU80yAcliS3KVDiuUt4jSQAeFL9JS5bc2hARnFmjPdA6qw==", "requires": { - "@formatjs/ecma402-abstract": "1.15.0", - "@formatjs/icu-skeleton-parser": "1.4.0", + "@formatjs/ecma402-abstract": "1.17.0", + "@formatjs/icu-skeleton-parser": "1.6.0", "tslib": "^2.4.0" } }, "@formatjs/icu-skeleton-parser": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.4.0.tgz", - "integrity": "sha512-Qq347VM616rVLkvN6QsKJELazRyNlbCiN47LdH0Mc5U7E2xV0vatiVhGqd3KFgbc055BvtnUXR7XX60dCGFuWg==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.6.0.tgz", + "integrity": "sha512-eMmxNpoX/J1IPUjPGSZwo0Wh+7CEvdEMddP2Jxg1gQJXfGfht/FdW2D5XDFj3VMbOTUQlDIdZJY7uC6O6gjPoA==", "requires": { - "@formatjs/ecma402-abstract": "1.15.0", + "@formatjs/ecma402-abstract": "1.17.0", "tslib": "^2.4.0" } }, "@formatjs/intl": { - "version": "2.7.2", - "resolved": "https://registry.npmjs.org/@formatjs/intl/-/intl-2.7.2.tgz", - "integrity": "sha512-ziiQfnXwY0/rXhtohSAmYMqDjRsihoMKdl8H2aA+FvxG9638E0XrvfBFCb+1HhimNiuqRz5fTY7F/bZtsJxsjA==", - "requires": { - "@formatjs/ecma402-abstract": "1.15.0", - "@formatjs/fast-memoize": "2.0.1", - "@formatjs/icu-messageformat-parser": "2.4.0", - "@formatjs/intl-displaynames": "6.3.2", - "@formatjs/intl-listformat": "7.2.2", - "intl-messageformat": "10.3.5", + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/@formatjs/intl/-/intl-2.9.0.tgz", + "integrity": "sha512-Ym0trUoC/VO6wQu4YHa0H1VR2tEixFRmwZgADkDLm7nD+vv1Ob+/88mUAoT0pwvirFqYKgUKEwp1tFepqyqvVA==", + "requires": { + "@formatjs/ecma402-abstract": "1.17.0", + "@formatjs/fast-memoize": "2.2.0", + "@formatjs/icu-messageformat-parser": "2.6.0", + "@formatjs/intl-displaynames": "6.5.0", + "@formatjs/intl-listformat": "7.4.0", + "intl-messageformat": "10.5.0", "tslib": "^2.4.0" } }, "@formatjs/intl-displaynames": { - "version": "6.3.2", - "resolved": "https://registry.npmjs.org/@formatjs/intl-displaynames/-/intl-displaynames-6.3.2.tgz", - "integrity": "sha512-kBOh0O7QYKLUqaZujLSEF2+au017plPp63R6Hrokl+oDtLyTt9y9pEuCTbOKh/P8CC9THnDLKRKgeVWZw5Ek8A==", + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/@formatjs/intl-displaynames/-/intl-displaynames-6.5.0.tgz", + "integrity": "sha512-sg/nR8ILEdUl+2sWu6jc1nQ5s04yucGlH1RVfatW8TSJ5uG3Yy3vgigi8NNC/BuhcncUNPWqSpTCSI1hA+rhiw==", "requires": { - "@formatjs/ecma402-abstract": "1.15.0", - "@formatjs/intl-localematcher": "0.2.32", + "@formatjs/ecma402-abstract": "1.17.0", + "@formatjs/intl-localematcher": "0.4.0", "tslib": "^2.4.0" } }, "@formatjs/intl-listformat": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/@formatjs/intl-listformat/-/intl-listformat-7.2.2.tgz", - "integrity": "sha512-YIruRGwUrmgVOXjWi6VbwPcRNBkEfgK2DFjyyqopCmpfJ+39vnl46oLpVchErnuXs6kkARy5GcGaGV7xRsH4lw==", + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/@formatjs/intl-listformat/-/intl-listformat-7.4.0.tgz", + "integrity": "sha512-ifupb+balZUAF/Oh3QyGRqPRWGSKwWoMPR0cYZEG7r61SimD+m38oFQqVx/3Fp7LfQFF11m7IS+MlxOo2sKINA==", "requires": { - "@formatjs/ecma402-abstract": "1.15.0", - "@formatjs/intl-localematcher": "0.2.32", + "@formatjs/ecma402-abstract": "1.17.0", + "@formatjs/intl-localematcher": "0.4.0", "tslib": "^2.4.0" } }, "@formatjs/intl-localematcher": { - "version": "0.2.32", - "resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.2.32.tgz", - "integrity": "sha512-k/MEBstff4sttohyEpXxCmC3MqbUn9VvHGlZ8fauLzkbwXmVrEeyzS+4uhrvAk9DWU9/7otYWxyDox4nT/KVLQ==", + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.4.0.tgz", + "integrity": "sha512-bRTd+rKomvfdS4QDlVJ6TA/Jx1F2h/TBVO5LjvhQ7QPPHp19oPNMIum7W2CMEReq/zPxpmCeB31F9+5gl/qtvw==", "requires": { "tslib": "^2.4.0" } @@ -20309,46 +19963,6 @@ "typescript": "^4.7 || 5" }, "dependencies": { - "@formatjs/ecma402-abstract": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-1.17.0.tgz", - "integrity": "sha512-6ueQTeJZtwKjmh23bdkq/DMqH4l4bmfvtQH98blOSbiXv/OUiyijSW6jU22IT8BNM1ujCaEvJfTtyCYVH38EMQ==", - "dev": true, - "requires": { - "@formatjs/intl-localematcher": "0.4.0", - "tslib": "^2.4.0" - } - }, - "@formatjs/icu-messageformat-parser": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.6.0.tgz", - "integrity": "sha512-yT6at0qc0DANw9qM/TU8RZaCtfDXtj4pZM/IC2WnVU80yAcliS3KVDiuUt4jSQAeFL9JS5bc2hARnFmjPdA6qw==", - "dev": true, - "requires": { - "@formatjs/ecma402-abstract": "1.17.0", - "@formatjs/icu-skeleton-parser": "1.6.0", - "tslib": "^2.4.0" - } - }, - "@formatjs/icu-skeleton-parser": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.6.0.tgz", - "integrity": "sha512-eMmxNpoX/J1IPUjPGSZwo0Wh+7CEvdEMddP2Jxg1gQJXfGfht/FdW2D5XDFj3VMbOTUQlDIdZJY7uC6O6gjPoA==", - "dev": true, - "requires": { - "@formatjs/ecma402-abstract": "1.17.0", - "tslib": "^2.4.0" - } - }, - "@formatjs/intl-localematcher": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.4.0.tgz", - "integrity": "sha512-bRTd+rKomvfdS4QDlVJ6TA/Jx1F2h/TBVO5LjvhQ7QPPHp19oPNMIum7W2CMEReq/zPxpmCeB31F9+5gl/qtvw==", - "dev": true, - "requires": { - "tslib": "^2.4.0" - } - }, "@types/node": { "version": "17.0.45", "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.45.tgz", @@ -20407,9 +20021,9 @@ } }, "@humanwhocodes/config-array": { - "version": "0.11.8", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz", - "integrity": "sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==", + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.10.tgz", + "integrity": "sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==", "dev": true, "requires": { "@humanwhocodes/object-schema": "^1.2.1", @@ -21628,9 +21242,9 @@ "integrity": "sha512-P50stc+mnWLycID46/AKmD/760r5N1eoam//O6MUVriqVorUdht7xkUL78aJZU1vw8WW6xlrDHwz3F6BM148qg==" }, "@remix-run/router": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.6.2.tgz", - "integrity": "sha512-LzqpSrMK/3JBAVBI9u3NWtOhWNw5AMQfrUFYB0+bDHTSw17z++WJLsPsxAuK+oSddsxk4d7F/JcdDPM1M5YAhA==" + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.6.3.tgz", + "integrity": "sha512-EXJysQ7J3veRECd0kZFQwYYd5sJMcq2O/m60zu1W2l3oVQ9xtub8jTOtYRE0+M2iomyG/W3Ps7+vp2kna0C27Q==" }, "@restart/hooks": { "version": "0.4.9", @@ -25477,16 +25091,16 @@ } }, "eslint": { - "version": "8.41.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.41.0.tgz", - "integrity": "sha512-WQDQpzGBOP5IrXPo4Hc0814r4/v2rrIsB0rhT7jtunIalgg6gYXWhRMOejVO8yH21T/FGaxjmFjBMNqcIlmH1Q==", + "version": "8.42.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.42.0.tgz", + "integrity": "sha512-ulg9Ms6E1WPf67PHaEY4/6E2tEn5/f7FXGzr3t9cBMugOmf1INYvuUwwh1aXQN4MfJ6a5K2iNwP3w4AColvI9A==", "dev": true, "requires": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.4.0", "@eslint/eslintrc": "^2.0.3", - "@eslint/js": "8.41.0", - "@humanwhocodes/config-array": "^0.11.8", + "@eslint/js": "8.42.0", + "@humanwhocodes/config-array": "^0.11.10", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", "ajv": "^6.10.0", @@ -25722,46 +25336,6 @@ "unicode-emoji-utils": "^1.1.1" }, "dependencies": { - "@formatjs/ecma402-abstract": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-1.17.0.tgz", - "integrity": "sha512-6ueQTeJZtwKjmh23bdkq/DMqH4l4bmfvtQH98blOSbiXv/OUiyijSW6jU22IT8BNM1ujCaEvJfTtyCYVH38EMQ==", - "dev": true, - "requires": { - "@formatjs/intl-localematcher": "0.4.0", - "tslib": "^2.4.0" - } - }, - "@formatjs/icu-messageformat-parser": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.6.0.tgz", - "integrity": "sha512-yT6at0qc0DANw9qM/TU8RZaCtfDXtj4pZM/IC2WnVU80yAcliS3KVDiuUt4jSQAeFL9JS5bc2hARnFmjPdA6qw==", - "dev": true, - "requires": { - "@formatjs/ecma402-abstract": "1.17.0", - "@formatjs/icu-skeleton-parser": "1.6.0", - "tslib": "^2.4.0" - } - }, - "@formatjs/icu-skeleton-parser": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.6.0.tgz", - "integrity": "sha512-eMmxNpoX/J1IPUjPGSZwo0Wh+7CEvdEMddP2Jxg1gQJXfGfht/FdW2D5XDFj3VMbOTUQlDIdZJY7uC6O6gjPoA==", - "dev": true, - "requires": { - "@formatjs/ecma402-abstract": "1.17.0", - "tslib": "^2.4.0" - } - }, - "@formatjs/intl-localematcher": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.4.0.tgz", - "integrity": "sha512-bRTd+rKomvfdS4QDlVJ6TA/Jx1F2h/TBVO5LjvhQ7QPPHp19oPNMIum7W2CMEReq/zPxpmCeB31F9+5gl/qtvw==", - "dev": true, - "requires": { - "tslib": "^2.4.0" - } - }, "@typescript-eslint/types": { "version": "5.59.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.59.0.tgz", @@ -27637,13 +27211,13 @@ "dev": true }, "intl-messageformat": { - "version": "10.3.5", - "resolved": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-10.3.5.tgz", - "integrity": "sha512-6kPkftF8Jg3XJCkGKa5OD+nYQ+qcSxF4ZkuDdXZ6KGG0VXn+iblJqRFyDdm9VvKcMyC0Km2+JlVQffFM52D0YA==", + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-10.5.0.tgz", + "integrity": "sha512-AvojYuOaRb6r2veOKfTVpxH9TrmjSdc5iR9R5RgBwrDZYSmAAFVT+QLbW3C4V7Qsg0OguMp67Q/EoUkxZzXRGw==", "requires": { - "@formatjs/ecma402-abstract": "1.15.0", - "@formatjs/fast-memoize": "2.0.1", - "@formatjs/icu-messageformat-parser": "2.4.0", + "@formatjs/ecma402-abstract": "1.17.0", + "@formatjs/fast-memoize": "2.2.0", + "@formatjs/icu-messageformat-parser": "2.6.0", "tslib": "^2.4.0" } }, @@ -31521,19 +31095,19 @@ "integrity": "sha512-xTYf9zFim2pEif/Fw16dBiXpe0hoy5PxcD8+OwBnTtNLfIm3g6WxhKNurY+6OmdH1u6Ta/W/Vl6vjbYP1MFnDg==" }, "react-intl": { - "version": "6.4.2", - "resolved": "https://registry.npmjs.org/react-intl/-/react-intl-6.4.2.tgz", - "integrity": "sha512-q8QyLZfbyqV3Ifa7vtjRrgfSQPGTR6Fi+u9tP/CuzhUPl9DJEPIrvUFhlBryKtRW2qNASqchaP/79Obip+h6oA==", - "requires": { - "@formatjs/ecma402-abstract": "1.15.0", - "@formatjs/icu-messageformat-parser": "2.4.0", - "@formatjs/intl": "2.7.2", - "@formatjs/intl-displaynames": "6.3.2", - "@formatjs/intl-listformat": "7.2.2", + "version": "6.4.4", + "resolved": "https://registry.npmjs.org/react-intl/-/react-intl-6.4.4.tgz", + "integrity": "sha512-/C9Sl/5//ohfkNG6AWlJuf4BhTXsbzyk93K62A4zRhSPANyOGpKZ+fWhN+TLfFd5YjDUHy+exU/09y0w1bO4Xw==", + "requires": { + "@formatjs/ecma402-abstract": "1.17.0", + "@formatjs/icu-messageformat-parser": "2.6.0", + "@formatjs/intl": "2.9.0", + "@formatjs/intl-displaynames": "6.5.0", + "@formatjs/intl-listformat": "7.4.0", "@types/hoist-non-react-statics": "^3.3.1", "@types/react": "16 || 17 || 18", "hoist-non-react-statics": "^3.3.2", - "intl-messageformat": "10.3.5", + "intl-messageformat": "10.5.0", "tslib": "^2.4.0" } }, @@ -31548,9 +31122,9 @@ "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==" }, "react-redux": { - "version": "8.0.7", - "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-8.0.7.tgz", - "integrity": "sha512-1vRQuCQI5Y2uNmrMXg81RXKiBHY3jBzvCvNmZF437O/Z9/pZ+ba2uYHbemYXb3g8rjsacBGo+/wmfrQKzMhJsg==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-8.1.0.tgz", + "integrity": "sha512-CtHZzAOxi7GQvTph4dVLWwZHAWUjV2kMEQtk50OrN8z3gKxpWg3Tz7JfDw32N3Rpd7fh02z73cF6yZkK467gbQ==", "requires": { "@babel/runtime": "^7.12.1", "@types/hoist-non-react-statics": "^3.3.1", @@ -31574,20 +31148,20 @@ "dev": true }, "react-router": { - "version": "6.11.2", - "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.11.2.tgz", - "integrity": "sha512-74z9xUSaSX07t3LM+pS6Un0T55ibUE/79CzfZpy5wsPDZaea1F8QkrsiyRnA2YQ7LwE/umaydzXZV80iDCPkMg==", + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.13.0.tgz", + "integrity": "sha512-Si6KnfEnJw7gUQkNa70dlpI1bul46FuSxX5t5WwlUBxE25DAz2BjVkwaK8Y2s242bQrZPXCpmwLPtIO5pv4tXg==", "requires": { - "@remix-run/router": "1.6.2" + "@remix-run/router": "1.6.3" } }, "react-router-dom": { - "version": "6.11.2", - "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.11.2.tgz", - "integrity": "sha512-JNbKtAeh1VSJQnH6RvBDNhxNwemRj7KxCzc5jb7zvDSKRnPWIFj9pO+eXqjM69gQJ0r46hSz1x4l9y0651DKWw==", + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.13.0.tgz", + "integrity": "sha512-6Nqoqd7fgwxxVGdbiMHTpDHCYPq62d7Wk1Of7B82vH7ZPwwsRaIa22zRZKPPg413R5REVNiyuQPKDG1bubcOFA==", "requires": { - "@remix-run/router": "1.6.2", - "react-router": "6.11.2" + "@remix-run/router": "1.6.3", + "react-router": "6.13.0" } }, "react-transition-group": { @@ -33295,19 +32869,6 @@ "prop-types": "^15.8.1", "victory-core": "^36.6.8", "victory-vendor": "^36.6.8" - }, - "dependencies": { - "victory-core": { - "version": "36.6.8", - "resolved": "https://registry.npmjs.org/victory-core/-/victory-core-36.6.8.tgz", - "integrity": "sha512-SkyEszZKGyxjqfptfFWYdI22CvCuE9LhkaDpikzIhT2gcE3SuOBO5fk/740XMYE2ZUsJ4Fu/Vy4+8jZi17y44A==", - "requires": { - "lodash": "^4.17.21", - "prop-types": "^15.8.1", - "react-fast-compare": "^3.2.0", - "victory-vendor": "^36.6.8" - } - } } }, "victory-axis": { @@ -33318,19 +32879,6 @@ "lodash": "^4.17.19", "prop-types": "^15.8.1", "victory-core": "^36.6.8" - }, - "dependencies": { - "victory-core": { - "version": "36.6.8", - "resolved": "https://registry.npmjs.org/victory-core/-/victory-core-36.6.8.tgz", - "integrity": "sha512-SkyEszZKGyxjqfptfFWYdI22CvCuE9LhkaDpikzIhT2gcE3SuOBO5fk/740XMYE2ZUsJ4Fu/Vy4+8jZi17y44A==", - "requires": { - "lodash": "^4.17.21", - "prop-types": "^15.8.1", - "react-fast-compare": "^3.2.0", - "victory-vendor": "^36.6.8" - } - } } }, "victory-bar": { @@ -33342,19 +32890,6 @@ "prop-types": "^15.8.1", "victory-core": "^36.6.8", "victory-vendor": "^36.6.8" - }, - "dependencies": { - "victory-core": { - "version": "36.6.8", - "resolved": "https://registry.npmjs.org/victory-core/-/victory-core-36.6.8.tgz", - "integrity": "sha512-SkyEszZKGyxjqfptfFWYdI22CvCuE9LhkaDpikzIhT2gcE3SuOBO5fk/740XMYE2ZUsJ4Fu/Vy4+8jZi17y44A==", - "requires": { - "lodash": "^4.17.21", - "prop-types": "^15.8.1", - "react-fast-compare": "^3.2.0", - "victory-vendor": "^36.6.8" - } - } } }, "victory-brush-container": { @@ -33366,19 +32901,6 @@ "prop-types": "^15.8.1", "react-fast-compare": "^3.2.0", "victory-core": "^36.6.8" - }, - "dependencies": { - "victory-core": { - "version": "36.6.8", - "resolved": "https://registry.npmjs.org/victory-core/-/victory-core-36.6.8.tgz", - "integrity": "sha512-SkyEszZKGyxjqfptfFWYdI22CvCuE9LhkaDpikzIhT2gcE3SuOBO5fk/740XMYE2ZUsJ4Fu/Vy4+8jZi17y44A==", - "requires": { - "lodash": "^4.17.21", - "prop-types": "^15.8.1", - "react-fast-compare": "^3.2.0", - "victory-vendor": "^36.6.8" - } - } } }, "victory-chart": { @@ -33393,30 +32915,17 @@ "victory-core": "^36.6.8", "victory-polar-axis": "^36.6.8", "victory-shared-events": "^36.6.8" - }, - "dependencies": { - "victory-core": { - "version": "36.6.8", - "resolved": "https://registry.npmjs.org/victory-core/-/victory-core-36.6.8.tgz", - "integrity": "sha512-SkyEszZKGyxjqfptfFWYdI22CvCuE9LhkaDpikzIhT2gcE3SuOBO5fk/740XMYE2ZUsJ4Fu/Vy4+8jZi17y44A==", - "requires": { - "lodash": "^4.17.21", - "prop-types": "^15.8.1", - "react-fast-compare": "^3.2.0", - "victory-vendor": "^36.6.8" - } - } } }, "victory-core": { - "version": "36.6.7", - "resolved": "https://registry.npmjs.org/victory-core/-/victory-core-36.6.7.tgz", - "integrity": "sha512-cpqjpVKk0DDCtCyT+LPaDqk+CxXL6lemRnarUn1DUYWcaUTHAYkdG8Gk2ExrPsKNw2mfpMCwlrvKSD6Bh/XXOA==", + "version": "36.6.11", + "resolved": "https://registry.npmjs.org/victory-core/-/victory-core-36.6.11.tgz", + "integrity": "sha512-aYhFIRu8NQMwW/JbgqoAG7w0lUYbTB1Achx4mmBc6aL8RMkv6LhD/PFwjT3TLpH0AoEs3Rpty2g0UQ+7ulE7dA==", "requires": { "lodash": "^4.17.21", "prop-types": "^15.8.1", "react-fast-compare": "^3.2.0", - "victory-vendor": "^36.6.7" + "victory-vendor": "^36.6.11" } }, "victory-create-container": { @@ -33431,19 +32940,6 @@ "victory-selection-container": "^36.6.8", "victory-voronoi-container": "^36.6.8", "victory-zoom-container": "^36.6.8" - }, - "dependencies": { - "victory-core": { - "version": "36.6.8", - "resolved": "https://registry.npmjs.org/victory-core/-/victory-core-36.6.8.tgz", - "integrity": "sha512-SkyEszZKGyxjqfptfFWYdI22CvCuE9LhkaDpikzIhT2gcE3SuOBO5fk/740XMYE2ZUsJ4Fu/Vy4+8jZi17y44A==", - "requires": { - "lodash": "^4.17.21", - "prop-types": "^15.8.1", - "react-fast-compare": "^3.2.0", - "victory-vendor": "^36.6.8" - } - } } }, "victory-cursor-container": { @@ -33454,19 +32950,6 @@ "lodash": "^4.17.19", "prop-types": "^15.8.1", "victory-core": "^36.6.8" - }, - "dependencies": { - "victory-core": { - "version": "36.6.8", - "resolved": "https://registry.npmjs.org/victory-core/-/victory-core-36.6.8.tgz", - "integrity": "sha512-SkyEszZKGyxjqfptfFWYdI22CvCuE9LhkaDpikzIhT2gcE3SuOBO5fk/740XMYE2ZUsJ4Fu/Vy4+8jZi17y44A==", - "requires": { - "lodash": "^4.17.21", - "prop-types": "^15.8.1", - "react-fast-compare": "^3.2.0", - "victory-vendor": "^36.6.8" - } - } } }, "victory-group": { @@ -33479,19 +32962,6 @@ "react-fast-compare": "^3.2.0", "victory-core": "^36.6.8", "victory-shared-events": "^36.6.8" - }, - "dependencies": { - "victory-core": { - "version": "36.6.8", - "resolved": "https://registry.npmjs.org/victory-core/-/victory-core-36.6.8.tgz", - "integrity": "sha512-SkyEszZKGyxjqfptfFWYdI22CvCuE9LhkaDpikzIhT2gcE3SuOBO5fk/740XMYE2ZUsJ4Fu/Vy4+8jZi17y44A==", - "requires": { - "lodash": "^4.17.21", - "prop-types": "^15.8.1", - "react-fast-compare": "^3.2.0", - "victory-vendor": "^36.6.8" - } - } } }, "victory-legend": { @@ -33502,19 +32972,6 @@ "lodash": "^4.17.19", "prop-types": "^15.8.1", "victory-core": "^36.6.8" - }, - "dependencies": { - "victory-core": { - "version": "36.6.8", - "resolved": "https://registry.npmjs.org/victory-core/-/victory-core-36.6.8.tgz", - "integrity": "sha512-SkyEszZKGyxjqfptfFWYdI22CvCuE9LhkaDpikzIhT2gcE3SuOBO5fk/740XMYE2ZUsJ4Fu/Vy4+8jZi17y44A==", - "requires": { - "lodash": "^4.17.21", - "prop-types": "^15.8.1", - "react-fast-compare": "^3.2.0", - "victory-vendor": "^36.6.8" - } - } } }, "victory-line": { @@ -33526,19 +32983,6 @@ "prop-types": "^15.8.1", "victory-core": "^36.6.8", "victory-vendor": "^36.6.8" - }, - "dependencies": { - "victory-core": { - "version": "36.6.8", - "resolved": "https://registry.npmjs.org/victory-core/-/victory-core-36.6.8.tgz", - "integrity": "sha512-SkyEszZKGyxjqfptfFWYdI22CvCuE9LhkaDpikzIhT2gcE3SuOBO5fk/740XMYE2ZUsJ4Fu/Vy4+8jZi17y44A==", - "requires": { - "lodash": "^4.17.21", - "prop-types": "^15.8.1", - "react-fast-compare": "^3.2.0", - "victory-vendor": "^36.6.8" - } - } } }, "victory-pie": { @@ -33550,19 +32994,6 @@ "prop-types": "^15.8.1", "victory-core": "^36.6.8", "victory-vendor": "^36.6.8" - }, - "dependencies": { - "victory-core": { - "version": "36.6.8", - "resolved": "https://registry.npmjs.org/victory-core/-/victory-core-36.6.8.tgz", - "integrity": "sha512-SkyEszZKGyxjqfptfFWYdI22CvCuE9LhkaDpikzIhT2gcE3SuOBO5fk/740XMYE2ZUsJ4Fu/Vy4+8jZi17y44A==", - "requires": { - "lodash": "^4.17.21", - "prop-types": "^15.8.1", - "react-fast-compare": "^3.2.0", - "victory-vendor": "^36.6.8" - } - } } }, "victory-polar-axis": { @@ -33573,19 +33004,6 @@ "lodash": "^4.17.19", "prop-types": "^15.8.1", "victory-core": "^36.6.8" - }, - "dependencies": { - "victory-core": { - "version": "36.6.8", - "resolved": "https://registry.npmjs.org/victory-core/-/victory-core-36.6.8.tgz", - "integrity": "sha512-SkyEszZKGyxjqfptfFWYdI22CvCuE9LhkaDpikzIhT2gcE3SuOBO5fk/740XMYE2ZUsJ4Fu/Vy4+8jZi17y44A==", - "requires": { - "lodash": "^4.17.21", - "prop-types": "^15.8.1", - "react-fast-compare": "^3.2.0", - "victory-vendor": "^36.6.8" - } - } } }, "victory-scatter": { @@ -33596,19 +33014,6 @@ "lodash": "^4.17.19", "prop-types": "^15.8.1", "victory-core": "^36.6.8" - }, - "dependencies": { - "victory-core": { - "version": "36.6.8", - "resolved": "https://registry.npmjs.org/victory-core/-/victory-core-36.6.8.tgz", - "integrity": "sha512-SkyEszZKGyxjqfptfFWYdI22CvCuE9LhkaDpikzIhT2gcE3SuOBO5fk/740XMYE2ZUsJ4Fu/Vy4+8jZi17y44A==", - "requires": { - "lodash": "^4.17.21", - "prop-types": "^15.8.1", - "react-fast-compare": "^3.2.0", - "victory-vendor": "^36.6.8" - } - } } }, "victory-selection-container": { @@ -33619,19 +33024,6 @@ "lodash": "^4.17.19", "prop-types": "^15.8.1", "victory-core": "^36.6.8" - }, - "dependencies": { - "victory-core": { - "version": "36.6.8", - "resolved": "https://registry.npmjs.org/victory-core/-/victory-core-36.6.8.tgz", - "integrity": "sha512-SkyEszZKGyxjqfptfFWYdI22CvCuE9LhkaDpikzIhT2gcE3SuOBO5fk/740XMYE2ZUsJ4Fu/Vy4+8jZi17y44A==", - "requires": { - "lodash": "^4.17.21", - "prop-types": "^15.8.1", - "react-fast-compare": "^3.2.0", - "victory-vendor": "^36.6.8" - } - } } }, "victory-shared-events": { @@ -33644,19 +33036,6 @@ "prop-types": "^15.8.1", "react-fast-compare": "^3.2.0", "victory-core": "^36.6.8" - }, - "dependencies": { - "victory-core": { - "version": "36.6.8", - "resolved": "https://registry.npmjs.org/victory-core/-/victory-core-36.6.8.tgz", - "integrity": "sha512-SkyEszZKGyxjqfptfFWYdI22CvCuE9LhkaDpikzIhT2gcE3SuOBO5fk/740XMYE2ZUsJ4Fu/Vy4+8jZi17y44A==", - "requires": { - "lodash": "^4.17.21", - "prop-types": "^15.8.1", - "react-fast-compare": "^3.2.0", - "victory-vendor": "^36.6.8" - } - } } }, "victory-stack": { @@ -33669,19 +33048,6 @@ "react-fast-compare": "^3.2.0", "victory-core": "^36.6.8", "victory-shared-events": "^36.6.8" - }, - "dependencies": { - "victory-core": { - "version": "36.6.8", - "resolved": "https://registry.npmjs.org/victory-core/-/victory-core-36.6.8.tgz", - "integrity": "sha512-SkyEszZKGyxjqfptfFWYdI22CvCuE9LhkaDpikzIhT2gcE3SuOBO5fk/740XMYE2ZUsJ4Fu/Vy4+8jZi17y44A==", - "requires": { - "lodash": "^4.17.21", - "prop-types": "^15.8.1", - "react-fast-compare": "^3.2.0", - "victory-vendor": "^36.6.8" - } - } } }, "victory-tooltip": { @@ -33692,25 +33058,12 @@ "lodash": "^4.17.19", "prop-types": "^15.8.1", "victory-core": "^36.6.8" - }, - "dependencies": { - "victory-core": { - "version": "36.6.8", - "resolved": "https://registry.npmjs.org/victory-core/-/victory-core-36.6.8.tgz", - "integrity": "sha512-SkyEszZKGyxjqfptfFWYdI22CvCuE9LhkaDpikzIhT2gcE3SuOBO5fk/740XMYE2ZUsJ4Fu/Vy4+8jZi17y44A==", - "requires": { - "lodash": "^4.17.21", - "prop-types": "^15.8.1", - "react-fast-compare": "^3.2.0", - "victory-vendor": "^36.6.8" - } - } } }, "victory-vendor": { - "version": "36.6.8", - "resolved": "https://registry.npmjs.org/victory-vendor/-/victory-vendor-36.6.8.tgz", - "integrity": "sha512-H3kyQ+2zgjMPvbPqAl7Vwm2FD5dU7/4bCTQakFQnpIsfDljeOMDojRsrmJfwh4oAlNnWhpAf+mbAoLh8u7dwyQ==", + "version": "36.6.11", + "resolved": "https://registry.npmjs.org/victory-vendor/-/victory-vendor-36.6.11.tgz", + "integrity": "sha512-nT8kCiJp8dQh8g991J/R5w5eE2KnO8EAIP0xocWlh9l2okngMWglOPoMZzJvek8Q1KUc4XE/mJxTZnvOB1sTYg==", "requires": { "@types/d3-array": "^3.0.3", "@types/d3-ease": "^3.0.0", @@ -33739,19 +33092,6 @@ "react-fast-compare": "^3.2.0", "victory-core": "^36.6.8", "victory-tooltip": "^36.6.8" - }, - "dependencies": { - "victory-core": { - "version": "36.6.8", - "resolved": "https://registry.npmjs.org/victory-core/-/victory-core-36.6.8.tgz", - "integrity": "sha512-SkyEszZKGyxjqfptfFWYdI22CvCuE9LhkaDpikzIhT2gcE3SuOBO5fk/740XMYE2ZUsJ4Fu/Vy4+8jZi17y44A==", - "requires": { - "lodash": "^4.17.21", - "prop-types": "^15.8.1", - "react-fast-compare": "^3.2.0", - "victory-vendor": "^36.6.8" - } - } } }, "victory-zoom-container": { @@ -33762,19 +33102,6 @@ "lodash": "^4.17.19", "prop-types": "^15.8.1", "victory-core": "^36.6.8" - }, - "dependencies": { - "victory-core": { - "version": "36.6.8", - "resolved": "https://registry.npmjs.org/victory-core/-/victory-core-36.6.8.tgz", - "integrity": "sha512-SkyEszZKGyxjqfptfFWYdI22CvCuE9LhkaDpikzIhT2gcE3SuOBO5fk/740XMYE2ZUsJ4Fu/Vy4+8jZi17y44A==", - "requires": { - "lodash": "^4.17.21", - "prop-types": "^15.8.1", - "react-fast-compare": "^3.2.0", - "victory-vendor": "^36.6.8" - } - } } }, "w3c-xmlserializer": { diff --git a/package.json b/package.json index 6b6953ad8..77882a30a 100644 --- a/package.json +++ b/package.json @@ -66,14 +66,14 @@ "react": "^17.0.2", "react-bootstrap": "^2.7.4", "react-dom": "^17.0.2", - "react-intl": "^6.4.2", - "react-redux": "^8.0.7", - "react-router-dom": "^6.11.2", + "react-intl": "^6.4.4", + "react-redux": "^8.1.0", + "react-router-dom": "^6.13.0", "redux": "^4.2.1", "redux-thunk": "^2.4.2", "typesafe-actions": "^5.1.0", "unleash-proxy-client": "^2.5.0", - "victory-core": "36.6.7", + "victory-core": "^36.6.11", "xstate": "^4.37.2" }, "devDependencies": { @@ -93,7 +93,7 @@ "@xstate/test": "^0.5.1", "aphrodite": "^2.4.0", "copy-webpack-plugin": "^11.0.0", - "eslint": "^8.41.0", + "eslint": "^8.42.0", "eslint-plugin-formatjs": "^4.10.3", "eslint-plugin-jest-dom": "^5.0.1", "eslint-plugin-jsdoc": "^46.2.6", @@ -116,8 +116,8 @@ "webpack-bundle-analyzer": "^4.9.0" }, "overrides": { - "eslint": "^8.41.0", - "react-intl": "^6.4.2" + "eslint": "^8.42.0", + "react-intl": "^6.4.4" }, "insights": { "appname": "cost-management" From d92a691e28a3ee3445e3a7b871c6815193e05e3f Mon Sep 17 00:00:00 2001 From: Dan Labrecque <dlabrecq@redhat.com> Date: Thu, 15 Jun 2023 13:46:51 -0400 Subject: [PATCH 16/24] Update snapshots --- .../historicalCostChart.test.tsx.snap | 44 ++++++------- .../historicalTrendChart.test.tsx.snap | 28 ++++----- .../historicalUsageChart.test.tsx.snap | 62 +++++++++---------- .../__snapshots__/trendChart.test.tsx.snap | 8 +-- .../__snapshots__/usageChart.test.tsx.snap | 24 +++---- 5 files changed, 83 insertions(+), 83 deletions(-) diff --git a/src/routes/components/charts/historicalCostChart/__snapshots__/historicalCostChart.test.tsx.snap b/src/routes/components/charts/historicalCostChart/__snapshots__/historicalCostChart.test.tsx.snap index a8c0d5720..6401aa7c6 100644 --- a/src/routes/components/charts/historicalCostChart/__snapshots__/historicalCostChart.test.tsx.snap +++ b/src/routes/components/charts/historicalCostChart/__snapshots__/historicalCostChart.test.tsx.snap @@ -329,17 +329,17 @@ exports[`null previous and current reports are handled 1`] = ` </g> <g> <rect - height="30.904999999999998" + height="14" role="presentation" shape-rendering="auto" style="fill: none;" vector-effect="non-scaling-stroke" - width="262.775" + width="79.2" x="0" - y="94.905" + y="78" /> <path - d="M 7.84, 111.061 + d="M 7.84, 94.156 h12.32 v-4.312 h-12.32 @@ -349,10 +349,10 @@ exports[`null previous and current reports are handled 1`] = ` style="fill: #8bc1f7;" /> <path - d="M 139.2275, 111.061 - h12.319999999999993 + d="M 47.44, 94.156 + h12.320000000000007 v-4.312 - h-12.319999999999993 + h-12.320000000000007 z" role="presentation" shape-rendering="auto" @@ -363,7 +363,7 @@ exports[`null previous and current reports are handled 1`] = ` dx="0" id="exampleCostChart-legend-ChartLabel-0" x="30.8" - y="113.875" + y="96.97" > <tspan dx="0" @@ -379,15 +379,15 @@ exports[`null previous and current reports are handled 1`] = ` direction="inherit" dx="0" id="exampleCostChart-legend-ChartLabel-1" - x="162.1875" - y="113.875" + x="70.39999999999999" + y="96.97" > <tspan dx="0" dy="0" style="font-family: "RedHatText","Overpass",overpass,helvetica,arial,sans-serif; font-size: 14px; letter-spacing: normal; padding: 10px; stroke: var(--pf-chart-global--label--stroke, transparent); fill: var(--pf-chart-global--label--Fill, #151515);" text-anchor="start" - x="162.1875" + x="70.39999999999999" > Cost (no data) </tspan> @@ -698,17 +698,17 @@ exports[`reports are formatted to datums 1`] = ` </g> <g> <rect - height="30.904999999999998" + height="14" role="presentation" shape-rendering="auto" style="fill: none;" vector-effect="non-scaling-stroke" - width="533.6312499999999" + width="79.2" x="0" - y="94.905" + y="78" /> <path - d="M 7.84, 111.061 + d="M 7.84, 94.156 h12.32 v-4.312 h-12.32 @@ -718,10 +718,10 @@ exports[`reports are formatted to datums 1`] = ` style="fill: #8bc1f7;" /> <path - d="M 274.65562499999993, 111.061 - h12.32000000000005 + d="M 47.44, 94.156 + h12.320000000000007 v-4.312 - h-12.32000000000005 + h-12.320000000000007 z" role="presentation" shape-rendering="auto" @@ -732,7 +732,7 @@ exports[`reports are formatted to datums 1`] = ` dx="0" id="exampleCostChart-legend-ChartLabel-0" x="30.8" - y="113.875" + y="96.97" > <tspan dx="0" @@ -748,15 +748,15 @@ exports[`reports are formatted to datums 1`] = ` direction="inherit" dx="0" id="exampleCostChart-legend-ChartLabel-1" - x="297.61562499999997" - y="113.875" + x="70.39999999999999" + y="96.97" > <tspan dx="0" dy="0" style="font-family: "RedHatText","Overpass",overpass,helvetica,arial,sans-serif; font-size: 14px; letter-spacing: normal; padding: 10px; stroke: var(--pf-chart-global--label--stroke, transparent); fill: var(--pf-chart-global--label--Fill, #151515);" text-anchor="start" - x="297.61562499999997" + x="70.39999999999999" > Cost ({dateRange}){"dateRange":""} </tspan> diff --git a/src/routes/components/charts/historicalTrendChart/__snapshots__/historicalTrendChart.test.tsx.snap b/src/routes/components/charts/historicalTrendChart/__snapshots__/historicalTrendChart.test.tsx.snap index 484415978..97fffa9ec 100644 --- a/src/routes/components/charts/historicalTrendChart/__snapshots__/historicalTrendChart.test.tsx.snap +++ b/src/routes/components/charts/historicalTrendChart/__snapshots__/historicalTrendChart.test.tsx.snap @@ -293,12 +293,12 @@ exports[`null previous and current reports are handled 1`] = ` </g> <g> <rect - height="30.904999999999998" + height="14" role="presentation" shape-rendering="auto" style="fill: none;" vector-effect="non-scaling-stroke" - width="282.19999999999993" + width="79.2" x="0" y="68" /> @@ -313,10 +313,10 @@ exports[`null previous and current reports are handled 1`] = ` style="fill: #8bc1f7;" /> <path - d="M 148.93999999999997, 84.156 - h12.319999999999993 + d="M 47.44, 84.156 + h12.320000000000007 v-4.312 - h-12.319999999999993 + h-12.320000000000007 z" role="presentation" shape-rendering="auto" @@ -343,7 +343,7 @@ exports[`null previous and current reports are handled 1`] = ` direction="inherit" dx="0" id="exampleTrendChart-legend-ChartLabel-1" - x="171.89999999999998" + x="70.39999999999999" y="86.97" > <tspan @@ -351,7 +351,7 @@ exports[`null previous and current reports are handled 1`] = ` dy="0" style="font-family: "RedHatText","Overpass",overpass,helvetica,arial,sans-serif; font-size: 14px; letter-spacing: normal; padding: 10px; stroke: var(--pf-chart-global--label--stroke, transparent); fill: var(--pf-chart-global--label--Fill, #151515);" text-anchor="start" - x="171.89999999999998" + x="70.39999999999999" > Usage (no data) </tspan> @@ -646,12 +646,12 @@ exports[`reports are formatted to datums 1`] = ` </g> <g> <rect - height="30.904999999999998" + height="14" role="presentation" shape-rendering="auto" style="fill: none;" vector-effect="non-scaling-stroke" - width="533.6312499999999" + width="79.2" x="0" y="68" /> @@ -666,10 +666,10 @@ exports[`reports are formatted to datums 1`] = ` style="fill: #8bc1f7;" /> <path - d="M 274.65562499999993, 84.156 - h12.32000000000005 + d="M 47.44, 84.156 + h12.320000000000007 v-4.312 - h-12.32000000000005 + h-12.320000000000007 z" role="presentation" shape-rendering="auto" @@ -696,7 +696,7 @@ exports[`reports are formatted to datums 1`] = ` direction="inherit" dx="0" id="exampleTrendChart-legend-ChartLabel-1" - x="297.61562499999997" + x="70.39999999999999" y="86.97" > <tspan @@ -704,7 +704,7 @@ exports[`reports are formatted to datums 1`] = ` dy="0" style="font-family: "RedHatText","Overpass",overpass,helvetica,arial,sans-serif; font-size: 14px; letter-spacing: normal; padding: 10px; stroke: var(--pf-chart-global--label--stroke, transparent); fill: var(--pf-chart-global--label--Fill, #151515);" text-anchor="start" - x="297.61562499999997" + x="70.39999999999999" > Cost ({dateRange}){"dateRange":""} </tspan> diff --git a/src/routes/components/charts/historicalUsageChart/__snapshots__/historicalUsageChart.test.tsx.snap b/src/routes/components/charts/historicalUsageChart/__snapshots__/historicalUsageChart.test.tsx.snap index 697ac94d7..15de8cfb3 100644 --- a/src/routes/components/charts/historicalUsageChart/__snapshots__/historicalUsageChart.test.tsx.snap +++ b/src/routes/components/charts/historicalUsageChart/__snapshots__/historicalUsageChart.test.tsx.snap @@ -396,12 +396,12 @@ exports[`reports are formatted to datums 1`] = ` </g> <g> <rect - height="92.71499999999999" + height="42" role="presentation" shape-rendering="auto" style="fill: none;" vector-effect="non-scaling-stroke" - width="553.0562499999999" + width="79.2" x="0" y="78" /> @@ -416,27 +416,27 @@ exports[`reports are formatted to datums 1`] = ` style="fill: #8bc1f7;" /> <path - d="M 284.3681249999999, 94.156 - h12.32000000000005 + d="M 47.44, 94.156 + h12.320000000000007 v-4.312 - h-12.32000000000005 + h-12.320000000000007 z" role="presentation" shape-rendering="auto" style="fill: #38812f;" /> <path - d="M 7.84, 125.061 + d="M 7.84, 108.156 h3.6959999999999997 v-4.312 h-3.6959999999999997 z - M 12.767999999999999, 125.061 + M 12.767999999999999, 108.156 h3.6959999999999997 v-4.312 h-3.6959999999999997 z - M 17.695999999999998, 125.061 + M 17.695999999999998, 108.156 h3.6959999999999997 v-4.312 h-3.6959999999999997 @@ -446,27 +446,27 @@ exports[`reports are formatted to datums 1`] = ` style="fill: #519de9;" /> <path - d="M 284.3681249999999, 125.061 - h3.696000000000015 + d="M 47.44, 108.156 + h3.696000000000002 v-4.312 - h-3.696000000000015 + h-3.696000000000002 z - M 289.29612499999996, 125.061 - h3.696000000000015 + M 52.368, 108.156 + h3.696000000000002 v-4.312 - h-3.696000000000015 + h-3.696000000000002 z - M 294.22412499999996, 125.061 - h3.696000000000015 + M 57.296, 108.156 + h3.696000000000002 v-4.312 - h-3.696000000000015 + h-3.696000000000002 z" role="presentation" shape-rendering="auto" style="fill: #4cb140;" /> <path - d="M 7.84, 155.966 + d="M 7.84, 122.156 h12.32 v-4.312 h-12.32 @@ -476,10 +476,10 @@ exports[`reports are formatted to datums 1`] = ` style="fill: #06c;" /> <path - d="M 284.3681249999999, 155.966 - h12.32000000000005 + d="M 47.44, 122.156 + h12.320000000000007 v-4.312 - h-12.32000000000005 + h-12.320000000000007 z" role="presentation" shape-rendering="auto" @@ -506,7 +506,7 @@ exports[`reports are formatted to datums 1`] = ` direction="inherit" dx="0" id="exampleUsageChart-legend-ChartLabel-1" - x="307.32812499999994" + x="70.39999999999999" y="96.97" > <tspan @@ -514,7 +514,7 @@ exports[`reports are formatted to datums 1`] = ` dy="0" style="font-family: "RedHatText","Overpass",overpass,helvetica,arial,sans-serif; font-size: 14px; letter-spacing: normal; padding: 10px; stroke: var(--pf-chart-global--label--stroke, transparent); fill: var(--pf-chart-global--label--Fill, #151515);" text-anchor="start" - x="307.32812499999994" + x="70.39999999999999" > Usage ({dateRange}){"dateRange":""} </tspan> @@ -524,7 +524,7 @@ exports[`reports are formatted to datums 1`] = ` dx="0" id="exampleUsageChart-legend-ChartLabel-2" x="30.8" - y="127.875" + y="110.97" > <tspan dx="0" @@ -540,15 +540,15 @@ exports[`reports are formatted to datums 1`] = ` direction="inherit" dx="0" id="exampleUsageChart-legend-ChartLabel-3" - x="307.32812499999994" - y="127.875" + x="70.39999999999999" + y="110.97" > <tspan dx="0" dy="0" style="font-family: "RedHatText","Overpass",overpass,helvetica,arial,sans-serif; font-size: 14px; letter-spacing: normal; padding: 10px; stroke: var(--pf-chart-global--label--stroke, transparent); fill: var(--pf-chart-global--label--Fill, #151515);" text-anchor="start" - x="307.32812499999994" + x="70.39999999999999" > Requests (no data) </tspan> @@ -558,7 +558,7 @@ exports[`reports are formatted to datums 1`] = ` dx="0" id="exampleUsageChart-legend-ChartLabel-4" x="30.8" - y="158.78" + y="124.97" > <tspan dx="0" @@ -574,15 +574,15 @@ exports[`reports are formatted to datums 1`] = ` direction="inherit" dx="0" id="exampleUsageChart-legend-ChartLabel-5" - x="307.32812499999994" - y="158.78" + x="70.39999999999999" + y="124.97" > <tspan dx="0" dy="0" style="font-family: "RedHatText","Overpass",overpass,helvetica,arial,sans-serif; font-size: 14px; letter-spacing: normal; padding: 10px; stroke: var(--pf-chart-global--label--stroke, transparent); fill: var(--pf-chart-global--label--Fill, #151515);" text-anchor="start" - x="307.32812499999994" + x="70.39999999999999" > Limit (no data) </tspan> diff --git a/src/routes/components/charts/trendChart/__snapshots__/trendChart.test.tsx.snap b/src/routes/components/charts/trendChart/__snapshots__/trendChart.test.tsx.snap index a315c8396..caccd3d0b 100644 --- a/src/routes/components/charts/trendChart/__snapshots__/trendChart.test.tsx.snap +++ b/src/routes/components/charts/trendChart/__snapshots__/trendChart.test.tsx.snap @@ -276,12 +276,12 @@ exports[`reports are formatted to datums 1`] = ` </g> <g> <rect - height="61.809999999999995" + height="28" role="presentation" shape-rendering="auto" style="fill: none;" vector-effect="non-scaling-stroke" - width="266.81562499999995" + width="39.6" x="0" y="82" /> @@ -296,7 +296,7 @@ exports[`reports are formatted to datums 1`] = ` style="fill: #d2d2d2;" /> <path - d="M 7.84, 129.061 + d="M 7.84, 112.156 h12.32 v-4.312 h-12.32 @@ -327,7 +327,7 @@ exports[`reports are formatted to datums 1`] = ` dx="0" id="exampleTrendChart-legend-ChartLabel-1" x="30.8" - y="131.875" + y="114.97" > <tspan dx="0" diff --git a/src/routes/components/charts/usageChart/__snapshots__/usageChart.test.tsx.snap b/src/routes/components/charts/usageChart/__snapshots__/usageChart.test.tsx.snap index ae846c570..93a9910b4 100644 --- a/src/routes/components/charts/usageChart/__snapshots__/usageChart.test.tsx.snap +++ b/src/routes/components/charts/usageChart/__snapshots__/usageChart.test.tsx.snap @@ -323,12 +323,12 @@ exports[`reports are formatted to datums 1`] = ` </g> <g> <rect - height="123.61999999999999" + height="56" role="presentation" shape-rendering="auto" style="fill: none;" vector-effect="non-scaling-stroke" - width="276.52812499999993" + width="39.6" x="0" y="57" /> @@ -343,7 +343,7 @@ exports[`reports are formatted to datums 1`] = ` style="fill: #d2d2d2;" /> <path - d="M 7.84, 104.061 + d="M 7.84, 87.156 h12.32 v-4.312 h-12.32 @@ -353,17 +353,17 @@ exports[`reports are formatted to datums 1`] = ` style="fill: #38812f;" /> <path - d="M 7.84, 134.966 + d="M 7.84, 101.156 h3.6959999999999997 v-4.312 h-3.6959999999999997 z - M 12.767999999999999, 134.966 + M 12.767999999999999, 101.156 h3.6959999999999997 v-4.312 h-3.6959999999999997 z - M 17.695999999999998, 134.966 + M 17.695999999999998, 101.156 h3.6959999999999997 v-4.312 h-3.6959999999999997 @@ -373,17 +373,17 @@ exports[`reports are formatted to datums 1`] = ` style="fill: #d2d2d2;" /> <path - d="M 7.84, 165.87099999999998 + d="M 7.84, 115.156 h3.6959999999999997 v-4.312 h-3.6959999999999997 z - M 12.767999999999999, 165.87099999999998 + M 12.767999999999999, 115.156 h3.6959999999999997 v-4.312 h-3.6959999999999997 z - M 17.695999999999998, 165.87099999999998 + M 17.695999999999998, 115.156 h3.6959999999999997 v-4.312 h-3.6959999999999997 @@ -414,7 +414,7 @@ exports[`reports are formatted to datums 1`] = ` dx="0" id="exampleUsageChart-legend-ChartLabel-1" x="30.8" - y="106.875" + y="89.97" > <tspan dx="0" @@ -431,7 +431,7 @@ exports[`reports are formatted to datums 1`] = ` dx="0" id="exampleUsageChart-legend-ChartLabel-2" x="30.8" - y="137.78" + y="103.97" > <tspan dx="0" @@ -448,7 +448,7 @@ exports[`reports are formatted to datums 1`] = ` dx="0" id="exampleUsageChart-legend-ChartLabel-3" x="30.8" - y="168.68499999999997" + y="117.97" > <tspan dx="0" From bd98e0acbd99770f933b615e3d36b15ad6d564ea Mon Sep 17 00:00:00 2001 From: Dan Labrecque <dlabrecq@redhat.com> Date: Thu, 15 Jun 2023 14:01:30 -0400 Subject: [PATCH 17/24] Update types for future React 18 update https://issues.redhat.com/browse/COST-3928 --- src/components/async/asyncComponent.test.tsx | 32 ++++++++++++------- .../components/inputs/rateInput.tsx | 6 ++-- .../costModels/components/inputs/selector.tsx | 6 ++-- .../components/inputs/simpleInput.tsx | 6 ++-- .../costModels/costModel/sourcesTable.tsx | 2 +- .../costModels/costModelWizard/sources.tsx | 8 ++--- .../components/inputs/rateInput.tsx | 6 ++-- .../costModels/components/inputs/selector.tsx | 6 ++-- .../components/inputs/simpleInput.tsx | 6 ++-- .../costModels/costModel/sourcesTable.tsx | 2 +- .../costModels/costModelWizard/sources.tsx | 8 ++--- src/routes/settings/settings.tsx | 5 +-- 12 files changed, 58 insertions(+), 35 deletions(-) diff --git a/src/components/async/asyncComponent.test.tsx b/src/components/async/asyncComponent.test.tsx index 49bb17755..42552e5dc 100644 --- a/src/components/async/asyncComponent.test.tsx +++ b/src/components/async/asyncComponent.test.tsx @@ -1,4 +1,5 @@ -import { render, screen, waitFor } from '@testing-library/react'; +/* eslint-disable testing-library/no-unnecessary-act */ +import { act, render, screen, waitFor } from '@testing-library/react'; import React from 'react'; import asyncComponent from './asyncComponent'; @@ -8,23 +9,28 @@ const UnwrappedComponent = props => <div>{props.quote || 'Unwrapped'}</div>; test('renders empty while loading', async () => { const loader = jest.fn(() => Promise.resolve(UnwrappedComponent)); const Wrapped = asyncComponent(loader); - render(<Wrapped />); - expect(loader).toBeCalled(); - expect(screen.queryByText(/unwrapped/i)).toBeNull(); + await act(async () => { + render(<Wrapped />); + expect(screen.queryByText(/unwrapped/i)).toBeNull(); + }); }); test('component is loaded on mount', async () => { const loader = jest.fn(() => Promise.resolve(UnwrappedComponent)); const Wrapped = asyncComponent(loader); - render(<Wrapped />); + await act(async () => { + render(<Wrapped />); + }); await waitFor(() => expect(loader).toHaveBeenCalled); expect(screen.getByText('Unwrapped')).not.toBeNull(); }); test('component with default export is used', async () => { - const loader = jest.fn(() => Promise.resolve({ default: UnwrappedComponent })); + const loader = jest.fn(() => Promise.resolve(UnwrappedComponent)); const Wrapped = asyncComponent(loader); - render(<Wrapped />); + await act(async () => { + render(<Wrapped />); + }); await waitFor(() => expect(loader).toHaveBeenCalled); expect(screen.getByText('Unwrapped')).not.toBeNull(); }); @@ -32,17 +38,21 @@ test('component with default export is used', async () => { test('only loades the component once', async () => { const loader = jest.fn(() => Promise.resolve(UnwrappedComponent)); const Wrapped = asyncComponent(loader); - const view = render(<Wrapped />); - view.rerender(<Wrapped />); + await act(async () => { + const view = render(<Wrapped />); + view.rerender(<Wrapped />); + }); await waitFor(() => expect(loader).toHaveBeenCalled); expect(loader).toHaveBeenCalledTimes(1); }); test('spreads props to wrapped component', async () => { const loader = jest.fn(() => Promise.resolve(UnwrappedComponent)); - const Wrapped = asyncComponent<any>(loader); + const Wrapped = asyncComponent(loader); const quote = 'The only winning move is not to play.'; - render(<Wrapped quote={quote} />); + await act(async () => { + render(<Wrapped quote={quote} />); + }); await waitFor(() => expect(loader).toHaveBeenCalled); expect(screen.getByText(quote)).not.toBeNull(); }); diff --git a/src/routes/costModels/components/inputs/rateInput.tsx b/src/routes/costModels/components/inputs/rateInput.tsx index e063c2a1f..b64e695a9 100644 --- a/src/routes/costModels/components/inputs/rateInput.tsx +++ b/src/routes/costModels/components/inputs/rateInput.tsx @@ -43,8 +43,10 @@ const RateInputBase: React.FC<RateInputBaseProps> = ({ isRequired style={style} fieldId={fieldId} - label={label !== null && typeof label === 'object' ? intl.formatMessage(label) : label} - helperTextInvalid={helpText !== null && typeof helpText === 'object' ? intl.formatMessage(helpText) : helpText} + label={label !== null && typeof label === 'object' ? intl.formatMessage(label) : (label as string)} + helperTextInvalid={ + helpText !== null && typeof helpText === 'object' ? intl.formatMessage(helpText) : (helpText as string) + } validated={validated} > <InputGroup> diff --git a/src/routes/costModels/components/inputs/selector.tsx b/src/routes/costModels/components/inputs/selector.tsx index 35dc427c0..7129c8a60 100644 --- a/src/routes/costModels/components/inputs/selector.tsx +++ b/src/routes/costModels/components/inputs/selector.tsx @@ -83,8 +83,10 @@ const SelectorBase: React.FC<SelectorProps> = ({ isRequired={isRequired} style={style} fieldId={id} - label={label !== null && typeof label === 'object' ? intl.formatMessage(label) : label} - helperTextInvalid={helpText !== null && typeof helpText === 'object' ? intl.formatMessage(helpText) : helpText} + label={label !== null && typeof label === 'object' ? intl.formatMessage(label) : (label as string)} + helperTextInvalid={ + helpText !== null && typeof helpText === 'object' ? intl.formatMessage(helpText) : (helpText as string) + } validated={isInvalid ? 'error' : 'default'} > <Select diff --git a/src/routes/costModels/components/inputs/simpleInput.tsx b/src/routes/costModels/components/inputs/simpleInput.tsx index e80669d5f..172e84822 100644 --- a/src/routes/costModels/components/inputs/simpleInput.tsx +++ b/src/routes/costModels/components/inputs/simpleInput.tsx @@ -36,8 +36,10 @@ const SimpleInputBase: React.FC<SimpleInputProps> = ({ isRequired={isRequired} style={style} fieldId={id} - label={label !== null && typeof label === 'object' ? intl.formatMessage(label) : label} - helperTextInvalid={helpText !== null && typeof helpText === 'object' ? intl.formatMessage(helpText) : helpText} + label={label !== null && typeof label === 'object' ? intl.formatMessage(label) : (label as string)} + helperTextInvalid={ + helpText !== null && typeof helpText === 'object' ? intl.formatMessage(helpText) : (helpText as string) + } validated={validated} > <TextInput diff --git a/src/routes/costModels/costModel/sourcesTable.tsx b/src/routes/costModels/costModel/sourcesTable.tsx index c479c5582..e6e21da4a 100644 --- a/src/routes/costModels/costModel/sourcesTable.tsx +++ b/src/routes/costModels/costModel/sourcesTable.tsx @@ -57,7 +57,7 @@ const SourcesTable: React.FC<SourcesTableProps> = ({ canWrite, costModels, intl, </Tr> </Thead> <Tbody> - {rows.map((r, rowIndex) => ( + {rows.map((r: any, rowIndex) => ( <Tr key={rowIndex}> <Td>{r}</Td> <Td isActionCell> diff --git a/src/routes/costModels/costModelWizard/sources.tsx b/src/routes/costModels/costModelWizard/sources.tsx index 18a578986..accd9dfc6 100644 --- a/src/routes/costModels/costModelWizard/sources.tsx +++ b/src/routes/costModels/costModelWizard/sources.tsx @@ -10,14 +10,14 @@ class Sources extends React.Component<any, any> { constructor(props) { super(props); this.fetchData = () => { - const { type, query, page, perPage, fetchSources } = this.context; + const { type, query, page, perPage, fetchSources } = this.context as any; const sourceType = type === 'Azure' ? 'Azure' : type; fetchSources(sourceType, query, page, perPage); }; } public componentDidMount() { - const { dataFetched } = this.context; + const { dataFetched } = this.context as any; if (dataFetched) { return; } @@ -25,11 +25,11 @@ class Sources extends React.Component<any, any> { } public renderContent() { - if (this.context.loading) { + if ((this.context as any).loading) { return <LoadingState />; } - if (this.context.apiError) { + if ((this.context as any).apiError) { return <SourceStepErrorState onRefresh={this.fetchData} />; } return <SourcesTable />; diff --git a/src/routes/settings/costModels/components/inputs/rateInput.tsx b/src/routes/settings/costModels/components/inputs/rateInput.tsx index e063c2a1f..b64e695a9 100644 --- a/src/routes/settings/costModels/components/inputs/rateInput.tsx +++ b/src/routes/settings/costModels/components/inputs/rateInput.tsx @@ -43,8 +43,10 @@ const RateInputBase: React.FC<RateInputBaseProps> = ({ isRequired style={style} fieldId={fieldId} - label={label !== null && typeof label === 'object' ? intl.formatMessage(label) : label} - helperTextInvalid={helpText !== null && typeof helpText === 'object' ? intl.formatMessage(helpText) : helpText} + label={label !== null && typeof label === 'object' ? intl.formatMessage(label) : (label as string)} + helperTextInvalid={ + helpText !== null && typeof helpText === 'object' ? intl.formatMessage(helpText) : (helpText as string) + } validated={validated} > <InputGroup> diff --git a/src/routes/settings/costModels/components/inputs/selector.tsx b/src/routes/settings/costModels/components/inputs/selector.tsx index 35dc427c0..7129c8a60 100644 --- a/src/routes/settings/costModels/components/inputs/selector.tsx +++ b/src/routes/settings/costModels/components/inputs/selector.tsx @@ -83,8 +83,10 @@ const SelectorBase: React.FC<SelectorProps> = ({ isRequired={isRequired} style={style} fieldId={id} - label={label !== null && typeof label === 'object' ? intl.formatMessage(label) : label} - helperTextInvalid={helpText !== null && typeof helpText === 'object' ? intl.formatMessage(helpText) : helpText} + label={label !== null && typeof label === 'object' ? intl.formatMessage(label) : (label as string)} + helperTextInvalid={ + helpText !== null && typeof helpText === 'object' ? intl.formatMessage(helpText) : (helpText as string) + } validated={isInvalid ? 'error' : 'default'} > <Select diff --git a/src/routes/settings/costModels/components/inputs/simpleInput.tsx b/src/routes/settings/costModels/components/inputs/simpleInput.tsx index e80669d5f..172e84822 100644 --- a/src/routes/settings/costModels/components/inputs/simpleInput.tsx +++ b/src/routes/settings/costModels/components/inputs/simpleInput.tsx @@ -36,8 +36,10 @@ const SimpleInputBase: React.FC<SimpleInputProps> = ({ isRequired={isRequired} style={style} fieldId={id} - label={label !== null && typeof label === 'object' ? intl.formatMessage(label) : label} - helperTextInvalid={helpText !== null && typeof helpText === 'object' ? intl.formatMessage(helpText) : helpText} + label={label !== null && typeof label === 'object' ? intl.formatMessage(label) : (label as string)} + helperTextInvalid={ + helpText !== null && typeof helpText === 'object' ? intl.formatMessage(helpText) : (helpText as string) + } validated={validated} > <TextInput diff --git a/src/routes/settings/costModels/costModel/sourcesTable.tsx b/src/routes/settings/costModels/costModel/sourcesTable.tsx index c479c5582..e6e21da4a 100644 --- a/src/routes/settings/costModels/costModel/sourcesTable.tsx +++ b/src/routes/settings/costModels/costModel/sourcesTable.tsx @@ -57,7 +57,7 @@ const SourcesTable: React.FC<SourcesTableProps> = ({ canWrite, costModels, intl, </Tr> </Thead> <Tbody> - {rows.map((r, rowIndex) => ( + {rows.map((r: any, rowIndex) => ( <Tr key={rowIndex}> <Td>{r}</Td> <Td isActionCell> diff --git a/src/routes/settings/costModels/costModelWizard/sources.tsx b/src/routes/settings/costModels/costModelWizard/sources.tsx index f1bbcab20..f3e947998 100644 --- a/src/routes/settings/costModels/costModelWizard/sources.tsx +++ b/src/routes/settings/costModels/costModelWizard/sources.tsx @@ -10,14 +10,14 @@ class Sources extends React.Component<any, any> { constructor(props) { super(props); this.fetchData = () => { - const { type, query, page, perPage, fetchSources } = this.context; + const { type, query, page, perPage, fetchSources } = this.context as any; const sourceType = type === 'Azure' ? 'Azure' : type; fetchSources(sourceType, query, page, perPage); }; } public componentDidMount() { - const { dataFetched } = this.context; + const { dataFetched } = this.context as any; if (dataFetched) { return; } @@ -25,11 +25,11 @@ class Sources extends React.Component<any, any> { } public renderContent() { - if (this.context.loading) { + if ((this.context as any).loading) { return <LoadingState />; } - if (this.context.apiError) { + if ((this.context as any).apiError) { return <SourceStepErrorState onRefresh={this.fetchData} />; } return <SourcesTable />; diff --git a/src/routes/settings/settings.tsx b/src/routes/settings/settings.tsx index 4d0ae0c52..bd920c778 100644 --- a/src/routes/settings/settings.tsx +++ b/src/routes/settings/settings.tsx @@ -6,6 +6,7 @@ import type { UserAccess } from 'api/userAccess'; import { UserAccessType } from 'api/userAccess'; import type { AxiosError } from 'axios'; import messages from 'locales/messages'; +import type { RefObject } from 'react'; import React, { useState } from 'react'; import { useIntl } from 'react-intl'; import { useSelector } from 'react-redux'; @@ -53,7 +54,7 @@ export const getIdKeyForTab = (tab: SettingsTab) => { }; interface AvailableTab { - contentRef: React.ReactNode; + contentRef: RefObject<any>; tab: SettingsTab; } @@ -81,7 +82,7 @@ const Settings: React.FC<SettingsProps> = ({ chrome }) => { const intl = useIntl(); const getAvailableTabs = () => { - const availableTabs = [ + const availableTabs: AvailableTab[] = [ { contentRef: React.createRef(), tab: SettingsTab.costModels, From c92060c886bf404f156849d7d21899355472b33c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 20 Jun 2023 10:58:04 +0000 Subject: [PATCH 18/24] (chore): Bump @redhat-cloud-services/frontend-components-config Bumps [@redhat-cloud-services/frontend-components-config](https://github.com/RedHatInsights/frontend-components) from 5.0.1 to 5.0.2. - [Commits](https://github.com/RedHatInsights/frontend-components/commits) --- updated-dependencies: - dependency-name: "@redhat-cloud-services/frontend-components-config" dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> --- package-lock.json | 14 +++++++------- package.json | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/package-lock.json b/package-lock.json index b8bc05c3f..3a865ee37 100644 --- a/package-lock.json +++ b/package-lock.json @@ -44,7 +44,7 @@ "devDependencies": { "@formatjs/cli": "^6.1.3", "@redhat-cloud-services/eslint-config-redhat-cloud-services": "^1.3.0", - "@redhat-cloud-services/frontend-components-config": "^5.0.1", + "@redhat-cloud-services/frontend-components-config": "^5.0.2", "@testing-library/react": "^12.1.5", "@testing-library/user-event": "^14.4.3", "@types/jest": "^29.5.2", @@ -2356,9 +2356,9 @@ } }, "node_modules/@redhat-cloud-services/frontend-components-config": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@redhat-cloud-services/frontend-components-config/-/frontend-components-config-5.0.1.tgz", - "integrity": "sha512-PTP8P1yTqB490jFwkBXcUAlTvaJOAacX3flf1CX6TPuQbtErETRrSn6i9RNQkDkDNN4cu/ZRzEjdwOGH7LaOPg==", + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@redhat-cloud-services/frontend-components-config/-/frontend-components-config-5.0.2.tgz", + "integrity": "sha512-tbD5pELEX0Dk3vJoAfKdpYgoAHRL24PeGRLIBV0CaE1JD/zF3rbPYxy8Ukox/Z9aekZ+WGgwQ0rFn43T4Csk1A==", "dev": true, "dependencies": { "@pmmmwh/react-refresh-webpack-plugin": "^0.5.8", @@ -21000,9 +21000,9 @@ } }, "@redhat-cloud-services/frontend-components-config": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@redhat-cloud-services/frontend-components-config/-/frontend-components-config-5.0.1.tgz", - "integrity": "sha512-PTP8P1yTqB490jFwkBXcUAlTvaJOAacX3flf1CX6TPuQbtErETRrSn6i9RNQkDkDNN4cu/ZRzEjdwOGH7LaOPg==", + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@redhat-cloud-services/frontend-components-config/-/frontend-components-config-5.0.2.tgz", + "integrity": "sha512-tbD5pELEX0Dk3vJoAfKdpYgoAHRL24PeGRLIBV0CaE1JD/zF3rbPYxy8Ukox/Z9aekZ+WGgwQ0rFn43T4Csk1A==", "dev": true, "requires": { "@pmmmwh/react-refresh-webpack-plugin": "^0.5.8", diff --git a/package.json b/package.json index 77882a30a..736eacb56 100644 --- a/package.json +++ b/package.json @@ -79,7 +79,7 @@ "devDependencies": { "@formatjs/cli": "^6.1.3", "@redhat-cloud-services/eslint-config-redhat-cloud-services": "^1.3.0", - "@redhat-cloud-services/frontend-components-config": "^5.0.1", + "@redhat-cloud-services/frontend-components-config": "^5.0.2", "@testing-library/react": "^12.1.5", "@testing-library/user-event": "^14.4.3", "@types/jest": "^29.5.2", From fe81e8780cc665ff336ad2b520ee40a0e161923d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 20 Jun 2023 10:58:37 +0000 Subject: [PATCH 19/24] (chore): Bump @typescript-eslint/eslint-plugin from 5.59.11 to 5.60.0 Bumps [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) from 5.59.11 to 5.60.0. - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases) - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md) - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v5.60.0/packages/eslint-plugin) --- updated-dependencies: - dependency-name: "@typescript-eslint/eslint-plugin" dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> --- package-lock.json | 459 ++++++++++++++++++++++++++++++++++++++++++---- package.json | 2 +- 2 files changed, 425 insertions(+), 36 deletions(-) diff --git a/package-lock.json b/package-lock.json index b8bc05c3f..1f476f277 100644 --- a/package-lock.json +++ b/package-lock.json @@ -53,7 +53,7 @@ "@types/react-dom": "^17.0.9", "@types/react-redux": "^7.1.25", "@types/react-router-dom": "^5.3.3", - "@typescript-eslint/eslint-plugin": "^5.59.11", + "@typescript-eslint/eslint-plugin": "^5.60.0", "@typescript-eslint/parser": "^5.59.11", "@xstate/test": "^0.5.1", "aphrodite": "^2.4.0", @@ -3731,15 +3731,15 @@ } }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "5.59.11", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.59.11.tgz", - "integrity": "sha512-XxuOfTkCUiOSyBWIvHlUraLw/JT/6Io1365RO6ZuI88STKMavJZPNMU0lFcUTeQXEhHiv64CbxYxBNoDVSmghg==", + "version": "5.60.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.60.0.tgz", + "integrity": "sha512-78B+anHLF1TI8Jn/cD0Q00TBYdMgjdOn980JfAVa9yw5sop8nyTfVOQAv6LWywkOGLclDBtv5z3oxN4w7jxyNg==", "dev": true, "dependencies": { "@eslint-community/regexpp": "^4.4.0", - "@typescript-eslint/scope-manager": "5.59.11", - "@typescript-eslint/type-utils": "5.59.11", - "@typescript-eslint/utils": "5.59.11", + "@typescript-eslint/scope-manager": "5.60.0", + "@typescript-eslint/type-utils": "5.60.0", + "@typescript-eslint/utils": "5.60.0", "debug": "^4.3.4", "grapheme-splitter": "^1.0.4", "ignore": "^5.2.0", @@ -3764,6 +3764,65 @@ } } }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/scope-manager": { + "version": "5.60.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.60.0.tgz", + "integrity": "sha512-hakuzcxPwXi2ihf9WQu1BbRj1e/Pd8ZZwVTG9kfbxAMZstKz8/9OoexIwnmLzShtsdap5U/CoQGRCWlSuPbYxQ==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.60.0", + "@typescript-eslint/visitor-keys": "5.60.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/types": { + "version": "5.60.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.60.0.tgz", + "integrity": "sha512-ascOuoCpNZBccFVNJRSC6rPq4EmJ2NkuoKnd6LDNyAQmdDnziAtxbCGWCbefG1CNzmDvd05zO36AmB7H8RzKPA==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/visitor-keys": { + "version": "5.60.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.60.0.tgz", + "integrity": "sha512-wm9Uz71SbCyhUKgcaPRauBdTegUyY/ZWl8gLwD/i/ybJqscrrdVSFImpvUz16BLPChIeKBK5Fa9s6KDQjsjyWw==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.60.0", + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/eslint-visitor-keys": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz", + "integrity": "sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, "node_modules/@typescript-eslint/eslint-plugin/node_modules/lru-cache": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", @@ -3842,13 +3901,13 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "5.59.11", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.59.11.tgz", - "integrity": "sha512-LZqVY8hMiVRF2a7/swmkStMYSoXMFlzL6sXV6U/2gL5cwnLWQgLEG8tjWPpaE4rMIdZ6VKWwcffPlo1jPfk43g==", + "version": "5.60.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.60.0.tgz", + "integrity": "sha512-X7NsRQddORMYRFH7FWo6sA9Y/zbJ8s1x1RIAtnlj6YprbToTiQnM6vxcMu7iYhdunmoC0rUWlca13D5DVHkK2g==", "dev": true, "dependencies": { - "@typescript-eslint/typescript-estree": "5.59.11", - "@typescript-eslint/utils": "5.59.11", + "@typescript-eslint/typescript-estree": "5.60.0", + "@typescript-eslint/utils": "5.60.0", "debug": "^4.3.4", "tsutils": "^3.21.0" }, @@ -3868,6 +3927,108 @@ } } }, + "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/types": { + "version": "5.60.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.60.0.tgz", + "integrity": "sha512-ascOuoCpNZBccFVNJRSC6rPq4EmJ2NkuoKnd6LDNyAQmdDnziAtxbCGWCbefG1CNzmDvd05zO36AmB7H8RzKPA==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/typescript-estree": { + "version": "5.60.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.60.0.tgz", + "integrity": "sha512-R43thAuwarC99SnvrBmh26tc7F6sPa2B3evkXp/8q954kYL6Ro56AwASYWtEEi+4j09GbiNAHqYwNNZuNlARGQ==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.60.0", + "@typescript-eslint/visitor-keys": "5.60.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/visitor-keys": { + "version": "5.60.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.60.0.tgz", + "integrity": "sha512-wm9Uz71SbCyhUKgcaPRauBdTegUyY/ZWl8gLwD/i/ybJqscrrdVSFImpvUz16BLPChIeKBK5Fa9s6KDQjsjyWw==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.60.0", + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/type-utils/node_modules/eslint-visitor-keys": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz", + "integrity": "sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@typescript-eslint/type-utils/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/type-utils/node_modules/semver": { + "version": "7.5.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.2.tgz", + "integrity": "sha512-SoftuTROv/cRjCze/scjGyiDtcUyxw1rgYQSZY7XTmtR5hX+dm76iDbTH8TkLPHCQmlbQVSSbNZCPM2hb0knnQ==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/type-utils/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, "node_modules/@typescript-eslint/types": { "version": "5.59.11", "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.59.11.tgz", @@ -3942,17 +4103,17 @@ "dev": true }, "node_modules/@typescript-eslint/utils": { - "version": "5.59.11", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.59.11.tgz", - "integrity": "sha512-didu2rHSOMUdJThLk4aZ1Or8IcO3HzCw/ZvEjTTIfjIrcdd5cvSIwwDy2AOlE7htSNp7QIZ10fLMyRCveesMLg==", + "version": "5.60.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.60.0.tgz", + "integrity": "sha512-ba51uMqDtfLQ5+xHtwlO84vkdjrqNzOnqrnwbMHMRY8Tqeme8C2Q8Fc7LajfGR+e3/4LoYiWXUM6BpIIbHJ4hQ==", "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@types/json-schema": "^7.0.9", "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.59.11", - "@typescript-eslint/types": "5.59.11", - "@typescript-eslint/typescript-estree": "5.59.11", + "@typescript-eslint/scope-manager": "5.60.0", + "@typescript-eslint/types": "5.60.0", + "@typescript-eslint/typescript-estree": "5.60.0", "eslint-scope": "^5.1.1", "semver": "^7.3.7" }, @@ -3967,6 +4128,92 @@ "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, + "node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/scope-manager": { + "version": "5.60.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.60.0.tgz", + "integrity": "sha512-hakuzcxPwXi2ihf9WQu1BbRj1e/Pd8ZZwVTG9kfbxAMZstKz8/9OoexIwnmLzShtsdap5U/CoQGRCWlSuPbYxQ==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.60.0", + "@typescript-eslint/visitor-keys": "5.60.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/types": { + "version": "5.60.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.60.0.tgz", + "integrity": "sha512-ascOuoCpNZBccFVNJRSC6rPq4EmJ2NkuoKnd6LDNyAQmdDnziAtxbCGWCbefG1CNzmDvd05zO36AmB7H8RzKPA==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/typescript-estree": { + "version": "5.60.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.60.0.tgz", + "integrity": "sha512-R43thAuwarC99SnvrBmh26tc7F6sPa2B3evkXp/8q954kYL6Ro56AwASYWtEEi+4j09GbiNAHqYwNNZuNlARGQ==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.60.0", + "@typescript-eslint/visitor-keys": "5.60.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/visitor-keys": { + "version": "5.60.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.60.0.tgz", + "integrity": "sha512-wm9Uz71SbCyhUKgcaPRauBdTegUyY/ZWl8gLwD/i/ybJqscrrdVSFImpvUz16BLPChIeKBK5Fa9s6KDQjsjyWw==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.60.0", + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/utils/node_modules/eslint-visitor-keys": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz", + "integrity": "sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, "node_modules/@typescript-eslint/utils/node_modules/lru-cache": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", @@ -22216,15 +22463,15 @@ } }, "@typescript-eslint/eslint-plugin": { - "version": "5.59.11", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.59.11.tgz", - "integrity": "sha512-XxuOfTkCUiOSyBWIvHlUraLw/JT/6Io1365RO6ZuI88STKMavJZPNMU0lFcUTeQXEhHiv64CbxYxBNoDVSmghg==", + "version": "5.60.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.60.0.tgz", + "integrity": "sha512-78B+anHLF1TI8Jn/cD0Q00TBYdMgjdOn980JfAVa9yw5sop8nyTfVOQAv6LWywkOGLclDBtv5z3oxN4w7jxyNg==", "dev": true, "requires": { "@eslint-community/regexpp": "^4.4.0", - "@typescript-eslint/scope-manager": "5.59.11", - "@typescript-eslint/type-utils": "5.59.11", - "@typescript-eslint/utils": "5.59.11", + "@typescript-eslint/scope-manager": "5.60.0", + "@typescript-eslint/type-utils": "5.60.0", + "@typescript-eslint/utils": "5.60.0", "debug": "^4.3.4", "grapheme-splitter": "^1.0.4", "ignore": "^5.2.0", @@ -22233,6 +22480,38 @@ "tsutils": "^3.21.0" }, "dependencies": { + "@typescript-eslint/scope-manager": { + "version": "5.60.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.60.0.tgz", + "integrity": "sha512-hakuzcxPwXi2ihf9WQu1BbRj1e/Pd8ZZwVTG9kfbxAMZstKz8/9OoexIwnmLzShtsdap5U/CoQGRCWlSuPbYxQ==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.60.0", + "@typescript-eslint/visitor-keys": "5.60.0" + } + }, + "@typescript-eslint/types": { + "version": "5.60.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.60.0.tgz", + "integrity": "sha512-ascOuoCpNZBccFVNJRSC6rPq4EmJ2NkuoKnd6LDNyAQmdDnziAtxbCGWCbefG1CNzmDvd05zO36AmB7H8RzKPA==", + "dev": true + }, + "@typescript-eslint/visitor-keys": { + "version": "5.60.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.60.0.tgz", + "integrity": "sha512-wm9Uz71SbCyhUKgcaPRauBdTegUyY/ZWl8gLwD/i/ybJqscrrdVSFImpvUz16BLPChIeKBK5Fa9s6KDQjsjyWw==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.60.0", + "eslint-visitor-keys": "^3.3.0" + } + }, + "eslint-visitor-keys": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz", + "integrity": "sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==", + "dev": true + }, "lru-cache": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", @@ -22282,15 +22561,78 @@ } }, "@typescript-eslint/type-utils": { - "version": "5.59.11", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.59.11.tgz", - "integrity": "sha512-LZqVY8hMiVRF2a7/swmkStMYSoXMFlzL6sXV6U/2gL5cwnLWQgLEG8tjWPpaE4rMIdZ6VKWwcffPlo1jPfk43g==", + "version": "5.60.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.60.0.tgz", + "integrity": "sha512-X7NsRQddORMYRFH7FWo6sA9Y/zbJ8s1x1RIAtnlj6YprbToTiQnM6vxcMu7iYhdunmoC0rUWlca13D5DVHkK2g==", "dev": true, "requires": { - "@typescript-eslint/typescript-estree": "5.59.11", - "@typescript-eslint/utils": "5.59.11", + "@typescript-eslint/typescript-estree": "5.60.0", + "@typescript-eslint/utils": "5.60.0", "debug": "^4.3.4", "tsutils": "^3.21.0" + }, + "dependencies": { + "@typescript-eslint/types": { + "version": "5.60.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.60.0.tgz", + "integrity": "sha512-ascOuoCpNZBccFVNJRSC6rPq4EmJ2NkuoKnd6LDNyAQmdDnziAtxbCGWCbefG1CNzmDvd05zO36AmB7H8RzKPA==", + "dev": true + }, + "@typescript-eslint/typescript-estree": { + "version": "5.60.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.60.0.tgz", + "integrity": "sha512-R43thAuwarC99SnvrBmh26tc7F6sPa2B3evkXp/8q954kYL6Ro56AwASYWtEEi+4j09GbiNAHqYwNNZuNlARGQ==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.60.0", + "@typescript-eslint/visitor-keys": "5.60.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/visitor-keys": { + "version": "5.60.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.60.0.tgz", + "integrity": "sha512-wm9Uz71SbCyhUKgcaPRauBdTegUyY/ZWl8gLwD/i/ybJqscrrdVSFImpvUz16BLPChIeKBK5Fa9s6KDQjsjyWw==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.60.0", + "eslint-visitor-keys": "^3.3.0" + } + }, + "eslint-visitor-keys": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz", + "integrity": "sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==", + "dev": true + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "semver": { + "version": "7.5.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.2.tgz", + "integrity": "sha512-SoftuTROv/cRjCze/scjGyiDtcUyxw1rgYQSZY7XTmtR5hX+dm76iDbTH8TkLPHCQmlbQVSSbNZCPM2hb0knnQ==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } } }, "@typescript-eslint/types": { @@ -22341,21 +22683,68 @@ } }, "@typescript-eslint/utils": { - "version": "5.59.11", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.59.11.tgz", - "integrity": "sha512-didu2rHSOMUdJThLk4aZ1Or8IcO3HzCw/ZvEjTTIfjIrcdd5cvSIwwDy2AOlE7htSNp7QIZ10fLMyRCveesMLg==", + "version": "5.60.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.60.0.tgz", + "integrity": "sha512-ba51uMqDtfLQ5+xHtwlO84vkdjrqNzOnqrnwbMHMRY8Tqeme8C2Q8Fc7LajfGR+e3/4LoYiWXUM6BpIIbHJ4hQ==", "dev": true, "requires": { "@eslint-community/eslint-utils": "^4.2.0", "@types/json-schema": "^7.0.9", "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.59.11", - "@typescript-eslint/types": "5.59.11", - "@typescript-eslint/typescript-estree": "5.59.11", + "@typescript-eslint/scope-manager": "5.60.0", + "@typescript-eslint/types": "5.60.0", + "@typescript-eslint/typescript-estree": "5.60.0", "eslint-scope": "^5.1.1", "semver": "^7.3.7" }, "dependencies": { + "@typescript-eslint/scope-manager": { + "version": "5.60.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.60.0.tgz", + "integrity": "sha512-hakuzcxPwXi2ihf9WQu1BbRj1e/Pd8ZZwVTG9kfbxAMZstKz8/9OoexIwnmLzShtsdap5U/CoQGRCWlSuPbYxQ==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.60.0", + "@typescript-eslint/visitor-keys": "5.60.0" + } + }, + "@typescript-eslint/types": { + "version": "5.60.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.60.0.tgz", + "integrity": "sha512-ascOuoCpNZBccFVNJRSC6rPq4EmJ2NkuoKnd6LDNyAQmdDnziAtxbCGWCbefG1CNzmDvd05zO36AmB7H8RzKPA==", + "dev": true + }, + "@typescript-eslint/typescript-estree": { + "version": "5.60.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.60.0.tgz", + "integrity": "sha512-R43thAuwarC99SnvrBmh26tc7F6sPa2B3evkXp/8q954kYL6Ro56AwASYWtEEi+4j09GbiNAHqYwNNZuNlARGQ==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.60.0", + "@typescript-eslint/visitor-keys": "5.60.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/visitor-keys": { + "version": "5.60.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.60.0.tgz", + "integrity": "sha512-wm9Uz71SbCyhUKgcaPRauBdTegUyY/ZWl8gLwD/i/ybJqscrrdVSFImpvUz16BLPChIeKBK5Fa9s6KDQjsjyWw==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.60.0", + "eslint-visitor-keys": "^3.3.0" + } + }, + "eslint-visitor-keys": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz", + "integrity": "sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==", + "dev": true + }, "lru-cache": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", diff --git a/package.json b/package.json index 77882a30a..2aa0f6b8c 100644 --- a/package.json +++ b/package.json @@ -88,7 +88,7 @@ "@types/react-dom": "^17.0.9", "@types/react-redux": "^7.1.25", "@types/react-router-dom": "^5.3.3", - "@typescript-eslint/eslint-plugin": "^5.59.11", + "@typescript-eslint/eslint-plugin": "^5.60.0", "@typescript-eslint/parser": "^5.59.11", "@xstate/test": "^0.5.1", "aphrodite": "^2.4.0", From 54d7480bf85eda98933ed764e8c95336d1b5a03c Mon Sep 17 00:00:00 2001 From: Dan Labrecque <dlabrecq@redhat.com> Date: Tue, 20 Jun 2023 12:01:13 -0400 Subject: [PATCH 20/24] Platform unallocated should not have overhead label https://issues.redhat.com/browse/COST-3940 --- src/routes/details/ocpDetails/detailsTable.tsx | 5 +++-- src/routes/explorer/explorerTable.tsx | 3 ++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/routes/details/ocpDetails/detailsTable.tsx b/src/routes/details/ocpDetails/detailsTable.tsx index ccf1f8ba6..7a8c82809 100644 --- a/src/routes/details/ocpDetails/detailsTable.tsx +++ b/src/routes/details/ocpDetails/detailsTable.tsx @@ -207,12 +207,13 @@ class DetailsTableBase extends React.Component<DetailsTableProps, DetailsTableSt const monthOverMonth = this.getMonthOverMonthCost(item, index); const supplementaryCost = this.getSupplementaryCost(item, index); const InfrastructureCost = this.getInfrastructureCost(item, index); + const isPlatformCosts = item.classification === classificationPlatform; + const isUnallocatedCosts = item.classification === classificationUnallocated; const isOverheadCosts = costDistribution === ComputedReportItemValueType.distributed && + !isUnallocatedCosts && ((item.cost.platformDistributed && item.cost.platformDistributed.value > 0) || (item.cost.workerUnallocatedDistributed && item.cost.workerUnallocatedDistributed.value > 0)); - const isPlatformCosts = item.classification === classificationPlatform; - const isUnallocatedCosts = item.classification === classificationUnallocated; const desc = item.id && item.id !== item.label ? <div style={styles.infoDescription}>{item.id}</div> : null; const isDisabled = label === `${noPrefix}${groupBy}` || label === `${noPrefix}${groupByTagKey}` || isUnallocatedCosts; diff --git a/src/routes/explorer/explorerTable.tsx b/src/routes/explorer/explorerTable.tsx index c938ecb85..036a9d0a7 100644 --- a/src/routes/explorer/explorerTable.tsx +++ b/src/routes/explorer/explorerTable.tsx @@ -30,7 +30,7 @@ import { getUnsortedComputedReportItems } from 'routes/utils/computedReport/getC import { getDateRangeFromQuery } from 'routes/utils/dateRange'; import { createMapStateToProps } from 'store/common'; import { formatCurrency } from 'utils/format'; -import { classificationDefault, noPrefix } from 'utils/props'; +import { classificationDefault, classificationUnallocated, noPrefix } from 'utils/props'; import type { RouterComponentProps } from 'utils/router'; import { withRouter } from 'utils/router'; @@ -246,6 +246,7 @@ class ExplorerTableBase extends React.Component<ExplorerTableProps, ExplorerTabl } if ( showCostDistribution && + item.classification !== classificationUnallocated && item.cost && ((item.cost.platformDistributed && item.cost.platformDistributed.value > 0) || (item.cost.workerUnallocatedDistributed && item.cost.workerUnallocatedDistributed.value > 0)) From fc9859941a089466ce5f790724938256a424b201 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 20 Jun 2023 16:06:11 +0000 Subject: [PATCH 21/24] (chore): Bump @typescript-eslint/parser from 5.59.11 to 5.60.0 Bumps [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) from 5.59.11 to 5.60.0. - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases) - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md) - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v5.60.0/packages/parser) --- updated-dependencies: - dependency-name: "@typescript-eslint/parser" dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> --- package-lock.json | 481 +++++----------------------------------------- package.json | 2 +- 2 files changed, 47 insertions(+), 436 deletions(-) diff --git a/package-lock.json b/package-lock.json index 8dd665b96..ca6924eba 100644 --- a/package-lock.json +++ b/package-lock.json @@ -54,7 +54,7 @@ "@types/react-redux": "^7.1.25", "@types/react-router-dom": "^5.3.3", "@typescript-eslint/eslint-plugin": "^5.60.0", - "@typescript-eslint/parser": "^5.59.11", + "@typescript-eslint/parser": "^5.60.0", "@xstate/test": "^0.5.1", "aphrodite": "^2.4.0", "copy-webpack-plugin": "^11.0.0", @@ -3764,65 +3764,6 @@ } } }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/scope-manager": { - "version": "5.60.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.60.0.tgz", - "integrity": "sha512-hakuzcxPwXi2ihf9WQu1BbRj1e/Pd8ZZwVTG9kfbxAMZstKz8/9OoexIwnmLzShtsdap5U/CoQGRCWlSuPbYxQ==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "5.60.0", - "@typescript-eslint/visitor-keys": "5.60.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/types": { - "version": "5.60.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.60.0.tgz", - "integrity": "sha512-ascOuoCpNZBccFVNJRSC6rPq4EmJ2NkuoKnd6LDNyAQmdDnziAtxbCGWCbefG1CNzmDvd05zO36AmB7H8RzKPA==", - "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/visitor-keys": { - "version": "5.60.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.60.0.tgz", - "integrity": "sha512-wm9Uz71SbCyhUKgcaPRauBdTegUyY/ZWl8gLwD/i/ybJqscrrdVSFImpvUz16BLPChIeKBK5Fa9s6KDQjsjyWw==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "5.60.0", - "eslint-visitor-keys": "^3.3.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/eslint-visitor-keys": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz", - "integrity": "sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==", - "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, "node_modules/@typescript-eslint/eslint-plugin/node_modules/lru-cache": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", @@ -3857,14 +3798,14 @@ "dev": true }, "node_modules/@typescript-eslint/parser": { - "version": "5.59.11", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.59.11.tgz", - "integrity": "sha512-s9ZF3M+Nym6CAZEkJJeO2TFHHDsKAM3ecNkLuH4i4s8/RCPnF5JRip2GyviYkeEAcwGMJxkqG9h2dAsnA1nZpA==", + "version": "5.60.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.60.0.tgz", + "integrity": "sha512-jBONcBsDJ9UoTWrARkRRCgDz6wUggmH5RpQVlt7BimSwaTkTjwypGzKORXbR4/2Hqjk9hgwlon2rVQAjWNpkyQ==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "5.59.11", - "@typescript-eslint/types": "5.59.11", - "@typescript-eslint/typescript-estree": "5.59.11", + "@typescript-eslint/scope-manager": "5.60.0", + "@typescript-eslint/types": "5.60.0", + "@typescript-eslint/typescript-estree": "5.60.0", "debug": "^4.3.4" }, "engines": { @@ -3884,13 +3825,13 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "5.59.11", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.59.11.tgz", - "integrity": "sha512-dHFOsxoLFtrIcSj5h0QoBT/89hxQONwmn3FOQ0GOQcLOOXm+MIrS8zEAhs4tWl5MraxCY3ZJpaXQQdFMc2Tu+Q==", + "version": "5.60.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.60.0.tgz", + "integrity": "sha512-hakuzcxPwXi2ihf9WQu1BbRj1e/Pd8ZZwVTG9kfbxAMZstKz8/9OoexIwnmLzShtsdap5U/CoQGRCWlSuPbYxQ==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.59.11", - "@typescript-eslint/visitor-keys": "5.59.11" + "@typescript-eslint/types": "5.60.0", + "@typescript-eslint/visitor-keys": "5.60.0" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -3927,7 +3868,7 @@ } } }, - "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/types": { + "node_modules/@typescript-eslint/types": { "version": "5.60.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.60.0.tgz", "integrity": "sha512-ascOuoCpNZBccFVNJRSC6rPq4EmJ2NkuoKnd6LDNyAQmdDnziAtxbCGWCbefG1CNzmDvd05zO36AmB7H8RzKPA==", @@ -3940,7 +3881,7 @@ "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/typescript-estree": { + "node_modules/@typescript-eslint/typescript-estree": { "version": "5.60.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.60.0.tgz", "integrity": "sha512-R43thAuwarC99SnvrBmh26tc7F6sPa2B3evkXp/8q954kYL6Ro56AwASYWtEEi+4j09GbiNAHqYwNNZuNlARGQ==", @@ -3967,36 +3908,7 @@ } } }, - "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/visitor-keys": { - "version": "5.60.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.60.0.tgz", - "integrity": "sha512-wm9Uz71SbCyhUKgcaPRauBdTegUyY/ZWl8gLwD/i/ybJqscrrdVSFImpvUz16BLPChIeKBK5Fa9s6KDQjsjyWw==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "5.60.0", - "eslint-visitor-keys": "^3.3.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/type-utils/node_modules/eslint-visitor-keys": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz", - "integrity": "sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==", - "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@typescript-eslint/type-utils/node_modules/lru-cache": { + "node_modules/@typescript-eslint/typescript-estree/node_modules/lru-cache": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", @@ -4008,7 +3920,7 @@ "node": ">=10" } }, - "node_modules/@typescript-eslint/type-utils/node_modules/semver": { + "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { "version": "7.5.2", "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.2.tgz", "integrity": "sha512-SoftuTROv/cRjCze/scjGyiDtcUyxw1rgYQSZY7XTmtR5hX+dm76iDbTH8TkLPHCQmlbQVSSbNZCPM2hb0knnQ==", @@ -4023,79 +3935,6 @@ "node": ">=10" } }, - "node_modules/@typescript-eslint/type-utils/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "node_modules/@typescript-eslint/types": { - "version": "5.59.11", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.59.11.tgz", - "integrity": "sha512-epoN6R6tkvBYSc+cllrz+c2sOFWkbisJZWkOE+y3xHtvYaOE6Wk6B8e114McRJwFRjGvYdJwLXQH5c9osME/AA==", - "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/typescript-estree": { - "version": "5.59.11", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.11.tgz", - "integrity": "sha512-YupOpot5hJO0maupJXixi6l5ETdrITxeo5eBOeuV7RSKgYdU3G5cxO49/9WRnJq9EMrB7AuTSLH/bqOsXi7wPA==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "5.59.11", - "@typescript-eslint/visitor-keys": "5.59.11", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "semver": "^7.3.7", - "tsutils": "^3.21.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { - "version": "7.5.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.1.tgz", - "integrity": "sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/@typescript-eslint/typescript-estree/node_modules/yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", @@ -4128,92 +3967,6 @@ "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, - "node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/scope-manager": { - "version": "5.60.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.60.0.tgz", - "integrity": "sha512-hakuzcxPwXi2ihf9WQu1BbRj1e/Pd8ZZwVTG9kfbxAMZstKz8/9OoexIwnmLzShtsdap5U/CoQGRCWlSuPbYxQ==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "5.60.0", - "@typescript-eslint/visitor-keys": "5.60.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/types": { - "version": "5.60.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.60.0.tgz", - "integrity": "sha512-ascOuoCpNZBccFVNJRSC6rPq4EmJ2NkuoKnd6LDNyAQmdDnziAtxbCGWCbefG1CNzmDvd05zO36AmB7H8RzKPA==", - "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/typescript-estree": { - "version": "5.60.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.60.0.tgz", - "integrity": "sha512-R43thAuwarC99SnvrBmh26tc7F6sPa2B3evkXp/8q954kYL6Ro56AwASYWtEEi+4j09GbiNAHqYwNNZuNlARGQ==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "5.60.0", - "@typescript-eslint/visitor-keys": "5.60.0", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "semver": "^7.3.7", - "tsutils": "^3.21.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/visitor-keys": { - "version": "5.60.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.60.0.tgz", - "integrity": "sha512-wm9Uz71SbCyhUKgcaPRauBdTegUyY/ZWl8gLwD/i/ybJqscrrdVSFImpvUz16BLPChIeKBK5Fa9s6KDQjsjyWw==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "5.60.0", - "eslint-visitor-keys": "^3.3.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/utils/node_modules/eslint-visitor-keys": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz", - "integrity": "sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==", - "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, "node_modules/@typescript-eslint/utils/node_modules/lru-cache": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", @@ -4248,12 +4001,12 @@ "dev": true }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "5.59.11", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.59.11.tgz", - "integrity": "sha512-KGYniTGG3AMTuKF9QBD7EIrvufkB6O6uX3knP73xbKLMpH+QRPcgnCxjWXSHjMRuOxFLovljqQgQpR0c7GvjoA==", + "version": "5.60.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.60.0.tgz", + "integrity": "sha512-wm9Uz71SbCyhUKgcaPRauBdTegUyY/ZWl8gLwD/i/ybJqscrrdVSFImpvUz16BLPChIeKBK5Fa9s6KDQjsjyWw==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.59.11", + "@typescript-eslint/types": "5.60.0", "eslint-visitor-keys": "^3.3.0" }, "engines": { @@ -22480,38 +22233,6 @@ "tsutils": "^3.21.0" }, "dependencies": { - "@typescript-eslint/scope-manager": { - "version": "5.60.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.60.0.tgz", - "integrity": "sha512-hakuzcxPwXi2ihf9WQu1BbRj1e/Pd8ZZwVTG9kfbxAMZstKz8/9OoexIwnmLzShtsdap5U/CoQGRCWlSuPbYxQ==", - "dev": true, - "requires": { - "@typescript-eslint/types": "5.60.0", - "@typescript-eslint/visitor-keys": "5.60.0" - } - }, - "@typescript-eslint/types": { - "version": "5.60.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.60.0.tgz", - "integrity": "sha512-ascOuoCpNZBccFVNJRSC6rPq4EmJ2NkuoKnd6LDNyAQmdDnziAtxbCGWCbefG1CNzmDvd05zO36AmB7H8RzKPA==", - "dev": true - }, - "@typescript-eslint/visitor-keys": { - "version": "5.60.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.60.0.tgz", - "integrity": "sha512-wm9Uz71SbCyhUKgcaPRauBdTegUyY/ZWl8gLwD/i/ybJqscrrdVSFImpvUz16BLPChIeKBK5Fa9s6KDQjsjyWw==", - "dev": true, - "requires": { - "@typescript-eslint/types": "5.60.0", - "eslint-visitor-keys": "^3.3.0" - } - }, - "eslint-visitor-keys": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz", - "integrity": "sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==", - "dev": true - }, "lru-cache": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", @@ -22539,25 +22260,25 @@ } }, "@typescript-eslint/parser": { - "version": "5.59.11", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.59.11.tgz", - "integrity": "sha512-s9ZF3M+Nym6CAZEkJJeO2TFHHDsKAM3ecNkLuH4i4s8/RCPnF5JRip2GyviYkeEAcwGMJxkqG9h2dAsnA1nZpA==", + "version": "5.60.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.60.0.tgz", + "integrity": "sha512-jBONcBsDJ9UoTWrARkRRCgDz6wUggmH5RpQVlt7BimSwaTkTjwypGzKORXbR4/2Hqjk9hgwlon2rVQAjWNpkyQ==", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "5.59.11", - "@typescript-eslint/types": "5.59.11", - "@typescript-eslint/typescript-estree": "5.59.11", + "@typescript-eslint/scope-manager": "5.60.0", + "@typescript-eslint/types": "5.60.0", + "@typescript-eslint/typescript-estree": "5.60.0", "debug": "^4.3.4" } }, "@typescript-eslint/scope-manager": { - "version": "5.59.11", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.59.11.tgz", - "integrity": "sha512-dHFOsxoLFtrIcSj5h0QoBT/89hxQONwmn3FOQ0GOQcLOOXm+MIrS8zEAhs4tWl5MraxCY3ZJpaXQQdFMc2Tu+Q==", + "version": "5.60.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.60.0.tgz", + "integrity": "sha512-hakuzcxPwXi2ihf9WQu1BbRj1e/Pd8ZZwVTG9kfbxAMZstKz8/9OoexIwnmLzShtsdap5U/CoQGRCWlSuPbYxQ==", "dev": true, "requires": { - "@typescript-eslint/types": "5.59.11", - "@typescript-eslint/visitor-keys": "5.59.11" + "@typescript-eslint/types": "5.60.0", + "@typescript-eslint/visitor-keys": "5.60.0" } }, "@typescript-eslint/type-utils": { @@ -22570,85 +22291,22 @@ "@typescript-eslint/utils": "5.60.0", "debug": "^4.3.4", "tsutils": "^3.21.0" - }, - "dependencies": { - "@typescript-eslint/types": { - "version": "5.60.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.60.0.tgz", - "integrity": "sha512-ascOuoCpNZBccFVNJRSC6rPq4EmJ2NkuoKnd6LDNyAQmdDnziAtxbCGWCbefG1CNzmDvd05zO36AmB7H8RzKPA==", - "dev": true - }, - "@typescript-eslint/typescript-estree": { - "version": "5.60.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.60.0.tgz", - "integrity": "sha512-R43thAuwarC99SnvrBmh26tc7F6sPa2B3evkXp/8q954kYL6Ro56AwASYWtEEi+4j09GbiNAHqYwNNZuNlARGQ==", - "dev": true, - "requires": { - "@typescript-eslint/types": "5.60.0", - "@typescript-eslint/visitor-keys": "5.60.0", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "semver": "^7.3.7", - "tsutils": "^3.21.0" - } - }, - "@typescript-eslint/visitor-keys": { - "version": "5.60.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.60.0.tgz", - "integrity": "sha512-wm9Uz71SbCyhUKgcaPRauBdTegUyY/ZWl8gLwD/i/ybJqscrrdVSFImpvUz16BLPChIeKBK5Fa9s6KDQjsjyWw==", - "dev": true, - "requires": { - "@typescript-eslint/types": "5.60.0", - "eslint-visitor-keys": "^3.3.0" - } - }, - "eslint-visitor-keys": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz", - "integrity": "sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==", - "dev": true - }, - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "semver": { - "version": "7.5.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.2.tgz", - "integrity": "sha512-SoftuTROv/cRjCze/scjGyiDtcUyxw1rgYQSZY7XTmtR5hX+dm76iDbTH8TkLPHCQmlbQVSSbNZCPM2hb0knnQ==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - } } }, "@typescript-eslint/types": { - "version": "5.59.11", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.59.11.tgz", - "integrity": "sha512-epoN6R6tkvBYSc+cllrz+c2sOFWkbisJZWkOE+y3xHtvYaOE6Wk6B8e114McRJwFRjGvYdJwLXQH5c9osME/AA==", + "version": "5.60.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.60.0.tgz", + "integrity": "sha512-ascOuoCpNZBccFVNJRSC6rPq4EmJ2NkuoKnd6LDNyAQmdDnziAtxbCGWCbefG1CNzmDvd05zO36AmB7H8RzKPA==", "dev": true }, "@typescript-eslint/typescript-estree": { - "version": "5.59.11", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.11.tgz", - "integrity": "sha512-YupOpot5hJO0maupJXixi6l5ETdrITxeo5eBOeuV7RSKgYdU3G5cxO49/9WRnJq9EMrB7AuTSLH/bqOsXi7wPA==", + "version": "5.60.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.60.0.tgz", + "integrity": "sha512-R43thAuwarC99SnvrBmh26tc7F6sPa2B3evkXp/8q954kYL6Ro56AwASYWtEEi+4j09GbiNAHqYwNNZuNlARGQ==", "dev": true, "requires": { - "@typescript-eslint/types": "5.59.11", - "@typescript-eslint/visitor-keys": "5.59.11", + "@typescript-eslint/types": "5.60.0", + "@typescript-eslint/visitor-keys": "5.60.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -22666,9 +22324,9 @@ } }, "semver": { - "version": "7.5.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.1.tgz", - "integrity": "sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw==", + "version": "7.5.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.2.tgz", + "integrity": "sha512-SoftuTROv/cRjCze/scjGyiDtcUyxw1rgYQSZY7XTmtR5hX+dm76iDbTH8TkLPHCQmlbQVSSbNZCPM2hb0knnQ==", "dev": true, "requires": { "lru-cache": "^6.0.0" @@ -22698,53 +22356,6 @@ "semver": "^7.3.7" }, "dependencies": { - "@typescript-eslint/scope-manager": { - "version": "5.60.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.60.0.tgz", - "integrity": "sha512-hakuzcxPwXi2ihf9WQu1BbRj1e/Pd8ZZwVTG9kfbxAMZstKz8/9OoexIwnmLzShtsdap5U/CoQGRCWlSuPbYxQ==", - "dev": true, - "requires": { - "@typescript-eslint/types": "5.60.0", - "@typescript-eslint/visitor-keys": "5.60.0" - } - }, - "@typescript-eslint/types": { - "version": "5.60.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.60.0.tgz", - "integrity": "sha512-ascOuoCpNZBccFVNJRSC6rPq4EmJ2NkuoKnd6LDNyAQmdDnziAtxbCGWCbefG1CNzmDvd05zO36AmB7H8RzKPA==", - "dev": true - }, - "@typescript-eslint/typescript-estree": { - "version": "5.60.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.60.0.tgz", - "integrity": "sha512-R43thAuwarC99SnvrBmh26tc7F6sPa2B3evkXp/8q954kYL6Ro56AwASYWtEEi+4j09GbiNAHqYwNNZuNlARGQ==", - "dev": true, - "requires": { - "@typescript-eslint/types": "5.60.0", - "@typescript-eslint/visitor-keys": "5.60.0", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "semver": "^7.3.7", - "tsutils": "^3.21.0" - } - }, - "@typescript-eslint/visitor-keys": { - "version": "5.60.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.60.0.tgz", - "integrity": "sha512-wm9Uz71SbCyhUKgcaPRauBdTegUyY/ZWl8gLwD/i/ybJqscrrdVSFImpvUz16BLPChIeKBK5Fa9s6KDQjsjyWw==", - "dev": true, - "requires": { - "@typescript-eslint/types": "5.60.0", - "eslint-visitor-keys": "^3.3.0" - } - }, - "eslint-visitor-keys": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz", - "integrity": "sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==", - "dev": true - }, "lru-cache": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", @@ -22772,12 +22383,12 @@ } }, "@typescript-eslint/visitor-keys": { - "version": "5.59.11", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.59.11.tgz", - "integrity": "sha512-KGYniTGG3AMTuKF9QBD7EIrvufkB6O6uX3knP73xbKLMpH+QRPcgnCxjWXSHjMRuOxFLovljqQgQpR0c7GvjoA==", + "version": "5.60.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.60.0.tgz", + "integrity": "sha512-wm9Uz71SbCyhUKgcaPRauBdTegUyY/ZWl8gLwD/i/ybJqscrrdVSFImpvUz16BLPChIeKBK5Fa9s6KDQjsjyWw==", "dev": true, "requires": { - "@typescript-eslint/types": "5.59.11", + "@typescript-eslint/types": "5.60.0", "eslint-visitor-keys": "^3.3.0" }, "dependencies": { diff --git a/package.json b/package.json index 8d0776a6e..6593b1b52 100644 --- a/package.json +++ b/package.json @@ -89,7 +89,7 @@ "@types/react-redux": "^7.1.25", "@types/react-router-dom": "^5.3.3", "@typescript-eslint/eslint-plugin": "^5.60.0", - "@typescript-eslint/parser": "^5.59.11", + "@typescript-eslint/parser": "^5.60.0", "@xstate/test": "^0.5.1", "aphrodite": "^2.4.0", "copy-webpack-plugin": "^11.0.0", From cfce98fb01b2b36ff0f6c46659163eefa2dce188 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 21 Jun 2023 10:57:36 +0000 Subject: [PATCH 22/24] (chore): Bump @redhat-cloud-services/frontend-components Bumps [@redhat-cloud-services/frontend-components](https://github.com/RedHatInsights/frontend-components) from 3.10.0 to 3.11.0. - [Commits](https://github.com/RedHatInsights/frontend-components/commits) --- updated-dependencies: - dependency-name: "@redhat-cloud-services/frontend-components" dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> --- package-lock.json | 14 +++++++------- package.json | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/package-lock.json b/package-lock.json index ca6924eba..df9981b05 100644 --- a/package-lock.json +++ b/package-lock.json @@ -17,7 +17,7 @@ "@patternfly/react-styles": "4.92.6", "@patternfly/react-table": "4.113.0", "@patternfly/react-tokens": "4.94.6", - "@redhat-cloud-services/frontend-components": "^3.10.0", + "@redhat-cloud-services/frontend-components": "^3.11.0", "@redhat-cloud-services/frontend-components-notifications": "^3.2.14", "@redhat-cloud-services/frontend-components-translations": "^3.2.6", "@redhat-cloud-services/frontend-components-utilities": "^3.6.0", @@ -2331,9 +2331,9 @@ } }, "node_modules/@redhat-cloud-services/frontend-components": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/@redhat-cloud-services/frontend-components/-/frontend-components-3.10.0.tgz", - "integrity": "sha512-xHE1Wm/bnEQ53supphFmGYa52g3y8aIcYUtpmbu0J9tHZ8DzM7gt25XXSXqTVygTa8oFdlyYNrM1NT+TByv8nw==", + "version": "3.11.0", + "resolved": "https://registry.npmjs.org/@redhat-cloud-services/frontend-components/-/frontend-components-3.11.0.tgz", + "integrity": "sha512-fcISIg1IH7+8soKQ8kbdsznYWpRo7fGQEHUKsgsA3aGRj2lKHAHqqLHASPGqGKRX0hzX+hgLcB2jk8k7cF0vPA==", "dependencies": { "@redhat-cloud-services/frontend-components-utilities": "^3.2.25", "@redhat-cloud-services/types": "^0.0.24", @@ -20988,9 +20988,9 @@ } }, "@redhat-cloud-services/frontend-components": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/@redhat-cloud-services/frontend-components/-/frontend-components-3.10.0.tgz", - "integrity": "sha512-xHE1Wm/bnEQ53supphFmGYa52g3y8aIcYUtpmbu0J9tHZ8DzM7gt25XXSXqTVygTa8oFdlyYNrM1NT+TByv8nw==", + "version": "3.11.0", + "resolved": "https://registry.npmjs.org/@redhat-cloud-services/frontend-components/-/frontend-components-3.11.0.tgz", + "integrity": "sha512-fcISIg1IH7+8soKQ8kbdsznYWpRo7fGQEHUKsgsA3aGRj2lKHAHqqLHASPGqGKRX0hzX+hgLcB2jk8k7cF0vPA==", "requires": { "@redhat-cloud-services/frontend-components-utilities": "^3.2.25", "@redhat-cloud-services/types": "^0.0.24", diff --git a/package.json b/package.json index 6593b1b52..a5aaa3547 100644 --- a/package.json +++ b/package.json @@ -52,7 +52,7 @@ "@patternfly/react-styles": "4.92.6", "@patternfly/react-table": "4.113.0", "@patternfly/react-tokens": "4.94.6", - "@redhat-cloud-services/frontend-components": "^3.10.0", + "@redhat-cloud-services/frontend-components": "^3.11.0", "@redhat-cloud-services/frontend-components-notifications": "^3.2.14", "@redhat-cloud-services/frontend-components-translations": "^3.2.6", "@redhat-cloud-services/frontend-components-utilities": "^3.6.0", From 4878590af3a3014866cb8063965b6d208a090224 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 21 Jun 2023 10:58:52 +0000 Subject: [PATCH 23/24] (chore): Bump @redhat-cloud-services/frontend-components-utilities Bumps [@redhat-cloud-services/frontend-components-utilities](https://github.com/RedHatInsights/frontend-components) from 3.6.0 to 3.7.0. - [Commits](https://github.com/RedHatInsights/frontend-components/commits) --- updated-dependencies: - dependency-name: "@redhat-cloud-services/frontend-components-utilities" dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> --- package-lock.json | 14 +++++++------- package.json | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/package-lock.json b/package-lock.json index ca6924eba..735e5fef4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -20,7 +20,7 @@ "@redhat-cloud-services/frontend-components": "^3.10.0", "@redhat-cloud-services/frontend-components-notifications": "^3.2.14", "@redhat-cloud-services/frontend-components-translations": "^3.2.6", - "@redhat-cloud-services/frontend-components-utilities": "^3.6.0", + "@redhat-cloud-services/frontend-components-utilities": "^3.7.0", "@redhat-cloud-services/rbac-client": "^1.2.3", "@unleash/proxy-client-react": "^3.6.0", "axios": "^1.4.0", @@ -2611,9 +2611,9 @@ } }, "node_modules/@redhat-cloud-services/frontend-components-utilities": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/@redhat-cloud-services/frontend-components-utilities/-/frontend-components-utilities-3.6.0.tgz", - "integrity": "sha512-aj8dZpps/eiWVYLWrORGqsAaVZi9K/BAD6u2SKm54yRUaGYEh3M7YmoUZ9QDZda47zXGD4fzLil0u0mAwdjyWw==", + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/@redhat-cloud-services/frontend-components-utilities/-/frontend-components-utilities-3.7.0.tgz", + "integrity": "sha512-v8cXuZHoUEvSBaigYGDKZw6+r6ts8Z1kBP1Jc0CXAQxuPxGjTq+BweTIYa+zO3y8Gqc0y0DOq7x9EBe+EpC2cw==", "dependencies": { "@redhat-cloud-services/types": "^0.0.24", "@sentry/browser": "^5.30.0", @@ -21193,9 +21193,9 @@ } }, "@redhat-cloud-services/frontend-components-utilities": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/@redhat-cloud-services/frontend-components-utilities/-/frontend-components-utilities-3.6.0.tgz", - "integrity": "sha512-aj8dZpps/eiWVYLWrORGqsAaVZi9K/BAD6u2SKm54yRUaGYEh3M7YmoUZ9QDZda47zXGD4fzLil0u0mAwdjyWw==", + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/@redhat-cloud-services/frontend-components-utilities/-/frontend-components-utilities-3.7.0.tgz", + "integrity": "sha512-v8cXuZHoUEvSBaigYGDKZw6+r6ts8Z1kBP1Jc0CXAQxuPxGjTq+BweTIYa+zO3y8Gqc0y0DOq7x9EBe+EpC2cw==", "requires": { "@redhat-cloud-services/types": "^0.0.24", "@sentry/browser": "^5.30.0", diff --git a/package.json b/package.json index 6593b1b52..773fdacc3 100644 --- a/package.json +++ b/package.json @@ -55,7 +55,7 @@ "@redhat-cloud-services/frontend-components": "^3.10.0", "@redhat-cloud-services/frontend-components-notifications": "^3.2.14", "@redhat-cloud-services/frontend-components-translations": "^3.2.6", - "@redhat-cloud-services/frontend-components-utilities": "^3.6.0", + "@redhat-cloud-services/frontend-components-utilities": "^3.7.0", "@redhat-cloud-services/rbac-client": "^1.2.3", "@unleash/proxy-client-react": "^3.6.0", "axios": "^1.4.0", From c3a9773b6373b90d21ab6549516a199e9a9738ff Mon Sep 17 00:00:00 2001 From: Dan Labrecque <dlabrecq@redhat.com> Date: Wed, 21 Jun 2023 12:42:41 -0400 Subject: [PATCH 24/24] Reset Optimizations drawer selection whenever a new recommendation is displayed https://issues.redhat.com/browse/COST-3945 --- src/components/drawers/optimzations/optimizationsContent.tsx | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/components/drawers/optimzations/optimizationsContent.tsx b/src/components/drawers/optimzations/optimizationsContent.tsx index 93540da72..f526ef571 100644 --- a/src/components/drawers/optimzations/optimizationsContent.tsx +++ b/src/components/drawers/optimzations/optimizationsContent.tsx @@ -77,9 +77,14 @@ class OptimizationsContentBase extends React.Component<OptimizationsContentProps } public componentDidUpdate(prevProps: OptimizationsContentProps) { + const { reportQueryString } = this.props; + if (prevProps.id !== this.props.id) { this.updateReport(); } + if (prevProps.reportQueryString !== reportQueryString) { + this.setState({ currentInterval: this.getDefaultTerm() }); + } } private updateReport() {