diff --git a/frontend/next.config.js b/frontend/next.config.js index 1c498659..4482fd6a 100644 --- a/frontend/next.config.js +++ b/frontend/next.config.js @@ -43,6 +43,7 @@ const nextConfig = { const withTM = require("next-transpile-modules")([ "@cloudscape-design/components", + "@cloudscape-design/component-toolkit", "@cloudscape-design/design-tokens" ]); diff --git a/frontend/package-lock.json b/frontend/package-lock.json index d707bd8a..43b1a36c 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -8,9 +8,9 @@ "name": "aws-parallelcluster-ui", "version": "0.0.0", "dependencies": { - "@cloudscape-design/components": "^3.0.118", - "@cloudscape-design/design-tokens": "^3.0.9", - "@cloudscape-design/global-styles": "^1.0.2", + "@cloudscape-design/components": "^3.0.248", + "@cloudscape-design/design-tokens": "^3.0.11", + "@cloudscape-design/global-styles": "^1.0.8", "@reduxjs/toolkit": "^1.6.1", "axios": "^0.21.4", "i18next": "^21.8.13", @@ -18,8 +18,8 @@ "lodash": "^4.17.21", "next": "^12.2.0", "next-transpile-modules": "^9.0.0", - "react": "^17.0.2", - "react-dom": "^17.0.2", + "react": "^18.2.0", + "react-dom": "^18.2.0", "react-i18next": "^11.18.0", "react-query": "^3.39.1", "react-redux": "^7.2.5", @@ -28,9 +28,8 @@ }, "devDependencies": { "@cloudscape-design/jest-preset": "^2.0.4", - "@testing-library/react": "^12.1.5", - "@testing-library/react-hooks": "^8.0.1", - "@testing-library/user-event": "^14.3.0", + "@testing-library/react": "^14.0.0", + "@testing-library/user-event": "^14.4.3", "@types/jest": "^28.1.4", "@types/lodash": "^4.14.182", "@types/node": "^18.0.0", @@ -579,12 +578,21 @@ "react": "^16.8.0 || ^17.0.0 || ^18.0.0" } }, + "node_modules/@cloudscape-design/component-toolkit": { + "version": "1.0.0-beta.11", + "resolved": "https://registry.npmjs.org/@cloudscape-design/component-toolkit/-/component-toolkit-1.0.0-beta.11.tgz", + "integrity": "sha512-cujRCr01KIxPT+jS2F3O5Hm9M9dYQVZpD5YWI5QDpY/7xoW3BiDSAqzFfAGkcij1ueMupN2ev1AVMrC1VxZzww==", + "dependencies": { + "@juggle/resize-observer": "^3.3.1" + } + }, "node_modules/@cloudscape-design/components": { - "version": "3.0.158", - "resolved": "https://registry.npmjs.org/@cloudscape-design/components/-/components-3.0.158.tgz", - "integrity": "sha512-y2IS8u5hIs4l6g3SmJptndTdB/TSgHjsLYSQd2iblIQ/J0/GwdpSFJ7oEUEwTK7WZJniIiE2aeBJgxjPylinXg==", + "version": "3.0.248", + "resolved": "https://registry.npmjs.org/@cloudscape-design/components/-/components-3.0.248.tgz", + "integrity": "sha512-N+3QyMwcykingUE+9DxYESzrr1iHbh8KRfhDEjcZ1iPK+vf2H1bqnXvohsRW2FTWoLGk49wzqhjCz0Mzl6Y0MA==", "dependencies": { "@cloudscape-design/collection-hooks": "^1.0.0", + "@cloudscape-design/component-toolkit": "^1.0.0-beta", "@cloudscape-design/test-utils-core": "^1.0.0", "@cloudscape-design/theming-runtime": "^1.0.0", "@juggle/resize-observer": "^3.3.1", @@ -593,10 +601,10 @@ "clsx": "^1.1.0", "d3-shape": "^1.3.7", "date-fns": "^2.25.0", + "intl-messageformat": "^10.3.1", "mnth": "^2.0.0", "react-focus-lock": "~2.8.1", "react-keyed-flatten-children": "^1.3.0", - "react-resizable": "^1.11.1", "react-transition-group": "^4.4.2", "react-virtual": "^2.8.2", "tslib": "^2.4.0", @@ -607,15 +615,29 @@ "react-dom": "^16.8 || ^17 || ^18" } }, + "node_modules/@cloudscape-design/components/node_modules/react-virtual": { + "version": "2.10.4", + "resolved": "https://registry.npmjs.org/react-virtual/-/react-virtual-2.10.4.tgz", + "integrity": "sha512-Ir6+oPQZTVHfa6+JL9M7cvMILstFZH/H3jqeYeKI4MSUX+rIruVwFC6nGVXw9wqAw8L0Kg2KvfXxI85OvYQdpQ==", + "funding": [ + "https://github.com/sponsors/tannerlinsley" + ], + "dependencies": { + "@reach/observe-rect": "^1.1.0" + }, + "peerDependencies": { + "react": "^16.6.3 || ^17.0.0" + } + }, "node_modules/@cloudscape-design/design-tokens": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/@cloudscape-design/design-tokens/-/design-tokens-3.0.9.tgz", - "integrity": "sha512-7j9OTWg/yQaOoPUqMAN6VnzxfHKD2lCiyW9xW+gblvLlvgOJPMPgZsHKsUE9v14tAtMOZXkIXfoZ1jWH0onotQ==" + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/@cloudscape-design/design-tokens/-/design-tokens-3.0.11.tgz", + "integrity": "sha512-AmKFpZwm9qR4+6CPppZwqLpajuyIjBakGhTQ39sgw9OhB2aKeOKA9tGabikayPb4Pc4OiMDpGAGYEw+L5iR66g==" }, "node_modules/@cloudscape-design/global-styles": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@cloudscape-design/global-styles/-/global-styles-1.0.2.tgz", - "integrity": "sha512-RSViM1/nDRjZ0HL2SfAwibpMDW+uY/yEJWhPgid8aN1q5d5l0WgS4cTuBKsUdrDgpvJA9QjLCTn4NVOlhh9n7Q==" + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@cloudscape-design/global-styles/-/global-styles-1.0.8.tgz", + "integrity": "sha512-C64XiUuxuohkh10JjzpBFwQ9piTCERRLsD2E46/k56mXevm78VEPT8iKFkbgYXaBOX/ilHpubEfTzq87x3051Q==" }, "node_modules/@cloudscape-design/jest-preset": { "version": "2.0.4", @@ -682,6 +704,50 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/@formatjs/ecma402-abstract": { + "version": "1.14.3", + "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-1.14.3.tgz", + "integrity": "sha512-SlsbRC/RX+/zg4AApWIFNDdkLtFbkq3LNoZWXZCE/nHVKqoIJyaoQyge/I0Y38vLxowUn9KTtXgusLD91+orbg==", + "dependencies": { + "@formatjs/intl-localematcher": "0.2.32", + "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==", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@formatjs/icu-messageformat-parser": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.3.1.tgz", + "integrity": "sha512-knF2AkAKN4Upv4oIiKY4Wd/dLH68TNMPgV/tJMu/T6FP9aQwbv8fpj7U3lkyniPaNVxvia56Gxax8MKOjtxLSQ==", + "dependencies": { + "@formatjs/ecma402-abstract": "1.14.3", + "@formatjs/icu-skeleton-parser": "1.3.18", + "tslib": "^2.4.0" + } + }, + "node_modules/@formatjs/icu-skeleton-parser": { + "version": "1.3.18", + "resolved": "https://registry.npmjs.org/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.3.18.tgz", + "integrity": "sha512-ND1ZkZfmLPcHjAH1sVpkpQxA+QYfOX3py3SjKWMUVGDow18gZ0WPqz3F+pJLYQMpS2LnnQ5zYR2jPVYTbRwMpg==", + "dependencies": { + "@formatjs/ecma402-abstract": "1.14.3", + "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==", + "dependencies": { + "tslib": "^2.4.0" + } + }, "node_modules/@humanwhocodes/config-array": { "version": "0.9.5", "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.9.5.tgz", @@ -1873,22 +1939,22 @@ } }, "node_modules/@testing-library/dom": { - "version": "8.14.0", - "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-8.14.0.tgz", - "integrity": "sha512-m8FOdUo77iMTwVRCyzWcqxlEIk+GnopbrRI15a0EaLbpZSCinIVI4kSQzWhkShK83GogvEFJSsHF3Ws0z1vrqA==", + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-9.2.0.tgz", + "integrity": "sha512-xTEnpUKiV/bMyEsE5bT4oYA0x0Z/colMtxzUY8bKyPXBNLn/e0V4ZjBZkEhms0xE4pv9QsPfSRu9AWS4y5wGvA==", "dev": true, "dependencies": { "@babel/code-frame": "^7.10.4", "@babel/runtime": "^7.12.5", - "@types/aria-query": "^4.2.0", + "@types/aria-query": "^5.0.1", "aria-query": "^5.0.0", "chalk": "^4.1.0", "dom-accessibility-api": "^0.5.9", - "lz-string": "^1.4.4", + "lz-string": "^1.5.0", "pretty-format": "^27.0.2" }, "engines": { - "node": ">=12" + "node": ">=14" } }, "node_modules/@testing-library/dom/node_modules/ansi-styles": { @@ -1971,57 +2037,27 @@ } }, "node_modules/@testing-library/react": { - "version": "12.1.5", - "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-12.1.5.tgz", - "integrity": "sha512-OfTXCJUFgjd/digLUuPxa0+/3ZxsQmE7ub9kcbW/wi96Bh3o/p5vrETcBGfP17NWPGqeYYl5LTRpwyGoMC4ysg==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.12.5", - "@testing-library/dom": "^8.0.0", - "@types/react-dom": "<18.0.0" - }, - "engines": { - "node": ">=12" - }, - "peerDependencies": { - "react": "<18.0.0", - "react-dom": "<18.0.0" - } - }, - "node_modules/@testing-library/react-hooks": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@testing-library/react-hooks/-/react-hooks-8.0.1.tgz", - "integrity": "sha512-Aqhl2IVmLt8IovEVarNDFuJDVWVvhnr9/GCU6UUnrYXwgDFF9h2L2o2P9KBni1AST5sT6riAyoukFLyjQUgD/g==", + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-14.0.0.tgz", + "integrity": "sha512-S04gSNJbYE30TlIMLTzv6QCTzt9AqIF5y6s6SzVFILNcNvbV/jU96GeiTPillGQo+Ny64M/5PV7klNYYgv5Dfg==", "dev": true, "dependencies": { "@babel/runtime": "^7.12.5", - "react-error-boundary": "^3.1.0" + "@testing-library/dom": "^9.0.0", + "@types/react-dom": "^18.0.0" }, "engines": { - "node": ">=12" + "node": ">=14" }, "peerDependencies": { - "@types/react": "^16.9.0 || ^17.0.0", - "react": "^16.9.0 || ^17.0.0", - "react-dom": "^16.9.0 || ^17.0.0", - "react-test-renderer": "^16.9.0 || ^17.0.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "react-dom": { - "optional": true - }, - "react-test-renderer": { - "optional": true - } + "react": "^18.0.0", + "react-dom": "^18.0.0" } }, "node_modules/@testing-library/user-event": { - "version": "14.3.0", - "resolved": "https://registry.npmjs.org/@testing-library/user-event/-/user-event-14.3.0.tgz", - "integrity": "sha512-P02xtBBa8yMaLhK8CzJCIns8rqwnF6FxhR9zs810flHOBXUYCFjLd8Io1rQrAkQRWEmW2PGdZIEdMxf/KLsqFA==", + "version": "14.4.3", + "resolved": "https://registry.npmjs.org/@testing-library/user-event/-/user-event-14.4.3.tgz", + "integrity": "sha512-kCUc5MEwaEMakkO5x7aoD+DLi02ehmEM2QCGWvNqAS1dV/fAvORWEjnjsEIvml59M7Y5kCkWN6fCCyPOe8OL6Q==", "dev": true, "engines": { "node": ">=12", @@ -2041,9 +2077,9 @@ } }, "node_modules/@types/aria-query": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-4.2.2.tgz", - "integrity": "sha512-HnYpAE1Y6kRyKM/XkEuiRQhTHvkzMBurTHnpFLYLBGPIylZNPs9jJcuOOYWxPLJCSEtmZT0Y8rHDokKN7rRTig==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.1.tgz", + "integrity": "sha512-XTIieEY+gvJ39ChLcB4If5zHtPxt3Syj5rgZR+e1ctpmK8NjPf0zFqsz4JpLJT0xla9GFDKjy8Cpu331nrmE1Q==", "dev": true }, "node_modules/@types/babel__core": { @@ -2229,12 +2265,12 @@ } }, "node_modules/@types/react-dom": { - "version": "17.0.17", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-17.0.17.tgz", - "integrity": "sha512-VjnqEmqGnasQKV0CWLevqMTXBYG9GbwuE6x3VetERLh0cq2LTptFE73MrQi2S7GkKXCf2GgwItB/melLnxfnsg==", + "version": "18.0.11", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.0.11.tgz", + "integrity": "sha512-O38bPbI2CWtgw/OoQoY+BRelw7uysmXbWvw3nLWO21H1HSh+GOlqPuXshJfjmpNlKiiSDG9cc1JZAaMmVdcTlw==", "dev": true, "dependencies": { - "@types/react": "^17" + "@types/react": "*" } }, "node_modules/@types/react-redux": { @@ -3177,9 +3213,9 @@ } }, "node_modules/clsx": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.1.1.tgz", - "integrity": "sha512-6/bPho624p3S2pMyvP5kKBPXnI3ufHLObBFCfgx+LkeR5lg2XYy2hqZqUf45ypD8COn2bhgGJSUE+l5dhNBieA==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz", + "integrity": "sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==", "engines": { "node": ">=6" } @@ -4984,6 +5020,17 @@ "node": ">= 0.4" } }, + "node_modules/intl-messageformat": { + "version": "10.3.4", + "resolved": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-10.3.4.tgz", + "integrity": "sha512-/FxUIrlbPtuykSNX85CB5sp2FjLVeTmdD7TfRkVFPft2n4FgcSlAcilFytYiFAEmPHc+0PvpLCIPXeaGFzIvOg==", + "dependencies": { + "@formatjs/ecma402-abstract": "1.14.3", + "@formatjs/fast-memoize": "2.0.1", + "@formatjs/icu-messageformat-parser": "2.3.1", + "tslib": "^2.4.0" + } + }, "node_modules/is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", @@ -7763,9 +7810,9 @@ } }, "node_modules/lz-string": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.4.4.tgz", - "integrity": "sha512-0ckx7ZHRPqb0oUm8zNr+90mtf9DQB60H1wMCjBtfi62Kl3a7JbHob6gA2bC+xRvZoOL+1hzUK8jeuEIQE8svEQ==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.5.0.tgz", + "integrity": "sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==", "dev": true, "bin": { "lz-string": "bin/bin.js" @@ -8552,12 +8599,11 @@ ] }, "node_modules/react": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react/-/react-17.0.2.tgz", - "integrity": "sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==", + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", + "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", "dependencies": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1" + "loose-envify": "^1.1.0" }, "engines": { "node": ">=0.10.0" @@ -8575,45 +8621,15 @@ } }, "node_modules/react-dom": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-17.0.2.tgz", - "integrity": "sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA==", + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", + "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", "dependencies": { "loose-envify": "^1.1.0", - "object-assign": "^4.1.1", - "scheduler": "^0.20.2" - }, - "peerDependencies": { - "react": "17.0.2" - } - }, - "node_modules/react-draggable": { - "version": "4.4.5", - "resolved": "https://registry.npmjs.org/react-draggable/-/react-draggable-4.4.5.tgz", - "integrity": "sha512-OMHzJdyJbYTZo4uQE393fHcqqPYsEtkjfMgvCHr6rejT+Ezn4OZbNyGH50vv+SunC1RMvwOTSWkEODQLzw1M9g==", - "dependencies": { - "clsx": "^1.1.1", - "prop-types": "^15.8.1" - }, - "peerDependencies": { - "react": ">= 16.3.0", - "react-dom": ">= 16.3.0" - } - }, - "node_modules/react-error-boundary": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/react-error-boundary/-/react-error-boundary-3.1.4.tgz", - "integrity": "sha512-uM9uPzZJTF6wRQORmSrvOIgt4lJ9MC1sNgEOj2XGsDTRE4kmpWxg7ENK9EWNKJRMAOY9z0MuF4yIfl6gp4sotA==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.12.5" - }, - "engines": { - "node": ">=10", - "npm": ">=6" + "scheduler": "^0.23.0" }, "peerDependencies": { - "react": ">=16.13.1" + "react": "^18.2.0" } }, "node_modules/react-focus-lock": { @@ -8723,19 +8739,6 @@ } } }, - "node_modules/react-resizable": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/react-resizable/-/react-resizable-1.11.1.tgz", - "integrity": "sha512-S70gbLaAYqjuAd49utRHibtHLrHXInh7GuOR+6OO6RO6uleQfuBnWmZjRABfqNEx3C3Z6VPLg0/0uOYFrkfu9Q==", - "dependencies": { - "prop-types": "15.x", - "react-draggable": "^4.0.3" - }, - "peerDependencies": { - "react": "0.14.x || 15.x || 16.x || 17.x", - "react-dom": "0.14.x || 15.x || 16.x || 17.x" - } - }, "node_modules/react-router": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.3.0.tgz", @@ -8761,9 +8764,9 @@ } }, "node_modules/react-transition-group": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.2.tgz", - "integrity": "sha512-/RNYfRAMlZwDSr6z4zNKV6xu53/e2BuaBbGhbyYIXTrmgu/bGHzmqOs7mJSJBHy9Ud+ApHx3QjrkKSp1pxvlFg==", + "version": "4.4.5", + "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.5.tgz", + "integrity": "sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==", "dependencies": { "@babel/runtime": "^7.5.5", "dom-helpers": "^5.0.1", @@ -8775,20 +8778,6 @@ "react-dom": ">=16.6.0" } }, - "node_modules/react-virtual": { - "version": "2.10.4", - "resolved": "https://registry.npmjs.org/react-virtual/-/react-virtual-2.10.4.tgz", - "integrity": "sha512-Ir6+oPQZTVHfa6+JL9M7cvMILstFZH/H3jqeYeKI4MSUX+rIruVwFC6nGVXw9wqAw8L0Kg2KvfXxI85OvYQdpQ==", - "funding": [ - "https://github.com/sponsors/tannerlinsley" - ], - "dependencies": { - "@reach/observe-rect": "^1.1.0" - }, - "peerDependencies": { - "react": "^16.6.3 || ^17.0.0" - } - }, "node_modules/redux": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/redux/-/redux-4.2.0.tgz", @@ -9001,12 +8990,11 @@ } }, "node_modules/scheduler": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz", - "integrity": "sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", + "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", "dependencies": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1" + "loose-envify": "^1.1.0" } }, "node_modules/semver": { @@ -10374,12 +10362,21 @@ "integrity": "sha512-/zGq2iF9fpGEytMbKdxOTKwnCTHz8FeC0L05NhfMRNkEfdZ4uQsP8L6b6U0XZ+2rvRmxCoHYMNZo9Aa2rYNS0g==", "requires": {} }, + "@cloudscape-design/component-toolkit": { + "version": "1.0.0-beta.11", + "resolved": "https://registry.npmjs.org/@cloudscape-design/component-toolkit/-/component-toolkit-1.0.0-beta.11.tgz", + "integrity": "sha512-cujRCr01KIxPT+jS2F3O5Hm9M9dYQVZpD5YWI5QDpY/7xoW3BiDSAqzFfAGkcij1ueMupN2ev1AVMrC1VxZzww==", + "requires": { + "@juggle/resize-observer": "^3.3.1" + } + }, "@cloudscape-design/components": { - "version": "3.0.158", - "resolved": "https://registry.npmjs.org/@cloudscape-design/components/-/components-3.0.158.tgz", - "integrity": "sha512-y2IS8u5hIs4l6g3SmJptndTdB/TSgHjsLYSQd2iblIQ/J0/GwdpSFJ7oEUEwTK7WZJniIiE2aeBJgxjPylinXg==", + "version": "3.0.248", + "resolved": "https://registry.npmjs.org/@cloudscape-design/components/-/components-3.0.248.tgz", + "integrity": "sha512-N+3QyMwcykingUE+9DxYESzrr1iHbh8KRfhDEjcZ1iPK+vf2H1bqnXvohsRW2FTWoLGk49wzqhjCz0Mzl6Y0MA==", "requires": { "@cloudscape-design/collection-hooks": "^1.0.0", + "@cloudscape-design/component-toolkit": "^1.0.0-beta", "@cloudscape-design/test-utils-core": "^1.0.0", "@cloudscape-design/theming-runtime": "^1.0.0", "@juggle/resize-observer": "^3.3.1", @@ -10388,25 +10385,35 @@ "clsx": "^1.1.0", "d3-shape": "^1.3.7", "date-fns": "^2.25.0", + "intl-messageformat": "^10.3.1", "mnth": "^2.0.0", "react-focus-lock": "~2.8.1", "react-keyed-flatten-children": "^1.3.0", - "react-resizable": "^1.11.1", "react-transition-group": "^4.4.2", "react-virtual": "^2.8.2", "tslib": "^2.4.0", "weekstart": "^1.1.0" + }, + "dependencies": { + "react-virtual": { + "version": "2.10.4", + "resolved": "https://registry.npmjs.org/react-virtual/-/react-virtual-2.10.4.tgz", + "integrity": "sha512-Ir6+oPQZTVHfa6+JL9M7cvMILstFZH/H3jqeYeKI4MSUX+rIruVwFC6nGVXw9wqAw8L0Kg2KvfXxI85OvYQdpQ==", + "requires": { + "@reach/observe-rect": "^1.1.0" + } + } } }, "@cloudscape-design/design-tokens": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/@cloudscape-design/design-tokens/-/design-tokens-3.0.9.tgz", - "integrity": "sha512-7j9OTWg/yQaOoPUqMAN6VnzxfHKD2lCiyW9xW+gblvLlvgOJPMPgZsHKsUE9v14tAtMOZXkIXfoZ1jWH0onotQ==" + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/@cloudscape-design/design-tokens/-/design-tokens-3.0.11.tgz", + "integrity": "sha512-AmKFpZwm9qR4+6CPppZwqLpajuyIjBakGhTQ39sgw9OhB2aKeOKA9tGabikayPb4Pc4OiMDpGAGYEw+L5iR66g==" }, "@cloudscape-design/global-styles": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@cloudscape-design/global-styles/-/global-styles-1.0.2.tgz", - "integrity": "sha512-RSViM1/nDRjZ0HL2SfAwibpMDW+uY/yEJWhPgid8aN1q5d5l0WgS4cTuBKsUdrDgpvJA9QjLCTn4NVOlhh9n7Q==" + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@cloudscape-design/global-styles/-/global-styles-1.0.8.tgz", + "integrity": "sha512-C64XiUuxuohkh10JjzpBFwQ9piTCERRLsD2E46/k56mXevm78VEPT8iKFkbgYXaBOX/ilHpubEfTzq87x3051Q==" }, "@cloudscape-design/jest-preset": { "version": "2.0.4", @@ -10462,6 +10469,50 @@ } } }, + "@formatjs/ecma402-abstract": { + "version": "1.14.3", + "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-1.14.3.tgz", + "integrity": "sha512-SlsbRC/RX+/zg4AApWIFNDdkLtFbkq3LNoZWXZCE/nHVKqoIJyaoQyge/I0Y38vLxowUn9KTtXgusLD91+orbg==", + "requires": { + "@formatjs/intl-localematcher": "0.2.32", + "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==", + "requires": { + "tslib": "^2.4.0" + } + }, + "@formatjs/icu-messageformat-parser": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.3.1.tgz", + "integrity": "sha512-knF2AkAKN4Upv4oIiKY4Wd/dLH68TNMPgV/tJMu/T6FP9aQwbv8fpj7U3lkyniPaNVxvia56Gxax8MKOjtxLSQ==", + "requires": { + "@formatjs/ecma402-abstract": "1.14.3", + "@formatjs/icu-skeleton-parser": "1.3.18", + "tslib": "^2.4.0" + } + }, + "@formatjs/icu-skeleton-parser": { + "version": "1.3.18", + "resolved": "https://registry.npmjs.org/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.3.18.tgz", + "integrity": "sha512-ND1ZkZfmLPcHjAH1sVpkpQxA+QYfOX3py3SjKWMUVGDow18gZ0WPqz3F+pJLYQMpS2LnnQ5zYR2jPVYTbRwMpg==", + "requires": { + "@formatjs/ecma402-abstract": "1.14.3", + "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==", + "requires": { + "tslib": "^2.4.0" + } + }, "@humanwhocodes/config-array": { "version": "0.9.5", "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.9.5.tgz", @@ -11308,18 +11359,18 @@ } }, "@testing-library/dom": { - "version": "8.14.0", - "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-8.14.0.tgz", - "integrity": "sha512-m8FOdUo77iMTwVRCyzWcqxlEIk+GnopbrRI15a0EaLbpZSCinIVI4kSQzWhkShK83GogvEFJSsHF3Ws0z1vrqA==", + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-9.2.0.tgz", + "integrity": "sha512-xTEnpUKiV/bMyEsE5bT4oYA0x0Z/colMtxzUY8bKyPXBNLn/e0V4ZjBZkEhms0xE4pv9QsPfSRu9AWS4y5wGvA==", "dev": true, "requires": { "@babel/code-frame": "^7.10.4", "@babel/runtime": "^7.12.5", - "@types/aria-query": "^4.2.0", + "@types/aria-query": "^5.0.1", "aria-query": "^5.0.0", "chalk": "^4.1.0", "dom-accessibility-api": "^0.5.9", - "lz-string": "^1.4.4", + "lz-string": "^1.5.0", "pretty-format": "^27.0.2" }, "dependencies": { @@ -11381,30 +11432,20 @@ } }, "@testing-library/react": { - "version": "12.1.5", - "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-12.1.5.tgz", - "integrity": "sha512-OfTXCJUFgjd/digLUuPxa0+/3ZxsQmE7ub9kcbW/wi96Bh3o/p5vrETcBGfP17NWPGqeYYl5LTRpwyGoMC4ysg==", - "dev": true, - "requires": { - "@babel/runtime": "^7.12.5", - "@testing-library/dom": "^8.0.0", - "@types/react-dom": "<18.0.0" - } - }, - "@testing-library/react-hooks": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@testing-library/react-hooks/-/react-hooks-8.0.1.tgz", - "integrity": "sha512-Aqhl2IVmLt8IovEVarNDFuJDVWVvhnr9/GCU6UUnrYXwgDFF9h2L2o2P9KBni1AST5sT6riAyoukFLyjQUgD/g==", + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-14.0.0.tgz", + "integrity": "sha512-S04gSNJbYE30TlIMLTzv6QCTzt9AqIF5y6s6SzVFILNcNvbV/jU96GeiTPillGQo+Ny64M/5PV7klNYYgv5Dfg==", "dev": true, "requires": { "@babel/runtime": "^7.12.5", - "react-error-boundary": "^3.1.0" + "@testing-library/dom": "^9.0.0", + "@types/react-dom": "^18.0.0" } }, "@testing-library/user-event": { - "version": "14.3.0", - "resolved": "https://registry.npmjs.org/@testing-library/user-event/-/user-event-14.3.0.tgz", - "integrity": "sha512-P02xtBBa8yMaLhK8CzJCIns8rqwnF6FxhR9zs810flHOBXUYCFjLd8Io1rQrAkQRWEmW2PGdZIEdMxf/KLsqFA==", + "version": "14.4.3", + "resolved": "https://registry.npmjs.org/@testing-library/user-event/-/user-event-14.4.3.tgz", + "integrity": "sha512-kCUc5MEwaEMakkO5x7aoD+DLi02ehmEM2QCGWvNqAS1dV/fAvORWEjnjsEIvml59M7Y5kCkWN6fCCyPOe8OL6Q==", "dev": true, "requires": {} }, @@ -11415,9 +11456,9 @@ "dev": true }, "@types/aria-query": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-4.2.2.tgz", - "integrity": "sha512-HnYpAE1Y6kRyKM/XkEuiRQhTHvkzMBurTHnpFLYLBGPIylZNPs9jJcuOOYWxPLJCSEtmZT0Y8rHDokKN7rRTig==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.1.tgz", + "integrity": "sha512-XTIieEY+gvJ39ChLcB4If5zHtPxt3Syj5rgZR+e1ctpmK8NjPf0zFqsz4JpLJT0xla9GFDKjy8Cpu331nrmE1Q==", "dev": true }, "@types/babel__core": { @@ -11596,12 +11637,12 @@ } }, "@types/react-dom": { - "version": "17.0.17", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-17.0.17.tgz", - "integrity": "sha512-VjnqEmqGnasQKV0CWLevqMTXBYG9GbwuE6x3VetERLh0cq2LTptFE73MrQi2S7GkKXCf2GgwItB/melLnxfnsg==", + "version": "18.0.11", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.0.11.tgz", + "integrity": "sha512-O38bPbI2CWtgw/OoQoY+BRelw7uysmXbWvw3nLWO21H1HSh+GOlqPuXshJfjmpNlKiiSDG9cc1JZAaMmVdcTlw==", "dev": true, "requires": { - "@types/react": "^17" + "@types/react": "*" } }, "@types/react-redux": { @@ -12284,9 +12325,9 @@ } }, "clsx": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.1.1.tgz", - "integrity": "sha512-6/bPho624p3S2pMyvP5kKBPXnI3ufHLObBFCfgx+LkeR5lg2XYy2hqZqUf45ypD8COn2bhgGJSUE+l5dhNBieA==" + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz", + "integrity": "sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==" }, "co": { "version": "4.6.0", @@ -13642,6 +13683,17 @@ "side-channel": "^1.0.4" } }, + "intl-messageformat": { + "version": "10.3.4", + "resolved": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-10.3.4.tgz", + "integrity": "sha512-/FxUIrlbPtuykSNX85CB5sp2FjLVeTmdD7TfRkVFPft2n4FgcSlAcilFytYiFAEmPHc+0PvpLCIPXeaGFzIvOg==", + "requires": { + "@formatjs/ecma402-abstract": "1.14.3", + "@formatjs/fast-memoize": "2.0.1", + "@formatjs/icu-messageformat-parser": "2.3.1", + "tslib": "^2.4.0" + } + }, "is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", @@ -15690,9 +15742,9 @@ } }, "lz-string": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.4.4.tgz", - "integrity": "sha512-0ckx7ZHRPqb0oUm8zNr+90mtf9DQB60H1wMCjBtfi62Kl3a7JbHob6gA2bC+xRvZoOL+1hzUK8jeuEIQE8svEQ==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.5.0.tgz", + "integrity": "sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==", "dev": true }, "make-dir": { @@ -16254,12 +16306,11 @@ "dev": true }, "react": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react/-/react-17.0.2.tgz", - "integrity": "sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==", + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", + "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", "requires": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1" + "loose-envify": "^1.1.0" } }, "react-clientside-effect": { @@ -16271,31 +16322,12 @@ } }, "react-dom": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-17.0.2.tgz", - "integrity": "sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA==", + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", + "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", "requires": { "loose-envify": "^1.1.0", - "object-assign": "^4.1.1", - "scheduler": "^0.20.2" - } - }, - "react-draggable": { - "version": "4.4.5", - "resolved": "https://registry.npmjs.org/react-draggable/-/react-draggable-4.4.5.tgz", - "integrity": "sha512-OMHzJdyJbYTZo4uQE393fHcqqPYsEtkjfMgvCHr6rejT+Ezn4OZbNyGH50vv+SunC1RMvwOTSWkEODQLzw1M9g==", - "requires": { - "clsx": "^1.1.1", - "prop-types": "^15.8.1" - } - }, - "react-error-boundary": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/react-error-boundary/-/react-error-boundary-3.1.4.tgz", - "integrity": "sha512-uM9uPzZJTF6wRQORmSrvOIgt4lJ9MC1sNgEOj2XGsDTRE4kmpWxg7ENK9EWNKJRMAOY9z0MuF4yIfl6gp4sotA==", - "dev": true, - "requires": { - "@babel/runtime": "^7.12.5" + "scheduler": "^0.23.0" } }, "react-focus-lock": { @@ -16363,15 +16395,6 @@ "react-is": "^17.0.2" } }, - "react-resizable": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/react-resizable/-/react-resizable-1.11.1.tgz", - "integrity": "sha512-S70gbLaAYqjuAd49utRHibtHLrHXInh7GuOR+6OO6RO6uleQfuBnWmZjRABfqNEx3C3Z6VPLg0/0uOYFrkfu9Q==", - "requires": { - "prop-types": "15.x", - "react-draggable": "^4.0.3" - } - }, "react-router": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.3.0.tgz", @@ -16390,9 +16413,9 @@ } }, "react-transition-group": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.2.tgz", - "integrity": "sha512-/RNYfRAMlZwDSr6z4zNKV6xu53/e2BuaBbGhbyYIXTrmgu/bGHzmqOs7mJSJBHy9Ud+ApHx3QjrkKSp1pxvlFg==", + "version": "4.4.5", + "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.5.tgz", + "integrity": "sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==", "requires": { "@babel/runtime": "^7.5.5", "dom-helpers": "^5.0.1", @@ -16400,14 +16423,6 @@ "prop-types": "^15.6.2" } }, - "react-virtual": { - "version": "2.10.4", - "resolved": "https://registry.npmjs.org/react-virtual/-/react-virtual-2.10.4.tgz", - "integrity": "sha512-Ir6+oPQZTVHfa6+JL9M7cvMILstFZH/H3jqeYeKI4MSUX+rIruVwFC6nGVXw9wqAw8L0Kg2KvfXxI85OvYQdpQ==", - "requires": { - "@reach/observe-rect": "^1.1.0" - } - }, "redux": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/redux/-/redux-4.2.0.tgz", @@ -16560,12 +16575,11 @@ } }, "scheduler": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz", - "integrity": "sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", + "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", "requires": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1" + "loose-envify": "^1.1.0" } }, "semver": { diff --git a/frontend/package.json b/frontend/package.json index 43f91e58..1b90bacd 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -4,9 +4,9 @@ "private": true, "homepage": "/", "dependencies": { - "@cloudscape-design/components": "^3.0.118", - "@cloudscape-design/design-tokens": "^3.0.9", - "@cloudscape-design/global-styles": "^1.0.2", + "@cloudscape-design/components": "^3.0.248", + "@cloudscape-design/design-tokens": "^3.0.11", + "@cloudscape-design/global-styles": "^1.0.8", "@reduxjs/toolkit": "^1.6.1", "axios": "^0.21.4", "i18next": "^21.8.13", @@ -14,8 +14,8 @@ "lodash": "^4.17.21", "next": "^12.2.0", "next-transpile-modules": "^9.0.0", - "react": "^17.0.2", - "react-dom": "^17.0.2", + "react": "^18.2.0", + "react-dom": "^18.2.0", "react-i18next": "^11.18.0", "react-query": "^3.39.1", "react-redux": "^7.2.5", @@ -47,9 +47,8 @@ }, "devDependencies": { "@cloudscape-design/jest-preset": "^2.0.4", - "@testing-library/react": "^12.1.5", - "@testing-library/react-hooks": "^8.0.1", - "@testing-library/user-event": "^14.3.0", + "@testing-library/react": "^14.0.0", + "@testing-library/user-event": "^14.4.3", "@types/jest": "^28.1.4", "@types/lodash": "^4.14.182", "@types/node": "^18.0.0", diff --git a/frontend/src/components/__tests__/useClusterPoll.test.tsx b/frontend/src/components/__tests__/useClusterPoll.test.tsx index 2a54568e..ca4e11ff 100644 --- a/frontend/src/components/__tests__/useClusterPoll.test.tsx +++ b/frontend/src/components/__tests__/useClusterPoll.test.tsx @@ -1,4 +1,4 @@ -import {renderHook} from '@testing-library/react-hooks' +import {renderHook} from '@testing-library/react' import {useClusterPoll} from '../useClusterPoll' jest.mock('../../model', () => ({ diff --git a/frontend/src/components/__tests__/useLoadingState.test.tsx b/frontend/src/components/__tests__/useLoadingState.test.tsx index 249a0f02..01183b78 100644 --- a/frontend/src/components/__tests__/useLoadingState.test.tsx +++ b/frontend/src/components/__tests__/useLoadingState.test.tsx @@ -1,4 +1,4 @@ -import {renderHook} from '@testing-library/react-hooks' +import {renderHook, waitFor} from '@testing-library/react' import {useLoadingState} from '../useLoadingState' import {Box} from '@cloudscape-design/components' import React from 'react' @@ -44,9 +44,9 @@ jest.mock('../../model', () => { }) function expectDataToBeRequested() { - expect(mockGetAppConfig).toHaveBeenCalledTimes(1) - expect(mockGetIdentity).toHaveBeenCalledTimes(1) - expect(mockGetVersion).toHaveBeenCalledTimes(1) + waitFor(() => expect(mockGetAppConfig).toHaveBeenCalledTimes(1)) + waitFor(() => expect(mockGetIdentity).toHaveBeenCalledTimes(1)) + waitFor(() => expect(mockGetVersion).toHaveBeenCalledTimes(1)) } function expectDataNotToBeRequested() { @@ -114,12 +114,7 @@ describe('given a hook to load all the data necessary for the app to boot', () = }) it('should request the data', async () => { - const {waitForNextUpdate} = renderHook( - () => useLoadingState(), - {wrapper}, - ) - - await waitForNextUpdate() + renderHook(() => useLoadingState(), {wrapper}) expectDataToBeRequested() }) @@ -139,12 +134,7 @@ describe('given a hook to load all the data necessary for the app to boot', () = }) it('should request the data', async () => { - const {waitForNextUpdate} = renderHook( - () => useLoadingState(), - {wrapper}, - ) - - await waitForNextUpdate() + renderHook(() => useLoadingState(), {wrapper}) expectDataToBeRequested() }) @@ -166,12 +156,7 @@ describe('given a hook to load all the data necessary for the app to boot', () = }) it('should request the data', async () => { - const {waitForNextUpdate} = renderHook( - () => useLoadingState(), - {wrapper}, - ) - - await waitForNextUpdate() + renderHook(() => useLoadingState(), {wrapper}) expectDataToBeRequested() }) @@ -259,10 +244,9 @@ describe('given a hook to load all the data necessary for the app to boot', () = done() }) - const {waitForNextUpdate} = renderHook(() => useLoadingState(<>), { + renderHook(() => useLoadingState(<>), { wrapper, }) - waitForNextUpdate() }) }) }) diff --git a/frontend/src/feature-flags/__tests__/useFeatureFlag.test.ts b/frontend/src/feature-flags/__tests__/useFeatureFlag.test.ts index 3f2e76ff..1125d309 100644 --- a/frontend/src/feature-flags/__tests__/useFeatureFlag.test.ts +++ b/frontend/src/feature-flags/__tests__/useFeatureFlag.test.ts @@ -8,7 +8,7 @@ // OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions and // limitations under the License. -import {renderHook} from '@testing-library/react-hooks' +import {renderHook} from '@testing-library/react' import {useFeatureFlag} from '../useFeatureFlag' const mockUseState = jest.fn() diff --git a/frontend/src/old-pages/Clusters/FromClusterModal/__tests__/useClustersToCopyFrom.test.tsx b/frontend/src/old-pages/Clusters/FromClusterModal/__tests__/useClustersToCopyFrom.test.tsx index a6065232..fd5b46dc 100644 --- a/frontend/src/old-pages/Clusters/FromClusterModal/__tests__/useClustersToCopyFrom.test.tsx +++ b/frontend/src/old-pages/Clusters/FromClusterModal/__tests__/useClustersToCopyFrom.test.tsx @@ -10,7 +10,7 @@ // limitations under the License. import {Store} from '@reduxjs/toolkit' -import {renderHook} from '@testing-library/react-hooks' +import {renderHook} from '@testing-library/react' import {mock} from 'jest-mock-extended' import {PropsWithChildren} from 'react' import {Provider} from 'react-redux' diff --git a/frontend/src/old-pages/Configure/Create.tsx b/frontend/src/old-pages/Configure/Create.tsx index 4a55a965..2d9b3c7e 100644 --- a/frontend/src/old-pages/Configure/Create.tsx +++ b/frontend/src/old-pages/Configure/Create.tsx @@ -38,7 +38,6 @@ import {setState, getState, useState} from '../../store' import {NavigateFunction} from 'react-router-dom' import TitleDescriptionHelpPanel from '../../components/help-panel/TitleDescriptionHelpPanel' import {useHelpPanel} from '../../components/help-panel/HelpPanel' -import {StackedFlashbarProps} from '@cloudscape-design/components/flashbar/interfaces' import {errorsToFlashbarItems} from './errorsToFlashbarItems' // Constants @@ -209,7 +208,7 @@ function Create() { FlashbarProps.MessageDefinition[] >([]) - const flashbarProps: StackedFlashbarProps = { + const flashbarProps: FlashbarProps = { stackItems: true, items: flashbarItems, } diff --git a/frontend/src/old-pages/Configure/__tests__/dynamicFS.test.tsx b/frontend/src/old-pages/Configure/__tests__/dynamicFS.test.tsx index 2bbc4fdf..ebfeca84 100644 --- a/frontend/src/old-pages/Configure/__tests__/dynamicFS.test.tsx +++ b/frontend/src/old-pages/Configure/__tests__/dynamicFS.test.tsx @@ -1,5 +1,5 @@ import {Store} from '@reduxjs/toolkit' -import {renderHook} from '@testing-library/react-hooks' +import {renderHook} from '@testing-library/react' import {mock} from 'jest-mock-extended' import {Provider} from 'react-redux' import {useDynamicStorage} from '../Storage' diff --git a/frontend/src/old-pages/Configure/__tests__/useWizardNavigation.test.tsx b/frontend/src/old-pages/Configure/__tests__/useWizardNavigation.test.tsx index 636f4363..3e5d6e8a 100644 --- a/frontend/src/old-pages/Configure/__tests__/useWizardNavigation.test.tsx +++ b/frontend/src/old-pages/Configure/__tests__/useWizardNavigation.test.tsx @@ -1,5 +1,5 @@ import {Store} from '@reduxjs/toolkit' -import {renderHook} from '@testing-library/react-hooks' +import {renderHook} from '@testing-library/react' import {mock} from 'jest-mock-extended' import {Provider} from 'react-redux' import {useWizardNavigation} from '../useWizardNavigation' diff --git a/frontend/src/old-pages/Logs/__tests__/LogStreamsTable.test.tsx b/frontend/src/old-pages/Logs/__tests__/LogStreamsTable.test.tsx index 75119d83..2334a651 100644 --- a/frontend/src/old-pages/Logs/__tests__/LogStreamsTable.test.tsx +++ b/frontend/src/old-pages/Logs/__tests__/LogStreamsTable.test.tsx @@ -10,7 +10,7 @@ // limitations under the License. import {Store} from '@reduxjs/toolkit' -import {render, RenderResult} from '@testing-library/react' +import {render, RenderResult, waitFor} from '@testing-library/react' import userEvent from '@testing-library/user-event' import {mock} from 'jest-mock-extended' import {I18nextProvider, initReactI18next} from 'react-i18next' @@ -142,7 +142,7 @@ describe('given a component to show the log streams list and a cluster name', () describe('when the user selects a log stream', () => { it('should call the selection handler with the selected log stream name', async () => { - await userEvent.click(screen.getByRole('radio')) + await waitFor(() => userEvent.click(screen.getByRole('radio'))) expect(mockOnLogStreamSelect).toHaveBeenCalledTimes(1) expect(mockOnLogStreamSelect).toHaveBeenCalledWith( 'hostname.instanceId.logIdentifier',